viem 2.5.0 → 2.6.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 +28 -0
- package/_cjs/accounts/utils/sign.js.map +1 -1
- package/_cjs/chains/definitions/berachainTestnet.js +24 -0
- package/_cjs/chains/definitions/berachainTestnet.js.map +1 -0
- package/_cjs/chains/definitions/holesky.js +8 -0
- package/_cjs/chains/definitions/holesky.js.map +1 -1
- package/_cjs/chains/definitions/iotex.js +6 -0
- package/_cjs/chains/definitions/iotex.js.map +1 -1
- package/_cjs/chains/definitions/iotexTestnet.js +1 -0
- package/_cjs/chains/definitions/iotexTestnet.js.map +1 -1
- package/_cjs/chains/definitions/kcc.js +33 -0
- package/_cjs/chains/definitions/kcc.js.map +1 -0
- package/_cjs/chains/definitions/oortmainnetDev.js +27 -0
- package/_cjs/chains/definitions/oortmainnetDev.js.map +1 -0
- package/_cjs/chains/definitions/zkSync.js +3 -2
- package/_cjs/chains/definitions/zkSync.js.map +1 -1
- package/_cjs/chains/index.js +10 -4
- package/_cjs/chains/index.js.map +1 -1
- package/_cjs/chains/zksync/actions/sendEip712Transaction.js +52 -0
- package/_cjs/chains/zksync/actions/sendEip712Transaction.js.map +1 -0
- package/_cjs/chains/zksync/actions/sendTransaction.js +13 -0
- package/_cjs/chains/zksync/actions/sendTransaction.js.map +1 -0
- package/_cjs/chains/zksync/actions/signEip712Transaction.js +52 -0
- package/_cjs/chains/zksync/actions/signEip712Transaction.js.map +1 -0
- package/_cjs/chains/zksync/actions/signTransaction.js +13 -0
- package/_cjs/chains/zksync/actions/signTransaction.js.map +1 -0
- package/_cjs/chains/zksync/chainConfig.js +4 -0
- package/_cjs/chains/zksync/chainConfig.js.map +1 -1
- package/_cjs/chains/zksync/chains.js +10 -0
- package/_cjs/chains/zksync/chains.js.map +1 -0
- package/_cjs/chains/zksync/decorators/eip712.js +17 -0
- package/_cjs/chains/zksync/decorators/eip712.js.map +1 -0
- package/_cjs/chains/zksync/errors/transaction.js +23 -0
- package/_cjs/chains/zksync/errors/transaction.js.map +1 -0
- package/_cjs/chains/zksync/formatters.js +2 -2
- package/_cjs/chains/zksync/formatters.js.map +1 -1
- package/_cjs/chains/zksync/index.js +15 -1
- package/_cjs/chains/zksync/index.js.map +1 -1
- package/_cjs/chains/zksync/serializers.js +6 -35
- package/_cjs/chains/zksync/serializers.js.map +1 -1
- package/_cjs/chains/zksync/{types.js → types/block.js} +1 -1
- package/_cjs/chains/zksync/types/block.js.map +1 -0
- package/_cjs/chains/zksync/types/chain.js +3 -0
- package/_cjs/chains/zksync/types/chain.js.map +1 -0
- package/_cjs/chains/zksync/types/eip712.js +3 -0
- package/_cjs/chains/zksync/types/eip712.js.map +1 -0
- package/_cjs/chains/zksync/types/fee.js +3 -0
- package/_cjs/chains/zksync/types/fee.js.map +1 -0
- package/_cjs/chains/zksync/types/log.js +3 -0
- package/_cjs/chains/zksync/types/log.js.map +1 -0
- package/_cjs/chains/zksync/types/transaction.js +3 -0
- package/_cjs/chains/zksync/types/transaction.js.map +1 -0
- package/_cjs/chains/zksync/utils/assertEip712Request.js +13 -0
- package/_cjs/chains/zksync/utils/assertEip712Request.js.map +1 -0
- package/_cjs/chains/zksync/utils/assertEip712Transaction.js +30 -0
- package/_cjs/chains/zksync/utils/assertEip712Transaction.js.map +1 -0
- package/_cjs/chains/zksync/utils/getEip712Domain.js +54 -0
- package/_cjs/chains/zksync/utils/getEip712Domain.js.map +1 -0
- package/_cjs/chains/zksync/utils/isEip712Transaction.js +17 -0
- package/_cjs/chains/zksync/utils/isEip712Transaction.js.map +1 -0
- package/_cjs/errors/chain.js +3 -1
- package/_cjs/errors/chain.js.map +1 -1
- package/_cjs/errors/version.js +1 -1
- package/_esm/accounts/utils/sign.js +1 -0
- package/_esm/accounts/utils/sign.js.map +1 -1
- package/_esm/chains/definitions/berachainTestnet.js +21 -0
- package/_esm/chains/definitions/berachainTestnet.js.map +1 -0
- package/_esm/chains/definitions/holesky.js +8 -0
- package/_esm/chains/definitions/holesky.js.map +1 -1
- package/_esm/chains/definitions/iotex.js +6 -0
- package/_esm/chains/definitions/iotex.js.map +1 -1
- package/_esm/chains/definitions/iotexTestnet.js +1 -0
- package/_esm/chains/definitions/iotexTestnet.js.map +1 -1
- package/_esm/chains/definitions/kcc.js +30 -0
- package/_esm/chains/definitions/kcc.js.map +1 -0
- package/_esm/chains/definitions/oortmainnetDev.js +24 -0
- package/_esm/chains/definitions/oortmainnetDev.js.map +1 -0
- package/_esm/chains/definitions/zkSync.js +3 -2
- package/_esm/chains/definitions/zkSync.js.map +1 -1
- package/_esm/chains/index.js +3 -0
- package/_esm/chains/index.js.map +1 -1
- package/_esm/chains/zksync/actions/sendEip712Transaction.js +91 -0
- package/_esm/chains/zksync/actions/sendEip712Transaction.js.map +1 -0
- package/_esm/chains/zksync/actions/sendTransaction.js +54 -0
- package/_esm/chains/zksync/actions/sendTransaction.js.map +1 -0
- package/_esm/chains/zksync/actions/signEip712Transaction.js +86 -0
- package/_esm/chains/zksync/actions/signEip712Transaction.js.map +1 -0
- package/_esm/chains/zksync/actions/signTransaction.js +49 -0
- package/_esm/chains/zksync/actions/signTransaction.js.map +1 -0
- package/_esm/chains/zksync/chainConfig.js +4 -0
- package/_esm/chains/zksync/chainConfig.js.map +1 -1
- package/_esm/chains/zksync/chains.js +4 -0
- package/_esm/chains/zksync/chains.js.map +1 -0
- package/_esm/chains/zksync/decorators/eip712.js +13 -0
- package/_esm/chains/zksync/decorators/eip712.js.map +1 -0
- package/_esm/chains/zksync/errors/transaction.js +19 -0
- package/_esm/chains/zksync/errors/transaction.js.map +1 -0
- package/_esm/chains/zksync/formatters.js +2 -2
- package/_esm/chains/zksync/formatters.js.map +1 -1
- package/_esm/chains/zksync/index.js +6 -0
- package/_esm/chains/zksync/index.js.map +1 -1
- package/_esm/chains/zksync/serializers.js +5 -35
- package/_esm/chains/zksync/serializers.js.map +1 -1
- package/_esm/chains/zksync/types/block.js +2 -0
- package/_esm/chains/zksync/types/block.js.map +1 -0
- package/_esm/chains/zksync/types/chain.js +2 -0
- package/_esm/chains/zksync/types/chain.js.map +1 -0
- package/_esm/chains/zksync/types/eip712.js +2 -0
- package/_esm/chains/zksync/types/eip712.js.map +1 -0
- package/_esm/chains/zksync/types/fee.js +2 -0
- package/_esm/chains/zksync/types/fee.js.map +1 -0
- package/_esm/chains/zksync/types/log.js +2 -0
- package/_esm/chains/zksync/types/log.js.map +1 -0
- package/_esm/chains/zksync/types/transaction.js +2 -0
- package/_esm/chains/zksync/types/transaction.js.map +1 -0
- package/_esm/chains/zksync/utils/assertEip712Request.js +9 -0
- package/_esm/chains/zksync/utils/assertEip712Request.js.map +1 -0
- package/_esm/chains/zksync/utils/assertEip712Transaction.js +26 -0
- package/_esm/chains/zksync/utils/assertEip712Transaction.js.map +1 -0
- package/_esm/chains/zksync/utils/getEip712Domain.js +52 -0
- package/_esm/chains/zksync/utils/getEip712Domain.js.map +1 -0
- package/_esm/chains/zksync/utils/isEip712Transaction.js +13 -0
- package/_esm/chains/zksync/utils/isEip712Transaction.js.map +1 -0
- package/_esm/errors/chain.js +3 -1
- package/_esm/errors/chain.js.map +1 -1
- package/_esm/errors/version.js +1 -1
- package/_types/accounts/utils/sign.d.ts.map +1 -1
- package/_types/chains/definitions/acala.d.ts +1 -0
- package/_types/chains/definitions/acala.d.ts.map +1 -1
- package/_types/chains/definitions/arbitrum.d.ts +1 -0
- package/_types/chains/definitions/arbitrum.d.ts.map +1 -1
- package/_types/chains/definitions/arbitrumGoerli.d.ts +1 -0
- package/_types/chains/definitions/arbitrumGoerli.d.ts.map +1 -1
- package/_types/chains/definitions/arbitrumNova.d.ts +1 -0
- package/_types/chains/definitions/arbitrumNova.d.ts.map +1 -1
- package/_types/chains/definitions/arbitrumSepolia.d.ts +1 -0
- package/_types/chains/definitions/arbitrumSepolia.d.ts.map +1 -1
- package/_types/chains/definitions/astar.d.ts +1 -0
- package/_types/chains/definitions/astar.d.ts.map +1 -1
- package/_types/chains/definitions/astarZkatana.d.ts +1 -0
- package/_types/chains/definitions/astarZkatana.d.ts.map +1 -1
- package/_types/chains/definitions/aurora.d.ts +1 -0
- package/_types/chains/definitions/aurora.d.ts.map +1 -1
- package/_types/chains/definitions/auroraTestnet.d.ts +1 -0
- package/_types/chains/definitions/auroraTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/avalanche.d.ts +1 -0
- package/_types/chains/definitions/avalanche.d.ts.map +1 -1
- package/_types/chains/definitions/avalancheFuji.d.ts +1 -0
- package/_types/chains/definitions/avalancheFuji.d.ts.map +1 -1
- package/_types/chains/definitions/bahamut.d.ts +1 -0
- package/_types/chains/definitions/bahamut.d.ts.map +1 -1
- package/_types/chains/definitions/base.d.ts +2 -0
- package/_types/chains/definitions/base.d.ts.map +1 -1
- package/_types/chains/definitions/baseGoerli.d.ts +2 -0
- package/_types/chains/definitions/baseGoerli.d.ts.map +1 -1
- package/_types/chains/definitions/baseSepolia.d.ts +2 -0
- package/_types/chains/definitions/baseSepolia.d.ts.map +1 -1
- package/_types/chains/definitions/bearNetworkChainMainnet.d.ts +1 -0
- package/_types/chains/definitions/bearNetworkChainMainnet.d.ts.map +1 -1
- package/_types/chains/definitions/bearNetworkChainTestnet.d.ts +1 -0
- package/_types/chains/definitions/bearNetworkChainTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/berachainTestnet.d.ts +35 -0
- package/_types/chains/definitions/berachainTestnet.d.ts.map +1 -0
- package/_types/chains/definitions/bitTorrent.d.ts +1 -0
- package/_types/chains/definitions/bitTorrent.d.ts.map +1 -1
- package/_types/chains/definitions/bitTorrentTestnet.d.ts +1 -0
- package/_types/chains/definitions/bitTorrentTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/blastSepolia.d.ts +1 -0
- package/_types/chains/definitions/blastSepolia.d.ts.map +1 -1
- package/_types/chains/definitions/boba.d.ts +1 -0
- package/_types/chains/definitions/boba.d.ts.map +1 -1
- package/_types/chains/definitions/bronos.d.ts +1 -0
- package/_types/chains/definitions/bronos.d.ts.map +1 -1
- package/_types/chains/definitions/bronosTestnet.d.ts +1 -0
- package/_types/chains/definitions/bronosTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/bsc.d.ts +1 -0
- package/_types/chains/definitions/bsc.d.ts.map +1 -1
- package/_types/chains/definitions/bscTestnet.d.ts +1 -0
- package/_types/chains/definitions/bscTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/bxn.d.ts +1 -0
- package/_types/chains/definitions/bxn.d.ts.map +1 -1
- package/_types/chains/definitions/bxnTestnet.d.ts +1 -0
- package/_types/chains/definitions/bxnTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/canto.d.ts +1 -0
- package/_types/chains/definitions/canto.d.ts.map +1 -1
- package/_types/chains/definitions/celo.d.ts +1 -0
- package/_types/chains/definitions/celo.d.ts.map +1 -1
- package/_types/chains/definitions/celoAlfajores.d.ts +1 -0
- package/_types/chains/definitions/celoAlfajores.d.ts.map +1 -1
- package/_types/chains/definitions/chiliz.d.ts +1 -0
- package/_types/chains/definitions/chiliz.d.ts.map +1 -1
- package/_types/chains/definitions/classic.d.ts +1 -0
- package/_types/chains/definitions/classic.d.ts.map +1 -1
- package/_types/chains/definitions/confluxESpace.d.ts +1 -0
- package/_types/chains/definitions/confluxESpace.d.ts.map +1 -1
- package/_types/chains/definitions/confluxESpaceTestnet.d.ts +1 -0
- package/_types/chains/definitions/confluxESpaceTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/coreDao.d.ts +1 -0
- package/_types/chains/definitions/coreDao.d.ts.map +1 -1
- package/_types/chains/definitions/cronos.d.ts +1 -0
- package/_types/chains/definitions/cronos.d.ts.map +1 -1
- package/_types/chains/definitions/cronosTestnet.d.ts +1 -0
- package/_types/chains/definitions/cronosTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/crossbell.d.ts +1 -0
- package/_types/chains/definitions/crossbell.d.ts.map +1 -1
- package/_types/chains/definitions/defichainEvm.d.ts +1 -0
- package/_types/chains/definitions/defichainEvm.d.ts.map +1 -1
- package/_types/chains/definitions/defichainEvmTestnet.d.ts +1 -0
- package/_types/chains/definitions/defichainEvmTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/dfk.d.ts +1 -0
- package/_types/chains/definitions/dfk.d.ts.map +1 -1
- package/_types/chains/definitions/dogechain.d.ts +1 -0
- package/_types/chains/definitions/dogechain.d.ts.map +1 -1
- package/_types/chains/definitions/edgeware.d.ts +1 -0
- package/_types/chains/definitions/edgeware.d.ts.map +1 -1
- package/_types/chains/definitions/edgewareTestnet.d.ts +1 -0
- package/_types/chains/definitions/edgewareTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/ekta.d.ts +1 -0
- package/_types/chains/definitions/ekta.d.ts.map +1 -1
- package/_types/chains/definitions/ektaTestnet.d.ts +1 -0
- package/_types/chains/definitions/ektaTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/eon.d.ts +1 -0
- package/_types/chains/definitions/eon.d.ts.map +1 -1
- package/_types/chains/definitions/eos.d.ts +1 -0
- package/_types/chains/definitions/eos.d.ts.map +1 -1
- package/_types/chains/definitions/eosTestnet.d.ts +1 -0
- package/_types/chains/definitions/eosTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/evmos.d.ts +1 -0
- package/_types/chains/definitions/evmos.d.ts.map +1 -1
- package/_types/chains/definitions/evmosTestnet.d.ts +1 -0
- package/_types/chains/definitions/evmosTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/fantom.d.ts +1 -0
- package/_types/chains/definitions/fantom.d.ts.map +1 -1
- package/_types/chains/definitions/fantomSonicTestnet.d.ts +1 -0
- package/_types/chains/definitions/fantomSonicTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/fantomTestnet.d.ts +1 -0
- package/_types/chains/definitions/fantomTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/fibo.d.ts +1 -0
- package/_types/chains/definitions/fibo.d.ts.map +1 -1
- package/_types/chains/definitions/filecoin.d.ts +1 -0
- package/_types/chains/definitions/filecoin.d.ts.map +1 -1
- package/_types/chains/definitions/filecoinCalibration.d.ts +1 -0
- package/_types/chains/definitions/filecoinCalibration.d.ts.map +1 -1
- package/_types/chains/definitions/filecoinHyperspace.d.ts +1 -0
- package/_types/chains/definitions/filecoinHyperspace.d.ts.map +1 -1
- package/_types/chains/definitions/flare.d.ts +1 -0
- package/_types/chains/definitions/flare.d.ts.map +1 -1
- package/_types/chains/definitions/flareTestnet.d.ts +1 -0
- package/_types/chains/definitions/flareTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/foundry.d.ts +1 -0
- package/_types/chains/definitions/foundry.d.ts.map +1 -1
- package/_types/chains/definitions/fuse.d.ts +1 -0
- package/_types/chains/definitions/fuse.d.ts.map +1 -1
- package/_types/chains/definitions/fuseSparknet.d.ts +1 -0
- package/_types/chains/definitions/fuseSparknet.d.ts.map +1 -1
- package/_types/chains/definitions/gnosis.d.ts +1 -0
- package/_types/chains/definitions/gnosis.d.ts.map +1 -1
- package/_types/chains/definitions/gnosisChiado.d.ts +1 -0
- package/_types/chains/definitions/gnosisChiado.d.ts.map +1 -1
- package/_types/chains/definitions/gobi.d.ts +1 -0
- package/_types/chains/definitions/gobi.d.ts.map +1 -1
- package/_types/chains/definitions/goerli.d.ts +1 -0
- package/_types/chains/definitions/goerli.d.ts.map +1 -1
- package/_types/chains/definitions/haqqMainnet.d.ts +1 -0
- package/_types/chains/definitions/haqqMainnet.d.ts.map +1 -1
- package/_types/chains/definitions/haqqTestedge2.d.ts +1 -0
- package/_types/chains/definitions/haqqTestedge2.d.ts.map +1 -1
- package/_types/chains/definitions/hardhat.d.ts +1 -0
- package/_types/chains/definitions/hardhat.d.ts.map +1 -1
- package/_types/chains/definitions/harmonyOne.d.ts +1 -0
- package/_types/chains/definitions/harmonyOne.d.ts.map +1 -1
- package/_types/chains/definitions/holesky.d.ts +9 -0
- package/_types/chains/definitions/holesky.d.ts.map +1 -1
- package/_types/chains/definitions/iotex.d.ts +7 -8
- package/_types/chains/definitions/iotex.d.ts.map +1 -1
- package/_types/chains/definitions/iotexTestnet.d.ts +2 -1
- package/_types/chains/definitions/iotexTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/jbc.d.ts +1 -0
- package/_types/chains/definitions/jbc.d.ts.map +1 -1
- package/_types/chains/definitions/karura.d.ts +1 -0
- package/_types/chains/definitions/karura.d.ts.map +1 -1
- package/_types/chains/definitions/kava.d.ts +1 -0
- package/_types/chains/definitions/kava.d.ts.map +1 -1
- package/_types/chains/definitions/kavaTestnet.d.ts +1 -0
- package/_types/chains/definitions/kavaTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/kcc.d.ts +37 -0
- package/_types/chains/definitions/kcc.d.ts.map +1 -0
- package/_types/chains/definitions/klaytn.d.ts +1 -0
- package/_types/chains/definitions/klaytn.d.ts.map +1 -1
- package/_types/chains/definitions/klaytnBaobab.d.ts +1 -0
- package/_types/chains/definitions/klaytnBaobab.d.ts.map +1 -1
- package/_types/chains/definitions/kroma.d.ts +1 -0
- package/_types/chains/definitions/kroma.d.ts.map +1 -1
- package/_types/chains/definitions/kromaSepolia.d.ts +1 -0
- package/_types/chains/definitions/kromaSepolia.d.ts.map +1 -1
- package/_types/chains/definitions/lightlinkPegasus.d.ts +1 -0
- package/_types/chains/definitions/lightlinkPegasus.d.ts.map +1 -1
- package/_types/chains/definitions/lightlinkPhoenix.d.ts +1 -0
- package/_types/chains/definitions/lightlinkPhoenix.d.ts.map +1 -1
- package/_types/chains/definitions/linea.d.ts +1 -0
- package/_types/chains/definitions/linea.d.ts.map +1 -1
- package/_types/chains/definitions/lineaTestnet.d.ts +1 -0
- package/_types/chains/definitions/lineaTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/localhost.d.ts +1 -0
- package/_types/chains/definitions/localhost.d.ts.map +1 -1
- package/_types/chains/definitions/lukso.d.ts +1 -0
- package/_types/chains/definitions/lukso.d.ts.map +1 -1
- package/_types/chains/definitions/mainnet.d.ts +1 -0
- package/_types/chains/definitions/mainnet.d.ts.map +1 -1
- package/_types/chains/definitions/mandala.d.ts +1 -0
- package/_types/chains/definitions/mandala.d.ts.map +1 -1
- package/_types/chains/definitions/manta.d.ts +1 -0
- package/_types/chains/definitions/manta.d.ts.map +1 -1
- package/_types/chains/definitions/mantaTestnet.d.ts +1 -0
- package/_types/chains/definitions/mantaTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/mantle.d.ts +1 -0
- package/_types/chains/definitions/mantle.d.ts.map +1 -1
- package/_types/chains/definitions/mantleTestnet.d.ts +1 -0
- package/_types/chains/definitions/mantleTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/metachain.d.ts +1 -0
- package/_types/chains/definitions/metachain.d.ts.map +1 -1
- package/_types/chains/definitions/meter.d.ts +1 -0
- package/_types/chains/definitions/meter.d.ts.map +1 -1
- package/_types/chains/definitions/meterTestnet.d.ts +1 -0
- package/_types/chains/definitions/meterTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/metis.d.ts +1 -0
- package/_types/chains/definitions/metis.d.ts.map +1 -1
- package/_types/chains/definitions/metisGoerli.d.ts +1 -0
- package/_types/chains/definitions/metisGoerli.d.ts.map +1 -1
- package/_types/chains/definitions/mev.d.ts +1 -0
- package/_types/chains/definitions/mev.d.ts.map +1 -1
- package/_types/chains/definitions/mevTestnet.d.ts +1 -0
- package/_types/chains/definitions/mevTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/modeTestnet.d.ts +1 -0
- package/_types/chains/definitions/modeTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/moonbaseAlpha.d.ts +1 -0
- package/_types/chains/definitions/moonbaseAlpha.d.ts.map +1 -1
- package/_types/chains/definitions/moonbeam.d.ts +1 -0
- package/_types/chains/definitions/moonbeam.d.ts.map +1 -1
- package/_types/chains/definitions/moonbeamDev.d.ts +1 -0
- package/_types/chains/definitions/moonbeamDev.d.ts.map +1 -1
- package/_types/chains/definitions/moonriver.d.ts +1 -0
- package/_types/chains/definitions/moonriver.d.ts.map +1 -1
- package/_types/chains/definitions/neonDevnet.d.ts +1 -0
- package/_types/chains/definitions/neonDevnet.d.ts.map +1 -1
- package/_types/chains/definitions/neonMainnet.d.ts +1 -0
- package/_types/chains/definitions/neonMainnet.d.ts.map +1 -1
- package/_types/chains/definitions/nexi.d.ts +1 -0
- package/_types/chains/definitions/nexi.d.ts.map +1 -1
- package/_types/chains/definitions/nexilix.d.ts +1 -0
- package/_types/chains/definitions/nexilix.d.ts.map +1 -1
- package/_types/chains/definitions/oasisTestnet.d.ts +1 -0
- package/_types/chains/definitions/oasisTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/oasys.d.ts +1 -0
- package/_types/chains/definitions/oasys.d.ts.map +1 -1
- package/_types/chains/definitions/okc.d.ts +1 -0
- package/_types/chains/definitions/okc.d.ts.map +1 -1
- package/_types/chains/definitions/oortmainnetDev.d.ts +39 -0
- package/_types/chains/definitions/oortmainnetDev.d.ts.map +1 -0
- package/_types/chains/definitions/opBNB.d.ts +1 -0
- package/_types/chains/definitions/opBNB.d.ts.map +1 -1
- package/_types/chains/definitions/opBNBTestnet.d.ts +1 -0
- package/_types/chains/definitions/opBNBTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/optimism.d.ts +2 -0
- package/_types/chains/definitions/optimism.d.ts.map +1 -1
- package/_types/chains/definitions/optimismGoerli.d.ts +2 -0
- package/_types/chains/definitions/optimismGoerli.d.ts.map +1 -1
- package/_types/chains/definitions/optimismSepolia.d.ts +2 -0
- package/_types/chains/definitions/optimismSepolia.d.ts.map +1 -1
- package/_types/chains/definitions/palm.d.ts +1 -0
- package/_types/chains/definitions/palm.d.ts.map +1 -1
- package/_types/chains/definitions/palmTestnet.d.ts +1 -0
- package/_types/chains/definitions/palmTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/pgn.d.ts +2 -0
- package/_types/chains/definitions/pgn.d.ts.map +1 -1
- package/_types/chains/definitions/pgnTestnet.d.ts +2 -0
- package/_types/chains/definitions/pgnTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/plinga.d.ts +1 -0
- package/_types/chains/definitions/plinga.d.ts.map +1 -1
- package/_types/chains/definitions/polygon.d.ts +1 -0
- package/_types/chains/definitions/polygon.d.ts.map +1 -1
- package/_types/chains/definitions/polygonMumbai.d.ts +1 -0
- package/_types/chains/definitions/polygonMumbai.d.ts.map +1 -1
- package/_types/chains/definitions/polygonZkEvm.d.ts +1 -0
- package/_types/chains/definitions/polygonZkEvm.d.ts.map +1 -1
- package/_types/chains/definitions/polygonZkEvmTestnet.d.ts +1 -0
- package/_types/chains/definitions/polygonZkEvmTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/pulsechain.d.ts +1 -0
- package/_types/chains/definitions/pulsechain.d.ts.map +1 -1
- package/_types/chains/definitions/pulsechainV4.d.ts +1 -0
- package/_types/chains/definitions/pulsechainV4.d.ts.map +1 -1
- package/_types/chains/definitions/qMainnet.d.ts +1 -0
- package/_types/chains/definitions/qMainnet.d.ts.map +1 -1
- package/_types/chains/definitions/qTestnet.d.ts +1 -0
- package/_types/chains/definitions/qTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/rollux.d.ts +1 -0
- package/_types/chains/definitions/rollux.d.ts.map +1 -1
- package/_types/chains/definitions/rolluxTestnet.d.ts +1 -0
- package/_types/chains/definitions/rolluxTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/ronin.d.ts +1 -0
- package/_types/chains/definitions/ronin.d.ts.map +1 -1
- package/_types/chains/definitions/rootstock.d.ts +1 -0
- package/_types/chains/definitions/rootstock.d.ts.map +1 -1
- package/_types/chains/definitions/saigon.d.ts +1 -0
- package/_types/chains/definitions/saigon.d.ts.map +1 -1
- package/_types/chains/definitions/sapphire.d.ts +1 -0
- package/_types/chains/definitions/sapphire.d.ts.map +1 -1
- package/_types/chains/definitions/sapphireTestnet.d.ts +1 -0
- package/_types/chains/definitions/sapphireTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/scroll.d.ts +1 -0
- package/_types/chains/definitions/scroll.d.ts.map +1 -1
- package/_types/chains/definitions/scrollSepolia.d.ts +1 -0
- package/_types/chains/definitions/scrollSepolia.d.ts.map +1 -1
- package/_types/chains/definitions/scrollTestnet.d.ts +1 -0
- package/_types/chains/definitions/scrollTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/sepolia.d.ts +1 -0
- package/_types/chains/definitions/sepolia.d.ts.map +1 -1
- package/_types/chains/definitions/shardeumSphinx.d.ts +1 -0
- package/_types/chains/definitions/shardeumSphinx.d.ts.map +1 -1
- package/_types/chains/definitions/shibarium.d.ts +1 -0
- package/_types/chains/definitions/shibarium.d.ts.map +1 -1
- package/_types/chains/definitions/shimmer.d.ts +1 -0
- package/_types/chains/definitions/shimmer.d.ts.map +1 -1
- package/_types/chains/definitions/shimmerTestnet.d.ts +1 -0
- package/_types/chains/definitions/shimmerTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/skale/brawl.d.ts +1 -0
- package/_types/chains/definitions/skale/brawl.d.ts.map +1 -1
- package/_types/chains/definitions/skale/calypso.d.ts +1 -0
- package/_types/chains/definitions/skale/calypso.d.ts.map +1 -1
- package/_types/chains/definitions/skale/calypsoTestnet.d.ts +1 -0
- package/_types/chains/definitions/skale/calypsoTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/skale/chaosTestnet.d.ts +1 -0
- package/_types/chains/definitions/skale/chaosTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/skale/cryptoBlades.d.ts +1 -0
- package/_types/chains/definitions/skale/cryptoBlades.d.ts.map +1 -1
- package/_types/chains/definitions/skale/cryptoColosseum.d.ts +1 -0
- package/_types/chains/definitions/skale/cryptoColosseum.d.ts.map +1 -1
- package/_types/chains/definitions/skale/europa.d.ts +1 -0
- package/_types/chains/definitions/skale/europa.d.ts.map +1 -1
- package/_types/chains/definitions/skale/europaTestnet.d.ts +1 -0
- package/_types/chains/definitions/skale/europaTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/skale/exorde.d.ts +1 -0
- package/_types/chains/definitions/skale/exorde.d.ts.map +1 -1
- package/_types/chains/definitions/skale/humanProtocol.d.ts +1 -0
- package/_types/chains/definitions/skale/humanProtocol.d.ts.map +1 -1
- package/_types/chains/definitions/skale/nebula.d.ts +1 -0
- package/_types/chains/definitions/skale/nebula.d.ts.map +1 -1
- package/_types/chains/definitions/skale/nebulaTestnet.d.ts +1 -0
- package/_types/chains/definitions/skale/nebulaTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/skale/razor.d.ts +1 -0
- package/_types/chains/definitions/skale/razor.d.ts.map +1 -1
- package/_types/chains/definitions/skale/titan.d.ts +1 -0
- package/_types/chains/definitions/skale/titan.d.ts.map +1 -1
- package/_types/chains/definitions/skale/titanTestnet.d.ts +1 -0
- package/_types/chains/definitions/skale/titanTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/songbird.d.ts +1 -0
- package/_types/chains/definitions/songbird.d.ts.map +1 -1
- package/_types/chains/definitions/songbirdTestnet.d.ts +1 -0
- package/_types/chains/definitions/songbirdTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/spicy.d.ts +1 -0
- package/_types/chains/definitions/spicy.d.ts.map +1 -1
- package/_types/chains/definitions/syscoin.d.ts +1 -0
- package/_types/chains/definitions/syscoin.d.ts.map +1 -1
- package/_types/chains/definitions/syscoinTestnet.d.ts +1 -0
- package/_types/chains/definitions/syscoinTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/taikoJolnir.d.ts +1 -0
- package/_types/chains/definitions/taikoJolnir.d.ts.map +1 -1
- package/_types/chains/definitions/taikoKatla.d.ts +1 -0
- package/_types/chains/definitions/taikoKatla.d.ts.map +1 -1
- package/_types/chains/definitions/taikoTestnetSepolia.d.ts +1 -0
- package/_types/chains/definitions/taikoTestnetSepolia.d.ts.map +1 -1
- package/_types/chains/definitions/taraxa.d.ts +1 -0
- package/_types/chains/definitions/taraxa.d.ts.map +1 -1
- package/_types/chains/definitions/taraxaTestnet.d.ts +1 -0
- package/_types/chains/definitions/taraxaTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/telos.d.ts +1 -0
- package/_types/chains/definitions/telos.d.ts.map +1 -1
- package/_types/chains/definitions/telosTestnet.d.ts +1 -0
- package/_types/chains/definitions/telosTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/tenet.d.ts +1 -0
- package/_types/chains/definitions/tenet.d.ts.map +1 -1
- package/_types/chains/definitions/thunderTestnet.d.ts +1 -0
- package/_types/chains/definitions/thunderTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/vechain.d.ts +1 -0
- package/_types/chains/definitions/vechain.d.ts.map +1 -1
- package/_types/chains/definitions/wanchain.d.ts +1 -0
- package/_types/chains/definitions/wanchain.d.ts.map +1 -1
- package/_types/chains/definitions/wanchainTestnet.d.ts +1 -0
- package/_types/chains/definitions/wanchainTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/wemix.d.ts +1 -0
- package/_types/chains/definitions/wemix.d.ts.map +1 -1
- package/_types/chains/definitions/wemixTestnet.d.ts +1 -0
- package/_types/chains/definitions/wemixTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/xdc.d.ts +1 -0
- package/_types/chains/definitions/xdc.d.ts.map +1 -1
- package/_types/chains/definitions/xdcTestnet.d.ts +1 -0
- package/_types/chains/definitions/xdcTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/zetachainAthensTestnet.d.ts +1 -0
- package/_types/chains/definitions/zetachainAthensTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/zhejiang.d.ts +1 -0
- package/_types/chains/definitions/zhejiang.d.ts.map +1 -1
- package/_types/chains/definitions/zilliqa.d.ts +1 -0
- package/_types/chains/definitions/zilliqa.d.ts.map +1 -1
- package/_types/chains/definitions/zilliqaTestnet.d.ts +1 -0
- package/_types/chains/definitions/zilliqaTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/zkFair.d.ts +1 -0
- package/_types/chains/definitions/zkFair.d.ts.map +1 -1
- package/_types/chains/definitions/zkFairTestnet.d.ts +1 -0
- package/_types/chains/definitions/zkFairTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/zkSync.d.ts +23 -18
- package/_types/chains/definitions/zkSync.d.ts.map +1 -1
- package/_types/chains/definitions/zkSyncSepoliaTestnet.d.ts +20 -16
- package/_types/chains/definitions/zkSyncSepoliaTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/zkSyncTestnet.d.ts +20 -16
- package/_types/chains/definitions/zkSyncTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/zora.d.ts +2 -0
- package/_types/chains/definitions/zora.d.ts.map +1 -1
- package/_types/chains/definitions/zoraSepolia.d.ts +2 -0
- package/_types/chains/definitions/zoraSepolia.d.ts.map +1 -1
- package/_types/chains/definitions/zoraTestnet.d.ts +2 -0
- package/_types/chains/definitions/zoraTestnet.d.ts.map +1 -1
- package/_types/chains/index.d.ts +3 -0
- package/_types/chains/index.d.ts.map +1 -1
- package/_types/chains/opStack/chainConfig.d.ts +1 -0
- package/_types/chains/opStack/chainConfig.d.ts.map +1 -1
- package/_types/chains/opStack/formatters.d.ts +1 -0
- package/_types/chains/opStack/formatters.d.ts.map +1 -1
- package/_types/chains/zksync/actions/sendEip712Transaction.d.ts +50 -0
- package/_types/chains/zksync/actions/sendEip712Transaction.d.ts.map +1 -0
- package/_types/chains/zksync/actions/sendTransaction.d.ts +54 -0
- package/_types/chains/zksync/actions/sendTransaction.d.ts.map +1 -0
- package/_types/chains/zksync/actions/signEip712Transaction.d.ts +54 -0
- package/_types/chains/zksync/actions/signEip712Transaction.d.ts.map +1 -0
- package/_types/chains/zksync/actions/signTransaction.d.ts +56 -0
- package/_types/chains/zksync/actions/signTransaction.d.ts.map +1 -0
- package/_types/chains/zksync/chainConfig.d.ts +20 -16
- package/_types/chains/zksync/chainConfig.d.ts.map +1 -1
- package/_types/chains/zksync/chains.d.ts +4 -0
- package/_types/chains/zksync/chains.d.ts.map +1 -0
- package/_types/chains/zksync/decorators/eip712.d.ts +151 -0
- package/_types/chains/zksync/decorators/eip712.d.ts.map +1 -0
- package/_types/chains/zksync/errors/transaction.d.ts +9 -0
- package/_types/chains/zksync/errors/transaction.d.ts.map +1 -0
- package/_types/chains/zksync/formatters.d.ts +12 -9
- package/_types/chains/zksync/formatters.d.ts.map +1 -1
- package/_types/chains/zksync/index.d.ts +12 -1
- package/_types/chains/zksync/index.d.ts.map +1 -1
- package/_types/chains/zksync/serializers.d.ts +1 -2
- package/_types/chains/zksync/serializers.d.ts.map +1 -1
- package/_types/chains/zksync/types/block.d.ts +15 -0
- package/_types/chains/zksync/types/block.d.ts.map +1 -0
- package/_types/chains/zksync/types/chain.d.ts +9 -0
- package/_types/chains/zksync/types/chain.d.ts.map +1 -0
- package/_types/chains/zksync/types/eip712.d.ts +27 -0
- package/_types/chains/zksync/types/eip712.d.ts.map +1 -0
- package/_types/chains/zksync/types/fee.d.ts +6 -0
- package/_types/chains/zksync/types/fee.d.ts.map +1 -0
- package/_types/chains/zksync/types/log.d.ts +41 -0
- package/_types/chains/zksync/types/log.d.ts.map +1 -0
- package/_types/chains/zksync/{types.d.ts → types/transaction.d.ts} +35 -71
- package/_types/chains/zksync/types/transaction.d.ts.map +1 -0
- package/_types/chains/zksync/utils/assertEip712Request.d.ts +8 -0
- package/_types/chains/zksync/utils/assertEip712Request.d.ts.map +1 -0
- package/_types/chains/zksync/utils/assertEip712Transaction.d.ts +3 -0
- package/_types/chains/zksync/utils/assertEip712Transaction.d.ts.map +1 -0
- package/_types/chains/zksync/utils/getEip712Domain.d.ts +4 -0
- package/_types/chains/zksync/utils/getEip712Domain.d.ts.map +1 -0
- package/_types/chains/zksync/utils/isEip712Transaction.d.ts +3 -0
- package/_types/chains/zksync/utils/isEip712Transaction.d.ts.map +1 -0
- package/_types/errors/chain.d.ts +1 -1
- package/_types/errors/chain.d.ts.map +1 -1
- package/_types/errors/version.d.ts +1 -1
- package/_types/types/chain.d.ts +3 -1
- package/_types/types/chain.d.ts.map +1 -1
- package/_types/types/transaction.d.ts +2 -0
- package/_types/types/transaction.d.ts.map +1 -1
- package/accounts/utils/sign.ts +2 -0
- package/chains/definitions/berachainTestnet.ts +21 -0
- package/chains/definitions/holesky.ts +8 -0
- package/chains/definitions/iotex.ts +6 -0
- package/chains/definitions/iotexTestnet.ts +1 -0
- package/chains/definitions/kcc.ts +30 -0
- package/chains/definitions/oortmainnetDev.ts +24 -0
- package/chains/definitions/zkSync.ts +3 -2
- package/chains/index.ts +3 -0
- package/chains/zksync/actions/sendEip712Transaction.ts +129 -0
- package/chains/zksync/actions/sendTransaction.ts +78 -0
- package/chains/zksync/actions/signEip712Transaction.ts +150 -0
- package/chains/zksync/actions/signTransaction.ts +95 -0
- package/chains/zksync/chainConfig.ts +4 -0
- package/chains/zksync/chains.ts +3 -0
- package/chains/zksync/decorators/eip712.ts +186 -0
- package/chains/zksync/errors/transaction.ts +21 -0
- package/chains/zksync/formatters.ts +6 -5
- package/chains/zksync/index.ts +51 -4
- package/chains/zksync/serializers.ts +6 -50
- package/chains/zksync/types/block.ts +34 -0
- package/chains/zksync/types/chain.ts +28 -0
- package/chains/zksync/types/eip712.ts +31 -0
- package/chains/zksync/types/fee.ts +5 -0
- package/chains/zksync/types/log.ts +57 -0
- package/chains/zksync/{types.ts → types/transaction.ts} +50 -122
- package/chains/zksync/utils/assertEip712Request.ts +18 -0
- package/chains/zksync/utils/assertEip712Transaction.ts +35 -0
- package/chains/zksync/utils/getEip712Domain.ts +83 -0
- package/chains/zksync/utils/isEip712Transaction.ts +17 -0
- package/errors/chain.ts +6 -2
- package/errors/version.ts +1 -1
- package/package.json +1 -1
- package/types/chain.ts +5 -0
- package/types/transaction.ts +2 -0
- package/_cjs/chains/zksync/types.js.map +0 -1
- package/_esm/chains/zksync/types.js +0 -2
- package/_esm/chains/zksync/types.js.map +0 -1
- package/_types/chains/zksync/types.d.ts.map +0 -1
@@ -0,0 +1,91 @@
|
|
1
|
+
import { parseAccount } from '../../../accounts/utils/parseAccount.js';
|
2
|
+
import { getChainId } from '../../../actions/public/getChainId.js';
|
3
|
+
import { prepareTransactionRequest } from '../../../actions/wallet/prepareTransactionRequest.js';
|
4
|
+
import { sendRawTransaction } from '../../../actions/wallet/sendRawTransaction.js';
|
5
|
+
import { AccountNotFoundError } from '../../../errors/account.js';
|
6
|
+
import { BaseError } from '../../../errors/base.js';
|
7
|
+
import { assertCurrentChain } from '../../../utils/chain/assertCurrentChain.js';
|
8
|
+
import { getTransactionError, } from '../../../utils/errors/getTransactionError.js';
|
9
|
+
import { getAction } from '../../../utils/getAction.js';
|
10
|
+
import {} from '../types/chain.js';
|
11
|
+
import { assertEip712Request } from '../utils/assertEip712Request.js';
|
12
|
+
import { signTransaction } from './signTransaction.js';
|
13
|
+
/**
|
14
|
+
* Creates, signs, and sends a new EIP712 transaction to the network.
|
15
|
+
*
|
16
|
+
* @param client - Client to use
|
17
|
+
* @param parameters - {@link SendEip712TransactionParameters}
|
18
|
+
* @returns The [Transaction](https://viem.sh/docs/glossary/terms#transaction) hash. {@link SendTransactionReturnType}
|
19
|
+
*
|
20
|
+
* @example
|
21
|
+
* import { createWalletClient, custom } from 'viem'
|
22
|
+
* import { zkSync } from 'viem/chains'
|
23
|
+
* import { sendEip712Transaction } from 'viem/zksync'
|
24
|
+
*
|
25
|
+
* const client = createWalletClient({
|
26
|
+
* chain: zkSync,
|
27
|
+
* transport: custom(window.ethereum),
|
28
|
+
* })
|
29
|
+
* const hash = await sendEip712Transaction(client, {
|
30
|
+
* account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',
|
31
|
+
* to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
|
32
|
+
* value: 1000000000000000000n,
|
33
|
+
* })
|
34
|
+
*
|
35
|
+
* @example
|
36
|
+
* // Account Hoisting
|
37
|
+
* import { createWalletClient, http } from 'viem'
|
38
|
+
* import { privateKeyToAccount } from 'viem/accounts'
|
39
|
+
* import { zkSync } from 'viem/chains'
|
40
|
+
* import { sendEip712Transaction } from 'viem/zksync'
|
41
|
+
*
|
42
|
+
* const client = createWalletClient({
|
43
|
+
* account: privateKeyToAccount('0x…'),
|
44
|
+
* chain: zkSync,
|
45
|
+
* transport: http(),
|
46
|
+
* })
|
47
|
+
*
|
48
|
+
* const hash = await sendEip712Transaction(client, {
|
49
|
+
* to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
|
50
|
+
* value: 1000000000000000000n,
|
51
|
+
* })
|
52
|
+
*/
|
53
|
+
export async function sendEip712Transaction(client, args) {
|
54
|
+
const { chain = client.chain } = args;
|
55
|
+
if (!args.account)
|
56
|
+
throw new AccountNotFoundError({
|
57
|
+
docsPath: '/docs/actions/wallet/sendTransaction',
|
58
|
+
});
|
59
|
+
const account = parseAccount(args.account);
|
60
|
+
try {
|
61
|
+
assertEip712Request(args);
|
62
|
+
// Prepare the request for signing (assign appropriate fees, etc.)
|
63
|
+
const request = await prepareTransactionRequest(client, {
|
64
|
+
...args,
|
65
|
+
parameters: ['gas', 'nonce'],
|
66
|
+
});
|
67
|
+
let chainId;
|
68
|
+
if (chain !== null) {
|
69
|
+
chainId = await getAction(client, getChainId, 'getChainId')({});
|
70
|
+
assertCurrentChain({
|
71
|
+
currentChainId: chainId,
|
72
|
+
chain,
|
73
|
+
});
|
74
|
+
}
|
75
|
+
const serializedTransaction = await signTransaction(client, {
|
76
|
+
...request,
|
77
|
+
chainId,
|
78
|
+
});
|
79
|
+
return await getAction(client, sendRawTransaction, 'sendRawTransaction')({
|
80
|
+
serializedTransaction,
|
81
|
+
});
|
82
|
+
}
|
83
|
+
catch (err) {
|
84
|
+
throw getTransactionError(err, {
|
85
|
+
...args,
|
86
|
+
account,
|
87
|
+
chain: chain,
|
88
|
+
});
|
89
|
+
}
|
90
|
+
}
|
91
|
+
//# sourceMappingURL=sendEip712Transaction.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"sendEip712Transaction.js","sourceRoot":"","sources":["../../../../chains/zksync/actions/sendEip712Transaction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAA;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAA;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sDAAsD,CAAA;AAChG,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAA;AAQlF,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAEnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAA;AAC/E,OAAO,EAEL,mBAAmB,GACpB,MAAM,8CAA8C,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AACvD,OAAO,EAAoB,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAA;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAYtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAKzC,MAA2C,EAC3C,IAAuE;IAEvE,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAA;IAErC,IAAI,CAAC,IAAI,CAAC,OAAO;QACf,MAAM,IAAI,oBAAoB,CAAC;YAC7B,QAAQ,EAAE,sCAAsC;SACjD,CAAC,CAAA;IACJ,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAE1C,IAAI,CAAC;QACH,mBAAmB,CAAC,IAAI,CAAC,CAAA;QAEzB,kEAAkE;QAClE,MAAM,OAAO,GAAG,MAAM,yBAAyB,CAAC,MAAM,EAAE;YACtD,GAAG,IAAI;YACP,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;SACtB,CAAC,CAAA;QAET,IAAI,OAA2B,CAAA;QAC/B,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,OAAO,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAA;YAC/D,kBAAkB,CAAC;gBACjB,cAAc,EAAE,OAAO;gBACvB,KAAK;aACN,CAAC,CAAA;QACJ,CAAC;QAED,MAAM,qBAAqB,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE;YAC1D,GAAG,OAAO;YACV,OAAO;SACD,CAAC,CAAA;QAET,OAAO,MAAM,SAAS,CACpB,MAAM,EACN,kBAAkB,EAClB,oBAAoB,CACrB,CAAC;YACA,qBAAqB;SACtB,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,mBAAmB,CAAC,GAAgB,EAAE;YAC1C,GAAI,IAAsC;YAC1C,OAAO;YACP,KAAK,EAAE,KAAc;SACtB,CAAC,CAAA;IACJ,CAAC;AACH,CAAC"}
|
@@ -0,0 +1,54 @@
|
|
1
|
+
import { sendTransaction as sendTransaction_ } from '../../../actions/wallet/sendTransaction.js';
|
2
|
+
import {} from '../types/chain.js';
|
3
|
+
import { isEIP712Transaction } from '../utils/isEip712Transaction.js';
|
4
|
+
import { sendEip712Transaction } from './sendEip712Transaction.js';
|
5
|
+
/**
|
6
|
+
* Creates, signs, and sends a new transaction to the network.
|
7
|
+
*
|
8
|
+
* - Docs: https://viem.sh/docs/zksync/actions/sendTransaction
|
9
|
+
* - JSON-RPC Methods:
|
10
|
+
* - JSON-RPC Accounts: [`eth_sendTransaction`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_sendtransaction)
|
11
|
+
* - Local Accounts: [`eth_sendRawTransaction`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_sendrawtransaction)
|
12
|
+
*
|
13
|
+
* @param client - Client to use
|
14
|
+
* @param parameters - {@link SendTransactionParameters}
|
15
|
+
* @returns The [Transaction](https://viem.sh/docs/glossary/terms#transaction) hash. {@link SendTransactionReturnType}
|
16
|
+
*
|
17
|
+
* @example
|
18
|
+
* import { createWalletClient, custom } from 'viem'
|
19
|
+
* import { zkSync } from 'viem/chains'
|
20
|
+
* import { sendTransaction } from 'viem/zksync'
|
21
|
+
*
|
22
|
+
* const client = createWalletClient({
|
23
|
+
* chain: zkSync,
|
24
|
+
* transport: custom(window.ethereum),
|
25
|
+
* })
|
26
|
+
* const hash = await sendTransaction(client, {
|
27
|
+
* account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',
|
28
|
+
* to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
|
29
|
+
* value: 1000000000000000000n,
|
30
|
+
* })
|
31
|
+
*
|
32
|
+
* @example
|
33
|
+
* // Account Hoisting
|
34
|
+
* import { createWalletClient, http } from 'viem'
|
35
|
+
* import { privateKeyToAccount } from 'viem/accounts'
|
36
|
+
* import { zkSync } from 'viem/chains'
|
37
|
+
* import { sendTransaction } from 'viem/zksync'
|
38
|
+
*
|
39
|
+
* const client = createWalletClient({
|
40
|
+
* account: privateKeyToAccount('0x…'),
|
41
|
+
* chain: zkSync,
|
42
|
+
* transport: http(),
|
43
|
+
* })
|
44
|
+
* const hash = await sendTransaction(client, {
|
45
|
+
* to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
|
46
|
+
* value: 1000000000000000000n,
|
47
|
+
* })
|
48
|
+
*/
|
49
|
+
export async function sendTransaction(client, args) {
|
50
|
+
if (isEIP712Transaction(args))
|
51
|
+
return sendEip712Transaction(client, args);
|
52
|
+
return sendTransaction_(client, args);
|
53
|
+
}
|
54
|
+
//# sourceMappingURL=sendTransaction.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"sendTransaction.js","sourceRoot":"","sources":["../../../../chains/zksync/actions/sendTransaction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,IAAI,gBAAgB,EAAE,MAAM,4CAA4C,CAAA;AAQhG,OAAO,EAAoB,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAA;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAYlE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAKnC,MAA2C,EAC3C,IAAiE;IAEjE,IAAI,mBAAmB,CAAC,IAAI,CAAC;QAAE,OAAO,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACzE,OAAO,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;AACvC,CAAC"}
|
@@ -0,0 +1,86 @@
|
|
1
|
+
import { parseAccount } from '../../../accounts/utils/parseAccount.js';
|
2
|
+
import { getChainId } from '../../../actions/public/getChainId.js';
|
3
|
+
import { signTypedData } from '../../../actions/wallet/signTypedData.js';
|
4
|
+
import { AccountNotFoundError } from '../../../errors/account.js';
|
5
|
+
import { BaseError } from '../../../errors/base.js';
|
6
|
+
import { assertCurrentChain } from '../../../utils/chain/assertCurrentChain.js';
|
7
|
+
import { getAction } from '../../../utils/getAction.js';
|
8
|
+
import { assertEip712Request, } from '../utils/assertEip712Request.js';
|
9
|
+
/**
|
10
|
+
* Signs an EIP712 transaction.
|
11
|
+
*
|
12
|
+
* @param args - {@link SignTransactionParameters}
|
13
|
+
* @returns The signed serialized tranasction. {@link SignTransactionReturnType}
|
14
|
+
*
|
15
|
+
* @example
|
16
|
+
* import { createWalletClient, custom } from 'viem'
|
17
|
+
* import { zkSync } from 'viem/chains'
|
18
|
+
* import { signEip712Transaction } from 'viem/zksync'
|
19
|
+
*
|
20
|
+
* const client = createWalletClient({
|
21
|
+
* chain: zkSync,
|
22
|
+
* transport: custom(window.ethereum),
|
23
|
+
* })
|
24
|
+
* const signature = await signEip712Transaction(client, {
|
25
|
+
* account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',
|
26
|
+
* to: '0x0000000000000000000000000000000000000000',
|
27
|
+
* value: 1n,
|
28
|
+
* })
|
29
|
+
*
|
30
|
+
* @example
|
31
|
+
* // Account Hoisting
|
32
|
+
* import { createWalletClient, http } from 'viem'
|
33
|
+
* import { privateKeyToAccount } from 'viem/accounts'
|
34
|
+
* import { zkSync } from 'viem/chains'
|
35
|
+
* import { signEip712Transaction } from 'viem/zksync'
|
36
|
+
*
|
37
|
+
* const client = createWalletClient({
|
38
|
+
* account: privateKeyToAccount('0x…'),
|
39
|
+
* chain: zkSync,
|
40
|
+
* transport: custom(window.ethereum),
|
41
|
+
* })
|
42
|
+
* const signature = await signEip712Transaction(client, {
|
43
|
+
* to: '0x0000000000000000000000000000000000000000',
|
44
|
+
* value: 1n,
|
45
|
+
* })
|
46
|
+
*/
|
47
|
+
export async function signEip712Transaction(client, args) {
|
48
|
+
const { account: account_ = client.account, chain = client.chain, ...transaction } = args;
|
49
|
+
if (!account_)
|
50
|
+
throw new AccountNotFoundError({
|
51
|
+
docsPath: '/docs/actions/wallet/signTransaction',
|
52
|
+
});
|
53
|
+
const account = parseAccount(account_);
|
54
|
+
assertEip712Request({
|
55
|
+
account,
|
56
|
+
chain,
|
57
|
+
...args,
|
58
|
+
});
|
59
|
+
if (!chain?.custom?.getEip712Domain)
|
60
|
+
throw new BaseError('`getEip712Domain` not found on chain.');
|
61
|
+
if (!chain?.serializers?.transaction)
|
62
|
+
throw new BaseError('transaction serializer not found on chain.');
|
63
|
+
const chainId = await getAction(client, getChainId, 'getChainId')({});
|
64
|
+
if (chain !== null)
|
65
|
+
assertCurrentChain({
|
66
|
+
currentChainId: chainId,
|
67
|
+
chain: chain,
|
68
|
+
});
|
69
|
+
const eip712Domain = chain?.custom.getEip712Domain({
|
70
|
+
...transaction,
|
71
|
+
chainId,
|
72
|
+
from: account.address,
|
73
|
+
type: 'eip712',
|
74
|
+
});
|
75
|
+
const customSignature = await signTypedData(client, {
|
76
|
+
...eip712Domain,
|
77
|
+
account,
|
78
|
+
});
|
79
|
+
return chain?.serializers?.transaction({
|
80
|
+
chainId,
|
81
|
+
...transaction,
|
82
|
+
customSignature,
|
83
|
+
type: 'eip712',
|
84
|
+
}, { r: '0x0', s: '0x0', v: 0n });
|
85
|
+
}
|
86
|
+
//# sourceMappingURL=signEip712Transaction.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"signEip712Transaction.js","sourceRoot":"","sources":["../../../../chains/zksync/actions/signEip712Transaction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAA;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAA;AAKlE,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAA;AAGxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAOnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAA;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAGvD,OAAO,EAEL,mBAAmB,GACpB,MAAM,iCAAiC,CAAA;AA2BxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAKzC,MAA2C,EAC3C,IAAuE;IAEvE,MAAM,EACJ,OAAO,EAAE,QAAQ,GAAG,MAAM,CAAC,OAAO,EAClC,KAAK,GAAG,MAAM,CAAC,KAAK,EACpB,GAAG,WAAW,EACf,GAAG,IAAI,CAAA;IAER,IAAI,CAAC,QAAQ;QACX,MAAM,IAAI,oBAAoB,CAAC;YAC7B,QAAQ,EAAE,sCAAsC;SACjD,CAAC,CAAA;IACJ,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;IAEtC,mBAAmB,CAAC;QAClB,OAAO;QACP,KAAK;QACL,GAAI,IAAsC;KAC3C,CAAC,CAAA;IAEF,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe;QACjC,MAAM,IAAI,SAAS,CAAC,uCAAuC,CAAC,CAAA;IAC9D,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW;QAClC,MAAM,IAAI,SAAS,CAAC,4CAA4C,CAAC,CAAA;IAEnE,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAA;IACrE,IAAI,KAAK,KAAK,IAAI;QAChB,kBAAkB,CAAC;YACjB,cAAc,EAAE,OAAO;YACvB,KAAK,EAAE,KAAK;SACb,CAAC,CAAA;IAEJ,MAAM,YAAY,GAAG,KAAK,EAAE,MAAM,CAAC,eAAe,CAAC;QACjD,GAAG,WAAW;QACd,OAAO;QACP,IAAI,EAAE,OAAO,CAAC,OAAO;QACrB,IAAI,EAAE,QAAQ;KACf,CAAC,CAAA;IAEF,MAAM,eAAe,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE;QAClD,GAAG,YAAY;QACf,OAAO;KACR,CAAC,CAAA;IAEF,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,CACpC;QACE,OAAO;QACP,GAAG,WAAW;QACd,eAAe;QACf,IAAI,EAAE,QAAQ;KACf,EACD,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAC9B,CAAA;AACH,CAAC"}
|
@@ -0,0 +1,49 @@
|
|
1
|
+
import { signTransaction as signTransaction_ } from '../../../actions/wallet/signTransaction.js';
|
2
|
+
import { isEIP712Transaction } from '../utils/isEip712Transaction.js';
|
3
|
+
import { signEip712Transaction } from './signEip712Transaction.js';
|
4
|
+
/**
|
5
|
+
* Signs a transaction.
|
6
|
+
*
|
7
|
+
* - Docs: https://viem.sh/docs/zksync/actions/signTransaction
|
8
|
+
*
|
9
|
+
* @param args - {@link SignTransactionParameters}
|
10
|
+
* @returns The signed serialized tranasction. {@link SignTransactionReturnType}
|
11
|
+
*
|
12
|
+
* @example
|
13
|
+
* import { createWalletClient, custom } from 'viem'
|
14
|
+
* import { zkSync } from 'viem/chains'
|
15
|
+
* import { signTransaction } from 'viem/zksync'
|
16
|
+
*
|
17
|
+
* const client = createWalletClient({
|
18
|
+
* chain: zkSync,
|
19
|
+
* transport: custom(window.ethereum),
|
20
|
+
* })
|
21
|
+
* const signature = await signTransaction(client, {
|
22
|
+
* account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',
|
23
|
+
* to: '0x0000000000000000000000000000000000000000',
|
24
|
+
* value: 1n,
|
25
|
+
* })
|
26
|
+
*
|
27
|
+
* @example
|
28
|
+
* // Account Hoisting
|
29
|
+
* import { createWalletClient, http } from 'viem'
|
30
|
+
* import { privateKeyToAccount } from 'viem/accounts'
|
31
|
+
* import { zkSync } from 'viem/chains'
|
32
|
+
* import { signTransaction } from 'viem/zksync'
|
33
|
+
*
|
34
|
+
* const client = createWalletClient({
|
35
|
+
* account: privateKeyToAccount('0x…'),
|
36
|
+
* chain: zkSync,
|
37
|
+
* transport: custom(window.ethereum),
|
38
|
+
* })
|
39
|
+
* const signature = await signTransaction(client, {
|
40
|
+
* to: '0x0000000000000000000000000000000000000000',
|
41
|
+
* value: 1n,
|
42
|
+
* })
|
43
|
+
*/
|
44
|
+
export async function signTransaction(client, args) {
|
45
|
+
if (isEIP712Transaction(args))
|
46
|
+
return signEip712Transaction(client, args);
|
47
|
+
return await signTransaction_(client, args);
|
48
|
+
}
|
49
|
+
//# sourceMappingURL=signTransaction.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"signTransaction.js","sourceRoot":"","sources":["../../../../chains/zksync/actions/signTransaction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,IAAI,gBAAgB,EAAE,MAAM,4CAA4C,CAAA;AAehG,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAA;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AA2BlE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAKnC,MAA2C,EAC3C,IAAiE;IAEjE,IAAI,mBAAmB,CAAC,IAAI,CAAC;QAAE,OAAO,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACzE,OAAO,MAAM,gBAAgB,CAAC,MAAM,EAAE,IAAW,CAAC,CAAA;AACpD,CAAC"}
|
@@ -1,7 +1,11 @@
|
|
1
1
|
import { formatters } from './formatters.js';
|
2
2
|
import { serializers } from './serializers.js';
|
3
|
+
import { getEip712Domain } from './utils/getEip712Domain.js';
|
3
4
|
export const chainConfig = {
|
4
5
|
formatters,
|
5
6
|
serializers,
|
7
|
+
custom: {
|
8
|
+
getEip712Domain,
|
9
|
+
},
|
6
10
|
};
|
7
11
|
//# sourceMappingURL=chainConfig.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"chainConfig.js","sourceRoot":"","sources":["../../../chains/zksync/chainConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;
|
1
|
+
{"version":3,"file":"chainConfig.js","sourceRoot":"","sources":["../../../chains/zksync/chainConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAE5D,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,UAAU;IACV,WAAW;IACX,MAAM,EAAE;QACN,eAAe;KAChB;CACO,CAAA"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"chains.js","sourceRoot":"","sources":["../../../chains/zksync/chains.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAA"}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import { writeContract } from '../../../actions/wallet/writeContract.js';
|
2
|
+
import { sendTransaction, } from '../actions/sendTransaction.js';
|
3
|
+
import { signTransaction, } from '../actions/signTransaction.js';
|
4
|
+
export function eip712WalletActions() {
|
5
|
+
return (client) => ({
|
6
|
+
sendTransaction: (args) => sendTransaction(client, args),
|
7
|
+
signTransaction: (args) => signTransaction(client, args),
|
8
|
+
writeContract: (args) => writeContract(Object.assign(client, {
|
9
|
+
sendTransaction: (args) => sendTransaction(client, args),
|
10
|
+
}), args),
|
11
|
+
});
|
12
|
+
}
|
13
|
+
//# sourceMappingURL=eip712.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"eip712.js","sourceRoot":"","sources":["../../../../chains/zksync/decorators/eip712.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAA;AAKxE,OAAO,EAGL,eAAe,GAChB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAGL,eAAe,GAChB,MAAM,+BAA+B,CAAA;AAyJtC,MAAM,UAAU,mBAAmB;IACjC,OAAO,CAKL,MAAyC,EACJ,EAAE,CAAC,CAAC;QACzC,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC;QACxD,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC;QACxD,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CACtB,aAAa,CACX,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;YACpB,eAAe,EAAE,CAAC,IAAS,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC;SAC9D,CAAC,EACF,IAAI,CACL;KACJ,CAAC,CAAA;AACJ,CAAC"}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
import { BaseError } from '../../../errors/base.js';
|
2
|
+
export class InvalidEip712TransactionError extends BaseError {
|
3
|
+
constructor() {
|
4
|
+
super([
|
5
|
+
'Transaction is not an EIP712 transaction.',
|
6
|
+
'',
|
7
|
+
'Transaction must:',
|
8
|
+
' - include `type: "eip712"`',
|
9
|
+
' - include one of the following: `customSignature`, `paymaster`, `paymasterInput`, `gasPerPubdata`, `factoryDeps`',
|
10
|
+
].join('\n'));
|
11
|
+
Object.defineProperty(this, "name", {
|
12
|
+
enumerable: true,
|
13
|
+
configurable: true,
|
14
|
+
writable: true,
|
15
|
+
value: 'InvalidEip712TransactionError'
|
16
|
+
});
|
17
|
+
}
|
18
|
+
}
|
19
|
+
//# sourceMappingURL=transaction.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../../chains/zksync/errors/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAMnD,MAAM,OAAO,6BAA8B,SAAQ,SAAS;IAG1D;QACE,KAAK,CACH;YACE,2CAA2C;YAC3C,EAAE;YACF,mBAAmB;YACnB,8BAA8B;YAC9B,oHAAoH;SACrH,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAA;QAXM;;;;mBAAO,+BAA+B;WAAA;IAY/C,CAAC;CACF"}
|
@@ -13,7 +13,7 @@ export const formatters = {
|
|
13
13
|
const transactions = args.transactions?.map((transaction) => {
|
14
14
|
if (typeof transaction === 'string')
|
15
15
|
return transaction;
|
16
|
-
const formatted = formatters.transaction
|
16
|
+
const formatted = formatters.transaction?.format(transaction);
|
17
17
|
if (formatted.typeHex === '0x71')
|
18
18
|
formatted.type = 'eip712';
|
19
19
|
else if (formatted.typeHex === '0xff')
|
@@ -119,7 +119,7 @@ export const formatters = {
|
|
119
119
|
}
|
120
120
|
: {}),
|
121
121
|
},
|
122
|
-
type:
|
122
|
+
type: '0x71',
|
123
123
|
};
|
124
124
|
return {};
|
125
125
|
},
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../../chains/zksync/formatters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,MAAM,sBAAsB,CAAA;AAE3D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAA;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAA;AACvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAA;
|
1
|
+
{"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../../chains/zksync/formatters.ts"],"names":[],"mappings":"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"}
|
@@ -1,3 +1,9 @@
|
|
1
|
+
export { sendTransaction, } from './actions/sendTransaction.js';
|
2
|
+
export { sendEip712Transaction, } from './actions/sendEip712Transaction.js';
|
3
|
+
export { signEip712Transaction, } from './actions/signEip712Transaction.js';
|
4
|
+
export { signTransaction, } from './actions/signTransaction.js';
|
5
|
+
export { zkSync, zkSyncTestnet, zkSyncSepoliaTestnet, } from './chains.js';
|
1
6
|
export { chainConfig } from './chainConfig.js';
|
7
|
+
export { eip712WalletActions, } from './decorators/eip712.js';
|
2
8
|
export { serializeTransaction } from './serializers.js';
|
3
9
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../chains/zksync/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../chains/zksync/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,eAAe,GAChB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAIL,qBAAqB,GACtB,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAIL,qBAAqB,GACtB,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAIL,eAAe,GAChB,MAAM,8BAA8B,CAAA;AAErC,OAAO,EACL,MAAM,EACN,aAAa,EACb,oBAAoB,GACrB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,OAAO,EACL,mBAAmB,GAEpB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA"}
|
@@ -1,13 +1,11 @@
|
|
1
|
-
import { InvalidAddressError } from '../../errors/address.js';
|
2
|
-
import { BaseError } from '../../errors/base.js';
|
3
|
-
import { InvalidChainIdError } from '../../errors/chain.js';
|
4
|
-
import { isAddress } from '../../utils/address/isAddress.js';
|
5
1
|
import { concatHex } from '../../utils/data/concat.js';
|
6
2
|
import { toHex } from '../../utils/encoding/toHex.js';
|
7
3
|
import { toRlp } from '../../utils/encoding/toRlp.js';
|
8
4
|
import { serializeTransaction as serializeTransaction_, } from '../../utils/transaction/serializeTransaction.js';
|
5
|
+
import { assertEip712Transaction } from './utils/assertEip712Transaction.js';
|
6
|
+
import { isEIP712Transaction } from './utils/isEip712Transaction.js';
|
9
7
|
export const serializeTransaction = (tx, signature) => {
|
10
|
-
if (
|
8
|
+
if (isEIP712Transaction(tx))
|
11
9
|
return serializeTransactionEIP712(tx);
|
12
10
|
return serializeTransaction_(tx, signature);
|
13
11
|
};
|
@@ -16,7 +14,7 @@ export const serializers = {
|
|
16
14
|
};
|
17
15
|
function serializeTransactionEIP712(transaction) {
|
18
16
|
const { chainId, gas, nonce, to, from, value, maxFeePerGas, maxPriorityFeePerGas, customSignature, factoryDeps, paymaster, paymasterInput, gasPerPubdata, data, } = transaction;
|
19
|
-
|
17
|
+
assertEip712Transaction(transaction);
|
20
18
|
const serializedTransaction = [
|
21
19
|
nonce ? toHex(nonce) : '0x',
|
22
20
|
maxPriorityFeePerGas ? toHex(maxPriorityFeePerGas) : '0x',
|
@@ -24,7 +22,7 @@ function serializeTransactionEIP712(transaction) {
|
|
24
22
|
gas ? toHex(gas) : '0x',
|
25
23
|
to ?? '0x',
|
26
24
|
value ? toHex(value) : '0x',
|
27
|
-
data ?? '
|
25
|
+
data ?? '0x0',
|
28
26
|
toHex(chainId),
|
29
27
|
toHex(''),
|
30
28
|
toHex(''),
|
@@ -40,32 +38,4 @@ function serializeTransactionEIP712(transaction) {
|
|
40
38
|
toRlp(serializedTransaction),
|
41
39
|
]);
|
42
40
|
}
|
43
|
-
//////////////////////////////////////////////////////////////////////////////
|
44
|
-
// Utilities
|
45
|
-
function isEIP712(transaction) {
|
46
|
-
if ('customSignature' in transaction ||
|
47
|
-
'paymaster' in transaction ||
|
48
|
-
'paymasterInput' in transaction ||
|
49
|
-
'gasPerPubdata' in transaction ||
|
50
|
-
'factoryDeps' in transaction)
|
51
|
-
return true;
|
52
|
-
return false;
|
53
|
-
}
|
54
|
-
export function assertTransactionEIP712(transaction) {
|
55
|
-
const { chainId, to, from, paymaster, paymasterInput } = transaction;
|
56
|
-
if (chainId <= 0)
|
57
|
-
throw new InvalidChainIdError({ chainId });
|
58
|
-
if (to && !isAddress(to))
|
59
|
-
throw new InvalidAddressError({ address: to });
|
60
|
-
if (from && !isAddress(from))
|
61
|
-
throw new InvalidAddressError({ address: from });
|
62
|
-
if (paymaster && !isAddress(paymaster))
|
63
|
-
throw new InvalidAddressError({ address: paymaster });
|
64
|
-
if (paymaster && !paymasterInput) {
|
65
|
-
throw new BaseError('`paymasterInput` must be provided when `paymaster` is defined');
|
66
|
-
}
|
67
|
-
if (!paymaster && paymasterInput) {
|
68
|
-
throw new BaseError('`paymaster` must be provided when `paymasterInput` is defined');
|
69
|
-
}
|
70
|
-
}
|
71
41
|
//# sourceMappingURL=serializers.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"serializers.js","sourceRoot":"","sources":["../../../chains/zksync/serializers.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"serializers.js","sourceRoot":"","sources":["../../../chains/zksync/serializers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAA;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAA;AACrD,OAAO,EAEL,oBAAoB,IAAI,qBAAqB,GAC9C,MAAM,iDAAiD,CAAA;AAMxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAA;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AAEpE,MAAM,CAAC,MAAM,oBAAoB,GAE7B,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE;IACpB,IAAI,mBAAmB,CAAC,EAAE,CAAC;QACzB,OAAO,0BAA0B,CAAC,EAAyC,CAAC,CAAA;IAC9E,OAAO,qBAAqB,CAAC,EAA6B,EAAE,SAAS,CAAC,CAAA;AACxE,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,WAAW,EAAE,oBAAoB;CACE,CAAA;AAKrC,SAAS,0BAA0B,CACjC,WAAgD;IAEhD,MAAM,EACJ,OAAO,EACP,GAAG,EACH,KAAK,EACL,EAAE,EACF,IAAI,EACJ,KAAK,EACL,YAAY,EACZ,oBAAoB,EACpB,eAAe,EACf,WAAW,EACX,SAAS,EACT,cAAc,EACd,aAAa,EACb,IAAI,GACL,GAAG,WAAW,CAAA;IAEf,uBAAuB,CAAC,WAAW,CAAC,CAAA;IAEpC,MAAM,qBAAqB,GAAG;QAC5B,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;QAC3B,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,IAAI;QACzD,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI;QACzC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;QACvB,EAAE,IAAI,IAAI;QACV,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;QAC3B,IAAI,IAAI,KAAK;QACb,KAAK,CAAC,OAAO,CAAC;QACd,KAAK,CAAC,EAAE,CAAC;QACT,KAAK,CAAC,EAAE,CAAC;QACT,KAAK,CAAC,OAAO,CAAC;QACd,IAAI,IAAI,IAAI;QACZ,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI;QAC3C,WAAW,IAAI,EAAE;QACjB,eAAe,IAAI,IAAI,EAAE,mBAAmB;QAC5C,SAAS,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE;KAC/D,CAAA;IAED,OAAO,SAAS,CAAC;QACf,MAAM;QACN,KAAK,CAAC,qBAAqB,CAAC;KAC7B,CAAyC,CAAA;AAC5C,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"block.js","sourceRoot":"","sources":["../../../../chains/zksync/types/block.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"chain.js","sourceRoot":"","sources":["../../../../chains/zksync/types/chain.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"eip712.js","sourceRoot":"","sources":["../../../../chains/zksync/types/eip712.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"fee.js","sourceRoot":"","sources":["../../../../chains/zksync/types/fee.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"log.js","sourceRoot":"","sources":["../../../../chains/zksync/types/log.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../../chains/zksync/types/transaction.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import { assertRequest } from '../../../index.js';
|
2
|
+
import { InvalidEip712TransactionError } from '../errors/transaction.js';
|
3
|
+
import { isEIP712Transaction } from './isEip712Transaction.js';
|
4
|
+
export function assertEip712Request(args) {
|
5
|
+
if (!isEIP712Transaction(args))
|
6
|
+
throw new InvalidEip712TransactionError();
|
7
|
+
assertRequest(args);
|
8
|
+
}
|
9
|
+
//# sourceMappingURL=assertEip712Request.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"assertEip712Request.js","sourceRoot":"","sources":["../../../../chains/zksync/utils/assertEip712Request.ts"],"names":[],"mappings":"AACA,OAAO,EAA+B,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAG9E,OAAO,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAA;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAQ9D,MAAM,UAAU,mBAAmB,CAAC,IAAmC;IACrE,IAAI,CAAC,mBAAmB,CAAC,IAAW,CAAC;QACnC,MAAM,IAAI,6BAA6B,EAAE,CAAA;IAC3C,aAAa,CAAC,IAAW,CAAC,CAAA;AAC5B,CAAC"}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
import { InvalidAddressError } from '../../../errors/address.js';
|
2
|
+
import { BaseError } from '../../../errors/base.js';
|
3
|
+
import { InvalidChainIdError } from '../../../errors/chain.js';
|
4
|
+
import { isAddress } from '../../../utils/address/isAddress.js';
|
5
|
+
import { InvalidEip712TransactionError } from '../errors/transaction.js';
|
6
|
+
import { isEIP712Transaction } from './isEip712Transaction.js';
|
7
|
+
export function assertEip712Transaction(transaction) {
|
8
|
+
const { chainId, to, from, paymaster, paymasterInput } = transaction;
|
9
|
+
if (!isEIP712Transaction(transaction))
|
10
|
+
throw new InvalidEip712TransactionError();
|
11
|
+
if (!chainId || chainId <= 0)
|
12
|
+
throw new InvalidChainIdError({ chainId });
|
13
|
+
if (to && !isAddress(to))
|
14
|
+
throw new InvalidAddressError({ address: to });
|
15
|
+
if (from && !isAddress(from))
|
16
|
+
throw new InvalidAddressError({ address: from });
|
17
|
+
if (paymaster && !isAddress(paymaster))
|
18
|
+
throw new InvalidAddressError({ address: paymaster });
|
19
|
+
if (paymaster && !paymasterInput) {
|
20
|
+
throw new BaseError('`paymasterInput` must be provided when `paymaster` is defined');
|
21
|
+
}
|
22
|
+
if (!paymaster && paymasterInput) {
|
23
|
+
throw new BaseError('`paymaster` must be provided when `paymasterInput` is defined');
|
24
|
+
}
|
25
|
+
}
|
26
|
+
//# sourceMappingURL=assertEip712Transaction.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"assertEip712Transaction.js","sourceRoot":"","sources":["../../../../chains/zksync/utils/assertEip712Transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AAC/D,OAAO,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAA;AAKxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,MAAM,UAAU,uBAAuB,CACrC,WAAmD;IAEnD,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,GACpD,WAAkD,CAAA;IAEpD,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC;QACnC,MAAM,IAAI,6BAA6B,EAAE,CAAA;IAC3C,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC;QAAE,MAAM,IAAI,mBAAmB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;IACxE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAAE,MAAM,IAAI,mBAAmB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAA;IACxE,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,mBAAmB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;IAC9E,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;QACpC,MAAM,IAAI,mBAAmB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAA;IACvD,IAAI,SAAS,IAAI,CAAC,cAAc,EAAE,CAAC;QACjC,MAAM,IAAI,SAAS,CACjB,+DAA+D,CAChE,CAAA;IACH,CAAC;IACD,IAAI,CAAC,SAAS,IAAI,cAAc,EAAE,CAAC;QACjC,MAAM,IAAI,SAAS,CACjB,+DAA+D,CAChE,CAAA;IACH,CAAC;AACH,CAAC"}
|