UNPKG

@hashgraph/sdk

Version:
689 lines (688 loc) 17.7 kB
/** * @param {SolidityType} ty * @returns {string} */ export function solidityTypeToString(ty: SolidityType): string; export type ArgumentType = number; export namespace ArgumentType { let uint8: number; let int8: number; let uint16: number; let int16: number; let uint24: number; let int24: number; let uint32: number; let int32: number; let uint40: number; let int40: number; let uint48: number; let int48: number; let uint56: number; let int56: number; let uint64: number; let int64: number; let uint72: number; let int72: number; let uint80: number; let int80: number; let uint88: number; let int88: number; let uint96: number; let int96: number; let uint104: number; let int104: number; let uint112: number; let int112: number; let uint120: number; let int120: number; let uint128: number; let int128: number; let uint136: number; let int136: number; let uint144: number; let int144: number; let uint152: number; let int152: number; let uint160: number; let int160: number; let uint168: number; let int168: number; let uint176: number; let int176: number; let uint184: number; let int184: number; let uint192: number; let int192: number; let uint200: number; let int200: number; let uint208: number; let int208: number; let uint216: number; let int216: number; let uint224: number; let int224: number; let uint232: number; let int232: number; let uint240: number; let int240: number; let uint248: number; let int248: number; let uint256: number; let int256: number; let string: number; let bool: number; let bytes: number; let bytes32: number; let address: number; let func: number; } /** * @typedef {object} Argument * @property {boolean} dynamic * @property {Uint8Array} value */ /** * @typedef {object} SolidityType * @property {ArgumentType} ty * @property {boolean} array */ /** * Class to help construct function selectors for Hedera smart contract function calls. * Function selectors are the first 4 bytes of the Keccak-256 hash of the function's signature. * * This class provides methods to build function signatures by adding parameters of various Solidity types. * It supports all standard Solidity parameter types and their array variants. */ export default class ContractFunctionSelector { /** * @param {string} [name] */ constructor(name?: string); /** * @type {?string} */ name: string | null; /** * @type {string} */ _params: string; /** * @type {SolidityType[]} */ _paramTypes: SolidityType[]; _name: string | undefined; /** * @returns {ContractFunctionSelector} */ addString(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addStringArray(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addBytes(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addBytes32(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addBytesArray(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addBytes32Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt8(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint8(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt16(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint16(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt24(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint24(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt32(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint32(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt40(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint40(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt48(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint48(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt56(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint56(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt64(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint64(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt72(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint72(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt80(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint80(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt88(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint88(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt96(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint96(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt104(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint104(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt112(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint112(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt120(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint120(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt128(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint128(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt136(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint136(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt144(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint144(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt152(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint152(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt160(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint160(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt168(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint168(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt176(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint176(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt184(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint184(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt192(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint192(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt200(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint200(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt208(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint208(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt216(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint216(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt224(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint224(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt232(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint232(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt240(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint240(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt248(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint248(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt256(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint256(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt8Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint8Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt16Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint16Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt24Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint24Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt32Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint32Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt40Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint40Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt48Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint48Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt56Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint56Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt64Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint64Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt72Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint72Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt80Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint80Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt88Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint88Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt96Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint96Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt104Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint104Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt112Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint112Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt120Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint120Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt128Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint128Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt136Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint136Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt144Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint144Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt152Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint152Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt160Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint160Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt168Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint168Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt176Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint176Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt184Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint184Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt192Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint192Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt200Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint200Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt208Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint208Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt216Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint216Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt224Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint224Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt232Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint232Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt240Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint240Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt248Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint248Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addInt256Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addUint256Array(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addBool(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addAddress(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addAddressArray(): ContractFunctionSelector; /** * @returns {ContractFunctionSelector} */ addFunction(): ContractFunctionSelector; /** * @param {SolidityType} ty * @returns {ContractFunctionSelector} */ _addParam(ty: SolidityType): ContractFunctionSelector; /** * @param {string} [name] * @returns {Uint8Array} */ _build(name?: string): Uint8Array; /** * @returns {string} */ toString(): string; } export type Argument = { dynamic: boolean; value: Uint8Array; }; export type SolidityType = { ty: ArgumentType; array: boolean; };