0.0.4 • Published 3 months ago
overgold v0.0.4
light client
Использование
Получить сесию из мнемоники
type Session = (mnemonic:string) => SessionResponse;
interface SessionResponse {
BECH32_PREFIX: string;
BLOCKCHAIN_URL: string;
ASSET: string;
mnemonic: string;
signer: AccountData;
account: DirectSecp256k1HdWallet;
signingClient: SigningStargateClient;
message: IBuiltinMessagesFactory;
getKeyPair: (index?: number) => ECPairInterface;
getAddress: (index?: number) => string;
toKeyStoreObject: (password: string) => object;
toKeyStoreString: (password: string) => string;
}
const session:Session = await lightClient.getSessionFromMnemonic(mnemonic);
Получить адрес из мнемоники
type Address = (mnemonic:string) => string
const address:Address = await lightClient.getAccountAddressFromMnemonic(mnemonic);
Получить балансы по адресу
type Balance = (address:string) => BalanceResponse
interface BalanceResponse {
ovg: {
amount: number;
};
stovg: {
amount: number;
stakeAmount: number;
sellAmount: number;
};
}
const balance:Balance = await lightClient.getAccountAllBalance(address);
Валидация адреса
type MnemonicIsValid = (address:string) => boolean
const accountAddressIsValid:boolean = await lightClient.accountAddressIsValid(address);
Валидация мнемоники
type MnemonicIsValid = (mnemonic:string) => boolean
const mnemonicIsValid:MnemonicIsValid = await lightClient.mnemonicIsValid(mnemonic);
Подписать и отправить трансфер по отправке ovg
interface MakeTransactionSendProps {
mnemonic: string;
toAddress: string;
amount: string;
denom?: string; //default 'ovg'
memo?: string; //default ''
isSimulate?: boolean; //default false
}
type SendOVG = (payload : MakeTransactionSendProps) => Promise<{
data: null;
error: {
status: number;
message: string;
statusText?: undefined;
};
} | {
data: null;
error: {
status: number;
statusText: string;
message?: undefined;
};
} | {
data: {
gas: number;
hash: string | null;
};
error: null;
}>
const sendOVG:SendOVG = await lightClient.makeTransactionSendOVG({
mnemonic,
toAddress,
amount,
});
Подписать трансфер по отправке stovg (user-to-stake). Пользователь может отправить только свободный стейк (тот что стоит на выкупе - не может).
interface MakeTransactionFromUserProps {
mnemonic: string;
amount: string;
memo?: string; //default ''
isSimulate?: boolean; //default false
}
type SendStOVG = (payload : MakeTransactionFromUserProps) => Promise<{
data: null;
error: {
status: number;
message: string;
statusText?: undefined;
};
} | {
data: null;
error: {
status: number;
statusText: string;
message?: undefined;
};
} | {
data: {
gas: number;
hash: string | null;
};
error: null;
}>
const sendStOVG:SendStOVG = await lightClient.makeTransactionFromUser({
mnemonic,
amount,
})