@hashgraph/sdk
Version:
689 lines (688 loc) • 17.7 kB
TypeScript
/**
* @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;
};