voltaire-effect 0.2.23 → 0.2.25
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/KZGService-B7PJerOb.d.ts +146 -0
- package/dist/ProviderService-BZ5pqDrD.d.ts +319 -0
- package/dist/{X25519Test-DGsk1V9o.d.ts → X25519Test-D5Q-5fL9.d.ts} +4 -143
- package/dist/crypto/index.d.ts +5 -6
- package/dist/crypto/index.js +227 -201
- package/dist/{index-IgkEHjBe.d.ts → index-BCOuszKZ.d.ts} +17634 -11962
- package/dist/index.d.ts +3195 -976
- package/dist/index.js +6994 -4679
- package/dist/native/index.d.ts +25 -16
- package/dist/native/index.js +7020 -4705
- package/dist/primitives/index.d.ts +14 -8
- package/dist/primitives/index.js +4060 -2539
- package/dist/services/index.d.ts +9054 -30
- package/dist/services/index.js +1592 -1331
- package/package.json +2 -2
- package/src/crypto/ERC6492/ERC6492.test.ts +32 -14
- package/src/crypto/ERC6492/verifySignature.ts +4 -5
- package/src/crypto/Keccak256/Keccak256.test.ts +42 -1
- package/src/crypto/Keccak256/hashSync.ts +53 -0
- package/src/crypto/Keccak256/index.ts +2 -0
- package/src/index.ts +7 -2
- package/src/primitives/Abi/decode.test.ts +38 -0
- package/src/primitives/Abi/decode.ts +67 -0
- package/src/primitives/Abi/decodeData.test.ts +37 -0
- package/src/primitives/Abi/decodeData.ts +77 -0
- package/src/primitives/Abi/decodeLog.test.ts +32 -0
- package/src/primitives/Abi/decodeLog.ts +81 -0
- package/src/primitives/Abi/decodeWrappedError.test.ts +41 -0
- package/src/primitives/Abi/decodeWrappedError.ts +68 -0
- package/src/primitives/Abi/encode.test.ts +43 -0
- package/src/primitives/Abi/encode.ts +67 -0
- package/src/primitives/Abi/encodePacked.test.ts +35 -0
- package/src/primitives/Abi/encodePacked.ts +62 -0
- package/src/primitives/Abi/encodeWrappedError.test.ts +21 -0
- package/src/primitives/Abi/encodeWrappedError.ts +64 -0
- package/src/primitives/Abi/findSelectorCollisions.test.ts +50 -0
- package/src/primitives/Abi/findSelectorCollisions.ts +83 -0
- package/src/primitives/Abi/index.ts +33 -7
- package/src/primitives/Abi/parseLogs.test.ts +37 -0
- package/src/primitives/Abi/parseLogs.ts +62 -0
- package/src/primitives/AccessList/AccessList.test.ts +229 -0
- package/src/primitives/AccessList/AccessListTypeSchema.ts +16 -0
- package/src/primitives/AccessList/addressCount.ts +21 -0
- package/src/primitives/AccessList/assertValid.ts +37 -0
- package/src/primitives/AccessList/create.ts +19 -0
- package/src/primitives/AccessList/deduplicate.ts +23 -0
- package/src/primitives/AccessList/from.ts +39 -0
- package/src/primitives/AccessList/fromBytes.ts +36 -0
- package/src/primitives/AccessList/gasCost.ts +22 -0
- package/src/primitives/AccessList/gasSavings.ts +26 -0
- package/src/primitives/AccessList/hasSavings.ts +23 -0
- package/src/primitives/AccessList/includesAddress.ts +25 -0
- package/src/primitives/AccessList/includesStorageKey.ts +28 -0
- package/src/primitives/AccessList/index.ts +99 -19
- package/src/primitives/AccessList/is.ts +23 -0
- package/src/primitives/AccessList/isEmpty.ts +23 -0
- package/src/primitives/AccessList/isItem.ts +22 -0
- package/src/primitives/AccessList/keysFor.ts +29 -0
- package/src/primitives/AccessList/merge.ts +24 -0
- package/src/primitives/AccessList/storageKeyCount.ts +21 -0
- package/src/primitives/AccessList/toBytes.ts +23 -0
- package/src/primitives/AccessList/withAddress.ts +27 -0
- package/src/primitives/AccessList/withStorageKey.ts +30 -0
- package/src/primitives/Address/Address.test.ts +146 -0
- package/src/primitives/Address/assert.ts +51 -0
- package/src/primitives/Address/calculateCreate2Address.ts +33 -0
- package/src/primitives/Address/calculateCreateAddress.ts +30 -0
- package/src/primitives/Address/deduplicateAddresses.ts +20 -0
- package/src/primitives/Address/from.ts +41 -0
- package/src/primitives/Address/fromAbiEncoded.ts +35 -0
- package/src/primitives/Address/fromBase64.ts +25 -0
- package/src/primitives/Address/fromBytes.ts +25 -0
- package/src/primitives/Address/fromHex.ts +31 -0
- package/src/primitives/Address/fromNumber.ts +25 -0
- package/src/primitives/Address/fromPrivateKey.ts +25 -0
- package/src/primitives/Address/fromPublicKey.ts +56 -0
- package/src/primitives/Address/index.ts +99 -35
- package/src/primitives/Address/is.ts +20 -0
- package/src/primitives/Address/isAddress.ts +22 -0
- package/src/primitives/Address/sortAddresses.ts +19 -0
- package/src/primitives/Address/toChecksummed.ts +32 -0
- package/src/primitives/Address/toHex.ts +18 -0
- package/src/primitives/Address/zero.ts +18 -0
- package/src/primitives/Base64/Base64.test.ts +75 -0
- package/src/primitives/Base64/convert.ts +37 -0
- package/src/primitives/Base64/decode.ts +59 -0
- package/src/primitives/Base64/encode.ts +42 -0
- package/src/primitives/Base64/from.ts +39 -0
- package/src/primitives/Base64/index.ts +81 -1
- package/src/primitives/Base64/size.ts +16 -0
- package/src/primitives/Base64/validation.ts +16 -0
- package/src/primitives/Blob/Blob.test.ts +292 -0
- package/src/primitives/Blob/calculateGas.ts +30 -0
- package/src/primitives/Blob/estimateBlobCount.ts +30 -0
- package/src/primitives/Blob/from.ts +38 -0
- package/src/primitives/Blob/fromData.ts +36 -0
- package/src/primitives/Blob/index.ts +99 -12
- package/src/primitives/Blob/isValidVersion.ts +27 -0
- package/src/primitives/Blob/joinData.ts +43 -0
- package/src/primitives/Blob/splitData.ts +36 -0
- package/src/primitives/Blob/toCommitment.ts +43 -0
- package/src/primitives/Blob/toProof.ts +50 -0
- package/src/primitives/Blob/toVersionedHash.ts +35 -0
- package/src/primitives/Blob/verify.ts +49 -0
- package/src/primitives/Blob/verifyBatch.ts +119 -0
- package/src/primitives/BloomFilter/BloomFilter.test.ts +138 -0
- package/src/primitives/BloomFilter/add.ts +23 -0
- package/src/primitives/BloomFilter/combine.ts +21 -0
- package/src/primitives/BloomFilter/contains.ts +26 -0
- package/src/primitives/BloomFilter/create.ts +35 -0
- package/src/primitives/BloomFilter/density.ts +22 -0
- package/src/primitives/BloomFilter/expectedFalsePositiveRate.ts +25 -0
- package/src/primitives/BloomFilter/fromHex.ts +37 -0
- package/src/primitives/BloomFilter/hash.ts +43 -0
- package/src/primitives/BloomFilter/index.ts +59 -37
- package/src/primitives/BloomFilter/isEmpty.ts +22 -0
- package/src/primitives/BloomFilter/merge.ts +24 -0
- package/src/primitives/BloomFilter/toHex.ts +22 -0
- package/src/primitives/Bytecode/analyze.ts +58 -0
- package/src/primitives/Bytecode/detectFusions.ts +10 -0
- package/src/primitives/Bytecode/equals.ts +10 -0
- package/src/primitives/Bytecode/extractRuntime.ts +12 -0
- package/src/primitives/Bytecode/format.ts +16 -0
- package/src/primitives/Bytecode/from.ts +16 -0
- package/src/primitives/Bytecode/fromHex.ts +14 -0
- package/src/primitives/Bytecode/getBlock.ts +12 -0
- package/src/primitives/Bytecode/getNextPc.ts +12 -0
- package/src/primitives/Bytecode/getPushSize.ts +8 -0
- package/src/primitives/Bytecode/hasMetadata.ts +10 -0
- package/src/primitives/Bytecode/hash.ts +9 -0
- package/src/primitives/Bytecode/index.ts +103 -13
- package/src/primitives/Bytecode/isPush.ts +8 -0
- package/src/primitives/Bytecode/isTerminator.ts +8 -0
- package/src/primitives/Bytecode/isValidJumpDest.ts +12 -0
- package/src/primitives/Bytecode/parseInstructions.ts +10 -0
- package/src/primitives/Bytecode/prettyPrint.ts +12 -0
- package/src/primitives/Bytecode/scan.ts +20 -0
- package/src/primitives/Bytecode/size.ts +9 -0
- package/src/primitives/Bytecode/stripMetadata.ts +10 -0
- package/src/primitives/Bytecode/toAbi.ts +10 -0
- package/src/primitives/Bytecode/toHex.ts +10 -0
- package/src/primitives/Bytecode/types.ts +23 -0
- package/src/primitives/Bytecode/validate.ts +9 -0
- package/src/primitives/ContractSignature/ContractSignature.test.ts +1 -13
- package/src/primitives/ContractSignature/verifySignature.ts +88 -62
- package/src/primitives/Ens/Ens.test.ts +71 -0
- package/src/primitives/Ens/convert.ts +13 -0
- package/src/primitives/Ens/from.ts +32 -0
- package/src/primitives/Ens/hash.ts +46 -0
- package/src/primitives/Ens/index.ts +86 -4
- package/src/primitives/Ens/normalize.ts +45 -0
- package/src/primitives/Ens/validation.ts +38 -0
- package/src/primitives/EventLog/accessors.ts +32 -0
- package/src/primitives/EventLog/clone.ts +17 -0
- package/src/primitives/EventLog/create.ts +46 -0
- package/src/primitives/EventLog/filtering.ts +48 -0
- package/src/primitives/EventLog/index.ts +96 -6
- package/src/primitives/EventLog/status.ts +17 -0
- package/src/primitives/EventLog/toRpc.ts +49 -0
- package/src/primitives/Hardfork/HardforkSchema.ts +3 -3
- package/src/primitives/Hardfork/allIds.ts +13 -0
- package/src/primitives/Hardfork/allNames.ts +13 -0
- package/src/primitives/Hardfork/compare.ts +17 -0
- package/src/primitives/Hardfork/comparisons.ts +45 -0
- package/src/primitives/Hardfork/equals.ts +17 -0
- package/src/primitives/Hardfork/features.ts +61 -0
- package/src/primitives/Hardfork/fromString.ts +16 -0
- package/src/primitives/Hardfork/index.ts +128 -18
- package/src/primitives/Hardfork/isValidName.ts +14 -0
- package/src/primitives/Hardfork/minMax.ts +23 -0
- package/src/primitives/Hardfork/range.ts +19 -0
- package/src/primitives/Hardfork/toString.ts +16 -0
- package/src/primitives/Hash/Hash.test.ts +104 -0
- package/src/primitives/Hash/from.ts +47 -0
- package/src/primitives/Hash/fromBytes.ts +46 -0
- package/src/primitives/Hash/fromHex.ts +44 -0
- package/src/primitives/Hash/index.ts +45 -8
- package/src/primitives/Hash/isHash.ts +31 -0
- package/src/primitives/Hash/toHex.ts +29 -0
- package/src/primitives/Hex/Hex.test.ts +327 -153
- package/src/primitives/Hex/assertSize.ts +41 -0
- package/src/primitives/Hex/concat.ts +37 -0
- package/src/primitives/Hex/from.ts +38 -0
- package/src/primitives/Hex/fromBigInt.ts +40 -0
- package/src/primitives/Hex/fromBoolean.ts +29 -0
- package/src/primitives/Hex/fromNumber.ts +41 -0
- package/src/primitives/Hex/fromString.ts +28 -0
- package/src/primitives/Hex/index.ts +68 -37
- package/src/primitives/Hex/pad.ts +40 -0
- package/src/primitives/Hex/padRight.ts +39 -0
- package/src/primitives/Hex/size.ts +29 -0
- package/src/primitives/Hex/slice.ts +42 -0
- package/src/primitives/Hex/toBigInt.ts +27 -0
- package/src/primitives/Hex/toBoolean.ts +38 -0
- package/src/primitives/Hex/toNumber.ts +37 -0
- package/src/primitives/Hex/toStringHex.ts +39 -0
- package/src/primitives/Hex/trim.ts +27 -0
- package/src/primitives/Hex/validate.ts +37 -0
- package/src/primitives/Hex/xor.ts +39 -0
- package/src/primitives/Opcode/OpcodeSchema.ts +1 -1
- package/src/primitives/Opcode/disassemble.ts +15 -0
- package/src/primitives/Opcode/dupPosition.ts +15 -0
- package/src/primitives/Opcode/format.ts +15 -0
- package/src/primitives/Opcode/getters.ts +54 -0
- package/src/primitives/Opcode/index.ts +301 -11
- package/src/primitives/Opcode/info.ts +18 -0
- package/src/primitives/Opcode/jumpDests.ts +15 -0
- package/src/primitives/Opcode/logTopics.ts +15 -0
- package/src/primitives/Opcode/name.ts +15 -0
- package/src/primitives/Opcode/parse.ts +15 -0
- package/src/primitives/Opcode/predicates.ts +72 -0
- package/src/primitives/Opcode/pushBytes.ts +15 -0
- package/src/primitives/Opcode/pushOpcode.ts +15 -0
- package/src/primitives/Opcode/swapPosition.ts +15 -0
- package/src/primitives/Rlp/decodeBatch.ts +46 -0
- package/src/primitives/Rlp/decodeObject.ts +46 -0
- package/src/primitives/Rlp/decodeValue.ts +51 -0
- package/src/primitives/Rlp/encodeBatch.ts +50 -0
- package/src/primitives/Rlp/encodeObject.ts +48 -0
- package/src/primitives/Rlp/encodeVariadic.ts +49 -0
- package/src/primitives/Rlp/equals.ts +22 -0
- package/src/primitives/Rlp/from.ts +44 -0
- package/src/primitives/Rlp/fromJSON.ts +45 -0
- package/src/primitives/Rlp/getEncodedLength.ts +47 -0
- package/src/primitives/Rlp/getLength.ts +44 -0
- package/src/primitives/Rlp/index.ts +67 -14
- package/src/primitives/Rlp/isBytesData.ts +21 -0
- package/src/primitives/Rlp/isCanonical.ts +32 -0
- package/src/primitives/Rlp/isData.ts +21 -0
- package/src/primitives/Rlp/isList.ts +46 -0
- package/src/primitives/Rlp/isListData.ts +21 -0
- package/src/primitives/Rlp/isString.ts +46 -0
- package/src/primitives/Rlp/toJSON.ts +20 -0
- package/src/primitives/Rlp/toRaw.ts +31 -0
- package/src/primitives/Signature/Signature.test.ts +217 -0
- package/src/primitives/Signature/from.ts +38 -0
- package/src/primitives/Signature/fromBytes.ts +31 -0
- package/src/primitives/Signature/fromCompact.ts +33 -0
- package/src/primitives/Signature/fromDER.ts +35 -0
- package/src/primitives/Signature/fromEd25519.ts +24 -0
- package/src/primitives/Signature/fromHex.ts +29 -0
- package/src/primitives/Signature/fromP256.ts +25 -0
- package/src/primitives/Signature/fromRpc.ts +38 -0
- package/src/primitives/Signature/fromSecp256k1.ts +29 -0
- package/src/primitives/Signature/fromTuple.ts +33 -0
- package/src/primitives/Signature/getR.ts +24 -0
- package/src/primitives/Signature/getS.ts +24 -0
- package/src/primitives/Signature/getV.ts +24 -0
- package/src/primitives/Signature/index.ts +61 -11
- package/src/primitives/Signature/toDER.ts +24 -0
- package/src/primitives/Signature/toHex.ts +24 -0
- package/src/primitives/Signature/toRpc.ts +35 -0
- package/src/primitives/Signature/toTuple.ts +29 -0
- package/src/primitives/Signature/verify.ts +31 -0
- package/src/primitives/Siwe/create.ts +56 -0
- package/src/primitives/Siwe/hash.ts +27 -0
- package/src/primitives/Siwe/index.ts +57 -21
- package/src/primitives/Siwe/parse.ts +24 -0
- package/src/primitives/Siwe/verify.ts +47 -0
- package/src/primitives/Transaction/Transaction.test.ts +309 -0
- package/src/primitives/Transaction/index.ts +467 -2
- package/src/primitives/Uint/Uint.test.ts +200 -0
- package/src/primitives/Uint/dividedBy.ts +34 -0
- package/src/primitives/Uint/from.ts +35 -0
- package/src/primitives/Uint/fromAbiEncoded.ts +29 -0
- package/src/primitives/Uint/fromBigInt.ts +30 -0
- package/src/primitives/Uint/fromBytes.ts +32 -0
- package/src/primitives/Uint/fromHex.ts +32 -0
- package/src/primitives/Uint/fromNumber.ts +30 -0
- package/src/primitives/Uint/index.ts +90 -45
- package/src/primitives/Uint/isUint256.ts +25 -0
- package/src/primitives/Uint/isValid.ts +25 -0
- package/src/primitives/Uint/modulo.ts +34 -0
- package/src/primitives/Uint/toHex.ts +31 -0
- package/src/primitives/Uint/tryFrom.ts +30 -0
- package/src/services/Contract/Contract.test.ts +46 -41
- package/src/services/Contract/Contract.ts +25 -29
- package/src/services/Contract/ContractTypes.ts +6 -3
- package/src/services/Contract/estimateGas.test.ts +21 -9
- package/src/services/Contract/estimateGas.ts +21 -23
- package/src/services/Debug/Debug.ts +1 -1
- package/src/services/Debug/DebugService.ts +1 -1
- package/src/services/FeeEstimator/DefaultFeeEstimator.ts +10 -6
- package/src/services/FeeEstimator/FeeEstimator.test.ts +68 -62
- package/src/services/Multicall/BalanceResolver.ts +1 -1
- package/src/services/Multicall/GetBalance.ts +1 -1
- package/src/services/Multicall/Multicall.ts +1 -1
- package/src/services/NonceManager/DefaultNonceManager.ts +4 -7
- package/src/services/NonceManager/NonceManager.test.ts +20 -33
- package/src/services/Provider/Provider.test.ts +155 -349
- package/src/services/Provider/Provider.ts +14 -1180
- package/src/services/Provider/ProviderService.ts +14 -1199
- package/src/services/Provider/actions/multicall.test.ts +29 -39
- package/src/services/Provider/actions/multicall.ts +2 -2
- package/src/services/Provider/actions/readContract.test.ts +45 -50
- package/src/services/Provider/actions/readContract.ts +2 -6
- package/src/services/Provider/actions/simulateContract.test.ts +55 -232
- package/src/services/Provider/actions/simulateContract.ts +2 -3
- package/src/services/Provider/ens/getEnsAddress.ts +11 -14
- package/src/services/Provider/ens/getEnsName.ts +15 -18
- package/src/services/Provider/ens/getEnsResolver.ts +11 -14
- package/src/services/Provider/ens/getEnsText.ts +15 -18
- package/src/services/Provider/functions/backfillBlocks.ts +97 -0
- package/src/services/Provider/functions/call.ts +45 -0
- package/src/services/Provider/functions/createAccessList.ts +61 -0
- package/src/services/Provider/functions/createBlockFilter.ts +41 -0
- package/src/services/Provider/functions/createEventFilter.ts +43 -0
- package/src/services/Provider/functions/createPendingTransactionFilter.ts +41 -0
- package/src/services/Provider/functions/estimateGas.ts +52 -0
- package/src/services/Provider/functions/getAccounts.ts +40 -0
- package/src/services/Provider/functions/getBalance.ts +50 -0
- package/src/services/Provider/functions/getBlobBaseFee.ts +46 -0
- package/src/services/Provider/functions/getBlock.ts +95 -0
- package/src/services/Provider/functions/getBlockNumber.ts +51 -0
- package/src/services/Provider/functions/getBlockReceipts.ts +78 -0
- package/src/services/Provider/functions/getBlockTransactionCount.ts +86 -0
- package/src/services/Provider/functions/getChainId.ts +46 -0
- package/src/services/Provider/functions/getCode.ts +43 -0
- package/src/services/Provider/functions/getCoinbase.ts +40 -0
- package/src/services/Provider/functions/getFeeHistory.ts +85 -0
- package/src/services/Provider/functions/getFilterChanges.ts +42 -0
- package/src/services/Provider/functions/getFilterLogs.ts +44 -0
- package/src/services/Provider/functions/getGasPrice.ts +46 -0
- package/src/services/Provider/functions/getHashrate.ts +46 -0
- package/src/services/Provider/functions/getLogs.ts +45 -0
- package/src/services/Provider/functions/getMaxPriorityFeePerGas.ts +46 -0
- package/src/services/Provider/functions/getMining.ts +40 -0
- package/src/services/Provider/functions/getProof.ts +52 -0
- package/src/services/Provider/functions/getProtocolVersion.ts +40 -0
- package/src/services/Provider/functions/getStorageAt.ts +52 -0
- package/src/services/Provider/functions/getSyncing.ts +56 -0
- package/src/services/Provider/functions/getTransaction.ts +57 -0
- package/src/services/Provider/functions/getTransactionByBlockHashAndIndex.ts +73 -0
- package/src/services/Provider/functions/getTransactionByBlockNumberAndIndex.ts +86 -0
- package/src/services/Provider/functions/getTransactionConfirmations.ts +70 -0
- package/src/services/Provider/functions/getTransactionCount.ts +50 -0
- package/src/services/Provider/functions/getTransactionReceipt.ts +57 -0
- package/src/services/Provider/functions/getUncle.ts +97 -0
- package/src/services/Provider/functions/getUncleCount.ts +86 -0
- package/src/services/Provider/functions/index.ts +73 -0
- package/src/services/Provider/functions/netVersion.ts +40 -0
- package/src/services/Provider/functions/sendRawTransaction.ts +40 -0
- package/src/services/Provider/functions/sendTransaction.ts +48 -0
- package/src/services/Provider/functions/sign.ts +50 -0
- package/src/services/Provider/functions/signTransaction.ts +52 -0
- package/src/services/Provider/functions/simulateV1.ts +95 -0
- package/src/services/Provider/functions/simulateV2.ts +51 -0
- package/src/services/Provider/functions/subscribe.ts +49 -0
- package/src/services/Provider/functions/uninstallFilter.ts +40 -0
- package/src/services/Provider/functions/unsubscribe.ts +41 -0
- package/src/services/Provider/functions/waitForTransactionReceipt.ts +168 -0
- package/src/services/Provider/functions/watchBlocks.ts +98 -0
- package/src/services/Provider/index.ts +29 -178
- package/src/services/Provider/types.ts +780 -0
- package/src/services/Provider/utils.ts +204 -0
- package/src/services/RawProvider/ForkProviderTransport.ts +2 -3
- package/src/services/RawProvider/HttpProviderTransport.ts +3 -3
- package/src/services/RawProvider/InMemoryProviderTransport.ts +3 -3
- package/src/services/RawProvider/WebSocketProviderTransport.ts +3 -3
- package/src/services/Signer/Signer.test.ts +211 -187
- package/src/services/Signer/Signer.ts +26 -16
- package/src/services/Signer/actions/deployContract.test.ts +125 -105
- package/src/services/Signer/actions/deployContract.ts +3 -2
- package/src/services/Signer/actions/prepareAuthorization.test.ts +47 -48
- package/src/services/Signer/actions/prepareAuthorization.ts +3 -3
- package/src/services/Signer/actions/signAuthorization.test.ts +39 -45
- package/src/services/Signer/actions/signAuthorization.ts +3 -3
- package/src/services/Signer/actions/writeContract.test.ts +41 -57
- package/src/services/Transport/FallbackTransport.ts +3 -3
- package/src/services/Transport/HttpTransport.ts +3 -3
- package/src/services/Transport/config.ts +7 -7
- package/src/services/Transport/index.ts +3 -4
- package/src/services/errors.test.ts +3 -8
- package/src/services/index.ts +8 -90
- package/src/services/presets/index.ts +9 -10
- package/src/services/presets/presets.test.ts +14 -29
- package/src/standards/ERC165.test.ts +19 -20
- package/src/standards/ERC165.ts +9 -11
- package/src/type-exports.test.ts +37 -0
- package/dist/AccountService-BetXokad.d.ts +0 -1717
- package/dist/RpcResolver-BpvqybjD.d.ts +0 -6439
- package/src/services/Provider/Account.ts +0 -33
- package/src/services/Provider/AccountService.ts +0 -84
- package/src/services/Provider/Blocks.ts +0 -32
- package/src/services/Provider/BlocksService.ts +0 -73
- package/src/services/Provider/Events.ts +0 -33
- package/src/services/Provider/EventsService.ts +0 -71
- package/src/services/Provider/Network.ts +0 -41
- package/src/services/Provider/NetworkService.ts +0 -114
- package/src/services/Provider/Simulation.ts +0 -34
- package/src/services/Provider/SimulationService.ts +0 -161
- package/src/services/Provider/Streaming.ts +0 -30
- package/src/services/Provider/StreamingService.ts +0 -58
- package/src/services/Provider/Transaction.ts +0 -39
- package/src/services/Provider/TransactionService.ts +0 -83
- package/src/services/Provider/filters.ts +0 -91
- package/src/services/Provider/getBlobBaseFee.ts +0 -170
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { describe, expect, it } from "@effect/vitest";
|
|
2
2
|
import { Address, Hash } from "@tevm/voltaire";
|
|
3
|
-
import { InvalidBlobCountError } from "@tevm/voltaire/Blob";
|
|
4
3
|
import * as Effect from "effect/Effect";
|
|
5
4
|
import * as Exit from "effect/Exit";
|
|
6
5
|
import * as Layer from "effect/Layer";
|
|
@@ -9,7 +8,6 @@ import {
|
|
|
9
8
|
TransportError,
|
|
10
9
|
TransportService,
|
|
11
10
|
} from "../Transport/TransportService.js";
|
|
12
|
-
import { calculateBlobGasPrice, estimateBlobGas } from "./getBlobBaseFee.js";
|
|
13
11
|
import { Provider } from "./Provider.js";
|
|
14
12
|
import {
|
|
15
13
|
ProviderNotFoundError,
|
|
@@ -18,6 +16,37 @@ import {
|
|
|
18
16
|
ProviderTimeoutError,
|
|
19
17
|
type ProviderValidationError,
|
|
20
18
|
} from "./ProviderService.js";
|
|
19
|
+
import {
|
|
20
|
+
getBlockNumber,
|
|
21
|
+
getBalance,
|
|
22
|
+
getBlock,
|
|
23
|
+
getCode,
|
|
24
|
+
getStorageAt,
|
|
25
|
+
getTransaction,
|
|
26
|
+
getTransactionReceipt,
|
|
27
|
+
getTransactionCount,
|
|
28
|
+
getBlockTransactionCount,
|
|
29
|
+
call,
|
|
30
|
+
estimateGas,
|
|
31
|
+
getLogs,
|
|
32
|
+
getChainId,
|
|
33
|
+
getGasPrice,
|
|
34
|
+
getMaxPriorityFeePerGas,
|
|
35
|
+
getFeeHistory,
|
|
36
|
+
createAccessList,
|
|
37
|
+
sendRawTransaction,
|
|
38
|
+
getUncle,
|
|
39
|
+
getProof,
|
|
40
|
+
getBlobBaseFee,
|
|
41
|
+
getTransactionConfirmations,
|
|
42
|
+
createEventFilter,
|
|
43
|
+
createBlockFilter,
|
|
44
|
+
createPendingTransactionFilter,
|
|
45
|
+
getFilterChanges,
|
|
46
|
+
getFilterLogs,
|
|
47
|
+
uninstallFilter,
|
|
48
|
+
waitForTransactionReceipt,
|
|
49
|
+
} from "./functions/index.js";
|
|
21
50
|
|
|
22
51
|
const mockTransport = (responses: Record<string, unknown>) =>
|
|
23
52
|
Layer.succeed(TransportService, {
|
|
@@ -68,10 +97,7 @@ describe("ProviderService", () => {
|
|
|
68
97
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
69
98
|
|
|
70
99
|
const result = await Effect.runPromise(
|
|
71
|
-
Effect.
|
|
72
|
-
const provider = yield* ProviderService;
|
|
73
|
-
return yield* provider.getBlockNumber();
|
|
74
|
-
}).pipe(Effect.provide(layer)),
|
|
100
|
+
getBlockNumber().pipe(Effect.provide(layer)),
|
|
75
101
|
);
|
|
76
102
|
|
|
77
103
|
expect(result).toBe(16n);
|
|
@@ -84,12 +110,9 @@ describe("ProviderService", () => {
|
|
|
84
110
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
85
111
|
|
|
86
112
|
const result = await Effect.runPromise(
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
"0x1234567890123456789012345678901234567890",
|
|
91
|
-
);
|
|
92
|
-
}).pipe(Effect.provide(layer)),
|
|
113
|
+
getBalance("0x1234567890123456789012345678901234567890").pipe(
|
|
114
|
+
Effect.provide(layer),
|
|
115
|
+
),
|
|
93
116
|
);
|
|
94
117
|
|
|
95
118
|
expect(result).toBe(1000000000000000000n);
|
|
@@ -101,10 +124,7 @@ describe("ProviderService", () => {
|
|
|
101
124
|
const addr = Address("0x1234567890123456789012345678901234567890");
|
|
102
125
|
|
|
103
126
|
const result = await Effect.runPromise(
|
|
104
|
-
Effect.
|
|
105
|
-
const provider = yield* ProviderService;
|
|
106
|
-
return yield* provider.getBalance(addr);
|
|
107
|
-
}).pipe(Effect.provide(layer)),
|
|
127
|
+
getBalance(addr).pipe(Effect.provide(layer)),
|
|
108
128
|
);
|
|
109
129
|
|
|
110
130
|
expect(result).toBe(1000000000000000000n);
|
|
@@ -139,10 +159,7 @@ describe("ProviderService", () => {
|
|
|
139
159
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
140
160
|
|
|
141
161
|
const result = await Effect.runPromise(
|
|
142
|
-
Effect.
|
|
143
|
-
const provider = yield* ProviderService;
|
|
144
|
-
return yield* provider.getBlock({ blockTag: "latest" });
|
|
145
|
-
}).pipe(Effect.provide(layer)),
|
|
162
|
+
getBlock({ blockTag: "latest" }).pipe(Effect.provide(layer)),
|
|
146
163
|
);
|
|
147
164
|
|
|
148
165
|
expect(result.number).toBe("0x10");
|
|
@@ -164,10 +181,7 @@ describe("ProviderService", () => {
|
|
|
164
181
|
const blockHash =
|
|
165
182
|
"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef";
|
|
166
183
|
const result = await Effect.runPromise(
|
|
167
|
-
Effect.
|
|
168
|
-
const provider = yield* ProviderService;
|
|
169
|
-
return yield* provider.getBlock({ blockHash });
|
|
170
|
-
}).pipe(Effect.provide(layer)),
|
|
184
|
+
getBlock({ blockHash }).pipe(Effect.provide(layer)),
|
|
171
185
|
);
|
|
172
186
|
|
|
173
187
|
expect(capturedMethod).toBe("eth_getBlockByHash");
|
|
@@ -193,10 +207,7 @@ describe("ProviderService", () => {
|
|
|
193
207
|
const topic =
|
|
194
208
|
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef";
|
|
195
209
|
await Effect.runPromise(
|
|
196
|
-
Effect.
|
|
197
|
-
const provider = yield* ProviderService;
|
|
198
|
-
return yield* provider.getLogs({ topics: [topic] });
|
|
199
|
-
}).pipe(Effect.provide(layer)),
|
|
210
|
+
getLogs({ topics: [topic] }).pipe(Effect.provide(layer)),
|
|
200
211
|
);
|
|
201
212
|
|
|
202
213
|
const filter = capturedParams[0] as Record<string, unknown>;
|
|
@@ -218,10 +229,7 @@ describe("ProviderService", () => {
|
|
|
218
229
|
const topic2 =
|
|
219
230
|
"0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c";
|
|
220
231
|
await Effect.runPromise(
|
|
221
|
-
Effect.
|
|
222
|
-
const provider = yield* ProviderService;
|
|
223
|
-
return yield* provider.getLogs({ topics: [[topic1, topic2]] });
|
|
224
|
-
}).pipe(Effect.provide(layer)),
|
|
232
|
+
getLogs({ topics: [[topic1, topic2]] }).pipe(Effect.provide(layer)),
|
|
225
233
|
);
|
|
226
234
|
|
|
227
235
|
const filter = capturedParams[0] as Record<string, unknown>;
|
|
@@ -241,10 +249,7 @@ describe("ProviderService", () => {
|
|
|
241
249
|
const topic =
|
|
242
250
|
"0x000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045";
|
|
243
251
|
await Effect.runPromise(
|
|
244
|
-
Effect.
|
|
245
|
-
const provider = yield* ProviderService;
|
|
246
|
-
return yield* provider.getLogs({ topics: [null, topic] });
|
|
247
|
-
}).pipe(Effect.provide(layer)),
|
|
252
|
+
getLogs({ topics: [null, topic] }).pipe(Effect.provide(layer)),
|
|
248
253
|
);
|
|
249
254
|
|
|
250
255
|
const filter = capturedParams[0] as Record<string, unknown>;
|
|
@@ -268,11 +273,8 @@ describe("ProviderService", () => {
|
|
|
268
273
|
const topic3 =
|
|
269
274
|
"0x0000000000000000000000001234567890123456789012345678901234567890";
|
|
270
275
|
await Effect.runPromise(
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
return yield* provider.getLogs({
|
|
274
|
-
topics: [topic1, [topic2, topic3], null],
|
|
275
|
-
});
|
|
276
|
+
getLogs({
|
|
277
|
+
topics: [topic1, [topic2, topic3], null],
|
|
276
278
|
}).pipe(Effect.provide(layer)),
|
|
277
279
|
);
|
|
278
280
|
|
|
@@ -302,14 +304,11 @@ describe("ProviderService", () => {
|
|
|
302
304
|
const topic = Hash(topicHex);
|
|
303
305
|
|
|
304
306
|
const result = await Effect.runPromise(
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
fromBlock: "latest",
|
|
311
|
-
toBlock: "0x10",
|
|
312
|
-
});
|
|
307
|
+
createEventFilter({
|
|
308
|
+
address: [address, address2],
|
|
309
|
+
topics: [topic, [topic2], null],
|
|
310
|
+
fromBlock: "latest",
|
|
311
|
+
toBlock: "0x10",
|
|
313
312
|
}).pipe(Effect.provide(layer)),
|
|
314
313
|
);
|
|
315
314
|
|
|
@@ -337,9 +336,8 @@ describe("ProviderService", () => {
|
|
|
337
336
|
|
|
338
337
|
const result = await Effect.runPromise(
|
|
339
338
|
Effect.gen(function* () {
|
|
340
|
-
const
|
|
341
|
-
const
|
|
342
|
-
const pending = yield* provider.createPendingTransactionFilter();
|
|
339
|
+
const block = yield* createBlockFilter();
|
|
340
|
+
const pending = yield* createPendingTransactionFilter();
|
|
343
341
|
return { block, pending };
|
|
344
342
|
}).pipe(Effect.provide(layer)),
|
|
345
343
|
);
|
|
@@ -371,10 +369,9 @@ describe("ProviderService", () => {
|
|
|
371
369
|
const filterId = "0x1";
|
|
372
370
|
const result = await Effect.runPromise(
|
|
373
371
|
Effect.gen(function* () {
|
|
374
|
-
const
|
|
375
|
-
const
|
|
376
|
-
const
|
|
377
|
-
const removed = yield* provider.uninstallFilter(filterId);
|
|
372
|
+
const changes = yield* getFilterChanges(filterId);
|
|
373
|
+
const logs = yield* getFilterLogs(filterId);
|
|
374
|
+
const removed = yield* uninstallFilter(filterId);
|
|
378
375
|
return { changes, logs, removed };
|
|
379
376
|
}).pipe(Effect.provide(layer)),
|
|
380
377
|
);
|
|
@@ -394,12 +391,9 @@ describe("ProviderService", () => {
|
|
|
394
391
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
395
392
|
|
|
396
393
|
const result = await Effect.runPromise(
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
"0x1234567890123456789012345678901234567890",
|
|
401
|
-
);
|
|
402
|
-
}).pipe(Effect.provide(layer)),
|
|
394
|
+
getTransactionCount(
|
|
395
|
+
"0x1234567890123456789012345678901234567890",
|
|
396
|
+
).pipe(Effect.provide(layer)),
|
|
403
397
|
);
|
|
404
398
|
|
|
405
399
|
expect(result).toBe(5n);
|
|
@@ -412,12 +406,9 @@ describe("ProviderService", () => {
|
|
|
412
406
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
413
407
|
|
|
414
408
|
const result = await Effect.runPromise(
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
"0x1234567890123456789012345678901234567890",
|
|
419
|
-
);
|
|
420
|
-
}).pipe(Effect.provide(layer)),
|
|
409
|
+
getTransactionCount(
|
|
410
|
+
"0x1234567890123456789012345678901234567890",
|
|
411
|
+
).pipe(Effect.provide(layer)),
|
|
421
412
|
);
|
|
422
413
|
|
|
423
414
|
expect(result).toBe(18446744073709551615n);
|
|
@@ -433,11 +424,8 @@ describe("ProviderService", () => {
|
|
|
433
424
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
434
425
|
|
|
435
426
|
const result = await Effect.runPromise(
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
return yield* provider.getBlockTransactionCount({
|
|
439
|
-
blockTag: "latest",
|
|
440
|
-
});
|
|
427
|
+
getBlockTransactionCount({
|
|
428
|
+
blockTag: "latest",
|
|
441
429
|
}).pipe(Effect.provide(layer)),
|
|
442
430
|
);
|
|
443
431
|
|
|
@@ -451,11 +439,8 @@ describe("ProviderService", () => {
|
|
|
451
439
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
452
440
|
|
|
453
441
|
const result = await Effect.runPromise(
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
return yield* provider.getBlockTransactionCount({
|
|
457
|
-
blockTag: "latest",
|
|
458
|
-
});
|
|
442
|
+
getBlockTransactionCount({
|
|
443
|
+
blockTag: "latest",
|
|
459
444
|
}).pipe(Effect.provide(layer)),
|
|
460
445
|
);
|
|
461
446
|
|
|
@@ -470,12 +455,9 @@ describe("ProviderService", () => {
|
|
|
470
455
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
471
456
|
|
|
472
457
|
const result = await Effect.runPromise(
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
"0x1234567890123456789012345678901234567890",
|
|
477
|
-
);
|
|
478
|
-
}).pipe(Effect.provide(layer)),
|
|
458
|
+
getCode("0x1234567890123456789012345678901234567890").pipe(
|
|
459
|
+
Effect.provide(layer),
|
|
460
|
+
),
|
|
479
461
|
);
|
|
480
462
|
|
|
481
463
|
expect(result).toBe("0x6080604052");
|
|
@@ -487,10 +469,7 @@ describe("ProviderService", () => {
|
|
|
487
469
|
const addr = Address("0x1234567890123456789012345678901234567890");
|
|
488
470
|
|
|
489
471
|
const result = await Effect.runPromise(
|
|
490
|
-
Effect.
|
|
491
|
-
const provider = yield* ProviderService;
|
|
492
|
-
return yield* provider.getCode(addr);
|
|
493
|
-
}).pipe(Effect.provide(layer)),
|
|
472
|
+
getCode(addr).pipe(Effect.provide(layer)),
|
|
494
473
|
);
|
|
495
474
|
|
|
496
475
|
expect(result).toBe("0x6080604052");
|
|
@@ -506,13 +485,10 @@ describe("ProviderService", () => {
|
|
|
506
485
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
507
486
|
|
|
508
487
|
const result = await Effect.runPromise(
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
"0x0000000000000000000000000000000000000000000000000000000000000000",
|
|
514
|
-
);
|
|
515
|
-
}).pipe(Effect.provide(layer)),
|
|
488
|
+
getStorageAt(
|
|
489
|
+
"0x1234567890123456789012345678901234567890",
|
|
490
|
+
"0x0000000000000000000000000000000000000000000000000000000000000000",
|
|
491
|
+
).pipe(Effect.provide(layer)),
|
|
516
492
|
);
|
|
517
493
|
|
|
518
494
|
expect(result).toBe(
|
|
@@ -540,10 +516,7 @@ describe("ProviderService", () => {
|
|
|
540
516
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
541
517
|
|
|
542
518
|
const result = await Effect.runPromise(
|
|
543
|
-
Effect.
|
|
544
|
-
const provider = yield* ProviderService;
|
|
545
|
-
return yield* provider.getTransaction("0xabc");
|
|
546
|
-
}).pipe(Effect.provide(layer)),
|
|
519
|
+
getTransaction("0xabc").pipe(Effect.provide(layer)),
|
|
547
520
|
);
|
|
548
521
|
|
|
549
522
|
expect(result.hash).toBe("0xabc");
|
|
@@ -573,10 +546,7 @@ describe("ProviderService", () => {
|
|
|
573
546
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
574
547
|
|
|
575
548
|
const result = await Effect.runPromise(
|
|
576
|
-
Effect.
|
|
577
|
-
const provider = yield* ProviderService;
|
|
578
|
-
return yield* provider.getTransactionReceipt("0xabc");
|
|
579
|
-
}).pipe(Effect.provide(layer)),
|
|
549
|
+
getTransactionReceipt("0xabc").pipe(Effect.provide(layer)),
|
|
580
550
|
);
|
|
581
551
|
|
|
582
552
|
expect(result.transactionHash).toBe("0xabc");
|
|
@@ -593,12 +563,9 @@ describe("ProviderService", () => {
|
|
|
593
563
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
594
564
|
|
|
595
565
|
const result = await Effect.runPromise(
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
to: "0x1234567890123456789012345678901234567890",
|
|
600
|
-
data: "0x18160ddd",
|
|
601
|
-
});
|
|
566
|
+
call({
|
|
567
|
+
to: "0x1234567890123456789012345678901234567890",
|
|
568
|
+
data: "0x18160ddd",
|
|
602
569
|
}).pipe(Effect.provide(layer)),
|
|
603
570
|
);
|
|
604
571
|
|
|
@@ -614,11 +581,8 @@ describe("ProviderService", () => {
|
|
|
614
581
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
615
582
|
|
|
616
583
|
const result = await Effect.runPromise(
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
return yield* provider.estimateGas({
|
|
620
|
-
to: "0x1234567890123456789012345678901234567890",
|
|
621
|
-
});
|
|
584
|
+
estimateGas({
|
|
585
|
+
to: "0x1234567890123456789012345678901234567890",
|
|
622
586
|
}).pipe(Effect.provide(layer)),
|
|
623
587
|
);
|
|
624
588
|
|
|
@@ -645,11 +609,8 @@ describe("ProviderService", () => {
|
|
|
645
609
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
646
610
|
|
|
647
611
|
const result = await Effect.runPromise(
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
return yield* provider.getLogs({
|
|
651
|
-
address: "0x1234567890123456789012345678901234567890",
|
|
652
|
-
});
|
|
612
|
+
getLogs({
|
|
613
|
+
address: "0x1234567890123456789012345678901234567890",
|
|
653
614
|
}).pipe(Effect.provide(layer)),
|
|
654
615
|
);
|
|
655
616
|
|
|
@@ -666,10 +627,7 @@ describe("ProviderService", () => {
|
|
|
666
627
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
667
628
|
|
|
668
629
|
const result = await Effect.runPromise(
|
|
669
|
-
Effect.
|
|
670
|
-
const provider = yield* ProviderService;
|
|
671
|
-
return yield* provider.getChainId();
|
|
672
|
-
}).pipe(Effect.provide(layer)),
|
|
630
|
+
getChainId().pipe(Effect.provide(layer)),
|
|
673
631
|
);
|
|
674
632
|
|
|
675
633
|
expect(result).toBe(1);
|
|
@@ -682,10 +640,7 @@ describe("ProviderService", () => {
|
|
|
682
640
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
683
641
|
|
|
684
642
|
const exit = await Effect.runPromiseExit(
|
|
685
|
-
Effect.
|
|
686
|
-
const provider = yield* ProviderService;
|
|
687
|
-
return yield* provider.getChainId();
|
|
688
|
-
}).pipe(Effect.provide(layer)),
|
|
643
|
+
getChainId().pipe(Effect.provide(layer)),
|
|
689
644
|
);
|
|
690
645
|
|
|
691
646
|
expect(Exit.isFailure(exit)).toBe(true);
|
|
@@ -698,10 +653,7 @@ describe("ProviderService", () => {
|
|
|
698
653
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
699
654
|
|
|
700
655
|
const result = await Effect.runPromise(
|
|
701
|
-
Effect.
|
|
702
|
-
const provider = yield* ProviderService;
|
|
703
|
-
return yield* provider.getGasPrice();
|
|
704
|
-
}).pipe(Effect.provide(layer)),
|
|
656
|
+
getGasPrice().pipe(Effect.provide(layer)),
|
|
705
657
|
);
|
|
706
658
|
|
|
707
659
|
expect(result).toBe(1000000000n);
|
|
@@ -716,10 +668,7 @@ describe("ProviderService", () => {
|
|
|
716
668
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
717
669
|
|
|
718
670
|
const result = await Effect.runPromise(
|
|
719
|
-
Effect.
|
|
720
|
-
const provider = yield* ProviderService;
|
|
721
|
-
return yield* provider.getMaxPriorityFeePerGas();
|
|
722
|
-
}).pipe(Effect.provide(layer)),
|
|
671
|
+
getMaxPriorityFeePerGas().pipe(Effect.provide(layer)),
|
|
723
672
|
);
|
|
724
673
|
|
|
725
674
|
expect(result).toBe(1000000000n);
|
|
@@ -738,10 +687,7 @@ describe("ProviderService", () => {
|
|
|
738
687
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
739
688
|
|
|
740
689
|
const result = await Effect.runPromise(
|
|
741
|
-
Effect.
|
|
742
|
-
const provider = yield* ProviderService;
|
|
743
|
-
return yield* provider.getFeeHistory(2, "latest", [50]);
|
|
744
|
-
}).pipe(Effect.provide(layer)),
|
|
690
|
+
getFeeHistory(2, "latest", [50]).pipe(Effect.provide(layer)),
|
|
745
691
|
);
|
|
746
692
|
|
|
747
693
|
expect(result.oldestBlock).toBe("0x10");
|
|
@@ -764,11 +710,8 @@ describe("ProviderService", () => {
|
|
|
764
710
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
765
711
|
|
|
766
712
|
const result = await Effect.runPromise(
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
return yield* provider.createAccessList({
|
|
770
|
-
to: "0x1234567890123456789012345678901234567890",
|
|
771
|
-
});
|
|
713
|
+
createAccessList({
|
|
714
|
+
to: "0x1234567890123456789012345678901234567890",
|
|
772
715
|
}).pipe(Effect.provide(layer)),
|
|
773
716
|
);
|
|
774
717
|
|
|
@@ -788,10 +731,7 @@ describe("ProviderService", () => {
|
|
|
788
731
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
789
732
|
|
|
790
733
|
const exit = await Effect.runPromiseExit(
|
|
791
|
-
Effect.
|
|
792
|
-
const provider = yield* ProviderService;
|
|
793
|
-
return yield* provider.getBlockNumber();
|
|
794
|
-
}).pipe(Effect.provide(layer)),
|
|
734
|
+
getBlockNumber().pipe(Effect.provide(layer)),
|
|
795
735
|
);
|
|
796
736
|
|
|
797
737
|
expect(Exit.isFailure(exit)).toBe(true);
|
|
@@ -808,10 +748,7 @@ describe("ProviderService", () => {
|
|
|
808
748
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
809
749
|
|
|
810
750
|
const result = await Effect.runPromise(
|
|
811
|
-
Effect.
|
|
812
|
-
const provider = yield* ProviderService;
|
|
813
|
-
return yield* provider.getBlockNumber();
|
|
814
|
-
}).pipe(Effect.provide(layer)),
|
|
751
|
+
getBlockNumber().pipe(Effect.provide(layer)),
|
|
815
752
|
);
|
|
816
753
|
|
|
817
754
|
expect(result).toBe(0x1234n);
|
|
@@ -827,10 +764,9 @@ describe("ProviderService", () => {
|
|
|
827
764
|
|
|
828
765
|
const [blockNumber, chainId, gasPrice] = await Effect.runPromise(
|
|
829
766
|
Effect.gen(function* () {
|
|
830
|
-
const
|
|
831
|
-
const
|
|
832
|
-
const
|
|
833
|
-
const gas = yield* provider.getGasPrice();
|
|
767
|
+
const block = yield* getBlockNumber();
|
|
768
|
+
const chain = yield* getChainId();
|
|
769
|
+
const gas = yield* getGasPrice();
|
|
834
770
|
return [block, chain, gas] as const;
|
|
835
771
|
}).pipe(Effect.provide(layer)),
|
|
836
772
|
);
|
|
@@ -850,11 +786,8 @@ describe("ProviderService", () => {
|
|
|
850
786
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
851
787
|
|
|
852
788
|
const exit = await Effect.runPromiseExit(
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
return yield* provider.call({
|
|
856
|
-
to: "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
|
857
|
-
});
|
|
789
|
+
call({
|
|
790
|
+
to: "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
|
858
791
|
}).pipe(Effect.provide(layer)),
|
|
859
792
|
);
|
|
860
793
|
|
|
@@ -885,10 +818,7 @@ describe("ProviderService", () => {
|
|
|
885
818
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
886
819
|
|
|
887
820
|
const result = await Effect.runPromise(
|
|
888
|
-
Effect.
|
|
889
|
-
const provider = yield* ProviderService;
|
|
890
|
-
return yield* provider.waitForTransactionReceipt("0xabc");
|
|
891
|
-
}).pipe(Effect.provide(layer)),
|
|
821
|
+
waitForTransactionReceipt("0xabc").pipe(Effect.provide(layer)),
|
|
892
822
|
);
|
|
893
823
|
|
|
894
824
|
expect(result.transactionHash).toBe("0xabc");
|
|
@@ -907,10 +837,7 @@ describe("ProviderService", () => {
|
|
|
907
837
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
908
838
|
|
|
909
839
|
const result = await Effect.runPromise(
|
|
910
|
-
Effect.
|
|
911
|
-
const provider = yield* ProviderService;
|
|
912
|
-
return yield* provider.waitForTransactionReceipt("0xabc");
|
|
913
|
-
}).pipe(Effect.provide(layer)),
|
|
840
|
+
waitForTransactionReceipt("0xabc").pipe(Effect.provide(layer)),
|
|
914
841
|
);
|
|
915
842
|
|
|
916
843
|
expect(callCount).toBe(3);
|
|
@@ -930,11 +857,8 @@ describe("ProviderService", () => {
|
|
|
930
857
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
931
858
|
|
|
932
859
|
const result = await Effect.runPromise(
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
return yield* provider.waitForTransactionReceipt("0xabc", {
|
|
936
|
-
confirmations: 3,
|
|
937
|
-
});
|
|
860
|
+
waitForTransactionReceipt("0xabc", {
|
|
861
|
+
confirmations: 3,
|
|
938
862
|
}).pipe(Effect.provide(layer)),
|
|
939
863
|
);
|
|
940
864
|
|
|
@@ -949,11 +873,8 @@ describe("ProviderService", () => {
|
|
|
949
873
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
950
874
|
|
|
951
875
|
const exit = await Effect.runPromiseExit(
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
return yield* provider.waitForTransactionReceipt("0xabc", {
|
|
955
|
-
timeout: 2000,
|
|
956
|
-
});
|
|
876
|
+
waitForTransactionReceipt("0xabc", {
|
|
877
|
+
timeout: 2000,
|
|
957
878
|
}).pipe(Effect.provide(layer)),
|
|
958
879
|
);
|
|
959
880
|
|
|
@@ -976,12 +897,9 @@ describe("ProviderService", () => {
|
|
|
976
897
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
977
898
|
|
|
978
899
|
const exit = await Effect.runPromiseExit(
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
confirmations: 5,
|
|
983
|
-
timeout: 2000,
|
|
984
|
-
});
|
|
900
|
+
waitForTransactionReceipt("0xabc", {
|
|
901
|
+
confirmations: 5,
|
|
902
|
+
timeout: 2000,
|
|
985
903
|
}).pipe(Effect.provide(layer)),
|
|
986
904
|
);
|
|
987
905
|
|
|
@@ -995,11 +913,8 @@ describe("ProviderService", () => {
|
|
|
995
913
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
996
914
|
|
|
997
915
|
const exit = await Effect.runPromiseExit(
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
return yield* provider.waitForTransactionReceipt("0xabc", {
|
|
1001
|
-
confirmations: 0,
|
|
1002
|
-
});
|
|
916
|
+
waitForTransactionReceipt("0xabc", {
|
|
917
|
+
confirmations: 0,
|
|
1003
918
|
}).pipe(Effect.provide(layer)),
|
|
1004
919
|
);
|
|
1005
920
|
|
|
@@ -1028,12 +943,9 @@ describe("ProviderService", () => {
|
|
|
1028
943
|
|
|
1029
944
|
const start = Date.now();
|
|
1030
945
|
const exit = await Effect.runPromiseExit(
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
timeout: 3000,
|
|
1035
|
-
confirmations: 5,
|
|
1036
|
-
});
|
|
946
|
+
waitForTransactionReceipt("0xabc", {
|
|
947
|
+
timeout: 3000,
|
|
948
|
+
confirmations: 5,
|
|
1037
949
|
}).pipe(Effect.provide(layer)),
|
|
1038
950
|
);
|
|
1039
951
|
|
|
@@ -1061,10 +973,7 @@ describe("ProviderService", () => {
|
|
|
1061
973
|
const addr = Address("0x1234567890123456789012345678901234567890");
|
|
1062
974
|
|
|
1063
975
|
await Effect.runPromise(
|
|
1064
|
-
Effect.
|
|
1065
|
-
const provider = yield* ProviderService;
|
|
1066
|
-
return yield* provider.getBalance(addr);
|
|
1067
|
-
}).pipe(Effect.provide(layer)),
|
|
976
|
+
getBalance(addr).pipe(Effect.provide(layer)),
|
|
1068
977
|
);
|
|
1069
978
|
|
|
1070
979
|
expect(capturedParams[0]).toBe(
|
|
@@ -1091,13 +1000,10 @@ describe("ProviderService", () => {
|
|
|
1091
1000
|
);
|
|
1092
1001
|
|
|
1093
1002
|
await Effect.runPromise(
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
hash,
|
|
1099
|
-
);
|
|
1100
|
-
}).pipe(Effect.provide(layer)),
|
|
1003
|
+
getStorageAt(
|
|
1004
|
+
"0x1234567890123456789012345678901234567890",
|
|
1005
|
+
hash,
|
|
1006
|
+
).pipe(Effect.provide(layer)),
|
|
1101
1007
|
);
|
|
1102
1008
|
|
|
1103
1009
|
expect(capturedParams[1]).toBe(
|
|
@@ -1112,10 +1018,7 @@ describe("ProviderService", () => {
|
|
|
1112
1018
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
1113
1019
|
|
|
1114
1020
|
const exit = await Effect.runPromiseExit(
|
|
1115
|
-
Effect.
|
|
1116
|
-
const provider = yield* ProviderService;
|
|
1117
|
-
return yield* provider.getFeeHistory(0, "latest", [25, 50, 75]);
|
|
1118
|
-
}).pipe(Effect.provide(layer)),
|
|
1021
|
+
getFeeHistory(0, "latest", [25, 50, 75]).pipe(Effect.provide(layer)),
|
|
1119
1022
|
);
|
|
1120
1023
|
|
|
1121
1024
|
expect(Exit.isFailure(exit)).toBe(true);
|
|
@@ -1132,10 +1035,7 @@ describe("ProviderService", () => {
|
|
|
1132
1035
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
1133
1036
|
|
|
1134
1037
|
const exit = await Effect.runPromiseExit(
|
|
1135
|
-
Effect.
|
|
1136
|
-
const provider = yield* ProviderService;
|
|
1137
|
-
return yield* provider.getFeeHistory(-1, "latest", [25, 50, 75]);
|
|
1138
|
-
}).pipe(Effect.provide(layer)),
|
|
1038
|
+
getFeeHistory(-1, "latest", [25, 50, 75]).pipe(Effect.provide(layer)),
|
|
1139
1039
|
);
|
|
1140
1040
|
|
|
1141
1041
|
expect(Exit.isFailure(exit)).toBe(true);
|
|
@@ -1152,10 +1052,7 @@ describe("ProviderService", () => {
|
|
|
1152
1052
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
1153
1053
|
|
|
1154
1054
|
const exit = await Effect.runPromiseExit(
|
|
1155
|
-
Effect.
|
|
1156
|
-
const provider = yield* ProviderService;
|
|
1157
|
-
return yield* provider.getFeeHistory(1.5, "latest", [25, 50, 75]);
|
|
1158
|
-
}).pipe(Effect.provide(layer)),
|
|
1055
|
+
getFeeHistory(1.5, "latest", [25, 50, 75]).pipe(Effect.provide(layer)),
|
|
1159
1056
|
);
|
|
1160
1057
|
|
|
1161
1058
|
expect(Exit.isFailure(exit)).toBe(true);
|
|
@@ -1172,10 +1069,7 @@ describe("ProviderService", () => {
|
|
|
1172
1069
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
1173
1070
|
|
|
1174
1071
|
const exit = await Effect.runPromiseExit(
|
|
1175
|
-
Effect.
|
|
1176
|
-
const provider = yield* ProviderService;
|
|
1177
|
-
return yield* provider.getFeeHistory(4, "latest", [-1, 50, 75]);
|
|
1178
|
-
}).pipe(Effect.provide(layer)),
|
|
1072
|
+
getFeeHistory(4, "latest", [-1, 50, 75]).pipe(Effect.provide(layer)),
|
|
1179
1073
|
);
|
|
1180
1074
|
|
|
1181
1075
|
expect(Exit.isFailure(exit)).toBe(true);
|
|
@@ -1192,10 +1086,7 @@ describe("ProviderService", () => {
|
|
|
1192
1086
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
1193
1087
|
|
|
1194
1088
|
const exit = await Effect.runPromiseExit(
|
|
1195
|
-
Effect.
|
|
1196
|
-
const provider = yield* ProviderService;
|
|
1197
|
-
return yield* provider.getFeeHistory(4, "latest", [25, 50, 101]);
|
|
1198
|
-
}).pipe(Effect.provide(layer)),
|
|
1089
|
+
getFeeHistory(4, "latest", [25, 50, 101]).pipe(Effect.provide(layer)),
|
|
1199
1090
|
);
|
|
1200
1091
|
|
|
1201
1092
|
expect(Exit.isFailure(exit)).toBe(true);
|
|
@@ -1212,10 +1103,7 @@ describe("ProviderService", () => {
|
|
|
1212
1103
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
1213
1104
|
|
|
1214
1105
|
const exit = await Effect.runPromiseExit(
|
|
1215
|
-
Effect.
|
|
1216
|
-
const provider = yield* ProviderService;
|
|
1217
|
-
return yield* provider.getFeeHistory(4, "latest", [75, 50, 25]);
|
|
1218
|
-
}).pipe(Effect.provide(layer)),
|
|
1106
|
+
getFeeHistory(4, "latest", [75, 50, 25]).pipe(Effect.provide(layer)),
|
|
1219
1107
|
);
|
|
1220
1108
|
|
|
1221
1109
|
expect(Exit.isFailure(exit)).toBe(true);
|
|
@@ -1238,10 +1126,7 @@ describe("ProviderService", () => {
|
|
|
1238
1126
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
1239
1127
|
|
|
1240
1128
|
const result = await Effect.runPromise(
|
|
1241
|
-
Effect.
|
|
1242
|
-
const provider = yield* ProviderService;
|
|
1243
|
-
return yield* provider.getFeeHistory(4, "latest", [25, 50, 75]);
|
|
1244
|
-
}).pipe(Effect.provide(layer)),
|
|
1129
|
+
getFeeHistory(4, "latest", [25, 50, 75]).pipe(Effect.provide(layer)),
|
|
1245
1130
|
);
|
|
1246
1131
|
|
|
1247
1132
|
expect(result.oldestBlock).toBe("0x1");
|
|
@@ -1262,10 +1147,7 @@ describe("ProviderService", () => {
|
|
|
1262
1147
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
1263
1148
|
|
|
1264
1149
|
const exit = await Effect.runPromiseExit(
|
|
1265
|
-
Effect.
|
|
1266
|
-
const provider = yield* ProviderService;
|
|
1267
|
-
return yield* provider.getBlockNumber();
|
|
1268
|
-
}).pipe(Effect.provide(layer)),
|
|
1150
|
+
getBlockNumber().pipe(Effect.provide(layer)),
|
|
1269
1151
|
);
|
|
1270
1152
|
|
|
1271
1153
|
expect(Exit.isFailure(exit)).toBe(true);
|
|
@@ -1292,12 +1174,9 @@ describe("ProviderService", () => {
|
|
|
1292
1174
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
1293
1175
|
|
|
1294
1176
|
const exit = await Effect.runPromiseExit(
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
"0x1234567890123456789012345678901234567890",
|
|
1299
|
-
);
|
|
1300
|
-
}).pipe(Effect.provide(layer)),
|
|
1177
|
+
getBalance("0x1234567890123456789012345678901234567890").pipe(
|
|
1178
|
+
Effect.provide(layer),
|
|
1179
|
+
),
|
|
1301
1180
|
);
|
|
1302
1181
|
|
|
1303
1182
|
expect(Exit.isFailure(exit)).toBe(true);
|
|
@@ -1316,10 +1195,7 @@ describe("ProviderService", () => {
|
|
|
1316
1195
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
1317
1196
|
|
|
1318
1197
|
const result = await Effect.runPromise(
|
|
1319
|
-
Effect.
|
|
1320
|
-
const provider = yield* ProviderService;
|
|
1321
|
-
return yield* provider.sendRawTransaction("0xf86c...");
|
|
1322
|
-
}).pipe(Effect.provide(layer)),
|
|
1198
|
+
sendRawTransaction("0xf86c...").pipe(Effect.provide(layer)),
|
|
1323
1199
|
);
|
|
1324
1200
|
|
|
1325
1201
|
expect(result).toBe(txHash);
|
|
@@ -1338,10 +1214,7 @@ describe("ProviderService", () => {
|
|
|
1338
1214
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
1339
1215
|
|
|
1340
1216
|
const exit = await Effect.runPromiseExit(
|
|
1341
|
-
Effect.
|
|
1342
|
-
const provider = yield* ProviderService;
|
|
1343
|
-
return yield* provider.sendRawTransaction("0xf86c...");
|
|
1344
|
-
}).pipe(Effect.provide(layer)),
|
|
1217
|
+
sendRawTransaction("0xf86c...").pipe(Effect.provide(layer)),
|
|
1345
1218
|
);
|
|
1346
1219
|
|
|
1347
1220
|
expect(Exit.isFailure(exit)).toBe(true);
|
|
@@ -1360,10 +1233,7 @@ describe("ProviderService", () => {
|
|
|
1360
1233
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
1361
1234
|
|
|
1362
1235
|
const exit = await Effect.runPromiseExit(
|
|
1363
|
-
Effect.
|
|
1364
|
-
const provider = yield* ProviderService;
|
|
1365
|
-
return yield* provider.sendRawTransaction("0xf86c...");
|
|
1366
|
-
}).pipe(Effect.provide(layer)),
|
|
1236
|
+
sendRawTransaction("0xf86c...").pipe(Effect.provide(layer)),
|
|
1367
1237
|
);
|
|
1368
1238
|
|
|
1369
1239
|
expect(Exit.isFailure(exit)).toBe(true);
|
|
@@ -1383,10 +1253,7 @@ describe("ProviderService", () => {
|
|
|
1383
1253
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
1384
1254
|
|
|
1385
1255
|
const result = await Effect.runPromise(
|
|
1386
|
-
Effect.
|
|
1387
|
-
const provider = yield* ProviderService;
|
|
1388
|
-
return yield* provider.getUncle({ blockTag: "latest" }, "0x0");
|
|
1389
|
-
}).pipe(Effect.provide(layer)),
|
|
1256
|
+
getUncle({ blockTag: "latest" }, "0x0").pipe(Effect.provide(layer)),
|
|
1390
1257
|
);
|
|
1391
1258
|
|
|
1392
1259
|
expect(result.hash).toBe("0xuncle");
|
|
@@ -1408,13 +1275,10 @@ describe("ProviderService", () => {
|
|
|
1408
1275
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
1409
1276
|
|
|
1410
1277
|
const result = await Effect.runPromise(
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
["0x0"],
|
|
1416
|
-
);
|
|
1417
|
-
}).pipe(Effect.provide(layer)),
|
|
1278
|
+
getProof(
|
|
1279
|
+
"0x1234567890123456789012345678901234567890",
|
|
1280
|
+
["0x0"],
|
|
1281
|
+
).pipe(Effect.provide(layer)),
|
|
1418
1282
|
);
|
|
1419
1283
|
|
|
1420
1284
|
expect(result.address).toBe("0x1234567890123456789012345678901234567890");
|
|
@@ -1428,10 +1292,7 @@ describe("ProviderService", () => {
|
|
|
1428
1292
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
1429
1293
|
|
|
1430
1294
|
const result = await Effect.runPromise(
|
|
1431
|
-
Effect.
|
|
1432
|
-
const provider = yield* ProviderService;
|
|
1433
|
-
return yield* provider.getBlobBaseFee();
|
|
1434
|
-
}).pipe(Effect.provide(layer)),
|
|
1295
|
+
getBlobBaseFee().pipe(Effect.provide(layer)),
|
|
1435
1296
|
);
|
|
1436
1297
|
|
|
1437
1298
|
expect(result).toBe(1000000000n);
|
|
@@ -1447,10 +1308,7 @@ describe("ProviderService", () => {
|
|
|
1447
1308
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
1448
1309
|
|
|
1449
1310
|
const result = await Effect.runPromise(
|
|
1450
|
-
Effect.
|
|
1451
|
-
const provider = yield* ProviderService;
|
|
1452
|
-
return yield* provider.getBlobBaseFee();
|
|
1453
|
-
}).pipe(Effect.provide(layer)),
|
|
1311
|
+
getBlobBaseFee().pipe(Effect.provide(layer)),
|
|
1454
1312
|
);
|
|
1455
1313
|
|
|
1456
1314
|
expect(result).toBe(1n);
|
|
@@ -1465,10 +1323,7 @@ describe("ProviderService", () => {
|
|
|
1465
1323
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
1466
1324
|
|
|
1467
1325
|
const exit = await Effect.runPromiseExit(
|
|
1468
|
-
Effect.
|
|
1469
|
-
const provider = yield* ProviderService;
|
|
1470
|
-
return yield* provider.getBlobBaseFee();
|
|
1471
|
-
}).pipe(Effect.provide(layer)),
|
|
1326
|
+
getBlobBaseFee().pipe(Effect.provide(layer)),
|
|
1472
1327
|
);
|
|
1473
1328
|
|
|
1474
1329
|
expect(Exit.isFailure(exit)).toBe(true);
|
|
@@ -1479,22 +1334,6 @@ describe("ProviderService", () => {
|
|
|
1479
1334
|
});
|
|
1480
1335
|
});
|
|
1481
1336
|
|
|
1482
|
-
describe("estimateBlobGas", () => {
|
|
1483
|
-
it("estimates blob gas from blob count", () => {
|
|
1484
|
-
expect(estimateBlobGas(3)).toBe(393216n);
|
|
1485
|
-
});
|
|
1486
|
-
|
|
1487
|
-
it("throws for invalid blob count", () => {
|
|
1488
|
-
expect(() => estimateBlobGas(7)).toThrow(InvalidBlobCountError);
|
|
1489
|
-
});
|
|
1490
|
-
});
|
|
1491
|
-
|
|
1492
|
-
describe("calculateBlobGasPrice", () => {
|
|
1493
|
-
it("calculates total blob fee", () => {
|
|
1494
|
-
expect(calculateBlobGasPrice(10n, 2n)).toBe(20n);
|
|
1495
|
-
});
|
|
1496
|
-
});
|
|
1497
|
-
|
|
1498
1337
|
describe("getTransactionConfirmations", () => {
|
|
1499
1338
|
it("returns confirmations for mined transaction", async () => {
|
|
1500
1339
|
const mockReceipt = {
|
|
@@ -1509,10 +1348,7 @@ describe("ProviderService", () => {
|
|
|
1509
1348
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
1510
1349
|
|
|
1511
1350
|
const result = await Effect.runPromise(
|
|
1512
|
-
Effect.
|
|
1513
|
-
const provider = yield* ProviderService;
|
|
1514
|
-
return yield* provider.getTransactionConfirmations("0xabc");
|
|
1515
|
-
}).pipe(Effect.provide(layer)),
|
|
1351
|
+
getTransactionConfirmations("0xabc").pipe(Effect.provide(layer)),
|
|
1516
1352
|
);
|
|
1517
1353
|
|
|
1518
1354
|
expect(result).toBe(6n); // 105 - 100 + 1 = 6 confirmations
|
|
@@ -1526,10 +1362,7 @@ describe("ProviderService", () => {
|
|
|
1526
1362
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
1527
1363
|
|
|
1528
1364
|
const result = await Effect.runPromise(
|
|
1529
|
-
Effect.
|
|
1530
|
-
const provider = yield* ProviderService;
|
|
1531
|
-
return yield* provider.getTransactionConfirmations("0xabc");
|
|
1532
|
-
}).pipe(Effect.provide(layer)),
|
|
1365
|
+
getTransactionConfirmations("0xabc").pipe(Effect.provide(layer)),
|
|
1533
1366
|
);
|
|
1534
1367
|
|
|
1535
1368
|
expect(result).toBe(0n);
|
|
@@ -1554,13 +1387,10 @@ describe("ProviderService", () => {
|
|
|
1554
1387
|
] as const;
|
|
1555
1388
|
|
|
1556
1389
|
const results = await Effect.runPromise(
|
|
1557
|
-
Effect.
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
{ concurrency: "unbounded" },
|
|
1562
|
-
);
|
|
1563
|
-
}).pipe(Effect.provide(layer)),
|
|
1390
|
+
Effect.all(
|
|
1391
|
+
addresses.map((addr) => getBalance(addr)),
|
|
1392
|
+
{ concurrency: "unbounded" },
|
|
1393
|
+
).pipe(Effect.provide(layer)),
|
|
1564
1394
|
);
|
|
1565
1395
|
|
|
1566
1396
|
expect(results).toHaveLength(3);
|
|
@@ -1577,12 +1407,9 @@ describe("ProviderService", () => {
|
|
|
1577
1407
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
1578
1408
|
|
|
1579
1409
|
const result = await Effect.runPromise(
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
"0x1234567890123456789012345678901234567890",
|
|
1584
|
-
);
|
|
1585
|
-
}).pipe(Effect.provide(layer)),
|
|
1410
|
+
getBalance("0x1234567890123456789012345678901234567890").pipe(
|
|
1411
|
+
Effect.provide(layer),
|
|
1412
|
+
),
|
|
1586
1413
|
);
|
|
1587
1414
|
|
|
1588
1415
|
expect(result).toBe(0n);
|
|
@@ -1593,12 +1420,9 @@ describe("ProviderService", () => {
|
|
|
1593
1420
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
1594
1421
|
|
|
1595
1422
|
const result = await Effect.runPromise(
|
|
1596
|
-
|
|
1597
|
-
|
|
1598
|
-
|
|
1599
|
-
"0x1234567890123456789012345678901234567890",
|
|
1600
|
-
);
|
|
1601
|
-
}).pipe(Effect.provide(layer)),
|
|
1423
|
+
getCode("0x1234567890123456789012345678901234567890").pipe(
|
|
1424
|
+
Effect.provide(layer),
|
|
1425
|
+
),
|
|
1602
1426
|
);
|
|
1603
1427
|
|
|
1604
1428
|
expect(result).toBe("0x");
|
|
@@ -1609,10 +1433,7 @@ describe("ProviderService", () => {
|
|
|
1609
1433
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
1610
1434
|
|
|
1611
1435
|
const exit = await Effect.runPromiseExit(
|
|
1612
|
-
Effect.
|
|
1613
|
-
const provider = yield* ProviderService;
|
|
1614
|
-
return yield* provider.getTransactionReceipt("0xabc");
|
|
1615
|
-
}).pipe(Effect.provide(layer)),
|
|
1436
|
+
getTransactionReceipt("0xabc").pipe(Effect.provide(layer)),
|
|
1616
1437
|
);
|
|
1617
1438
|
|
|
1618
1439
|
expect(Exit.isFailure(exit)).toBe(true);
|
|
@@ -1627,11 +1448,8 @@ describe("ProviderService", () => {
|
|
|
1627
1448
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
1628
1449
|
|
|
1629
1450
|
const result = await Effect.runPromise(
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
return yield* provider.getLogs({
|
|
1633
|
-
address: "0x1234567890123456789012345678901234567890",
|
|
1634
|
-
});
|
|
1451
|
+
getLogs({
|
|
1452
|
+
address: "0x1234567890123456789012345678901234567890",
|
|
1635
1453
|
}).pipe(Effect.provide(layer)),
|
|
1636
1454
|
);
|
|
1637
1455
|
|
|
@@ -1643,10 +1461,7 @@ describe("ProviderService", () => {
|
|
|
1643
1461
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
1644
1462
|
|
|
1645
1463
|
const result = await Effect.runPromise(
|
|
1646
|
-
Effect.
|
|
1647
|
-
const provider = yield* ProviderService;
|
|
1648
|
-
return yield* provider.getBlockNumber();
|
|
1649
|
-
}).pipe(Effect.provide(layer)),
|
|
1464
|
+
getBlockNumber().pipe(Effect.provide(layer)),
|
|
1650
1465
|
);
|
|
1651
1466
|
|
|
1652
1467
|
expect(result).toBe(0xffffffffffffffn);
|
|
@@ -1657,11 +1472,8 @@ describe("ProviderService", () => {
|
|
|
1657
1472
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
1658
1473
|
|
|
1659
1474
|
const result = await Effect.runPromise(
|
|
1660
|
-
|
|
1661
|
-
|
|
1662
|
-
return yield* provider.estimateGas({
|
|
1663
|
-
to: "0x1234567890123456789012345678901234567890",
|
|
1664
|
-
});
|
|
1475
|
+
estimateGas({
|
|
1476
|
+
to: "0x1234567890123456789012345678901234567890",
|
|
1665
1477
|
}).pipe(Effect.provide(layer)),
|
|
1666
1478
|
);
|
|
1667
1479
|
|
|
@@ -1686,10 +1498,7 @@ describe("ProviderService", () => {
|
|
|
1686
1498
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
1687
1499
|
|
|
1688
1500
|
await Effect.runPromise(
|
|
1689
|
-
Effect.
|
|
1690
|
-
const provider = yield* ProviderService;
|
|
1691
|
-
return yield* provider.getBlock({ blockNumber: 16n });
|
|
1692
|
-
}).pipe(Effect.provide(layer)),
|
|
1501
|
+
getBlock({ blockNumber: 16n }).pipe(Effect.provide(layer)),
|
|
1693
1502
|
);
|
|
1694
1503
|
|
|
1695
1504
|
expect(capturedParams[0]).toBe("0x10");
|
|
@@ -1711,10 +1520,7 @@ describe("ProviderService", () => {
|
|
|
1711
1520
|
const layer = Provider.pipe(Layer.provide(transport));
|
|
1712
1521
|
|
|
1713
1522
|
await Effect.runPromise(
|
|
1714
|
-
Effect.
|
|
1715
|
-
const provider = yield* ProviderService;
|
|
1716
|
-
return yield* provider.getBlock({ blockTag: "pending" });
|
|
1717
|
-
}).pipe(Effect.provide(layer)),
|
|
1523
|
+
getBlock({ blockTag: "pending" }).pipe(Effect.provide(layer)),
|
|
1718
1524
|
);
|
|
1719
1525
|
|
|
1720
1526
|
expect(capturedParams[0]).toBe("pending");
|