UNPKG

@glitterprotocol/glitter-sdk

Version:

The JavaScript SDK for Glitter

127 lines (126 loc) 5.3 kB
import { JSONSerializable } from '../util/json'; import { LegacyAminoPubKey as LegacyAminoPubKey_pb } from '@glitterprotocol/glitter.proto/cosmos/crypto/multisig/keys'; import { Any } from '@glitterprotocol/glitter.proto/google/protobuf/any'; import { PubKey as PubKey_pb } from '@glitterprotocol/glitter.proto/cosmos/crypto/secp256k1/keys'; export declare type PublicKey = SimplePublicKey | EthSimplePublicKey | LegacyAminoMultisigPublicKey | ValConsPublicKey; export declare namespace PublicKey { type Amino = SimplePublicKey.Amino | EthSimplePublicKey.Amino | LegacyAminoMultisigPublicKey.Amino | ValConsPublicKey.Amino; type Data = SimplePublicKey.Data | EthSimplePublicKey.Data | LegacyAminoMultisigPublicKey.Data | ValConsPublicKey.Data; type Proto = Any; function fromAmino(data: PublicKey.Amino): PublicKey; function fromData(data: PublicKey.Data): PublicKey; function fromProto(pubkeyAny: PublicKey.Proto): PublicKey; } export declare class SimplePublicKey extends JSONSerializable<SimplePublicKey.Amino, SimplePublicKey.Data, SimplePublicKey.Proto> { key: string; constructor(key: string); static fromAmino(data: SimplePublicKey.Amino): SimplePublicKey; toAmino(): SimplePublicKey.Amino; static fromData(data: SimplePublicKey.Data): SimplePublicKey; toData(): SimplePublicKey.Data; static fromProto(pubkeyProto: SimplePublicKey.Proto): SimplePublicKey; toProto(): SimplePublicKey.Proto; packAny(): Any; static unpackAny(pubkeyAny: Any): SimplePublicKey; encodeAminoPubkey(): Uint8Array; rawAddress(): Uint8Array; address(): string; pubkeyAddress(): string; } export declare namespace SimplePublicKey { interface Amino { type: 'tendermint/PubKeySecp256k1'; value: string; } interface Data { '@type': '/cosmos.crypto.secp256k1.PubKey'; key: string; } type Proto = PubKey_pb; } export declare class EthSimplePublicKey extends JSONSerializable<EthSimplePublicKey.Amino, EthSimplePublicKey.Data, EthSimplePublicKey.Proto> { key: string; constructor(key: string); static fromAmino(data: EthSimplePublicKey.Amino): EthSimplePublicKey; toAmino(): EthSimplePublicKey.Amino; static fromData(data: EthSimplePublicKey.Data): EthSimplePublicKey; toData(): EthSimplePublicKey.Data; static fromProto(pubkeyProto: EthSimplePublicKey.Proto): EthSimplePublicKey; toProto(): EthSimplePublicKey.Proto; packAny(): Any; static unpackAny(pubkeyAny: Any): EthSimplePublicKey; encodeAminoPubkey(): Uint8Array; rawAddress(): Uint8Array; address(): string; pubkeyAddress(): string; } export declare namespace EthSimplePublicKey { interface Amino { type: 'ethermint/PubKeyEthSecp256k1'; value: string; } interface Data { '@type': '/ethermint.crypto.v1.ethsecp256k1.PubKey'; key: string; } type Proto = PubKey_pb; } export declare class LegacyAminoMultisigPublicKey extends JSONSerializable<LegacyAminoMultisigPublicKey.Amino, LegacyAminoMultisigPublicKey.Data, LegacyAminoMultisigPublicKey.Proto> { threshold: number; pubkeys: SimplePublicKey[]; constructor(threshold: number, pubkeys: SimplePublicKey[]); encodeAminoPubkey(): Uint8Array; rawAddress(): Uint8Array; address(): string; pubkeyAddress(): string; static fromAmino(data: LegacyAminoMultisigPublicKey.Amino): LegacyAminoMultisigPublicKey; toAmino(): LegacyAminoMultisigPublicKey.Amino; static fromData(data: LegacyAminoMultisigPublicKey.Data): LegacyAminoMultisigPublicKey; toData(): LegacyAminoMultisigPublicKey.Data; static fromProto(pubkeyProto: LegacyAminoMultisigPublicKey.Proto): LegacyAminoMultisigPublicKey; toProto(): LegacyAminoMultisigPublicKey.Proto; packAny(): Any; static unpackAny(pubkeyAny: Any): LegacyAminoMultisigPublicKey; } export declare namespace LegacyAminoMultisigPublicKey { interface Amino { type: 'tendermint/PubKeyMultisigThreshold'; value: { threshold: string; pubkeys: SimplePublicKey.Amino[]; }; } interface Data { '@type': '/cosmos.crypto.multisig.LegacyAminoPubKey'; threshold: string; public_keys: SimplePublicKey.Data[]; } type Proto = LegacyAminoPubKey_pb; } export declare class ValConsPublicKey extends JSONSerializable<ValConsPublicKey.Amino, ValConsPublicKey.Data, ValConsPublicKey.Proto> { key: string; constructor(key: string); static fromAmino(data: ValConsPublicKey.Amino): ValConsPublicKey; toAmino(): ValConsPublicKey.Amino; static fromData(data: ValConsPublicKey.Data): ValConsPublicKey; toData(): ValConsPublicKey.Data; static fromProto(pubkeyProto: ValConsPublicKey.Proto): ValConsPublicKey; toProto(): ValConsPublicKey.Proto; packAny(): Any; static unpackAny(pubkeyAny: Any): ValConsPublicKey; encodeAminoPubkey(): Uint8Array; rawAddress(): Uint8Array; address(): string; pubkeyAddress(): string; } export declare namespace ValConsPublicKey { interface Amino { type: 'tendermint/PubKeyEd25519'; value: string; } interface Data { '@type': '/cosmos.crypto.ed25519.PubKey'; key: string; } type Proto = PubKey_pb; }