ox 1.0.0-beta.2 → 1.0.0-beta.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/Abi.d.ts +6 -2
- package/dist/core/Abi.d.ts.map +1 -1
- package/dist/core/Abi.js +6 -3
- package/dist/core/Abi.js.map +1 -1
- package/dist/core/AbiConstructor.d.ts +2 -1
- package/dist/core/AbiConstructor.d.ts.map +1 -1
- package/dist/core/AbiConstructor.js +2 -2
- package/dist/core/AbiConstructor.js.map +1 -1
- package/dist/core/AbiError.d.ts +3 -1
- package/dist/core/AbiError.d.ts.map +1 -1
- package/dist/core/AbiError.js +2 -2
- package/dist/core/AbiError.js.map +1 -1
- package/dist/core/AbiEvent.d.ts +3 -1
- package/dist/core/AbiEvent.d.ts.map +1 -1
- package/dist/core/AbiEvent.js +2 -2
- package/dist/core/AbiEvent.js.map +1 -1
- package/dist/core/AbiFunction.d.ts +3 -1
- package/dist/core/AbiFunction.d.ts.map +1 -1
- package/dist/core/AbiFunction.js +2 -2
- package/dist/core/AbiFunction.js.map +1 -1
- package/dist/core/AbiItem.d.ts +6 -3
- package/dist/core/AbiItem.d.ts.map +1 -1
- package/dist/core/AbiItem.js +9 -7
- package/dist/core/AbiItem.js.map +1 -1
- package/dist/core/AbiParameter.d.ts +88 -0
- package/dist/core/AbiParameter.d.ts.map +1 -0
- package/dist/core/AbiParameter.js +82 -0
- package/dist/core/AbiParameter.js.map +1 -0
- package/dist/core/AbiParameters.d.ts +58 -2
- package/dist/core/AbiParameters.d.ts.map +1 -1
- package/dist/core/AbiParameters.js +60 -6
- package/dist/core/AbiParameters.js.map +1 -1
- package/dist/core/AccountProof.d.ts +3 -1
- package/dist/core/AccountProof.d.ts.map +1 -1
- package/dist/core/AccountProof.js +3 -4
- package/dist/core/AccountProof.js.map +1 -1
- package/dist/core/Authorization.d.ts +6 -2
- package/dist/core/Authorization.d.ts.map +1 -1
- package/dist/core/Authorization.js +3 -2
- package/dist/core/Authorization.js.map +1 -1
- package/dist/core/Block.d.ts +3 -1
- package/dist/core/Block.d.ts.map +1 -1
- package/dist/core/Block.js +12 -13
- package/dist/core/Block.js.map +1 -1
- package/dist/core/BlockOverrides.d.ts +5 -1
- package/dist/core/BlockOverrides.d.ts.map +1 -1
- package/dist/core/BlockOverrides.js +12 -12
- package/dist/core/BlockOverrides.js.map +1 -1
- package/dist/core/Filter.d.ts +3 -1
- package/dist/core/Filter.d.ts.map +1 -1
- package/dist/core/Filter.js +4 -4
- package/dist/core/Filter.js.map +1 -1
- package/dist/core/Log.d.ts +4 -2
- package/dist/core/Log.d.ts.map +1 -1
- package/dist/core/Log.js +4 -4
- package/dist/core/Log.js.map +1 -1
- package/dist/core/Rlp.d.ts +27 -5
- package/dist/core/Rlp.d.ts.map +1 -1
- package/dist/core/Rlp.js +40 -4
- package/dist/core/Rlp.js.map +1 -1
- package/dist/core/RpcSchema.d.ts +2 -2
- package/dist/core/Signature.d.ts +3 -1
- package/dist/core/Signature.d.ts.map +1 -1
- package/dist/core/Signature.js +2 -1
- package/dist/core/Signature.js.map +1 -1
- package/dist/core/StateOverrides.d.ts +5 -1
- package/dist/core/StateOverrides.d.ts.map +1 -1
- package/dist/core/StateOverrides.js +4 -4
- package/dist/core/StateOverrides.js.map +1 -1
- package/dist/core/Transaction.d.ts +3 -1
- package/dist/core/Transaction.d.ts.map +1 -1
- package/dist/core/Transaction.js +26 -26
- package/dist/core/Transaction.js.map +1 -1
- package/dist/core/TransactionReceipt.d.ts +3 -1
- package/dist/core/TransactionReceipt.d.ts.map +1 -1
- package/dist/core/TransactionReceipt.js +8 -8
- package/dist/core/TransactionReceipt.js.map +1 -1
- package/dist/core/TransactionRequest.d.ts +3 -1
- package/dist/core/TransactionRequest.d.ts.map +1 -1
- package/dist/core/TransactionRequest.js +11 -10
- package/dist/core/TransactionRequest.js.map +1 -1
- package/dist/core/TxEnvelope.d.ts +3 -1
- package/dist/core/TxEnvelope.d.ts.map +1 -1
- package/dist/core/TxEnvelope.js.map +1 -1
- package/dist/core/TxEnvelopeEip1559.d.ts +3 -1
- package/dist/core/TxEnvelopeEip1559.d.ts.map +1 -1
- package/dist/core/TxEnvelopeEip1559.js +12 -11
- package/dist/core/TxEnvelopeEip1559.js.map +1 -1
- package/dist/core/TxEnvelopeEip2930.d.ts +3 -1
- package/dist/core/TxEnvelopeEip2930.d.ts.map +1 -1
- package/dist/core/TxEnvelopeEip2930.js +10 -9
- package/dist/core/TxEnvelopeEip2930.js.map +1 -1
- package/dist/core/TxEnvelopeEip4844.d.ts +3 -1
- package/dist/core/TxEnvelopeEip4844.d.ts.map +1 -1
- package/dist/core/TxEnvelopeEip4844.js +16 -13
- package/dist/core/TxEnvelopeEip4844.js.map +1 -1
- package/dist/core/TxEnvelopeEip7702.d.ts +3 -1
- package/dist/core/TxEnvelopeEip7702.d.ts.map +1 -1
- package/dist/core/TxEnvelopeEip7702.js +12 -11
- package/dist/core/TxEnvelopeEip7702.js.map +1 -1
- package/dist/core/TxEnvelopeLegacy.d.ts +7 -1
- package/dist/core/TxEnvelopeLegacy.d.ts.map +1 -1
- package/dist/core/TxEnvelopeLegacy.js +9 -8
- package/dist/core/TxEnvelopeLegacy.js.map +1 -1
- package/dist/core/Withdrawal.d.ts +4 -2
- package/dist/core/Withdrawal.d.ts.map +1 -1
- package/dist/core/Withdrawal.js +4 -4
- package/dist/core/Withdrawal.js.map +1 -1
- package/dist/core/internal/abiParameters.d.ts.map +1 -1
- package/dist/core/internal/abiParameters.js +21 -3
- package/dist/core/internal/abiParameters.js.map +1 -1
- package/dist/core/internal/human-readable/errors.d.ts +103 -0
- package/dist/core/internal/human-readable/errors.d.ts.map +1 -0
- package/dist/core/internal/human-readable/errors.js +142 -0
- package/dist/core/internal/human-readable/errors.js.map +1 -0
- package/dist/core/internal/human-readable/formatAbi.d.ts +19 -0
- package/dist/core/internal/human-readable/formatAbi.d.ts.map +1 -0
- package/dist/core/internal/human-readable/formatAbi.js +18 -0
- package/dist/core/internal/human-readable/formatAbi.js.map +1 -0
- package/dist/core/internal/human-readable/formatAbiItem.d.ts +23 -0
- package/dist/core/internal/human-readable/formatAbiItem.d.ts.map +1 -0
- package/dist/core/internal/human-readable/formatAbiItem.js +25 -0
- package/dist/core/internal/human-readable/formatAbiItem.js.map +1 -0
- package/dist/core/internal/human-readable/formatAbiParameter.d.ts +41 -0
- package/dist/core/internal/human-readable/formatAbiParameter.d.ts.map +1 -0
- package/dist/core/internal/human-readable/formatAbiParameter.js +36 -0
- package/dist/core/internal/human-readable/formatAbiParameter.js.map +1 -0
- package/dist/core/internal/human-readable/formatAbiParameters.d.ts +26 -0
- package/dist/core/internal/human-readable/formatAbiParameters.d.ts.map +1 -0
- package/dist/core/internal/human-readable/formatAbiParameters.js +19 -0
- package/dist/core/internal/human-readable/formatAbiParameters.js.map +1 -0
- package/dist/core/internal/human-readable/parseAbi.d.ts +22 -0
- package/dist/core/internal/human-readable/parseAbi.d.ts.map +1 -0
- package/dist/core/internal/human-readable/parseAbi.js +22 -0
- package/dist/core/internal/human-readable/parseAbi.js.map +1 -0
- package/dist/core/internal/human-readable/parseAbiItem.d.ts +23 -0
- package/dist/core/internal/human-readable/parseAbiItem.d.ts.map +1 -0
- package/dist/core/internal/human-readable/parseAbiItem.js +30 -0
- package/dist/core/internal/human-readable/parseAbiItem.js.map +1 -0
- package/dist/core/internal/human-readable/parseAbiParameter.d.ts +28 -0
- package/dist/core/internal/human-readable/parseAbiParameter.d.ts.map +1 -0
- package/dist/core/internal/human-readable/parseAbiParameter.js +32 -0
- package/dist/core/internal/human-readable/parseAbiParameter.js.map +1 -0
- package/dist/core/internal/human-readable/parseAbiParameters.d.ts +38 -0
- package/dist/core/internal/human-readable/parseAbiParameters.d.ts.map +1 -0
- package/dist/core/internal/human-readable/parseAbiParameters.js +39 -0
- package/dist/core/internal/human-readable/parseAbiParameters.js.map +1 -0
- package/dist/core/internal/human-readable/regex.d.ts +9 -0
- package/dist/core/internal/human-readable/regex.d.ts.map +1 -0
- package/dist/core/internal/human-readable/regex.js +12 -0
- package/dist/core/internal/human-readable/regex.js.map +1 -0
- package/dist/core/internal/human-readable/runtime/cache.d.ts +22 -0
- package/dist/core/internal/human-readable/runtime/cache.d.ts.map +1 -0
- package/dist/core/internal/human-readable/runtime/cache.js +86 -0
- package/dist/core/internal/human-readable/runtime/cache.js.map +1 -0
- package/dist/core/internal/human-readable/runtime/signatures.d.ts +39 -0
- package/dist/core/internal/human-readable/runtime/signatures.d.ts.map +1 -0
- package/dist/core/internal/human-readable/runtime/signatures.js +67 -0
- package/dist/core/internal/human-readable/runtime/signatures.js.map +1 -0
- package/dist/core/internal/human-readable/runtime/structs.d.ts +3 -0
- package/dist/core/internal/human-readable/runtime/structs.d.ts.map +1 -0
- package/dist/core/internal/human-readable/runtime/structs.js +79 -0
- package/dist/core/internal/human-readable/runtime/structs.js.map +1 -0
- package/dist/core/internal/human-readable/runtime/utils.d.ts +205 -0
- package/dist/core/internal/human-readable/runtime/utils.d.ts.map +1 -0
- package/dist/core/internal/human-readable/runtime/utils.js +232 -0
- package/dist/core/internal/human-readable/runtime/utils.js.map +1 -0
- package/dist/core/internal/human-readable/types/signatures.d.ts +38 -0
- package/dist/core/internal/human-readable/types/signatures.d.ts.map +1 -0
- package/dist/core/internal/human-readable/types/signatures.js +2 -0
- package/dist/core/internal/human-readable/types/signatures.js.map +1 -0
- package/dist/core/internal/human-readable/types/structs.d.ts +48 -0
- package/dist/core/internal/human-readable/types/structs.d.ts.map +1 -0
- package/dist/core/internal/human-readable/types/structs.js +2 -0
- package/dist/core/internal/human-readable/types/structs.js.map +1 -0
- package/dist/core/internal/human-readable/types/utils.d.ts +163 -0
- package/dist/core/internal/human-readable/types/utils.d.ts.map +1 -0
- package/dist/core/internal/human-readable/types/utils.js +2 -0
- package/dist/core/internal/human-readable/types/utils.js.map +1 -0
- package/dist/core/internal/human-readable/types.d.ts +29 -0
- package/dist/core/internal/human-readable/types.d.ts.map +1 -0
- package/dist/core/internal/human-readable/types.js +2 -0
- package/dist/core/internal/human-readable/types.js.map +1 -0
- package/dist/core/internal/quantity.d.ts +15 -0
- package/dist/core/internal/quantity.d.ts.map +1 -1
- package/dist/core/internal/quantity.js +23 -0
- package/dist/core/internal/quantity.js.map +1 -1
- package/dist/core/internal/rpcSchemas/eth.d.ts +56 -10
- package/dist/core/internal/rpcSchemas/eth.d.ts.map +1 -1
- package/dist/erc4337/UserOperation.d.ts +3 -1
- package/dist/erc4337/UserOperation.d.ts.map +1 -1
- package/dist/erc4337/UserOperation.js +11 -10
- package/dist/erc4337/UserOperation.js.map +1 -1
- package/dist/erc4337/UserOperationGas.d.ts +5 -1
- package/dist/erc4337/UserOperationGas.d.ts.map +1 -1
- package/dist/erc4337/UserOperationGas.js +8 -8
- package/dist/erc4337/UserOperationGas.js.map +1 -1
- package/dist/erc4337/UserOperationReceipt.d.ts +5 -1
- package/dist/erc4337/UserOperationReceipt.d.ts.map +1 -1
- package/dist/erc4337/UserOperationReceipt.js +4 -4
- package/dist/erc4337/UserOperationReceipt.js.map +1 -1
- package/dist/index.d.ts +37 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +37 -0
- package/dist/index.js.map +1 -1
- package/dist/tempo/AuthorizationTempo.d.ts +6 -2
- package/dist/tempo/AuthorizationTempo.d.ts.map +1 -1
- package/dist/tempo/AuthorizationTempo.js +3 -2
- package/dist/tempo/AuthorizationTempo.js.map +1 -1
- package/dist/tempo/Channel.d.ts +8 -14
- package/dist/tempo/Channel.d.ts.map +1 -1
- package/dist/tempo/Channel.js +4 -8
- package/dist/tempo/Channel.js.map +1 -1
- package/dist/tempo/KeyAuthorization.d.ts +8 -6
- package/dist/tempo/KeyAuthorization.d.ts.map +1 -1
- package/dist/tempo/KeyAuthorization.js +10 -8
- package/dist/tempo/KeyAuthorization.js.map +1 -1
- package/dist/tempo/MultisigConfig.d.ts +37 -85
- package/dist/tempo/MultisigConfig.d.ts.map +1 -1
- package/dist/tempo/MultisigConfig.js +39 -83
- package/dist/tempo/MultisigConfig.js.map +1 -1
- package/dist/tempo/PoolId.d.ts +8 -7
- package/dist/tempo/PoolId.d.ts.map +1 -1
- package/dist/tempo/PoolId.js +10 -6
- package/dist/tempo/PoolId.js.map +1 -1
- package/dist/tempo/RpcSchemaTempo.d.ts +1 -1
- package/dist/tempo/RpcSchemaTempo.d.ts.map +1 -1
- package/dist/tempo/SignatureEnvelope.d.ts +35 -31
- package/dist/tempo/SignatureEnvelope.d.ts.map +1 -1
- package/dist/tempo/SignatureEnvelope.js +56 -51
- package/dist/tempo/SignatureEnvelope.js.map +1 -1
- package/dist/tempo/Transaction.d.ts +19 -6
- package/dist/tempo/Transaction.d.ts.map +1 -1
- package/dist/tempo/Transaction.js +41 -13
- package/dist/tempo/Transaction.js.map +1 -1
- package/dist/tempo/TransactionReceipt.d.ts +5 -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 +18 -3
- package/dist/tempo/TransactionRequest.d.ts.map +1 -1
- package/dist/tempo/TransactionRequest.js +72 -35
- package/dist/tempo/TransactionRequest.js.map +1 -1
- package/dist/tempo/TxEnvelopeTempo.d.ts +2 -3
- package/dist/tempo/TxEnvelopeTempo.d.ts.map +1 -1
- package/dist/tempo/TxEnvelopeTempo.js +5 -6
- package/dist/tempo/TxEnvelopeTempo.js.map +1 -1
- package/dist/tempo/index.d.ts +6 -26
- package/dist/tempo/index.d.ts.map +1 -1
- package/dist/tempo/index.js +6 -26
- package/dist/tempo/index.js.map +1 -1
- package/dist/zod/Abi.d.ts +214 -0
- package/dist/zod/Abi.d.ts.map +1 -0
- package/dist/zod/Abi.js +5 -0
- package/dist/zod/Abi.js.map +1 -0
- package/dist/zod/AbiConstructor.d.ts +58 -0
- package/dist/zod/AbiConstructor.d.ts.map +1 -0
- package/dist/zod/AbiConstructor.js +18 -0
- package/dist/zod/AbiConstructor.js.map +1 -0
- package/dist/zod/AbiError.d.ts +20 -0
- package/dist/zod/AbiError.d.ts.map +1 -0
- package/dist/zod/AbiError.js +9 -0
- package/dist/zod/AbiError.js.map +1 -0
- package/dist/zod/AbiEvent.d.ts +23 -0
- package/dist/zod/AbiEvent.d.ts.map +1 -0
- package/dist/zod/AbiEvent.js +11 -0
- package/dist/zod/AbiEvent.js.map +1 -0
- package/dist/zod/AbiFallback.d.ts +16 -0
- package/dist/zod/AbiFallback.d.ts.map +1 -0
- package/dist/zod/AbiFallback.js +16 -0
- package/dist/zod/AbiFallback.js.map +1 -0
- package/dist/zod/AbiFunction.d.ts +109 -0
- package/dist/zod/AbiFunction.d.ts.map +1 -0
- package/dist/zod/AbiFunction.js +26 -0
- package/dist/zod/AbiFunction.js.map +1 -0
- package/dist/zod/AbiItem.d.ts +216 -0
- package/dist/zod/AbiItem.d.ts.map +1 -0
- package/dist/zod/AbiItem.js +26 -0
- package/dist/zod/AbiItem.js.map +1 -0
- package/dist/zod/AbiParameter.d.ts +32 -0
- package/dist/zod/AbiParameter.d.ts.map +1 -0
- package/dist/zod/AbiParameter.js +28 -0
- package/dist/zod/AbiParameter.js.map +1 -0
- package/dist/zod/AbiParameters.d.ts +30 -0
- package/dist/zod/AbiParameters.d.ts.map +1 -0
- package/dist/zod/AbiParameters.js +6 -0
- package/dist/zod/AbiParameters.js.map +1 -0
- package/dist/zod/AbiReceive.d.ts +6 -0
- package/dist/zod/AbiReceive.d.ts.map +1 -0
- package/dist/zod/AbiReceive.js +7 -0
- package/dist/zod/AbiReceive.js.map +1 -0
- package/dist/zod/AccountProof.d.ts +20 -0
- package/dist/zod/AccountProof.d.ts.map +1 -1
- package/dist/zod/AccountProof.js +24 -14
- package/dist/zod/AccountProof.js.map +1 -1
- package/dist/zod/Authorization.d.ts +43 -0
- package/dist/zod/Authorization.d.ts.map +1 -1
- package/dist/zod/Authorization.js +36 -16
- package/dist/zod/Authorization.js.map +1 -1
- package/dist/zod/BigInt.d.ts +2 -0
- package/dist/zod/BigInt.d.ts.map +1 -1
- package/dist/zod/BigInt.js +6 -1
- package/dist/zod/BigInt.js.map +1 -1
- package/dist/zod/Block.d.ts +219 -0
- package/dist/zod/Block.d.ts.map +1 -1
- package/dist/zod/Block.js +24 -20
- package/dist/zod/Block.js.map +1 -1
- package/dist/zod/BlockOverrides.d.ts +16 -0
- package/dist/zod/BlockOverrides.d.ts.map +1 -1
- package/dist/zod/BlockOverrides.js +15 -10
- package/dist/zod/BlockOverrides.js.map +1 -1
- package/dist/zod/Filter.d.ts +14 -0
- package/dist/zod/Filter.d.ts.map +1 -1
- package/dist/zod/Filter.js +24 -19
- package/dist/zod/Filter.js.map +1 -1
- package/dist/zod/Log.d.ts +15 -2
- package/dist/zod/Log.d.ts.map +1 -1
- package/dist/zod/Log.js +18 -13
- package/dist/zod/Log.js.map +1 -1
- package/dist/zod/Number.d.ts +2 -0
- package/dist/zod/Number.d.ts.map +1 -1
- package/dist/zod/Number.js +6 -1
- package/dist/zod/Number.js.map +1 -1
- package/dist/zod/RpcSchema.d.ts +318 -112
- package/dist/zod/RpcSchema.d.ts.map +1 -1
- package/dist/zod/RpcSchema.js +30 -82
- package/dist/zod/RpcSchema.js.map +1 -1
- package/dist/zod/Signature.d.ts +6 -0
- package/dist/zod/Signature.d.ts.map +1 -1
- package/dist/zod/Signature.js +9 -1
- package/dist/zod/Signature.js.map +1 -1
- package/dist/zod/Solidity.d.ts +15 -0
- package/dist/zod/Solidity.d.ts.map +1 -0
- package/dist/zod/Solidity.js +41 -0
- package/dist/zod/Solidity.js.map +1 -0
- package/dist/zod/StateOverrides.d.ts +32 -0
- package/dist/zod/StateOverrides.d.ts.map +1 -1
- package/dist/zod/StateOverrides.js +25 -18
- package/dist/zod/StateOverrides.js.map +1 -1
- package/dist/zod/Transaction.d.ts +312 -0
- package/dist/zod/Transaction.d.ts.map +1 -1
- package/dist/zod/Transaction.js +138 -93
- package/dist/zod/Transaction.js.map +1 -1
- package/dist/zod/TransactionEnvelope.d.ts +222 -0
- package/dist/zod/TransactionEnvelope.d.ts.map +1 -1
- package/dist/zod/TransactionEnvelope.js +19 -3
- package/dist/zod/TransactionEnvelope.js.map +1 -1
- package/dist/zod/TransactionReceipt.d.ts +32 -1
- package/dist/zod/TransactionReceipt.d.ts.map +1 -1
- package/dist/zod/TransactionReceipt.js +24 -19
- package/dist/zod/TransactionReceipt.js.map +1 -1
- package/dist/zod/TransactionRequest.d.ts +34 -0
- package/dist/zod/TransactionRequest.d.ts.map +1 -1
- package/dist/zod/TransactionRequest.js +28 -23
- package/dist/zod/TransactionRequest.js.map +1 -1
- package/dist/zod/TxEnvelopeEip1559.d.ts +44 -0
- package/dist/zod/TxEnvelopeEip1559.d.ts.map +1 -1
- package/dist/zod/TxEnvelopeEip1559.js +23 -14
- package/dist/zod/TxEnvelopeEip1559.js.map +1 -1
- package/dist/zod/TxEnvelopeEip2930.d.ts +42 -0
- package/dist/zod/TxEnvelopeEip2930.d.ts.map +1 -1
- package/dist/zod/TxEnvelopeEip2930.js +21 -12
- package/dist/zod/TxEnvelopeEip2930.js.map +1 -1
- package/dist/zod/TxEnvelopeEip4844.d.ts +58 -0
- package/dist/zod/TxEnvelopeEip4844.d.ts.map +1 -1
- package/dist/zod/TxEnvelopeEip4844.js +29 -20
- package/dist/zod/TxEnvelopeEip4844.js.map +1 -1
- package/dist/zod/TxEnvelopeEip7702.d.ts +60 -0
- package/dist/zod/TxEnvelopeEip7702.d.ts.map +1 -1
- package/dist/zod/TxEnvelopeEip7702.js +25 -16
- package/dist/zod/TxEnvelopeEip7702.js.map +1 -1
- package/dist/zod/TxEnvelopeLegacy.d.ts +34 -0
- package/dist/zod/TxEnvelopeLegacy.d.ts.map +1 -1
- package/dist/zod/TxEnvelopeLegacy.js +19 -10
- package/dist/zod/TxEnvelopeLegacy.js.map +1 -1
- package/dist/zod/TypedData.d.ts +226 -0
- package/dist/zod/TypedData.d.ts.map +1 -0
- package/dist/zod/TypedData.js +84 -0
- package/dist/zod/TypedData.js.map +1 -0
- package/dist/zod/Uint.d.ts +4 -0
- package/dist/zod/Uint.d.ts.map +1 -1
- package/dist/zod/Uint.js +14 -1
- package/dist/zod/Uint.js.map +1 -1
- package/dist/zod/Withdrawal.d.ts +7 -0
- package/dist/zod/Withdrawal.d.ts.map +1 -1
- package/dist/zod/Withdrawal.js +11 -6
- package/dist/zod/Withdrawal.js.map +1 -1
- package/dist/zod/internal/Integer.d.ts +15 -0
- package/dist/zod/internal/Integer.d.ts.map +1 -1
- package/dist/zod/internal/Integer.js +39 -0
- package/dist/zod/internal/Integer.js.map +1 -1
- package/dist/zod/internal/TransactionEnvelope.d.ts +38 -28
- package/dist/zod/internal/TransactionEnvelope.d.ts.map +1 -1
- package/dist/zod/internal/TransactionEnvelope.js +22 -15
- package/dist/zod/internal/TransactionEnvelope.js.map +1 -1
- package/dist/zod/internal/rpcSchemas/Eth.d.ts +260 -123
- package/dist/zod/internal/rpcSchemas/Eth.d.ts.map +1 -1
- package/dist/zod/internal/rpcSchemas/Eth.js +17 -6
- package/dist/zod/internal/rpcSchemas/Eth.js.map +1 -1
- package/dist/zod/internal/rpcSchemas/Wallet.d.ts +1 -1
- package/dist/zod/tempo/AuthorizationTempo.d.ts +405 -12
- package/dist/zod/tempo/AuthorizationTempo.d.ts.map +1 -1
- package/dist/zod/tempo/AuthorizationTempo.js +20 -0
- package/dist/zod/tempo/AuthorizationTempo.js.map +1 -1
- package/dist/zod/tempo/KeyAuthorization.d.ts +838 -69
- package/dist/zod/tempo/KeyAuthorization.d.ts.map +1 -1
- package/dist/zod/tempo/KeyAuthorization.js +49 -8
- package/dist/zod/tempo/KeyAuthorization.js.map +1 -1
- package/dist/zod/tempo/RpcSchemaTempo.d.ts +218 -36
- package/dist/zod/tempo/RpcSchemaTempo.d.ts.map +1 -1
- package/dist/zod/tempo/SignatureEnvelope.d.ts +0 -6
- package/dist/zod/tempo/SignatureEnvelope.d.ts.map +1 -1
- package/dist/zod/tempo/SignatureEnvelope.js +0 -2
- package/dist/zod/tempo/SignatureEnvelope.js.map +1 -1
- package/dist/zod/tempo/Transaction.d.ts +2203 -192
- package/dist/zod/tempo/Transaction.d.ts.map +1 -1
- package/dist/zod/tempo/Transaction.js +113 -33
- package/dist/zod/tempo/Transaction.js.map +1 -1
- package/dist/zod/tempo/TransactionReceipt.d.ts +34 -1
- package/dist/zod/tempo/TransactionReceipt.d.ts.map +1 -1
- package/dist/zod/tempo/TransactionReceipt.js +26 -21
- package/dist/zod/tempo/TransactionReceipt.js.map +1 -1
- package/dist/zod/tempo/TransactionRequest.d.ts +1049 -57
- package/dist/zod/tempo/TransactionRequest.d.ts.map +1 -1
- package/dist/zod/tempo/TransactionRequest.js +141 -26
- package/dist/zod/tempo/TransactionRequest.js.map +1 -1
- package/dist/zod/tempo/TxEnvelopeTempo.d.ts +225 -18
- package/dist/zod/tempo/TxEnvelopeTempo.d.ts.map +1 -1
- package/dist/zod/tempo/TxEnvelopeTempo.js +1 -1
- package/dist/zod/tempo/TxEnvelopeTempo.js.map +1 -1
- package/dist/zod/tempo/ZoneRpcAuthentication.d.ts +0 -3
- package/dist/zod/tempo/ZoneRpcAuthentication.d.ts.map +1 -1
- package/dist/zod/tempo/z.d.ts +0 -1
- package/dist/zod/tempo/z.d.ts.map +1 -1
- package/dist/zod/tempo/z.js +0 -1
- package/dist/zod/tempo/z.js.map +1 -1
- package/dist/zod/z.d.ts +15 -3
- package/dist/zod/z.d.ts.map +1 -1
- package/dist/zod/z.js +15 -3
- package/dist/zod/z.js.map +1 -1
- package/package.json +66 -11
- package/src/CHANGELOG.md +18 -0
- package/src/core/Abi.bench.ts +30 -0
- package/src/core/Abi.ts +13 -4
- package/src/core/AbiConstructor.ts +3 -2
- package/src/core/AbiError.ts +6 -2
- package/src/core/AbiEvent.ts +6 -2
- package/src/core/AbiFunction.ts +6 -2
- package/src/core/AbiItem.bench.ts +19 -0
- package/src/core/AbiItem.ts +20 -10
- package/src/core/AbiParameter.bench.ts +35 -0
- package/src/core/AbiParameter.ts +126 -0
- package/src/core/AbiParameters.bench.ts +22 -0
- package/src/core/AbiParameters.ts +77 -8
- package/src/core/AccountProof.ts +7 -4
- package/src/core/Authorization.ts +11 -4
- package/src/core/Block.ts +24 -13
- package/src/core/BlockOverrides.ts +18 -13
- package/src/core/Filter.ts +8 -5
- package/src/core/Log.ts +10 -6
- package/src/core/Rlp.ts +66 -3
- package/src/core/RpcSchema.ts +2 -2
- package/src/core/Signature.ts +6 -2
- package/src/core/StateOverrides.ts +10 -5
- package/src/core/Transaction.ts +37 -26
- package/src/core/TransactionReceipt.ts +17 -8
- package/src/core/TransactionRequest.ts +21 -11
- package/src/core/TxEnvelope.ts +9 -2
- package/src/core/TxEnvelopeEip1559.ts +21 -12
- package/src/core/TxEnvelopeEip2930.ts +17 -10
- package/src/core/TxEnvelopeEip4844.ts +25 -14
- package/src/core/TxEnvelopeEip7702.ts +21 -12
- package/src/core/TxEnvelopeLegacy.ts +20 -9
- package/src/core/Withdrawal.ts +9 -5
- package/src/core/_test/Abi.test.ts +4 -0
- package/src/core/_test/AbiItem.test.ts +3 -0
- package/src/core/_test/AbiParameter.test-d.ts +41 -0
- package/src/core/_test/AbiParameter.test.ts +84 -0
- package/src/core/_test/AbiParameters.decode.test.ts +88 -12
- package/src/core/_test/AbiParameters.encode.test.ts +68 -0
- package/src/core/_test/AbiParameters.test.ts +7 -0
- package/src/core/_test/AccountProof.test.ts +56 -0
- package/src/core/_test/Authorization.test.ts +29 -0
- package/src/core/_test/Block.test.ts +98 -0
- package/src/core/_test/BlockOverrides.test.ts +50 -0
- package/src/core/_test/Filter.test.ts +32 -0
- package/src/core/_test/Log.test.ts +42 -0
- package/src/core/_test/Rlp.test.ts +101 -0
- package/src/core/_test/RpcSchema.test-d.ts +12 -0
- package/src/core/_test/Signature.test.ts +14 -0
- package/src/core/_test/StateOverrides.test.ts +51 -0
- package/src/core/_test/Transaction.test.ts +64 -0
- package/src/core/_test/TransactionEnvelopeEip1559.test.ts +41 -0
- package/src/core/_test/TransactionEnvelopeEip2930.test.ts +38 -0
- package/src/core/_test/TransactionEnvelopeEip4844.test.ts +47 -0
- package/src/core/_test/TransactionEnvelopeEip7702.test.ts +71 -0
- package/src/core/_test/TransactionEnvelopeLegacy.test.ts +38 -0
- package/src/core/_test/TransactionReceipt.test.ts +54 -0
- package/src/core/_test/Withdrawal.test.ts +33 -0
- package/src/core/_test/index.test.ts +1 -0
- package/src/core/internal/abiParameters.ts +21 -3
- package/src/core/internal/human-readable/_snap/formatAbi.test.ts.snap +74 -0
- package/src/core/internal/human-readable/_snap/parseAbi.test.ts.snap +2353 -0
- package/src/core/internal/human-readable/errors.test.ts +258 -0
- package/src/core/internal/human-readable/errors.ts +205 -0
- package/src/core/internal/human-readable/formatAbi.test-d.ts +144 -0
- package/src/core/internal/human-readable/formatAbi.test.ts +23 -0
- package/src/core/internal/human-readable/formatAbi.ts +37 -0
- package/src/core/internal/human-readable/formatAbiItem.test-d.ts +115 -0
- package/src/core/internal/human-readable/formatAbiItem.test.ts +102 -0
- package/src/core/internal/human-readable/formatAbiItem.ts +136 -0
- package/src/core/internal/human-readable/formatAbiParameter.test-d.ts +125 -0
- package/src/core/internal/human-readable/formatAbiParameter.test.ts +126 -0
- package/src/core/internal/human-readable/formatAbiParameter.ts +86 -0
- package/src/core/internal/human-readable/formatAbiParameters.test-d.ts +92 -0
- package/src/core/internal/human-readable/formatAbiParameters.test.ts +32 -0
- package/src/core/internal/human-readable/formatAbiParameters.ts +46 -0
- package/src/core/internal/human-readable/human-readable.bench-d.ts +58 -0
- package/src/core/internal/human-readable/integration.test.ts +68 -0
- package/src/core/internal/human-readable/parseAbi.test-d.ts +188 -0
- package/src/core/internal/human-readable/parseAbi.test.ts +82 -0
- package/src/core/internal/human-readable/parseAbi.ts +59 -0
- package/src/core/internal/human-readable/parseAbiItem.test-d.ts +183 -0
- package/src/core/internal/human-readable/parseAbiItem.test.ts +264 -0
- package/src/core/internal/human-readable/parseAbiItem.ts +91 -0
- package/src/core/internal/human-readable/parseAbiParameter.test-d.ts +68 -0
- package/src/core/internal/human-readable/parseAbiParameter.test.ts +207 -0
- package/src/core/internal/human-readable/parseAbiParameter.ts +95 -0
- package/src/core/internal/human-readable/parseAbiParameters.test-d.ts +160 -0
- package/src/core/internal/human-readable/parseAbiParameters.test.ts +80 -0
- package/src/core/internal/human-readable/parseAbiParameters.ts +123 -0
- package/src/core/internal/human-readable/regex.ts +15 -0
- package/src/core/internal/human-readable/runtime/cache.ts +96 -0
- package/src/core/internal/human-readable/runtime/signatures.test.ts +236 -0
- package/src/core/internal/human-readable/runtime/signatures.ts +106 -0
- package/src/core/internal/human-readable/runtime/structs.test.ts +210 -0
- package/src/core/internal/human-readable/runtime/structs.ts +97 -0
- package/src/core/internal/human-readable/runtime/utils.test.ts +717 -0
- package/src/core/internal/human-readable/runtime/utils.ts +344 -0
- package/src/core/internal/human-readable/types/signatures.test-d.ts +255 -0
- package/src/core/internal/human-readable/types/signatures.ts +369 -0
- package/src/core/internal/human-readable/types/structs.test-d.ts +221 -0
- package/src/core/internal/human-readable/types/structs.ts +88 -0
- package/src/core/internal/human-readable/types/utils.test-d.ts +1029 -0
- package/src/core/internal/human-readable/types/utils.ts +392 -0
- package/src/core/internal/human-readable/types.ts +69 -0
- package/src/core/internal/quantity.ts +29 -0
- package/src/core/internal/rpcSchemas/eth.ts +76 -10
- package/src/erc4337/UserOperation.ts +26 -11
- package/src/erc4337/UserOperationGas.ts +19 -8
- package/src/erc4337/UserOperationReceipt.ts +14 -4
- package/src/index.ts +38 -0
- package/src/tempo/AuthorizationTempo.ts +11 -4
- package/src/tempo/Channel.test.ts +2 -23
- package/src/tempo/Channel.ts +10 -22
- package/src/tempo/KeyAuthorization.test.ts +22 -0
- package/src/tempo/KeyAuthorization.ts +20 -14
- package/src/tempo/MultisigConfig.test.ts +54 -37
- package/src/tempo/MultisigConfig.ts +59 -134
- package/src/tempo/PoolId.test.ts +7 -41
- package/src/tempo/PoolId.ts +15 -10
- package/src/tempo/RpcSchemaTempo.ts +1 -1
- package/src/tempo/SignatureEnvelope.test.ts +118 -17
- package/src/tempo/SignatureEnvelope.ts +81 -73
- package/src/tempo/Transaction.test.ts +0 -15
- package/src/tempo/Transaction.ts +78 -19
- package/src/tempo/TransactionReceipt.test.ts +76 -0
- package/src/tempo/TransactionReceipt.ts +19 -5
- package/src/tempo/TransactionRequest.test.ts +174 -1
- package/src/tempo/TransactionRequest.ts +98 -39
- package/src/tempo/TxEnvelopeTempo.test.ts +2 -2
- package/src/tempo/TxEnvelopeTempo.ts +7 -7
- package/src/tempo/e2e.test.ts +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/AccountProof.ts +36 -14
- package/src/zod/Authorization.ts +65 -18
- package/src/zod/BigInt.ts +12 -1
- package/src/zod/Block.ts +68 -26
- package/src/zod/BlockOverrides.ts +24 -10
- package/src/zod/Filter.ts +26 -21
- package/src/zod/Log.ts +23 -13
- package/src/zod/Number.ts +12 -1
- package/src/zod/RpcSchema.ts +123 -29
- package/src/zod/Signature.ts +18 -3
- package/src/zod/Solidity.ts +83 -0
- package/src/zod/StateOverrides.ts +31 -19
- package/src/zod/Transaction.ts +254 -101
- package/src/zod/TransactionEnvelope.ts +27 -3
- package/src/zod/TransactionReceipt.ts +34 -19
- package/src/zod/TransactionRequest.ts +42 -23
- package/src/zod/TxEnvelopeEip1559.ts +34 -13
- package/src/zod/TxEnvelopeEip2930.ts +32 -11
- package/src/zod/TxEnvelopeEip4844.ts +40 -19
- package/src/zod/TxEnvelopeEip7702.ts +46 -15
- package/src/zod/TxEnvelopeLegacy.ts +30 -9
- package/src/zod/TypedData.ts +111 -0
- package/src/zod/Uint.ts +19 -0
- package/src/zod/Withdrawal.ts +18 -6
- package/src/zod/_test/Abi.test-d.ts +46 -0
- package/src/zod/_test/Abi.test.ts +163 -0
- package/src/zod/_test/AccountProof.test.ts +32 -0
- package/src/zod/_test/Authorization.test.ts +42 -0
- package/src/zod/_test/BigInt.test.ts +9 -1
- package/src/zod/_test/Block.test.ts +54 -0
- package/src/zod/_test/BlockOverrides.test.ts +35 -0
- package/src/zod/_test/Filter.test.ts +34 -0
- package/src/zod/_test/Log.test.ts +49 -0
- package/src/zod/_test/Number.test.ts +8 -1
- package/src/zod/_test/RpcSchema.test-d.ts +46 -0
- package/src/zod/_test/RpcSchema.test.ts +70 -0
- package/src/zod/_test/Signature.test.ts +10 -0
- package/src/zod/_test/StateOverrides.test.ts +26 -0
- package/src/zod/_test/Transaction.test.ts +30 -0
- package/src/zod/_test/TransactionEnvelope.test.ts +34 -0
- package/src/zod/_test/TransactionReceipt.test.ts +45 -1
- package/src/zod/_test/TransactionRequest.test.ts +31 -0
- package/src/zod/_test/TxEnvelope.test.ts +32 -0
- package/src/zod/_test/TypedData.test-d.ts +20 -0
- package/src/zod/_test/TypedData.test.ts +87 -0
- package/src/zod/_test/Uint.test.ts +15 -0
- package/src/zod/_test/Withdrawal.test.ts +35 -0
- package/src/zod/_test/z.test-d.ts +6 -0
- package/src/zod/_test/z.test.ts +17 -0
- package/src/zod/internal/Integer.ts +58 -0
- package/src/zod/internal/TransactionEnvelope.ts +33 -17
- package/src/zod/internal/rpcSchemas/Eth.ts +20 -6
- package/src/zod/tempo/AuthorizationTempo.ts +25 -0
- package/src/zod/tempo/KeyAuthorization.ts +58 -8
- package/src/zod/tempo/SignatureEnvelope.ts +0 -2
- package/src/zod/tempo/Transaction.ts +148 -33
- package/src/zod/tempo/TransactionReceipt.ts +36 -21
- package/src/zod/tempo/TransactionRequest.ts +154 -28
- package/src/zod/tempo/TxEnvelopeTempo.ts +1 -1
- package/src/zod/tempo/_test/AuthorizationTempo.test.ts +24 -0
- package/src/zod/tempo/_test/KeyAuthorization.test.ts +85 -0
- package/src/zod/tempo/_test/SignatureEnvelope.test.ts +0 -2
- package/src/zod/tempo/_test/Transaction.test.ts +178 -0
- package/src/zod/tempo/_test/TransactionReceipt.test.ts +26 -0
- package/src/zod/tempo/_test/TransactionRequest.test.ts +73 -0
- package/src/zod/tempo/z.ts +0 -1
- package/src/zod/z.ts +16 -2
- package/dist/tempo/TokenId.d.ts +0 -87
- package/dist/tempo/TokenId.d.ts.map +0 -1
- package/dist/tempo/TokenId.js +0 -123
- package/dist/tempo/TokenId.js.map +0 -1
- package/dist/zod/tempo/TokenId.d.ts +0 -6
- package/dist/zod/tempo/TokenId.d.ts.map +0 -1
- package/dist/zod/tempo/TokenId.js +0 -14
- package/dist/zod/tempo/TokenId.js.map +0 -1
- package/src/tempo/TokenId.bench.ts +0 -36
- package/src/tempo/TokenId.test.ts +0 -79
- package/src/tempo/TokenId.ts +0 -141
- package/src/zod/tempo/TokenId.ts +0 -15
- package/src/zod/tempo/_test/TokenId.test-d.ts +0 -17
- package/src/zod/tempo/_test/TokenId.test.ts +0 -21
|
@@ -4,6 +4,7 @@ import * as Authorization from '../core/Authorization.js'
|
|
|
4
4
|
import type * as Errors from '../core/Errors.js'
|
|
5
5
|
import * as Hash from '../core/Hash.js'
|
|
6
6
|
import * as Hex from '../core/Hex.js'
|
|
7
|
+
import * as Quantity from '../core/internal/quantity.js'
|
|
7
8
|
import type { Assign, Compute, OneOf } from '../core/internal/types.js'
|
|
8
9
|
import * as Signature from '../core/Signature.js'
|
|
9
10
|
import * as TypedData from '../core/TypedData.js'
|
|
@@ -887,17 +888,23 @@ export declare namespace fromPacked {
|
|
|
887
888
|
* @param userOperation - The user operation to convert.
|
|
888
889
|
* @returns An RPC-formatted user operation.
|
|
889
890
|
*/
|
|
890
|
-
export function toRpc(userOperation:
|
|
891
|
+
export function toRpc(userOperation: toRpc.Input): Rpc {
|
|
891
892
|
const rpc = {} as Rpc
|
|
892
893
|
|
|
893
894
|
rpc.callData = userOperation.callData
|
|
894
|
-
rpc.callGasLimit =
|
|
895
|
-
rpc.maxFeePerGas =
|
|
896
|
-
rpc.maxPriorityFeePerGas =
|
|
897
|
-
|
|
898
|
-
|
|
895
|
+
rpc.callGasLimit = Quantity.fromNumberish(userOperation.callGasLimit)
|
|
896
|
+
rpc.maxFeePerGas = Quantity.fromNumberish(userOperation.maxFeePerGas)
|
|
897
|
+
rpc.maxPriorityFeePerGas = Quantity.fromNumberish(
|
|
898
|
+
userOperation.maxPriorityFeePerGas,
|
|
899
|
+
)
|
|
900
|
+
rpc.nonce = Quantity.fromNumberish(userOperation.nonce)
|
|
901
|
+
rpc.preVerificationGas = Quantity.fromNumberish(
|
|
902
|
+
userOperation.preVerificationGas,
|
|
903
|
+
)
|
|
899
904
|
rpc.sender = userOperation.sender
|
|
900
|
-
rpc.verificationGasLimit =
|
|
905
|
+
rpc.verificationGasLimit = Quantity.fromNumberish(
|
|
906
|
+
userOperation.verificationGasLimit,
|
|
907
|
+
)
|
|
901
908
|
|
|
902
909
|
if (userOperation.factory) rpc.factory = userOperation.factory
|
|
903
910
|
if (userOperation.factoryData) rpc.factoryData = userOperation.factoryData
|
|
@@ -905,12 +912,12 @@ export function toRpc(userOperation: UserOperation): Rpc {
|
|
|
905
912
|
if (userOperation.paymaster) rpc.paymaster = userOperation.paymaster
|
|
906
913
|
if (userOperation.paymasterData)
|
|
907
914
|
rpc.paymasterData = userOperation.paymasterData
|
|
908
|
-
if (
|
|
909
|
-
rpc.paymasterPostOpGasLimit =
|
|
915
|
+
if (userOperation.paymasterPostOpGasLimit !== undefined)
|
|
916
|
+
rpc.paymasterPostOpGasLimit = Quantity.fromNumberish(
|
|
910
917
|
userOperation.paymasterPostOpGasLimit,
|
|
911
918
|
)
|
|
912
|
-
if (
|
|
913
|
-
rpc.paymasterVerificationGasLimit =
|
|
919
|
+
if (userOperation.paymasterVerificationGasLimit !== undefined)
|
|
920
|
+
rpc.paymasterVerificationGasLimit = Quantity.fromNumberish(
|
|
914
921
|
userOperation.paymasterVerificationGasLimit,
|
|
915
922
|
)
|
|
916
923
|
if (userOperation.signature) rpc.signature = userOperation.signature
|
|
@@ -926,6 +933,14 @@ export function toRpc(userOperation: UserOperation): Rpc {
|
|
|
926
933
|
}
|
|
927
934
|
|
|
928
935
|
export declare namespace toRpc {
|
|
936
|
+
/** Numberish input accepted by {@link ox#UserOperation.(toRpc:function)}. */
|
|
937
|
+
export type Input = UserOperation<
|
|
938
|
+
EntryPoint.Version,
|
|
939
|
+
boolean,
|
|
940
|
+
Hex.Hex | bigint | number,
|
|
941
|
+
Hex.Hex | number
|
|
942
|
+
>
|
|
943
|
+
|
|
929
944
|
export type ErrorType = Hex.fromNumber.ErrorType | Errors.GlobalErrorType
|
|
930
945
|
}
|
|
931
946
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as Hex from '../core/Hex.js'
|
|
2
|
+
import * as Quantity from '../core/internal/quantity.js'
|
|
2
3
|
import type { OneOf } from '../core/internal/types.js'
|
|
3
4
|
import type * as EntryPoint from './EntryPoint.js'
|
|
4
5
|
|
|
@@ -94,23 +95,33 @@ export function fromRpc(rpc: Rpc): UserOperationGas {
|
|
|
94
95
|
* @param userOperationGas - The user operation gas to convert.
|
|
95
96
|
* @returns An RPC-formatted user operation gas.
|
|
96
97
|
*/
|
|
97
|
-
export function toRpc(userOperationGas:
|
|
98
|
+
export function toRpc(userOperationGas: toRpc.Input): Rpc {
|
|
98
99
|
const rpc = {} as Rpc
|
|
99
100
|
|
|
100
|
-
rpc.callGasLimit =
|
|
101
|
-
rpc.preVerificationGas =
|
|
102
|
-
|
|
101
|
+
rpc.callGasLimit = Quantity.fromNumberish(userOperationGas.callGasLimit)
|
|
102
|
+
rpc.preVerificationGas = Quantity.fromNumberish(
|
|
103
|
+
userOperationGas.preVerificationGas,
|
|
104
|
+
)
|
|
105
|
+
rpc.verificationGasLimit = Quantity.fromNumberish(
|
|
103
106
|
userOperationGas.verificationGasLimit,
|
|
104
107
|
)
|
|
105
108
|
|
|
106
|
-
if (
|
|
107
|
-
rpc.paymasterVerificationGasLimit =
|
|
109
|
+
if (userOperationGas.paymasterVerificationGasLimit !== undefined)
|
|
110
|
+
rpc.paymasterVerificationGasLimit = Quantity.fromNumberish(
|
|
108
111
|
userOperationGas.paymasterVerificationGasLimit,
|
|
109
112
|
)
|
|
110
|
-
if (
|
|
111
|
-
rpc.paymasterPostOpGasLimit =
|
|
113
|
+
if (userOperationGas.paymasterPostOpGasLimit !== undefined)
|
|
114
|
+
rpc.paymasterPostOpGasLimit = Quantity.fromNumberish(
|
|
112
115
|
userOperationGas.paymasterPostOpGasLimit,
|
|
113
116
|
)
|
|
114
117
|
|
|
115
118
|
return rpc
|
|
116
119
|
}
|
|
120
|
+
|
|
121
|
+
export declare namespace toRpc {
|
|
122
|
+
/** Numberish input accepted by {@link ox#UserOperationGas.(toRpc:function)}. */
|
|
123
|
+
export type Input = UserOperationGas<
|
|
124
|
+
EntryPoint.Version,
|
|
125
|
+
Hex.Hex | bigint | number
|
|
126
|
+
>
|
|
127
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type * as Address from '../core/Address.js'
|
|
2
2
|
import * as Hex from '../core/Hex.js'
|
|
3
|
+
import * as Quantity from '../core/internal/quantity.js'
|
|
3
4
|
import * as Log from '../core/Log.js'
|
|
4
5
|
import * as TransactionReceipt from '../core/TransactionReceipt.js'
|
|
5
6
|
import type * as EntryPoint from './EntryPoint.js'
|
|
@@ -118,14 +119,14 @@ export function fromRpc(rpc: Rpc): UserOperationReceipt {
|
|
|
118
119
|
* @param userOperationReceipt - The user operation receipt to convert.
|
|
119
120
|
* @returns An RPC-formatted user operation receipt.
|
|
120
121
|
*/
|
|
121
|
-
export function toRpc(userOperationReceipt:
|
|
122
|
+
export function toRpc(userOperationReceipt: toRpc.Input): Rpc {
|
|
122
123
|
const rpc = {} as Rpc
|
|
123
124
|
|
|
124
|
-
rpc.actualGasCost =
|
|
125
|
-
rpc.actualGasUsed =
|
|
125
|
+
rpc.actualGasCost = Quantity.fromNumberish(userOperationReceipt.actualGasCost)
|
|
126
|
+
rpc.actualGasUsed = Quantity.fromNumberish(userOperationReceipt.actualGasUsed)
|
|
126
127
|
rpc.entryPoint = userOperationReceipt.entryPoint
|
|
127
128
|
rpc.logs = userOperationReceipt.logs.map((log) => Log.toRpc(log))
|
|
128
|
-
rpc.nonce =
|
|
129
|
+
rpc.nonce = Quantity.fromNumberish(userOperationReceipt.nonce)
|
|
129
130
|
rpc.receipt = TransactionReceipt.toRpc(userOperationReceipt.receipt)
|
|
130
131
|
rpc.sender = userOperationReceipt.sender
|
|
131
132
|
rpc.success = userOperationReceipt.success
|
|
@@ -137,3 +138,12 @@ export function toRpc(userOperationReceipt: UserOperationReceipt): Rpc {
|
|
|
137
138
|
|
|
138
139
|
return rpc
|
|
139
140
|
}
|
|
141
|
+
|
|
142
|
+
export declare namespace toRpc {
|
|
143
|
+
/** Numberish input accepted by {@link ox#UserOperationReceipt.(toRpc:function)}. */
|
|
144
|
+
export type Input = UserOperationReceipt<
|
|
145
|
+
EntryPoint.Version,
|
|
146
|
+
Hex.Hex | bigint | number,
|
|
147
|
+
Hex.Hex | number
|
|
148
|
+
>
|
|
149
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -455,6 +455,44 @@ export * as AbiFunction from './core/AbiFunction.js'
|
|
|
455
455
|
*/
|
|
456
456
|
export * as AbiItem from './core/AbiItem.js'
|
|
457
457
|
|
|
458
|
+
/**
|
|
459
|
+
* Utilities & types for working with a single [ABI Parameter](https://docs.soliditylang.org/en/latest/abi-spec.html#types).
|
|
460
|
+
*
|
|
461
|
+
* @example
|
|
462
|
+
* ### Instantiating Human Readable ABI Parameters
|
|
463
|
+
*
|
|
464
|
+
* A Human Readable ABI Parameter can be instantiated by using {@link ox#AbiParameter.(from:function)}:
|
|
465
|
+
*
|
|
466
|
+
* ```ts twoslash
|
|
467
|
+
* import { AbiParameter } from 'ox'
|
|
468
|
+
*
|
|
469
|
+
* const parameter = AbiParameter.from('address spender')
|
|
470
|
+
*
|
|
471
|
+
* parameter
|
|
472
|
+
* //^?
|
|
473
|
+
* ```
|
|
474
|
+
*
|
|
475
|
+
* @example
|
|
476
|
+
* ### Formatting ABI Parameters
|
|
477
|
+
*
|
|
478
|
+
* An ABI Parameter can be formatted into a human-readable ABI Parameter by using {@link ox#AbiParameter.(format:function)}:
|
|
479
|
+
*
|
|
480
|
+
* ```ts twoslash
|
|
481
|
+
* import { AbiParameter } from 'ox'
|
|
482
|
+
*
|
|
483
|
+
* const formatted = AbiParameter.format({
|
|
484
|
+
* name: 'spender',
|
|
485
|
+
* type: 'address'
|
|
486
|
+
* })
|
|
487
|
+
*
|
|
488
|
+
* formatted
|
|
489
|
+
* // ^?
|
|
490
|
+
* ```
|
|
491
|
+
*
|
|
492
|
+
* @category ABI
|
|
493
|
+
*/
|
|
494
|
+
export * as AbiParameter from './core/AbiParameter.js'
|
|
495
|
+
|
|
458
496
|
/**
|
|
459
497
|
* Utilities & types for encoding, decoding, and working with [ABI Parameters](https://docs.soliditylang.org/en/latest/abi-spec.html#types)
|
|
460
498
|
*
|
|
@@ -2,6 +2,7 @@ import type * as Address from '../core/Address.js'
|
|
|
2
2
|
import type * as Errors from '../core/Errors.js'
|
|
3
3
|
import * as Hash from '../core/Hash.js'
|
|
4
4
|
import * as Hex from '../core/Hex.js'
|
|
5
|
+
import * as Quantity from '../core/internal/quantity.js'
|
|
5
6
|
import type { Compute, Mutable } from '../core/internal/types.js'
|
|
6
7
|
import * as Rlp from '../core/Rlp.js'
|
|
7
8
|
import * as SignatureEnvelope from './SignatureEnvelope.js'
|
|
@@ -782,18 +783,21 @@ export declare namespace hash {
|
|
|
782
783
|
* @param authorization - An AA Authorization.
|
|
783
784
|
* @returns An RPC-formatted AA Authorization.
|
|
784
785
|
*/
|
|
785
|
-
export function toRpc(authorization:
|
|
786
|
+
export function toRpc(authorization: toRpc.Input): Rpc {
|
|
786
787
|
const { address, chainId, nonce, signature } = authorization
|
|
787
788
|
|
|
788
789
|
return {
|
|
789
790
|
address,
|
|
790
|
-
chainId:
|
|
791
|
-
nonce:
|
|
791
|
+
chainId: Quantity.fromNumberish(chainId),
|
|
792
|
+
nonce: Quantity.fromNumberish(nonce),
|
|
792
793
|
signature: SignatureEnvelope.toRpc(signature),
|
|
793
794
|
}
|
|
794
795
|
}
|
|
795
796
|
|
|
796
797
|
export declare namespace toRpc {
|
|
798
|
+
/** Numberish input accepted by {@link ox#AuthorizationTempo.(toRpc:function)}. */
|
|
799
|
+
type Input = Signed<Hex.Hex | bigint | number, Hex.Hex | number>
|
|
800
|
+
|
|
797
801
|
type ErrorType = Errors.GlobalErrorType
|
|
798
802
|
}
|
|
799
803
|
|
|
@@ -824,11 +828,14 @@ export declare namespace toRpc {
|
|
|
824
828
|
* @param authorizationList - An AA Authorization List.
|
|
825
829
|
* @returns An RPC-formatted AA Authorization List.
|
|
826
830
|
*/
|
|
827
|
-
export function toRpcList(authorizationList:
|
|
831
|
+
export function toRpcList(authorizationList: toRpcList.Input): ListRpc {
|
|
828
832
|
return authorizationList.map((x) => toRpc(x as unknown as Signed)) as never
|
|
829
833
|
}
|
|
830
834
|
|
|
831
835
|
export declare namespace toRpcList {
|
|
836
|
+
/** Numberish input accepted by {@link ox#AuthorizationTempo.(toRpcList:function)}. */
|
|
837
|
+
type Input = ListSigned<Hex.Hex | bigint | number, Hex.Hex | number>
|
|
838
|
+
|
|
832
839
|
type ErrorType = Errors.GlobalErrorType
|
|
833
840
|
}
|
|
834
841
|
|
|
@@ -10,7 +10,7 @@ const channel = {
|
|
|
10
10
|
payee: '0x2222222222222222222222222222222222222222',
|
|
11
11
|
payer: '0x1111111111111111111111111111111111111111',
|
|
12
12
|
salt: '0x0000000000000000000000000000000000000000000000000000000000000001',
|
|
13
|
-
token:
|
|
13
|
+
token: '0x20c0000000000000000000000000000000000001',
|
|
14
14
|
} as const
|
|
15
15
|
|
|
16
16
|
const chainId = 4217
|
|
@@ -84,26 +84,6 @@ describe('from', () => {
|
|
|
84
84
|
`)
|
|
85
85
|
})
|
|
86
86
|
|
|
87
|
-
test('token address input', () => {
|
|
88
|
-
expect(
|
|
89
|
-
Channel.from({
|
|
90
|
-
...channel,
|
|
91
|
-
operator: '0x4444444444444444444444444444444444444444',
|
|
92
|
-
token: '0x20c0000000000000000000000000000000000001',
|
|
93
|
-
}),
|
|
94
|
-
).toMatchInlineSnapshot(`
|
|
95
|
-
{
|
|
96
|
-
"authorizedSigner": "0x3333333333333333333333333333333333333333",
|
|
97
|
-
"expiringNonceHash": "0x0000000000000000000000000000000000000000000000000000000000000002",
|
|
98
|
-
"operator": "0x4444444444444444444444444444444444444444",
|
|
99
|
-
"payee": "0x2222222222222222222222222222222222222222",
|
|
100
|
-
"payer": "0x1111111111111111111111111111111111111111",
|
|
101
|
-
"salt": "0x0000000000000000000000000000000000000000000000000000000000000001",
|
|
102
|
-
"token": "0x20c0000000000000000000000000000000000001",
|
|
103
|
-
}
|
|
104
|
-
`)
|
|
105
|
-
})
|
|
106
|
-
|
|
107
87
|
test('return type', () => {
|
|
108
88
|
const resolved = Channel.from({
|
|
109
89
|
expiringNonceHash:
|
|
@@ -111,10 +91,9 @@ describe('from', () => {
|
|
|
111
91
|
payee: '0x2222222222222222222222222222222222222222',
|
|
112
92
|
payer: '0x1111111111111111111111111111111111111111',
|
|
113
93
|
salt: '0x0000000000000000000000000000000000000000000000000000000000000001',
|
|
114
|
-
token:
|
|
94
|
+
token: '0x20c0000000000000000000000000000000000001',
|
|
115
95
|
})
|
|
116
96
|
|
|
117
|
-
resolved satisfies Channel.Resolved
|
|
118
97
|
resolved satisfies Channel.Channel
|
|
119
98
|
resolved.payer satisfies Address.Address
|
|
120
99
|
resolved.token satisfies Address.Address
|
package/src/tempo/Channel.ts
CHANGED
|
@@ -3,7 +3,6 @@ import * as Address from '../core/Address.js'
|
|
|
3
3
|
import type * as Errors from '../core/Errors.js'
|
|
4
4
|
import * as Hash from '../core/Hash.js'
|
|
5
5
|
import * as Hex from '../core/Hex.js'
|
|
6
|
-
import * as TokenId from './TokenId.js'
|
|
7
6
|
|
|
8
7
|
const channelIdParameters = AbiParameters.from(
|
|
9
8
|
'address, address, address, address, bytes32, address, bytes32, address, uint256',
|
|
@@ -57,18 +56,14 @@ export type Channel = {
|
|
|
57
56
|
payer: Address.Address
|
|
58
57
|
/** User-supplied salt to distinguish otherwise identical channels. */
|
|
59
58
|
salt: Hex.Hex
|
|
60
|
-
/** TIP-20 token address
|
|
61
|
-
token:
|
|
59
|
+
/** TIP-20 token address held by the channel. */
|
|
60
|
+
token: Address.Address
|
|
62
61
|
}
|
|
63
62
|
|
|
64
|
-
/** Hex-address-normalized {@link ox#Channel.Channel}. */
|
|
65
|
-
export type Resolved = Omit<Channel, 'token'> & { token: Address.Address }
|
|
66
|
-
|
|
67
63
|
/**
|
|
68
64
|
* Instantiates a TIP-20 channel reserve descriptor.
|
|
69
65
|
*
|
|
70
|
-
*
|
|
71
|
-
* `authorizedSigner` to the zero address.
|
|
66
|
+
* Defaults `operator` and `authorizedSigner` to the zero address.
|
|
72
67
|
*
|
|
73
68
|
* @example
|
|
74
69
|
* ```ts twoslash
|
|
@@ -80,7 +75,7 @@ export type Resolved = Omit<Channel, 'token'> & { token: Address.Address }
|
|
|
80
75
|
* payee: '0x2222222222222222222222222222222222222222',
|
|
81
76
|
* payer: '0x1111111111111111111111111111111111111111',
|
|
82
77
|
* salt: '0x0000000000000000000000000000000000000000000000000000000000000001',
|
|
83
|
-
* token:
|
|
78
|
+
* token: '0x20c0000000000000000000000000000000000001'
|
|
84
79
|
* })
|
|
85
80
|
* ```
|
|
86
81
|
*
|
|
@@ -105,10 +100,7 @@ export function from(value: from.Value): from.ReturnType {
|
|
|
105
100
|
payee: resolveAddress(payee),
|
|
106
101
|
payer: resolveAddress(payer),
|
|
107
102
|
salt,
|
|
108
|
-
token:
|
|
109
|
-
typeof token === 'string'
|
|
110
|
-
? resolveAddress(token)
|
|
111
|
-
: TokenId.toAddress(token),
|
|
103
|
+
token: resolveAddress(token),
|
|
112
104
|
}
|
|
113
105
|
}
|
|
114
106
|
|
|
@@ -126,17 +118,13 @@ export declare namespace from {
|
|
|
126
118
|
payer: Address.Address
|
|
127
119
|
/** User-supplied salt to distinguish otherwise identical channels. */
|
|
128
120
|
salt: Hex.Hex
|
|
129
|
-
/** TIP-20 token address
|
|
130
|
-
token:
|
|
121
|
+
/** TIP-20 token address held by the channel. */
|
|
122
|
+
token: Address.Address
|
|
131
123
|
}
|
|
132
124
|
|
|
133
|
-
type ReturnType =
|
|
125
|
+
type ReturnType = Channel
|
|
134
126
|
|
|
135
|
-
type ErrorType =
|
|
136
|
-
| Address.from.ErrorType
|
|
137
|
-
| Hex.concat.ErrorType
|
|
138
|
-
| Hex.fromNumber.ErrorType
|
|
139
|
-
| Errors.GlobalErrorType
|
|
127
|
+
type ErrorType = Address.from.ErrorType | Errors.GlobalErrorType
|
|
140
128
|
}
|
|
141
129
|
|
|
142
130
|
/**
|
|
@@ -159,7 +147,7 @@ export declare namespace from {
|
|
|
159
147
|
* payee: '0x2222222222222222222222222222222222222222',
|
|
160
148
|
* payer: '0x1111111111111111111111111111111111111111',
|
|
161
149
|
* salt: '0x0000000000000000000000000000000000000000000000000000000000000001',
|
|
162
|
-
* token:
|
|
150
|
+
* token: '0x20c0000000000000000000000000000000000001'
|
|
163
151
|
* },
|
|
164
152
|
* {
|
|
165
153
|
* chainId: 4217
|
|
@@ -2407,6 +2407,28 @@ describe('admin keys (TIP-1049)', () => {
|
|
|
2407
2407
|
expect(restored.account).toBe(account)
|
|
2408
2408
|
})
|
|
2409
2409
|
|
|
2410
|
+
test('fromRpc: drops orphan isAdmin without account', () => {
|
|
2411
|
+
const authorization = KeyAuthorization.from(
|
|
2412
|
+
{ address, chainId: 1n, type: 'secp256k1' },
|
|
2413
|
+
{ signature: SignatureEnvelope.from(signature_secp256k1) },
|
|
2414
|
+
)
|
|
2415
|
+
const rpc = KeyAuthorization.toRpc(authorization)
|
|
2416
|
+
const restored = KeyAuthorization.fromRpc({ ...rpc, isAdmin: true })
|
|
2417
|
+
expect(restored.isAdmin).toBeUndefined()
|
|
2418
|
+
expect(restored.account).toBeUndefined()
|
|
2419
|
+
})
|
|
2420
|
+
|
|
2421
|
+
test('fromRpc: drops orphan account without isAdmin', () => {
|
|
2422
|
+
const authorization = KeyAuthorization.from(
|
|
2423
|
+
{ address, chainId: 1n, type: 'secp256k1' },
|
|
2424
|
+
{ signature: SignatureEnvelope.from(signature_secp256k1) },
|
|
2425
|
+
)
|
|
2426
|
+
const rpc = KeyAuthorization.toRpc(authorization)
|
|
2427
|
+
const restored = KeyAuthorization.fromRpc({ ...rpc, account })
|
|
2428
|
+
expect(restored.isAdmin).toBeUndefined()
|
|
2429
|
+
expect(restored.account).toBeUndefined()
|
|
2430
|
+
})
|
|
2431
|
+
|
|
2410
2432
|
test('hash: changes when admin pair is added', () => {
|
|
2411
2433
|
const plain = KeyAuthorization.from({
|
|
2412
2434
|
address,
|
|
@@ -3,6 +3,7 @@ import type * as Address from '../core/Address.js'
|
|
|
3
3
|
import type * as Errors from '../core/Errors.js'
|
|
4
4
|
import * as Hash from '../core/Hash.js'
|
|
5
5
|
import * as Hex from '../core/Hex.js'
|
|
6
|
+
import * as Quantity from '../core/internal/quantity.js'
|
|
6
7
|
import type { Compute, OneOf } from '../core/internal/types.js'
|
|
7
8
|
import * as Rlp from '../core/Rlp.js'
|
|
8
9
|
import * as SignatureEnvelope from './SignatureEnvelope.js'
|
|
@@ -90,7 +91,7 @@ export type Rpc = {
|
|
|
90
91
|
/** Optional account address binding (TIP-1049). */
|
|
91
92
|
account?: Address.Address | null | undefined
|
|
92
93
|
/** Allowed call scopes (node field: `allowedCalls`). */
|
|
93
|
-
allowedCalls?: readonly RpcCallScope[] | undefined
|
|
94
|
+
allowedCalls?: readonly RpcCallScope[] | null | undefined
|
|
94
95
|
/** Chain ID (hex quantity). */
|
|
95
96
|
chainId: Hex.Hex
|
|
96
97
|
/** Expiry timestamp (hex quantity or null). */
|
|
@@ -102,7 +103,7 @@ export type Rpc = {
|
|
|
102
103
|
/** Key type. */
|
|
103
104
|
keyType: SignatureEnvelope.Type
|
|
104
105
|
/** Token spending limits. */
|
|
105
|
-
limits?: readonly RpcTokenLimit[] | undefined
|
|
106
|
+
limits?: readonly RpcTokenLimit[] | null | undefined
|
|
106
107
|
/** Signature envelope. */
|
|
107
108
|
signature: SignatureEnvelope.SignatureEnvelopeRpc
|
|
108
109
|
/** Optional 32-byte witness (hex). */
|
|
@@ -113,19 +114,19 @@ export type Rpc = {
|
|
|
113
114
|
export type RpcTokenLimit = {
|
|
114
115
|
token: Address.Address
|
|
115
116
|
limit: Hex.Hex
|
|
116
|
-
period?: Hex.Hex | undefined
|
|
117
|
+
period?: Hex.Hex | null | undefined
|
|
117
118
|
}
|
|
118
119
|
|
|
119
120
|
/** RPC representation of a call scope (matches node's `CallScope` serde). */
|
|
120
121
|
export type RpcCallScope = {
|
|
121
122
|
target: Address.Address
|
|
122
|
-
selectorRules?: readonly RpcSelectorRule[]
|
|
123
|
+
selectorRules?: readonly RpcSelectorRule[] | null | undefined
|
|
123
124
|
}
|
|
124
125
|
|
|
125
126
|
/** RPC representation of a selector rule (matches node's `SelectorRule` serde). */
|
|
126
127
|
export type RpcSelectorRule = {
|
|
127
128
|
selector: Hex.Hex
|
|
128
|
-
recipients?: readonly Address.Address[]
|
|
129
|
+
recipients?: readonly Address.Address[] | null | undefined
|
|
129
130
|
}
|
|
130
131
|
|
|
131
132
|
/** Signed representation of a Key Authorization. */
|
|
@@ -531,12 +532,13 @@ export function fromRpc(authorization: Rpc): Signed {
|
|
|
531
532
|
})
|
|
532
533
|
: undefined
|
|
533
534
|
|
|
534
|
-
// TIP-1049 admin fields are paired:
|
|
535
|
-
//
|
|
535
|
+
// TIP-1049 admin fields are paired: emit both or neither; orphan wire
|
|
536
|
+
// fields are dropped. Separate conditional spreads break `Signed`
|
|
537
|
+
// assignability without `exactOptionalPropertyTypes` (#290).
|
|
536
538
|
const adminPair =
|
|
537
539
|
account !== undefined && isAdmin ? { account, isAdmin: true as const } : {}
|
|
538
540
|
|
|
539
|
-
|
|
541
|
+
return {
|
|
540
542
|
address: keyId,
|
|
541
543
|
chainId: chainId === '0x' ? 0n : Hex.toBigInt(chainId),
|
|
542
544
|
...(expiry != null ? { expiry: Number(expiry) } : {}),
|
|
@@ -553,7 +555,6 @@ export function fromRpc(authorization: Rpc): Signed {
|
|
|
553
555
|
...(witness !== undefined ? { witness } : {}),
|
|
554
556
|
...adminPair,
|
|
555
557
|
}
|
|
556
|
-
return args as Signed
|
|
557
558
|
}
|
|
558
559
|
|
|
559
560
|
export declare namespace fromRpc {
|
|
@@ -914,7 +915,7 @@ export declare namespace serialize {
|
|
|
914
915
|
* @param authorization - A Key Authorization.
|
|
915
916
|
* @returns An RPC-formatted Key Authorization.
|
|
916
917
|
*/
|
|
917
|
-
export function toRpc(authorization:
|
|
918
|
+
export function toRpc(authorization: toRpc.Input): Rpc {
|
|
918
919
|
const {
|
|
919
920
|
address,
|
|
920
921
|
scopes,
|
|
@@ -953,15 +954,17 @@ export function toRpc(authorization: Signed): Rpc {
|
|
|
953
954
|
)
|
|
954
955
|
})()
|
|
955
956
|
|
|
957
|
+
const chainIdHex = Quantity.fromNumberish(chainId)
|
|
958
|
+
|
|
956
959
|
return {
|
|
957
|
-
chainId:
|
|
958
|
-
expiry:
|
|
960
|
+
chainId: chainIdHex === '0x0' ? '0x' : chainIdHex,
|
|
961
|
+
expiry: expiry != null ? Quantity.fromNumberish(expiry) : null,
|
|
959
962
|
keyId: address,
|
|
960
963
|
keyType: type,
|
|
961
964
|
limits: limits?.map(({ token, limit, period }) => ({
|
|
962
965
|
token,
|
|
963
|
-
limit:
|
|
964
|
-
...(period ? { period:
|
|
966
|
+
limit: Quantity.fromNumberish(limit),
|
|
967
|
+
...(period ? { period: Quantity.fromNumberish(period) } : {}),
|
|
965
968
|
})),
|
|
966
969
|
signature: SignatureEnvelope.toRpc(signature),
|
|
967
970
|
...(allowedCalls ? { allowedCalls } : {}),
|
|
@@ -972,6 +975,9 @@ export function toRpc(authorization: Signed): Rpc {
|
|
|
972
975
|
}
|
|
973
976
|
|
|
974
977
|
export declare namespace toRpc {
|
|
978
|
+
/** Numberish input accepted by {@link ox#KeyAuthorization.(toRpc:function)}. */
|
|
979
|
+
type Input = Signed<Hex.Hex | bigint | number, Hex.Hex | number>
|
|
980
|
+
|
|
975
981
|
type ErrorType = Errors.GlobalErrorType
|
|
976
982
|
}
|
|
977
983
|
|
|
@@ -30,31 +30,51 @@ describe('from', () => {
|
|
|
30
30
|
})
|
|
31
31
|
})
|
|
32
32
|
|
|
33
|
-
describe('
|
|
33
|
+
describe('getAddress', () => {
|
|
34
34
|
test('matches independent ground truth', () => {
|
|
35
|
-
expect(MultisigConfig.
|
|
36
|
-
`"
|
|
35
|
+
expect(MultisigConfig.getAddress(singleOwnerConfig)).toMatchInlineSnapshot(
|
|
36
|
+
`"0x8820d1497eeaf4f68e00b2cfc00a2f3b1dbb00da"`,
|
|
37
37
|
)
|
|
38
38
|
})
|
|
39
39
|
|
|
40
|
+
test('matches independent ground truth (salt + weights)', () => {
|
|
41
|
+
expect(
|
|
42
|
+
MultisigConfig.getAddress({
|
|
43
|
+
salt: `0x${'42'.repeat(32)}`,
|
|
44
|
+
threshold: 2,
|
|
45
|
+
owners: [
|
|
46
|
+
{ owner: owner1, weight: 1 },
|
|
47
|
+
{ owner: owner2, weight: 2 },
|
|
48
|
+
],
|
|
49
|
+
}),
|
|
50
|
+
).toMatchInlineSnapshot(`"0x0773e28146400643e42cb28f6659b74e7c0b451d"`)
|
|
51
|
+
})
|
|
52
|
+
|
|
40
53
|
test('is stable across calls', () => {
|
|
41
|
-
expect(MultisigConfig.
|
|
42
|
-
MultisigConfig.
|
|
54
|
+
expect(MultisigConfig.getAddress(singleOwnerConfig)).toBe(
|
|
55
|
+
MultisigConfig.getAddress(singleOwnerConfig),
|
|
43
56
|
)
|
|
44
57
|
})
|
|
45
58
|
|
|
46
59
|
test('differs for a different salt', () => {
|
|
47
|
-
expect(MultisigConfig.
|
|
48
|
-
MultisigConfig.
|
|
60
|
+
expect(MultisigConfig.getAddress(singleOwnerConfig)).not.toBe(
|
|
61
|
+
MultisigConfig.getAddress({
|
|
49
62
|
...singleOwnerConfig,
|
|
50
63
|
salt: `0x${'42'.repeat(32)}`,
|
|
51
64
|
}),
|
|
52
65
|
)
|
|
53
66
|
})
|
|
54
67
|
|
|
68
|
+
test('address is chain-independent', () => {
|
|
69
|
+
// Derivation does not include chain ID; identical config → identical address.
|
|
70
|
+
const a = MultisigConfig.getAddress(singleOwnerConfig)
|
|
71
|
+
const b = MultisigConfig.getAddress(MultisigConfig.from(singleOwnerConfig))
|
|
72
|
+
expect(a).toBe(b)
|
|
73
|
+
})
|
|
74
|
+
|
|
55
75
|
test('throws on invalid config', () => {
|
|
56
76
|
expect(() =>
|
|
57
|
-
MultisigConfig.
|
|
77
|
+
MultisigConfig.getAddress({
|
|
58
78
|
threshold: 5,
|
|
59
79
|
owners: singleOwnerConfig.owners,
|
|
60
80
|
}),
|
|
@@ -62,50 +82,27 @@ describe('genesisConfigId', () => {
|
|
|
62
82
|
})
|
|
63
83
|
})
|
|
64
84
|
|
|
65
|
-
describe('getAddress', () => {
|
|
66
|
-
test('matches independent ground truth', () => {
|
|
67
|
-
expect(MultisigConfig.getAddress(singleOwnerConfig)).toMatchInlineSnapshot(
|
|
68
|
-
`"0x6ca655065b1de473d903eebd50e5cb4996e10468"`,
|
|
69
|
-
)
|
|
70
|
-
})
|
|
71
|
-
|
|
72
|
-
test('derives from positional config or `{ genesisConfigId }` identically', () => {
|
|
73
|
-
const genesisConfigId = MultisigConfig.toId(singleOwnerConfig)
|
|
74
|
-
expect(MultisigConfig.getAddress({ genesisConfigId })).toBe(
|
|
75
|
-
MultisigConfig.getAddress(singleOwnerConfig),
|
|
76
|
-
)
|
|
77
|
-
})
|
|
78
|
-
|
|
79
|
-
test('config ID and address are chain-independent', () => {
|
|
80
|
-
// Derivation does not include chain ID; identical config → identical id/address.
|
|
81
|
-
const a = MultisigConfig.toId(singleOwnerConfig)
|
|
82
|
-
const b = MultisigConfig.toId(MultisigConfig.from(singleOwnerConfig))
|
|
83
|
-
expect(a).toBe(b)
|
|
84
|
-
})
|
|
85
|
-
})
|
|
86
|
-
|
|
87
85
|
describe('getSignPayload', () => {
|
|
88
86
|
test('matches independent ground truth', () => {
|
|
89
87
|
expect(
|
|
90
88
|
MultisigConfig.getSignPayload({
|
|
91
|
-
payload: `0x${'
|
|
89
|
+
payload: `0x${'de'.repeat(32)}`,
|
|
92
90
|
genesisConfig: singleOwnerConfig,
|
|
93
91
|
}),
|
|
94
92
|
).toMatchInlineSnapshot(
|
|
95
|
-
`"
|
|
93
|
+
`"0x7df8cb9fef4fc2aeb271b617d1a4c6178b720ae1d7564f48a363069b7d77a079"`,
|
|
96
94
|
)
|
|
97
95
|
})
|
|
98
96
|
|
|
99
|
-
test('behavior: `genesisConfig` and `{account
|
|
100
|
-
const
|
|
101
|
-
const account = MultisigConfig.getAddress({ genesisConfigId })
|
|
97
|
+
test('behavior: `genesisConfig` and `{ account }` produce identical digests', () => {
|
|
98
|
+
const account = MultisigConfig.getAddress(singleOwnerConfig)
|
|
102
99
|
const payload = `0x${'42'.repeat(32)}` as const
|
|
103
100
|
expect(
|
|
104
101
|
MultisigConfig.getSignPayload({
|
|
105
102
|
payload,
|
|
106
103
|
genesisConfig: singleOwnerConfig,
|
|
107
104
|
}),
|
|
108
|
-
).toBe(MultisigConfig.getSignPayload({ payload, account
|
|
105
|
+
).toBe(MultisigConfig.getSignPayload({ payload, account }))
|
|
109
106
|
})
|
|
110
107
|
})
|
|
111
108
|
|
|
@@ -152,8 +149,16 @@ describe('assert / validate', () => {
|
|
|
152
149
|
expect(MultisigConfig.validate({ threshold: 1, owners: [] })).toBe(false)
|
|
153
150
|
})
|
|
154
151
|
|
|
152
|
+
test('accepts 255 owners', () => {
|
|
153
|
+
const owners = Array.from({ length: 255 }, (_, i) => ({
|
|
154
|
+
owner: `0x${(i + 1).toString(16).padStart(40, '0')}` as `0x${string}`,
|
|
155
|
+
weight: 1,
|
|
156
|
+
}))
|
|
157
|
+
expect(MultisigConfig.validate({ threshold: 255, owners })).toBe(true)
|
|
158
|
+
})
|
|
159
|
+
|
|
155
160
|
test('too many owners', () => {
|
|
156
|
-
const owners = Array.from({ length:
|
|
161
|
+
const owners = Array.from({ length: 256 }, (_, i) => ({
|
|
157
162
|
owner: `0x${(i + 1).toString(16).padStart(40, '0')}` as `0x${string}`,
|
|
158
163
|
weight: 1,
|
|
159
164
|
}))
|
|
@@ -178,6 +183,18 @@ describe('assert / validate', () => {
|
|
|
178
183
|
).toBe(false)
|
|
179
184
|
})
|
|
180
185
|
|
|
186
|
+
test('total weight exceeds u8 max', () => {
|
|
187
|
+
expect(
|
|
188
|
+
MultisigConfig.validate({
|
|
189
|
+
threshold: 255,
|
|
190
|
+
owners: [
|
|
191
|
+
{ owner: owner1, weight: 128 },
|
|
192
|
+
{ owner: owner2, weight: 128 },
|
|
193
|
+
],
|
|
194
|
+
}),
|
|
195
|
+
).toBe(false)
|
|
196
|
+
})
|
|
197
|
+
|
|
181
198
|
test('zero owner weight', () => {
|
|
182
199
|
expect(
|
|
183
200
|
MultisigConfig.validate({
|