Utilities for building clients of an Agoric chain
The Agoric chain takes mutations through signed messages and reveals state updates through vstorage. This package abstracts the calls to RPC nodes into a CQRS interface. The commands are made mostly through an on-chain Smart Wallet and the queries through vstorage.
This package will be used in several kinds of clients:
agoric
command)As such the modules cannot assume they're running in Node. There are some ambient authorities in common in the above environments (e.g. setTimeout
) but a further constraint is that these modules will not export ambient authority. Instead they will provide interfaces that are ergonomic for creating empowered objects in the client context.
agoric
package has a command line UI (CLI) for working with an Agoric chain. It's in this repository at packages/agoric-cli
.
@agoric/rpc
is a small library that currently just has utilities for watching vstorage. This package avoids depending on @agoric/rpc
for now because it:
axios
and vite
which are unnecessary constraintsSome of the functionality in this package could make sense in that package, but for now it will be ignored.
@agoric/cosmic-proto
is a package that contains the protobuf stubs for the Agoric cosmos-sdk module. At various points it has also held generated RPC clients. Because that package is imported into contracts we've kept those out. They may end up in @agoric/rpc
eventually.
The clientSupport.js
module of several packages. Some packages export this module with certain helpers that this package may abstract.