viem 2.53.1 → 2.54.1
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 +65 -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 +3 -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/cirbtc.js +16 -0
- package/_cjs/tokens/definitions/cirbtc.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/eurc.js +24 -0
- package/_cjs/tokens/definitions/eurc.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 +59 -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/usyc.js +18 -0
- package/_cjs/tokens/definitions/usyc.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 +72 -0
- package/_cjs/tokens/index.js.map +1 -0
- package/_cjs/tokens/sets.js +102 -0
- package/_cjs/tokens/sets.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 +3 -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/cirbtc.js +21 -0
- package/_esm/tokens/definitions/cirbtc.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/eurc.js +29 -0
- package/_esm/tokens/definitions/eurc.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 +85 -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/usyc.js +23 -0
- package/_esm/tokens/definitions/usyc.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 +36 -0
- package/_esm/tokens/index.js.map +1 -0
- package/_esm/tokens/sets.js +104 -0
- package/_esm/tokens/sets.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/cirbtc.d.ts +21 -0
- package/_types/tokens/definitions/cirbtc.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/eurc.d.ts +29 -0
- package/_types/tokens/definitions/eurc.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 +85 -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/usyc.d.ts +23 -0
- package/_types/tokens/definitions/usyc.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 +35 -0
- package/_types/tokens/index.d.ts.map +1 -0
- package/_types/tokens/sets.d.ts +607 -0
- package/_types/tokens/sets.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 +7 -3
- 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/cirbtc.ts +21 -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/eurc.ts +29 -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 +85 -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/usyc.ts +23 -0
- package/tokens/definitions/wsrusd.ts +13 -0
- package/tokens/index.ts +35 -0
- package/tokens/package.json +6 -0
- package/tokens/sets.ts +109 -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,60 @@
|
|
|
1
|
+
import { erc20Abi } from '../../constants/abis.js';
|
|
2
|
+
import { readContract } from '../public/readContract.js';
|
|
3
|
+
import { defineCall, resolveToken, resolveTokenWithDecimals, toAmount, } from './internal.js';
|
|
4
|
+
/**
|
|
5
|
+
* Gets the total supply of an ERC-20 token.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts
|
|
9
|
+
* import { createClient, http } from 'viem'
|
|
10
|
+
* import { mainnet } from 'viem/chains'
|
|
11
|
+
* import { token } from 'viem/actions'
|
|
12
|
+
*
|
|
13
|
+
* const client = createClient({ chain: mainnet, transport: http() })
|
|
14
|
+
*
|
|
15
|
+
* const totalSupply = await token.getTotalSupply(client, {
|
|
16
|
+
* token: '0x...',
|
|
17
|
+
* })
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* @param client - Client.
|
|
21
|
+
* @param parameters - Parameters.
|
|
22
|
+
* @returns The token total supply, in base units and human-readable form.
|
|
23
|
+
*/
|
|
24
|
+
export async function getTotalSupply(client, parameters) {
|
|
25
|
+
const { decimals, token, ...rest } = parameters;
|
|
26
|
+
const [amount, { decimals: resolved }] = await Promise.all([
|
|
27
|
+
readContract(client, {
|
|
28
|
+
...rest,
|
|
29
|
+
...getTotalSupply.call(client, { token }),
|
|
30
|
+
}),
|
|
31
|
+
resolveTokenWithDecimals(client, {
|
|
32
|
+
decimals,
|
|
33
|
+
token,
|
|
34
|
+
}),
|
|
35
|
+
]);
|
|
36
|
+
return toAmount(amount, resolved);
|
|
37
|
+
}
|
|
38
|
+
(function (getTotalSupply) {
|
|
39
|
+
/**
|
|
40
|
+
* Defines a call to the `totalSupply` function.
|
|
41
|
+
*
|
|
42
|
+
* Can be passed as a parameter to `multicall`, `simulateContract`, or any
|
|
43
|
+
* other action that accepts a contract call. The token is selected by `token`
|
|
44
|
+
* symbol (resolved from the client's `tokens` array) or contract address.
|
|
45
|
+
*
|
|
46
|
+
* @param client - Client.
|
|
47
|
+
* @param args - Arguments.
|
|
48
|
+
* @returns The call.
|
|
49
|
+
*/
|
|
50
|
+
function call(client, args) {
|
|
51
|
+
return defineCall({
|
|
52
|
+
address: resolveToken(client, args).address,
|
|
53
|
+
abi: erc20Abi,
|
|
54
|
+
args: [],
|
|
55
|
+
functionName: 'totalSupply',
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
getTotalSupply.call = call;
|
|
59
|
+
})(getTotalSupply || (getTotalSupply = {}));
|
|
60
|
+
//# sourceMappingURL=getTotalSupply.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTotalSupply.js","sourceRoot":"","sources":["../../../actions/token/getTotalSupply.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAGlD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAEL,UAAU,EAEV,YAAY,EACZ,wBAAwB,EAExB,QAAQ,GACT,MAAM,eAAe,CAAA;AAEtB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAKlC,MAAuE,EACvE,UAAoD;IAEpD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,CAAA;IAC/C,MAAM,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACzD,YAAY,CAAC,MAAM,EAAE;YACnB,GAAG,IAAI;YACP,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,EAAW,CAAC;SACnD,CAAC;QACF,wBAAwB,CAAC,MAAM,EAAE;YAC/B,QAAQ;YACR,KAAK;SACN,CAAC;KACH,CAAC,CAAA;IACF,OAAO,QAAQ,CAAC,MAAgB,EAAE,QAAQ,CAAC,CAAA;AAC7C,CAAC;AAED,WAAiB,cAAc;IAW7B;;;;;;;;;;OAUG;IACH,SAAgB,IAAI,CAKlB,MAAuE,EACvE,IAAyB;QAEzB,OAAO,UAAU,CAAC;YAChB,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,OAAO;YAC3C,GAAG,EAAE,QAAQ;YACb,IAAI,EAAE,EAAE;YACR,YAAY,EAAE,aAAa;SAC5B,CAAC,CAAA;IACJ,CAAC;IAde,mBAAI,OAcnB,CAAA;AACH,CAAC,EArCgB,cAAc,KAAd,cAAc,QAqC9B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// biome-ignore lint/performance/noBarrelFile: entrypoint module
|
|
2
|
+
export { approve } from './approve.js';
|
|
3
|
+
export { approveSync } from './approveSync.js';
|
|
4
|
+
export { getAllowance } from './getAllowance.js';
|
|
5
|
+
export { getBalance } from './getBalance.js';
|
|
6
|
+
export { getMetadata } from './getMetadata.js';
|
|
7
|
+
export { getTotalSupply } from './getTotalSupply.js';
|
|
8
|
+
export { transfer } from './transfer.js';
|
|
9
|
+
export { transferSync } from './transferSync.js';
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../actions/token/index.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA"}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import { erc20Abi } from '../../constants/abis.js';
|
|
2
|
+
import { isAddress } from '../../utils/address/isAddress.js';
|
|
3
|
+
import { isAddressEqual } from '../../utils/address/isAddressEqual.js';
|
|
4
|
+
import { encodeFunctionData } from '../../utils/index.js';
|
|
5
|
+
import { formatUnits } from '../../utils/unit/formatUnits.js';
|
|
6
|
+
import { parseUnits } from '../../utils/unit/parseUnits.js';
|
|
7
|
+
import { readContract } from '../public/readContract.js';
|
|
8
|
+
/**
|
|
9
|
+
* Shapes a base-unit value into an {@link Amount} (base units, `decimals`, and
|
|
10
|
+
* human-readable `formatted` string).
|
|
11
|
+
*
|
|
12
|
+
* @param amount - Amount in base units.
|
|
13
|
+
* @param decimals - Token decimals used to format the amount.
|
|
14
|
+
* @returns The {@link Amount}.
|
|
15
|
+
*/
|
|
16
|
+
export function toAmount(amount, decimals) {
|
|
17
|
+
return { amount, decimals, formatted: formatUnits(amount, decimals) };
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Resolves a write amount to base units.
|
|
21
|
+
*
|
|
22
|
+
* @param amount - Base-unit amount, or formatted helper.
|
|
23
|
+
* @param decimals - Token decimals used to parse formatted amounts.
|
|
24
|
+
* @returns Amount in base units.
|
|
25
|
+
*/
|
|
26
|
+
export function toBaseUnits(amount, decimals) {
|
|
27
|
+
if (typeof amount === 'bigint')
|
|
28
|
+
return amount;
|
|
29
|
+
const resolved = amount.decimals ?? decimals;
|
|
30
|
+
return parseUnits(amount.formatted, requireTokenDecimals(resolved));
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Requires resolved token decimals for parsing or formatting amounts.
|
|
34
|
+
*
|
|
35
|
+
* @param decimals - Token decimals.
|
|
36
|
+
* @returns Token decimals.
|
|
37
|
+
* @internal
|
|
38
|
+
*/
|
|
39
|
+
export function requireTokenDecimals(decimals) {
|
|
40
|
+
if (decimals === undefined)
|
|
41
|
+
throw new Error('Token decimals are required. Pass `amount.decimals` or select a declared token.');
|
|
42
|
+
return decimals;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Resolves the decimals used for formatting a write amount.
|
|
46
|
+
*
|
|
47
|
+
* @param amount - Base-unit amount, or formatted helper.
|
|
48
|
+
* @param decimals - Token decimals.
|
|
49
|
+
* @returns Token decimals, overridden by the formatted helper when present.
|
|
50
|
+
*/
|
|
51
|
+
export function resolveAmountDecimals(amount, decimals) {
|
|
52
|
+
if (typeof amount === 'bigint')
|
|
53
|
+
return decimals;
|
|
54
|
+
return amount.decimals ?? decimals;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Resolves the token contract `address` and `decimals` from a `token`, which is
|
|
58
|
+
* either the symbol of a token declared on the client's `tokens` array or a
|
|
59
|
+
* contract `address`.
|
|
60
|
+
*
|
|
61
|
+
* When `token` is a declared symbol, the `address` and `decimals` are resolved
|
|
62
|
+
* from the Client's `tokens` array for the Client's `chain.id` (`decimals` can
|
|
63
|
+
* be overridden via the explicit `decimals`). When `token` is an address, its
|
|
64
|
+
* `decimals` is inferred from the Client's `tokens` array when the address
|
|
65
|
+
* matches a declared token, otherwise taken from the explicit `decimals`.
|
|
66
|
+
*
|
|
67
|
+
* @param client - Client.
|
|
68
|
+
* @param parameters - Parameters.
|
|
69
|
+
* @returns The resolved `address` and `decimals`.
|
|
70
|
+
*/
|
|
71
|
+
export function resolveToken(client, parameters) {
|
|
72
|
+
const { decimals, token } = parameters;
|
|
73
|
+
const declared = findDeclaredToken(client, token);
|
|
74
|
+
if (declared)
|
|
75
|
+
return {
|
|
76
|
+
address: declared.address,
|
|
77
|
+
decimals: decimals ?? declared.decimals,
|
|
78
|
+
};
|
|
79
|
+
if (isAddress(token, { strict: false }))
|
|
80
|
+
return {
|
|
81
|
+
address: token,
|
|
82
|
+
decimals: decimals ?? inferDecimals(client, token),
|
|
83
|
+
};
|
|
84
|
+
throw new Error(`Token "${token}" is not a declared ERC-20 token on the client's \`tokens\` array (with an address for the client's chain), and is not a valid address.`);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Finds the declared token on the Client's `tokens` array matching `token`
|
|
88
|
+
* (either a token symbol or contract `address`), resolved to a {@link ResolvedToken}
|
|
89
|
+
* for the Client's `chain.id`. Returns `undefined` when no declared token
|
|
90
|
+
* matches, or the matching token has no address for the Client's chain.
|
|
91
|
+
*
|
|
92
|
+
* @param client - Client.
|
|
93
|
+
* @param token - Token symbol (declared on the client's `tokens` array) or contract address.
|
|
94
|
+
* @returns The matching resolved token config, or `undefined`.
|
|
95
|
+
*/
|
|
96
|
+
export function findDeclaredToken(client, token) {
|
|
97
|
+
const tokens = client.tokens;
|
|
98
|
+
const chainId = client.chain?.id;
|
|
99
|
+
if (!tokens || chainId === undefined)
|
|
100
|
+
return undefined;
|
|
101
|
+
const bySymbol = findTokenBySymbol(tokens, token);
|
|
102
|
+
if (bySymbol)
|
|
103
|
+
return resolveTokenForChain(bySymbol, chainId);
|
|
104
|
+
if (isAddress(token, { strict: false }))
|
|
105
|
+
for (const token_ of tokens) {
|
|
106
|
+
const resolved = resolveTokenForChain(token_, chainId);
|
|
107
|
+
if (resolved && isAddressEqual(resolved.address, token))
|
|
108
|
+
return resolved;
|
|
109
|
+
}
|
|
110
|
+
return undefined;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Resolves a {@link Token} to a {@link ResolvedToken} for `chainId`, or
|
|
114
|
+
* `undefined` when the token has no address for `chainId`. @internal
|
|
115
|
+
*/
|
|
116
|
+
function resolveTokenForChain(token, chainId) {
|
|
117
|
+
const address = token.addresses[chainId];
|
|
118
|
+
if (!address)
|
|
119
|
+
return undefined;
|
|
120
|
+
return {
|
|
121
|
+
address,
|
|
122
|
+
currency: token.currency,
|
|
123
|
+
decimals: token.decimals,
|
|
124
|
+
name: token.name,
|
|
125
|
+
popular: token.popular,
|
|
126
|
+
symbol: token.symbol,
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
/** Finds a {@link Token} by symbol (case-insensitively) on a `tokens` array. @internal */
|
|
130
|
+
function findTokenBySymbol(tokens, symbol) {
|
|
131
|
+
const lowerSymbol = symbol.toLowerCase();
|
|
132
|
+
for (const token of tokens) {
|
|
133
|
+
if (token.symbol?.toLowerCase() === lowerSymbol)
|
|
134
|
+
return token;
|
|
135
|
+
}
|
|
136
|
+
return undefined;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Infers a token's `decimals` from the Client's `tokens` array by matching
|
|
140
|
+
* `address` against each token's address for the Client's `chain.id`.
|
|
141
|
+
* @internal
|
|
142
|
+
*/
|
|
143
|
+
function inferDecimals(client, address) {
|
|
144
|
+
const tokens = client.tokens;
|
|
145
|
+
const chainId = client.chain?.id;
|
|
146
|
+
if (tokens && chainId !== undefined)
|
|
147
|
+
for (const token of tokens) {
|
|
148
|
+
const resolved = resolveTokenForChain(token, chainId);
|
|
149
|
+
if (resolved && isAddressEqual(resolved.address, address))
|
|
150
|
+
return resolved.decimals;
|
|
151
|
+
}
|
|
152
|
+
return undefined;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Resolves token decimals, fetching from the token contract when they are not
|
|
156
|
+
* provided explicitly or declared on the client.
|
|
157
|
+
* @internal
|
|
158
|
+
*/
|
|
159
|
+
export async function resolveTokenWithDecimals(client, parameters) {
|
|
160
|
+
const { address, decimals } = resolveToken(client, parameters);
|
|
161
|
+
if (decimals !== undefined)
|
|
162
|
+
return { address, decimals };
|
|
163
|
+
return {
|
|
164
|
+
address,
|
|
165
|
+
decimals: await readContract(client, {
|
|
166
|
+
abi: erc20Abi,
|
|
167
|
+
address,
|
|
168
|
+
functionName: 'decimals',
|
|
169
|
+
}),
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Picks the transaction-override fields shared by write actions, so the
|
|
174
|
+
* action-specific args (`token`, `amount`, `to`, etc.) don't leak into
|
|
175
|
+
* `estimateContractGas` / `simulateContract` requests. @internal
|
|
176
|
+
*/
|
|
177
|
+
export function pickWriteParameters(parameters) {
|
|
178
|
+
const { account, chain, gas, maxFeePerGas, maxPriorityFeePerGas, nonce } = parameters;
|
|
179
|
+
return { account, chain, gas, maxFeePerGas, maxPriorityFeePerGas, nonce };
|
|
180
|
+
}
|
|
181
|
+
export function defineCall(call) {
|
|
182
|
+
return {
|
|
183
|
+
...call,
|
|
184
|
+
data: encodeFunctionData(call),
|
|
185
|
+
to: call.address,
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
//# sourceMappingURL=internal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../actions/token/internal.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { erc20Abi } from '../../constants/abis.js';
|
|
2
|
+
import { parseEventLogs } from '../../utils/abi/parseEventLogs.js';
|
|
3
|
+
import { estimateContractGas } from '../public/estimateContractGas.js';
|
|
4
|
+
import { simulateContract, } from '../public/simulateContract.js';
|
|
5
|
+
import { writeContract } from '../wallet/writeContract.js';
|
|
6
|
+
import { defineCall, pickWriteParameters, resolveToken, toBaseUnits, } from './internal.js';
|
|
7
|
+
/**
|
|
8
|
+
* Transfers ERC-20 tokens to another address.
|
|
9
|
+
*
|
|
10
|
+
* Pass `from` to transfer on behalf of another address using an allowance
|
|
11
|
+
* (calls `transferFrom`); otherwise transfers from the caller (calls
|
|
12
|
+
* `transfer`).
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```ts
|
|
16
|
+
* import { createClient, http } from 'viem'
|
|
17
|
+
* import { mainnet } from 'viem/chains'
|
|
18
|
+
* import { privateKeyToAccount } from 'viem/accounts'
|
|
19
|
+
* import { token } from 'viem/actions'
|
|
20
|
+
*
|
|
21
|
+
* const client = createClient({
|
|
22
|
+
* account: privateKeyToAccount('0x...'),
|
|
23
|
+
* chain: mainnet,
|
|
24
|
+
* transport: http(),
|
|
25
|
+
* })
|
|
26
|
+
*
|
|
27
|
+
* const hash = await token.transfer(client, {
|
|
28
|
+
* amount: 100000000n,
|
|
29
|
+
* to: '0x...',
|
|
30
|
+
* token: '0x...',
|
|
31
|
+
* })
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```ts
|
|
36
|
+
* // Transfer on behalf of another address (via an allowance).
|
|
37
|
+
* const hash = await token.transfer(client, {
|
|
38
|
+
* amount: 100000000n,
|
|
39
|
+
* from: '0x...',
|
|
40
|
+
* to: '0x...',
|
|
41
|
+
* token: '0x...',
|
|
42
|
+
* })
|
|
43
|
+
* ```
|
|
44
|
+
*
|
|
45
|
+
* @param client - Client.
|
|
46
|
+
* @param parameters - Parameters.
|
|
47
|
+
* @returns The transaction hash.
|
|
48
|
+
*/
|
|
49
|
+
export async function transfer(client, parameters) {
|
|
50
|
+
return transfer.inner(writeContract, client, parameters);
|
|
51
|
+
}
|
|
52
|
+
(function (transfer) {
|
|
53
|
+
/** @internal */
|
|
54
|
+
async function inner(action, client, parameters) {
|
|
55
|
+
return (await action(client, {
|
|
56
|
+
...parameters,
|
|
57
|
+
...transfer.call(client, parameters),
|
|
58
|
+
}));
|
|
59
|
+
}
|
|
60
|
+
transfer.inner = inner;
|
|
61
|
+
/**
|
|
62
|
+
* Defines a call to the `transfer` (or `transferFrom`, when `from` is given)
|
|
63
|
+
* function.
|
|
64
|
+
*
|
|
65
|
+
* Can be passed as a parameter to `estimateContractGas`, `simulateContract`,
|
|
66
|
+
* `sendCalls`, `sendTransaction` (`calls`), or `multicall`. The token is
|
|
67
|
+
* selected by `token`, which is either a token symbol (resolved from the
|
|
68
|
+
* client's `tokens` array) or a contract `address`; `amount.decimals`
|
|
69
|
+
* is inferred from declared client tokens when omitted.
|
|
70
|
+
*
|
|
71
|
+
* @param client - Client.
|
|
72
|
+
* @param parameters - Parameters.
|
|
73
|
+
* @returns The call.
|
|
74
|
+
*/
|
|
75
|
+
function call(client, parameters) {
|
|
76
|
+
return defineCall(getCall(client, parameters));
|
|
77
|
+
}
|
|
78
|
+
transfer.call = call;
|
|
79
|
+
/**
|
|
80
|
+
* Estimates the gas required to transfer ERC-20 tokens. `amount.decimals` is
|
|
81
|
+
* inferred from declared client tokens when omitted.
|
|
82
|
+
*
|
|
83
|
+
* @param client - Client.
|
|
84
|
+
* @param parameters - Parameters.
|
|
85
|
+
* @returns The gas estimate.
|
|
86
|
+
*/
|
|
87
|
+
async function estimateGas(client, parameters) {
|
|
88
|
+
return estimateContractGas(client, {
|
|
89
|
+
...pickWriteParameters(parameters),
|
|
90
|
+
...transfer.call(client, parameters),
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
transfer.estimateGas = estimateGas;
|
|
94
|
+
/**
|
|
95
|
+
* Simulates a transfer of ERC-20 tokens. `amount.decimals` is inferred from
|
|
96
|
+
* declared client tokens when omitted.
|
|
97
|
+
*
|
|
98
|
+
* @param client - Client.
|
|
99
|
+
* @param parameters - Parameters.
|
|
100
|
+
* @returns The simulation result and write request.
|
|
101
|
+
*/
|
|
102
|
+
async function simulate(client, parameters) {
|
|
103
|
+
return simulateContract(client, {
|
|
104
|
+
...pickWriteParameters(parameters),
|
|
105
|
+
...transfer.call(client, parameters),
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
transfer.simulate = simulate;
|
|
109
|
+
/**
|
|
110
|
+
* Extracts the `Transfer` event from logs.
|
|
111
|
+
*
|
|
112
|
+
* @param logs - The logs.
|
|
113
|
+
* @returns The `Transfer` event.
|
|
114
|
+
*/
|
|
115
|
+
function extractEvent(logs) {
|
|
116
|
+
const [log] = parseEventLogs({
|
|
117
|
+
abi: erc20Abi,
|
|
118
|
+
logs,
|
|
119
|
+
eventName: 'Transfer',
|
|
120
|
+
strict: true,
|
|
121
|
+
});
|
|
122
|
+
if (!log)
|
|
123
|
+
throw new Error('`Transfer` event not found.');
|
|
124
|
+
return log;
|
|
125
|
+
}
|
|
126
|
+
transfer.extractEvent = extractEvent;
|
|
127
|
+
})(transfer || (transfer = {}));
|
|
128
|
+
/** Builds the underlying `transfer`/`transferFrom` contract call. @internal */
|
|
129
|
+
function getCall(client, parameters) {
|
|
130
|
+
const { amount, from, to, token } = parameters;
|
|
131
|
+
const { address, decimals } = resolveToken(client, { token });
|
|
132
|
+
const value = toBaseUnits(amount, decimals);
|
|
133
|
+
if (from)
|
|
134
|
+
return {
|
|
135
|
+
abi: erc20Abi,
|
|
136
|
+
address,
|
|
137
|
+
args: [from, to, value],
|
|
138
|
+
functionName: 'transferFrom',
|
|
139
|
+
};
|
|
140
|
+
return {
|
|
141
|
+
abi: erc20Abi,
|
|
142
|
+
address,
|
|
143
|
+
args: [to, value],
|
|
144
|
+
functionName: 'transfer',
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=transfer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../../actions/token/transfer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAKlD,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AACtE,OAAO,EAEL,gBAAgB,GACjB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE1D,OAAO,EAEL,UAAU,EACV,mBAAmB,EACnB,YAAY,EAEZ,WAAW,GAEZ,MAAM,eAAe,CAAA;AAEtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAK5B,MAAuE,EACvE,UAAuD;IAEvD,OAAO,QAAQ,CAAC,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,CAAC,CAAA;AAC1D,CAAC;AAED,WAAiB,QAAQ;IAqBvB,gBAAgB;IACT,KAAK,UAAU,KAAK,CAMzB,MAAc,EACd,MAAuE,EACvE,UAAuD;QAEvD,OAAO,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE;YAC3B,GAAG,UAAU;YACb,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,UAAmB,CAAC;SACrC,CAAC,CAAU,CAAA;IACvB,CAAC;IAdqB,cAAK,QAc1B,CAAA;IAED;;;;;;;;;;;;;OAaG;IACH,SAAgB,IAAI,CAKlB,MAAuE,EACvE,UAA+B;QAE/B,OAAO,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,UAA2B,CAAC,CAAC,CAAA;IACjE,CAAC;IATe,aAAI,OASnB,CAAA;IAED;;;;;;;OAOG;IACI,KAAK,UAAU,WAAW,CAK/B,MAAuE,EACvE,UAAuD;QAEvD,OAAO,mBAAmB,CAAC,MAAM,EAAE;YACjC,GAAG,mBAAmB,CAAC,UAAmB,CAAC;YAC3C,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,UAAmB,CAAC;SACrC,CAAC,CAAA;IACb,CAAC;IAZqB,oBAAW,cAYhC,CAAA;IAED;;;;;;;OAOG;IACI,KAAK,UAAU,QAAQ,CAK5B,MAAuE,EACvE,UAAuD;QAIvD,OAAO,gBAAgB,CAAC,MAAM,EAAE;YAC9B,GAAG,mBAAmB,CAAC,UAAmB,CAAC;YAC3C,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,UAAmB,CAAC;SACrC,CAAU,CAAA;IACtB,CAAC;IAdqB,iBAAQ,WAc7B,CAAA;IAED;;;;;OAKG;IACH,SAAgB,YAAY,CAAC,IAAW;QACtC,MAAM,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC;YAC3B,GAAG,EAAE,QAAQ;YACb,IAAI;YACJ,SAAS,EAAE,UAAU;YACrB,MAAM,EAAE,IAAI;SACb,CAAC,CAAA;QACF,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;QACxD,OAAO,GAAG,CAAA;IACZ,CAAC;IATe,qBAAY,eAS3B,CAAA;AACH,CAAC,EA7HgB,QAAQ,KAAR,QAAQ,QA6HxB;AAED,+EAA+E;AAC/E,SAAS,OAAO,CACd,MAA4C,EAC5C,UAAyB;IAEzB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,UAAU,CAAA;IAC9C,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;IAC7D,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAC3C,IAAI,IAAI;QACN,OAAO;YACL,GAAG,EAAE,QAAQ;YACb,OAAO;YACP,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC;YACvB,YAAY,EAAE,cAAc;SACpB,CAAA;IACZ,OAAO;QACL,GAAG,EAAE,QAAQ;QACb,OAAO;QACP,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC;QACjB,YAAY,EAAE,UAAU;KAChB,CAAA;AACZ,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { formatUnits } from '../../utils/unit/formatUnits.js';
|
|
2
|
+
import { writeContractSync } from '../wallet/writeContractSync.js';
|
|
3
|
+
import { resolveAmountDecimals, resolveToken } from './internal.js';
|
|
4
|
+
import { transfer } from './transfer.js';
|
|
5
|
+
/**
|
|
6
|
+
* Transfers ERC-20 tokens to another address, and waits for the transaction to
|
|
7
|
+
* be confirmed.
|
|
8
|
+
*
|
|
9
|
+
* Pass `from` to transfer on behalf of another address using an allowance
|
|
10
|
+
* (calls `transferFrom`); otherwise transfers from the caller (calls
|
|
11
|
+
* `transfer`).
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```ts
|
|
15
|
+
* import { createClient, http } from 'viem'
|
|
16
|
+
* import { mainnet } from 'viem/chains'
|
|
17
|
+
* import { privateKeyToAccount } from 'viem/accounts'
|
|
18
|
+
* import { token } from 'viem/actions'
|
|
19
|
+
*
|
|
20
|
+
* const client = createClient({
|
|
21
|
+
* account: privateKeyToAccount('0x...'),
|
|
22
|
+
* chain: mainnet,
|
|
23
|
+
* transport: http(),
|
|
24
|
+
* })
|
|
25
|
+
*
|
|
26
|
+
* const { receipt, ...event } = await token.transferSync(client, {
|
|
27
|
+
* amount: 100000000n,
|
|
28
|
+
* to: '0x...',
|
|
29
|
+
* token: '0x...',
|
|
30
|
+
* })
|
|
31
|
+
* ```
|
|
32
|
+
*
|
|
33
|
+
* @param client - Client.
|
|
34
|
+
* @param parameters - Parameters.
|
|
35
|
+
* @returns The transaction receipt and event data.
|
|
36
|
+
*/
|
|
37
|
+
export async function transferSync(client, parameters) {
|
|
38
|
+
const { amount, token, throwOnReceiptRevert = true } = parameters;
|
|
39
|
+
const { decimals } = resolveToken(client, { token });
|
|
40
|
+
const resolved = resolveAmountDecimals(amount, decimals);
|
|
41
|
+
const receipt = await transfer.inner(writeContractSync, client, {
|
|
42
|
+
...parameters,
|
|
43
|
+
throwOnReceiptRevert,
|
|
44
|
+
});
|
|
45
|
+
const { args } = transfer.extractEvent(receipt.logs);
|
|
46
|
+
return {
|
|
47
|
+
...args,
|
|
48
|
+
...(resolved === undefined
|
|
49
|
+
? {}
|
|
50
|
+
: { decimals: resolved, formatted: formatUnits(args.value, resolved) }),
|
|
51
|
+
receipt,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=transferSync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transferSync.js","sourceRoot":"","sources":["../../../actions/token/transferSync.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAClE,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAKhC,MAAuE,EACvE,UAA2D;IAE3D,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,GAAG,IAAI,EAAE,GAAG,UAAU,CAAA;IACjE,MAAM,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;IACpD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACxD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,iBAAiB,EAAE,MAAM,EAAE;QAC9D,GAAG,UAAU;QACb,oBAAoB;KACZ,CAAC,CAAA;IACX,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACpD,OAAO;QACL,GAAG,IAAI;QACP,GAAG,CAAC,QAAQ,KAAK,SAAS;YACxB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;QACzE,OAAO;KACC,CAAA;AACZ,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { defineChain } from '../../utils/chain/defineChain.js';
|
|
2
|
+
import { chainConfig } from '../../zksync/chainConfig.js';
|
|
3
|
+
export const battlechain = /*#__PURE__*/ defineChain({
|
|
4
|
+
...chainConfig,
|
|
5
|
+
id: 626,
|
|
6
|
+
name: 'BattleChain Mainnet',
|
|
7
|
+
network: 'battlechain',
|
|
8
|
+
nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },
|
|
9
|
+
rpcUrls: {
|
|
10
|
+
default: {
|
|
11
|
+
http: ['https://mainnet.battlechain.com'],
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
blockExplorers: {
|
|
15
|
+
default: {
|
|
16
|
+
name: 'BattleChain Explorer',
|
|
17
|
+
url: 'https://explorer.battlechain.com',
|
|
18
|
+
apiUrl: 'https://block-explorer-api.battlechain.com/api',
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
contracts: {
|
|
22
|
+
multicall3: {
|
|
23
|
+
address: '0xcA11bde05977b3631167028862bE2a173976CA11',
|
|
24
|
+
blockCreated: 40,
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
//# sourceMappingURL=battlechain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"battlechain.js","sourceRoot":"","sources":["../../../chains/definitions/battlechain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAEzD,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC,WAAW,CAAC;IACnD,GAAG,WAAW;IACd,EAAE,EAAE,GAAG;IACP,IAAI,EAAE,qBAAqB;IAC3B,OAAO,EAAE,aAAa;IACtB,cAAc,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC9D,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,CAAC,iCAAiC,CAAC;SAC1C;KACF;IACD,cAAc,EAAE;QACd,OAAO,EAAE;YACP,IAAI,EAAE,sBAAsB;YAC5B,GAAG,EAAE,kCAAkC;YACvC,MAAM,EAAE,gDAAgD;SACzD;KACF;IACD,SAAS,EAAE;QACT,UAAU,EAAE;YACV,OAAO,EAAE,4CAA4C;YACrD,YAAY,EAAE,EAAE;SACjB;KACF;CACF,CAAC,CAAA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { defineChain } from '../../utils/chain/defineChain.js';
|
|
2
|
+
export const marooTestnet = /*#__PURE__*/ defineChain({
|
|
3
|
+
id: 450_815,
|
|
4
|
+
name: 'Maroo Testnet',
|
|
5
|
+
nativeCurrency: { name: 'Testnet OKRW', symbol: 'tOKRW', decimals: 18 },
|
|
6
|
+
rpcUrls: {
|
|
7
|
+
default: {
|
|
8
|
+
http: ['https://rpc-testnet.maroo.io'],
|
|
9
|
+
webSocket: ['wss://ws-testnet.maroo.io'],
|
|
10
|
+
},
|
|
11
|
+
},
|
|
12
|
+
blockExplorers: {
|
|
13
|
+
default: {
|
|
14
|
+
name: 'Blockscout',
|
|
15
|
+
url: 'https://explorer-testnet.maroo.io',
|
|
16
|
+
apiUrl: 'https://explorer-testnet.maroo.io/blockscout/api',
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
contracts: {
|
|
20
|
+
multicall3: {
|
|
21
|
+
address: '0xcA11bde05977b3631167028862bE2a173976CA11',
|
|
22
|
+
blockCreated: 0,
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
testnet: true,
|
|
26
|
+
});
|
|
27
|
+
//# sourceMappingURL=marooTestnet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marooTestnet.js","sourceRoot":"","sources":["../../../chains/definitions/marooTestnet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AAE9D,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC,WAAW,CAAC;IACpD,EAAE,EAAE,OAAO;IACX,IAAI,EAAE,eAAe;IACrB,cAAc,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;IACvE,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,CAAC,8BAA8B,CAAC;YACtC,SAAS,EAAE,CAAC,2BAA2B,CAAC;SACzC;KACF;IACD,cAAc,EAAE;QACd,OAAO,EAAE;YACP,IAAI,EAAE,YAAY;YAClB,GAAG,EAAE,mCAAmC;YACxC,MAAM,EAAE,kDAAkD;SAC3D;KACF;IACD,SAAS,EAAE;QACT,UAAU,EAAE;YACV,OAAO,EAAE,4CAA4C;YACrD,YAAY,EAAE,CAAC;SAChB;KACF;IACD,OAAO,EAAE,IAAI;CACd,CAAC,CAAA"}
|
package/_esm/chains/index.js
CHANGED
|
@@ -61,6 +61,7 @@ export { base, basePreconf } from './definitions/base.js';
|
|
|
61
61
|
export { basecampTestnet } from './definitions/basecampTestnet.js';
|
|
62
62
|
export { baseGoerli } from './definitions/baseGoerli.js';
|
|
63
63
|
export { baseSepolia, baseSepoliaPreconf } from './definitions/baseSepolia.js';
|
|
64
|
+
export { battlechain } from './definitions/battlechain.js';
|
|
64
65
|
export { battlechainTestnet } from './definitions/battlechainTestnet.js';
|
|
65
66
|
export { beam } from './definitions/beam.js';
|
|
66
67
|
export { beamTestnet } from './definitions/beamTestnet.js';
|
|
@@ -388,6 +389,7 @@ export { mantleTestnet } from './definitions/mantleTestnet.js';
|
|
|
388
389
|
export { mantraDuKongEVMTestnet } from './definitions/mantraDuKongEVMTestnet.js';
|
|
389
390
|
export { mantraEVM } from './definitions/mantraEVM.js';
|
|
390
391
|
export { mapProtocol } from './definitions/mapProtocol.js';
|
|
392
|
+
export { marooTestnet } from './definitions/marooTestnet.js';
|
|
391
393
|
export { matchain } from './definitions/matchain.js';
|
|
392
394
|
export { matchainTestnet } from './definitions/matchainTestnet.js';
|
|
393
395
|
export { mchVerse } from './definitions/mchVerse.js';
|