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,392 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
AbiParameter,
|
|
3
|
+
AbiStateMutability,
|
|
4
|
+
AbiType,
|
|
5
|
+
SolidityFixedArrayRange,
|
|
6
|
+
} from 'abitype'
|
|
7
|
+
import type { ResolvedRegister } from 'abitype'
|
|
8
|
+
import type { Error, IsUnknown, Merge, Pretty, Trim } from '../types.js'
|
|
9
|
+
import type {
|
|
10
|
+
ErrorSignature,
|
|
11
|
+
EventModifier,
|
|
12
|
+
EventSignature,
|
|
13
|
+
FallbackSignature,
|
|
14
|
+
FunctionModifier,
|
|
15
|
+
FunctionSignature,
|
|
16
|
+
IsConstructorSignature,
|
|
17
|
+
IsErrorSignature,
|
|
18
|
+
IsEventSignature,
|
|
19
|
+
IsFunctionSignature,
|
|
20
|
+
Modifier,
|
|
21
|
+
ReceiveSignature,
|
|
22
|
+
Scope,
|
|
23
|
+
ValidateName,
|
|
24
|
+
} from './signatures.js'
|
|
25
|
+
import type { StructLookup } from './structs.js'
|
|
26
|
+
|
|
27
|
+
export type ParseSignature<
|
|
28
|
+
signature extends string,
|
|
29
|
+
structs extends StructLookup | unknown = unknown,
|
|
30
|
+
> =
|
|
31
|
+
| (IsErrorSignature<signature> extends true
|
|
32
|
+
? signature extends ErrorSignature<infer name, infer parameters>
|
|
33
|
+
? {
|
|
34
|
+
readonly name: name
|
|
35
|
+
readonly type: 'error'
|
|
36
|
+
readonly inputs: ParseAbiParameters<
|
|
37
|
+
SplitParameters<parameters>,
|
|
38
|
+
{ structs: structs }
|
|
39
|
+
>
|
|
40
|
+
}
|
|
41
|
+
: never
|
|
42
|
+
: never)
|
|
43
|
+
| (IsEventSignature<signature> extends true
|
|
44
|
+
? signature extends EventSignature<infer name, infer parameters>
|
|
45
|
+
? {
|
|
46
|
+
readonly name: name
|
|
47
|
+
readonly type: 'event'
|
|
48
|
+
readonly inputs: ParseAbiParameters<
|
|
49
|
+
SplitParameters<parameters>,
|
|
50
|
+
{ modifier: EventModifier; structs: structs }
|
|
51
|
+
>
|
|
52
|
+
}
|
|
53
|
+
: never
|
|
54
|
+
: never)
|
|
55
|
+
| (IsFunctionSignature<signature> extends true
|
|
56
|
+
? signature extends FunctionSignature<infer name, infer tail>
|
|
57
|
+
? {
|
|
58
|
+
readonly name: name
|
|
59
|
+
readonly type: 'function'
|
|
60
|
+
readonly stateMutability: _ParseFunctionParametersAndStateMutability<signature>['StateMutability']
|
|
61
|
+
readonly inputs: ParseAbiParameters<
|
|
62
|
+
SplitParameters<
|
|
63
|
+
_ParseFunctionParametersAndStateMutability<signature>['Inputs']
|
|
64
|
+
>,
|
|
65
|
+
{ modifier: FunctionModifier; structs: structs }
|
|
66
|
+
>
|
|
67
|
+
readonly outputs: tail extends
|
|
68
|
+
| `${string}returns (${infer returns})`
|
|
69
|
+
| `${string}returns(${infer returns})`
|
|
70
|
+
? ParseAbiParameters<
|
|
71
|
+
SplitParameters<returns>,
|
|
72
|
+
{ modifier: FunctionModifier; structs: structs }
|
|
73
|
+
>
|
|
74
|
+
: readonly []
|
|
75
|
+
}
|
|
76
|
+
: never
|
|
77
|
+
: never)
|
|
78
|
+
| (IsConstructorSignature<signature> extends true
|
|
79
|
+
? {
|
|
80
|
+
readonly type: 'constructor'
|
|
81
|
+
readonly stateMutability: _ParseConstructorParametersAndStateMutability<signature>['StateMutability']
|
|
82
|
+
readonly inputs: ParseAbiParameters<
|
|
83
|
+
SplitParameters<
|
|
84
|
+
_ParseConstructorParametersAndStateMutability<signature>['Inputs']
|
|
85
|
+
>,
|
|
86
|
+
{ structs: structs }
|
|
87
|
+
>
|
|
88
|
+
}
|
|
89
|
+
: never)
|
|
90
|
+
| (signature extends FallbackSignature<infer stateMutability>
|
|
91
|
+
? {
|
|
92
|
+
readonly type: 'fallback'
|
|
93
|
+
readonly stateMutability: stateMutability extends `${string}payable`
|
|
94
|
+
? 'payable'
|
|
95
|
+
: 'nonpayable'
|
|
96
|
+
}
|
|
97
|
+
: never)
|
|
98
|
+
| (signature extends ReceiveSignature
|
|
99
|
+
? {
|
|
100
|
+
readonly type: 'receive'
|
|
101
|
+
readonly stateMutability: 'payable'
|
|
102
|
+
}
|
|
103
|
+
: never)
|
|
104
|
+
|
|
105
|
+
type ParseOptions = {
|
|
106
|
+
modifier?: Modifier
|
|
107
|
+
structs?: StructLookup | unknown
|
|
108
|
+
}
|
|
109
|
+
type DefaultParseOptions = object
|
|
110
|
+
|
|
111
|
+
export type ParseAbiParameters<
|
|
112
|
+
signatures extends readonly string[],
|
|
113
|
+
options extends ParseOptions = DefaultParseOptions,
|
|
114
|
+
> = signatures extends ['']
|
|
115
|
+
? readonly []
|
|
116
|
+
: readonly [
|
|
117
|
+
...{
|
|
118
|
+
[key in keyof signatures]: ParseAbiParameter<signatures[key], options>
|
|
119
|
+
},
|
|
120
|
+
]
|
|
121
|
+
|
|
122
|
+
export type ParseAbiParameter<
|
|
123
|
+
signature extends string,
|
|
124
|
+
options extends ParseOptions = DefaultParseOptions,
|
|
125
|
+
> = (
|
|
126
|
+
signature extends `(${string})${string}`
|
|
127
|
+
? _ParseTuple<signature, options>
|
|
128
|
+
: // Convert string to shallow AbiParameter (structs resolved yet)
|
|
129
|
+
// Check for `${Type} ${nameOrModifier}` format (e.g. `uint256 foo`, `uint256 indexed`, `uint256 indexed foo`)
|
|
130
|
+
signature extends `${infer type} ${infer tail}`
|
|
131
|
+
? Trim<tail> extends infer trimmed extends string
|
|
132
|
+
? // TODO: data location modifiers only allowed for struct/array types
|
|
133
|
+
{ readonly type: Trim<type> } & _SplitNameOrModifier<trimmed, options>
|
|
134
|
+
: never
|
|
135
|
+
: // Must be `${Type}` format (e.g. `uint256`)
|
|
136
|
+
{ readonly type: signature }
|
|
137
|
+
) extends infer shallowParameter extends AbiParameter & {
|
|
138
|
+
type: string
|
|
139
|
+
indexed?: boolean
|
|
140
|
+
}
|
|
141
|
+
? // Resolve struct types
|
|
142
|
+
// Starting with plain struct types (e.g. `Foo`)
|
|
143
|
+
(
|
|
144
|
+
shallowParameter['type'] extends keyof options['structs']
|
|
145
|
+
? {
|
|
146
|
+
readonly type: 'tuple'
|
|
147
|
+
readonly components: options['structs'][shallowParameter['type']]
|
|
148
|
+
} & (IsUnknown<shallowParameter['name']> extends false
|
|
149
|
+
? { readonly name: shallowParameter['name'] }
|
|
150
|
+
: object) &
|
|
151
|
+
(shallowParameter['indexed'] extends true
|
|
152
|
+
? { readonly indexed: true }
|
|
153
|
+
: object)
|
|
154
|
+
: // Resolve tuple structs (e.g. `Foo[]`, `Foo[2]`, `Foo[][2]`, etc.)
|
|
155
|
+
shallowParameter['type'] extends `${infer type extends string &
|
|
156
|
+
keyof options['structs']}[${infer tail}]`
|
|
157
|
+
? {
|
|
158
|
+
readonly type: `tuple[${tail}]`
|
|
159
|
+
readonly components: options['structs'][type]
|
|
160
|
+
} & (IsUnknown<shallowParameter['name']> extends false
|
|
161
|
+
? { readonly name: shallowParameter['name'] }
|
|
162
|
+
: object) &
|
|
163
|
+
(shallowParameter['indexed'] extends true
|
|
164
|
+
? { readonly indexed: true }
|
|
165
|
+
: object)
|
|
166
|
+
: // Not a struct, just return
|
|
167
|
+
shallowParameter
|
|
168
|
+
) extends infer Parameter extends AbiParameter & {
|
|
169
|
+
type: string
|
|
170
|
+
indexed?: boolean
|
|
171
|
+
}
|
|
172
|
+
? Pretty<_ValidateAbiParameter<Parameter>>
|
|
173
|
+
: never
|
|
174
|
+
: never
|
|
175
|
+
|
|
176
|
+
export type SplitParameters<
|
|
177
|
+
signature extends string,
|
|
178
|
+
result extends unknown[] = [],
|
|
179
|
+
current extends string = '',
|
|
180
|
+
depth extends readonly number[] = [],
|
|
181
|
+
> = signature extends ''
|
|
182
|
+
? current extends ''
|
|
183
|
+
? [...result] // empty string was passed in to `SplitParameters`
|
|
184
|
+
: depth['length'] extends 0
|
|
185
|
+
? [...result, Trim<current>]
|
|
186
|
+
: Error<`Unbalanced parentheses. "${current}" has too many opening parentheses.`>
|
|
187
|
+
: signature extends `${infer char}${infer tail}`
|
|
188
|
+
? char extends ','
|
|
189
|
+
? depth['length'] extends 0
|
|
190
|
+
? SplitParameters<tail, [...result, Trim<current>], ''>
|
|
191
|
+
: SplitParameters<tail, result, `${current}${char}`, depth>
|
|
192
|
+
: char extends '('
|
|
193
|
+
? SplitParameters<tail, result, `${current}${char}`, [...depth, 1]>
|
|
194
|
+
: char extends ')'
|
|
195
|
+
? depth['length'] extends 0
|
|
196
|
+
? Error<`Unbalanced parentheses. "${current}" has too many closing parentheses.`>
|
|
197
|
+
: SplitParameters<tail, result, `${current}${char}`, Pop<depth>>
|
|
198
|
+
: SplitParameters<tail, result, `${current}${char}`, depth>
|
|
199
|
+
: []
|
|
200
|
+
type Pop<type extends readonly number[]> = type extends [...infer head, any]
|
|
201
|
+
? head
|
|
202
|
+
: []
|
|
203
|
+
|
|
204
|
+
export type _ValidateAbiParameter<abiParameter extends AbiParameter> =
|
|
205
|
+
// Validate `name`
|
|
206
|
+
(
|
|
207
|
+
abiParameter extends { name: string }
|
|
208
|
+
? ValidateName<abiParameter['name']> extends infer name
|
|
209
|
+
? name extends abiParameter['name']
|
|
210
|
+
? abiParameter
|
|
211
|
+
: // Add `Error` as `name`
|
|
212
|
+
Merge<abiParameter, { readonly name: name }>
|
|
213
|
+
: never
|
|
214
|
+
: abiParameter
|
|
215
|
+
) extends infer parameter
|
|
216
|
+
? // Validate `type` against `AbiType`
|
|
217
|
+
(
|
|
218
|
+
ResolvedRegister['strictAbiType'] extends true
|
|
219
|
+
? parameter extends { type: AbiType }
|
|
220
|
+
? parameter
|
|
221
|
+
: Merge<
|
|
222
|
+
parameter,
|
|
223
|
+
{
|
|
224
|
+
readonly type: Error<`Type "${parameter extends {
|
|
225
|
+
type: string
|
|
226
|
+
}
|
|
227
|
+
? parameter['type']
|
|
228
|
+
: string}" is not a valid ABI type.`>
|
|
229
|
+
}
|
|
230
|
+
>
|
|
231
|
+
: parameter
|
|
232
|
+
) extends infer parameter2 extends { type: unknown }
|
|
233
|
+
? // Convert `(u)int` to `(u)int256`
|
|
234
|
+
parameter2['type'] extends `${infer prefix extends
|
|
235
|
+
| 'u'
|
|
236
|
+
| ''}int${infer suffix extends `[${string}]` | ''}`
|
|
237
|
+
? Pretty<
|
|
238
|
+
Merge<parameter2, { readonly type: `${prefix}int256${suffix}` }>
|
|
239
|
+
>
|
|
240
|
+
: parameter2
|
|
241
|
+
: never
|
|
242
|
+
: never
|
|
243
|
+
|
|
244
|
+
export type _ParseFunctionParametersAndStateMutability<
|
|
245
|
+
signature extends string,
|
|
246
|
+
> = signature extends
|
|
247
|
+
| `${infer head}returns (${string})`
|
|
248
|
+
| `${infer head}returns(${string})`
|
|
249
|
+
? _ParseFunctionParametersAndStateMutability<Trim<head>>
|
|
250
|
+
: signature extends `function ${string}(${infer parameters})`
|
|
251
|
+
? { Inputs: parameters; StateMutability: 'nonpayable' }
|
|
252
|
+
: signature extends `function ${string}(${infer parameters}) ${infer scopeOrStateMutability extends
|
|
253
|
+
Scope | AbiStateMutability | `${Scope} ${AbiStateMutability}`}`
|
|
254
|
+
? {
|
|
255
|
+
Inputs: parameters
|
|
256
|
+
StateMutability: _ParseStateMutability<scopeOrStateMutability>
|
|
257
|
+
}
|
|
258
|
+
: signature extends `function ${string}(${infer tail}`
|
|
259
|
+
? _UnwrapNameOrModifier<tail> extends {
|
|
260
|
+
nameOrModifier: infer scopeOrStateMutability extends string
|
|
261
|
+
End: infer parameters
|
|
262
|
+
}
|
|
263
|
+
? {
|
|
264
|
+
Inputs: parameters
|
|
265
|
+
StateMutability: _ParseStateMutability<scopeOrStateMutability>
|
|
266
|
+
}
|
|
267
|
+
: never
|
|
268
|
+
: never
|
|
269
|
+
|
|
270
|
+
type _ParseStateMutability<signature extends string> =
|
|
271
|
+
signature extends `${Scope} ${infer stateMutability extends AbiStateMutability}`
|
|
272
|
+
? stateMutability
|
|
273
|
+
: signature extends AbiStateMutability
|
|
274
|
+
? signature
|
|
275
|
+
: 'nonpayable'
|
|
276
|
+
|
|
277
|
+
type _ParseConstructorParametersAndStateMutability<signature extends string> =
|
|
278
|
+
signature extends `constructor(${infer parameters}) payable`
|
|
279
|
+
? { Inputs: parameters; StateMutability: 'payable' }
|
|
280
|
+
: signature extends `constructor(${infer parameters})`
|
|
281
|
+
? { Inputs: parameters; StateMutability: 'nonpayable' }
|
|
282
|
+
: never
|
|
283
|
+
|
|
284
|
+
export type _ParseTuple<
|
|
285
|
+
signature extends `(${string})${string}`,
|
|
286
|
+
options extends ParseOptions = DefaultParseOptions,
|
|
287
|
+
> =
|
|
288
|
+
/** Tuples without name or modifier (e.g. `(string)`, `(string foo)`) */
|
|
289
|
+
signature extends `(${infer parameters})`
|
|
290
|
+
? {
|
|
291
|
+
readonly type: 'tuple'
|
|
292
|
+
readonly components: ParseAbiParameters<
|
|
293
|
+
SplitParameters<parameters>,
|
|
294
|
+
Omit<options, 'modifier'>
|
|
295
|
+
>
|
|
296
|
+
}
|
|
297
|
+
: // Array or fixed-length array tuples (e.g. `(string)[]`, `(string)[5]`)
|
|
298
|
+
signature extends `(${infer head})[${'' | `${SolidityFixedArrayRange}`}]`
|
|
299
|
+
? signature extends `(${head})[${infer size}]`
|
|
300
|
+
? {
|
|
301
|
+
readonly type: `tuple[${size}]`
|
|
302
|
+
readonly components: ParseAbiParameters<
|
|
303
|
+
SplitParameters<head>,
|
|
304
|
+
Omit<options, 'modifier'>
|
|
305
|
+
>
|
|
306
|
+
}
|
|
307
|
+
: never
|
|
308
|
+
: // Array or fixed-length array tuples with name and/or modifier attached (e.g. `(string)[] foo`, `(string)[5] foo`)
|
|
309
|
+
signature extends `(${infer parameters})[${
|
|
310
|
+
| ''
|
|
311
|
+
| `${SolidityFixedArrayRange}`}] ${infer nameOrModifier}`
|
|
312
|
+
? signature extends `(${parameters})[${infer size}] ${nameOrModifier}`
|
|
313
|
+
? nameOrModifier extends `${string}) ${string}`
|
|
314
|
+
? _UnwrapNameOrModifier<nameOrModifier> extends infer parts extends
|
|
315
|
+
{
|
|
316
|
+
nameOrModifier: string
|
|
317
|
+
End: string
|
|
318
|
+
}
|
|
319
|
+
? {
|
|
320
|
+
readonly type: 'tuple'
|
|
321
|
+
readonly components: ParseAbiParameters<
|
|
322
|
+
SplitParameters<`${parameters})[${size}] ${parts['End']}`>,
|
|
323
|
+
Omit<options, 'modifier'>
|
|
324
|
+
>
|
|
325
|
+
} & _SplitNameOrModifier<parts['nameOrModifier'], options>
|
|
326
|
+
: never
|
|
327
|
+
: {
|
|
328
|
+
readonly type: `tuple[${size}]`
|
|
329
|
+
readonly components: ParseAbiParameters<
|
|
330
|
+
SplitParameters<parameters>,
|
|
331
|
+
Omit<options, 'modifier'>
|
|
332
|
+
>
|
|
333
|
+
} & _SplitNameOrModifier<nameOrModifier, options>
|
|
334
|
+
: never
|
|
335
|
+
: // Tuples with name and/or modifier attached (e.g. `(string) foo`, `(string bar) foo`)
|
|
336
|
+
signature extends `(${infer parameters}) ${infer nameOrModifier}`
|
|
337
|
+
? // Check that `nameOrModifier` didn't get matched to `baz) bar) foo` (e.g. `(((string) baz) bar) foo`)
|
|
338
|
+
nameOrModifier extends `${string}) ${string}`
|
|
339
|
+
? _UnwrapNameOrModifier<nameOrModifier> extends infer parts extends
|
|
340
|
+
{
|
|
341
|
+
nameOrModifier: string
|
|
342
|
+
End: string
|
|
343
|
+
}
|
|
344
|
+
? {
|
|
345
|
+
readonly type: 'tuple'
|
|
346
|
+
readonly components: ParseAbiParameters<
|
|
347
|
+
SplitParameters<`${parameters}) ${parts['End']}`>,
|
|
348
|
+
Omit<options, 'modifier'>
|
|
349
|
+
>
|
|
350
|
+
} & _SplitNameOrModifier<parts['nameOrModifier'], options>
|
|
351
|
+
: never
|
|
352
|
+
: {
|
|
353
|
+
readonly type: 'tuple'
|
|
354
|
+
readonly components: ParseAbiParameters<
|
|
355
|
+
SplitParameters<parameters>,
|
|
356
|
+
Omit<options, 'modifier'>
|
|
357
|
+
>
|
|
358
|
+
} & _SplitNameOrModifier<nameOrModifier, options>
|
|
359
|
+
: never
|
|
360
|
+
|
|
361
|
+
// Split name and modifier (e.g. `indexed foo` => `{ name: 'foo', indexed: true }`)
|
|
362
|
+
export type _SplitNameOrModifier<
|
|
363
|
+
signature extends string,
|
|
364
|
+
options extends ParseOptions = DefaultParseOptions,
|
|
365
|
+
> =
|
|
366
|
+
Trim<signature> extends infer trimmed
|
|
367
|
+
? options extends { modifier: Modifier }
|
|
368
|
+
? // TODO: Check that modifier is allowed
|
|
369
|
+
trimmed extends `${infer mod extends options['modifier']} ${infer name}`
|
|
370
|
+
? Pretty<
|
|
371
|
+
{ readonly name: Trim<name> } & (mod extends 'indexed'
|
|
372
|
+
? { readonly indexed: true }
|
|
373
|
+
: object)
|
|
374
|
+
>
|
|
375
|
+
: trimmed extends options['modifier']
|
|
376
|
+
? trimmed extends 'indexed'
|
|
377
|
+
? { readonly indexed: true }
|
|
378
|
+
: object
|
|
379
|
+
: { readonly name: trimmed }
|
|
380
|
+
: { readonly name: trimmed }
|
|
381
|
+
: never
|
|
382
|
+
|
|
383
|
+
// `baz) bar) foo` (e.g. `(((string) baz) bar) foo`)
|
|
384
|
+
export type _UnwrapNameOrModifier<
|
|
385
|
+
signature extends string,
|
|
386
|
+
current extends string = '',
|
|
387
|
+
> = signature extends `${infer head}) ${infer tail}`
|
|
388
|
+
? _UnwrapNameOrModifier<
|
|
389
|
+
tail,
|
|
390
|
+
`${current}${current extends '' ? '' : ') '}${head}`
|
|
391
|
+
>
|
|
392
|
+
: { End: Trim<current>; nameOrModifier: Trim<signature> }
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/** @internal */
|
|
2
|
+
export type Error<messages extends string | string[]> = messages extends string
|
|
3
|
+
? [`Error: ${messages}`]
|
|
4
|
+
: {
|
|
5
|
+
[key in keyof messages]: messages[key] extends infer message extends
|
|
6
|
+
string
|
|
7
|
+
? `Error: ${message}`
|
|
8
|
+
: never
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
/** @internal */
|
|
12
|
+
export type Filter<
|
|
13
|
+
items extends readonly unknown[],
|
|
14
|
+
item,
|
|
15
|
+
acc extends readonly unknown[] = [],
|
|
16
|
+
> = items extends readonly [
|
|
17
|
+
infer head,
|
|
18
|
+
...infer tail extends readonly unknown[],
|
|
19
|
+
]
|
|
20
|
+
? [head] extends [item]
|
|
21
|
+
? Filter<tail, item, acc>
|
|
22
|
+
: Filter<tail, item, [...acc, head]>
|
|
23
|
+
: readonly [...acc]
|
|
24
|
+
|
|
25
|
+
/** @internal */
|
|
26
|
+
export type IsNarrowable<type, type2> =
|
|
27
|
+
IsUnknown<type> extends true
|
|
28
|
+
? false
|
|
29
|
+
: IsNever<
|
|
30
|
+
(type extends type2 ? true : false) &
|
|
31
|
+
(type2 extends type ? false : true)
|
|
32
|
+
> extends true
|
|
33
|
+
? false
|
|
34
|
+
: true
|
|
35
|
+
|
|
36
|
+
/** @internal */
|
|
37
|
+
export type IsNever<type> = [type] extends [never] ? true : false
|
|
38
|
+
|
|
39
|
+
/** @internal */
|
|
40
|
+
export type IsUnknown<type> = unknown extends type ? true : false
|
|
41
|
+
|
|
42
|
+
/** @internal */
|
|
43
|
+
export type Join<
|
|
44
|
+
array extends readonly unknown[],
|
|
45
|
+
separator extends string | number,
|
|
46
|
+
> = array extends readonly [infer head, ...infer tail]
|
|
47
|
+
? tail['length'] extends 0
|
|
48
|
+
? `${head & string}`
|
|
49
|
+
: `${head & string}${separator}${Join<tail, separator>}`
|
|
50
|
+
: never
|
|
51
|
+
|
|
52
|
+
/** @internal */
|
|
53
|
+
export type Merge<object1, object2> = Omit<object1, keyof object2> & object2
|
|
54
|
+
|
|
55
|
+
/** @internal */
|
|
56
|
+
export type Pretty<type> = { [key in keyof type]: type[key] } & unknown
|
|
57
|
+
|
|
58
|
+
/** @internal */
|
|
59
|
+
export type Trim<type, chars extends string = ' '> = TrimLeft<
|
|
60
|
+
TrimRight<type, chars>,
|
|
61
|
+
chars
|
|
62
|
+
>
|
|
63
|
+
type TrimLeft<t, chars extends string = ' '> = t extends `${chars}${infer tail}`
|
|
64
|
+
? TrimLeft<tail>
|
|
65
|
+
: t
|
|
66
|
+
type TrimRight<
|
|
67
|
+
t,
|
|
68
|
+
chars extends string = ' ',
|
|
69
|
+
> = t extends `${infer head}${chars}` ? TrimRight<head> : t
|
|
@@ -218,6 +218,26 @@ export type Eth = RpcSchema.From<
|
|
|
218
218
|
}
|
|
219
219
|
ReturnType: Fee.FeeHistoryRpc
|
|
220
220
|
}
|
|
221
|
+
/**
|
|
222
|
+
* Fills the defaults (nonce, gas, gasPrice, or 1559 fields) on a given unsigned transaction, and returns the unsigned transaction along with its raw form
|
|
223
|
+
*
|
|
224
|
+
* @example
|
|
225
|
+
* ```
|
|
226
|
+
* request({ method: 'eth_fillTransaction', params: [{ from: '0x...', to: '0x...', value: '0x...' }] })
|
|
227
|
+
* // { raw: '0x...', tx: { ... } }
|
|
228
|
+
* ```
|
|
229
|
+
*/
|
|
230
|
+
| {
|
|
231
|
+
Request: {
|
|
232
|
+
method: 'eth_fillTransaction'
|
|
233
|
+
params: [transaction: TransactionRequest.Rpc]
|
|
234
|
+
}
|
|
235
|
+
ReturnType: {
|
|
236
|
+
capabilities?: Record<string, unknown> | undefined
|
|
237
|
+
raw: Hex.Hex
|
|
238
|
+
tx: Transaction.Rpc
|
|
239
|
+
}
|
|
240
|
+
}
|
|
221
241
|
/**
|
|
222
242
|
* Returns the current price of gas expressed in wei
|
|
223
243
|
*
|
|
@@ -425,6 +445,22 @@ export type Eth = RpcSchema.From<
|
|
|
425
445
|
}
|
|
426
446
|
ReturnType: AccountProof.Rpc
|
|
427
447
|
}
|
|
448
|
+
/**
|
|
449
|
+
* Returns the raw, serialized transaction specified by hash
|
|
450
|
+
*
|
|
451
|
+
* @example
|
|
452
|
+
* ```
|
|
453
|
+
* request({ method: 'eth_getRawTransactionByHash', params: ['0x...'] })
|
|
454
|
+
* // '0x...'
|
|
455
|
+
* ```
|
|
456
|
+
*/
|
|
457
|
+
| {
|
|
458
|
+
Request: {
|
|
459
|
+
method: 'eth_getRawTransactionByHash'
|
|
460
|
+
params: [hash: Hex.Hex]
|
|
461
|
+
}
|
|
462
|
+
ReturnType: Hex.Hex | null
|
|
463
|
+
}
|
|
428
464
|
/**
|
|
429
465
|
* Returns the value from a storage position at an address
|
|
430
466
|
*
|