ox 1.0.0-beta.2 → 1.0.0-beta.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/Abi.d.ts +6 -2
- package/dist/core/Abi.d.ts.map +1 -1
- package/dist/core/Abi.js +6 -3
- package/dist/core/Abi.js.map +1 -1
- package/dist/core/AbiConstructor.d.ts +2 -1
- package/dist/core/AbiConstructor.d.ts.map +1 -1
- package/dist/core/AbiConstructor.js +2 -2
- package/dist/core/AbiConstructor.js.map +1 -1
- package/dist/core/AbiError.d.ts +3 -1
- package/dist/core/AbiError.d.ts.map +1 -1
- package/dist/core/AbiError.js +2 -2
- package/dist/core/AbiError.js.map +1 -1
- package/dist/core/AbiEvent.d.ts +3 -1
- package/dist/core/AbiEvent.d.ts.map +1 -1
- package/dist/core/AbiEvent.js +2 -2
- package/dist/core/AbiEvent.js.map +1 -1
- package/dist/core/AbiFunction.d.ts +3 -1
- package/dist/core/AbiFunction.d.ts.map +1 -1
- package/dist/core/AbiFunction.js +2 -2
- package/dist/core/AbiFunction.js.map +1 -1
- package/dist/core/AbiItem.d.ts +6 -3
- package/dist/core/AbiItem.d.ts.map +1 -1
- package/dist/core/AbiItem.js +9 -7
- package/dist/core/AbiItem.js.map +1 -1
- package/dist/core/AbiParameter.d.ts +88 -0
- package/dist/core/AbiParameter.d.ts.map +1 -0
- package/dist/core/AbiParameter.js +82 -0
- package/dist/core/AbiParameter.js.map +1 -0
- package/dist/core/AbiParameters.d.ts +58 -2
- package/dist/core/AbiParameters.d.ts.map +1 -1
- package/dist/core/AbiParameters.js +60 -6
- package/dist/core/AbiParameters.js.map +1 -1
- package/dist/core/AccountProof.d.ts +3 -1
- package/dist/core/AccountProof.d.ts.map +1 -1
- package/dist/core/AccountProof.js +3 -4
- package/dist/core/AccountProof.js.map +1 -1
- package/dist/core/Authorization.d.ts +6 -2
- package/dist/core/Authorization.d.ts.map +1 -1
- package/dist/core/Authorization.js +3 -2
- package/dist/core/Authorization.js.map +1 -1
- package/dist/core/Block.d.ts +3 -1
- package/dist/core/Block.d.ts.map +1 -1
- package/dist/core/Block.js +12 -13
- package/dist/core/Block.js.map +1 -1
- package/dist/core/BlockOverrides.d.ts +5 -1
- package/dist/core/BlockOverrides.d.ts.map +1 -1
- package/dist/core/BlockOverrides.js +12 -12
- package/dist/core/BlockOverrides.js.map +1 -1
- package/dist/core/Filter.d.ts +3 -1
- package/dist/core/Filter.d.ts.map +1 -1
- package/dist/core/Filter.js +4 -4
- package/dist/core/Filter.js.map +1 -1
- package/dist/core/Log.d.ts +4 -2
- package/dist/core/Log.d.ts.map +1 -1
- package/dist/core/Log.js +4 -4
- package/dist/core/Log.js.map +1 -1
- package/dist/core/Rlp.d.ts +27 -5
- package/dist/core/Rlp.d.ts.map +1 -1
- package/dist/core/Rlp.js +40 -4
- package/dist/core/Rlp.js.map +1 -1
- package/dist/core/RpcSchema.d.ts +2 -2
- package/dist/core/Signature.d.ts +3 -1
- package/dist/core/Signature.d.ts.map +1 -1
- package/dist/core/Signature.js +2 -1
- package/dist/core/Signature.js.map +1 -1
- package/dist/core/StateOverrides.d.ts +5 -1
- package/dist/core/StateOverrides.d.ts.map +1 -1
- package/dist/core/StateOverrides.js +4 -4
- package/dist/core/StateOverrides.js.map +1 -1
- package/dist/core/Transaction.d.ts +3 -1
- package/dist/core/Transaction.d.ts.map +1 -1
- package/dist/core/Transaction.js +26 -26
- package/dist/core/Transaction.js.map +1 -1
- package/dist/core/TransactionReceipt.d.ts +3 -1
- package/dist/core/TransactionReceipt.d.ts.map +1 -1
- package/dist/core/TransactionReceipt.js +8 -8
- package/dist/core/TransactionReceipt.js.map +1 -1
- package/dist/core/TransactionRequest.d.ts +3 -1
- package/dist/core/TransactionRequest.d.ts.map +1 -1
- package/dist/core/TransactionRequest.js +11 -10
- package/dist/core/TransactionRequest.js.map +1 -1
- package/dist/core/TxEnvelope.d.ts +3 -1
- package/dist/core/TxEnvelope.d.ts.map +1 -1
- package/dist/core/TxEnvelope.js.map +1 -1
- package/dist/core/TxEnvelopeEip1559.d.ts +3 -1
- package/dist/core/TxEnvelopeEip1559.d.ts.map +1 -1
- package/dist/core/TxEnvelopeEip1559.js +12 -11
- package/dist/core/TxEnvelopeEip1559.js.map +1 -1
- package/dist/core/TxEnvelopeEip2930.d.ts +3 -1
- package/dist/core/TxEnvelopeEip2930.d.ts.map +1 -1
- package/dist/core/TxEnvelopeEip2930.js +10 -9
- package/dist/core/TxEnvelopeEip2930.js.map +1 -1
- package/dist/core/TxEnvelopeEip4844.d.ts +3 -1
- package/dist/core/TxEnvelopeEip4844.d.ts.map +1 -1
- package/dist/core/TxEnvelopeEip4844.js +16 -13
- package/dist/core/TxEnvelopeEip4844.js.map +1 -1
- package/dist/core/TxEnvelopeEip7702.d.ts +3 -1
- package/dist/core/TxEnvelopeEip7702.d.ts.map +1 -1
- package/dist/core/TxEnvelopeEip7702.js +12 -11
- package/dist/core/TxEnvelopeEip7702.js.map +1 -1
- package/dist/core/TxEnvelopeLegacy.d.ts +7 -1
- package/dist/core/TxEnvelopeLegacy.d.ts.map +1 -1
- package/dist/core/TxEnvelopeLegacy.js +9 -8
- package/dist/core/TxEnvelopeLegacy.js.map +1 -1
- package/dist/core/Withdrawal.d.ts +4 -2
- package/dist/core/Withdrawal.d.ts.map +1 -1
- package/dist/core/Withdrawal.js +4 -4
- package/dist/core/Withdrawal.js.map +1 -1
- package/dist/core/internal/abiParameters.d.ts.map +1 -1
- package/dist/core/internal/abiParameters.js +21 -3
- package/dist/core/internal/abiParameters.js.map +1 -1
- package/dist/core/internal/human-readable/errors.d.ts +103 -0
- package/dist/core/internal/human-readable/errors.d.ts.map +1 -0
- package/dist/core/internal/human-readable/errors.js +142 -0
- package/dist/core/internal/human-readable/errors.js.map +1 -0
- package/dist/core/internal/human-readable/formatAbi.d.ts +19 -0
- package/dist/core/internal/human-readable/formatAbi.d.ts.map +1 -0
- package/dist/core/internal/human-readable/formatAbi.js +18 -0
- package/dist/core/internal/human-readable/formatAbi.js.map +1 -0
- package/dist/core/internal/human-readable/formatAbiItem.d.ts +23 -0
- package/dist/core/internal/human-readable/formatAbiItem.d.ts.map +1 -0
- package/dist/core/internal/human-readable/formatAbiItem.js +25 -0
- package/dist/core/internal/human-readable/formatAbiItem.js.map +1 -0
- package/dist/core/internal/human-readable/formatAbiParameter.d.ts +41 -0
- package/dist/core/internal/human-readable/formatAbiParameter.d.ts.map +1 -0
- package/dist/core/internal/human-readable/formatAbiParameter.js +36 -0
- package/dist/core/internal/human-readable/formatAbiParameter.js.map +1 -0
- package/dist/core/internal/human-readable/formatAbiParameters.d.ts +26 -0
- package/dist/core/internal/human-readable/formatAbiParameters.d.ts.map +1 -0
- package/dist/core/internal/human-readable/formatAbiParameters.js +19 -0
- package/dist/core/internal/human-readable/formatAbiParameters.js.map +1 -0
- package/dist/core/internal/human-readable/parseAbi.d.ts +22 -0
- package/dist/core/internal/human-readable/parseAbi.d.ts.map +1 -0
- package/dist/core/internal/human-readable/parseAbi.js +22 -0
- package/dist/core/internal/human-readable/parseAbi.js.map +1 -0
- package/dist/core/internal/human-readable/parseAbiItem.d.ts +23 -0
- package/dist/core/internal/human-readable/parseAbiItem.d.ts.map +1 -0
- package/dist/core/internal/human-readable/parseAbiItem.js +30 -0
- package/dist/core/internal/human-readable/parseAbiItem.js.map +1 -0
- package/dist/core/internal/human-readable/parseAbiParameter.d.ts +28 -0
- package/dist/core/internal/human-readable/parseAbiParameter.d.ts.map +1 -0
- package/dist/core/internal/human-readable/parseAbiParameter.js +32 -0
- package/dist/core/internal/human-readable/parseAbiParameter.js.map +1 -0
- package/dist/core/internal/human-readable/parseAbiParameters.d.ts +38 -0
- package/dist/core/internal/human-readable/parseAbiParameters.d.ts.map +1 -0
- package/dist/core/internal/human-readable/parseAbiParameters.js +39 -0
- package/dist/core/internal/human-readable/parseAbiParameters.js.map +1 -0
- package/dist/core/internal/human-readable/regex.d.ts +9 -0
- package/dist/core/internal/human-readable/regex.d.ts.map +1 -0
- package/dist/core/internal/human-readable/regex.js +12 -0
- package/dist/core/internal/human-readable/regex.js.map +1 -0
- package/dist/core/internal/human-readable/runtime/cache.d.ts +22 -0
- package/dist/core/internal/human-readable/runtime/cache.d.ts.map +1 -0
- package/dist/core/internal/human-readable/runtime/cache.js +86 -0
- package/dist/core/internal/human-readable/runtime/cache.js.map +1 -0
- package/dist/core/internal/human-readable/runtime/signatures.d.ts +39 -0
- package/dist/core/internal/human-readable/runtime/signatures.d.ts.map +1 -0
- package/dist/core/internal/human-readable/runtime/signatures.js +67 -0
- package/dist/core/internal/human-readable/runtime/signatures.js.map +1 -0
- package/dist/core/internal/human-readable/runtime/structs.d.ts +3 -0
- package/dist/core/internal/human-readable/runtime/structs.d.ts.map +1 -0
- package/dist/core/internal/human-readable/runtime/structs.js +79 -0
- package/dist/core/internal/human-readable/runtime/structs.js.map +1 -0
- package/dist/core/internal/human-readable/runtime/utils.d.ts +205 -0
- package/dist/core/internal/human-readable/runtime/utils.d.ts.map +1 -0
- package/dist/core/internal/human-readable/runtime/utils.js +232 -0
- package/dist/core/internal/human-readable/runtime/utils.js.map +1 -0
- package/dist/core/internal/human-readable/types/signatures.d.ts +38 -0
- package/dist/core/internal/human-readable/types/signatures.d.ts.map +1 -0
- package/dist/core/internal/human-readable/types/signatures.js +2 -0
- package/dist/core/internal/human-readable/types/signatures.js.map +1 -0
- package/dist/core/internal/human-readable/types/structs.d.ts +48 -0
- package/dist/core/internal/human-readable/types/structs.d.ts.map +1 -0
- package/dist/core/internal/human-readable/types/structs.js +2 -0
- package/dist/core/internal/human-readable/types/structs.js.map +1 -0
- package/dist/core/internal/human-readable/types/utils.d.ts +163 -0
- package/dist/core/internal/human-readable/types/utils.d.ts.map +1 -0
- package/dist/core/internal/human-readable/types/utils.js +2 -0
- package/dist/core/internal/human-readable/types/utils.js.map +1 -0
- package/dist/core/internal/human-readable/types.d.ts +29 -0
- package/dist/core/internal/human-readable/types.d.ts.map +1 -0
- package/dist/core/internal/human-readable/types.js +2 -0
- package/dist/core/internal/human-readable/types.js.map +1 -0
- package/dist/core/internal/quantity.d.ts +15 -0
- package/dist/core/internal/quantity.d.ts.map +1 -1
- package/dist/core/internal/quantity.js +23 -0
- package/dist/core/internal/quantity.js.map +1 -1
- package/dist/core/internal/rpcSchemas/eth.d.ts +56 -10
- package/dist/core/internal/rpcSchemas/eth.d.ts.map +1 -1
- package/dist/erc4337/UserOperation.d.ts +3 -1
- package/dist/erc4337/UserOperation.d.ts.map +1 -1
- package/dist/erc4337/UserOperation.js +11 -10
- package/dist/erc4337/UserOperation.js.map +1 -1
- package/dist/erc4337/UserOperationGas.d.ts +5 -1
- package/dist/erc4337/UserOperationGas.d.ts.map +1 -1
- package/dist/erc4337/UserOperationGas.js +8 -8
- package/dist/erc4337/UserOperationGas.js.map +1 -1
- package/dist/erc4337/UserOperationReceipt.d.ts +5 -1
- package/dist/erc4337/UserOperationReceipt.d.ts.map +1 -1
- package/dist/erc4337/UserOperationReceipt.js +4 -4
- package/dist/erc4337/UserOperationReceipt.js.map +1 -1
- package/dist/index.d.ts +37 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +37 -0
- package/dist/index.js.map +1 -1
- package/dist/tempo/AuthorizationTempo.d.ts +6 -2
- package/dist/tempo/AuthorizationTempo.d.ts.map +1 -1
- package/dist/tempo/AuthorizationTempo.js +3 -2
- package/dist/tempo/AuthorizationTempo.js.map +1 -1
- package/dist/tempo/Channel.d.ts +8 -14
- package/dist/tempo/Channel.d.ts.map +1 -1
- package/dist/tempo/Channel.js +4 -8
- package/dist/tempo/Channel.js.map +1 -1
- package/dist/tempo/KeyAuthorization.d.ts +8 -6
- package/dist/tempo/KeyAuthorization.d.ts.map +1 -1
- package/dist/tempo/KeyAuthorization.js +10 -8
- package/dist/tempo/KeyAuthorization.js.map +1 -1
- package/dist/tempo/MultisigConfig.d.ts +37 -85
- package/dist/tempo/MultisigConfig.d.ts.map +1 -1
- package/dist/tempo/MultisigConfig.js +39 -83
- package/dist/tempo/MultisigConfig.js.map +1 -1
- package/dist/tempo/PoolId.d.ts +8 -7
- package/dist/tempo/PoolId.d.ts.map +1 -1
- package/dist/tempo/PoolId.js +10 -6
- package/dist/tempo/PoolId.js.map +1 -1
- package/dist/tempo/RpcSchemaTempo.d.ts +1 -1
- package/dist/tempo/RpcSchemaTempo.d.ts.map +1 -1
- package/dist/tempo/SignatureEnvelope.d.ts +35 -31
- package/dist/tempo/SignatureEnvelope.d.ts.map +1 -1
- package/dist/tempo/SignatureEnvelope.js +56 -51
- package/dist/tempo/SignatureEnvelope.js.map +1 -1
- package/dist/tempo/Transaction.d.ts +19 -6
- package/dist/tempo/Transaction.d.ts.map +1 -1
- package/dist/tempo/Transaction.js +41 -13
- package/dist/tempo/Transaction.js.map +1 -1
- package/dist/tempo/TransactionReceipt.d.ts +3 -1
- package/dist/tempo/TransactionReceipt.d.ts.map +1 -1
- package/dist/tempo/TransactionReceipt.js.map +1 -1
- package/dist/tempo/TransactionRequest.d.ts +18 -3
- package/dist/tempo/TransactionRequest.d.ts.map +1 -1
- package/dist/tempo/TransactionRequest.js +72 -35
- package/dist/tempo/TransactionRequest.js.map +1 -1
- package/dist/tempo/TxEnvelopeTempo.d.ts +2 -3
- package/dist/tempo/TxEnvelopeTempo.d.ts.map +1 -1
- package/dist/tempo/TxEnvelopeTempo.js +5 -6
- package/dist/tempo/TxEnvelopeTempo.js.map +1 -1
- package/dist/tempo/index.d.ts +6 -26
- package/dist/tempo/index.d.ts.map +1 -1
- package/dist/tempo/index.js +6 -26
- package/dist/tempo/index.js.map +1 -1
- package/dist/zod/Abi.d.ts +214 -0
- package/dist/zod/Abi.d.ts.map +1 -0
- package/dist/zod/Abi.js +5 -0
- package/dist/zod/Abi.js.map +1 -0
- package/dist/zod/AbiConstructor.d.ts +58 -0
- package/dist/zod/AbiConstructor.d.ts.map +1 -0
- package/dist/zod/AbiConstructor.js +18 -0
- package/dist/zod/AbiConstructor.js.map +1 -0
- package/dist/zod/AbiError.d.ts +20 -0
- package/dist/zod/AbiError.d.ts.map +1 -0
- package/dist/zod/AbiError.js +9 -0
- package/dist/zod/AbiError.js.map +1 -0
- package/dist/zod/AbiEvent.d.ts +23 -0
- package/dist/zod/AbiEvent.d.ts.map +1 -0
- package/dist/zod/AbiEvent.js +11 -0
- package/dist/zod/AbiEvent.js.map +1 -0
- package/dist/zod/AbiFallback.d.ts +16 -0
- package/dist/zod/AbiFallback.d.ts.map +1 -0
- package/dist/zod/AbiFallback.js +16 -0
- package/dist/zod/AbiFallback.js.map +1 -0
- package/dist/zod/AbiFunction.d.ts +109 -0
- package/dist/zod/AbiFunction.d.ts.map +1 -0
- package/dist/zod/AbiFunction.js +26 -0
- package/dist/zod/AbiFunction.js.map +1 -0
- package/dist/zod/AbiItem.d.ts +216 -0
- package/dist/zod/AbiItem.d.ts.map +1 -0
- package/dist/zod/AbiItem.js +26 -0
- package/dist/zod/AbiItem.js.map +1 -0
- package/dist/zod/AbiParameter.d.ts +32 -0
- package/dist/zod/AbiParameter.d.ts.map +1 -0
- package/dist/zod/AbiParameter.js +28 -0
- package/dist/zod/AbiParameter.js.map +1 -0
- package/dist/zod/AbiParameters.d.ts +30 -0
- package/dist/zod/AbiParameters.d.ts.map +1 -0
- package/dist/zod/AbiParameters.js +6 -0
- package/dist/zod/AbiParameters.js.map +1 -0
- package/dist/zod/AbiReceive.d.ts +6 -0
- package/dist/zod/AbiReceive.d.ts.map +1 -0
- package/dist/zod/AbiReceive.js +7 -0
- package/dist/zod/AbiReceive.js.map +1 -0
- package/dist/zod/AccountProof.d.ts +20 -0
- package/dist/zod/AccountProof.d.ts.map +1 -1
- package/dist/zod/AccountProof.js +24 -14
- package/dist/zod/AccountProof.js.map +1 -1
- package/dist/zod/Authorization.d.ts +43 -0
- package/dist/zod/Authorization.d.ts.map +1 -1
- package/dist/zod/Authorization.js +36 -16
- package/dist/zod/Authorization.js.map +1 -1
- package/dist/zod/BigInt.d.ts +2 -0
- package/dist/zod/BigInt.d.ts.map +1 -1
- package/dist/zod/BigInt.js +6 -1
- package/dist/zod/BigInt.js.map +1 -1
- package/dist/zod/Block.d.ts +219 -0
- package/dist/zod/Block.d.ts.map +1 -1
- package/dist/zod/Block.js +24 -20
- package/dist/zod/Block.js.map +1 -1
- package/dist/zod/BlockOverrides.d.ts +16 -0
- package/dist/zod/BlockOverrides.d.ts.map +1 -1
- package/dist/zod/BlockOverrides.js +15 -10
- package/dist/zod/BlockOverrides.js.map +1 -1
- package/dist/zod/Filter.d.ts +14 -0
- package/dist/zod/Filter.d.ts.map +1 -1
- package/dist/zod/Filter.js +24 -19
- package/dist/zod/Filter.js.map +1 -1
- package/dist/zod/Log.d.ts +15 -2
- package/dist/zod/Log.d.ts.map +1 -1
- package/dist/zod/Log.js +18 -13
- package/dist/zod/Log.js.map +1 -1
- package/dist/zod/Number.d.ts +2 -0
- package/dist/zod/Number.d.ts.map +1 -1
- package/dist/zod/Number.js +6 -1
- package/dist/zod/Number.js.map +1 -1
- package/dist/zod/RpcSchema.d.ts +318 -112
- package/dist/zod/RpcSchema.d.ts.map +1 -1
- package/dist/zod/RpcSchema.js +30 -82
- package/dist/zod/RpcSchema.js.map +1 -1
- package/dist/zod/Signature.d.ts +6 -0
- package/dist/zod/Signature.d.ts.map +1 -1
- package/dist/zod/Signature.js +9 -1
- package/dist/zod/Signature.js.map +1 -1
- package/dist/zod/Solidity.d.ts +15 -0
- package/dist/zod/Solidity.d.ts.map +1 -0
- package/dist/zod/Solidity.js +41 -0
- package/dist/zod/Solidity.js.map +1 -0
- package/dist/zod/StateOverrides.d.ts +32 -0
- package/dist/zod/StateOverrides.d.ts.map +1 -1
- package/dist/zod/StateOverrides.js +25 -18
- package/dist/zod/StateOverrides.js.map +1 -1
- package/dist/zod/Transaction.d.ts +312 -0
- package/dist/zod/Transaction.d.ts.map +1 -1
- package/dist/zod/Transaction.js +138 -93
- package/dist/zod/Transaction.js.map +1 -1
- package/dist/zod/TransactionEnvelope.d.ts +222 -0
- package/dist/zod/TransactionEnvelope.d.ts.map +1 -1
- package/dist/zod/TransactionEnvelope.js +19 -3
- package/dist/zod/TransactionEnvelope.js.map +1 -1
- package/dist/zod/TransactionReceipt.d.ts +32 -1
- package/dist/zod/TransactionReceipt.d.ts.map +1 -1
- package/dist/zod/TransactionReceipt.js +24 -19
- package/dist/zod/TransactionReceipt.js.map +1 -1
- package/dist/zod/TransactionRequest.d.ts +34 -0
- package/dist/zod/TransactionRequest.d.ts.map +1 -1
- package/dist/zod/TransactionRequest.js +28 -23
- package/dist/zod/TransactionRequest.js.map +1 -1
- package/dist/zod/TxEnvelopeEip1559.d.ts +44 -0
- package/dist/zod/TxEnvelopeEip1559.d.ts.map +1 -1
- package/dist/zod/TxEnvelopeEip1559.js +23 -14
- package/dist/zod/TxEnvelopeEip1559.js.map +1 -1
- package/dist/zod/TxEnvelopeEip2930.d.ts +42 -0
- package/dist/zod/TxEnvelopeEip2930.d.ts.map +1 -1
- package/dist/zod/TxEnvelopeEip2930.js +21 -12
- package/dist/zod/TxEnvelopeEip2930.js.map +1 -1
- package/dist/zod/TxEnvelopeEip4844.d.ts +58 -0
- package/dist/zod/TxEnvelopeEip4844.d.ts.map +1 -1
- package/dist/zod/TxEnvelopeEip4844.js +29 -20
- package/dist/zod/TxEnvelopeEip4844.js.map +1 -1
- package/dist/zod/TxEnvelopeEip7702.d.ts +60 -0
- package/dist/zod/TxEnvelopeEip7702.d.ts.map +1 -1
- package/dist/zod/TxEnvelopeEip7702.js +25 -16
- package/dist/zod/TxEnvelopeEip7702.js.map +1 -1
- package/dist/zod/TxEnvelopeLegacy.d.ts +34 -0
- package/dist/zod/TxEnvelopeLegacy.d.ts.map +1 -1
- package/dist/zod/TxEnvelopeLegacy.js +19 -10
- package/dist/zod/TxEnvelopeLegacy.js.map +1 -1
- package/dist/zod/TypedData.d.ts +226 -0
- package/dist/zod/TypedData.d.ts.map +1 -0
- package/dist/zod/TypedData.js +84 -0
- package/dist/zod/TypedData.js.map +1 -0
- package/dist/zod/Uint.d.ts +4 -0
- package/dist/zod/Uint.d.ts.map +1 -1
- package/dist/zod/Uint.js +14 -1
- package/dist/zod/Uint.js.map +1 -1
- package/dist/zod/Withdrawal.d.ts +7 -0
- package/dist/zod/Withdrawal.d.ts.map +1 -1
- package/dist/zod/Withdrawal.js +11 -6
- package/dist/zod/Withdrawal.js.map +1 -1
- package/dist/zod/internal/Integer.d.ts +15 -0
- package/dist/zod/internal/Integer.d.ts.map +1 -1
- package/dist/zod/internal/Integer.js +39 -0
- package/dist/zod/internal/Integer.js.map +1 -1
- package/dist/zod/internal/TransactionEnvelope.d.ts +38 -28
- package/dist/zod/internal/TransactionEnvelope.d.ts.map +1 -1
- package/dist/zod/internal/TransactionEnvelope.js +22 -15
- package/dist/zod/internal/TransactionEnvelope.js.map +1 -1
- package/dist/zod/internal/rpcSchemas/Eth.d.ts +260 -123
- package/dist/zod/internal/rpcSchemas/Eth.d.ts.map +1 -1
- package/dist/zod/internal/rpcSchemas/Eth.js +17 -6
- package/dist/zod/internal/rpcSchemas/Eth.js.map +1 -1
- package/dist/zod/internal/rpcSchemas/Wallet.d.ts +1 -1
- package/dist/zod/tempo/AuthorizationTempo.d.ts +405 -12
- package/dist/zod/tempo/AuthorizationTempo.d.ts.map +1 -1
- package/dist/zod/tempo/AuthorizationTempo.js +20 -0
- package/dist/zod/tempo/AuthorizationTempo.js.map +1 -1
- package/dist/zod/tempo/KeyAuthorization.d.ts +838 -69
- package/dist/zod/tempo/KeyAuthorization.d.ts.map +1 -1
- package/dist/zod/tempo/KeyAuthorization.js +49 -8
- package/dist/zod/tempo/KeyAuthorization.js.map +1 -1
- package/dist/zod/tempo/RpcSchemaTempo.d.ts +218 -36
- package/dist/zod/tempo/RpcSchemaTempo.d.ts.map +1 -1
- package/dist/zod/tempo/SignatureEnvelope.d.ts +0 -6
- package/dist/zod/tempo/SignatureEnvelope.d.ts.map +1 -1
- package/dist/zod/tempo/SignatureEnvelope.js +0 -2
- package/dist/zod/tempo/SignatureEnvelope.js.map +1 -1
- package/dist/zod/tempo/Transaction.d.ts +2203 -192
- package/dist/zod/tempo/Transaction.d.ts.map +1 -1
- package/dist/zod/tempo/Transaction.js +113 -33
- package/dist/zod/tempo/Transaction.js.map +1 -1
- package/dist/zod/tempo/TransactionReceipt.d.ts +34 -1
- package/dist/zod/tempo/TransactionReceipt.d.ts.map +1 -1
- package/dist/zod/tempo/TransactionReceipt.js +26 -21
- package/dist/zod/tempo/TransactionReceipt.js.map +1 -1
- package/dist/zod/tempo/TransactionRequest.d.ts +1049 -57
- package/dist/zod/tempo/TransactionRequest.d.ts.map +1 -1
- package/dist/zod/tempo/TransactionRequest.js +141 -26
- package/dist/zod/tempo/TransactionRequest.js.map +1 -1
- package/dist/zod/tempo/TxEnvelopeTempo.d.ts +225 -18
- package/dist/zod/tempo/TxEnvelopeTempo.d.ts.map +1 -1
- package/dist/zod/tempo/TxEnvelopeTempo.js +1 -1
- package/dist/zod/tempo/TxEnvelopeTempo.js.map +1 -1
- package/dist/zod/tempo/ZoneRpcAuthentication.d.ts +0 -3
- package/dist/zod/tempo/ZoneRpcAuthentication.d.ts.map +1 -1
- package/dist/zod/tempo/z.d.ts +0 -1
- package/dist/zod/tempo/z.d.ts.map +1 -1
- package/dist/zod/tempo/z.js +0 -1
- package/dist/zod/tempo/z.js.map +1 -1
- package/dist/zod/z.d.ts +15 -3
- package/dist/zod/z.d.ts.map +1 -1
- package/dist/zod/z.js +15 -3
- package/dist/zod/z.js.map +1 -1
- package/package.json +66 -11
- package/src/CHANGELOG.md +18 -0
- package/src/core/Abi.bench.ts +30 -0
- package/src/core/Abi.ts +13 -4
- package/src/core/AbiConstructor.ts +3 -2
- package/src/core/AbiError.ts +6 -2
- package/src/core/AbiEvent.ts +6 -2
- package/src/core/AbiFunction.ts +6 -2
- package/src/core/AbiItem.bench.ts +19 -0
- package/src/core/AbiItem.ts +20 -10
- package/src/core/AbiParameter.bench.ts +35 -0
- package/src/core/AbiParameter.ts +126 -0
- package/src/core/AbiParameters.bench.ts +22 -0
- package/src/core/AbiParameters.ts +77 -8
- package/src/core/AccountProof.ts +7 -4
- package/src/core/Authorization.ts +11 -4
- package/src/core/Block.ts +24 -13
- package/src/core/BlockOverrides.ts +18 -13
- package/src/core/Filter.ts +8 -5
- package/src/core/Log.ts +10 -6
- package/src/core/Rlp.ts +66 -3
- package/src/core/RpcSchema.ts +2 -2
- package/src/core/Signature.ts +6 -2
- package/src/core/StateOverrides.ts +10 -5
- package/src/core/Transaction.ts +37 -26
- package/src/core/TransactionReceipt.ts +17 -8
- package/src/core/TransactionRequest.ts +21 -11
- package/src/core/TxEnvelope.ts +9 -2
- package/src/core/TxEnvelopeEip1559.ts +21 -12
- package/src/core/TxEnvelopeEip2930.ts +17 -10
- package/src/core/TxEnvelopeEip4844.ts +25 -14
- package/src/core/TxEnvelopeEip7702.ts +21 -12
- package/src/core/TxEnvelopeLegacy.ts +20 -9
- package/src/core/Withdrawal.ts +9 -5
- package/src/core/_test/Abi.test.ts +4 -0
- package/src/core/_test/AbiItem.test.ts +3 -0
- package/src/core/_test/AbiParameter.test-d.ts +41 -0
- package/src/core/_test/AbiParameter.test.ts +84 -0
- package/src/core/_test/AbiParameters.decode.test.ts +88 -12
- package/src/core/_test/AbiParameters.encode.test.ts +68 -0
- package/src/core/_test/AbiParameters.test.ts +7 -0
- package/src/core/_test/AccountProof.test.ts +56 -0
- package/src/core/_test/Authorization.test.ts +29 -0
- package/src/core/_test/Block.test.ts +98 -0
- package/src/core/_test/BlockOverrides.test.ts +50 -0
- package/src/core/_test/Filter.test.ts +32 -0
- package/src/core/_test/Log.test.ts +42 -0
- package/src/core/_test/Rlp.test.ts +101 -0
- package/src/core/_test/RpcSchema.test-d.ts +12 -0
- package/src/core/_test/Signature.test.ts +14 -0
- package/src/core/_test/StateOverrides.test.ts +51 -0
- package/src/core/_test/Transaction.test.ts +64 -0
- package/src/core/_test/TransactionEnvelopeEip1559.test.ts +41 -0
- package/src/core/_test/TransactionEnvelopeEip2930.test.ts +38 -0
- package/src/core/_test/TransactionEnvelopeEip4844.test.ts +47 -0
- package/src/core/_test/TransactionEnvelopeEip7702.test.ts +71 -0
- package/src/core/_test/TransactionEnvelopeLegacy.test.ts +38 -0
- package/src/core/_test/TransactionReceipt.test.ts +54 -0
- package/src/core/_test/Withdrawal.test.ts +33 -0
- package/src/core/_test/index.test.ts +1 -0
- package/src/core/internal/abiParameters.ts +21 -3
- package/src/core/internal/human-readable/_snap/formatAbi.test.ts.snap +74 -0
- package/src/core/internal/human-readable/_snap/parseAbi.test.ts.snap +2353 -0
- package/src/core/internal/human-readable/errors.test.ts +258 -0
- package/src/core/internal/human-readable/errors.ts +205 -0
- package/src/core/internal/human-readable/formatAbi.test-d.ts +144 -0
- package/src/core/internal/human-readable/formatAbi.test.ts +23 -0
- package/src/core/internal/human-readable/formatAbi.ts +37 -0
- package/src/core/internal/human-readable/formatAbiItem.test-d.ts +115 -0
- package/src/core/internal/human-readable/formatAbiItem.test.ts +102 -0
- package/src/core/internal/human-readable/formatAbiItem.ts +136 -0
- package/src/core/internal/human-readable/formatAbiParameter.test-d.ts +125 -0
- package/src/core/internal/human-readable/formatAbiParameter.test.ts +126 -0
- package/src/core/internal/human-readable/formatAbiParameter.ts +86 -0
- package/src/core/internal/human-readable/formatAbiParameters.test-d.ts +92 -0
- package/src/core/internal/human-readable/formatAbiParameters.test.ts +32 -0
- package/src/core/internal/human-readable/formatAbiParameters.ts +46 -0
- package/src/core/internal/human-readable/human-readable.bench-d.ts +58 -0
- package/src/core/internal/human-readable/integration.test.ts +68 -0
- package/src/core/internal/human-readable/parseAbi.test-d.ts +188 -0
- package/src/core/internal/human-readable/parseAbi.test.ts +82 -0
- package/src/core/internal/human-readable/parseAbi.ts +59 -0
- package/src/core/internal/human-readable/parseAbiItem.test-d.ts +183 -0
- package/src/core/internal/human-readable/parseAbiItem.test.ts +264 -0
- package/src/core/internal/human-readable/parseAbiItem.ts +91 -0
- package/src/core/internal/human-readable/parseAbiParameter.test-d.ts +68 -0
- package/src/core/internal/human-readable/parseAbiParameter.test.ts +207 -0
- package/src/core/internal/human-readable/parseAbiParameter.ts +95 -0
- package/src/core/internal/human-readable/parseAbiParameters.test-d.ts +160 -0
- package/src/core/internal/human-readable/parseAbiParameters.test.ts +80 -0
- package/src/core/internal/human-readable/parseAbiParameters.ts +123 -0
- package/src/core/internal/human-readable/regex.ts +15 -0
- package/src/core/internal/human-readable/runtime/cache.ts +96 -0
- package/src/core/internal/human-readable/runtime/signatures.test.ts +236 -0
- package/src/core/internal/human-readable/runtime/signatures.ts +106 -0
- package/src/core/internal/human-readable/runtime/structs.test.ts +210 -0
- package/src/core/internal/human-readable/runtime/structs.ts +97 -0
- package/src/core/internal/human-readable/runtime/utils.test.ts +717 -0
- package/src/core/internal/human-readable/runtime/utils.ts +344 -0
- package/src/core/internal/human-readable/types/signatures.test-d.ts +255 -0
- package/src/core/internal/human-readable/types/signatures.ts +369 -0
- package/src/core/internal/human-readable/types/structs.test-d.ts +221 -0
- package/src/core/internal/human-readable/types/structs.ts +88 -0
- package/src/core/internal/human-readable/types/utils.test-d.ts +1029 -0
- package/src/core/internal/human-readable/types/utils.ts +392 -0
- package/src/core/internal/human-readable/types.ts +69 -0
- package/src/core/internal/quantity.ts +29 -0
- package/src/core/internal/rpcSchemas/eth.ts +76 -10
- package/src/erc4337/UserOperation.ts +26 -11
- package/src/erc4337/UserOperationGas.ts +19 -8
- package/src/erc4337/UserOperationReceipt.ts +14 -4
- package/src/index.ts +38 -0
- package/src/tempo/AuthorizationTempo.ts +11 -4
- package/src/tempo/Channel.test.ts +2 -23
- package/src/tempo/Channel.ts +10 -22
- package/src/tempo/KeyAuthorization.test.ts +22 -0
- package/src/tempo/KeyAuthorization.ts +20 -14
- package/src/tempo/MultisigConfig.test.ts +54 -37
- package/src/tempo/MultisigConfig.ts +59 -134
- package/src/tempo/PoolId.test.ts +7 -41
- package/src/tempo/PoolId.ts +15 -10
- package/src/tempo/RpcSchemaTempo.ts +1 -1
- package/src/tempo/SignatureEnvelope.test.ts +118 -17
- package/src/tempo/SignatureEnvelope.ts +81 -73
- package/src/tempo/Transaction.test.ts +0 -15
- package/src/tempo/Transaction.ts +78 -19
- package/src/tempo/TransactionReceipt.ts +9 -1
- package/src/tempo/TransactionRequest.test.ts +174 -1
- package/src/tempo/TransactionRequest.ts +98 -39
- package/src/tempo/TxEnvelopeTempo.test.ts +2 -2
- package/src/tempo/TxEnvelopeTempo.ts +7 -7
- package/src/tempo/e2e.test.ts +221 -43
- package/src/tempo/index.ts +6 -26
- package/src/version.ts +1 -1
- package/src/zod/Abi.ts +5 -0
- package/src/zod/AbiConstructor.ts +24 -0
- package/src/zod/AbiError.ts +9 -0
- package/src/zod/AbiEvent.ts +11 -0
- package/src/zod/AbiFallback.ts +22 -0
- package/src/zod/AbiFunction.ts +32 -0
- package/src/zod/AbiItem.ts +28 -0
- package/src/zod/AbiParameter.ts +36 -0
- package/src/zod/AbiParameters.ts +7 -0
- package/src/zod/AbiReceive.ts +7 -0
- package/src/zod/AccountProof.ts +36 -14
- package/src/zod/Authorization.ts +65 -18
- package/src/zod/BigInt.ts +12 -1
- package/src/zod/Block.ts +68 -26
- package/src/zod/BlockOverrides.ts +24 -10
- package/src/zod/Filter.ts +26 -21
- package/src/zod/Log.ts +23 -13
- package/src/zod/Number.ts +12 -1
- package/src/zod/RpcSchema.ts +123 -29
- package/src/zod/Signature.ts +18 -3
- package/src/zod/Solidity.ts +83 -0
- package/src/zod/StateOverrides.ts +31 -19
- package/src/zod/Transaction.ts +254 -101
- package/src/zod/TransactionEnvelope.ts +27 -3
- package/src/zod/TransactionReceipt.ts +34 -19
- package/src/zod/TransactionRequest.ts +42 -23
- package/src/zod/TxEnvelopeEip1559.ts +34 -13
- package/src/zod/TxEnvelopeEip2930.ts +32 -11
- package/src/zod/TxEnvelopeEip4844.ts +40 -19
- package/src/zod/TxEnvelopeEip7702.ts +46 -15
- package/src/zod/TxEnvelopeLegacy.ts +30 -9
- package/src/zod/TypedData.ts +111 -0
- package/src/zod/Uint.ts +19 -0
- package/src/zod/Withdrawal.ts +18 -6
- package/src/zod/_test/Abi.test-d.ts +46 -0
- package/src/zod/_test/Abi.test.ts +163 -0
- package/src/zod/_test/AccountProof.test.ts +32 -0
- package/src/zod/_test/Authorization.test.ts +42 -0
- package/src/zod/_test/BigInt.test.ts +9 -1
- package/src/zod/_test/Block.test.ts +54 -0
- package/src/zod/_test/BlockOverrides.test.ts +35 -0
- package/src/zod/_test/Filter.test.ts +34 -0
- package/src/zod/_test/Log.test.ts +49 -0
- package/src/zod/_test/Number.test.ts +8 -1
- package/src/zod/_test/RpcSchema.test-d.ts +46 -0
- package/src/zod/_test/RpcSchema.test.ts +70 -0
- package/src/zod/_test/Signature.test.ts +10 -0
- package/src/zod/_test/StateOverrides.test.ts +26 -0
- package/src/zod/_test/Transaction.test.ts +30 -0
- package/src/zod/_test/TransactionEnvelope.test.ts +34 -0
- package/src/zod/_test/TransactionReceipt.test.ts +45 -1
- package/src/zod/_test/TransactionRequest.test.ts +31 -0
- package/src/zod/_test/TxEnvelope.test.ts +32 -0
- package/src/zod/_test/TypedData.test-d.ts +20 -0
- package/src/zod/_test/TypedData.test.ts +87 -0
- package/src/zod/_test/Uint.test.ts +15 -0
- package/src/zod/_test/Withdrawal.test.ts +35 -0
- package/src/zod/_test/z.test-d.ts +6 -0
- package/src/zod/_test/z.test.ts +17 -0
- package/src/zod/internal/Integer.ts +58 -0
- package/src/zod/internal/TransactionEnvelope.ts +33 -17
- package/src/zod/internal/rpcSchemas/Eth.ts +20 -6
- package/src/zod/tempo/AuthorizationTempo.ts +25 -0
- package/src/zod/tempo/KeyAuthorization.ts +58 -8
- package/src/zod/tempo/SignatureEnvelope.ts +0 -2
- package/src/zod/tempo/Transaction.ts +148 -33
- package/src/zod/tempo/TransactionReceipt.ts +36 -21
- package/src/zod/tempo/TransactionRequest.ts +154 -28
- package/src/zod/tempo/TxEnvelopeTempo.ts +1 -1
- package/src/zod/tempo/_test/AuthorizationTempo.test.ts +24 -0
- package/src/zod/tempo/_test/KeyAuthorization.test.ts +85 -0
- package/src/zod/tempo/_test/SignatureEnvelope.test.ts +0 -2
- package/src/zod/tempo/_test/Transaction.test.ts +178 -0
- package/src/zod/tempo/_test/TransactionReceipt.test.ts +26 -0
- package/src/zod/tempo/_test/TransactionRequest.test.ts +73 -0
- package/src/zod/tempo/z.ts +0 -1
- package/src/zod/z.ts +16 -2
- package/dist/tempo/TokenId.d.ts +0 -87
- package/dist/tempo/TokenId.d.ts.map +0 -1
- package/dist/tempo/TokenId.js +0 -123
- package/dist/tempo/TokenId.js.map +0 -1
- package/dist/zod/tempo/TokenId.d.ts +0 -6
- package/dist/zod/tempo/TokenId.d.ts.map +0 -1
- package/dist/zod/tempo/TokenId.js +0 -14
- package/dist/zod/tempo/TokenId.js.map +0 -1
- package/src/tempo/TokenId.bench.ts +0 -36
- package/src/tempo/TokenId.test.ts +0 -79
- package/src/tempo/TokenId.ts +0 -141
- package/src/zod/tempo/TokenId.ts +0 -15
- package/src/zod/tempo/_test/TokenId.test-d.ts +0 -17
- package/src/zod/tempo/_test/TokenId.test.ts +0 -21
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
import type { AbiItemType, AbiType, SolidityArray, SolidityBytes, SolidityString, SolidityTuple } from 'abitype';
|
|
2
|
+
import type { Modifier } from '../types/signatures.js';
|
|
3
|
+
import type { StructLookup } from '../types/structs.js';
|
|
4
|
+
export declare function parseSignature(signature: string, structs?: StructLookup): {
|
|
5
|
+
name: string;
|
|
6
|
+
type: string;
|
|
7
|
+
inputs: (({
|
|
8
|
+
type: string;
|
|
9
|
+
name?: string | undefined;
|
|
10
|
+
internalType?: import("abitype").AbiInternalType | undefined;
|
|
11
|
+
} & {
|
|
12
|
+
indexed?: boolean;
|
|
13
|
+
}) | {
|
|
14
|
+
indexed: boolean;
|
|
15
|
+
name: string;
|
|
16
|
+
type: string;
|
|
17
|
+
} | {
|
|
18
|
+
indexed?: undefined;
|
|
19
|
+
name: string;
|
|
20
|
+
type: string;
|
|
21
|
+
} | {
|
|
22
|
+
indexed: boolean;
|
|
23
|
+
name?: undefined;
|
|
24
|
+
type: string;
|
|
25
|
+
} | {
|
|
26
|
+
indexed?: undefined;
|
|
27
|
+
name?: undefined;
|
|
28
|
+
type: string;
|
|
29
|
+
})[];
|
|
30
|
+
} | {
|
|
31
|
+
type: string;
|
|
32
|
+
stateMutability: string;
|
|
33
|
+
};
|
|
34
|
+
export declare function parseFunctionSignature(signature: string, structs?: StructLookup): {
|
|
35
|
+
name: string;
|
|
36
|
+
type: string;
|
|
37
|
+
stateMutability: import("abitype").AbiStateMutability;
|
|
38
|
+
inputs: (({
|
|
39
|
+
type: string;
|
|
40
|
+
name?: string | undefined;
|
|
41
|
+
internalType?: import("abitype").AbiInternalType | undefined;
|
|
42
|
+
} & {
|
|
43
|
+
indexed?: boolean;
|
|
44
|
+
}) | {
|
|
45
|
+
indexed: boolean;
|
|
46
|
+
name: string;
|
|
47
|
+
type: string;
|
|
48
|
+
} | {
|
|
49
|
+
indexed?: undefined;
|
|
50
|
+
name: string;
|
|
51
|
+
type: string;
|
|
52
|
+
} | {
|
|
53
|
+
indexed: boolean;
|
|
54
|
+
name?: undefined;
|
|
55
|
+
type: string;
|
|
56
|
+
} | {
|
|
57
|
+
indexed?: undefined;
|
|
58
|
+
name?: undefined;
|
|
59
|
+
type: string;
|
|
60
|
+
})[];
|
|
61
|
+
outputs: (({
|
|
62
|
+
type: string;
|
|
63
|
+
name?: string | undefined;
|
|
64
|
+
internalType?: import("abitype").AbiInternalType | undefined;
|
|
65
|
+
} & {
|
|
66
|
+
indexed?: boolean;
|
|
67
|
+
}) | {
|
|
68
|
+
indexed: boolean;
|
|
69
|
+
name: string;
|
|
70
|
+
type: string;
|
|
71
|
+
} | {
|
|
72
|
+
indexed?: undefined;
|
|
73
|
+
name: string;
|
|
74
|
+
type: string;
|
|
75
|
+
} | {
|
|
76
|
+
indexed: boolean;
|
|
77
|
+
name?: undefined;
|
|
78
|
+
type: string;
|
|
79
|
+
} | {
|
|
80
|
+
indexed?: undefined;
|
|
81
|
+
name?: undefined;
|
|
82
|
+
type: string;
|
|
83
|
+
})[];
|
|
84
|
+
};
|
|
85
|
+
export declare function parseEventSignature(signature: string, structs?: StructLookup): {
|
|
86
|
+
name: string;
|
|
87
|
+
type: string;
|
|
88
|
+
inputs: (({
|
|
89
|
+
type: string;
|
|
90
|
+
name?: string | undefined;
|
|
91
|
+
internalType?: import("abitype").AbiInternalType | undefined;
|
|
92
|
+
} & {
|
|
93
|
+
indexed?: boolean;
|
|
94
|
+
}) | {
|
|
95
|
+
indexed: boolean;
|
|
96
|
+
name: string;
|
|
97
|
+
type: string;
|
|
98
|
+
} | {
|
|
99
|
+
indexed?: undefined;
|
|
100
|
+
name: string;
|
|
101
|
+
type: string;
|
|
102
|
+
} | {
|
|
103
|
+
indexed: boolean;
|
|
104
|
+
name?: undefined;
|
|
105
|
+
type: string;
|
|
106
|
+
} | {
|
|
107
|
+
indexed?: undefined;
|
|
108
|
+
name?: undefined;
|
|
109
|
+
type: string;
|
|
110
|
+
})[];
|
|
111
|
+
};
|
|
112
|
+
export declare function parseErrorSignature(signature: string, structs?: StructLookup): {
|
|
113
|
+
name: string;
|
|
114
|
+
type: string;
|
|
115
|
+
inputs: (({
|
|
116
|
+
type: string;
|
|
117
|
+
name?: string | undefined;
|
|
118
|
+
internalType?: import("abitype").AbiInternalType | undefined;
|
|
119
|
+
} & {
|
|
120
|
+
indexed?: boolean;
|
|
121
|
+
}) | {
|
|
122
|
+
indexed: boolean;
|
|
123
|
+
name: string;
|
|
124
|
+
type: string;
|
|
125
|
+
} | {
|
|
126
|
+
indexed?: undefined;
|
|
127
|
+
name: string;
|
|
128
|
+
type: string;
|
|
129
|
+
} | {
|
|
130
|
+
indexed: boolean;
|
|
131
|
+
name?: undefined;
|
|
132
|
+
type: string;
|
|
133
|
+
} | {
|
|
134
|
+
indexed?: undefined;
|
|
135
|
+
name?: undefined;
|
|
136
|
+
type: string;
|
|
137
|
+
})[];
|
|
138
|
+
};
|
|
139
|
+
export declare function parseConstructorSignature(signature: string, structs?: StructLookup): {
|
|
140
|
+
type: string;
|
|
141
|
+
stateMutability: string;
|
|
142
|
+
inputs: (({
|
|
143
|
+
type: string;
|
|
144
|
+
name?: string | undefined;
|
|
145
|
+
internalType?: import("abitype").AbiInternalType | undefined;
|
|
146
|
+
} & {
|
|
147
|
+
indexed?: boolean;
|
|
148
|
+
}) | {
|
|
149
|
+
indexed: boolean;
|
|
150
|
+
name: string;
|
|
151
|
+
type: string;
|
|
152
|
+
} | {
|
|
153
|
+
indexed?: undefined;
|
|
154
|
+
name: string;
|
|
155
|
+
type: string;
|
|
156
|
+
} | {
|
|
157
|
+
indexed: boolean;
|
|
158
|
+
name?: undefined;
|
|
159
|
+
type: string;
|
|
160
|
+
} | {
|
|
161
|
+
indexed?: undefined;
|
|
162
|
+
name?: undefined;
|
|
163
|
+
type: string;
|
|
164
|
+
})[];
|
|
165
|
+
};
|
|
166
|
+
export declare function parseFallbackSignature(signature: string): {
|
|
167
|
+
type: string;
|
|
168
|
+
stateMutability: string;
|
|
169
|
+
};
|
|
170
|
+
type ParseOptions = {
|
|
171
|
+
modifiers?: Set<Modifier>;
|
|
172
|
+
structs?: StructLookup;
|
|
173
|
+
type?: AbiItemType | 'struct';
|
|
174
|
+
};
|
|
175
|
+
export declare function parseAbiParameter(param: string, options?: ParseOptions): ({
|
|
176
|
+
type: string;
|
|
177
|
+
name?: string | undefined;
|
|
178
|
+
internalType?: import("abitype").AbiInternalType | undefined;
|
|
179
|
+
} & {
|
|
180
|
+
indexed?: boolean;
|
|
181
|
+
}) | {
|
|
182
|
+
indexed: boolean;
|
|
183
|
+
name: string;
|
|
184
|
+
type: string;
|
|
185
|
+
} | {
|
|
186
|
+
indexed?: undefined;
|
|
187
|
+
name: string;
|
|
188
|
+
type: string;
|
|
189
|
+
} | {
|
|
190
|
+
indexed: boolean;
|
|
191
|
+
name?: undefined;
|
|
192
|
+
type: string;
|
|
193
|
+
} | {
|
|
194
|
+
indexed?: undefined;
|
|
195
|
+
name?: undefined;
|
|
196
|
+
type: string;
|
|
197
|
+
};
|
|
198
|
+
export declare function splitParameters(params: string, result?: string[], current?: string, depth?: number): readonly string[];
|
|
199
|
+
export declare function isSolidityType(type: string): type is Exclude<AbiType, SolidityTuple | SolidityArray>;
|
|
200
|
+
/** @internal */
|
|
201
|
+
export declare function isSolidityKeyword(name: string): boolean;
|
|
202
|
+
/** @internal */
|
|
203
|
+
export declare function isValidDataLocation(type: string, isArray: boolean): type is Exclude<AbiType, SolidityString | Extract<SolidityBytes, 'bytes'> | SolidityArray>;
|
|
204
|
+
export {};
|
|
205
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/core/internal/human-readable/runtime/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,OAAO,EACP,aAAa,EACb,aAAa,EACb,cAAc,EACd,aAAa,EACd,MAAM,SAAS,CAAA;AAWhB,OAAO,KAAK,EAAoB,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAkBvD,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsB3E;AAED,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,YAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwC3B;AAED,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,YAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;EAiB3B;AAED,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,YAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;EAa3B;AAED,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,YAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;EAkB3B;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM;;;EAQvD;AAQD,KAAK,YAAY,GAAG;IAClB,SAAS,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAA;IACzB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,IAAI,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAA;CAC9B,CAAA;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;;;;;;;;;;;;;;;;;;;;;;EAkFtE;AAGD,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,MAAM,EAAO,EACrB,OAAO,SAAK,EACZ,KAAK,SAAI,GACR,SAAS,MAAM,EAAE,CAyBnB;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,GACX,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa,CAAC,CASzD;AAKD,gBAAgB;AAChB,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,WAW7C;AAED,gBAAgB;AAChB,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,GACf,IAAI,IAAI,OAAO,CAChB,OAAO,EACP,cAAc,GAAG,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,aAAa,CACjE,CAEA"}
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
import { bytesRegex, execTyped, integerRegex, isTupleRegex } from '../regex.js';
|
|
2
|
+
import { UnknownSolidityTypeError } from '../errors.js';
|
|
3
|
+
import { InvalidFunctionModifierError, InvalidModifierError, InvalidParameterError, SolidityProtectedKeywordError, } from '../errors.js';
|
|
4
|
+
import { InvalidSignatureError, UnknownSignatureError } from '../errors.js';
|
|
5
|
+
import { InvalidParenthesisError } from '../errors.js';
|
|
6
|
+
import { getParameterCacheKey, parameterCache } from './cache.js';
|
|
7
|
+
import { eventModifiers, execConstructorSignature, execErrorSignature, execEventSignature, execFallbackSignature, execFunctionSignature, functionModifiers, isConstructorSignature, isErrorSignature, isEventSignature, isFallbackSignature, isFunctionSignature, isReceiveSignature, } from './signatures.js';
|
|
8
|
+
export function parseSignature(signature, structs = {}) {
|
|
9
|
+
if (isFunctionSignature(signature))
|
|
10
|
+
return parseFunctionSignature(signature, structs);
|
|
11
|
+
if (isEventSignature(signature))
|
|
12
|
+
return parseEventSignature(signature, structs);
|
|
13
|
+
if (isErrorSignature(signature))
|
|
14
|
+
return parseErrorSignature(signature, structs);
|
|
15
|
+
if (isConstructorSignature(signature))
|
|
16
|
+
return parseConstructorSignature(signature, structs);
|
|
17
|
+
if (isFallbackSignature(signature))
|
|
18
|
+
return parseFallbackSignature(signature);
|
|
19
|
+
if (isReceiveSignature(signature))
|
|
20
|
+
return {
|
|
21
|
+
type: 'receive',
|
|
22
|
+
stateMutability: 'payable',
|
|
23
|
+
};
|
|
24
|
+
throw new UnknownSignatureError({ signature });
|
|
25
|
+
}
|
|
26
|
+
export function parseFunctionSignature(signature, structs = {}) {
|
|
27
|
+
const match = execFunctionSignature(signature);
|
|
28
|
+
if (!match)
|
|
29
|
+
throw new InvalidSignatureError({ signature, type: 'function' });
|
|
30
|
+
const inputParams = splitParameters(match.parameters);
|
|
31
|
+
const inputs = [];
|
|
32
|
+
const inputLength = inputParams.length;
|
|
33
|
+
for (let i = 0; i < inputLength; i++) {
|
|
34
|
+
inputs.push(parseAbiParameter(inputParams[i], {
|
|
35
|
+
modifiers: functionModifiers,
|
|
36
|
+
structs,
|
|
37
|
+
type: 'function',
|
|
38
|
+
}));
|
|
39
|
+
}
|
|
40
|
+
const outputs = [];
|
|
41
|
+
if (match.returns) {
|
|
42
|
+
const outputParams = splitParameters(match.returns);
|
|
43
|
+
const outputLength = outputParams.length;
|
|
44
|
+
for (let i = 0; i < outputLength; i++) {
|
|
45
|
+
outputs.push(parseAbiParameter(outputParams[i], {
|
|
46
|
+
modifiers: functionModifiers,
|
|
47
|
+
structs,
|
|
48
|
+
type: 'function',
|
|
49
|
+
}));
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return {
|
|
53
|
+
name: match.name,
|
|
54
|
+
type: 'function',
|
|
55
|
+
stateMutability: match.stateMutability ?? 'nonpayable',
|
|
56
|
+
inputs,
|
|
57
|
+
outputs,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
export function parseEventSignature(signature, structs = {}) {
|
|
61
|
+
const match = execEventSignature(signature);
|
|
62
|
+
if (!match)
|
|
63
|
+
throw new InvalidSignatureError({ signature, type: 'event' });
|
|
64
|
+
const params = splitParameters(match.parameters);
|
|
65
|
+
const abiParameters = [];
|
|
66
|
+
const length = params.length;
|
|
67
|
+
for (let i = 0; i < length; i++)
|
|
68
|
+
abiParameters.push(parseAbiParameter(params[i], {
|
|
69
|
+
modifiers: eventModifiers,
|
|
70
|
+
structs,
|
|
71
|
+
type: 'event',
|
|
72
|
+
}));
|
|
73
|
+
return { name: match.name, type: 'event', inputs: abiParameters };
|
|
74
|
+
}
|
|
75
|
+
export function parseErrorSignature(signature, structs = {}) {
|
|
76
|
+
const match = execErrorSignature(signature);
|
|
77
|
+
if (!match)
|
|
78
|
+
throw new InvalidSignatureError({ signature, type: 'error' });
|
|
79
|
+
const params = splitParameters(match.parameters);
|
|
80
|
+
const abiParameters = [];
|
|
81
|
+
const length = params.length;
|
|
82
|
+
for (let i = 0; i < length; i++)
|
|
83
|
+
abiParameters.push(parseAbiParameter(params[i], { structs, type: 'error' }));
|
|
84
|
+
return { name: match.name, type: 'error', inputs: abiParameters };
|
|
85
|
+
}
|
|
86
|
+
export function parseConstructorSignature(signature, structs = {}) {
|
|
87
|
+
const match = execConstructorSignature(signature);
|
|
88
|
+
if (!match)
|
|
89
|
+
throw new InvalidSignatureError({ signature, type: 'constructor' });
|
|
90
|
+
const params = splitParameters(match.parameters);
|
|
91
|
+
const abiParameters = [];
|
|
92
|
+
const length = params.length;
|
|
93
|
+
for (let i = 0; i < length; i++)
|
|
94
|
+
abiParameters.push(parseAbiParameter(params[i], { structs, type: 'constructor' }));
|
|
95
|
+
return {
|
|
96
|
+
type: 'constructor',
|
|
97
|
+
stateMutability: match.stateMutability ?? 'nonpayable',
|
|
98
|
+
inputs: abiParameters,
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
export function parseFallbackSignature(signature) {
|
|
102
|
+
const match = execFallbackSignature(signature);
|
|
103
|
+
if (!match)
|
|
104
|
+
throw new InvalidSignatureError({ signature, type: 'fallback' });
|
|
105
|
+
return {
|
|
106
|
+
type: 'fallback',
|
|
107
|
+
stateMutability: match.stateMutability ?? 'nonpayable',
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
const abiParameterWithoutTupleRegex = /^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*(?:\spayable)?)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/;
|
|
111
|
+
const abiParameterWithTupleRegex = /^\((?<type>.+?)\)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/;
|
|
112
|
+
const dynamicIntegerRegex = /^u?int$/;
|
|
113
|
+
export function parseAbiParameter(param, options) {
|
|
114
|
+
// optional namespace cache by `type`
|
|
115
|
+
const parameterCacheKey = getParameterCacheKey(param, options?.type, options?.structs);
|
|
116
|
+
if (parameterCache.has(parameterCacheKey))
|
|
117
|
+
return parameterCache.get(parameterCacheKey);
|
|
118
|
+
const isTuple = isTupleRegex.test(param);
|
|
119
|
+
const match = execTyped(isTuple ? abiParameterWithTupleRegex : abiParameterWithoutTupleRegex, param);
|
|
120
|
+
if (!match)
|
|
121
|
+
throw new InvalidParameterError({ param });
|
|
122
|
+
if (match.name && isSolidityKeyword(match.name))
|
|
123
|
+
throw new SolidityProtectedKeywordError({ param, name: match.name });
|
|
124
|
+
const name = match.name ? { name: match.name } : {};
|
|
125
|
+
const indexed = match.modifier === 'indexed' ? { indexed: true } : {};
|
|
126
|
+
const structs = options?.structs ?? {};
|
|
127
|
+
let type;
|
|
128
|
+
let components = {};
|
|
129
|
+
if (isTuple) {
|
|
130
|
+
type = 'tuple';
|
|
131
|
+
const params = splitParameters(match.type);
|
|
132
|
+
const components_ = [];
|
|
133
|
+
const length = params.length;
|
|
134
|
+
for (let i = 0; i < length; i++) {
|
|
135
|
+
// remove `modifiers` from `options` to prevent from being added to tuple components
|
|
136
|
+
components_.push(parseAbiParameter(params[i], { structs }));
|
|
137
|
+
}
|
|
138
|
+
components = { components: components_ };
|
|
139
|
+
}
|
|
140
|
+
else if (match.type in structs) {
|
|
141
|
+
type = 'tuple';
|
|
142
|
+
components = { components: structs[match.type] };
|
|
143
|
+
}
|
|
144
|
+
else if (dynamicIntegerRegex.test(match.type)) {
|
|
145
|
+
type = `${match.type}256`;
|
|
146
|
+
}
|
|
147
|
+
else if (match.type === 'address payable') {
|
|
148
|
+
type = 'address';
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
type = match.type;
|
|
152
|
+
if (!(options?.type === 'struct') && !isSolidityType(type))
|
|
153
|
+
throw new UnknownSolidityTypeError({ type });
|
|
154
|
+
}
|
|
155
|
+
if (match.modifier) {
|
|
156
|
+
// Check if modifier exists, but is not allowed (e.g. `indexed` in `functionModifiers`)
|
|
157
|
+
if (!options?.modifiers?.has?.(match.modifier))
|
|
158
|
+
throw new InvalidModifierError({
|
|
159
|
+
param,
|
|
160
|
+
type: options?.type,
|
|
161
|
+
modifier: match.modifier,
|
|
162
|
+
});
|
|
163
|
+
// Check if resolved `type` is valid if there is a function modifier
|
|
164
|
+
if (functionModifiers.has(match.modifier) &&
|
|
165
|
+
!isValidDataLocation(type, !!match.array))
|
|
166
|
+
throw new InvalidFunctionModifierError({
|
|
167
|
+
param,
|
|
168
|
+
type: options?.type,
|
|
169
|
+
modifier: match.modifier,
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
const abiParameter = {
|
|
173
|
+
type: `${type}${match.array ?? ''}`,
|
|
174
|
+
...name,
|
|
175
|
+
...indexed,
|
|
176
|
+
...components,
|
|
177
|
+
};
|
|
178
|
+
parameterCache.set(parameterCacheKey, abiParameter);
|
|
179
|
+
return abiParameter;
|
|
180
|
+
}
|
|
181
|
+
// s/o latika for this
|
|
182
|
+
export function splitParameters(params, result = [], current = '', depth = 0) {
|
|
183
|
+
const length = params.trim().length;
|
|
184
|
+
// biome-ignore lint/correctness/noUnreachable: recursive
|
|
185
|
+
for (let i = 0; i < length; i++) {
|
|
186
|
+
const char = params[i];
|
|
187
|
+
const tail = params.slice(i + 1);
|
|
188
|
+
switch (char) {
|
|
189
|
+
case ',':
|
|
190
|
+
return depth === 0
|
|
191
|
+
? splitParameters(tail, [...result, current.trim()])
|
|
192
|
+
: splitParameters(tail, result, `${current}${char}`, depth);
|
|
193
|
+
case '(':
|
|
194
|
+
return splitParameters(tail, result, `${current}${char}`, depth + 1);
|
|
195
|
+
case ')':
|
|
196
|
+
return splitParameters(tail, result, `${current}${char}`, depth - 1);
|
|
197
|
+
default:
|
|
198
|
+
return splitParameters(tail, result, `${current}${char}`, depth);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
if (current === '')
|
|
202
|
+
return result;
|
|
203
|
+
if (depth !== 0)
|
|
204
|
+
throw new InvalidParenthesisError({ current, depth });
|
|
205
|
+
result.push(current.trim());
|
|
206
|
+
return result;
|
|
207
|
+
}
|
|
208
|
+
export function isSolidityType(type) {
|
|
209
|
+
return (type === 'address' ||
|
|
210
|
+
type === 'bool' ||
|
|
211
|
+
type === 'function' ||
|
|
212
|
+
type === 'string' ||
|
|
213
|
+
bytesRegex.test(type) ||
|
|
214
|
+
integerRegex.test(type));
|
|
215
|
+
}
|
|
216
|
+
const protectedKeywordsRegex = /^(?:after|alias|anonymous|apply|auto|byte|calldata|case|catch|constant|copyof|default|defined|error|event|external|false|final|function|immutable|implements|in|indexed|inline|internal|let|mapping|match|memory|mutable|null|of|override|partial|private|promise|public|pure|reference|relocatable|return|returns|sizeof|static|storage|struct|super|supports|switch|this|true|try|typedef|typeof|var|view|virtual)$/;
|
|
217
|
+
/** @internal */
|
|
218
|
+
export function isSolidityKeyword(name) {
|
|
219
|
+
return (name === 'address' ||
|
|
220
|
+
name === 'bool' ||
|
|
221
|
+
name === 'function' ||
|
|
222
|
+
name === 'string' ||
|
|
223
|
+
name === 'tuple' ||
|
|
224
|
+
bytesRegex.test(name) ||
|
|
225
|
+
integerRegex.test(name) ||
|
|
226
|
+
protectedKeywordsRegex.test(name));
|
|
227
|
+
}
|
|
228
|
+
/** @internal */
|
|
229
|
+
export function isValidDataLocation(type, isArray) {
|
|
230
|
+
return isArray || type === 'bytes' || type === 'string' || type === 'tuple';
|
|
231
|
+
}
|
|
232
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/core/internal/human-readable/runtime/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { AbiStateMutability } from 'abitype';
|
|
2
|
+
import type { Error } from '../types.js';
|
|
3
|
+
export type ErrorSignature<name extends string = string, parameters extends string = string> = `error ${name}(${parameters})`;
|
|
4
|
+
export type IsErrorSignature<signature extends string> = signature extends ErrorSignature<infer name> ? IsName<name> : false;
|
|
5
|
+
export type EventSignature<name extends string = string, parameters extends string = string> = `event ${name}(${parameters})`;
|
|
6
|
+
export type IsEventSignature<signature extends string> = signature extends EventSignature<infer name> ? IsName<name> : false;
|
|
7
|
+
export type FunctionSignature<name extends string = string, tail extends string = string> = `function ${name}(${tail}`;
|
|
8
|
+
export type IsFunctionSignature<signature> = signature extends FunctionSignature<infer name> ? IsName<name> extends true ? signature extends ValidFunctionSignatures ? true : signature extends `function ${string}(${infer parameters})` ? parameters extends InvalidFunctionParameters ? false : true : false : false : false;
|
|
9
|
+
export type Scope = 'public' | 'external';
|
|
10
|
+
type Returns = `returns (${string})` | `returns(${string})`;
|
|
11
|
+
type ValidFunctionSignatures = `function ${string}()` | `function ${string}() ${Returns}` | `function ${string}() ${AbiStateMutability}` | `function ${string}() ${Scope}` | `function ${string}() ${AbiStateMutability} ${Returns}` | `function ${string}() ${Scope} ${Returns}` | `function ${string}() ${Scope} ${AbiStateMutability}` | `function ${string}() ${Scope} ${AbiStateMutability} ${Returns}` | `function ${string}(${string}) ${Returns}` | `function ${string}(${string}) ${AbiStateMutability}` | `function ${string}(${string}) ${Scope}` | `function ${string}(${string}) ${AbiStateMutability} ${Returns}` | `function ${string}(${string}) ${Scope} ${Returns}` | `function ${string}(${string}) ${Scope} ${AbiStateMutability}` | `function ${string}(${string}) ${Scope} ${AbiStateMutability} ${Returns}`;
|
|
12
|
+
export type StructSignature<name extends string = string, properties extends string = string> = `struct ${name} {${properties}}`;
|
|
13
|
+
export type IsStructSignature<signature extends string> = signature extends StructSignature<infer name> ? IsName<name> : false;
|
|
14
|
+
type ConstructorSignature<tail extends string = string> = `constructor(${tail}`;
|
|
15
|
+
export type IsConstructorSignature<signature> = signature extends ConstructorSignature ? signature extends ValidConstructorSignatures ? true : false : false;
|
|
16
|
+
type ValidConstructorSignatures = `constructor(${string})` | `constructor(${string}) payable`;
|
|
17
|
+
export type FallbackSignature<abiStateMutability extends '' | ' payable' = '' | ' payable'> = `fallback() external${abiStateMutability}`;
|
|
18
|
+
export type IsFallbackSignature<signature extends string> = signature extends FallbackSignature<''> | FallbackSignature<' payable'> ? true : false;
|
|
19
|
+
export type ReceiveSignature = 'receive() external payable';
|
|
20
|
+
export type IsSignature<type extends string> = (IsErrorSignature<type> extends true ? true : never) | (IsEventSignature<type> extends true ? true : never) | (IsFunctionSignature<type> extends true ? true : never) | (IsStructSignature<type> extends true ? true : never) | (IsConstructorSignature<type> extends true ? true : never) | (IsFallbackSignature<type> extends true ? true : never) | (type extends ReceiveSignature ? true : never) extends infer condition ? [condition] extends [never] ? false : true : false;
|
|
21
|
+
export type Signature<string1 extends string, string2 extends string | unknown = unknown> = IsSignature<string1> extends true ? string1 : string extends string1 ? string1 : Error<`Signature "${string1}" is invalid${string2 extends string ? ` at position ${string2}` : ''}.`>;
|
|
22
|
+
export type Signatures<signatures extends readonly string[]> = {
|
|
23
|
+
[key in keyof signatures]: Signature<signatures[key], key>;
|
|
24
|
+
};
|
|
25
|
+
export type Modifier = 'calldata' | 'indexed' | 'memory' | 'payable' | 'storage';
|
|
26
|
+
export type FunctionModifier = Extract<Modifier, 'calldata' | 'memory' | 'payable' | 'storage'>;
|
|
27
|
+
export type EventModifier = Extract<Modifier, 'indexed'>;
|
|
28
|
+
export type IsName<name extends string> = name extends '' ? false : ValidateName<name> extends name ? true : false;
|
|
29
|
+
export type AssertName<name extends string> = ValidateName<name> extends infer invalidName extends string[] ? `[${invalidName[number]}]` : name;
|
|
30
|
+
export type ValidateName<name extends string, checkCharacters extends boolean = false> = name extends `${string}${' '}${string}` ? Error<`Identifier "${name}" cannot contain whitespace.`> : IsSolidityKeyword<name> extends true ? Error<`"${name}" is a protected Solidity keyword.`> : name extends `${number}` ? Error<`Identifier "${name}" cannot be a number string.`> : name extends `${number}${string}` ? Error<`Identifier "${name}" cannot start with a number.`> : checkCharacters extends true ? IsValidCharacter<name> extends true ? name : Error<`"${name}" contains invalid character.`> : name;
|
|
31
|
+
export type IsSolidityKeyword<type extends string> = type extends SolidityKeywords ? true : false;
|
|
32
|
+
export type SolidityKeywords = 'after' | 'alias' | 'anonymous' | 'apply' | 'auto' | 'byte' | 'calldata' | 'case' | 'catch' | 'constant' | 'copyof' | 'default' | 'defined' | 'error' | 'event' | 'external' | 'false' | 'final' | 'function' | 'immutable' | 'implements' | 'in' | 'indexed' | 'inline' | 'internal' | 'let' | 'mapping' | 'match' | 'memory' | 'mutable' | 'null' | 'of' | 'override' | 'partial' | 'private' | 'promise' | 'public' | 'pure' | 'reference' | 'relocatable' | 'return' | 'returns' | 'sizeof' | 'static' | 'storage' | 'struct' | 'super' | 'supports' | 'switch' | 'this' | 'true' | 'try' | 'typedef' | 'typeof' | 'var' | 'view' | 'virtual' | `address${`[${string}]` | ''}` | `bool${`[${string}]` | ''}` | `string${`[${string}]` | ''}` | `tuple${`[${string}]` | ''}` | `bytes${number | ''}${`[${string}]` | ''}` | `${'u' | ''}int${number | ''}${`[${string}]` | ''}`;
|
|
33
|
+
export type IsValidCharacter<character extends string> = character extends `${ValidCharacters}${infer tail}` ? tail extends '' ? true : IsValidCharacter<tail> : false;
|
|
34
|
+
type ValidCharacters = 'A' | 'B' | 'C' | 'D' | 'E' | 'F' | 'G' | 'H' | 'I' | 'J' | 'K' | 'L' | 'M' | 'N' | 'O' | 'P' | 'Q' | 'R' | 'S' | 'T' | 'U' | 'V' | 'W' | 'X' | 'Y' | 'Z' | 'a' | 'b' | 'c' | 'd' | 'e' | 'f' | 'g' | 'h' | 'i' | 'j' | 'k' | 'l' | 'm' | 'n' | 'o' | 'p' | 'q' | 'r' | 's' | 't' | 'u' | 'v' | 'w' | 'x' | 'y' | 'z' | '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '_' | '$';
|
|
35
|
+
type InvalidFunctionParameters = `${string}${MangledReturns} (${string}` | `${string}) ${MangledReturns}${string}` | `${string})${string}${MangledReturns}${string}(${string}`;
|
|
36
|
+
type MangledReturns = `r${string}eturns` | `re${string}turns` | `ret${string}urns` | `retu${string}rns` | `retur${string}ns` | `return${string}s` | `r${string}e${string}turns` | `r${string}et${string}urns` | `r${string}etu${string}rns` | `r${string}etur${string}ns` | `r${string}eturn${string}s` | `re${string}t${string}urns` | `re${string}tu${string}rns` | `re${string}tur${string}ns` | `re${string}turn${string}s` | `ret${string}u${string}rns` | `ret${string}ur${string}ns` | `ret${string}urn${string}s` | `retu${string}r${string}ns` | `retu${string}rn${string}s` | `retur${string}n${string}s` | `r${string}e${string}t${string}urns` | `r${string}e${string}tu${string}rns` | `r${string}e${string}tur${string}ns` | `r${string}e${string}turn${string}s` | `re${string}t${string}u${string}rns` | `re${string}t${string}ur${string}ns` | `re${string}t${string}urn${string}s` | `ret${string}u${string}r${string}ns` | `ret${string}u${string}rn${string}s` | `retu${string}r${string}n${string}s` | `r${string}e${string}t${string}u${string}rns` | `r${string}e${string}t${string}ur${string}ns` | `r${string}e${string}t${string}urn${string}s` | `re${string}t${string}u${string}r${string}ns` | `re${string}t${string}u${string}rn${string}s` | `ret${string}u${string}r${string}n${string}s` | `r${string}e${string}t${string}u${string}r${string}ns` | `r${string}e${string}t${string}u${string}rn${string}s` | `re${string}t${string}u${string}r${string}n${string}s` | `r${string}e${string}t${string}u${string}r${string}n${string}s`;
|
|
37
|
+
export {};
|
|
38
|
+
//# sourceMappingURL=signatures.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signatures.d.ts","sourceRoot":"","sources":["../../../../../src/core/internal/human-readable/types/signatures.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAExC,MAAM,MAAM,cAAc,CACxB,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,UAAU,SAAS,MAAM,GAAG,MAAM,IAChC,SAAS,IAAI,IAAI,UAAU,GAAG,CAAA;AAClC,MAAM,MAAM,gBAAgB,CAAC,SAAS,SAAS,MAAM,IACnD,SAAS,SAAS,cAAc,CAAC,MAAM,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;AACrE,MAAM,MAAM,cAAc,CACxB,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,UAAU,SAAS,MAAM,GAAG,MAAM,IAChC,SAAS,IAAI,IAAI,UAAU,GAAG,CAAA;AAClC,MAAM,MAAM,gBAAgB,CAAC,SAAS,SAAS,MAAM,IACnD,SAAS,SAAS,cAAc,CAAC,MAAM,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;AAErE,MAAM,MAAM,iBAAiB,CAC3B,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,IAAI,SAAS,MAAM,GAAG,MAAM,IAC1B,YAAY,IAAI,IAAI,IAAI,EAAE,CAAA;AAC9B,MAAM,MAAM,mBAAmB,CAAC,SAAS,IACvC,SAAS,SAAS,iBAAiB,CAAC,MAAM,IAAI,CAAC,GAC3C,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,GACvB,SAAS,SAAS,uBAAuB,GACvC,IAAI,GAEJ,SAAS,SAAS,YAAY,MAAM,IAAI,MAAM,UAAU,GAAG,GACzD,UAAU,SAAS,yBAAyB,GAC1C,KAAK,GACL,IAAI,GACN,KAAK,GACT,KAAK,GACP,KAAK,CAAA;AACX,MAAM,MAAM,KAAK,GAAG,QAAQ,GAAG,UAAU,CAAA;AACzC,KAAK,OAAO,GAAG,YAAY,MAAM,GAAG,GAAG,WAAW,MAAM,GAAG,CAAA;AAE3D,KAAK,uBAAuB,GACxB,YAAY,MAAM,IAAI,GAEtB,YAAY,MAAM,MAAM,OAAO,EAAE,GACjC,YAAY,MAAM,MAAM,kBAAkB,EAAE,GAC5C,YAAY,MAAM,MAAM,KAAK,EAAE,GAE/B,YAAY,MAAM,MAAM,kBAAkB,IAAI,OAAO,EAAE,GACvD,YAAY,MAAM,MAAM,KAAK,IAAI,OAAO,EAAE,GAC1C,YAAY,MAAM,MAAM,KAAK,IAAI,kBAAkB,EAAE,GACrD,YAAY,MAAM,MAAM,KAAK,IAAI,kBAAkB,IAAI,OAAO,EAAE,GAEhE,YAAY,MAAM,IAAI,MAAM,KAAK,OAAO,EAAE,GAC1C,YAAY,MAAM,IAAI,MAAM,KAAK,kBAAkB,EAAE,GACrD,YAAY,MAAM,IAAI,MAAM,KAAK,KAAK,EAAE,GACxC,YAAY,MAAM,IAAI,MAAM,KAAK,kBAAkB,IAAI,OAAO,EAAE,GAChE,YAAY,MAAM,IAAI,MAAM,KAAK,KAAK,IAAI,OAAO,EAAE,GACnD,YAAY,MAAM,IAAI,MAAM,KAAK,KAAK,IAAI,kBAAkB,EAAE,GAC9D,YAAY,MAAM,IAAI,MAAM,KAAK,KAAK,IAAI,kBAAkB,IAAI,OAAO,EAAE,CAAA;AAE7E,MAAM,MAAM,eAAe,CACzB,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,UAAU,SAAS,MAAM,GAAG,MAAM,IAChC,UAAU,IAAI,KAAK,UAAU,GAAG,CAAA;AACpC,MAAM,MAAM,iBAAiB,CAAC,SAAS,SAAS,MAAM,IACpD,SAAS,SAAS,eAAe,CAAC,MAAM,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;AAEtE,KAAK,oBAAoB,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,IAAI,eAAe,IAAI,EAAE,CAAA;AAC/E,MAAM,MAAM,sBAAsB,CAAC,SAAS,IAC1C,SAAS,SAAS,oBAAoB,GAClC,SAAS,SAAS,0BAA0B,GAC1C,IAAI,GACJ,KAAK,GACP,KAAK,CAAA;AACX,KAAK,0BAA0B,GAC3B,eAAe,MAAM,GAAG,GACxB,eAAe,MAAM,WAAW,CAAA;AAEpC,MAAM,MAAM,iBAAiB,CAC3B,kBAAkB,SAAS,EAAE,GAAG,UAAU,GAAG,EAAE,GAAG,UAAU,IAC1D,sBAAsB,kBAAkB,EAAE,CAAA;AAC9C,MAAM,MAAM,mBAAmB,CAAC,SAAS,SAAS,MAAM,IAAI,SAAS,SACjE,iBAAiB,CAAC,EAAE,CAAC,GACrB,iBAAiB,CAAC,UAAU,CAAC,GAC7B,IAAI,GACJ,KAAK,CAAA;AAET,MAAM,MAAM,gBAAgB,GAAG,4BAA4B,CAAA;AAI3D,MAAM,MAAM,WAAW,CAAC,IAAI,SAAS,MAAM,IACvC,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC,GACpD,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC,GACpD,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC,GACvD,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC,GACrD,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC,GAC1D,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC,GACvD,CAAC,IAAI,SAAS,gBAAgB,GAAG,IAAI,GAAG,KAAK,CAAC,SAAS,MAAM,SAAS,GACtE,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,GACzB,KAAK,GACL,IAAI,GACN,KAAK,CAAA;AAET,MAAM,MAAM,SAAS,CACnB,OAAO,SAAS,MAAM,EACtB,OAAO,SAAS,MAAM,GAAG,OAAO,GAAG,OAAO,IAE1C,WAAW,CAAC,OAAO,CAAC,SAAS,IAAI,GAC7B,OAAO,GACP,MAAM,SAAS,OAAO,GACpB,OAAO,GACP,KAAK,CAAC,cAAc,OAAO,eAAe,OAAO,SAAS,MAAM,GAC5D,gBAAgB,OAAO,EAAE,GACzB,EAAE,GAAG,CAAC,CAAA;AAElB,MAAM,MAAM,UAAU,CAAC,UAAU,SAAS,SAAS,MAAM,EAAE,IAAI;KAC5D,GAAG,IAAI,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC;CAC3D,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAA;AAChF,MAAM,MAAM,gBAAgB,GAAG,OAAO,CACpC,QAAQ,EACR,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAC9C,CAAA;AACD,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;AAExD,MAAM,MAAM,MAAM,CAAC,IAAI,SAAS,MAAM,IAAI,IAAI,SAAS,EAAE,GACrD,KAAK,GACL,YAAY,CAAC,IAAI,CAAC,SAAS,IAAI,GAC7B,IAAI,GACJ,KAAK,CAAA;AAEX,MAAM,MAAM,UAAU,CAAC,IAAI,SAAS,MAAM,IACxC,YAAY,CAAC,IAAI,CAAC,SAAS,MAAM,WAAW,SAAS,MAAM,EAAE,GACzD,IAAI,WAAW,CAAC,MAAM,CAAC,GAAG,GAC1B,IAAI,CAAA;AAEV,MAAM,MAAM,YAAY,CACtB,IAAI,SAAS,MAAM,EACnB,eAAe,SAAS,OAAO,GAAG,KAAK,IACrC,IAAI,SAAS,GAAG,MAAM,GAAG,GAAG,GAAG,MAAM,EAAE,GACvC,KAAK,CAAC,eAAe,IAAI,8BAA8B,CAAC,GACxD,iBAAiB,CAAC,IAAI,CAAC,SAAS,IAAI,GAClC,KAAK,CAAC,IAAI,IAAI,oCAAoC,CAAC,GACnD,IAAI,SAAS,GAAG,MAAM,EAAE,GACtB,KAAK,CAAC,eAAe,IAAI,8BAA8B,CAAC,GACxD,IAAI,SAAS,GAAG,MAAM,GAAG,MAAM,EAAE,GAC/B,KAAK,CAAC,eAAe,IAAI,+BAA+B,CAAC,GACzD,eAAe,SAAS,IAAI,GAC1B,gBAAgB,CAAC,IAAI,CAAC,SAAS,IAAI,GACjC,IAAI,GACJ,KAAK,CAAC,IAAI,IAAI,+BAA+B,CAAC,GAChD,IAAI,CAAA;AAEhB,MAAM,MAAM,iBAAiB,CAAC,IAAI,SAAS,MAAM,IAC/C,IAAI,SAAS,gBAAgB,GAAG,IAAI,GAAG,KAAK,CAAA;AAE9C,MAAM,MAAM,gBAAgB,GACxB,OAAO,GACP,OAAO,GACP,WAAW,GACX,OAAO,GACP,MAAM,GACN,MAAM,GACN,UAAU,GACV,MAAM,GACN,OAAO,GACP,UAAU,GACV,QAAQ,GACR,SAAS,GACT,SAAS,GACT,OAAO,GACP,OAAO,GACP,UAAU,GACV,OAAO,GACP,OAAO,GACP,UAAU,GACV,WAAW,GACX,YAAY,GACZ,IAAI,GACJ,SAAS,GACT,QAAQ,GACR,UAAU,GACV,KAAK,GACL,SAAS,GACT,OAAO,GACP,QAAQ,GACR,SAAS,GACT,MAAM,GACN,IAAI,GACJ,UAAU,GACV,SAAS,GACT,SAAS,GACT,SAAS,GACT,QAAQ,GACR,MAAM,GACN,WAAW,GACX,aAAa,GACb,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,OAAO,GACP,UAAU,GACV,QAAQ,GACR,MAAM,GACN,MAAM,GACN,KAAK,GACL,SAAS,GACT,QAAQ,GACR,KAAK,GACL,MAAM,GACN,SAAS,GACT,UAAU,IAAI,MAAM,GAAG,GAAG,EAAE,EAAE,GAC9B,OAAO,IAAI,MAAM,GAAG,GAAG,EAAE,EAAE,GAC3B,SAAS,IAAI,MAAM,GAAG,GAAG,EAAE,EAAE,GAC7B,QAAQ,IAAI,MAAM,GAAG,GAAG,EAAE,EAAE,GAC5B,QAAQ,MAAM,GAAG,EAAE,GAAG,IAAI,MAAM,GAAG,GAAG,EAAE,EAAE,GAC1C,GAAG,GAAG,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,MAAM,GAAG,GAAG,EAAE,EAAE,CAAA;AAEvD,MAAM,MAAM,gBAAgB,CAAC,SAAS,SAAS,MAAM,IACnD,SAAS,SAAS,GAAG,eAAe,GAAG,MAAM,IAAI,EAAE,GAC/C,IAAI,SAAS,EAAE,GACb,IAAI,GACJ,gBAAgB,CAAC,IAAI,CAAC,GACxB,KAAK,CAAA;AAGX,KAAK,eAAe,GAEhB,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GAEH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GAEH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GAEH,GAAG,GACH,GAAG,CAAA;AAMP,KAAK,yBAAyB,GAC1B,GAAG,MAAM,GAAG,cAAc,KAAK,MAAM,EAAE,GACvC,GAAG,MAAM,KAAK,cAAc,GAAG,MAAM,EAAE,GACvC,GAAG,MAAM,IAAI,MAAM,GAAG,cAAc,GAAG,MAAM,IAAI,MAAM,EAAE,CAAA;AAE7D,KAAK,cAAc,GAEf,IAAI,MAAM,QAAQ,GAClB,KAAK,MAAM,OAAO,GAClB,MAAM,MAAM,MAAM,GAClB,OAAO,MAAM,KAAK,GAClB,QAAQ,MAAM,IAAI,GAClB,SAAS,MAAM,GAAG,GAGlB,IAAI,MAAM,IAAI,MAAM,OAAO,GAC3B,IAAI,MAAM,KAAK,MAAM,MAAM,GAC3B,IAAI,MAAM,MAAM,MAAM,KAAK,GAC3B,IAAI,MAAM,OAAO,MAAM,IAAI,GAC3B,IAAI,MAAM,QAAQ,MAAM,GAAG,GAE3B,KAAK,MAAM,IAAI,MAAM,MAAM,GAC3B,KAAK,MAAM,KAAK,MAAM,KAAK,GAC3B,KAAK,MAAM,MAAM,MAAM,IAAI,GAC3B,KAAK,MAAM,OAAO,MAAM,GAAG,GAE3B,MAAM,MAAM,IAAI,MAAM,KAAK,GAC3B,MAAM,MAAM,KAAK,MAAM,IAAI,GAC3B,MAAM,MAAM,MAAM,MAAM,GAAG,GAE3B,OAAO,MAAM,IAAI,MAAM,IAAI,GAC3B,OAAO,MAAM,KAAK,MAAM,GAAG,GAE3B,QAAQ,MAAM,IAAI,MAAM,GAAG,GAG3B,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,MAAM,GACpC,IAAI,MAAM,IAAI,MAAM,KAAK,MAAM,KAAK,GACpC,IAAI,MAAM,IAAI,MAAM,MAAM,MAAM,IAAI,GACpC,IAAI,MAAM,IAAI,MAAM,OAAO,MAAM,GAAG,GAEpC,KAAK,MAAM,IAAI,MAAM,IAAI,MAAM,KAAK,GACpC,KAAK,MAAM,IAAI,MAAM,KAAK,MAAM,IAAI,GACpC,KAAK,MAAM,IAAI,MAAM,MAAM,MAAM,GAAG,GAEpC,MAAM,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,GACpC,MAAM,MAAM,IAAI,MAAM,KAAK,MAAM,GAAG,GAEpC,OAAO,MAAM,IAAI,MAAM,IAAI,MAAM,GAAG,GAGpC,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,KAAK,GAC7C,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,KAAK,MAAM,IAAI,GAC7C,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,MAAM,MAAM,GAAG,GAE7C,KAAK,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,GAC7C,KAAK,MAAM,IAAI,MAAM,IAAI,MAAM,KAAK,MAAM,GAAG,GAE7C,MAAM,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,GAAG,GAG7C,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,GACtD,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,KAAK,MAAM,GAAG,GAEtD,KAAK,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,GAAG,GAGtD,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,GAAG,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signatures.js","sourceRoot":"","sources":["../../../../../src/core/internal/human-readable/types/signatures.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { AbiParameter } from 'abitype';
|
|
2
|
+
import type { Error, Trim } from '../types.js';
|
|
3
|
+
import type { StructSignature } from './signatures.js';
|
|
4
|
+
import type { ParseAbiParameter } from './utils.js';
|
|
5
|
+
export type StructLookup = Record<string, readonly AbiParameter[]>;
|
|
6
|
+
export type ParseStructs<signatures extends readonly string[]> = {
|
|
7
|
+
[signature in signatures[number] as ParseStruct<signature> extends infer struct extends {
|
|
8
|
+
name: string;
|
|
9
|
+
} ? struct['name'] : never]: ParseStruct<signature>['components'];
|
|
10
|
+
} extends infer structs extends Record<string, readonly (AbiParameter & {
|
|
11
|
+
type: string;
|
|
12
|
+
})[]> ? {
|
|
13
|
+
[structName in keyof structs]: ResolveStructs<structs[structName], structs>;
|
|
14
|
+
} : never;
|
|
15
|
+
export type ParseStruct<signature extends string, structs extends StructLookup | unknown = unknown> = signature extends StructSignature<infer name, infer properties> ? {
|
|
16
|
+
readonly name: Trim<name>;
|
|
17
|
+
readonly components: ParseStructProperties<properties, structs>;
|
|
18
|
+
} : never;
|
|
19
|
+
export type ResolveStructs<abiParameters extends readonly (AbiParameter & {
|
|
20
|
+
type: string;
|
|
21
|
+
})[], structs extends Record<string, readonly (AbiParameter & {
|
|
22
|
+
type: string;
|
|
23
|
+
})[]>, keyReferences extends {
|
|
24
|
+
[_: string]: unknown;
|
|
25
|
+
} | unknown = unknown> = readonly [
|
|
26
|
+
...{
|
|
27
|
+
[key in keyof abiParameters]: abiParameters[key]['type'] extends `${infer head extends string & keyof structs}[${infer tail}]` ? head extends keyof keyReferences ? Error<`Circular reference detected. Struct "${abiParameters[key]['type']}" is a circular reference.`> : {
|
|
28
|
+
readonly name: abiParameters[key]['name'];
|
|
29
|
+
readonly type: `tuple[${tail}]`;
|
|
30
|
+
readonly components: ResolveStructs<structs[head], structs, keyReferences & {
|
|
31
|
+
[_ in head]: true;
|
|
32
|
+
}>;
|
|
33
|
+
} : abiParameters[key]['type'] extends keyof structs ? abiParameters[key]['type'] extends keyof keyReferences ? Error<`Circular reference detected. Struct "${abiParameters[key]['type']}" is a circular reference.`> : {
|
|
34
|
+
readonly name: abiParameters[key]['name'];
|
|
35
|
+
readonly type: 'tuple';
|
|
36
|
+
readonly components: ResolveStructs<structs[abiParameters[key]['type']], structs, keyReferences & {
|
|
37
|
+
[_ in abiParameters[key]['type']]: true;
|
|
38
|
+
}>;
|
|
39
|
+
} : abiParameters[key];
|
|
40
|
+
}
|
|
41
|
+
];
|
|
42
|
+
export type ParseStructProperties<signature extends string, structs extends StructLookup | unknown = unknown, result extends any[] = []> = Trim<signature> extends `${infer head};${infer tail}` ? ParseStructProperties<tail, structs, [
|
|
43
|
+
...result,
|
|
44
|
+
ParseAbiParameter<head, {
|
|
45
|
+
structs: structs;
|
|
46
|
+
}>
|
|
47
|
+
]> : result;
|
|
48
|
+
//# sourceMappingURL=structs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"structs.d.ts","sourceRoot":"","sources":["../../../../../src/core/internal/human-readable/types/structs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"structs.js","sourceRoot":"","sources":["../../../../../src/core/internal/human-readable/types/structs.ts"],"names":[],"mappings":""}
|