-
Notifications
You must be signed in to change notification settings - Fork 212
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
package up utilities for dapps #9109
Labels
Comments
#9044 has another example of open coding unmarshalling |
mergify bot
added a commit
that referenced
this issue
Nov 6, 2024
closes: #10168 ## Description Provide a new package, `client-utils`, as a home for utilities that are useful to clients of an Agoric chain. This doesn't currently use `@agoric/rpc` but over time some of it may be pushed down into that package. Related work… - #9200 This will be where those client factories are kept. - #10369 This will solve most of what we need for functional testing. Some aspects are specific to the A3P synthetic chain (like account addresses and references to history) but most of what the tests are doing with the chain are operations that any client might do. - #9109 - #8963 This will contribute to those goals. ### Security Considerations Reduces authority needed to query chain (from child_process to fetch) ### Scaling Considerations This is a big package, but it's not to be run on chain. Most client apps use some form of code shaking so they'll only take what they need. ### Documentation Considerations Once this settles down it ought to be a part of docs.agoric.com ### Testing Considerations The only test yet is a live one to make sure a query to Emerynet for Swingset params succeeds as expected, even under SES. No package CI yet. Mostly it's refactoring of existing code so those uses serve as coverage. I do think this would benefit from some additional testing. ### Upgrade Considerations Will never be on chain
mergify bot
added a commit
that referenced
this issue
Nov 11, 2024
refs: #9109 ## Description The new `@agoric/client-utils` package provides a place to hang a type mapping of what's published in vstorage to the JS type one should have after unmarshalling. This adds: - a `PublishedType` utility type mapper to the package - a `readPublished` helper to RpcUtils (and passed through WalletUtils) - a `readPublished` help in the SwingsetToolkit for boot tests - uses the above through agoric CLI and bootstrap tests I don't think I got everywhere this could be used. Looking for feedback on, - Should we have a `readPublished` abstraction or continue to use `published.` everywhere? I opted for the latter thinking it would be a proxy for whether the stores values were CapData - Should WalletUtils pass through readPublished or provide a reference to RpcUtils ? ### Security Considerations ### Scaling Considerations ### Documentation Considerations ### Testing Considerations ### Upgrade Considerations
Packaged as |
Merged
mergify bot
added a commit
that referenced
this issue
Dec 4, 2024
refs: #9109 ## Description #9109 packaged up `@agoric/client-utils` but left duplicated in a3p-integration the files copied from agoric-cli. This makes agoric-cli export its lib modules and uses the `yarn link` established in 9109 to import them. ### Security Considerations agoric-cli package now exports the libraries it uses. ### Scaling Considerations none ### Documentation Considerations The libs of agoric-cli are not yet stabilized, but since the `agoric` CLI is at 0.21 it doesn't claim to maintain backwards compatibility. ### Testing Considerations CI ### Upgrade Considerations n/a
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
What is the Problem Being Solved?
We have a bunch of support code in the
agoric
package that helps with making transactions and queries on chain. However they're not exported because they were never carefully factored or designed for longevity.We've repeated some of that code in ui-kit, a3p and now https://github.com/Agoric/agoric-sdk/pull/9078/files/58141ac551088158552d5ff2d9805f66ba3aaa66#diff-88e9ae2b981c19291ac56e9300af03daeed1e1edee3793aecae9a377fdc5745b
Description of the Design
Package up an abstraction for transactions and querying of the chain, for use in JS code. It should also provide abstractions for smart wallet use and potentially common use cases.
It could be in the ui-kit repo but since the domains are in agoric-sdk it's probably best to keep it here. They should be pretty low level and not have to change much once published. This also allows them to be published in sync with
agd
and Cosmos SDK updates.Security Considerations
Scaling Considerations
Test Plan
Upgrade Considerations
The text was updated successfully, but these errors were encountered: