Skip to main content

web3-eth-abi

Index

Type Aliases

AbiBaseFragment

AbiBaseFragment: { type: string | FragmentTypes }

Type declaration

  • readonlytype: string | FragmentTypes

AbiConstructorFragment

AbiConstructorFragment: AbiBaseFragment & { inputs?: ReadonlyArray<AbiParameter>; stateMutability: string | nonpayable | payable; type: string | constructor }

AbiErrorFragment

AbiErrorFragment: AbiBaseFragment & { inputs?: ReadonlyArray<AbiParameter>; name: string; type: string | error }

AbiEventFragment

AbiEventFragment: AbiBaseFragment & { anonymous?: boolean; inputs?: ReadonlyArray<AbiParameter>; name: string; type: string | event }

AbiFallbackFragment

AbiFallbackFragment: AbiBaseFragment & { constant?: boolean; inputs: never; name: never; outputs: never; payable?: boolean; stateMutability: string | nonpayable | payable | pure | view; type: string | fallback }

AbiFragment

AbiFunctionFragment

AbiFunctionFragment: AbiBaseFragment & { constant?: boolean; inputs?: ReadonlyArray<AbiParameter>; name: string; outputs?: ReadonlyArray<AbiParameter>; payable?: boolean; stateMutability?: string | nonpayable | payable | pure | view; type: string | function }

AbiInput

AbiInput: string | AbiParameter | {}

AbiParameter

AbiParameter: { arrayChildren?: ReadonlyArray<AbiParameter>; arrayLength?: number; baseType?: string; components?: ReadonlyArray<AbiParameter>; indexed?: boolean; name: string; type: string }

Type declaration

  • optionalreadonlyarrayChildren?: ReadonlyArray<AbiParameter>
  • optionalreadonlyarrayLength?: number
  • optionalreadonlybaseType?: string
  • optionalreadonlycomponents?: ReadonlyArray<AbiParameter>
  • optionalreadonlyindexed?: boolean
  • readonlyname: string
  • readonlytype: string

ContractAbi

ContractAbi: ReadonlyArray<AbiFragment>

ContractConstructor

ContractConstructor<Abis>: { [ Abi in FilterAbis<Abis, AbiConstructorFragment & { type: constructor }> as constructor ]: { Abi: Abi; Inputs: ContractMethodInputParameters<Abi[inputs]> } }[constructor]

Type parameters

ContractConstructorArgs

ContractConstructorArgs<Abis>: { [ Abi in FilterAbis<Abis, AbiConstructorFragment & { type: constructor }> as constructor ]: ContractMethodInputParameters<Abi[inputs]> }[constructor]

Type parameters

ContractEvent

ContractEvent<Abi>: { Abi: Abi; Inputs: ContractMethodInputParameters<Abi[inputs]> }

Type parameters

Type declaration

ContractEvents

ContractEvents<Abis>: { [ Abi in FilterAbis<Abis, AbiEventFragment & { type: event }> as Abi[name] ]: ContractEvent<Abi> }

Type parameters

ContractMethod

ContractMethod<Abi>: { Abi: Abi; Inputs: ContractMethodInputParameters<Abi[inputs]>; Outputs: ContractMethodOutputParameters<Abi[outputs]> }

Type parameters

Type declaration

ContractMethodInputParameters

ContractMethodInputParameters<Params>: Params extends readonly [] ? [] : Params extends readonly [infer H, ...infer R] ? H extends AbiParameter ? [MatchPrimitiveType<H[type], H[components]>, ...ContractMethodInputParameters<R>] : ContractMethodInputParameters<R> : Params extends undefined | unknown ? [] : Params

Type parameters

  • Params: ReadonlyArray<unknown> | undefined

ContractMethodOutputParameters

ContractMethodOutputParameters<Params>: Params extends readonly [] ? void : Params extends readonly [infer H, ...infer R] ? R extends readonly [] ? H extends AbiParameter ? MatchPrimitiveType<H[type], H[components]> : [] : ArrToObjectWithFunctions<[...ContractMethodOutputParametersRecursiveArray<Params>]> & ContractMethodOutputParametersRecursiveRecord<Params> : []

Type parameters

  • Params: ReadonlyArray<unknown> | undefined

ContractMethods

ContractMethods<Abis>: { [ Abi in FilterAbis<Abis, AbiFunctionFragment & { type: function }> as Abi[name] ]: ContractMethod<Abi> }

Type parameters

FilterAbis

FilterAbis<Abis, Filter, Abi>: Abi extends Filter ? Abi : never

Type parameters

MatchPrimitiveType

MatchPrimitiveType<Type, Components>: PrimitiveAddressType<Type> | PrimitiveStringType<Type> | PrimitiveBooleanType<Type> | PrimitiveIntegerType<Type> | PrimitiveBytesType<Type> | PrimitiveTupleType<Type, Components> | never

Type parameters

  • Type: string
  • Components: ReadonlyArray<AbiParameter> | undefined

PrimitiveAddressType

PrimitiveAddressType<Type>: Type extends `address[${infer Size}]` ? _TypedArray<Address, Size> : Type extends address ? Address : never

Type parameters

  • Type: string

PrimitiveBooleanType

PrimitiveBooleanType<Type>: Type extends `bool[${infer Size}]` ? _TypedArray<boolean, Size> : Type extends bool ? boolean : never

Type parameters

  • Type: string

PrimitiveBytesType

PrimitiveBytesType<Type>: Type extends `bytes${string}[${infer Size}]` ? _TypedArray<Bytes, Size> : Type extends bytes | `bytes${string}` ? Bytes : never

Type parameters

  • Type: string

PrimitiveIntegerType

PrimitiveIntegerType<Type>: Type extends `uint${string}[${infer Size}]` | `int${string}[${infer Size}]` ? _TypedArray<Numbers, Size> : Type extends uint | int | `int${string}` | `uint${string}` ? Numbers : never

Type parameters

  • Type: string

PrimitiveStringType

PrimitiveStringType<Type>: Type extends `string${string}[${infer Size}]` ? _TypedArray<string, Size> : Type extends string | `string${string}` ? string : never

Type parameters

  • Type: string

PrimitiveTupleType

PrimitiveTupleType<Type, Components>: Components extends ReadonlyArray<AbiParameter> ? Type extends tuple ? { [ Param in Components[number] as Param[name] ]: MatchPrimitiveType<Param[type], Param[components]> } : Type extends `tuple[${infer Size}]` ? _TypedArray<{ [ Param in Components[number] as Param[name] ]: MatchPrimitiveType<Param[type], Param[components]> }, Size> : never : never

Type parameters

  • Type: string
  • Components: ReadonlyArray<AbiParameter> | undefined = []