viem 2.53.1 → 2.54.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +55 -0
- package/_cjs/actions/index.js +3 -2
- package/_cjs/actions/index.js.map +1 -1
- package/_cjs/actions/token/approve.js +62 -0
- package/_cjs/actions/token/approve.js.map +1 -0
- package/_cjs/actions/token/approveSync.js +25 -0
- package/_cjs/actions/token/approveSync.js.map +1 -0
- package/_cjs/actions/token/getAllowance.js +32 -0
- package/_cjs/actions/token/getAllowance.js.map +1 -0
- package/_cjs/actions/token/getBalance.js +41 -0
- package/_cjs/actions/token/getBalance.js.map +1 -0
- package/_cjs/actions/token/getMetadata.js +40 -0
- package/_cjs/actions/token/getMetadata.js.map +1 -0
- package/_cjs/actions/token/getTotalSupply.js +32 -0
- package/_cjs/actions/token/getTotalSupply.js.map +1 -0
- package/_cjs/actions/token/index.js +20 -0
- package/_cjs/actions/token/index.js.map +1 -0
- package/_cjs/actions/token/internal.js +125 -0
- package/_cjs/actions/token/internal.js.map +1 -0
- package/_cjs/actions/token/transfer.js +70 -0
- package/_cjs/actions/token/transfer.js.map +1 -0
- package/_cjs/actions/token/transferSync.js +25 -0
- package/_cjs/actions/token/transferSync.js.map +1 -0
- package/_cjs/chains/definitions/battlechain.js +31 -0
- package/_cjs/chains/definitions/battlechain.js.map +1 -0
- package/_cjs/chains/definitions/marooTestnet.js +30 -0
- package/_cjs/chains/definitions/marooTestnet.js.map +1 -0
- package/_cjs/chains/index.js +18 -14
- package/_cjs/chains/index.js.map +1 -1
- package/_cjs/clients/createClient.js +39 -1
- package/_cjs/clients/createClient.js.map +1 -1
- package/_cjs/clients/createPublicClient.js.map +1 -1
- package/_cjs/clients/createWalletClient.js.map +1 -1
- package/_cjs/clients/decorators/public.js +11 -0
- package/_cjs/clients/decorators/public.js.map +1 -1
- package/_cjs/clients/decorators/wallet.js +8 -0
- package/_cjs/clients/decorators/wallet.js.map +1 -1
- package/_cjs/clients/transports/http.js +2 -1
- package/_cjs/clients/transports/http.js.map +1 -1
- package/_cjs/errors/encoding.js +9 -1
- package/_cjs/errors/encoding.js.map +1 -1
- package/_cjs/errors/request.js +24 -1
- package/_cjs/errors/request.js.map +1 -1
- package/_cjs/errors/transaction.js +9 -1
- package/_cjs/errors/transaction.js.map +1 -1
- package/_cjs/errors/version.js +1 -1
- package/_cjs/index.js +9 -6
- package/_cjs/index.js.map +1 -1
- package/_cjs/tempo/Client.js.map +1 -1
- package/_cjs/tempo/Decorator.js +234 -215
- package/_cjs/tempo/Decorator.js.map +1 -1
- package/_cjs/tempo/actions/token.js +210 -112
- package/_cjs/tempo/actions/token.js.map +1 -1
- package/_cjs/tempo/internal/utils.js +108 -0
- package/_cjs/tempo/internal/utils.js.map +1 -1
- package/_cjs/tokens/defineToken.js +21 -0
- package/_cjs/tokens/defineToken.js.map +1 -0
- package/_cjs/tokens/definitions/alphausd.js +14 -0
- package/_cjs/tokens/definitions/alphausd.js.map +1 -0
- package/_cjs/tokens/definitions/betausd.js +14 -0
- package/_cjs/tokens/definitions/betausd.js.map +1 -0
- package/_cjs/tokens/definitions/brla.js +14 -0
- package/_cjs/tokens/definitions/brla.js.map +1 -0
- package/_cjs/tokens/definitions/cbbtc.js +14 -0
- package/_cjs/tokens/definitions/cbbtc.js.map +1 -0
- package/_cjs/tokens/definitions/chfau.js +14 -0
- package/_cjs/tokens/definitions/chfau.js.map +1 -0
- package/_cjs/tokens/definitions/cusd.js +14 -0
- package/_cjs/tokens/definitions/cusd.js.map +1 -0
- package/_cjs/tokens/definitions/dlusd.js +14 -0
- package/_cjs/tokens/definitions/dlusd.js.map +1 -0
- package/_cjs/tokens/definitions/eurau.js +14 -0
- package/_cjs/tokens/definitions/eurau.js.map +1 -0
- package/_cjs/tokens/definitions/eurce.js +15 -0
- package/_cjs/tokens/definitions/eurce.js.map +1 -0
- package/_cjs/tokens/definitions/frxusd.js +14 -0
- package/_cjs/tokens/definitions/frxusd.js.map +1 -0
- package/_cjs/tokens/definitions/gbpa.js +14 -0
- package/_cjs/tokens/definitions/gbpa.js.map +1 -0
- package/_cjs/tokens/definitions/gusd.js +14 -0
- package/_cjs/tokens/definitions/gusd.js.map +1 -0
- package/_cjs/tokens/definitions/iusd.js +14 -0
- package/_cjs/tokens/definitions/iusd.js.map +1 -0
- package/_cjs/tokens/definitions/pathusd.js +15 -0
- package/_cjs/tokens/definitions/pathusd.js.map +1 -0
- package/_cjs/tokens/definitions/reusd.js +14 -0
- package/_cjs/tokens/definitions/reusd.js.map +1 -0
- package/_cjs/tokens/definitions/rusd.js +14 -0
- package/_cjs/tokens/definitions/rusd.js.map +1 -0
- package/_cjs/tokens/definitions/sbc.js +14 -0
- package/_cjs/tokens/definitions/sbc.js.map +1 -0
- package/_cjs/tokens/definitions/siusd.js +14 -0
- package/_cjs/tokens/definitions/siusd.js.map +1 -0
- package/_cjs/tokens/definitions/stcusd.js +14 -0
- package/_cjs/tokens/definitions/stcusd.js.map +1 -0
- package/_cjs/tokens/definitions/susde.js +14 -0
- package/_cjs/tokens/definitions/susde.js.map +1 -0
- package/_cjs/tokens/definitions/syrupusdc.js +14 -0
- package/_cjs/tokens/definitions/syrupusdc.js.map +1 -0
- package/_cjs/tokens/definitions/thetausd.js +14 -0
- package/_cjs/tokens/definitions/thetausd.js.map +1 -0
- package/_cjs/tokens/definitions/usd1.js +14 -0
- package/_cjs/tokens/definitions/usd1.js.map +1 -0
- package/_cjs/tokens/definitions/usdb.js +14 -0
- package/_cjs/tokens/definitions/usdb.js.map +1 -0
- package/_cjs/tokens/definitions/usdc.js +41 -0
- package/_cjs/tokens/definitions/usdc.js.map +1 -0
- package/_cjs/tokens/definitions/usdce.js +15 -0
- package/_cjs/tokens/definitions/usdce.js.map +1 -0
- package/_cjs/tokens/definitions/usde.js +14 -0
- package/_cjs/tokens/definitions/usde.js.map +1 -0
- package/_cjs/tokens/definitions/usdt0.js +14 -0
- package/_cjs/tokens/definitions/usdt0.js.map +1 -0
- package/_cjs/tokens/definitions/wsrusd.js +14 -0
- package/_cjs/tokens/definitions/wsrusd.js.map +1 -0
- package/_cjs/tokens/index.js +64 -0
- package/_cjs/tokens/index.js.map +1 -0
- package/_cjs/utils/encoding/fromRlp.js +7 -4
- package/_cjs/utils/encoding/fromRlp.js.map +1 -1
- package/_cjs/utils/rpc/http.js +58 -3
- package/_cjs/utils/rpc/http.js.map +1 -1
- package/_cjs/utils/transaction/parseTransaction.js +4 -1
- package/_cjs/utils/transaction/parseTransaction.js.map +1 -1
- package/_esm/actions/index.js +1 -0
- package/_esm/actions/index.js.map +1 -1
- package/_esm/actions/token/approve.js +123 -0
- package/_esm/actions/token/approve.js.map +1 -0
- package/_esm/actions/token/approveSync.js +50 -0
- package/_esm/actions/token/approveSync.js.map +1 -0
- package/_esm/actions/token/getAllowance.js +62 -0
- package/_esm/actions/token/getAllowance.js.map +1 -0
- package/_esm/actions/token/getBalance.js +70 -0
- package/_esm/actions/token/getBalance.js.map +1 -0
- package/_esm/actions/token/getMetadata.js +60 -0
- package/_esm/actions/token/getMetadata.js.map +1 -0
- package/_esm/actions/token/getTotalSupply.js +60 -0
- package/_esm/actions/token/getTotalSupply.js.map +1 -0
- package/_esm/actions/token/index.js +10 -0
- package/_esm/actions/token/index.js.map +1 -0
- package/_esm/actions/token/internal.js +188 -0
- package/_esm/actions/token/internal.js.map +1 -0
- package/_esm/actions/token/transfer.js +147 -0
- package/_esm/actions/token/transfer.js.map +1 -0
- package/_esm/actions/token/transferSync.js +54 -0
- package/_esm/actions/token/transferSync.js.map +1 -0
- package/_esm/chains/definitions/battlechain.js +28 -0
- package/_esm/chains/definitions/battlechain.js.map +1 -0
- package/_esm/chains/definitions/marooTestnet.js +27 -0
- package/_esm/chains/definitions/marooTestnet.js.map +1 -0
- package/_esm/chains/index.js +2 -0
- package/_esm/chains/index.js.map +1 -1
- package/_esm/clients/createClient.js +53 -1
- package/_esm/clients/createClient.js.map +1 -1
- package/_esm/clients/createPublicClient.js.map +1 -1
- package/_esm/clients/createWalletClient.js.map +1 -1
- package/_esm/clients/decorators/public.js +17 -0
- package/_esm/clients/decorators/public.js.map +1 -1
- package/_esm/clients/decorators/wallet.js +8 -0
- package/_esm/clients/decorators/wallet.js.map +1 -1
- package/_esm/clients/transports/http.js +2 -1
- package/_esm/clients/transports/http.js.map +1 -1
- package/_esm/errors/encoding.js +7 -0
- package/_esm/errors/encoding.js.map +1 -1
- package/_esm/errors/request.js +22 -0
- package/_esm/errors/request.js.map +1 -1
- package/_esm/errors/transaction.js +7 -0
- package/_esm/errors/transaction.js.map +1 -1
- package/_esm/errors/version.js +1 -1
- package/_esm/index.js +3 -3
- package/_esm/index.js.map +1 -1
- package/_esm/tempo/Client.js.map +1 -1
- package/_esm/tempo/Decorator.js +234 -218
- package/_esm/tempo/Decorator.js.map +1 -1
- package/_esm/tempo/actions/token.js +335 -186
- package/_esm/tempo/actions/token.js.map +1 -1
- package/_esm/tempo/actions/wallet.js +1 -1
- package/_esm/tempo/internal/utils.js +154 -0
- package/_esm/tempo/internal/utils.js.map +1 -1
- package/_esm/tokens/defineToken.js +57 -0
- package/_esm/tokens/defineToken.js.map +1 -0
- package/_esm/tokens/definitions/alphausd.js +12 -0
- package/_esm/tokens/definitions/alphausd.js.map +1 -0
- package/_esm/tokens/definitions/betausd.js +12 -0
- package/_esm/tokens/definitions/betausd.js.map +1 -0
- package/_esm/tokens/definitions/brla.js +12 -0
- package/_esm/tokens/definitions/brla.js.map +1 -0
- package/_esm/tokens/definitions/cbbtc.js +12 -0
- package/_esm/tokens/definitions/cbbtc.js.map +1 -0
- package/_esm/tokens/definitions/chfau.js +12 -0
- package/_esm/tokens/definitions/chfau.js.map +1 -0
- package/_esm/tokens/definitions/cusd.js +12 -0
- package/_esm/tokens/definitions/cusd.js.map +1 -0
- package/_esm/tokens/definitions/dlusd.js +12 -0
- package/_esm/tokens/definitions/dlusd.js.map +1 -0
- package/_esm/tokens/definitions/eurau.js +12 -0
- package/_esm/tokens/definitions/eurau.js.map +1 -0
- package/_esm/tokens/definitions/eurce.js +13 -0
- package/_esm/tokens/definitions/eurce.js.map +1 -0
- package/_esm/tokens/definitions/frxusd.js +12 -0
- package/_esm/tokens/definitions/frxusd.js.map +1 -0
- package/_esm/tokens/definitions/gbpa.js +12 -0
- package/_esm/tokens/definitions/gbpa.js.map +1 -0
- package/_esm/tokens/definitions/gusd.js +12 -0
- package/_esm/tokens/definitions/gusd.js.map +1 -0
- package/_esm/tokens/definitions/iusd.js +12 -0
- package/_esm/tokens/definitions/iusd.js.map +1 -0
- package/_esm/tokens/definitions/pathusd.js +13 -0
- package/_esm/tokens/definitions/pathusd.js.map +1 -0
- package/_esm/tokens/definitions/reusd.js +12 -0
- package/_esm/tokens/definitions/reusd.js.map +1 -0
- package/_esm/tokens/definitions/rusd.js +12 -0
- package/_esm/tokens/definitions/rusd.js.map +1 -0
- package/_esm/tokens/definitions/sbc.js +12 -0
- package/_esm/tokens/definitions/sbc.js.map +1 -0
- package/_esm/tokens/definitions/siusd.js +12 -0
- package/_esm/tokens/definitions/siusd.js.map +1 -0
- package/_esm/tokens/definitions/stcusd.js +12 -0
- package/_esm/tokens/definitions/stcusd.js.map +1 -0
- package/_esm/tokens/definitions/susde.js +12 -0
- package/_esm/tokens/definitions/susde.js.map +1 -0
- package/_esm/tokens/definitions/syrupusdc.js +12 -0
- package/_esm/tokens/definitions/syrupusdc.js.map +1 -0
- package/_esm/tokens/definitions/thetausd.js +12 -0
- package/_esm/tokens/definitions/thetausd.js.map +1 -0
- package/_esm/tokens/definitions/usd1.js +12 -0
- package/_esm/tokens/definitions/usd1.js.map +1 -0
- package/_esm/tokens/definitions/usdb.js +12 -0
- package/_esm/tokens/definitions/usdb.js.map +1 -0
- package/_esm/tokens/definitions/usdc.js +67 -0
- package/_esm/tokens/definitions/usdc.js.map +1 -0
- package/_esm/tokens/definitions/usdce.js +13 -0
- package/_esm/tokens/definitions/usdce.js.map +1 -0
- package/_esm/tokens/definitions/usde.js +12 -0
- package/_esm/tokens/definitions/usde.js.map +1 -0
- package/_esm/tokens/definitions/usdt0.js +12 -0
- package/_esm/tokens/definitions/usdt0.js.map +1 -0
- package/_esm/tokens/definitions/wsrusd.js +12 -0
- package/_esm/tokens/definitions/wsrusd.js.map +1 -0
- package/_esm/tokens/index.js +32 -0
- package/_esm/tokens/index.js.map +1 -0
- package/_esm/utils/encoding/fromRlp.js +8 -5
- package/_esm/utils/encoding/fromRlp.js.map +1 -1
- package/_esm/utils/rpc/http.js +59 -4
- package/_esm/utils/rpc/http.js.map +1 -1
- package/_esm/utils/transaction/parseTransaction.js +5 -2
- package/_esm/utils/transaction/parseTransaction.js.map +1 -1
- package/_types/actions/index.d.ts +1 -0
- package/_types/actions/index.d.ts.map +1 -1
- package/_types/actions/token/approve.d.ts +253 -0
- package/_types/actions/token/approve.d.ts.map +1 -0
- package/_types/actions/token/approveSync.d.ts +57 -0
- package/_types/actions/token/approveSync.d.ts.map +1 -0
- package/_types/actions/token/getAllowance.d.ts +77 -0
- package/_types/actions/token/getAllowance.d.ts.map +1 -0
- package/_types/actions/token/getBalance.d.ts +69 -0
- package/_types/actions/token/getBalance.d.ts.map +1 -0
- package/_types/actions/token/getMetadata.d.ts +43 -0
- package/_types/actions/token/getMetadata.d.ts.map +1 -0
- package/_types/actions/token/getTotalSupply.d.ts +63 -0
- package/_types/actions/token/getTotalSupply.d.ts.map +1 -0
- package/_types/actions/token/index.d.ts +9 -0
- package/_types/actions/token/index.d.ts.map +1 -0
- package/_types/actions/token/internal.d.ts +168 -0
- package/_types/actions/token/internal.d.ts.map +1 -0
- package/_types/actions/token/transfer.d.ts +288 -0
- package/_types/actions/token/transfer.d.ts.map +1 -0
- package/_types/actions/token/transferSync.d.ts +61 -0
- package/_types/actions/token/transferSync.d.ts.map +1 -0
- package/_types/chains/definitions/battlechain.d.ts +447 -0
- package/_types/chains/definitions/battlechain.d.ts.map +1 -0
- package/_types/chains/definitions/marooTestnet.d.ts +49 -0
- package/_types/chains/definitions/marooTestnet.d.ts.map +1 -0
- package/_types/chains/index.d.ts +2 -0
- package/_types/chains/index.d.ts.map +1 -1
- package/_types/clients/createClient.d.ts +24 -6
- package/_types/clients/createClient.d.ts.map +1 -1
- package/_types/clients/createPublicClient.d.ts +4 -3
- package/_types/clients/createPublicClient.d.ts.map +1 -1
- package/_types/clients/createWalletClient.d.ts +4 -3
- package/_types/clients/createWalletClient.d.ts.map +1 -1
- package/_types/clients/decorators/public.d.ts +128 -3
- package/_types/clients/decorators/public.d.ts.map +1 -1
- package/_types/clients/decorators/wallet.d.ts +208 -3
- package/_types/clients/decorators/wallet.d.ts.map +1 -1
- package/_types/clients/transports/http.d.ts +2 -0
- package/_types/clients/transports/http.d.ts.map +1 -1
- package/_types/errors/encoding.d.ts +8 -0
- package/_types/errors/encoding.d.ts.map +1 -1
- package/_types/errors/request.d.ts +11 -0
- package/_types/errors/request.d.ts.map +1 -1
- package/_types/errors/transaction.d.ts +8 -0
- package/_types/errors/transaction.d.ts.map +1 -1
- package/_types/errors/version.d.ts +1 -1
- package/_types/index.d.ts +4 -3
- package/_types/index.d.ts.map +1 -1
- package/_types/tempo/Client.d.ts +1 -1
- package/_types/tempo/Client.d.ts.map +1 -1
- package/_types/tempo/Decorator.d.ts +88 -5
- package/_types/tempo/Decorator.d.ts.map +1 -1
- package/_types/tempo/actions/token.d.ts +223 -151
- package/_types/tempo/actions/token.d.ts.map +1 -1
- package/_types/tempo/actions/wallet.d.ts +3 -3
- package/_types/tempo/internal/types.d.ts +17 -0
- package/_types/tempo/internal/types.d.ts.map +1 -1
- package/_types/tempo/internal/utils.d.ts +73 -0
- package/_types/tempo/internal/utils.d.ts.map +1 -1
- package/_types/tokens/defineToken.d.ts +112 -0
- package/_types/tokens/defineToken.d.ts.map +1 -0
- package/_types/tokens/definitions/alphausd.d.ts +11 -0
- package/_types/tokens/definitions/alphausd.d.ts.map +1 -0
- package/_types/tokens/definitions/betausd.d.ts +11 -0
- package/_types/tokens/definitions/betausd.d.ts.map +1 -0
- package/_types/tokens/definitions/brla.d.ts +11 -0
- package/_types/tokens/definitions/brla.d.ts.map +1 -0
- package/_types/tokens/definitions/cbbtc.d.ts +11 -0
- package/_types/tokens/definitions/cbbtc.d.ts.map +1 -0
- package/_types/tokens/definitions/chfau.d.ts +11 -0
- package/_types/tokens/definitions/chfau.d.ts.map +1 -0
- package/_types/tokens/definitions/cusd.d.ts +11 -0
- package/_types/tokens/definitions/cusd.d.ts.map +1 -0
- package/_types/tokens/definitions/dlusd.d.ts +11 -0
- package/_types/tokens/definitions/dlusd.d.ts.map +1 -0
- package/_types/tokens/definitions/eurau.d.ts +11 -0
- package/_types/tokens/definitions/eurau.d.ts.map +1 -0
- package/_types/tokens/definitions/eurce.d.ts +12 -0
- package/_types/tokens/definitions/eurce.d.ts.map +1 -0
- package/_types/tokens/definitions/frxusd.d.ts +11 -0
- package/_types/tokens/definitions/frxusd.d.ts.map +1 -0
- package/_types/tokens/definitions/gbpa.d.ts +11 -0
- package/_types/tokens/definitions/gbpa.d.ts.map +1 -0
- package/_types/tokens/definitions/gusd.d.ts +11 -0
- package/_types/tokens/definitions/gusd.d.ts.map +1 -0
- package/_types/tokens/definitions/iusd.d.ts +11 -0
- package/_types/tokens/definitions/iusd.d.ts.map +1 -0
- package/_types/tokens/definitions/pathusd.d.ts +12 -0
- package/_types/tokens/definitions/pathusd.d.ts.map +1 -0
- package/_types/tokens/definitions/reusd.d.ts +11 -0
- package/_types/tokens/definitions/reusd.d.ts.map +1 -0
- package/_types/tokens/definitions/rusd.d.ts +11 -0
- package/_types/tokens/definitions/rusd.d.ts.map +1 -0
- package/_types/tokens/definitions/sbc.d.ts +11 -0
- package/_types/tokens/definitions/sbc.d.ts.map +1 -0
- package/_types/tokens/definitions/siusd.d.ts +11 -0
- package/_types/tokens/definitions/siusd.d.ts.map +1 -0
- package/_types/tokens/definitions/stcusd.d.ts +11 -0
- package/_types/tokens/definitions/stcusd.d.ts.map +1 -0
- package/_types/tokens/definitions/susde.d.ts +11 -0
- package/_types/tokens/definitions/susde.d.ts.map +1 -0
- package/_types/tokens/definitions/syrupusdc.d.ts +11 -0
- package/_types/tokens/definitions/syrupusdc.d.ts.map +1 -0
- package/_types/tokens/definitions/thetausd.d.ts +11 -0
- package/_types/tokens/definitions/thetausd.d.ts.map +1 -0
- package/_types/tokens/definitions/usd1.d.ts +11 -0
- package/_types/tokens/definitions/usd1.d.ts.map +1 -0
- package/_types/tokens/definitions/usdb.d.ts +11 -0
- package/_types/tokens/definitions/usdb.d.ts.map +1 -0
- package/_types/tokens/definitions/usdc.d.ts +67 -0
- package/_types/tokens/definitions/usdc.d.ts.map +1 -0
- package/_types/tokens/definitions/usdce.d.ts +12 -0
- package/_types/tokens/definitions/usdce.d.ts.map +1 -0
- package/_types/tokens/definitions/usde.d.ts +11 -0
- package/_types/tokens/definitions/usde.d.ts.map +1 -0
- package/_types/tokens/definitions/usdt0.d.ts +11 -0
- package/_types/tokens/definitions/usdt0.d.ts.map +1 -0
- package/_types/tokens/definitions/wsrusd.d.ts +11 -0
- package/_types/tokens/definitions/wsrusd.d.ts.map +1 -0
- package/_types/tokens/index.d.ts +31 -0
- package/_types/tokens/index.d.ts.map +1 -0
- package/_types/utils/encoding/fromRlp.d.ts +2 -2
- package/_types/utils/encoding/fromRlp.d.ts.map +1 -1
- package/_types/utils/rpc/http.d.ts +6 -2
- package/_types/utils/rpc/http.d.ts.map +1 -1
- package/_types/utils/transaction/parseTransaction.d.ts +2 -2
- package/_types/utils/transaction/parseTransaction.d.ts.map +1 -1
- package/actions/index.ts +1 -0
- package/actions/token/approve.ts +202 -0
- package/actions/token/approveSync.ts +95 -0
- package/actions/token/getAllowance.ts +105 -0
- package/actions/token/getBalance.ts +115 -0
- package/actions/token/getMetadata.ts +98 -0
- package/actions/token/getTotalSupply.ts +97 -0
- package/actions/token/index.ts +9 -0
- package/actions/token/internal.ts +367 -0
- package/actions/token/transfer.ts +230 -0
- package/actions/token/transferSync.ts +99 -0
- package/chains/definitions/battlechain.ts +28 -0
- package/chains/definitions/marooTestnet.ts +27 -0
- package/chains/index.ts +2 -0
- package/clients/createClient.ts +90 -8
- package/clients/createPublicClient.ts +22 -4
- package/clients/createWalletClient.ts +22 -4
- package/clients/decorators/public.ts +166 -4
- package/clients/decorators/wallet.ts +242 -3
- package/clients/transports/http.ts +4 -0
- package/errors/encoding.ts +11 -0
- package/errors/request.ts +17 -0
- package/errors/transaction.ts +11 -0
- package/errors/version.ts +1 -1
- package/index.ts +7 -0
- package/package.json +6 -1
- package/tempo/Client.ts +4 -2
- package/tempo/Decorator.ts +398 -337
- package/tempo/actions/token.ts +519 -296
- package/tempo/actions/wallet.ts +3 -3
- package/tempo/internal/types.ts +19 -0
- package/tempo/internal/utils.ts +204 -0
- package/tokens/defineToken.ts +142 -0
- package/tokens/definitions/alphausd.ts +13 -0
- package/tokens/definitions/betausd.ts +13 -0
- package/tokens/definitions/brla.ts +13 -0
- package/tokens/definitions/cbbtc.ts +13 -0
- package/tokens/definitions/chfau.ts +13 -0
- package/tokens/definitions/cusd.ts +13 -0
- package/tokens/definitions/dlusd.ts +13 -0
- package/tokens/definitions/eurau.ts +13 -0
- package/tokens/definitions/eurce.ts +14 -0
- package/tokens/definitions/frxusd.ts +13 -0
- package/tokens/definitions/gbpa.ts +13 -0
- package/tokens/definitions/gusd.ts +13 -0
- package/tokens/definitions/iusd.ts +13 -0
- package/tokens/definitions/pathusd.ts +14 -0
- package/tokens/definitions/reusd.ts +13 -0
- package/tokens/definitions/rusd.ts +13 -0
- package/tokens/definitions/sbc.ts +13 -0
- package/tokens/definitions/siusd.ts +13 -0
- package/tokens/definitions/stcusd.ts +13 -0
- package/tokens/definitions/susde.ts +13 -0
- package/tokens/definitions/syrupusdc.ts +13 -0
- package/tokens/definitions/thetausd.ts +13 -0
- package/tokens/definitions/usd1.ts +13 -0
- package/tokens/definitions/usdb.ts +13 -0
- package/tokens/definitions/usdc.ts +67 -0
- package/tokens/definitions/usdce.ts +14 -0
- package/tokens/definitions/usde.ts +13 -0
- package/tokens/definitions/usdt0.ts +13 -0
- package/tokens/definitions/wsrusd.ts +13 -0
- package/tokens/index.ts +31 -0
- package/tokens/package.json +6 -0
- package/utils/encoding/fromRlp.ts +22 -3
- package/utils/rpc/http.ts +70 -2
- package/utils/transaction/parseTransaction.ts +7 -2
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Generated with `pnpm gen:tokenlist`. Do not modify manually.
|
|
2
|
+
import { defineToken } from '../defineToken.js';
|
|
3
|
+
export const gusd = /*#__PURE__*/ defineToken({
|
|
4
|
+
addresses: {
|
|
5
|
+
4217: '0x20c0000000000000000000005c0bac7cef389a11', // tempo
|
|
6
|
+
},
|
|
7
|
+
currency: 'USD',
|
|
8
|
+
decimals: 6,
|
|
9
|
+
name: 'Generic USD',
|
|
10
|
+
symbol: 'GUSD',
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=gusd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gusd.js","sourceRoot":"","sources":["../../../tokens/definitions/gusd.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,CAAC,MAAM,IAAI,GAAG,aAAa,CAAC,WAAW,CAAC;IAC5C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C,EAAE,QAAQ;KAC7D;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,aAAa;IACnB,MAAM,EAAE,MAAM;CACf,CAAC,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Generated with `pnpm gen:tokenlist`. Do not modify manually.
|
|
2
|
+
import { defineToken } from '../defineToken.js';
|
|
3
|
+
export const iusd = /*#__PURE__*/ defineToken({
|
|
4
|
+
addresses: {
|
|
5
|
+
4217: '0x20c000000000000000000000ab02d39df30bd17e', // tempo
|
|
6
|
+
},
|
|
7
|
+
currency: 'USD',
|
|
8
|
+
decimals: 6,
|
|
9
|
+
name: 'InfiniFi USD',
|
|
10
|
+
symbol: 'iUSD',
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=iusd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iusd.js","sourceRoot":"","sources":["../../../tokens/definitions/iusd.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,CAAC,MAAM,IAAI,GAAG,aAAa,CAAC,WAAW,CAAC;IAC5C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C,EAAE,QAAQ;KAC7D;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,cAAc;IACpB,MAAM,EAAE,MAAM;CACf,CAAC,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// Generated with `pnpm gen:tokenlist`. Do not modify manually.
|
|
2
|
+
import { defineToken } from '../defineToken.js';
|
|
3
|
+
export const pathusd = /*#__PURE__*/ defineToken({
|
|
4
|
+
addresses: {
|
|
5
|
+
4217: '0x20c0000000000000000000000000000000000000', // tempo
|
|
6
|
+
42431: '0x20c0000000000000000000000000000000000000', // tempoModerato
|
|
7
|
+
},
|
|
8
|
+
currency: 'USD',
|
|
9
|
+
decimals: 6,
|
|
10
|
+
name: 'PathUSD',
|
|
11
|
+
symbol: 'pathUSD',
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=pathusd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pathusd.js","sourceRoot":"","sources":["../../../tokens/definitions/pathusd.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,WAAW,CAAC;IAC/C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C,EAAE,QAAQ;QAC5D,KAAK,EAAE,4CAA4C,EAAE,gBAAgB;KACtE;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,SAAS;CAClB,CAAC,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Generated with `pnpm gen:tokenlist`. Do not modify manually.
|
|
2
|
+
import { defineToken } from '../defineToken.js';
|
|
3
|
+
export const reusd = /*#__PURE__*/ defineToken({
|
|
4
|
+
addresses: {
|
|
5
|
+
4217: '0x20c000000000000000000000383a23bacb546ab9', // tempo
|
|
6
|
+
},
|
|
7
|
+
currency: 'USD',
|
|
8
|
+
decimals: 6,
|
|
9
|
+
name: 'Re Protocol reUSD',
|
|
10
|
+
symbol: 'reUSD',
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=reusd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reusd.js","sourceRoot":"","sources":["../../../tokens/definitions/reusd.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,CAAC,MAAM,KAAK,GAAG,aAAa,CAAC,WAAW,CAAC;IAC7C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C,EAAE,QAAQ;KAC7D;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,mBAAmB;IACzB,MAAM,EAAE,OAAO;CAChB,CAAC,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Generated with `pnpm gen:tokenlist`. Do not modify manually.
|
|
2
|
+
import { defineToken } from '../defineToken.js';
|
|
3
|
+
export const rusd = /*#__PURE__*/ defineToken({
|
|
4
|
+
addresses: {
|
|
5
|
+
4217: '0x20c0000000000000000000007f7ba549dd0251b9', // tempo
|
|
6
|
+
},
|
|
7
|
+
currency: 'USD',
|
|
8
|
+
decimals: 6,
|
|
9
|
+
name: 'Reservoir Stablecoin',
|
|
10
|
+
symbol: 'rUSD',
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=rusd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rusd.js","sourceRoot":"","sources":["../../../tokens/definitions/rusd.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,CAAC,MAAM,IAAI,GAAG,aAAa,CAAC,WAAW,CAAC;IAC5C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C,EAAE,QAAQ;KAC7D;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,sBAAsB;IAC5B,MAAM,EAAE,MAAM;CACf,CAAC,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Generated with `pnpm gen:tokenlist`. Do not modify manually.
|
|
2
|
+
import { defineToken } from '../defineToken.js';
|
|
3
|
+
export const sbc = /*#__PURE__*/ defineToken({
|
|
4
|
+
addresses: {
|
|
5
|
+
4217: '0x20c000000000000000000000ae247a1130450f09', // tempo
|
|
6
|
+
},
|
|
7
|
+
currency: 'USD',
|
|
8
|
+
decimals: 6,
|
|
9
|
+
name: 'Stable Coin',
|
|
10
|
+
symbol: 'SBC',
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=sbc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sbc.js","sourceRoot":"","sources":["../../../tokens/definitions/sbc.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,CAAC,MAAM,GAAG,GAAG,aAAa,CAAC,WAAW,CAAC;IAC3C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C,EAAE,QAAQ;KAC7D;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,aAAa;IACnB,MAAM,EAAE,KAAK;CACd,CAAC,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Generated with `pnpm gen:tokenlist`. Do not modify manually.
|
|
2
|
+
import { defineToken } from '../defineToken.js';
|
|
3
|
+
export const siusd = /*#__PURE__*/ defineToken({
|
|
4
|
+
addresses: {
|
|
5
|
+
4217: '0x20c000000000000000000000048c8f36df1c9a4a', // tempo
|
|
6
|
+
},
|
|
7
|
+
currency: 'siUSD',
|
|
8
|
+
decimals: 6,
|
|
9
|
+
name: 'InfiniFi Staked USD',
|
|
10
|
+
symbol: 'siUSD',
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=siusd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"siusd.js","sourceRoot":"","sources":["../../../tokens/definitions/siusd.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,CAAC,MAAM,KAAK,GAAG,aAAa,CAAC,WAAW,CAAC;IAC7C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C,EAAE,QAAQ;KAC7D;IACD,QAAQ,EAAE,OAAO;IACjB,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,qBAAqB;IAC3B,MAAM,EAAE,OAAO;CAChB,CAAC,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Generated with `pnpm gen:tokenlist`. Do not modify manually.
|
|
2
|
+
import { defineToken } from '../defineToken.js';
|
|
3
|
+
export const stcusd = /*#__PURE__*/ defineToken({
|
|
4
|
+
addresses: {
|
|
5
|
+
4217: '0x20c0000000000000000000008ee4fcff88888888', // tempo
|
|
6
|
+
},
|
|
7
|
+
currency: 'stcUSD',
|
|
8
|
+
decimals: 6,
|
|
9
|
+
name: 'Staked Cap USD',
|
|
10
|
+
symbol: 'stcUSD',
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=stcusd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stcusd.js","sourceRoot":"","sources":["../../../tokens/definitions/stcusd.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,CAAC,MAAM,MAAM,GAAG,aAAa,CAAC,WAAW,CAAC;IAC9C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C,EAAE,QAAQ;KAC7D;IACD,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,gBAAgB;IACtB,MAAM,EAAE,QAAQ;CACjB,CAAC,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Generated with `pnpm gen:tokenlist`. Do not modify manually.
|
|
2
|
+
import { defineToken } from '../defineToken.js';
|
|
3
|
+
export const susde = /*#__PURE__*/ defineToken({
|
|
4
|
+
addresses: {
|
|
5
|
+
4217: '0x20c000000000000000000000bd95bfb69fbe6ce3', // tempo
|
|
6
|
+
},
|
|
7
|
+
currency: 'sUSDe',
|
|
8
|
+
decimals: 6,
|
|
9
|
+
name: 'Staked USDe',
|
|
10
|
+
symbol: 'sUSDe',
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=susde.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"susde.js","sourceRoot":"","sources":["../../../tokens/definitions/susde.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,CAAC,MAAM,KAAK,GAAG,aAAa,CAAC,WAAW,CAAC;IAC7C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C,EAAE,QAAQ;KAC7D;IACD,QAAQ,EAAE,OAAO;IACjB,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,aAAa;IACnB,MAAM,EAAE,OAAO;CAChB,CAAC,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Generated with `pnpm gen:tokenlist`. Do not modify manually.
|
|
2
|
+
import { defineToken } from '../defineToken.js';
|
|
3
|
+
export const syrupusdc = /*#__PURE__*/ defineToken({
|
|
4
|
+
addresses: {
|
|
5
|
+
4217: '0x20c0000000000000000000008191667423f70e67', // tempo
|
|
6
|
+
},
|
|
7
|
+
currency: 'syrupUSDC',
|
|
8
|
+
decimals: 6,
|
|
9
|
+
name: 'Syrup USDC',
|
|
10
|
+
symbol: 'syrupUSDC',
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=syrupusdc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"syrupusdc.js","sourceRoot":"","sources":["../../../tokens/definitions/syrupusdc.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,CAAC,MAAM,SAAS,GAAG,aAAa,CAAC,WAAW,CAAC;IACjD,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C,EAAE,QAAQ;KAC7D;IACD,QAAQ,EAAE,WAAW;IACrB,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,YAAY;IAClB,MAAM,EAAE,WAAW;CACpB,CAAC,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Generated with `pnpm gen:tokenlist`. Do not modify manually.
|
|
2
|
+
import { defineToken } from '../defineToken.js';
|
|
3
|
+
export const thetausd = /*#__PURE__*/ defineToken({
|
|
4
|
+
addresses: {
|
|
5
|
+
42431: '0x20c0000000000000000000000000000000000003', // tempoModerato
|
|
6
|
+
},
|
|
7
|
+
currency: 'USD',
|
|
8
|
+
decimals: 6,
|
|
9
|
+
name: 'ThetaUSD',
|
|
10
|
+
symbol: 'thetaUSD',
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=thetausd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thetausd.js","sourceRoot":"","sources":["../../../tokens/definitions/thetausd.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,CAAC,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC;IAChD,SAAS,EAAE;QACT,KAAK,EAAE,4CAA4C,EAAE,gBAAgB;KACtE;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,UAAU;CACnB,CAAC,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Generated with `pnpm gen:tokenlist`. Do not modify manually.
|
|
2
|
+
import { defineToken } from '../defineToken.js';
|
|
3
|
+
export const usd1 = /*#__PURE__*/ defineToken({
|
|
4
|
+
addresses: {
|
|
5
|
+
4217: '0x20c000000000000000000000111111111e910f0f', // tempo
|
|
6
|
+
},
|
|
7
|
+
currency: 'USD',
|
|
8
|
+
decimals: 6,
|
|
9
|
+
name: 'USD1',
|
|
10
|
+
symbol: 'USD1',
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=usd1.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usd1.js","sourceRoot":"","sources":["../../../tokens/definitions/usd1.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,CAAC,MAAM,IAAI,GAAG,aAAa,CAAC,WAAW,CAAC;IAC5C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C,EAAE,QAAQ;KAC7D;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,MAAM;CACf,CAAC,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Generated with `pnpm gen:tokenlist`. Do not modify manually.
|
|
2
|
+
import { defineToken } from '../defineToken.js';
|
|
3
|
+
export const usdb = /*#__PURE__*/ defineToken({
|
|
4
|
+
addresses: {
|
|
5
|
+
4217: '0x20c0000000000000000000003158081efd85bfc2', // tempo
|
|
6
|
+
},
|
|
7
|
+
currency: 'USD',
|
|
8
|
+
decimals: 6,
|
|
9
|
+
name: 'USDBridge',
|
|
10
|
+
symbol: 'USDB',
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=usdb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usdb.js","sourceRoot":"","sources":["../../../tokens/definitions/usdb.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,CAAC,MAAM,IAAI,GAAG,aAAa,CAAC,WAAW,CAAC;IAC5C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C,EAAE,QAAQ;KAC7D;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,WAAW;IACjB,MAAM,EAAE,MAAM;CACf,CAAC,CAAA"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { defineToken } from '../defineToken.js';
|
|
2
|
+
/**
|
|
3
|
+
* [USDC](https://www.circle.com/usdc) token, with canonical contract addresses
|
|
4
|
+
* across supported chains.
|
|
5
|
+
*
|
|
6
|
+
* Pass to a Client's `tokens` array, call with a chain id to produce a
|
|
7
|
+
* [token config](/docs/chains/tokens), or read the metadata and `addresses`
|
|
8
|
+
* map directly.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```ts
|
|
12
|
+
* import { createPublicClient, http } from 'viem'
|
|
13
|
+
* import { mainnet } from 'viem/chains'
|
|
14
|
+
* import { usdc } from 'viem/tokens'
|
|
15
|
+
*
|
|
16
|
+
* const client = createPublicClient({
|
|
17
|
+
* chain: mainnet,
|
|
18
|
+
* tokens: [usdc],
|
|
19
|
+
* transport: http(),
|
|
20
|
+
* })
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```ts
|
|
25
|
+
* import { usdc } from 'viem/tokens'
|
|
26
|
+
*
|
|
27
|
+
* usdc.addresses[1]
|
|
28
|
+
* // '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export const usdc = /*#__PURE__*/ defineToken({
|
|
32
|
+
addresses: {
|
|
33
|
+
1: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', // mainnet
|
|
34
|
+
10: '0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85', // optimism
|
|
35
|
+
130: '0x078D782b760474a361dDA0AF3839290b0EF57AD6', // unichain
|
|
36
|
+
137: '0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359', // polygon
|
|
37
|
+
146: '0x29219dd400f2Bf60E5a23d13Be72B486D4038894', // sonic
|
|
38
|
+
480: '0x79A02482A880bCE3F13e09Da970dC34db4CD24d1', // worldchain
|
|
39
|
+
1301: '0x31d0220469e10c4E71834a79b1f276d740d3768F', // unichainSepolia
|
|
40
|
+
1328: '0x4fCF1784B31630811181f670Aea7A7bEF803eaED', // seiTestnet
|
|
41
|
+
1329: '0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392', // sei
|
|
42
|
+
4801: '0x66145f38cBAC35Ca6F1Dfb4914dF98F1614aeA88', // worldchainSepolia
|
|
43
|
+
8453: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', // base
|
|
44
|
+
42161: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831', // arbitrum
|
|
45
|
+
43113: '0x5425890298aed601595a70AB815c96711a31Bc65', // avalancheFuji
|
|
46
|
+
43114: '0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E', // avalanche
|
|
47
|
+
57054: '0xA4879Fed32Ecbef99399e5cbC247E533421C4eC6', // sonicBlazeTestnet
|
|
48
|
+
57073: '0x2D270e6886d130D724215A266106e6832161EAEd', // ink
|
|
49
|
+
59141: '0xFEce4462D57bD51A6A552365A011b95f0E16d9B7', // lineaSepolia
|
|
50
|
+
59144: '0x176211869cA2b568f2A7D4EE941E073a821EE1ff', // linea
|
|
51
|
+
80002: '0x41E94Eb019C0762f9Bfcf9Fb1E58725BfB0e7582', // polygonAmoy
|
|
52
|
+
81224: '0xd996633a415985DBd7D6D12f4A4343E31f5037cf', // codex
|
|
53
|
+
84532: '0x036CbD53842c5426634e7929541eC2318f3dCF7e', // baseSepolia
|
|
54
|
+
421614: '0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d', // arbitrumSepolia
|
|
55
|
+
763373: '0xFabab97dCE620294D2B0b0e46C68964e326300Ac', // inkSepolia
|
|
56
|
+
812242: '0x6d7f141b6819C2c9CC2f818e6ad549E7Ca090F8f', // codexTestnet
|
|
57
|
+
5042002: '0x3600000000000000000000000000000000000000', // arcTestnet
|
|
58
|
+
11155111: '0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238', // sepolia
|
|
59
|
+
11155420: '0x5fd84259d66Cd46123540766Be93DFE6D43130D7', // optimismSepolia
|
|
60
|
+
},
|
|
61
|
+
currency: 'USD',
|
|
62
|
+
decimals: 6,
|
|
63
|
+
name: 'USD Coin',
|
|
64
|
+
popular: true,
|
|
65
|
+
symbol: 'USDC',
|
|
66
|
+
});
|
|
67
|
+
//# sourceMappingURL=usdc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usdc.js","sourceRoot":"","sources":["../../../tokens/definitions/usdc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,aAAa,CAAC,WAAW,CAAC;IAC5C,SAAS,EAAE;QACT,CAAC,EAAE,4CAA4C,EAAE,UAAU;QAC3D,EAAE,EAAE,4CAA4C,EAAE,WAAW;QAC7D,GAAG,EAAE,4CAA4C,EAAE,WAAW;QAC9D,GAAG,EAAE,4CAA4C,EAAE,UAAU;QAC7D,GAAG,EAAE,4CAA4C,EAAE,QAAQ;QAC3D,GAAG,EAAE,4CAA4C,EAAE,aAAa;QAChE,IAAI,EAAE,4CAA4C,EAAE,kBAAkB;QACtE,IAAI,EAAE,4CAA4C,EAAE,aAAa;QACjE,IAAI,EAAE,4CAA4C,EAAE,MAAM;QAC1D,IAAI,EAAE,4CAA4C,EAAE,oBAAoB;QACxE,IAAI,EAAE,4CAA4C,EAAE,OAAO;QAC3D,KAAK,EAAE,4CAA4C,EAAE,WAAW;QAChE,KAAK,EAAE,4CAA4C,EAAE,gBAAgB;QACrE,KAAK,EAAE,4CAA4C,EAAE,YAAY;QACjE,KAAK,EAAE,4CAA4C,EAAE,oBAAoB;QACzE,KAAK,EAAE,4CAA4C,EAAE,MAAM;QAC3D,KAAK,EAAE,4CAA4C,EAAE,eAAe;QACpE,KAAK,EAAE,4CAA4C,EAAE,QAAQ;QAC7D,KAAK,EAAE,4CAA4C,EAAE,cAAc;QACnE,KAAK,EAAE,4CAA4C,EAAE,QAAQ;QAC7D,KAAK,EAAE,4CAA4C,EAAE,cAAc;QACnE,MAAM,EAAE,4CAA4C,EAAE,kBAAkB;QACxE,MAAM,EAAE,4CAA4C,EAAE,aAAa;QACnE,MAAM,EAAE,4CAA4C,EAAE,eAAe;QACrE,OAAO,EAAE,4CAA4C,EAAE,aAAa;QACpE,QAAQ,EAAE,4CAA4C,EAAE,UAAU;QAClE,QAAQ,EAAE,4CAA4C,EAAE,kBAAkB;KAC3E;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,IAAI;IACb,MAAM,EAAE,MAAM;CACf,CAAC,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// Generated with `pnpm gen:tokenlist`. Do not modify manually.
|
|
2
|
+
import { defineToken } from '../defineToken.js';
|
|
3
|
+
export const usdce = /*#__PURE__*/ defineToken({
|
|
4
|
+
addresses: {
|
|
5
|
+
4217: '0x20c000000000000000000000b9537d11c60e8b50', // tempo
|
|
6
|
+
42431: '0x20c0000000000000000000009e8d7eb59b783726', // tempoModerato
|
|
7
|
+
},
|
|
8
|
+
currency: 'USD',
|
|
9
|
+
decimals: 6,
|
|
10
|
+
name: 'Bridged USDC (Stargate)',
|
|
11
|
+
symbol: 'USDC.e',
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=usdce.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usdce.js","sourceRoot":"","sources":["../../../tokens/definitions/usdce.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,CAAC,MAAM,KAAK,GAAG,aAAa,CAAC,WAAW,CAAC;IAC7C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C,EAAE,QAAQ;QAC5D,KAAK,EAAE,4CAA4C,EAAE,gBAAgB;KACtE;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,yBAAyB;IAC/B,MAAM,EAAE,QAAQ;CACjB,CAAC,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Generated with `pnpm gen:tokenlist`. Do not modify manually.
|
|
2
|
+
import { defineToken } from '../defineToken.js';
|
|
3
|
+
export const usde = /*#__PURE__*/ defineToken({
|
|
4
|
+
addresses: {
|
|
5
|
+
4217: '0x20c0000000000000000000002f52d5cc21a3207b', // tempo
|
|
6
|
+
},
|
|
7
|
+
currency: 'USD',
|
|
8
|
+
decimals: 6,
|
|
9
|
+
name: 'USDe',
|
|
10
|
+
symbol: 'USDe',
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=usde.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usde.js","sourceRoot":"","sources":["../../../tokens/definitions/usde.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,CAAC,MAAM,IAAI,GAAG,aAAa,CAAC,WAAW,CAAC;IAC5C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C,EAAE,QAAQ;KAC7D;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,MAAM;CACf,CAAC,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Generated with `pnpm gen:tokenlist`. Do not modify manually.
|
|
2
|
+
import { defineToken } from '../defineToken.js';
|
|
3
|
+
export const usdt0 = /*#__PURE__*/ defineToken({
|
|
4
|
+
addresses: {
|
|
5
|
+
4217: '0x20c00000000000000000000014f22ca97301eb73', // tempo
|
|
6
|
+
},
|
|
7
|
+
currency: 'USD',
|
|
8
|
+
decimals: 6,
|
|
9
|
+
name: 'USDT0',
|
|
10
|
+
symbol: 'USDT0',
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=usdt0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usdt0.js","sourceRoot":"","sources":["../../../tokens/definitions/usdt0.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,CAAC,MAAM,KAAK,GAAG,aAAa,CAAC,WAAW,CAAC;IAC7C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C,EAAE,QAAQ;KAC7D;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,OAAO;CAChB,CAAC,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Generated with `pnpm gen:tokenlist`. Do not modify manually.
|
|
2
|
+
import { defineToken } from '../defineToken.js';
|
|
3
|
+
export const wsrusd = /*#__PURE__*/ defineToken({
|
|
4
|
+
addresses: {
|
|
5
|
+
4217: '0x20c000000000000000000000aeed2ec36a54d0e5', // tempo
|
|
6
|
+
},
|
|
7
|
+
currency: 'wsrUSD',
|
|
8
|
+
decimals: 6,
|
|
9
|
+
name: 'Wrapped Savings rUSD',
|
|
10
|
+
symbol: 'wsrUSD',
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=wsrusd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wsrusd.js","sourceRoot":"","sources":["../../../tokens/definitions/wsrusd.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,CAAC,MAAM,MAAM,GAAG,aAAa,CAAC,WAAW,CAAC;IAC9C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C,EAAE,QAAQ;KAC7D;IACD,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,sBAAsB;IAC5B,MAAM,EAAE,QAAQ;CACjB,CAAC,CAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// biome-ignore lint/performance/noBarrelFile: entrypoint module
|
|
2
|
+
export { defineToken } from './defineToken.js';
|
|
3
|
+
export { alphausd } from './definitions/alphausd.js';
|
|
4
|
+
export { betausd } from './definitions/betausd.js';
|
|
5
|
+
export { brla } from './definitions/brla.js';
|
|
6
|
+
export { cbbtc } from './definitions/cbbtc.js';
|
|
7
|
+
export { chfau } from './definitions/chfau.js';
|
|
8
|
+
export { cusd } from './definitions/cusd.js';
|
|
9
|
+
export { dlusd } from './definitions/dlusd.js';
|
|
10
|
+
export { eurau } from './definitions/eurau.js';
|
|
11
|
+
export { eurce } from './definitions/eurce.js';
|
|
12
|
+
export { frxusd } from './definitions/frxusd.js';
|
|
13
|
+
export { gbpa } from './definitions/gbpa.js';
|
|
14
|
+
export { gusd } from './definitions/gusd.js';
|
|
15
|
+
export { iusd } from './definitions/iusd.js';
|
|
16
|
+
export { pathusd } from './definitions/pathusd.js';
|
|
17
|
+
export { reusd } from './definitions/reusd.js';
|
|
18
|
+
export { rusd } from './definitions/rusd.js';
|
|
19
|
+
export { sbc } from './definitions/sbc.js';
|
|
20
|
+
export { siusd } from './definitions/siusd.js';
|
|
21
|
+
export { stcusd } from './definitions/stcusd.js';
|
|
22
|
+
export { susde } from './definitions/susde.js';
|
|
23
|
+
export { syrupusdc } from './definitions/syrupusdc.js';
|
|
24
|
+
export { thetausd } from './definitions/thetausd.js';
|
|
25
|
+
export { usd1 } from './definitions/usd1.js';
|
|
26
|
+
export { usdb } from './definitions/usdb.js';
|
|
27
|
+
export { usdc } from './definitions/usdc.js';
|
|
28
|
+
export { usdce } from './definitions/usdce.js';
|
|
29
|
+
export { usde } from './definitions/usde.js';
|
|
30
|
+
export { usdt0 } from './definitions/usdt0.js';
|
|
31
|
+
export { wsrusd } from './definitions/wsrusd.js';
|
|
32
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../tokens/index.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,OAAO,EAAE,WAAW,EAA2B,MAAM,kBAAkB,CAAA;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { BaseError } from '../../errors/base.js';
|
|
2
|
-
import { InvalidHexValueError, } from '../../errors/encoding.js';
|
|
2
|
+
import { InvalidHexValueError, RlpDepthLimitExceededError, } from '../../errors/encoding.js';
|
|
3
3
|
import { createCursor, } from '../cursor.js';
|
|
4
4
|
import { hexToBytes } from './toBytes.js';
|
|
5
5
|
import { bytesToHex } from './toHex.js';
|
|
6
|
+
const rlpDepthLimit = 1_024;
|
|
6
7
|
export function fromRlp(value, to = 'hex') {
|
|
7
8
|
const bytes = (() => {
|
|
8
9
|
if (typeof value === 'string') {
|
|
@@ -18,7 +19,9 @@ export function fromRlp(value, to = 'hex') {
|
|
|
18
19
|
const result = fromRlpCursor(cursor, to);
|
|
19
20
|
return result;
|
|
20
21
|
}
|
|
21
|
-
function fromRlpCursor(cursor, to = 'hex') {
|
|
22
|
+
function fromRlpCursor(cursor, to = 'hex', recursiveDepth = 0) {
|
|
23
|
+
if (recursiveDepth >= rlpDepthLimit)
|
|
24
|
+
throw new RlpDepthLimitExceededError({ limit: rlpDepthLimit });
|
|
22
25
|
if (cursor.bytes.length === 0)
|
|
23
26
|
return (to === 'hex' ? bytesToHex(cursor.bytes) : cursor.bytes);
|
|
24
27
|
const prefix = cursor.readByte();
|
|
@@ -32,7 +35,7 @@ function fromRlpCursor(cursor, to = 'hex') {
|
|
|
32
35
|
}
|
|
33
36
|
// list
|
|
34
37
|
const length = readLength(cursor, prefix, 0xc0);
|
|
35
|
-
return readList(cursor, length, to);
|
|
38
|
+
return readList(cursor, length, to, recursiveDepth + 1);
|
|
36
39
|
}
|
|
37
40
|
function readLength(cursor, prefix, offset) {
|
|
38
41
|
if (offset === 0x80 && prefix < 0x80)
|
|
@@ -49,11 +52,11 @@ function readLength(cursor, prefix, offset) {
|
|
|
49
52
|
return cursor.readUint32();
|
|
50
53
|
throw new BaseError('Invalid RLP prefix');
|
|
51
54
|
}
|
|
52
|
-
function readList(cursor, length, to) {
|
|
55
|
+
function readList(cursor, length, to, recursiveDepth) {
|
|
53
56
|
const position = cursor.position;
|
|
54
57
|
const value = [];
|
|
55
58
|
while (cursor.position - position < length)
|
|
56
|
-
value.push(fromRlpCursor(cursor, to));
|
|
59
|
+
value.push(fromRlpCursor(cursor, to, recursiveDepth));
|
|
57
60
|
return value;
|
|
58
61
|
}
|
|
59
62
|
//# sourceMappingURL=fromRlp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fromRlp.js","sourceRoot":"","sources":["../../../utils/encoding/fromRlp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAsB,MAAM,sBAAsB,CAAA;AACpE,OAAO,EACL,oBAAoB,
|
|
1
|
+
{"version":3,"file":"fromRlp.js","sourceRoot":"","sources":["../../../utils/encoding/fromRlp.ts"],"names":[],"mappings":"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"}
|
package/_esm/utils/rpc/http.js
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
import { HttpRequestError, TimeoutError, } from '../../errors/request.js';
|
|
1
|
+
import { HttpRequestError, ResponseBodyTooLargeError, TimeoutError, } from '../../errors/request.js';
|
|
2
2
|
import { getAbortError, isAbortError, } from '../../errors/utils.js';
|
|
3
3
|
import { withTimeout, } from '../promise/withTimeout.js';
|
|
4
4
|
import { stringify } from '../stringify.js';
|
|
5
5
|
import { idCache } from './id.js';
|
|
6
|
+
const defaultMaxResponseBodySize = 10_485_760;
|
|
6
7
|
export function getHttpRpcClient(url_, options = {}) {
|
|
7
8
|
const { url, headers: headers_url } = parseUrl(url_);
|
|
8
9
|
return {
|
|
9
10
|
async request(params) {
|
|
10
|
-
const { body, fetchFn = options.fetchFn ?? fetch,
|
|
11
|
+
const { body, fetchFn = options.fetchFn ?? fetch, maxResponseBodySize = options.maxResponseBodySize ??
|
|
12
|
+
defaultMaxResponseBodySize, onRequest = options.onRequest, onResponse = options.onResponse, timeout = options.timeout ?? 10_000, } = params;
|
|
11
13
|
const fetchOptions = {
|
|
12
14
|
...(options.fetchOptions ?? {}),
|
|
13
15
|
...(params.fetchOptions ?? {}),
|
|
@@ -48,10 +50,13 @@ export function getHttpRpcClient(url_, options = {}) {
|
|
|
48
50
|
if (onResponse)
|
|
49
51
|
await onResponse(response);
|
|
50
52
|
let data;
|
|
53
|
+
const responseBody = await readResponseBody(response, {
|
|
54
|
+
maxResponseBodySize,
|
|
55
|
+
});
|
|
51
56
|
if (response.headers.get('Content-Type')?.startsWith('application/json'))
|
|
52
|
-
data =
|
|
57
|
+
data = JSON.parse(responseBody);
|
|
53
58
|
else {
|
|
54
|
-
data =
|
|
59
|
+
data = responseBody;
|
|
55
60
|
try {
|
|
56
61
|
data = JSON.parse(data || '{}');
|
|
57
62
|
}
|
|
@@ -84,6 +89,8 @@ export function getHttpRpcClient(url_, options = {}) {
|
|
|
84
89
|
throw err;
|
|
85
90
|
if (err instanceof HttpRequestError)
|
|
86
91
|
throw err;
|
|
92
|
+
if (err instanceof ResponseBodyTooLargeError)
|
|
93
|
+
throw err;
|
|
87
94
|
if (err instanceof TimeoutError)
|
|
88
95
|
throw err;
|
|
89
96
|
throw new HttpRequestError({
|
|
@@ -95,6 +102,54 @@ export function getHttpRpcClient(url_, options = {}) {
|
|
|
95
102
|
},
|
|
96
103
|
};
|
|
97
104
|
}
|
|
105
|
+
async function readResponseBody(response, { maxResponseBodySize }) {
|
|
106
|
+
if (maxResponseBodySize === false)
|
|
107
|
+
return response.text();
|
|
108
|
+
const contentLength = response.headers.get('Content-Length');
|
|
109
|
+
if (contentLength) {
|
|
110
|
+
const size = Number(contentLength);
|
|
111
|
+
if (size > maxResponseBodySize)
|
|
112
|
+
throw new ResponseBodyTooLargeError({
|
|
113
|
+
maxSize: maxResponseBodySize,
|
|
114
|
+
size,
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
if (!response.body) {
|
|
118
|
+
const body = await response.text();
|
|
119
|
+
const size = new TextEncoder().encode(body).length;
|
|
120
|
+
if (size > maxResponseBodySize)
|
|
121
|
+
throw new ResponseBodyTooLargeError({
|
|
122
|
+
maxSize: maxResponseBodySize,
|
|
123
|
+
size,
|
|
124
|
+
});
|
|
125
|
+
return body;
|
|
126
|
+
}
|
|
127
|
+
const reader = response.body.getReader();
|
|
128
|
+
const decoder = new TextDecoder();
|
|
129
|
+
let body = '';
|
|
130
|
+
let size = 0;
|
|
131
|
+
try {
|
|
132
|
+
while (true) {
|
|
133
|
+
const { done, value } = await reader.read();
|
|
134
|
+
if (done)
|
|
135
|
+
break;
|
|
136
|
+
size += value.byteLength;
|
|
137
|
+
if (size > maxResponseBodySize) {
|
|
138
|
+
await reader.cancel();
|
|
139
|
+
throw new ResponseBodyTooLargeError({
|
|
140
|
+
maxSize: maxResponseBodySize,
|
|
141
|
+
size,
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
body += decoder.decode(value, { stream: true });
|
|
145
|
+
}
|
|
146
|
+
body += decoder.decode();
|
|
147
|
+
return body;
|
|
148
|
+
}
|
|
149
|
+
finally {
|
|
150
|
+
reader.releaseLock();
|
|
151
|
+
}
|
|
152
|
+
}
|
|
98
153
|
/** @internal */
|
|
99
154
|
export function parseUrl(url_) {
|
|
100
155
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../utils/rpc/http.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAEhB,YAAY,GAEb,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAEL,aAAa,EACb,YAAY,GACb,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EAEL,WAAW,GACZ,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../utils/rpc/http.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAEhB,yBAAyB,EAEzB,YAAY,GAEb,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAEL,aAAa,EACb,YAAY,GACb,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EAEL,WAAW,GACZ,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AA+DjC,MAAM,0BAA0B,GAAG,UAAU,CAAA;AAQ7C,MAAM,UAAU,gBAAgB,CAC9B,IAAY,EACZ,UAAgC,EAAE;IAElC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAEpD,OAAO;QACL,KAAK,CAAC,OAAO,CAAC,MAAM;YAClB,MAAM,EACJ,IAAI,EACJ,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,EAClC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB;gBAC/C,0BAA0B,EAC5B,SAAS,GAAG,OAAO,CAAC,SAAS,EAC7B,UAAU,GAAG,OAAO,CAAC,UAAU,EAC/B,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,MAAM,GACpC,GAAG,MAAM,CAAA;YAEV,MAAM,YAAY,GAAG;gBACnB,GAAG,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC;gBAC/B,GAAG,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC;aAC/B,CAAA;YAED,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAA;YAEzD,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,WAAW,CAChC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;oBACnB,MAAM,IAAI,GAAgB;wBACxB,GAAG,YAAY;wBACf,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;4BACvB,CAAC,CAAC,SAAS,CACP,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gCAClB,OAAO,EAAE,KAAK;gCACd,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,IAAI,EAAE;gCAC7B,GAAG,IAAI;6BACR,CAAC,CAAC,CACJ;4BACH,CAAC,CAAC,SAAS,CAAC;gCACR,OAAO,EAAE,KAAK;gCACd,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,IAAI,EAAE;gCAC7B,GAAG,IAAI;6BACR,CAAC;wBACN,OAAO,EAAE;4BACP,GAAG,WAAW;4BACd,cAAc,EAAE,kBAAkB;4BAClC,GAAG,OAAO;yBACX;wBACD,MAAM,EAAE,MAAM,IAAI,MAAM;wBACxB,MAAM,EAAE,OAAO,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;qBACjD,CAAA;oBACD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;oBACtC,MAAM,IAAI,GAAG,CAAC,MAAM,SAAS,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,CAAA;oBACnE,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,EAAE,IAAI,CAAC,CAAA;oBACrD,OAAO,QAAQ,CAAA;gBACjB,CAAC,EACD;oBACE,aAAa,EAAE,IAAI,YAAY,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;oBAC9C,OAAO;oBACP,MAAM,EAAE,IAAI;iBACb,CACF,CAAA;gBAED,IAAI,UAAU;oBAAE,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAA;gBAE1C,IAAI,IAAS,CAAA;gBACb,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,QAAQ,EAAE;oBACpD,mBAAmB;iBACpB,CAAC,CAAA;gBACF,IACE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,kBAAkB,CAAC;oBAEpE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;qBAC5B,CAAC;oBACJ,IAAI,GAAG,YAAY,CAAA;oBACnB,IAAI,CAAC;wBACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,CAAA;oBACjC,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,IAAI,QAAQ,CAAC,EAAE;4BAAE,MAAM,GAAG,CAAA;wBAC1B,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;oBACxB,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjB,kEAAkE;oBAClE,8DAA8D;oBAC9D,IACE,OAAO,IAAI,CAAC,KAAK,EAAE,IAAI,KAAK,QAAQ;wBACpC,OAAO,IAAI,CAAC,KAAK,EAAE,OAAO,KAAK,QAAQ;wBAEvC,OAAO,IAAI,CAAA;oBAEb,MAAM,IAAI,gBAAgB,CAAC;wBACzB,IAAI;wBACJ,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,UAAU;wBACrD,OAAO,EAAE,QAAQ,CAAC,OAAO;wBACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;wBACvB,GAAG;qBACJ,CAAC,CAAA;gBACJ,CAAC;gBAED,OAAO,IAAI,CAAA;YACb,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,OAAO,EAAE,OAAO;oBAAE,MAAM,aAAa,CAAC,OAAO,CAAC,CAAA;gBAClD,IAAI,YAAY,CAAC,GAAG,CAAC;oBAAE,MAAM,GAAG,CAAA;gBAChC,IAAI,GAAG,YAAY,gBAAgB;oBAAE,MAAM,GAAG,CAAA;gBAC9C,IAAI,GAAG,YAAY,yBAAyB;oBAAE,MAAM,GAAG,CAAA;gBACvD,IAAI,GAAG,YAAY,YAAY;oBAAE,MAAM,GAAG,CAAA;gBAC1C,MAAM,IAAI,gBAAgB,CAAC;oBACzB,IAAI;oBACJ,KAAK,EAAE,GAAY;oBACnB,GAAG;iBACJ,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,QAAkB,EAClB,EAAE,mBAAmB,EAA2C;IAEhE,IAAI,mBAAmB,KAAK,KAAK;QAAE,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAA;IAEzD,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;IAC5D,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,CAAC,CAAA;QAClC,IAAI,IAAI,GAAG,mBAAmB;YAC5B,MAAM,IAAI,yBAAyB,CAAC;gBAClC,OAAO,EAAE,mBAAmB;gBAC5B,IAAI;aACL,CAAC,CAAA;IACN,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAClC,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAA;QAClD,IAAI,IAAI,GAAG,mBAAmB;YAC5B,MAAM,IAAI,yBAAyB,CAAC;gBAClC,OAAO,EAAE,mBAAmB;gBAC5B,IAAI;aACL,CAAC,CAAA;QACJ,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAA;IACxC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;IACjC,IAAI,IAAI,GAAG,EAAE,CAAA;IACb,IAAI,IAAI,GAAG,CAAC,CAAA;IAEZ,IAAI,CAAC;QACH,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;YAC3C,IAAI,IAAI;gBAAE,MAAK;YACf,IAAI,IAAI,KAAK,CAAC,UAAU,CAAA;YACxB,IAAI,IAAI,GAAG,mBAAmB,EAAE,CAAC;gBAC/B,MAAM,MAAM,CAAC,MAAM,EAAE,CAAA;gBACrB,MAAM,IAAI,yBAAyB,CAAC;oBAClC,OAAO,EAAE,mBAAmB;oBAC5B,IAAI;iBACL,CAAC,CAAA;YACJ,CAAC;YACD,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;QACjD,CAAC;QACD,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAA;QACxB,OAAO,IAAI,CAAA;IACb,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,WAAW,EAAE,CAAA;IACtB,CAAC;AACH,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAA;QAEzB,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE;YACnB,0CAA0C;YAC1C,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACjB,MAAM,WAAW,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAA;gBAC7F,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAA;gBACjB,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAA;gBAEjB,OAAO;oBACL,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE;oBACnB,OAAO,EAAE,EAAE,aAAa,EAAE,SAAS,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE;iBACzD,CAAA;YACH,CAAC;YAED,OAAM;QACR,CAAC,CAAC,EAAE,CAAA;QAEJ,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,GAAG,MAAM,EAAE,CAAA;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAA;IACtB,CAAC;AACH,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { InvalidAddressError, } from '../../errors/address.js';
|
|
2
|
-
import { InvalidLegacyVError, InvalidSerializedTransactionError, } from '../../errors/transaction.js';
|
|
2
|
+
import { InvalidLegacyVError, InvalidSerializedTransactionError, InvalidYParityError, } from '../../errors/transaction.js';
|
|
3
3
|
import { isAddress } from '../address/isAddress.js';
|
|
4
4
|
import { toBlobSidecars } from '../blob/toBlobSidecars.js';
|
|
5
5
|
import { isHex } from '../data/isHex.js';
|
|
@@ -338,7 +338,10 @@ function parseAuthorizationList(serializedAuthorizationList) {
|
|
|
338
338
|
}
|
|
339
339
|
function parseEIP155Signature(transactionArray) {
|
|
340
340
|
const signature = transactionArray.slice(-3);
|
|
341
|
-
const
|
|
341
|
+
const yParity = signature[0] === '0x' ? 0n : hexToBigInt(signature[0]);
|
|
342
|
+
if (yParity !== 0n && yParity !== 1n)
|
|
343
|
+
throw new InvalidYParityError({ yParity });
|
|
344
|
+
const v = yParity === 0n ? 27n : 28n;
|
|
342
345
|
return {
|
|
343
346
|
r: padHex(signature[1], { size: 32 }),
|
|
344
347
|
s: padHex(signature[2], { size: 32 }),
|