ox 1.0.0-beta.8 → 1.0.0
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/CHANGELOG.md +1143 -0
- 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/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/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/rpcSchemas/eth.d.ts +36 -0
- package/dist/core/internal/rpcSchemas/eth.d.ts.map +1 -1
- package/dist/erc4337/EntryPoint.d.ts +1072 -1
- package/dist/erc4337/EntryPoint.d.ts.map +1 -1
- package/dist/erc4337/EntryPoint.js +872 -0
- package/dist/erc4337/EntryPoint.js.map +1 -1
- package/dist/erc4337/RpcSchema.d.ts +2 -2
- package/dist/erc4337/RpcSchema.d.ts.map +1 -1
- package/dist/erc4337/UserOperation.d.ts +39 -10
- package/dist/erc4337/UserOperation.d.ts.map +1 -1
- package/dist/erc4337/UserOperation.js +62 -48
- package/dist/erc4337/UserOperation.js.map +1 -1
- package/dist/erc4337/UserOperationGas.d.ts +9 -5
- package/dist/erc4337/UserOperationGas.d.ts.map +1 -1
- package/dist/erc4337/UserOperationGas.js +17 -15
- package/dist/erc4337/UserOperationGas.js.map +1 -1
- package/dist/erc4337/UserOperationReceipt.d.ts +4 -4
- package/dist/erc4337/UserOperationReceipt.d.ts.map +1 -1
- 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/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 +5 -5
- package/dist/tempo/KeyAuthorization.d.ts.map +1 -1
- package/dist/tempo/KeyAuthorization.js +4 -4
- 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/SignatureEnvelope.d.ts +32 -30
- 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 +16 -5
- package/dist/tempo/Transaction.d.ts.map +1 -1
- package/dist/tempo/Transaction.js +34 -7
- package/dist/tempo/Transaction.js.map +1 -1
- package/dist/tempo/TransactionReceipt.d.ts +3 -3
- package/dist/tempo/TransactionReceipt.d.ts.map +1 -1
- package/dist/tempo/TransactionReceipt.js +8 -1
- package/dist/tempo/TransactionReceipt.js.map +1 -1
- package/dist/tempo/TransactionRequest.d.ts +15 -2
- package/dist/tempo/TransactionRequest.d.ts.map +1 -1
- package/dist/tempo/TransactionRequest.js +65 -29
- 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/RpcSchema.d.ts +6 -5
- package/dist/zod/RpcSchema.d.ts.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/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/internal/rpcSchemas/Eth.d.ts +1 -0
- package/dist/zod/internal/rpcSchemas/Eth.d.ts.map +1 -1
- package/dist/zod/internal/rpcSchemas/Eth.js +5 -0
- package/dist/zod/internal/rpcSchemas/Eth.js.map +1 -1
- package/dist/zod/tempo/AuthorizationTempo.d.ts +0 -20
- package/dist/zod/tempo/AuthorizationTempo.d.ts.map +1 -1
- package/dist/zod/tempo/KeyAuthorization.d.ts +503 -67
- package/dist/zod/tempo/KeyAuthorization.d.ts.map +1 -1
- package/dist/zod/tempo/KeyAuthorization.js +32 -15
- package/dist/zod/tempo/KeyAuthorization.js.map +1 -1
- package/dist/zod/tempo/RpcSchemaTempo.d.ts +216 -34
- 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 +1479 -333
- package/dist/zod/tempo/Transaction.d.ts.map +1 -1
- package/dist/zod/tempo/Transaction.js +65 -16
- package/dist/zod/tempo/Transaction.js.map +1 -1
- package/dist/zod/tempo/TransactionRequest.d.ts +410 -57
- package/dist/zod/tempo/TransactionRequest.d.ts.map +1 -1
- package/dist/zod/tempo/TransactionRequest.js +81 -18
- 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 +12 -0
- package/dist/zod/z.d.ts.map +1 -1
- package/dist/zod/z.js +12 -0
- package/dist/zod/z.js.map +1 -1
- package/package.json +67 -11
- 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/Rlp.ts +66 -3
- package/src/core/RpcSchema.ts +2 -2
- 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/Rlp.test.ts +101 -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/rpcSchemas/eth.ts +36 -0
- package/src/erc4337/EntryPoint.ts +875 -1
- package/src/erc4337/RpcSchema.ts +4 -2
- package/src/erc4337/UserOperation.ts +130 -60
- package/src/erc4337/UserOperationGas.ts +36 -28
- package/src/erc4337/UserOperationReceipt.ts +15 -7
- package/src/erc4337/_test/EntryPoint.test.ts +48 -0
- package/src/erc4337/_test/RpcSchema.test-d.ts +56 -0
- package/src/erc4337/_test/UserOperation.snap-d.ts +31 -0
- package/src/erc4337/_test/UserOperation.test.ts +221 -5
- package/src/erc4337/_test/UserOperationGas.test.ts +30 -1
- package/src/index.ts +38 -0
- 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 +9 -9
- 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/SignatureEnvelope.test.ts +118 -17
- package/src/tempo/SignatureEnvelope.ts +77 -72
- package/src/tempo/Transaction.test.ts +0 -15
- package/src/tempo/Transaction.ts +63 -12
- package/src/tempo/TransactionReceipt.test.ts +76 -0
- package/src/tempo/TransactionReceipt.ts +11 -5
- package/src/tempo/TransactionRequest.test.ts +174 -1
- package/src/tempo/TransactionRequest.ts +84 -32
- package/src/tempo/TxEnvelopeTempo.test.ts +2 -2
- package/src/tempo/TxEnvelopeTempo.ts +7 -7
- package/src/tempo/e2e.test.ts +228 -50
- 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/RpcSchema.ts +5 -5
- package/src/zod/Solidity.ts +83 -0
- package/src/zod/TypedData.ts +111 -0
- package/src/zod/_test/Abi.test-d.ts +46 -0
- package/src/zod/_test/Abi.test.ts +163 -0
- package/src/zod/_test/TypedData.test-d.ts +20 -0
- package/src/zod/_test/TypedData.test.ts +87 -0
- package/src/zod/_test/z.test-d.ts +6 -0
- package/src/zod/_test/z.test.ts +17 -0
- package/src/zod/internal/rpcSchemas/Eth.ts +6 -0
- package/src/zod/tempo/KeyAuthorization.ts +34 -15
- package/src/zod/tempo/SignatureEnvelope.ts +0 -2
- package/src/zod/tempo/Transaction.ts +84 -22
- package/src/zod/tempo/TransactionRequest.ts +86 -20
- package/src/zod/tempo/TxEnvelopeTempo.ts +1 -1
- package/src/zod/tempo/_test/KeyAuthorization.test.ts +53 -0
- package/src/zod/tempo/_test/SignatureEnvelope.test.ts +0 -2
- package/src/zod/tempo/_test/Transaction.test.ts +155 -0
- package/src/zod/tempo/_test/TransactionRequest.test.ts +44 -0
- package/src/zod/tempo/z.ts +0 -1
- package/src/zod/z.ts +12 -0
- 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/CHANGELOG.md +0 -820
- 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,142 @@
|
|
|
1
|
+
import { BaseError } from '../../Errors.js';
|
|
2
|
+
export class InvalidAbiItemError extends BaseError {
|
|
3
|
+
name = 'AbiItem.InvalidAbiItemError';
|
|
4
|
+
constructor({ signature }) {
|
|
5
|
+
super('Failed to parse ABI item.', {
|
|
6
|
+
details: `parseAbiItem(${JSON.stringify(signature, null, 2)})`,
|
|
7
|
+
docsPath: '/api/AbiItem/from',
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
export class UnknownTypeError extends BaseError {
|
|
12
|
+
name = 'HumanReadableAbi.UnknownTypeError';
|
|
13
|
+
constructor({ type }) {
|
|
14
|
+
super('Unknown type.', {
|
|
15
|
+
metaMessages: [
|
|
16
|
+
`Type "${type}" is not a valid ABI type. Perhaps you forgot to include a struct signature?`,
|
|
17
|
+
],
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export class UnknownSolidityTypeError extends BaseError {
|
|
22
|
+
name = 'HumanReadableAbi.UnknownSolidityTypeError';
|
|
23
|
+
constructor({ type }) {
|
|
24
|
+
super('Unknown type.', {
|
|
25
|
+
metaMessages: [`Type "${type}" is not a valid ABI type.`],
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
export class InvalidAbiParameterError extends BaseError {
|
|
30
|
+
name = 'AbiParameter.InvalidAbiParameterError';
|
|
31
|
+
constructor({ param }) {
|
|
32
|
+
super('Failed to parse ABI parameter.', {
|
|
33
|
+
details: `parseAbiParameter(${JSON.stringify(param, null, 2)})`,
|
|
34
|
+
docsPath: '/api/AbiParameter/from',
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
export class InvalidAbiParametersError extends BaseError {
|
|
39
|
+
name = 'AbiParameters.InvalidAbiParametersError';
|
|
40
|
+
constructor({ params }) {
|
|
41
|
+
super('Failed to parse ABI parameters.', {
|
|
42
|
+
details: `parseAbiParameters(${JSON.stringify(params, null, 2)})`,
|
|
43
|
+
docsPath: '/api/AbiParameters/from',
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
export class InvalidParameterError extends BaseError {
|
|
48
|
+
name = 'HumanReadableAbi.InvalidParameterError';
|
|
49
|
+
constructor({ param }) {
|
|
50
|
+
super('Invalid ABI parameter.', {
|
|
51
|
+
details: param,
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
export class SolidityProtectedKeywordError extends BaseError {
|
|
56
|
+
name = 'HumanReadableAbi.SolidityProtectedKeywordError';
|
|
57
|
+
constructor({ param, name }) {
|
|
58
|
+
super('Invalid ABI parameter.', {
|
|
59
|
+
details: param,
|
|
60
|
+
metaMessages: [
|
|
61
|
+
`"${name}" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`,
|
|
62
|
+
],
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
export class InvalidModifierError extends BaseError {
|
|
67
|
+
name = 'HumanReadableAbi.InvalidModifierError';
|
|
68
|
+
constructor({ param, type, modifier, }) {
|
|
69
|
+
super('Invalid ABI parameter.', {
|
|
70
|
+
details: param,
|
|
71
|
+
metaMessages: [
|
|
72
|
+
`Modifier "${modifier}" not allowed${type ? ` in "${type}" type` : ''}.`,
|
|
73
|
+
],
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
export class InvalidFunctionModifierError extends BaseError {
|
|
78
|
+
name = 'HumanReadableAbi.InvalidFunctionModifierError';
|
|
79
|
+
constructor({ param, type, modifier, }) {
|
|
80
|
+
super('Invalid ABI parameter.', {
|
|
81
|
+
details: param,
|
|
82
|
+
metaMessages: [
|
|
83
|
+
`Modifier "${modifier}" not allowed${type ? ` in "${type}" type` : ''}.`,
|
|
84
|
+
`Data location can only be specified for array, struct, or mapping types, but "${modifier}" was given.`,
|
|
85
|
+
],
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
export class InvalidAbiTypeParameterError extends BaseError {
|
|
90
|
+
name = 'HumanReadableAbi.InvalidAbiTypeParameterError';
|
|
91
|
+
constructor({ abiParameter, }) {
|
|
92
|
+
super('Invalid ABI parameter.', {
|
|
93
|
+
details: JSON.stringify(abiParameter, null, 2),
|
|
94
|
+
metaMessages: ['ABI parameter type is invalid.'],
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
export class InvalidSignatureError extends BaseError {
|
|
99
|
+
name = 'Abi.InvalidSignatureError';
|
|
100
|
+
constructor({ signature, type, }) {
|
|
101
|
+
super(`Invalid ${type} signature.`, {
|
|
102
|
+
details: signature,
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
export class UnknownSignatureError extends BaseError {
|
|
107
|
+
name = 'Abi.UnknownSignatureError';
|
|
108
|
+
constructor({ signature }) {
|
|
109
|
+
super('Unknown signature.', {
|
|
110
|
+
details: signature,
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
export class InvalidStructSignatureError extends BaseError {
|
|
115
|
+
name = 'Abi.InvalidStructSignatureError';
|
|
116
|
+
constructor({ signature }) {
|
|
117
|
+
super('Invalid struct signature.', {
|
|
118
|
+
details: signature,
|
|
119
|
+
metaMessages: ['No properties exist.'],
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
export class InvalidParenthesisError extends BaseError {
|
|
124
|
+
name = 'HumanReadableAbi.InvalidParenthesisError';
|
|
125
|
+
constructor({ current, depth }) {
|
|
126
|
+
super('Unbalanced parentheses.', {
|
|
127
|
+
metaMessages: [
|
|
128
|
+
`"${current.trim()}" has too many ${depth > 0 ? 'opening' : 'closing'} parentheses.`,
|
|
129
|
+
],
|
|
130
|
+
details: `Depth "${depth}"`,
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
export class CircularReferenceError extends BaseError {
|
|
135
|
+
name = 'Abi.CircularReferenceError';
|
|
136
|
+
constructor({ type }) {
|
|
137
|
+
super('Circular reference detected.', {
|
|
138
|
+
metaMessages: [`Struct "${type}" is a circular reference.`],
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/core/internal/human-readable/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { Abi } from 'abitype';
|
|
2
|
+
import { type FormatAbiItem } from './formatAbiItem.js';
|
|
3
|
+
/**
|
|
4
|
+
* Parses JSON ABI into human-readable ABI
|
|
5
|
+
*
|
|
6
|
+
* @param abi - ABI
|
|
7
|
+
* @returns Human-readable ABI
|
|
8
|
+
*/
|
|
9
|
+
export type FormatAbi<abi extends Abi | readonly unknown[]> = Abi extends abi ? readonly string[] : abi extends readonly [] ? never : abi extends Abi ? {
|
|
10
|
+
[key in keyof abi]: FormatAbiItem<abi[key]>;
|
|
11
|
+
} : readonly string[];
|
|
12
|
+
/**
|
|
13
|
+
* Parses JSON ABI into human-readable ABI
|
|
14
|
+
*
|
|
15
|
+
* @param abi - ABI
|
|
16
|
+
* @returns Human-readable ABI
|
|
17
|
+
*/
|
|
18
|
+
export declare function formatAbi<const abi extends Abi | readonly unknown[]>(abi: abi): FormatAbi<abi>;
|
|
19
|
+
//# sourceMappingURL=formatAbi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatAbi.d.ts","sourceRoot":"","sources":["../../../../src/core/internal/human-readable/formatAbi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,KAAK,aAAa,EAAiB,MAAM,oBAAoB,CAAA;AAEtE;;;;;GAKG;AACH,MAAM,MAAM,SAAS,CAAC,GAAG,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,IAAI,GAAG,SAAS,GAAG,GACzE,SAAS,MAAM,EAAE,GACjB,GAAG,SAAS,SAAS,EAAE,GACrB,KAAK,GACL,GAAG,SAAS,GAAG,GACb;KACG,GAAG,IAAI,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CAC5C,GACD,SAAS,MAAM,EAAE,CAAA;AAEzB;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,KAAK,CAAC,GAAG,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,EAClE,GAAG,EAAE,GAAG,GACP,SAAS,CAAC,GAAG,CAAC,CAShB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { formatAbiItem } from './formatAbiItem.js';
|
|
2
|
+
/**
|
|
3
|
+
* Parses JSON ABI into human-readable ABI
|
|
4
|
+
*
|
|
5
|
+
* @param abi - ABI
|
|
6
|
+
* @returns Human-readable ABI
|
|
7
|
+
*/
|
|
8
|
+
export function formatAbi(abi) {
|
|
9
|
+
const signatures = [];
|
|
10
|
+
const length = abi.length;
|
|
11
|
+
for (let i = 0; i < length; i++) {
|
|
12
|
+
const abiItem = abi[i];
|
|
13
|
+
const signature = formatAbiItem(abiItem);
|
|
14
|
+
signatures.push(signature);
|
|
15
|
+
}
|
|
16
|
+
return signatures;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=formatAbi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatAbi.js","sourceRoot":"","sources":["../../../../src/core/internal/human-readable/formatAbi.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAkBtE;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CACvB,GAAQ;IAER,MAAM,UAAU,GAAG,EAAE,CAAA;IACrB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAA;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAE,CAAA;QACvB,MAAM,SAAS,GAAG,aAAa,CAAC,OAAsB,CAAC,CAAA;QACvD,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAC5B,CAAC;IACD,OAAO,UAAuC,CAAA;AAChD,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { Abi, AbiConstructor, AbiError, AbiEvent, AbiEventParameter, AbiFallback, AbiFunction, AbiParameter, AbiReceive, AbiStateMutability } from 'abitype';
|
|
2
|
+
import { type FormatAbiParameters as FormatAbiParameters_ } from './formatAbiParameters.js';
|
|
3
|
+
import type { AssertName } from './types/signatures.js';
|
|
4
|
+
/**
|
|
5
|
+
* Formats ABI item (e.g. error, event, function) into human-readable ABI item
|
|
6
|
+
*
|
|
7
|
+
* @param abiItem - ABI item
|
|
8
|
+
* @returns Human-readable ABI item
|
|
9
|
+
*/
|
|
10
|
+
export type FormatAbiItem<abiItem extends Abi[number]> = Abi[number] extends abiItem ? string : (abiItem extends AbiFunction ? AbiFunction extends abiItem ? string : `function ${AssertName<abiItem['name']>}(${FormatAbiParameters<abiItem['inputs']>})${abiItem['stateMutability'] extends Exclude<AbiStateMutability, 'nonpayable'> ? ` ${abiItem['stateMutability']}` : ''}${abiItem['outputs']['length'] extends 0 ? '' : ` returns (${FormatAbiParameters<abiItem['outputs']>})`}` : never) | (abiItem extends AbiEvent ? AbiEvent extends abiItem ? string : `event ${AssertName<abiItem['name']>}(${FormatAbiParameters<abiItem['inputs']>})` : never) | (abiItem extends AbiError ? AbiError extends abiItem ? string : `error ${AssertName<abiItem['name']>}(${FormatAbiParameters<abiItem['inputs']>})` : never) | (abiItem extends AbiConstructor ? AbiConstructor extends abiItem ? string : `constructor(${FormatAbiParameters<abiItem['inputs']>})${abiItem['stateMutability'] extends 'payable' ? ' payable' : ''}` : never) | (abiItem extends AbiFallback ? AbiFallback extends abiItem ? string : `fallback() external${abiItem['stateMutability'] extends 'payable' ? ' payable' : ''}` : never) | (abiItem extends AbiReceive ? AbiReceive extends abiItem ? string : 'receive() external payable' : never);
|
|
11
|
+
type FormatAbiParameters<abiParameters extends readonly (AbiParameter | AbiEventParameter)[]> = abiParameters['length'] extends 0 ? '' : FormatAbiParameters_<abiParameters extends readonly [
|
|
12
|
+
AbiParameter | AbiEventParameter,
|
|
13
|
+
...(readonly (AbiParameter | AbiEventParameter)[])
|
|
14
|
+
] ? abiParameters : never>;
|
|
15
|
+
/**
|
|
16
|
+
* Formats ABI item (e.g. error, event, function) into human-readable ABI item
|
|
17
|
+
*
|
|
18
|
+
* @param abiItem - ABI item
|
|
19
|
+
* @returns Human-readable ABI item
|
|
20
|
+
*/
|
|
21
|
+
export declare function formatAbiItem<const abiItem extends Abi[number]>(abiItem: abiItem): FormatAbiItem<abiItem>;
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=formatAbiItem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatAbiItem.d.ts","sourceRoot":"","sources":["../../../../src/core/internal/human-readable/formatAbiItem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,GAAG,EACH,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,YAAY,EACZ,UAAU,EACV,kBAAkB,EACnB,MAAM,SAAS,CAAA;AAChB,OAAO,EACL,KAAK,mBAAmB,IAAI,oBAAoB,EAEjD,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAEvD;;;;;GAKG;AACH,MAAM,MAAM,aAAa,CAAC,OAAO,SAAS,GAAG,CAAC,MAAM,CAAC,IACnD,GAAG,CAAC,MAAM,CAAC,SAAS,OAAO,GACvB,MAAM,GAEF,CAAC,OAAO,SAAS,WAAW,GACxB,WAAW,SAAS,OAAO,GACzB,MAAM,GACN,YAAY,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,mBAAmB,CAC5D,OAAO,CAAC,QAAQ,CAAC,CAClB,IAAI,OAAO,CAAC,iBAAiB,CAAC,SAAS,OAAO,CAC7C,kBAAkB,EAClB,YAAY,CACb,GACG,IAAI,OAAO,CAAC,iBAAiB,CAAC,EAAE,GAChC,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GAC3C,EAAE,GACF,aAAa,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,GAC/D,KAAK,CAAC,GACV,CAAC,OAAO,SAAS,QAAQ,GACrB,QAAQ,SAAS,OAAO,GACtB,MAAM,GACN,SAAS,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,mBAAmB,CACzD,OAAO,CAAC,QAAQ,CAAC,CAClB,GAAG,GACN,KAAK,CAAC,GACV,CAAC,OAAO,SAAS,QAAQ,GACrB,QAAQ,SAAS,OAAO,GACtB,MAAM,GACN,SAAS,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,mBAAmB,CACzD,OAAO,CAAC,QAAQ,CAAC,CAClB,GAAG,GACN,KAAK,CAAC,GACV,CAAC,OAAO,SAAS,cAAc,GAC3B,cAAc,SAAS,OAAO,GAC5B,MAAM,GACN,eAAe,mBAAmB,CAChC,OAAO,CAAC,QAAQ,CAAC,CAClB,IAAI,OAAO,CAAC,iBAAiB,CAAC,SAAS,SAAS,GAC7C,UAAU,GACV,EAAE,EAAE,GACV,KAAK,CAAC,GACV,CAAC,OAAO,SAAS,WAAW,GACxB,WAAW,SAAS,OAAO,GACzB,MAAM,GACN,sBAAsB,OAAO,CAAC,iBAAiB,CAAC,SAAS,SAAS,GAC9D,UAAU,GACV,EAAE,EAAE,GACV,KAAK,CAAC,GACV,CAAC,OAAO,SAAS,UAAU,GACvB,UAAU,SAAS,OAAO,GACxB,MAAM,GACN,4BAA4B,GAC9B,KAAK,CAAC,CAAA;AAEpB,KAAK,mBAAmB,CACtB,aAAa,SAAS,SAAS,CAAC,YAAY,GAAG,iBAAiB,CAAC,EAAE,IACjE,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,GACjC,EAAE,GACF,oBAAoB,CAClB,aAAa,SAAS,SAAS;IAC7B,YAAY,GAAG,iBAAiB;IAChC,GAAG,CAAC,SAAS,CAAC,YAAY,GAAG,iBAAiB,CAAC,EAAE,CAAC;CACnD,GACG,aAAa,GACb,KAAK,CACV,CAAA;AAEL;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,CAAC,OAAO,SAAS,GAAG,CAAC,MAAM,CAAC,EAC7D,OAAO,EAAE,OAAO,GACf,aAAa,CAAC,OAAO,CAAC,CAoCxB"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { formatAbiParameters, } from './formatAbiParameters.js';
|
|
2
|
+
/**
|
|
3
|
+
* Formats ABI item (e.g. error, event, function) into human-readable ABI item
|
|
4
|
+
*
|
|
5
|
+
* @param abiItem - ABI item
|
|
6
|
+
* @returns Human-readable ABI item
|
|
7
|
+
*/
|
|
8
|
+
export function formatAbiItem(abiItem) {
|
|
9
|
+
if (abiItem.type === 'function')
|
|
10
|
+
return `function ${abiItem.name}(${formatAbiParameters(abiItem.inputs)})${abiItem.stateMutability && abiItem.stateMutability !== 'nonpayable'
|
|
11
|
+
? ` ${abiItem.stateMutability}`
|
|
12
|
+
: ''}${abiItem.outputs?.length
|
|
13
|
+
? ` returns (${formatAbiParameters(abiItem.outputs)})`
|
|
14
|
+
: ''}`;
|
|
15
|
+
if (abiItem.type === 'event')
|
|
16
|
+
return `event ${abiItem.name}(${formatAbiParameters(abiItem.inputs)})`;
|
|
17
|
+
if (abiItem.type === 'error')
|
|
18
|
+
return `error ${abiItem.name}(${formatAbiParameters(abiItem.inputs)})`;
|
|
19
|
+
if (abiItem.type === 'constructor')
|
|
20
|
+
return `constructor(${formatAbiParameters(abiItem.inputs)})${abiItem.stateMutability === 'payable' ? ' payable' : ''}`;
|
|
21
|
+
if (abiItem.type === 'fallback')
|
|
22
|
+
return `fallback() external${abiItem.stateMutability === 'payable' ? ' payable' : ''}`;
|
|
23
|
+
return 'receive() external payable';
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=formatAbiItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatAbiItem.js","sourceRoot":"","sources":["../../../../src/core/internal/human-readable/formatAbiItem.ts"],"names":[],"mappings":"AAYA,OAAO,EAEL,mBAAmB,GACpB,MAAM,0BAA0B,CAAA;AA4EjC;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAC3B,OAAgB;IAQhB,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU;QAC7B,OAAO,YAAY,OAAO,CAAC,IAAI,IAAI,mBAAmB,CACpD,OAAO,CAAC,MAAgB,CACzB,IACC,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,eAAe,KAAK,YAAY;YACjE,CAAC,CAAC,IAAI,OAAO,CAAC,eAAe,EAAE;YAC/B,CAAC,CAAC,EACN,GACE,OAAO,CAAC,OAAO,EAAE,MAAM;YACrB,CAAC,CAAC,aAAa,mBAAmB,CAAC,OAAO,CAAC,OAAiB,CAAC,GAAG;YAChE,CAAC,CAAC,EACN,EAAE,CAAA;IACJ,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO;QAC1B,OAAO,SAAS,OAAO,CAAC,IAAI,IAAI,mBAAmB,CACjD,OAAO,CAAC,MAAgB,CACzB,GAAG,CAAA;IACN,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO;QAC1B,OAAO,SAAS,OAAO,CAAC,IAAI,IAAI,mBAAmB,CACjD,OAAO,CAAC,MAAgB,CACzB,GAAG,CAAA;IACN,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa;QAChC,OAAO,eAAe,mBAAmB,CAAC,OAAO,CAAC,MAAgB,CAAC,IACjE,OAAO,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EACvD,EAAE,CAAA;IACJ,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU;QAC7B,OAAO,sBACL,OAAO,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EACvD,EAAY,CAAA;IACd,OAAO,4BAAsC,CAAA;AAC/C,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { AbiEventParameter, AbiParameter } from 'abitype';
|
|
2
|
+
import type { IsNarrowable, Join } from './types.js';
|
|
3
|
+
import type { AssertName } from './types/signatures.js';
|
|
4
|
+
/**
|
|
5
|
+
* Formats `AbiParameter` to human-readable ABI parameter.
|
|
6
|
+
*
|
|
7
|
+
* @param abiParameter - ABI parameter
|
|
8
|
+
* @returns Human-readable ABI parameter
|
|
9
|
+
*/
|
|
10
|
+
export type FormatAbiParameter<abiParameter extends AbiParameter | AbiEventParameter> = abiParameter extends {
|
|
11
|
+
name?: infer name extends string;
|
|
12
|
+
type: `tuple${infer array}`;
|
|
13
|
+
components: infer components extends readonly AbiParameter[];
|
|
14
|
+
indexed?: infer indexed extends boolean;
|
|
15
|
+
} ? FormatAbiParameter<{
|
|
16
|
+
type: `(${Join<{
|
|
17
|
+
[key in keyof components]: FormatAbiParameter<{
|
|
18
|
+
type: components[key]['type'];
|
|
19
|
+
} & (IsNarrowable<components[key]['name'], string> extends true ? {
|
|
20
|
+
name: components[key]['name'];
|
|
21
|
+
} : unknown) & (components[key] extends {
|
|
22
|
+
components: readonly AbiParameter[];
|
|
23
|
+
} ? {
|
|
24
|
+
components: components[key]['components'];
|
|
25
|
+
} : unknown)>;
|
|
26
|
+
}, ', '>})${array}`;
|
|
27
|
+
} & (IsNarrowable<name, string> extends true ? {
|
|
28
|
+
name: name;
|
|
29
|
+
} : unknown) & (IsNarrowable<indexed, boolean> extends true ? {
|
|
30
|
+
indexed: indexed;
|
|
31
|
+
} : unknown)> : `${abiParameter['type']}${abiParameter extends {
|
|
32
|
+
indexed: true;
|
|
33
|
+
} ? ' indexed' : ''}${abiParameter['name'] extends infer name extends string ? name extends '' ? '' : ` ${AssertName<name>}` : ''}`;
|
|
34
|
+
/**
|
|
35
|
+
* Formats `AbiParameter` to human-readable ABI parameter.
|
|
36
|
+
*
|
|
37
|
+
* @param abiParameter - ABI parameter
|
|
38
|
+
* @returns Human-readable ABI parameter
|
|
39
|
+
*/
|
|
40
|
+
export declare function formatAbiParameter<const abiParameter extends AbiParameter | AbiEventParameter>(abiParameter: abiParameter): FormatAbiParameter<abiParameter>;
|
|
41
|
+
//# sourceMappingURL=formatAbiParameter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatAbiParameter.d.ts","sourceRoot":"","sources":["../../../../src/core/internal/human-readable/formatAbiParameter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAE9D,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAEvD;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,CAC5B,YAAY,SAAS,YAAY,GAAG,iBAAiB,IACnD,YAAY,SAAS;IACvB,IAAI,CAAC,EAAE,MAAM,IAAI,SAAS,MAAM,CAAA;IAChC,IAAI,EAAE,QAAQ,MAAM,KAAK,EAAE,CAAA;IAC3B,UAAU,EAAE,MAAM,UAAU,SAAS,SAAS,YAAY,EAAE,CAAA;IAC5D,OAAO,CAAC,EAAE,MAAM,OAAO,SAAS,OAAO,CAAA;CACxC,GACG,kBAAkB,CAChB;IACE,IAAI,EAAE,IAAI,IAAI,CACZ;SACG,GAAG,IAAI,MAAM,UAAU,GAAG,kBAAkB,CAC3C;YACE,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAA;SAC9B,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,SAAS,IAAI,GAC3D;YAAE,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAA;SAAE,GACjC,OAAO,CAAC,GACV,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS;YAAE,UAAU,EAAE,SAAS,YAAY,EAAE,CAAA;SAAE,GAC5D;YAAE,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,CAAA;SAAE,GAC7C,OAAO,CAAC,CACf;KACF,EACD,IAAI,CACL,IAAI,KAAK,EAAE,CAAA;CACb,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,IAAI,GAAG;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,GAAG,OAAO,CAAC,GACtE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,IAAI,GACxC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,GACpB,OAAO,CAAC,CACf,GACD,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,YAAY,SAAS;IAAE,OAAO,EAAE,IAAI,CAAA;CAAE,GAC5D,UAAU,GACV,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,SAAS,MAAM,IAAI,SAAS,MAAM,GAC3D,IAAI,SAAS,EAAE,GACb,EAAE,GACF,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,GACxB,EAAE,EAAE,CAAA;AAKZ;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,CAAC,YAAY,SAAS,YAAY,GAAG,iBAAiB,EAC3D,YAAY,EAAE,YAAY,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAyB9D"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { execTyped } from './regex.js';
|
|
2
|
+
// https://regexr.com/7f7rv
|
|
3
|
+
const tupleRegex = /^tuple(?<array>(\[(\d*)\])*)$/;
|
|
4
|
+
/**
|
|
5
|
+
* Formats `AbiParameter` to human-readable ABI parameter.
|
|
6
|
+
*
|
|
7
|
+
* @param abiParameter - ABI parameter
|
|
8
|
+
* @returns Human-readable ABI parameter
|
|
9
|
+
*/
|
|
10
|
+
export function formatAbiParameter(abiParameter) {
|
|
11
|
+
let type = abiParameter.type;
|
|
12
|
+
if (tupleRegex.test(abiParameter.type) && 'components' in abiParameter) {
|
|
13
|
+
type = '(';
|
|
14
|
+
const length = abiParameter.components.length;
|
|
15
|
+
for (let i = 0; i < length; i++) {
|
|
16
|
+
const component = abiParameter.components[i];
|
|
17
|
+
type += formatAbiParameter(component);
|
|
18
|
+
if (i < length - 1)
|
|
19
|
+
type += ', ';
|
|
20
|
+
}
|
|
21
|
+
const result = execTyped(tupleRegex, abiParameter.type);
|
|
22
|
+
type += `)${result?.array || ''}`;
|
|
23
|
+
return formatAbiParameter({
|
|
24
|
+
...abiParameter,
|
|
25
|
+
type,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
// Add `indexed` to type if in `abiParameter`
|
|
29
|
+
if ('indexed' in abiParameter && abiParameter.indexed)
|
|
30
|
+
type = `${type} indexed`;
|
|
31
|
+
// Return human-readable ABI parameter
|
|
32
|
+
if (abiParameter.name)
|
|
33
|
+
return `${type} ${abiParameter.name}`;
|
|
34
|
+
return type;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=formatAbiParameter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatAbiParameter.js","sourceRoot":"","sources":["../../../../src/core/internal/human-readable/formatAbiParameter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAgDtC,2BAA2B;AAC3B,MAAM,UAAU,GAAG,+BAA+B,CAAA;AAElD;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAEhC,YAA0B;IAG1B,IAAI,IAAI,GAAG,YAAY,CAAC,IAAI,CAAA;IAC5B,IAAI,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,YAAY,IAAI,YAAY,EAAE,CAAC;QACvE,IAAI,GAAG,GAAG,CAAA;QACV,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC,MAAgB,CAAA;QACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,MAAM,SAAS,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAE,CAAA;YAC7C,IAAI,IAAI,kBAAkB,CAAC,SAAS,CAAC,CAAA;YACrC,IAAI,CAAC,GAAG,MAAM,GAAG,CAAC;gBAAE,IAAI,IAAI,IAAI,CAAA;QAClC,CAAC;QACD,MAAM,MAAM,GAAG,SAAS,CAAqB,UAAU,EAAE,YAAY,CAAC,IAAI,CAAC,CAAA;QAC3E,IAAI,IAAI,IAAI,MAAM,EAAE,KAAK,IAAI,EAAE,EAAE,CAAA;QACjC,OAAO,kBAAkB,CAAC;YACxB,GAAG,YAAY;YACf,IAAI;SACL,CAAW,CAAA;IACd,CAAC;IACD,6CAA6C;IAC7C,IAAI,SAAS,IAAI,YAAY,IAAI,YAAY,CAAC,OAAO;QACnD,IAAI,GAAG,GAAG,IAAI,UAAU,CAAA;IAC1B,sCAAsC;IACtC,IAAI,YAAY,CAAC,IAAI;QAAE,OAAO,GAAG,IAAI,IAAI,YAAY,CAAC,IAAI,EAAY,CAAA;IACtE,OAAO,IAAc,CAAA;AACvB,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { AbiEventParameter, AbiParameter } from 'abitype';
|
|
2
|
+
import type { Join } from './types.js';
|
|
3
|
+
import { type FormatAbiParameter } from './formatAbiParameter.js';
|
|
4
|
+
/**
|
|
5
|
+
* Formats `AbiParameter`s to human-readable ABI parameter.
|
|
6
|
+
*
|
|
7
|
+
* @param abiParameters - ABI parameters
|
|
8
|
+
* @returns Human-readable ABI parameters
|
|
9
|
+
*/
|
|
10
|
+
export type FormatAbiParameters<abiParameters extends readonly [
|
|
11
|
+
AbiParameter | AbiEventParameter,
|
|
12
|
+
...(readonly (AbiParameter | AbiEventParameter)[])
|
|
13
|
+
]> = Join<{
|
|
14
|
+
[key in keyof abiParameters]: FormatAbiParameter<abiParameters[key]>;
|
|
15
|
+
}, ', '>;
|
|
16
|
+
/**
|
|
17
|
+
* Formats `AbiParameter`s to human-readable ABI parameters.
|
|
18
|
+
*
|
|
19
|
+
* @param abiParameters - ABI parameters
|
|
20
|
+
* @returns Human-readable ABI parameters
|
|
21
|
+
*/
|
|
22
|
+
export declare function formatAbiParameters<const abiParameters extends readonly [
|
|
23
|
+
AbiParameter | AbiEventParameter,
|
|
24
|
+
...(readonly (AbiParameter | AbiEventParameter)[])
|
|
25
|
+
]>(abiParameters: abiParameters): FormatAbiParameters<abiParameters>;
|
|
26
|
+
//# sourceMappingURL=formatAbiParameters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatAbiParameters.d.ts","sourceRoot":"","sources":["../../../../src/core/internal/human-readable/formatAbiParameters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAC9D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EACL,KAAK,kBAAkB,EAExB,MAAM,yBAAyB,CAAA;AAEhC;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,CAC7B,aAAa,SAAS,SAAS;IAC7B,YAAY,GAAG,iBAAiB;IAChC,GAAG,CAAC,SAAS,CAAC,YAAY,GAAG,iBAAiB,CAAC,EAAE,CAAC;CACnD,IACC,IAAI,CACN;KACG,GAAG,IAAI,MAAM,aAAa,GAAG,kBAAkB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;CACrE,EACD,IAAI,CACL,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,CAAC,aAAa,SAAS,SAAS;IACnC,YAAY,GAAG,iBAAiB;IAChC,GAAG,CAAC,SAAS,CAAC,YAAY,GAAG,iBAAiB,CAAC,EAAE,CAAC;CACnD,EACD,aAAa,EAAE,aAAa,GAAG,mBAAmB,CAAC,aAAa,CAAC,CASlE"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { formatAbiParameter, } from './formatAbiParameter.js';
|
|
2
|
+
/**
|
|
3
|
+
* Formats `AbiParameter`s to human-readable ABI parameters.
|
|
4
|
+
*
|
|
5
|
+
* @param abiParameters - ABI parameters
|
|
6
|
+
* @returns Human-readable ABI parameters
|
|
7
|
+
*/
|
|
8
|
+
export function formatAbiParameters(abiParameters) {
|
|
9
|
+
let params = '';
|
|
10
|
+
const length = abiParameters.length;
|
|
11
|
+
for (let i = 0; i < length; i++) {
|
|
12
|
+
const abiParameter = abiParameters[i];
|
|
13
|
+
params += formatAbiParameter(abiParameter);
|
|
14
|
+
if (i !== length - 1)
|
|
15
|
+
params += ', ';
|
|
16
|
+
}
|
|
17
|
+
return params;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=formatAbiParameters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatAbiParameters.js","sourceRoot":"","sources":["../../../../src/core/internal/human-readable/formatAbiParameters.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,kBAAkB,GACnB,MAAM,yBAAyB,CAAA;AAoBhC;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAKjC,aAA4B;IAC5B,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAA;IACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAE,CAAA;QACtC,MAAM,IAAI,kBAAkB,CAAC,YAAY,CAAC,CAAA;QAC1C,IAAI,CAAC,KAAK,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,IAAI,CAAA;IACtC,CAAC;IACD,OAAO,MAA4C,CAAA;AACrD,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Abi } from 'abitype';
|
|
2
|
+
import type { Error, Filter } from './types.js';
|
|
3
|
+
import type { Signatures } from './types/signatures.js';
|
|
4
|
+
import type { ParseStructs } from './types/structs.js';
|
|
5
|
+
import type { ParseSignature } from './types/utils.js';
|
|
6
|
+
/**
|
|
7
|
+
* Parses human-readable ABI into JSON `Abi`.
|
|
8
|
+
*
|
|
9
|
+
* @param signatures - Human-readable ABI
|
|
10
|
+
* @returns Parsed `Abi`.
|
|
11
|
+
*/
|
|
12
|
+
export type ParseAbi<signatures extends readonly string[]> = string[] extends signatures ? Abi : signatures extends readonly string[] ? signatures extends Signatures<signatures> ? ParseStructs<signatures> extends infer structs ? {
|
|
13
|
+
[key in keyof signatures]: signatures[key] extends string ? ParseSignature<signatures[key], structs> : never;
|
|
14
|
+
} extends infer mapped extends readonly unknown[] ? Filter<mapped, never> extends infer result ? result extends readonly [] ? never : result : never : never : never : never : never;
|
|
15
|
+
/**
|
|
16
|
+
* Parses human-readable ABI into JSON `Abi`.
|
|
17
|
+
*
|
|
18
|
+
* @param signatures - Human-Readable ABI
|
|
19
|
+
* @returns Parsed `Abi`.
|
|
20
|
+
*/
|
|
21
|
+
export declare function parseAbi<const signatures extends readonly string[]>(signatures: signatures['length'] extends 0 ? Error<'At least one signature required'> : Signatures<signatures> extends signatures ? signatures : Signatures<signatures>): ParseAbi<signatures>;
|
|
22
|
+
//# sourceMappingURL=parseAbi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseAbi.d.ts","sourceRoot":"","sources":["../../../../src/core/internal/human-readable/parseAbi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAI/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEtD;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,CAAC,UAAU,SAAS,SAAS,MAAM,EAAE,IACvD,MAAM,EAAE,SAAS,UAAU,GACvB,GAAG,GACH,UAAU,SAAS,SAAS,MAAM,EAAE,GAClC,UAAU,SAAS,UAAU,CAAC,UAAU,CAAC,GACvC,YAAY,CAAC,UAAU,CAAC,SAAS,MAAM,OAAO,GAC5C;KACG,GAAG,IAAI,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,MAAM,GACrD,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GACxC,KAAK;CACV,SAAS,MAAM,MAAM,SAAS,SAAS,OAAO,EAAE,GAC/C,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,MAAM,MAAM,GACxC,MAAM,SAAS,SAAS,EAAE,GACxB,KAAK,GACL,MAAM,GACR,KAAK,GACP,KAAK,GACP,KAAK,GACP,KAAK,GACP,KAAK,CAAA;AAEb;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,KAAK,CAAC,UAAU,SAAS,SAAS,MAAM,EAAE,EACjE,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,GACtC,KAAK,CAAC,iCAAiC,CAAC,GACxC,UAAU,CAAC,UAAU,CAAC,SAAS,UAAU,GACvC,UAAU,GACV,UAAU,CAAC,UAAU,CAAC,GAC3B,QAAQ,CAAC,UAAU,CAAC,CAUtB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { isStructSignature } from './runtime/signatures.js';
|
|
2
|
+
import { parseStructs } from './runtime/structs.js';
|
|
3
|
+
import { parseSignature } from './runtime/utils.js';
|
|
4
|
+
/**
|
|
5
|
+
* Parses human-readable ABI into JSON `Abi`.
|
|
6
|
+
*
|
|
7
|
+
* @param signatures - Human-Readable ABI
|
|
8
|
+
* @returns Parsed `Abi`.
|
|
9
|
+
*/
|
|
10
|
+
export function parseAbi(signatures) {
|
|
11
|
+
const structs = parseStructs(signatures);
|
|
12
|
+
const abi = [];
|
|
13
|
+
const length = signatures.length;
|
|
14
|
+
for (let i = 0; i < length; i++) {
|
|
15
|
+
const signature = signatures[i];
|
|
16
|
+
if (isStructSignature(signature))
|
|
17
|
+
continue;
|
|
18
|
+
abi.push(parseSignature(signature, structs));
|
|
19
|
+
}
|
|
20
|
+
return abi;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=parseAbi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseAbi.js","sourceRoot":"","sources":["../../../../src/core/internal/human-readable/parseAbi.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAgCnD;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CACtB,UAI4B;IAE5B,MAAM,OAAO,GAAG,YAAY,CAAC,UAA+B,CAAC,CAAA;IAC7D,MAAM,GAAG,GAAG,EAAE,CAAA;IACd,MAAM,MAAM,GAAG,UAAU,CAAC,MAAgB,CAAA;IAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,SAAS,GAAI,UAAgC,CAAC,CAAC,CAAE,CAAA;QACvD,IAAI,iBAAiB,CAAC,SAAS,CAAC;YAAE,SAAQ;QAC1C,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAA;IAC9C,CAAC;IACD,OAAO,GAAsC,CAAA;AAC/C,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { Abi } from 'abitype';
|
|
2
|
+
import type { Narrow } from 'abitype';
|
|
3
|
+
import type { Error, Filter } from './types.js';
|
|
4
|
+
import type { Signature, Signatures } from './types/signatures.js';
|
|
5
|
+
import type { ParseStructs } from './types/structs.js';
|
|
6
|
+
import type { ParseSignature } from './types/utils.js';
|
|
7
|
+
/**
|
|
8
|
+
* Parses human-readable ABI item (e.g. error, event, function) into `Abi` item.
|
|
9
|
+
*
|
|
10
|
+
* @param signature - Human-readable ABI item
|
|
11
|
+
* @returns Parsed `Abi` item.
|
|
12
|
+
*/
|
|
13
|
+
export type ParseAbiItem<signature extends string | readonly string[] | readonly unknown[]> = (signature extends string ? string extends signature ? Abi[number] : signature extends Signature<signature> ? ParseSignature<signature> : never : never) | (signature extends readonly string[] ? string[] extends signature ? Abi[number] : signature extends Signatures<signature> ? ParseStructs<signature> extends infer structs ? {
|
|
14
|
+
[key in keyof signature]: ParseSignature<signature[key] extends string ? signature[key] : never, structs>;
|
|
15
|
+
} extends infer mapped extends readonly unknown[] ? Filter<mapped, never>[0] extends infer result ? result extends undefined ? never : result : never : never : never : never : never);
|
|
16
|
+
/**
|
|
17
|
+
* Parses human-readable ABI item (e.g. error, event, function) into `Abi` item.
|
|
18
|
+
*
|
|
19
|
+
* @param signature - Human-readable ABI item
|
|
20
|
+
* @returns Parsed `Abi` item.
|
|
21
|
+
*/
|
|
22
|
+
export declare function parseAbiItem<signature extends string | readonly string[] | readonly unknown[]>(signature: Narrow<signature> & ((signature extends string ? string extends signature ? unknown : Signature<signature> : never) | (signature extends readonly string[] ? signature extends readonly [] ? Error<'At least one signature required.'> : string[] extends signature ? unknown : Signatures<signature> : never))): ParseAbiItem<signature>;
|
|
23
|
+
//# sourceMappingURL=parseAbiItem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseAbiItem.d.ts","sourceRoot":"","sources":["../../../../src/core/internal/human-readable/parseAbiItem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AACrC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAK/C,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEtD;;;;;GAKG;AACH,MAAM,MAAM,YAAY,CACtB,SAAS,SAAS,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,OAAO,EAAE,IAE/D,CAAC,SAAS,SAAS,MAAM,GACrB,MAAM,SAAS,SAAS,GACtB,GAAG,CAAC,MAAM,CAAC,GACX,SAAS,SAAS,SAAS,CAAC,SAAS,CAAC,GACpC,cAAc,CAAC,SAAS,CAAC,GACzB,KAAK,GACT,KAAK,CAAC,GACV,CAAC,SAAS,SAAS,SAAS,MAAM,EAAE,GAChC,MAAM,EAAE,SAAS,SAAS,GACxB,GAAG,CAAC,MAAM,CAAC,GACX,SAAS,SAAS,UAAU,CAAC,SAAS,CAAC,GACrC,YAAY,CAAC,SAAS,CAAC,SAAS,MAAM,OAAO,GAC3C;KACG,GAAG,IAAI,MAAM,SAAS,GAAG,cAAc,CACtC,SAAS,CAAC,GAAG,CAAC,SAAS,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,EACtD,OAAO,CACR;CACF,SAAS,MAAM,MAAM,SAAS,SAAS,OAAO,EAAE,GAE/C,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,MAAM,GAC3C,MAAM,SAAS,SAAS,GACtB,KAAK,GACL,MAAM,GACR,KAAK,GACP,KAAK,GACP,KAAK,GACP,KAAK,GACT,KAAK,CAAC,CAAA;AAEd;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,SAAS,SAAS,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,OAAO,EAAE,EAEjE,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,GAC1B,CACI,CAAC,SAAS,SAAS,MAAM,GACrB,MAAM,SAAS,SAAS,GACtB,OAAO,GACP,SAAS,CAAC,SAAS,CAAC,GACtB,KAAK,CAAC,GACV,CAAC,SAAS,SAAS,SAAS,MAAM,EAAE,GAChC,SAAS,SAAS,SAAS,EAAE,GAC3B,KAAK,CAAC,kCAAkC,CAAC,GACzC,MAAM,EAAE,SAAS,SAAS,GACxB,OAAO,GACP,UAAU,CAAC,SAAS,CAAC,GACzB,KAAK,CAAC,CACb,GACF,YAAY,CAAC,SAAS,CAAC,CAiBzB"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { InvalidAbiItemError } from './errors.js';
|
|
2
|
+
import { isStructSignature } from './runtime/signatures.js';
|
|
3
|
+
import { parseStructs } from './runtime/structs.js';
|
|
4
|
+
import { parseSignature } from './runtime/utils.js';
|
|
5
|
+
/**
|
|
6
|
+
* Parses human-readable ABI item (e.g. error, event, function) into `Abi` item.
|
|
7
|
+
*
|
|
8
|
+
* @param signature - Human-readable ABI item
|
|
9
|
+
* @returns Parsed `Abi` item.
|
|
10
|
+
*/
|
|
11
|
+
export function parseAbiItem(signature) {
|
|
12
|
+
let abiItem;
|
|
13
|
+
if (typeof signature === 'string')
|
|
14
|
+
abiItem = parseSignature(signature);
|
|
15
|
+
else {
|
|
16
|
+
const structs = parseStructs(signature);
|
|
17
|
+
const length = signature.length;
|
|
18
|
+
for (let i = 0; i < length; i++) {
|
|
19
|
+
const signature_ = signature[i];
|
|
20
|
+
if (isStructSignature(signature_))
|
|
21
|
+
continue;
|
|
22
|
+
abiItem = parseSignature(signature_, structs);
|
|
23
|
+
break;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
if (!abiItem)
|
|
27
|
+
throw new InvalidAbiItemError({ signature });
|
|
28
|
+
return abiItem;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=parseAbiItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseAbiItem.js","sourceRoot":"","sources":["../../../../src/core/internal/human-readable/parseAbiItem.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AA2CnD;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAG1B,SAcG;IAEH,IAAI,OAA4C,CAAA;IAChD,IAAI,OAAO,SAAS,KAAK,QAAQ;QAC/B,OAAO,GAAG,cAAc,CAAC,SAAS,CAA4B,CAAA;SAC3D,CAAC;QACJ,MAAM,OAAO,GAAG,YAAY,CAAC,SAA8B,CAAC,CAAA;QAC5D,MAAM,MAAM,GAAG,SAAS,CAAC,MAAgB,CAAA;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,MAAM,UAAU,GAAI,SAA+B,CAAC,CAAC,CAAE,CAAA;YACvD,IAAI,iBAAiB,CAAC,UAAU,CAAC;gBAAE,SAAQ;YAC3C,OAAO,GAAG,cAAc,CAAC,UAAU,EAAE,OAAO,CAA4B,CAAA;YACxE,MAAK;QACP,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,mBAAmB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAA;IAC1D,OAAO,OAAkC,CAAA;AAC3C,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { AbiParameter } from 'abitype';
|
|
2
|
+
import type { Narrow } from 'abitype';
|
|
3
|
+
import type { Error, Filter } from './types.js';
|
|
4
|
+
import type { IsStructSignature, Modifier } from './types/signatures.js';
|
|
5
|
+
import type { ParseStructs } from './types/structs.js';
|
|
6
|
+
import type { ParseAbiParameter as ParseAbiParameter_ } from './types/utils.js';
|
|
7
|
+
/**
|
|
8
|
+
* Parses human-readable ABI parameter into `AbiParameter`.
|
|
9
|
+
*
|
|
10
|
+
* @param param - Human-readable ABI parameter
|
|
11
|
+
* @returns Parsed `AbiParameter`.
|
|
12
|
+
*/
|
|
13
|
+
export type ParseAbiParameter<param extends string | readonly string[] | readonly unknown[]> = (param extends string ? param extends '' ? never : string extends param ? AbiParameter : ParseAbiParameter_<param, {
|
|
14
|
+
modifier: Modifier;
|
|
15
|
+
}> : never) | (param extends readonly string[] ? string[] extends param ? AbiParameter : ParseStructs<param> extends infer structs ? {
|
|
16
|
+
[key in keyof param]: param[key] extends string ? IsStructSignature<param[key]> extends true ? never : ParseAbiParameter_<param[key], {
|
|
17
|
+
modifier: Modifier;
|
|
18
|
+
structs: structs;
|
|
19
|
+
}> : never;
|
|
20
|
+
} extends infer mapped extends readonly unknown[] ? Filter<mapped, never>[0] extends infer result ? result extends undefined ? never : result : never : never : never : never);
|
|
21
|
+
/**
|
|
22
|
+
* Parses human-readable ABI parameter into `AbiParameter`.
|
|
23
|
+
*
|
|
24
|
+
* @param param - Human-readable ABI parameter
|
|
25
|
+
* @returns Parsed `AbiParameter`.
|
|
26
|
+
*/
|
|
27
|
+
export declare function parseAbiParameter<param extends string | readonly string[] | readonly unknown[]>(param: Narrow<param> & ((param extends string ? param extends '' ? Error<'Empty string is not allowed.'> : unknown : never) | (param extends readonly string[] ? param extends readonly [] ? Error<'At least one parameter required.'> : string[] extends param ? unknown : unknown : never))): ParseAbiParameter<param>;
|
|
28
|
+
//# sourceMappingURL=parseAbiParameter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseAbiParameter.d.ts","sourceRoot":"","sources":["../../../../src/core/internal/human-readable/parseAbiParameter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AACrC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAK/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,iBAAiB,IAAI,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAE/E;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,CAC3B,KAAK,SAAS,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,OAAO,EAAE,IAE3D,CAAC,KAAK,SAAS,MAAM,GACjB,KAAK,SAAS,EAAE,GACd,KAAK,GACL,MAAM,SAAS,KAAK,GAClB,YAAY,GACZ,kBAAkB,CAAC,KAAK,EAAE;IAAE,QAAQ,EAAE,QAAQ,CAAA;CAAE,CAAC,GACrD,KAAK,CAAC,GACV,CAAC,KAAK,SAAS,SAAS,MAAM,EAAE,GAC5B,MAAM,EAAE,SAAS,KAAK,GACpB,YAAY,GACZ,YAAY,CAAC,KAAK,CAAC,SAAS,MAAM,OAAO,GACvC;KACG,GAAG,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,MAAM,GAC3C,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,SAAS,IAAI,GACxC,KAAK,GACL,kBAAkB,CAChB,KAAK,CAAC,GAAG,CAAC,EACV;QAAE,QAAQ,EAAE,QAAQ,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CACzC,GACH,KAAK;CACV,SAAS,MAAM,MAAM,SAAS,SAAS,OAAO,EAAE,GAC/C,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,MAAM,GAC3C,MAAM,SAAS,SAAS,GACtB,KAAK,GACL,MAAM,GACR,KAAK,GACP,KAAK,GACP,KAAK,GACT,KAAK,CAAC,CAAA;AAEd;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,SAAS,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,OAAO,EAAE,EAE7D,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAClB,CACI,CAAC,KAAK,SAAS,MAAM,GACjB,KAAK,SAAS,EAAE,GACd,KAAK,CAAC,8BAA8B,CAAC,GACrC,OAAO,GACT,KAAK,CAAC,GACV,CAAC,KAAK,SAAS,SAAS,MAAM,EAAE,GAC5B,KAAK,SAAS,SAAS,EAAE,GACvB,KAAK,CAAC,kCAAkC,CAAC,GACzC,MAAM,EAAE,SAAS,KAAK,GACpB,OAAO,GACP,OAAO,GACX,KAAK,CAAC,CACb,GACF,iBAAiB,CAAC,KAAK,CAAC,CAoB1B"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { InvalidAbiParameterError } from './errors.js';
|
|
2
|
+
import { isStructSignature, modifiers } from './runtime/signatures.js';
|
|
3
|
+
import { parseStructs } from './runtime/structs.js';
|
|
4
|
+
import { parseAbiParameter as parseAbiParameter_ } from './runtime/utils.js';
|
|
5
|
+
/**
|
|
6
|
+
* Parses human-readable ABI parameter into `AbiParameter`.
|
|
7
|
+
*
|
|
8
|
+
* @param param - Human-readable ABI parameter
|
|
9
|
+
* @returns Parsed `AbiParameter`.
|
|
10
|
+
*/
|
|
11
|
+
export function parseAbiParameter(param) {
|
|
12
|
+
let abiParameter;
|
|
13
|
+
if (typeof param === 'string')
|
|
14
|
+
abiParameter = parseAbiParameter_(param, {
|
|
15
|
+
modifiers,
|
|
16
|
+
});
|
|
17
|
+
else {
|
|
18
|
+
const structs = parseStructs(param);
|
|
19
|
+
const length = param.length;
|
|
20
|
+
for (let i = 0; i < length; i++) {
|
|
21
|
+
const signature = param[i];
|
|
22
|
+
if (isStructSignature(signature))
|
|
23
|
+
continue;
|
|
24
|
+
abiParameter = parseAbiParameter_(signature, { modifiers, structs });
|
|
25
|
+
break;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
if (!abiParameter)
|
|
29
|
+
throw new InvalidAbiParameterError({ param });
|
|
30
|
+
return abiParameter;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=parseAbiParameter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseAbiParameter.js","sourceRoot":"","sources":["../../../../src/core/internal/human-readable/parseAbiParameter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,iBAAiB,IAAI,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AA4C5E;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAG/B,KAcG;IAEH,IAAI,YAAsC,CAAA;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAC3B,YAAY,GAAG,kBAAkB,CAAC,KAAK,EAAE;YACvC,SAAS;SACV,CAA6B,CAAA;SAC3B,CAAC;QACJ,MAAM,OAAO,GAAG,YAAY,CAAC,KAA0B,CAAC,CAAA;QACxD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAgB,CAAA;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,MAAM,SAAS,GAAI,KAA2B,CAAC,CAAC,CAAE,CAAA;YAClD,IAAI,iBAAiB,CAAC,SAAS,CAAC;gBAAE,SAAQ;YAC1C,YAAY,GAAG,kBAAkB,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAA;YACpE,MAAK;QACP,CAAC;IACH,CAAC;IAED,IAAI,CAAC,YAAY;QAAE,MAAM,IAAI,wBAAwB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;IAEhE,OAAO,YAAwC,CAAA;AACjD,CAAC"}
|