viem 2.36.1 → 2.37.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/_cjs/actions/public/verifyHash.js +154 -38
- package/_cjs/actions/public/verifyHash.js.map +1 -1
- package/_cjs/chains/definitions/abstract.js +1 -1
- package/_cjs/chains/definitions/abstract.js.map +1 -1
- package/_cjs/chains/definitions/abstractTestnet.js +1 -1
- package/_cjs/chains/definitions/abstractTestnet.js.map +1 -1
- package/_cjs/chains/definitions/zksync.js +1 -1
- package/_cjs/chains/definitions/zksync.js.map +1 -1
- package/_cjs/chains/definitions/zksyncSepoliaTestnet.js +1 -1
- package/_cjs/chains/definitions/zksyncSepoliaTestnet.js.map +1 -1
- package/_cjs/constants/abis.js +3 -3
- package/_cjs/constants/abis.js.map +1 -1
- package/_cjs/constants/contracts.js +2 -2
- package/_cjs/constants/contracts.js.map +1 -1
- package/_cjs/errors/version.js +1 -1
- package/_cjs/index.js +19 -11
- package/_cjs/index.js.map +1 -1
- package/_cjs/utils/index.js +8 -2
- package/_cjs/utils/index.js.map +1 -1
- package/_cjs/utils/signature/isErc8010Signature.js +8 -0
- package/_cjs/utils/signature/isErc8010Signature.js.map +1 -0
- package/_cjs/utils/signature/parseErc8010Signature.js +24 -0
- package/_cjs/utils/signature/parseErc8010Signature.js.map +1 -0
- package/_cjs/utils/signature/serializeErc8010Signature.js +25 -0
- package/_cjs/utils/signature/serializeErc8010Signature.js.map +1 -0
- package/_esm/actions/public/verifyHash.js +172 -51
- package/_esm/actions/public/verifyHash.js.map +1 -1
- package/_esm/chains/definitions/abstract.js +1 -1
- package/_esm/chains/definitions/abstract.js.map +1 -1
- package/_esm/chains/definitions/abstractTestnet.js +1 -1
- package/_esm/chains/definitions/abstractTestnet.js.map +1 -1
- package/_esm/chains/definitions/zksync.js +1 -1
- package/_esm/chains/definitions/zksync.js.map +1 -1
- package/_esm/chains/definitions/zksyncSepoliaTestnet.js +1 -1
- package/_esm/chains/definitions/zksyncSepoliaTestnet.js.map +1 -1
- package/_esm/constants/abis.js +2 -2
- package/_esm/constants/abis.js.map +1 -1
- package/_esm/constants/contracts.js +1 -1
- package/_esm/constants/contracts.js.map +1 -1
- package/_esm/errors/version.js +1 -1
- package/_esm/index.js +9 -2
- package/_esm/index.js.map +1 -1
- package/_esm/utils/index.js +3 -0
- package/_esm/utils/index.js.map +1 -1
- package/_esm/utils/signature/isErc8010Signature.js +6 -0
- package/_esm/utils/signature/isErc8010Signature.js.map +1 -0
- package/_esm/utils/signature/parseErc8010Signature.js +28 -0
- package/_esm/utils/signature/parseErc8010Signature.js.map +1 -0
- package/_esm/utils/signature/serializeErc8010Signature.js +28 -0
- package/_esm/utils/signature/serializeErc8010Signature.js.map +1 -0
- package/_types/actions/public/verifyHash.d.ts +56 -2
- package/_types/actions/public/verifyHash.d.ts.map +1 -1
- package/_types/chains/definitions/0g.d.ts +1 -1
- package/_types/chains/definitions/5ireChain.d.ts +1 -1
- package/_types/chains/definitions/abey.d.ts +1 -1
- package/_types/chains/definitions/abstract.d.ts +1 -1
- package/_types/chains/definitions/abstractTestnet.d.ts +1 -1
- package/_types/chains/definitions/acala.d.ts +1 -1
- package/_types/chains/definitions/acria.d.ts +1 -1
- package/_types/chains/definitions/adf.d.ts +1 -1
- package/_types/chains/definitions/agungTestnet.d.ts +1 -1
- package/_types/chains/definitions/aioz.d.ts +1 -1
- package/_types/chains/definitions/alienX.d.ts +1 -1
- package/_types/chains/definitions/alienXHalTestnet.d.ts +1 -1
- package/_types/chains/definitions/anvil.d.ts +1 -1
- package/_types/chains/definitions/arenaz.d.ts +1 -1
- package/_types/chains/definitions/areonNetworkTestnet.d.ts +1 -1
- package/_types/chains/definitions/auroraTestnet.d.ts +1 -1
- package/_types/chains/definitions/auroria.d.ts +1 -1
- package/_types/chains/definitions/autheoTestnet.d.ts +1 -1
- package/_types/chains/definitions/bahamut.d.ts +1 -1
- package/_types/chains/definitions/basecampTestnet.d.ts +1 -1
- package/_types/chains/definitions/bearNetworkChainMainnet.d.ts +1 -1
- package/_types/chains/definitions/bearNetworkChainTestnet.d.ts +1 -1
- package/_types/chains/definitions/bevmMainnet.d.ts +1 -1
- package/_types/chains/definitions/bifrost.d.ts +1 -1
- package/_types/chains/definitions/birdlayer.d.ts +1 -1
- package/_types/chains/definitions/bitTorrentTestnet.d.ts +1 -1
- package/_types/chains/definitions/bitkub.d.ts +1 -1
- package/_types/chains/definitions/bitkubTestnet.d.ts +1 -1
- package/_types/chains/definitions/bitrock.d.ts +1 -1
- package/_types/chains/definitions/bobaSepolia.d.ts +1 -1
- package/_types/chains/definitions/boolBetaMainnet.d.ts +1 -1
- package/_types/chains/definitions/botanixTestnet.d.ts +1 -1
- package/_types/chains/definitions/bounceBit.d.ts +1 -1
- package/_types/chains/definitions/bounceBitTestnet.d.ts +1 -1
- package/_types/chains/definitions/bronos.d.ts +1 -1
- package/_types/chains/definitions/bronosTestnet.d.ts +1 -1
- package/_types/chains/definitions/bscGreenfield.d.ts +1 -1
- package/_types/chains/definitions/bsquared.d.ts +1 -1
- package/_types/chains/definitions/bsquaredTestnet.d.ts +1 -1
- package/_types/chains/definitions/btr.d.ts +1 -1
- package/_types/chains/definitions/btrTestnet.d.ts +1 -1
- package/_types/chains/definitions/bxn.d.ts +1 -1
- package/_types/chains/definitions/bxnTestnet.d.ts +1 -1
- package/_types/chains/definitions/cannon.d.ts +1 -1
- package/_types/chains/definitions/chang.d.ts +1 -1
- package/_types/chains/definitions/chips.d.ts +1 -1
- package/_types/chains/definitions/citreaTestnet.d.ts +1 -1
- package/_types/chains/definitions/classic.d.ts +1 -1
- package/_types/chains/definitions/coinbit.d.ts +1 -1
- package/_types/chains/definitions/coinex.d.ts +1 -1
- package/_types/chains/definitions/creditCoin3Mainnet.d.ts +1 -1
- package/_types/chains/definitions/creditCoin3Testnet.d.ts +1 -1
- package/_types/chains/definitions/cronoszkEVMTestnet.d.ts +1 -1
- package/_types/chains/definitions/crossfi.d.ts +1 -1
- package/_types/chains/definitions/curtis.d.ts +1 -1
- package/_types/chains/definitions/dailyNetwork.d.ts +1 -1
- package/_types/chains/definitions/dailyNetworkTestnet.d.ts +1 -1
- package/_types/chains/definitions/dbkchain.d.ts +1 -1
- package/_types/chains/definitions/degen.d.ts +1 -1
- package/_types/chains/definitions/diode.d.ts +1 -1
- package/_types/chains/definitions/disChain.d.ts +1 -1
- package/_types/chains/definitions/dodochainTestnet.d.ts +1 -1
- package/_types/chains/definitions/dreyerxMainnet.d.ts +1 -1
- package/_types/chains/definitions/dreyerxTestnet.d.ts +1 -1
- package/_types/chains/definitions/dymension.d.ts +1 -1
- package/_types/chains/definitions/edexa.d.ts +1 -1
- package/_types/chains/definitions/edexaTestnet.d.ts +1 -1
- package/_types/chains/definitions/edgeless.d.ts +1 -1
- package/_types/chains/definitions/edgelessTestnet.d.ts +1 -1
- package/_types/chains/definitions/edgewareTestnet.d.ts +1 -1
- package/_types/chains/definitions/eduChain.d.ts +1 -1
- package/_types/chains/definitions/ekta.d.ts +1 -1
- package/_types/chains/definitions/ektaTestnet.d.ts +1 -1
- package/_types/chains/definitions/elastos.d.ts +1 -1
- package/_types/chains/definitions/elastosTestnet.d.ts +1 -1
- package/_types/chains/definitions/electroneum.d.ts +1 -1
- package/_types/chains/definitions/electroneumTestnet.d.ts +1 -1
- package/_types/chains/definitions/energy.d.ts +1 -1
- package/_types/chains/definitions/enuls.d.ts +1 -1
- package/_types/chains/definitions/etherlinkTestnet.d.ts +1 -1
- package/_types/chains/definitions/etp.d.ts +1 -1
- package/_types/chains/definitions/evmos.d.ts +1 -1
- package/_types/chains/definitions/evmosTestnet.d.ts +1 -1
- package/_types/chains/definitions/exSat.d.ts +1 -1
- package/_types/chains/definitions/exSatTestnet.d.ts +1 -1
- package/_types/chains/definitions/excelonMainnet.d.ts +1 -1
- package/_types/chains/definitions/expanse.d.ts +1 -1
- package/_types/chains/definitions/fantomSonicTestnet.d.ts +1 -1
- package/_types/chains/definitions/fibo.d.ts +1 -1
- package/_types/chains/definitions/filecoinCalibration.d.ts +1 -1
- package/_types/chains/definitions/filecoinHyperspace.d.ts +1 -1
- package/_types/chains/definitions/flareTestnet.d.ts +1 -1
- package/_types/chains/definitions/fluentTestnet.d.ts +1 -1
- package/_types/chains/definitions/forta.d.ts +1 -1
- package/_types/chains/definitions/foundry.d.ts +1 -1
- package/_types/chains/definitions/fuseSparknet.d.ts +1 -1
- package/_types/chains/definitions/genesys.d.ts +1 -1
- package/_types/chains/definitions/glideL1Protocol.d.ts +1 -1
- package/_types/chains/definitions/glideL2Protocol.d.ts +1 -1
- package/_types/chains/definitions/goChain.d.ts +1 -1
- package/_types/chains/definitions/graphite.d.ts +1 -1
- package/_types/chains/definitions/graphiteTestnet.d.ts +1 -1
- package/_types/chains/definitions/guruTestnet.d.ts +1 -1
- package/_types/chains/definitions/ham.d.ts +1 -1
- package/_types/chains/definitions/haqqMainnet.d.ts +1 -1
- package/_types/chains/definitions/haqqTestedge2.d.ts +1 -1
- package/_types/chains/definitions/hardhat.d.ts +1 -1
- package/_types/chains/definitions/hashkeyChainTestnet.d.ts +1 -1
- package/_types/chains/definitions/haustTestnet.d.ts +1 -1
- package/_types/chains/definitions/hedera.d.ts +1 -1
- package/_types/chains/definitions/hederaPreviewnet.d.ts +1 -1
- package/_types/chains/definitions/hederaTestnet.d.ts +1 -1
- package/_types/chains/definitions/hela.d.ts +1 -1
- package/_types/chains/definitions/hemi.d.ts +1 -1
- package/_types/chains/definitions/hemiSepolia.d.ts +1 -1
- package/_types/chains/definitions/hpb.d.ts +1 -1
- package/_types/chains/definitions/huddle01Mainnet.d.ts +1 -1
- package/_types/chains/definitions/huddle01Testnet.d.ts +1 -1
- package/_types/chains/definitions/humanity.d.ts +1 -1
- package/_types/chains/definitions/humanityTestnet.d.ts +1 -1
- package/_types/chains/definitions/hychain.d.ts +1 -1
- package/_types/chains/definitions/hychainTestnet.d.ts +1 -1
- package/_types/chains/definitions/hyperliquidEvmTestnet.d.ts +1 -1
- package/_types/chains/definitions/iSunCoin.d.ts +1 -1
- package/_types/chains/definitions/idchain.d.ts +1 -1
- package/_types/chains/definitions/iotaTestnet.d.ts +1 -1
- package/_types/chains/definitions/jocMainnet.d.ts +1 -1
- package/_types/chains/definitions/jocTestnet.d.ts +1 -1
- package/_types/chains/definitions/juneo.d.ts +1 -1
- package/_types/chains/definitions/juneoBCH1Chain.d.ts +1 -1
- package/_types/chains/definitions/juneoDAI1Chain.d.ts +1 -1
- package/_types/chains/definitions/juneoDOGE1Chain.d.ts +1 -1
- package/_types/chains/definitions/juneoEUR1Chain.d.ts +1 -1
- package/_types/chains/definitions/juneoGLD1Chain.d.ts +1 -1
- package/_types/chains/definitions/juneoLINK1Chain.d.ts +1 -1
- package/_types/chains/definitions/juneoLTC1Chain.d.ts +1 -1
- package/_types/chains/definitions/juneoSGD1Chain.d.ts +1 -1
- package/_types/chains/definitions/juneoSocotraTestnet.d.ts +1 -1
- package/_types/chains/definitions/juneoUSD1Chain.d.ts +1 -1
- package/_types/chains/definitions/juneoUSDT1Chain.d.ts +1 -1
- package/_types/chains/definitions/juneomBTC1Chain.d.ts +1 -1
- package/_types/chains/definitions/kakarotSepolia.d.ts +1 -1
- package/_types/chains/definitions/kakarotStarknetSepolia.d.ts +1 -1
- package/_types/chains/definitions/kardiaChain.d.ts +1 -1
- package/_types/chains/definitions/karura.d.ts +1 -1
- package/_types/chains/definitions/katana.d.ts +1 -1
- package/_types/chains/definitions/kinto.d.ts +1 -1
- package/_types/chains/definitions/l3x.d.ts +1 -1
- package/_types/chains/definitions/l3xTestnet.d.ts +1 -1
- package/_types/chains/definitions/lavita.d.ts +1 -1
- package/_types/chains/definitions/lens.d.ts +1 -1
- package/_types/chains/definitions/lensTestnet.d.ts +1 -1
- package/_types/chains/definitions/lestnet.d.ts +1 -1
- package/_types/chains/definitions/localhost.d.ts +1 -1
- package/_types/chains/definitions/loop.d.ts +1 -1
- package/_types/chains/definitions/lumoz.d.ts +1 -1
- package/_types/chains/definitions/lumozTestnet.d.ts +1 -1
- package/_types/chains/definitions/lycan.d.ts +1 -1
- package/_types/chains/definitions/mandala.d.ts +1 -1
- package/_types/chains/definitions/mantraDuKongEVMTestnet.d.ts +1 -1
- package/_types/chains/definitions/mapProtocol.d.ts +1 -1
- package/_types/chains/definitions/matchain.d.ts +1 -1
- package/_types/chains/definitions/matchainTestnet.d.ts +1 -1
- package/_types/chains/definitions/mchVerse.d.ts +1 -1
- package/_types/chains/definitions/mekong.d.ts +1 -1
- package/_types/chains/definitions/memecore.d.ts +1 -1
- package/_types/chains/definitions/memecoreFormicariumTestnet.d.ts +1 -1
- package/_types/chains/definitions/merlin.d.ts +1 -1
- package/_types/chains/definitions/merlinErigonTestnet.d.ts +1 -1
- package/_types/chains/definitions/metadium.d.ts +1 -1
- package/_types/chains/definitions/meter.d.ts +1 -1
- package/_types/chains/definitions/meterTestnet.d.ts +1 -1
- package/_types/chains/definitions/mint.d.ts +1 -1
- package/_types/chains/definitions/mintSepoliaTestnet.d.ts +1 -1
- package/_types/chains/definitions/mitosisTestnet.d.ts +1 -1
- package/_types/chains/definitions/moonbeamDev.d.ts +1 -1
- package/_types/chains/definitions/morphHolesky.d.ts +1 -1
- package/_types/chains/definitions/morphSepolia.d.ts +1 -1
- package/_types/chains/definitions/nahmii.d.ts +1 -1
- package/_types/chains/definitions/nautilus.d.ts +1 -1
- package/_types/chains/definitions/near.d.ts +1 -1
- package/_types/chains/definitions/nearTestnet.d.ts +1 -1
- package/_types/chains/definitions/neoxMainnet.d.ts +1 -1
- package/_types/chains/definitions/neoxT4.d.ts +1 -1
- package/_types/chains/definitions/newton.d.ts +1 -1
- package/_types/chains/definitions/oasisTestnet.d.ts +1 -1
- package/_types/chains/definitions/oasys.d.ts +1 -1
- package/_types/chains/definitions/odysseyTestnet.d.ts +1 -1
- package/_types/chains/definitions/omax.d.ts +1 -1
- package/_types/chains/definitions/omni.d.ts +1 -1
- package/_types/chains/definitions/omniOmega.d.ts +1 -1
- package/_types/chains/definitions/oneWorld.d.ts +1 -1
- package/_types/chains/definitions/oortmainnetDev.d.ts +1 -1
- package/_types/chains/definitions/openledger.d.ts +1 -1
- package/_types/chains/definitions/optopia.d.ts +1 -1
- package/_types/chains/definitions/optopiaTestnet.d.ts +1 -1
- package/_types/chains/definitions/orderly.d.ts +1 -1
- package/_types/chains/definitions/orderlySepolia.d.ts +1 -1
- package/_types/chains/definitions/plasmaTestnet.d.ts +1 -1
- package/_types/chains/definitions/premiumBlock.d.ts +1 -1
- package/_types/chains/definitions/pumpfiTestnet.d.ts +1 -1
- package/_types/chains/definitions/qMainnet.d.ts +1 -1
- package/_types/chains/definitions/qTestnet.d.ts +1 -1
- package/_types/chains/definitions/redbellyMainnet.d.ts +1 -1
- package/_types/chains/definitions/redbellyTestnet.d.ts +1 -1
- package/_types/chains/definitions/reddioSepolia.d.ts +1 -1
- package/_types/chains/definitions/rei.d.ts +1 -1
- package/_types/chains/definitions/reyaNetwork.d.ts +1 -1
- package/_types/chains/definitions/rivalz.d.ts +1 -1
- package/_types/chains/definitions/saakuru.d.ts +1 -1
- package/_types/chains/definitions/sapphireTestnet.d.ts +1 -1
- package/_types/chains/definitions/satoshivm.d.ts +1 -1
- package/_types/chains/definitions/satoshivmTestnet.d.ts +1 -1
- package/_types/chains/definitions/seiDevnet.d.ts +1 -1
- package/_types/chains/definitions/seismicDevnet.d.ts +1 -1
- package/_types/chains/definitions/shardeum.d.ts +1 -1
- package/_types/chains/definitions/shardeumSphinx.d.ts +1 -1
- package/_types/chains/definitions/shiden.d.ts +1 -1
- package/_types/chains/definitions/shimmer.d.ts +1 -1
- package/_types/chains/definitions/shimmerTestnet.d.ts +1 -1
- package/_types/chains/definitions/sidra.d.ts +1 -1
- package/_types/chains/definitions/silicon.d.ts +1 -1
- package/_types/chains/definitions/siliconSepolia.d.ts +1 -1
- package/_types/chains/definitions/sixProtocol.d.ts +1 -1
- package/_types/chains/definitions/sketchpad.d.ts +1 -1
- package/_types/chains/definitions/songbirdTestnet.d.ts +1 -1
- package/_types/chains/definitions/sonicTestnet.d.ts +1 -1
- package/_types/chains/definitions/sovaSepolia.d.ts +1 -1
- package/_types/chains/definitions/spicy.d.ts +1 -1
- package/_types/chains/definitions/step.d.ts +1 -1
- package/_types/chains/definitions/storyOdyssey.d.ts +1 -1
- package/_types/chains/definitions/storyTestnet.d.ts +1 -1
- package/_types/chains/definitions/stratis.d.ts +1 -1
- package/_types/chains/definitions/superlumio.d.ts +1 -1
- package/_types/chains/definitions/swan.d.ts +1 -1
- package/_types/chains/definitions/swanProximaTestnet.d.ts +1 -1
- package/_types/chains/definitions/swanSaturnTestnet.d.ts +1 -1
- package/_types/chains/definitions/swissdlt.d.ts +1 -1
- package/_types/chains/definitions/taikoKatla.d.ts +1 -1
- package/_types/chains/definitions/taikoTestnetSepolia.d.ts +1 -1
- package/_types/chains/definitions/taraxa.d.ts +1 -1
- package/_types/chains/definitions/taraxaTestnet.d.ts +1 -1
- package/_types/chains/definitions/telcoinTestnet.d.ts +1 -1
- package/_types/chains/definitions/telosTestnet.d.ts +1 -1
- package/_types/chains/definitions/tenet.d.ts +1 -1
- package/_types/chains/definitions/ternoa.d.ts +1 -1
- package/_types/chains/definitions/that.d.ts +1 -1
- package/_types/chains/definitions/theta.d.ts +1 -1
- package/_types/chains/definitions/thetaTestnet.d.ts +1 -1
- package/_types/chains/definitions/thunderTestnet.d.ts +1 -1
- package/_types/chains/definitions/tiktrixTestnet.d.ts +1 -1
- package/_types/chains/definitions/tomb.d.ts +1 -1
- package/_types/chains/definitions/tron.d.ts +1 -1
- package/_types/chains/definitions/tronShasta.d.ts +1 -1
- package/_types/chains/definitions/ubiq.d.ts +1 -1
- package/_types/chains/definitions/ultra.d.ts +1 -1
- package/_types/chains/definitions/ultraTestnet.d.ts +1 -1
- package/_types/chains/definitions/ultron.d.ts +1 -1
- package/_types/chains/definitions/ultronTestnet.d.ts +1 -1
- package/_types/chains/definitions/unique.d.ts +1 -1
- package/_types/chains/definitions/uniqueOpal.d.ts +1 -1
- package/_types/chains/definitions/uniqueQuartz.d.ts +1 -1
- package/_types/chains/definitions/vanar.d.ts +1 -1
- package/_types/chains/definitions/vechain.d.ts +1 -1
- package/_types/chains/definitions/viction.d.ts +1 -1
- package/_types/chains/definitions/vision.d.ts +1 -1
- package/_types/chains/definitions/visionTestnet.d.ts +1 -1
- package/_types/chains/definitions/weavevmAlphanet.d.ts +1 -1
- package/_types/chains/definitions/wemix.d.ts +1 -1
- package/_types/chains/definitions/wemixTestnet.d.ts +1 -1
- package/_types/chains/definitions/westendAssetHub.d.ts +1 -1
- package/_types/chains/definitions/whitechainTestnet.d.ts +1 -1
- package/_types/chains/definitions/wmcTestnet.d.ts +1 -1
- package/_types/chains/definitions/worldLand.d.ts +1 -1
- package/_types/chains/definitions/xaiTestnet.d.ts +1 -1
- package/_types/chains/definitions/xphereMainnet.d.ts +1 -1
- package/_types/chains/definitions/xphereTestnet.d.ts +1 -1
- package/_types/chains/definitions/xrOne.d.ts +1 -1
- package/_types/chains/definitions/xrSepolia.d.ts +1 -1
- package/_types/chains/definitions/yooldoVerse.d.ts +1 -1
- package/_types/chains/definitions/yooldoVerseTestnet.d.ts +1 -1
- package/_types/chains/definitions/zeniq.d.ts +1 -1
- package/_types/chains/definitions/zeroNetwork.d.ts +1 -1
- package/_types/chains/definitions/zhejiang.d.ts +1 -1
- package/_types/chains/definitions/zilliqa.d.ts +1 -1
- package/_types/chains/definitions/zilliqaTestnet.d.ts +1 -1
- package/_types/chains/definitions/zkFairTestnet.d.ts +1 -1
- package/_types/chains/definitions/zkLinkNova.d.ts +1 -1
- package/_types/chains/definitions/zkLinkNovaSepoliaTestnet.d.ts +1 -1
- package/_types/chains/definitions/zksync.d.ts +1 -1
- package/_types/chains/definitions/zksyncInMemoryNode.d.ts +1 -1
- package/_types/chains/definitions/zksyncLocalCustomHyperchain.d.ts +1 -1
- package/_types/chains/definitions/zksyncLocalHyperchain.d.ts +1 -1
- package/_types/chains/definitions/zksyncLocalHyperchainL1.d.ts +1 -1
- package/_types/chains/definitions/zksyncLocalNode.d.ts +1 -1
- package/_types/chains/definitions/zksyncSepoliaTestnet.d.ts +1 -1
- package/_types/constants/abis.d.ts +2 -2
- package/_types/constants/abis.d.ts.map +1 -1
- package/_types/constants/contracts.d.ts +1 -1
- package/_types/constants/contracts.d.ts.map +1 -1
- package/_types/errors/version.d.ts +1 -1
- package/_types/index.d.ts +9 -2
- package/_types/index.d.ts.map +1 -1
- package/_types/types/chain.d.ts +1 -1
- package/_types/types/chain.d.ts.map +1 -1
- package/_types/utils/index.d.ts +3 -0
- package/_types/utils/index.d.ts.map +1 -1
- package/_types/utils/signature/isErc8010Signature.d.ts +8 -0
- package/_types/utils/signature/isErc8010Signature.d.ts.map +1 -0
- package/_types/utils/signature/parseErc8010Signature.d.ts +30 -0
- package/_types/utils/signature/parseErc8010Signature.d.ts.map +1 -0
- package/_types/utils/signature/serializeErc8010Signature.d.ts +27 -0
- package/_types/utils/signature/serializeErc8010Signature.d.ts.map +1 -0
- package/actions/public/verifyHash.ts +304 -61
- package/chains/definitions/abstract.ts +1 -1
- package/chains/definitions/abstractTestnet.ts +1 -1
- package/chains/definitions/zksync.ts +1 -1
- package/chains/definitions/zksyncSepoliaTestnet.ts +1 -1
- package/constants/abis.ts +2 -2
- package/constants/contracts.ts +1 -1
- package/errors/version.ts +1 -1
- package/index.ts +24 -2
- package/package.json +2 -2
- package/types/chain.ts +1 -1
- package/utils/index.ts +18 -0
- package/utils/signature/isErc8010Signature.ts +14 -0
- package/utils/signature/parseErc8010Signature.ts +67 -0
- package/utils/signature/serializeErc8010Signature.ts +53 -0
@@ -0,0 +1,67 @@
|
|
1
|
+
import type { Address } from 'abitype'
|
2
|
+
import * as SignatureErc8010 from 'ox/erc8010/SignatureErc8010'
|
3
|
+
import type { ErrorType } from '../../errors/utils.js'
|
4
|
+
import type { SignedAuthorization } from '../../types/authorization.js'
|
5
|
+
import type { Hex } from '../../types/misc.js'
|
6
|
+
import type { OneOf, Prettify } from '../../types/utils.js'
|
7
|
+
import { numberToHex } from '../encoding/toHex.js'
|
8
|
+
import {
|
9
|
+
type IsErc8010SignatureErrorType,
|
10
|
+
isErc8010Signature,
|
11
|
+
} from './isErc8010Signature.js'
|
12
|
+
|
13
|
+
export type ParseErc8010SignatureParameters = Hex
|
14
|
+
|
15
|
+
export type ParseErc8010SignatureReturnType = Prettify<
|
16
|
+
OneOf<
|
17
|
+
| {
|
18
|
+
/** Address of the initializer. */
|
19
|
+
address?: Address | undefined
|
20
|
+
/** Authorization signed by the delegatee. */
|
21
|
+
authorization: SignedAuthorization
|
22
|
+
/** Data to initialize the delegation. */
|
23
|
+
data?: Hex | undefined
|
24
|
+
/** The original signature. */
|
25
|
+
signature: Hex
|
26
|
+
}
|
27
|
+
| {
|
28
|
+
/** The original signature. */
|
29
|
+
signature: Hex
|
30
|
+
}
|
31
|
+
>
|
32
|
+
>
|
33
|
+
|
34
|
+
export type ParseErc8010SignatureErrorType =
|
35
|
+
| IsErc8010SignatureErrorType
|
36
|
+
| ErrorType
|
37
|
+
|
38
|
+
/**
|
39
|
+
* @description Parses a hex-formatted ERC-8010 flavoured signature.
|
40
|
+
* If the signature is not in ERC-8010 format, then the underlying (original) signature is returned.
|
41
|
+
*
|
42
|
+
* @param signature ERC-8010 signature in hex format.
|
43
|
+
* @returns The parsed ERC-8010 signature.
|
44
|
+
*/
|
45
|
+
export function parseErc8010Signature(
|
46
|
+
signature: ParseErc8010SignatureParameters,
|
47
|
+
): ParseErc8010SignatureReturnType {
|
48
|
+
if (!isErc8010Signature(signature)) return { signature }
|
49
|
+
|
50
|
+
const {
|
51
|
+
authorization: authorization_ox,
|
52
|
+
to,
|
53
|
+
...rest
|
54
|
+
} = SignatureErc8010.unwrap(signature)
|
55
|
+
return {
|
56
|
+
authorization: {
|
57
|
+
address: authorization_ox.address,
|
58
|
+
chainId: authorization_ox.chainId,
|
59
|
+
nonce: Number(authorization_ox.nonce),
|
60
|
+
r: numberToHex(authorization_ox.r, { size: 32 }),
|
61
|
+
s: numberToHex(authorization_ox.s, { size: 32 }),
|
62
|
+
yParity: authorization_ox.yParity,
|
63
|
+
},
|
64
|
+
...(to ? { address: to } : {}),
|
65
|
+
...rest,
|
66
|
+
}
|
67
|
+
}
|
@@ -0,0 +1,53 @@
|
|
1
|
+
import type { Address } from 'abitype'
|
2
|
+
import * as SignatureErc8010 from 'ox/erc8010/SignatureErc8010'
|
3
|
+
import type { ErrorType } from '../../errors/utils.js'
|
4
|
+
import type { SignedAuthorization } from '../../types/authorization.js'
|
5
|
+
import type { ByteArray, Hex } from '../../types/misc.js'
|
6
|
+
import { hexToBytes } from '../encoding/toBytes.js'
|
7
|
+
|
8
|
+
type To = 'bytes' | 'hex'
|
9
|
+
|
10
|
+
export type SerializeErc8010SignatureParameters<to extends To = 'hex'> = {
|
11
|
+
/** Address of the initializer. */
|
12
|
+
address?: Address | undefined
|
13
|
+
/** Authorization signed by the delegatee. */
|
14
|
+
authorization: SignedAuthorization
|
15
|
+
/** Data to initialize the delegation. */
|
16
|
+
data?: Hex | undefined
|
17
|
+
/** The original signature. */
|
18
|
+
signature: Hex
|
19
|
+
to?: to | To | undefined
|
20
|
+
}
|
21
|
+
|
22
|
+
export type SerializeErc8010SignatureReturnType<to extends To = 'hex'> =
|
23
|
+
| (to extends 'hex' ? Hex : never)
|
24
|
+
| (to extends 'bytes' ? ByteArray : never)
|
25
|
+
|
26
|
+
export type SerializeErc8010SignatureErrorType = ErrorType
|
27
|
+
|
28
|
+
/**
|
29
|
+
* @description Serializes a ERC-8010 flavoured signature into hex format.
|
30
|
+
*
|
31
|
+
* @param signature ERC-8010 signature in object format.
|
32
|
+
* @returns ERC-8010 signature in hex format.
|
33
|
+
*/
|
34
|
+
export function serializeErc8010Signature<to extends To = 'hex'>(
|
35
|
+
parameters: SerializeErc8010SignatureParameters<to>,
|
36
|
+
): SerializeErc8010SignatureReturnType<to> {
|
37
|
+
const { address, data, signature, to = 'hex' } = parameters
|
38
|
+
const signature_ = SignatureErc8010.wrap({
|
39
|
+
authorization: {
|
40
|
+
address: parameters.authorization.address,
|
41
|
+
chainId: parameters.authorization.chainId,
|
42
|
+
nonce: BigInt(parameters.authorization.nonce),
|
43
|
+
r: BigInt(parameters.authorization.r),
|
44
|
+
s: BigInt(parameters.authorization.s),
|
45
|
+
yParity: parameters.authorization.yParity!,
|
46
|
+
},
|
47
|
+
data,
|
48
|
+
signature,
|
49
|
+
to: address,
|
50
|
+
})
|
51
|
+
if (to === 'hex') return signature_ as SerializeErc8010SignatureReturnType<to>
|
52
|
+
return hexToBytes(signature_) as SerializeErc8010SignatureReturnType<to>
|
53
|
+
}
|