Skip to content

@fadroma/agent 2.0.0-rc.1 #206

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 83 commits into from
Nov 8, 2023
Merged

@fadroma/agent 2.0.0-rc.1 #206

merged 83 commits into from
Nov 8, 2023

Conversation

egasimus
Copy link
Collaborator

@egasimus egasimus commented Nov 5, 2023

In preparation for Fadroma 2.0, the following series of nearly 50 anonymous commits, and then some, represents an influx of inspiration to address a number of long-standing implementation issues which we found to be seriously nerfing Fadroma 1.0's usability and maintainiability.

Simultaneously, the documentation, test suite, and coverage metrics received a much-needed update, also with some aspects of overhaul.

A partial list of what changed:

  • The Chain/Agent pair of classes are now a single entity, Agent. (Initial connection/authentication are now as synchronous as possible, removing ready getters.)
  • Batch is now BatchBuilder and works only via builder pattern, in lieu of a callback. (Contract client interop still needs to be figured out alongside DeploymentBuilder - can that build classes?)
  • SourceCode/CompiledCode/UploadedCode objects broken away from ContractTemplate and ContractInstance broken down. (No more Uploadable/Uploaded/..etc. interfaces for now.)
  • Builder is renamed to Compiler to avoid confusion with builder pattern. RawLocalRustCompiler and ContainerLocalRustCompiler are the new implementations of BuildRaw and BuildContainer.
  • Batching of build jobs now sucks vastly less. (Needs more testing!)
  • Test suites are now properly selectable and load dynamically to avoid recompiling the world. (Performance can be improved further.)
  • fadroma-, agent-, connect-, scrt-, cw- prefixes removed from corresponding packages. (Still avoiding duplicated file names.)
  • Tons of cruft, kludges, triple inversions of control removed from Core API, CLI, project wizard, upload/deploy stores. (Still finalizing the API details.)

Merging this because the original upload test that triggered this whole housekeeping effort just landed, so it's a good time for a @fadroma/cw@1.0.0-rc.1 release candidate build with @fadroma/agent@2.0.0-rc.1.

https://xkcd.com/1296/

@egasimus egasimus marked this pull request as ready for review November 8, 2023 16:08
@egasimus egasimus changed the title Refactor/agent @fadroma/agent 2.0.0-rc.1 Nov 8, 2023
@egasimus
Copy link
Collaborator Author

egasimus commented Nov 8, 2023

Kill it with fire

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant