@nervosnetwork/ckb-sdk-utils
Version:
Utils module of @nervosnetwork/ckb-sdk-core
40 lines (39 loc) • 1.75 kB
TypeScript
/// <reference types="@nervosnetwork/ckb-types" />
export declare enum AddressPrefix {
Mainnet = "ckb",
Testnet = "ckt"
}
export declare enum AddressType {
FullVersion = "0x00",
HashIdx = "0x01",
DataCodeHash = "0x02",
TypeCodeHash = "0x04"
}
export declare enum Bech32Type {
Bech32 = "bech32",
Bech32m = "bech32m"
}
export declare const scriptToAddress: (script: CKBComponents.Script, isMainnet?: boolean) => string;
export declare type CodeHashIndex = '0x00' | '0x01' | '0x02';
export interface AddressOptions {
prefix?: AddressPrefix;
type?: AddressType;
codeHashOrCodeHashIndex?: CodeHashIndex | CKBComponents.Hash256;
}
export declare const toAddressPayload: (args: string | Uint8Array, type?: AddressType, codeHashOrCodeHashIndex?: string | undefined, hashType?: CKBComponents.ScriptHashType | undefined) => Uint8Array;
export declare const bech32Address: (args: Uint8Array | string, { prefix, type, codeHashOrCodeHashIndex }?: AddressOptions) => string;
export declare const fullPayloadToAddress: ({ args, prefix, type, codeHash, }: {
args: string;
prefix?: AddressPrefix | undefined;
type?: AddressType.DataCodeHash | AddressType.TypeCodeHash | undefined;
codeHash: CKBComponents.Hash256;
}) => string;
export declare const pubkeyToAddress: (pubkey: Uint8Array | string, options?: AddressOptions) => string;
export declare interface ParseAddress {
(address: string): Uint8Array;
(address: string, encode: 'binary'): Uint8Array;
(address: string, encode: 'hex'): string;
(address: string, encode: 'binary' | 'hex'): Uint8Array | string;
}
export declare const parseAddress: ParseAddress;
export declare const addressToScript: (address: string) => CKBComponents.Script;