UNPKG

js-conflux-sdk

Version:
93 lines 2.71 kB
export = EventCoder; declare class EventCoder { /** * Event coder * * @param {object} options * @param {boolean} options.anonymous * @param {string} options.name * @param {array} options.inputs * @return {EventCoder} * * @example * > abi = { name: 'EventName', anonymous: false, inputs: [ { indexed: true, name: 'account', type: 'address', }, { indexed: false, name: 'number', type: 'uint', }, ], } * > coder = new EventCoder(abi) EventCoder { anonymous: false, name: 'EventName', inputs: [ { indexed: true, name: 'account', type: 'address' }, { indexed: false, name: 'number', type: 'uint' } ], type: 'EventName(address,uint256)', NamedTuple: [Function: NamedTuple(account,number)] } */ constructor({ anonymous, name, inputs }: { anonymous: boolean; name: string; inputs: any[]; }); anonymous: boolean; name: string; fullName: string; type: string; signature: any; inputs: any[]; inputCoders: import("../abi/BaseCoder")[]; dataCoder: import("../abi/BaseCoder"); /** @type {object} */ NamedTuple: object; /** * Encode topics by params * * @param {any[]} args * @return {string[]} * @example * > coder = new EventCoder(abi) * > coder.encodeTopics(['0x0123456789012345678901234567890123456789', null]) ['0x0000000000000000000000000123456789012345678901234567890123456789'] */ encodeTopics(args: any[]): string[]; /** * Decode log * * @param {array} topics - Array of hex sting * @param {string} data - Hex string * @return {array} NamedTuple * * @example * > coder = new EventCoder(abi) * > result = coder.decodeLog({ data: '0x000000000000000000000000000000000000000000000000000000000000000a', topics: [ '0xb0333e0e3a6b99318e4e2e0d7e5e5f93646f9cbf62da1587955a4092bf7df6e7', '0x0000000000000000000000000123456789012345678901234567890123456789', ], }) NamedTuple(account,number) [ '0x0123456789012345678901234567890123456789', 10n ] * > console.log([...result]) [ 0x0123456789012345678901234567890123456789, 10n ] * > console.log(result.account) // `account` a field name in abi "0x0123456789012345678901234567890123456789" * > console.log(result.number) // `number` a field name in abi 10n */ decodeLog({ topics, data }: any[]): any[]; } //# sourceMappingURL=EventCoder.d.ts.map