1.1.4 • Published 7 months ago
@sei-js/ledger v1.1.4
@sei-js/ledger
Table of Contents
Installation
yarn add @sei-js/ledgerExample Usage
import {
coins,
SigningStargateClient,
StdFee
} from "@cosmjs/stargate";
import {
createTransportAndApp,
getAddresses,
SeiLedgerOfflineAminoSigner
} from "@sei-js/ledger";
const testApp = async () => {
const validatorAddress = "seivaloper1sq7x0r2mf3gvwr2l9amtlye0yd3c6dqa4th95v";
const rpcUrl = "https://rpc-testnet.sei-apis.com/";
const memo = "Delegation";
const path = "m/44'/60'/0'/0/0";
const {app} = await createTransportAndApp();
const {nativeAddress} = await getAddresses(app, path);
const ledgerSigner = new SeiLedgerOfflineAminoSigner(app, path)
const signingStargateClient = await SigningStargateClient.connectWithSigner(rpcUrl, ledgerSigner)
const msgDelegate = {
typeUrl: "/cosmos.staking.v1beta1.MsgDelegate",
value: {
delegatorAddress: nativeAddress.address,
validatorAddress: validatorAddress,
amount: coins(500, "usei"),
},
};
const fee: StdFee = {
amount: [{denom: "usei", amount: "20000"}],
gas: "200000",
};
const result = await signingStargateClient.signAndBroadcast(nativeAddress.address, [msgDelegate], fee, memo)
console.log("Broadcast result:", result);
};
testApp();createTransportAndApp
Parameters:
- None.
Returns:
Promise<{transport: Transport, app: SeiApp}>: A promise that resolves to an object containing thetransportandappinstances.
Usage:
import { createTransportAndApp } from '@sei-js/ledger';
const { transport, app } = await createTransportAndApp();
console.log(transport, app);getAddresses
Parameters:
app(SeiApp): An instance of the Ledger Sei app.path(string): The HD derivation path (e.g.,"m/44'/60'/0'/0/0").
Returns:
Promise<{evmAddress: string, nativeAddress: string}>: A promise that resolves to an object containing the EVM and Cosmos addresses.
Usage:
import { getAddresses } from '@sei-js/ledger';
const { evmAddress, nativeAddress } = await getAddresses(app, "m/44'/60'/0'/0/0");
console.log(evmAddress, nativeAddress);SeiLedgerOfflineAminoSigner
Constructor
new SeiLedgerOfflineAminoSigner(app: SeiApp, path: string)Parameters:
app(SeiApp): An instance of the Ledger Sei app.path(string): The HD derivation path (e.g.,"m/44'/60'/0'/0/0").
Usage:
import { SeiLedgerOfflineAminoSigner } from '@sei-js/ledger';
const ledgerSigner = new SeiLedgerOfflineAminoSigner(app, "m/44'/60'/0'/0/0");getAccounts
Returns:
Promise<readonly AccountData[]>: A promise that resolves to an array ofAccountDataobjects containing the address and public key.
Usage:
import { SeiLedgerOfflineAminoSigner } from '@sei-js/ledger';
const accounts = await ledgerSigner.getAccounts();
console.log(accounts); // { address: 'sei1...', pubkey: { type: 'tendermint/PubKeySecp256k1', value: '...' } }signAmino
Parameters:
_signerAddress(string): The address of the signer (unused in this method).signDoc(StdSignDoc): The sign document to be signed.
Returns:
Promise<AminoSignResponse>: A promise that resolves to an object containing the signed document and the signature.
Usage:
import { SeiLedgerOfflineAminoSigner } from '@sei-js/ledger';
import { StdSignDoc } from '@cosmjs/amino';
const signDoc: StdSignDoc = { /* your StdSignDoc object */ };
const signResponse = await ledgerSigner.signAmino('sei123...', signDoc);
console.log(signResponse.signed, signResponse.signature);1.1.1
10 months ago
0.0.0-internal-20250327192759
7 months ago
0.0.0-internal-20250328063440
7 months ago
1.1.4
7 months ago
1.1.3
7 months ago
1.1.2
7 months ago
0.0.0-internal-20240930155432
1 year ago
0.0.0-internal-20241002174334
1 year ago
0.0.0-internal-20240916142742
1 year ago
1.1.0
1 year ago