Skip to content

Commit

Permalink
feat: makeStargateClient
Browse files Browse the repository at this point in the history
  • Loading branch information
turadg committed Nov 5, 2024
1 parent 0e98848 commit ffb40fb
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 0 deletions.
1 change: 1 addition & 0 deletions packages/client-utils/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
"@agoric/smart-wallet": "^0.5.3",
"@agoric/store": "^0.9.2",
"@agoric/vats": "^0.15.1",
"@cosmjs/proto-signing": "^0.32.4",
"@cosmjs/stargate": "^0.32.3",
"@endo/common": "^1.2.7",
"@endo/errors": "^1.2.7",
Expand Down
26 changes: 26 additions & 0 deletions packages/client-utils/src/cosmjs.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import { DirectSecp256k1HdWallet } from '@cosmjs/proto-signing';
import { SigningStargateClient } from '@cosmjs/stargate';

/**
* @import {MinimalNetworkConfig} from './rpc.js';
*/

const bech32Prefix = 'agoric';

/**
* @param {MinimalNetworkConfig} config
* @param {string} mnemonic
* @returns {Promise<SigningStargateClient>}
*/
const makeStargateClient = async (config, mnemonic) => {
// TODO distribute load
const endpoint = config.rpcAddrs.at(-1);
assert(endpoint, 'no endpoints');

const signer = await DirectSecp256k1HdWallet.fromMnemonic(mnemonic, {
prefix: bech32Prefix,
});

return SigningStargateClient.connectWithSigner(endpoint, signer);
};
harden(makeStargateClient);

0 comments on commit ffb40fb

Please sign in to comment.