0.4.1 • Published 7 months ago
@sovereign-sdk/web3 v0.4.1
@sovereign-sdk/web3
A TypeScript client library for interacting with Sovereign SDK rollups.
Installation
npm install @sovereign-sdk/web3Features
- 🔄 Type-safe transaction submission and signing
- 🔍 Runtime call simulation for gas estimation
- 📦 Borsh serialization with schema validation
- 🎯 Strongly typed rollup interactions with customizable type specifications
- 🌐 Full access to ledger, sequencer, and rollup APIs
Usage
Basic Setup
import { StandardRollup } from "@sovereign-sdk/web3";
import { newMetaMaskSnapSigner } from "@sovereign-sdk/signers";
// Initialize the rollup client
const rollup = new StandardRollup({
url: "https://your-rollup-node.com",
defaultTxDetails: {
max_priority_fee_bips: 0,
max_fee: 1000000,
gas_limit: null,
chain_id: 4321,
},
});
// Initialize a signer
const signer = newMetaMaskSnapSigner({
curve: "ed25519",
schema: yourSchema,
snapId: "npm:@sovereign-sdk/metamask-snap",
});Submitting Transactions
// Submit a transaction
// Sends a `ValueSetter` call message of `SetValue` type.
// This particular call message has `value` and `gas` fields.
const result = await rollup.call(
{
value_setter: {
set_value: {
value: 100,
gas: null,
},
},
},
{ signer }
);Type Safety
type MyRollupTypes = RollupTypeSpec<{
RuntimeCall: {
value_setter: {
set_value: {
value: number;
gas: number[] | null;
};
};
};
// Add other type specifications as needed
}>;
const typedRollup = new StandardRollup<MyRollupTypes>({
// ... config
});
// Now your calls will be type-checked!
const result = await typedRollup.call(
{
value_setter: {
set_value: 100, // Type checked and automatically serialized to Borsh bytes
},
},
{ signer }
);Simulation
// Simulate a call to estimate gas
const simulation = await rollup.simulate(
{
value_setter: {
set_value: 100,
},
},
{
signer,
txDetails: {
max_priority_fee_bips: 1000,
max_fee: 1000000,
chain_id: 1,
},
}
);API Reference
The package exports the following main components:
StandardRollup: The main client class for interacting with rollupsRollupTypeSpec: Type utility for creating type-safe rollup interactionscreateSerializer: Function to create a Borsh serializer for your rollup schema
For detailed API documentation, please refer to the inline TypeScript documentation in the source code.
0.0.20
1 year ago
0.0.21
12 months ago
0.0.22
12 months ago
0.0.23
12 months ago
0.0.24
10 months ago
0.0.25
10 months ago
0.0.15
1 year ago
0.0.16
1 year ago
0.0.17
1 year ago
0.0.18
1 year ago
0.0.19
1 year ago
0.0.14
1 year ago
0.1.0
9 months ago
0.3.0
8 months ago
0.2.1
8 months ago
0.2.0
9 months ago
0.0.26
10 months ago
0.4.1
7 months ago
0.4.0
7 months ago
0.2.2
8 months ago
0.0.10
1 year ago
0.0.11
1 year ago
0.0.12
1 year ago
0.0.13
1 year ago
0.0.9
1 year ago
0.0.8
1 year ago
0.0.7
1 year ago
0.0.6
1 year ago
0.0.5
1 year ago
0.0.4
1 year ago
0.0.3
1 year ago
0.0.1
1 year ago