js-conflux-sdk
Version:
JavaScript Conflux Software Development Kit
93 lines • 2.71 kB
TypeScript
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