@pufferfinance/puffer-sdk 1.29.0 → 1.29.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/puffer-client-helpers.cjs +1 -1
- package/dist/api/puffer-client-helpers.cjs.map +1 -1
- package/dist/api/puffer-client-helpers.js +3 -3
- package/dist/api/puffer-client-helpers.js.map +1 -1
- package/dist/api/puffer-client.cjs +1 -1
- package/dist/api/puffer-client.js +2 -2
- package/dist/{ccip-Dv8Z-tXr.cjs → ccip-BQKdkZzc.cjs} +2 -2
- package/dist/{ccip-Dv8Z-tXr.cjs.map → ccip-BQKdkZzc.cjs.map} +1 -1
- package/dist/{ccip-dYaIZXTj.js → ccip-DkpMYAPh.js} +4 -4
- package/dist/{ccip-dYaIZXTj.js.map → ccip-DkpMYAPh.js.map} +1 -1
- package/dist/chains/constants.cjs +1 -1
- package/dist/chains/constants.d.ts +3 -1
- package/dist/chains/constants.js +1 -1
- package/dist/{constants-BO_Dvglw.js → constants-0GZgavMM.js} +511 -443
- package/dist/constants-0GZgavMM.js.map +1 -0
- package/dist/constants-CwkqnEF2.cjs +8 -0
- package/dist/constants-CwkqnEF2.cjs.map +1 -0
- package/dist/contracts/addresses.cjs +1 -1
- package/dist/contracts/addresses.js +1 -1
- package/dist/contracts/handlers/carrot-staking-handler.cjs +1 -1
- package/dist/contracts/handlers/carrot-staking-handler.d.ts +9 -3
- package/dist/contracts/handlers/carrot-staking-handler.js +2 -2
- package/dist/contracts/handlers/carrot-vesting-handler.cjs +1 -1
- package/dist/contracts/handlers/carrot-vesting-handler.d.ts +9 -3
- package/dist/contracts/handlers/carrot-vesting-handler.js +2 -2
- package/dist/contracts/handlers/concrete-vault-handler.cjs +1 -1
- package/dist/contracts/handlers/concrete-vault-handler.d.ts +9 -3
- package/dist/contracts/handlers/concrete-vault-handler.js +2 -2
- package/dist/contracts/handlers/distributor-handler.cjs +1 -1
- package/dist/contracts/handlers/distributor-handler.d.ts +9 -3
- package/dist/contracts/handlers/distributor-handler.js +2 -2
- package/dist/contracts/handlers/erc20-permit-handler.cjs +1 -1
- package/dist/contracts/handlers/erc20-permit-handler.cjs.map +1 -1
- package/dist/contracts/handlers/erc20-permit-handler.d.ts +9 -3
- package/dist/contracts/handlers/erc20-permit-handler.js +3 -3
- package/dist/contracts/handlers/erc20-permit-handler.js.map +1 -1
- package/dist/contracts/handlers/gauge-registry-handler.cjs +1 -1
- package/dist/contracts/handlers/gauge-registry-handler.d.ts +9 -3
- package/dist/contracts/handlers/gauge-registry-handler.js +2 -2
- package/dist/contracts/handlers/guardian-module-handler.cjs +1 -1
- package/dist/contracts/handlers/guardian-module-handler.d.ts +9 -3
- package/dist/contracts/handlers/guardian-module-handler.js +2 -2
- package/dist/contracts/handlers/institutional-access-manager-handler.cjs +1 -1
- package/dist/contracts/handlers/institutional-access-manager-handler.d.ts +9 -3
- package/dist/contracts/handlers/institutional-access-manager-handler.js +3 -3
- package/dist/contracts/handlers/institutional-vault-handler.cjs +1 -1
- package/dist/contracts/handlers/institutional-vault-handler.d.ts +9 -3
- package/dist/contracts/handlers/institutional-vault-handler.js +2 -2
- package/dist/contracts/handlers/l1-reward-manager-handler.cjs +1 -1
- package/dist/contracts/handlers/l1-reward-manager-handler.d.ts +9 -3
- package/dist/contracts/handlers/l1-reward-manager-handler.js +2 -2
- package/dist/contracts/handlers/l2-reward-manager-handler.cjs +1 -1
- package/dist/contracts/handlers/l2-reward-manager-handler.d.ts +9 -3
- package/dist/contracts/handlers/l2-reward-manager-handler.js +2 -2
- package/dist/contracts/handlers/lagoon-vault-handler.cjs +1 -1
- package/dist/contracts/handlers/lagoon-vault-handler.d.ts +9 -3
- package/dist/contracts/handlers/lagoon-vault-handler.js +2 -2
- package/dist/contracts/handlers/mtw-carrot-handler.cjs +1 -1
- package/dist/contracts/handlers/mtw-carrot-handler.d.ts +9 -3
- package/dist/contracts/handlers/mtw-carrot-handler.js +2 -2
- package/dist/contracts/handlers/nucleus-accountant-handler.cjs +1 -1
- package/dist/contracts/handlers/nucleus-accountant-handler.d.ts +9 -3
- package/dist/contracts/handlers/nucleus-accountant-handler.js +1 -1
- package/dist/contracts/handlers/nucleus-atomic-queue-handler.cjs +1 -1
- package/dist/contracts/handlers/nucleus-atomic-queue-handler.d.ts +10 -4
- package/dist/contracts/handlers/nucleus-atomic-queue-handler.js +2 -2
- package/dist/contracts/handlers/nucleus-boring-vault-handler.cjs +1 -1
- package/dist/contracts/handlers/nucleus-boring-vault-handler.d.ts +9 -3
- package/dist/contracts/handlers/nucleus-boring-vault-handler.js +2 -2
- package/dist/contracts/handlers/nucleus-teller-handler.cjs +1 -1
- package/dist/contracts/handlers/nucleus-teller-handler.d.ts +9 -3
- package/dist/contracts/handlers/nucleus-teller-handler.js +2 -2
- package/dist/contracts/handlers/puf-locker-handler.cjs +1 -1
- package/dist/contracts/handlers/puf-locker-handler.d.ts +9 -3
- package/dist/contracts/handlers/puf-locker-handler.js +2 -2
- package/dist/contracts/handlers/puffer-depositor-handler.cjs +1 -1
- package/dist/contracts/handlers/puffer-depositor-handler.d.ts +9 -3
- package/dist/contracts/handlers/puffer-depositor-handler.js +2 -2
- package/dist/contracts/handlers/puffer-l2-depositor-handler.cjs +1 -1
- package/dist/contracts/handlers/puffer-l2-depositor-handler.d.ts +9 -3
- package/dist/contracts/handlers/puffer-l2-depositor-handler.js +2 -2
- package/dist/contracts/handlers/puffer-oracle-v2-handler.cjs +1 -1
- package/dist/contracts/handlers/puffer-oracle-v2-handler.d.ts +9 -3
- package/dist/contracts/handlers/puffer-oracle-v2-handler.js +2 -2
- package/dist/contracts/handlers/puffer-protocol-handler.cjs +1 -1
- package/dist/contracts/handlers/puffer-protocol-handler.d.ts +9 -3
- package/dist/contracts/handlers/puffer-protocol-handler.js +2 -2
- package/dist/contracts/handlers/puffer-vault-handler.cjs +1 -1
- package/dist/contracts/handlers/puffer-vault-handler.d.ts +9 -3
- package/dist/contracts/handlers/puffer-vault-handler.js +2 -2
- package/dist/contracts/handlers/puffer-withdrawal-manager-handler.cjs +1 -1
- package/dist/contracts/handlers/puffer-withdrawal-manager-handler.d.ts +9 -3
- package/dist/contracts/handlers/puffer-withdrawal-manager-handler.js +2 -2
- package/dist/contracts/handlers/validator-ticket-handler.cjs +1 -1
- package/dist/contracts/handlers/validator-ticket-handler.d.ts +10 -4
- package/dist/contracts/handlers/validator-ticket-handler.js +2 -2
- package/dist/contracts/handlers/vl-puffer-handler.cjs +1 -1
- package/dist/contracts/handlers/vl-puffer-handler.d.ts +9 -3
- package/dist/contracts/handlers/vl-puffer-handler.js +2 -2
- package/dist/contracts/tokens.cjs +1 -1
- package/dist/contracts/tokens.cjs.map +1 -1
- package/dist/contracts/tokens.d.ts +1 -0
- package/dist/contracts/tokens.js +9 -4
- package/dist/contracts/tokens.js.map +1 -1
- package/dist/contracts/vaults-addresses.cjs +1 -1
- package/dist/contracts/vaults-addresses.js +1 -1
- package/dist/{getContract-C6a8L2Jd.cjs → getContract-BinxcNSi.cjs} +2 -2
- package/dist/{getContract-C6a8L2Jd.cjs.map → getContract-BinxcNSi.cjs.map} +1 -1
- package/dist/{getContract-DRjKmuyC.js → getContract-DaCKXI8P.js} +2 -2
- package/dist/{getContract-DRjKmuyC.js.map → getContract-DaCKXI8P.js.map} +1 -1
- package/dist/http-BC-nqLLb.cjs +5 -0
- package/dist/http-BC-nqLLb.cjs.map +1 -0
- package/dist/{http-ZcKHvn9V.js → http-DfLfk9B5.js} +1343 -1302
- package/dist/http-DfLfk9B5.js.map +1 -0
- package/dist/{localBatchGatewayRequest-BTy8p6qj.cjs → localBatchGatewayRequest-B7XKTHRK.cjs} +2 -2
- package/dist/{localBatchGatewayRequest-BTy8p6qj.cjs.map → localBatchGatewayRequest-B7XKTHRK.cjs.map} +1 -1
- package/dist/{localBatchGatewayRequest-Cb0QKL0s.js → localBatchGatewayRequest-C1C2Kpcs.js} +3 -3
- package/dist/{localBatchGatewayRequest-Cb0QKL0s.js.map → localBatchGatewayRequest-C1C2Kpcs.js.map} +1 -1
- package/dist/main.cjs +1 -1
- package/dist/main.js +1 -1
- package/dist/{secp256k1-Dx1prb1E.js → secp256k1-BNsewQvi.js} +2 -2
- package/dist/{secp256k1-Dx1prb1E.js.map → secp256k1-BNsewQvi.js.map} +1 -1
- package/dist/{secp256k1-CzsL7iVx.cjs → secp256k1-Be7RiBch.cjs} +2 -2
- package/dist/{secp256k1-CzsL7iVx.cjs.map → secp256k1-Be7RiBch.cjs.map} +1 -1
- package/dist/utils/version.cjs +1 -1
- package/dist/utils/version.js +1 -1
- package/dist/writeContract-De1cMFmW.cjs +36 -0
- package/dist/writeContract-De1cMFmW.cjs.map +1 -0
- package/dist/{writeContract-BFxyLFA9.js → writeContract-DordYfu2.js} +1650 -1479
- package/dist/writeContract-DordYfu2.js.map +1 -0
- package/package.json +2 -2
- package/dist/constants-4-ehn8UI.cjs +0 -9
- package/dist/constants-4-ehn8UI.cjs.map +0 -1
- package/dist/constants-BO_Dvglw.js.map +0 -1
- package/dist/http-CRYDzx7w.cjs +0 -5
- package/dist/http-CRYDzx7w.cjs.map +0 -1
- package/dist/http-ZcKHvn9V.js.map +0 -1
- package/dist/writeContract-BFxyLFA9.js.map +0 -1
- package/dist/writeContract-HBsqM_Od.cjs +0 -36
- package/dist/writeContract-HBsqM_Od.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","sources":["../../lib/contracts/tokens.ts"],"sourcesContent":["import { Address } from 'viem';\nimport { Chain } from '../chains/constants';\n\nexport enum Token {\n USDT = 'USDT',\n USDC = 'USDC',\n DAI = 'DAI',\n WETH = 'WETH',\n stETH = 'stETH',\n wstETH = 'wstETH',\n eETH = 'eETH',\n cbETH = 'cbETH',\n ALT = 'ALT',\n pufETHwstE = 'pufETHwstE',\n pufETH = 'pufETH',\n xPufETH = 'xPufETH',\n ctTACpufETH = 'ctTACpufETH',\n tacpufETH = 'tacpufETH',\n WBTC = 'WBTC',\n LBTC = 'LBTC',\n tBTC = 'tBTC',\n cbBTC = 'cbBTC',\n pumpBTC = 'pumpBTC',\n SolvBTC = 'SolvBTC',\n PUFFER = 'PUFFER',\n vePUFFER = 'vePUFFER',\n CARROT = 'CARROT',\n lvlUSD = 'lvlUSD',\n slvlUSD = 'slvlUSD',\n mtwCARROT = 'mtwCARROT',\n sCARROT = 'sCARROT',\n LINK = 'LINK',\n TEST = 'TEST',\n VT = 'VT',\n EIGEN = 'EIGEN',\n ARPA = 'ARPA',\n vlPUFFER = 'vlPUFFER',\n}\n\nexport enum UnifiToken {\n unifiETH = 'unifiETH',\n unifiUSD = 'unifiUSD',\n unifiBTC = 'unifiBTC',\n // Symbiotic pufETH.\n pufETHs = 'pufETHs',\n}\n\nexport type AnyToken = Token | UnifiToken;\n\nexport const TOKENS_ADDRESSES: {\n [key in AnyToken]: { [chain in Chain]: Address };\n} = {\n [Token.VT]: {\n [Chain.Mainnet]: '0x7D26AD6F6BA9D6bA1de0218Ae5e20CD3a273a55A',\n [Chain.Holesky]: '0xB028194785178a94Fe608994A4d5AD84c285A640',\n },\n [Token.TEST]: {\n [Chain.Sepolia]: '0xd26e3540a0a368845b234736a0700e0a5a821bba',\n [Chain.OptimismSepolia]: '0x7Fa13D6CB44164ea09dF8BCc673A8849092D435b',\n },\n [Token.LINK]: {\n [Chain.BaseSepolia]: '0xe4ab69c077896252fafbd49efd26b5d171a32410',\n [Chain.OptimismSepolia]: '0xE4aB69C077896252FAFBD49EFD26B5D171A32410',\n },\n [Token.USDT]: {\n [Chain.Mainnet]: '0xdac17f958d2ee523a2206206994597c13d831ec7',\n [Chain.Holesky]: '0xd5bef2c64f418fd460319521d37862327122e3bc',\n [Chain.Sepolia]: '0xaa8e23fb1079ea71e0a56f48a2aa51851d8433d0',\n },\n [Token.USDC]: {\n [Chain.Mainnet]: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',\n [Chain.Holesky]: '0x64Cc0de0429bcb87e875905a0c313ec88f6d1d3E',\n },\n [Token.DAI]: {\n [Chain.Mainnet]: '0x6b175474e89094c44da98b954eedeac495271d0f',\n [Chain.Holesky]: '0x4478905505ddfb7eA1c8A9f46eAEC3695cE542ac',\n },\n [Token.WETH]: {\n [Chain.Mainnet]: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',\n [Chain.Holesky]: '0x1d181cBd1825e9eBC6AD966878D555A7215FF4F0',\n [Chain.Hoodi]: '0x251609d3e04165CA5CfaBa5DEE70A4e47863D060',\n },\n [Token.stETH]: {\n [Chain.Mainnet]: '0xae7ab96520de3a18e5e111b5eaab095312d7fe84',\n [Chain.Holesky]: '0x3F1c547b21f65e10480dE3ad8E19fAAC46C95034',\n },\n [Token.wstETH]: {\n [Chain.Mainnet]: '0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0',\n [Chain.Holesky]: '0x8d09a4502Cc8Cf1547aD300E066060D043f6982D',\n },\n [Token.eETH]: {\n [Chain.Mainnet]: '0x35fa164735182de50811e8e2e824cfb9b6118ac2',\n [Chain.Holesky]: '0x7ba2ee123b5977e3da040e1eacb3a61c82c17876',\n },\n [Token.cbETH]: {\n [Chain.Mainnet]: '0xbe9895146f7af43049ca1c1ae358b0541ea49704',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.ALT]: {\n [Chain.Mainnet]: '0x8457ca5040ad67fdebbcc8edce889a335bc0fbfb',\n [Chain.Holesky]: '0xaf5588a571b42c7e50bd440d80f9bf94a4db94ee',\n },\n [Token.pufETHwstE]: {\n [Chain.Mainnet]: '0xeeda34a377dd0ca676b9511ee1324974fa8d980d',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.pufETH]: {\n [Chain.Mainnet]: '0xd9a442856c234a39a81a089c06451ebaa4306a72',\n [Chain.Holesky]: '0x9196830bB4c05504E0A8475A0aD566AceEB6BeC9',\n [Chain.Soneium]: '0x6c460b2c6D6719562D5dA43E5152B375e79B9A8B',\n [Chain.Arbitrum]: '0x37D6382B6889cCeF8d6871A8b60E667115eDDBcF',\n [Chain.Berachain]: '0x417b0Ff8358Eb72867Da92225CaB99BCD5e6F205',\n [Chain.TAC]: '0x37D6382B6889cCeF8d6871A8b60E667115eDDBcF',\n },\n [Token.xPufETH]: {\n [Chain.Mainnet]: '0xD7D2802f6b19843ac4DfE25022771FD83b5A7464',\n [Chain.Base]: '0x23dA5F2d509cb43A59d43C108a43eDf34510eff1',\n [Chain.Bsc]: '0x64274835D88F5c0215da8AADd9A5f2D2A2569381',\n [Chain.ApeChain]: '0x6234E5ef39B12EFdFcbd99dd7F452F27F3fEAE3b',\n [Chain.Zircuit]: '0x9346A5043C590133FE900aec643D9622EDddBA57',\n },\n [Token.ctTACpufETH]: {\n [Chain.Mainnet]: '0x78f314241df1ac151bfd0413eeb51979515f6abd',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.tacpufETH]: {\n // This is the pre-deposit contract.\n [Chain.Mainnet]: '0xf2e97704a567e003ed97f2d0976c45b2dda766a0',\n [Chain.TAC]: '0x85AF3C2755f17bA26D7326E8069Bf10719441068',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.WBTC]: {\n [Chain.Mainnet]: '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.LBTC]: {\n [Chain.Mainnet]: '0x8236a87084f8b84306f72007f36f2618a5634494',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.tBTC]: {\n [Chain.Mainnet]: '0x18084fbA666a33d37592fA2633fD49a74DD93a88',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.cbBTC]: {\n [Chain.Mainnet]: '0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.pumpBTC]: {\n [Chain.Mainnet]: '0xf469fbd2abcd6b9de8e169d128226c0fc90a012e',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.SolvBTC]: {\n [Chain.Mainnet]: '0x7a56e1c57c7475ccf742a1832b028f0456652f97',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.PUFFER]: {\n [Chain.Mainnet]: '0x4d1c297d39c5c1277964d0e3f8aa901493664530',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.vePUFFER]: {\n [Chain.Mainnet]: '0xA55eD5808aeCDF23AE3782C1443185f5D2363ce7',\n },\n [Token.CARROT]: {\n [Chain.Mainnet]: '0x282a69142bac47855c3fbe1693fcc4ba3b4d5ed6',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.lvlUSD]: {\n [Chain.Mainnet]: '0x7C1156E515aA1A2E851674120074968C905aAF37',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.slvlUSD]: {\n [Chain.Mainnet]: '0x4737d9b4592b40d51e110b94c9c043c6654067ae',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.mtwCARROT]: {\n [Chain.Mainnet]: '0x8A5A5DE9db5770123Ff2145F59e9F20047f0A8EC',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.sCARROT]: {\n [Chain.Mainnet]: '0x99c599227c65132822f0290d9e5b4b0430d6c0d6',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.EIGEN]: {\n [Chain.Mainnet]: '0xec53bF9167f50cDEB3Ae105f56099aaaB9061F83',\n },\n [Token.ARPA]: {\n [Chain.Mainnet]: '0xBA50933C268F567BDC86E1aC131BE072C6B0b71a',\n },\n\n // UniFi Tokens\n [UnifiToken.unifiETH]: {\n [Chain.Mainnet]: '0x196ead472583bc1e9af7a05f860d9857e1bd3dcc',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [UnifiToken.unifiUSD]: {\n [Chain.Mainnet]: '0x82c40e07277eBb92935f79cE92268F80dDc7caB4',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [UnifiToken.unifiBTC]: {\n [Chain.Mainnet]: '0x170d847a8320f3b6a77ee15b0cae430e3ec933a0',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [UnifiToken.pufETHs]: {\n [Chain.Mainnet]: '0x62a4ce0722ee65635c0f8339dd814d549b6f6735',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.vlPUFFER]: {\n [Chain.Mainnet]: '0x1e168460ea0cf3f126ddd3183dc2e376515a5e91',\n },\n};\n\nexport const TOKENS_PERMIT_VERSION: { [key in AnyToken]: string } = {\n // USDC does not support permit signatures (ERC20Permit).\n // https://ethereum.stackexchange.com/questions/166254/usdt-contract-dont-have-erc20permit\n [Token.USDT]: '',\n // USDC does not support permit signatures (ERC20Permit).\n [Token.USDC]: '',\n // DAI does not support permit signatures (ERC20Permit).\n [Token.DAI]: '',\n // WETH does not support permit signatures (ERC20Permit).\n [Token.WETH]: '',\n [Token.stETH]: '2',\n // Puffer Quest v1 uses version 1 for wstETH.\n [Token.wstETH]: '1',\n // https://github.com/etherfi-protocol/smart-contracts/blob/7c66e571df4fe7ec502a3c325b623bc52349ef9d/src/EETH.sol#L55\n [Token.eETH]: '1',\n // https://etherscan.io/token/0xbe9895146f7af43049ca1c1ae358b0541ea49704#readProxyContract#F26\n [Token.cbETH]: '2',\n [Token.ALT]: '1',\n [Token.pufETHwstE]: 'v7.0.0',\n [Token.pufETH]: '1',\n [Token.xPufETH]: '1',\n [Token.ctTACpufETH]: '',\n // https://etherscan.io/address/0xf2e97704a567e003ed97f2d0976c45b2dda766a0#readProxyContract#F39\n [Token.tacpufETH]: 'v0.5.0',\n [Token.WBTC]: '',\n [Token.LBTC]: '',\n [Token.tBTC]: '',\n [Token.cbBTC]: '',\n [Token.pumpBTC]: '',\n [Token.SolvBTC]: '',\n [Token.PUFFER]: '1',\n [Token.vePUFFER]: '1',\n [Token.CARROT]: '1',\n [Token.lvlUSD]: '1',\n // `slvlUSD` supports permit but the transactions are reverting now\n // for some reason.\n [Token.slvlUSD]: '',\n [Token.mtwCARROT]: '',\n [Token.sCARROT]: '',\n [Token.LINK]: '',\n [Token.TEST]: '',\n [Token.VT]: '1',\n [Token.EIGEN]: '1',\n [Token.ARPA]: '1',\n\n // UniFi Tokens\n // https://etherscan.io/address/0x196ead472583bc1e9af7a05f860d9857e1bd3dcc#code#F7#L172\n [UnifiToken.unifiETH]: '1',\n // https://etherscan.io/address/0x82c40e07277eBb92935f79cE92268F80dDc7caB4#code#F7#L172\n [UnifiToken.unifiUSD]: '1',\n // https://etherscan.io/address/0x170d847a8320f3b6a77ee15b0cae430e3ec933a0#code#F7#L172\n [UnifiToken.unifiBTC]: '1',\n // https://etherscan.io/address/0x62a4ce0722ee65635c0f8339dd814d549b6f6735#code#F7#L172\n [UnifiToken.pufETHs]: '1',\n [Token.vlPUFFER]: '1',\n};\n\nexport const TOKENS_SALT: Partial<{\n [key in AnyToken]: { [chain in Chain]: Address };\n}> = {\n [Token.pufETHwstE]: {\n // Taken from\n // https://etherscan.io/token/0xeeda34a377dd0ca676b9511ee1324974fa8d980d#readContract#F39.\n [Chain.Mainnet]:\n '0x0e986ed5610121905f03fd3850cebcc00f66166fc3ab760acb4e087d735d9457',\n [Chain.Holesky]:\n '0x0000000000000000000000000000000000000000000000000000000000000000',\n },\n};\n"],"names":["Token","UnifiToken","TOKENS_ADDRESSES","Chain","TOKENS_PERMIT_VERSION","TOKENS_SALT"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tokens.js","sources":["../../lib/contracts/tokens.ts"],"sourcesContent":["import { Address } from 'viem';\nimport { Chain } from '../chains/constants';\n\nexport enum Token {\n USDT = 'USDT',\n USDC = 'USDC',\n DAI = 'DAI',\n WETH = 'WETH',\n stETH = 'stETH',\n wstETH = 'wstETH',\n eETH = 'eETH',\n cbETH = 'cbETH',\n ALT = 'ALT',\n pufETHwstE = 'pufETHwstE',\n pufETH = 'pufETH',\n xPufETH = 'xPufETH',\n ctTACpufETH = 'ctTACpufETH',\n tacpufETH = 'tacpufETH',\n WBTC = 'WBTC',\n LBTC = 'LBTC',\n tBTC = 'tBTC',\n cbBTC = 'cbBTC',\n pumpBTC = 'pumpBTC',\n SolvBTC = 'SolvBTC',\n FBTC = 'FBTC',\n PUFFER = 'PUFFER',\n vePUFFER = 'vePUFFER',\n CARROT = 'CARROT',\n lvlUSD = 'lvlUSD',\n slvlUSD = 'slvlUSD',\n mtwCARROT = 'mtwCARROT',\n sCARROT = 'sCARROT',\n LINK = 'LINK',\n TEST = 'TEST',\n VT = 'VT',\n EIGEN = 'EIGEN',\n ARPA = 'ARPA',\n vlPUFFER = 'vlPUFFER',\n}\n\nexport enum UnifiToken {\n unifiETH = 'unifiETH',\n unifiUSD = 'unifiUSD',\n unifiBTC = 'unifiBTC',\n // Symbiotic pufETH.\n pufETHs = 'pufETHs',\n}\n\nexport type AnyToken = Token | UnifiToken;\n\nexport const TOKENS_ADDRESSES: {\n [key in AnyToken]: { [chain in Chain]: Address };\n} = {\n [Token.VT]: {\n [Chain.Mainnet]: '0x7D26AD6F6BA9D6bA1de0218Ae5e20CD3a273a55A',\n [Chain.Holesky]: '0xB028194785178a94Fe608994A4d5AD84c285A640',\n },\n [Token.TEST]: {\n [Chain.Sepolia]: '0xd26e3540a0a368845b234736a0700e0a5a821bba',\n [Chain.OptimismSepolia]: '0x7Fa13D6CB44164ea09dF8BCc673A8849092D435b',\n },\n [Token.LINK]: {\n [Chain.BaseSepolia]: '0xe4ab69c077896252fafbd49efd26b5d171a32410',\n [Chain.OptimismSepolia]: '0xE4aB69C077896252FAFBD49EFD26B5D171A32410',\n },\n [Token.USDT]: {\n [Chain.Mainnet]: '0xdac17f958d2ee523a2206206994597c13d831ec7',\n [Chain.Holesky]: '0xd5bef2c64f418fd460319521d37862327122e3bc',\n [Chain.Sepolia]: '0xaa8e23fb1079ea71e0a56f48a2aa51851d8433d0',\n },\n [Token.USDC]: {\n [Chain.Mainnet]: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',\n [Chain.Holesky]: '0x64Cc0de0429bcb87e875905a0c313ec88f6d1d3E',\n },\n [Token.DAI]: {\n [Chain.Mainnet]: '0x6b175474e89094c44da98b954eedeac495271d0f',\n [Chain.Holesky]: '0x4478905505ddfb7eA1c8A9f46eAEC3695cE542ac',\n },\n [Token.WETH]: {\n [Chain.Mainnet]: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',\n [Chain.Holesky]: '0x1d181cBd1825e9eBC6AD966878D555A7215FF4F0',\n [Chain.Hoodi]: '0x251609d3e04165CA5CfaBa5DEE70A4e47863D060',\n },\n [Token.stETH]: {\n [Chain.Mainnet]: '0xae7ab96520de3a18e5e111b5eaab095312d7fe84',\n [Chain.Holesky]: '0x3F1c547b21f65e10480dE3ad8E19fAAC46C95034',\n },\n [Token.wstETH]: {\n [Chain.Mainnet]: '0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0',\n [Chain.Holesky]: '0x8d09a4502Cc8Cf1547aD300E066060D043f6982D',\n },\n [Token.eETH]: {\n [Chain.Mainnet]: '0x35fa164735182de50811e8e2e824cfb9b6118ac2',\n [Chain.Holesky]: '0x7ba2ee123b5977e3da040e1eacb3a61c82c17876',\n },\n [Token.cbETH]: {\n [Chain.Mainnet]: '0xbe9895146f7af43049ca1c1ae358b0541ea49704',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.ALT]: {\n [Chain.Mainnet]: '0x8457ca5040ad67fdebbcc8edce889a335bc0fbfb',\n [Chain.Holesky]: '0xaf5588a571b42c7e50bd440d80f9bf94a4db94ee',\n },\n [Token.pufETHwstE]: {\n [Chain.Mainnet]: '0xeeda34a377dd0ca676b9511ee1324974fa8d980d',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.pufETH]: {\n [Chain.Mainnet]: '0xd9a442856c234a39a81a089c06451ebaa4306a72',\n [Chain.Holesky]: '0x9196830bB4c05504E0A8475A0aD566AceEB6BeC9',\n [Chain.Soneium]: '0x6c460b2c6D6719562D5dA43E5152B375e79B9A8B',\n [Chain.Arbitrum]: '0x37D6382B6889cCeF8d6871A8b60E667115eDDBcF',\n [Chain.Berachain]: '0x417b0Ff8358Eb72867Da92225CaB99BCD5e6F205',\n [Chain.TAC]: '0x37D6382B6889cCeF8d6871A8b60E667115eDDBcF',\n },\n [Token.xPufETH]: {\n [Chain.Mainnet]: '0xD7D2802f6b19843ac4DfE25022771FD83b5A7464',\n [Chain.Base]: '0x23dA5F2d509cb43A59d43C108a43eDf34510eff1',\n [Chain.Bsc]: '0x64274835D88F5c0215da8AADd9A5f2D2A2569381',\n [Chain.ApeChain]: '0x6234E5ef39B12EFdFcbd99dd7F452F27F3fEAE3b',\n [Chain.Zircuit]: '0x9346A5043C590133FE900aec643D9622EDddBA57',\n },\n [Token.ctTACpufETH]: {\n [Chain.Mainnet]: '0x78f314241df1ac151bfd0413eeb51979515f6abd',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.tacpufETH]: {\n // This is the pre-deposit contract.\n [Chain.Mainnet]: '0xf2e97704a567e003ed97f2d0976c45b2dda766a0',\n [Chain.TAC]: '0x85AF3C2755f17bA26D7326E8069Bf10719441068',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.WBTC]: {\n [Chain.Mainnet]: '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.LBTC]: {\n [Chain.Mainnet]: '0x8236a87084f8b84306f72007f36f2618a5634494',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.tBTC]: {\n [Chain.Mainnet]: '0x18084fbA666a33d37592fA2633fD49a74DD93a88',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.cbBTC]: {\n [Chain.Mainnet]: '0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.pumpBTC]: {\n [Chain.Mainnet]: '0xf469fbd2abcd6b9de8e169d128226c0fc90a012e',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.SolvBTC]: {\n [Chain.Mainnet]: '0x7a56e1c57c7475ccf742a1832b028f0456652f97',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.FBTC]: {\n [Chain.Mainnet]: '0xC96dE26018A54D51c097160568752c4E3BD6C364',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.PUFFER]: {\n [Chain.Mainnet]: '0x4d1c297d39c5c1277964d0e3f8aa901493664530',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.vePUFFER]: {\n [Chain.Mainnet]: '0xA55eD5808aeCDF23AE3782C1443185f5D2363ce7',\n },\n [Token.CARROT]: {\n [Chain.Mainnet]: '0x282a69142bac47855c3fbe1693fcc4ba3b4d5ed6',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.lvlUSD]: {\n [Chain.Mainnet]: '0x7C1156E515aA1A2E851674120074968C905aAF37',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.slvlUSD]: {\n [Chain.Mainnet]: '0x4737d9b4592b40d51e110b94c9c043c6654067ae',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.mtwCARROT]: {\n [Chain.Mainnet]: '0x8A5A5DE9db5770123Ff2145F59e9F20047f0A8EC',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.sCARROT]: {\n [Chain.Mainnet]: '0x99c599227c65132822f0290d9e5b4b0430d6c0d6',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.EIGEN]: {\n [Chain.Mainnet]: '0xec53bF9167f50cDEB3Ae105f56099aaaB9061F83',\n },\n [Token.ARPA]: {\n [Chain.Mainnet]: '0xBA50933C268F567BDC86E1aC131BE072C6B0b71a',\n },\n\n // UniFi Tokens\n [UnifiToken.unifiETH]: {\n [Chain.Mainnet]: '0x196ead472583bc1e9af7a05f860d9857e1bd3dcc',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [UnifiToken.unifiUSD]: {\n [Chain.Mainnet]: '0x82c40e07277eBb92935f79cE92268F80dDc7caB4',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [UnifiToken.unifiBTC]: {\n [Chain.Mainnet]: '0x170d847a8320f3b6a77ee15b0cae430e3ec933a0',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [UnifiToken.pufETHs]: {\n [Chain.Mainnet]: '0x62a4ce0722ee65635c0f8339dd814d549b6f6735',\n [Chain.Holesky]: '0x0000000000000000000000000000000000000000',\n },\n [Token.vlPUFFER]: {\n [Chain.Mainnet]: '0x1e168460ea0cf3f126ddd3183dc2e376515a5e91',\n },\n};\n\nexport const TOKENS_PERMIT_VERSION: { [key in AnyToken]: string } = {\n // USDC does not support permit signatures (ERC20Permit).\n // https://ethereum.stackexchange.com/questions/166254/usdt-contract-dont-have-erc20permit\n [Token.USDT]: '',\n // USDC does not support permit signatures (ERC20Permit).\n [Token.USDC]: '',\n // DAI does not support permit signatures (ERC20Permit).\n [Token.DAI]: '',\n // WETH does not support permit signatures (ERC20Permit).\n [Token.WETH]: '',\n [Token.stETH]: '2',\n // Puffer Quest v1 uses version 1 for wstETH.\n [Token.wstETH]: '1',\n // https://github.com/etherfi-protocol/smart-contracts/blob/7c66e571df4fe7ec502a3c325b623bc52349ef9d/src/EETH.sol#L55\n [Token.eETH]: '1',\n // https://etherscan.io/token/0xbe9895146f7af43049ca1c1ae358b0541ea49704#readProxyContract#F26\n [Token.cbETH]: '2',\n [Token.ALT]: '1',\n [Token.pufETHwstE]: 'v7.0.0',\n [Token.pufETH]: '1',\n [Token.xPufETH]: '1',\n [Token.ctTACpufETH]: '',\n // https://etherscan.io/address/0xf2e97704a567e003ed97f2d0976c45b2dda766a0#readProxyContract#F39\n [Token.tacpufETH]: 'v0.5.0',\n [Token.WBTC]: '',\n [Token.LBTC]: '',\n [Token.tBTC]: '',\n [Token.cbBTC]: '',\n [Token.pumpBTC]: '',\n [Token.SolvBTC]: '',\n [Token.FBTC]: '',\n [Token.PUFFER]: '1',\n [Token.vePUFFER]: '1',\n [Token.CARROT]: '1',\n [Token.lvlUSD]: '1',\n // `slvlUSD` supports permit but the transactions are reverting now\n // for some reason.\n [Token.slvlUSD]: '',\n [Token.mtwCARROT]: '',\n [Token.sCARROT]: '',\n [Token.LINK]: '',\n [Token.TEST]: '',\n [Token.VT]: '1',\n [Token.EIGEN]: '1',\n [Token.ARPA]: '1',\n\n // UniFi Tokens\n // https://etherscan.io/address/0x196ead472583bc1e9af7a05f860d9857e1bd3dcc#code#F7#L172\n [UnifiToken.unifiETH]: '1',\n // https://etherscan.io/address/0x82c40e07277eBb92935f79cE92268F80dDc7caB4#code#F7#L172\n [UnifiToken.unifiUSD]: '1',\n // https://etherscan.io/address/0x170d847a8320f3b6a77ee15b0cae430e3ec933a0#code#F7#L172\n [UnifiToken.unifiBTC]: '1',\n // https://etherscan.io/address/0x62a4ce0722ee65635c0f8339dd814d549b6f6735#code#F7#L172\n [UnifiToken.pufETHs]: '1',\n [Token.vlPUFFER]: '1',\n};\n\nexport const TOKENS_SALT: Partial<{\n [key in AnyToken]: { [chain in Chain]: Address };\n}> = {\n [Token.pufETHwstE]: {\n // Taken from\n // https://etherscan.io/token/0xeeda34a377dd0ca676b9511ee1324974fa8d980d#readContract#F39.\n [Chain.Mainnet]:\n '0x0e986ed5610121905f03fd3850cebcc00f66166fc3ab760acb4e087d735d9457',\n [Chain.Holesky]:\n '0x0000000000000000000000000000000000000000000000000000000000000000',\n },\n};\n"],"names":["Token","UnifiToken","TOKENS_ADDRESSES","Chain","TOKENS_PERMIT_VERSION","TOKENS_SALT"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../constants-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../constants-CwkqnEF2.cjs"),a=require("./tokens.cjs"),n={[a.UnifiToken.unifiETH]:{[e.Chain.Mainnet]:{NucleusBoringVault:"0x196ead472583bc1e9af7a05f860d9857e1bd3dcc",NucleusAccountant:"0xa9fb7e2922216debe3fd5e1bbe7591ee446dc21c",NucleusTeller:"0x08eb2eccdf6ebd7aba601791f23ec5b5f68a1d53"}},[a.UnifiToken.unifiUSD]:{[e.Chain.Mainnet]:{NucleusBoringVault:"0x82c40e07277eBb92935f79cE92268F80dDc7caB4",NucleusAccountant:"0xe0bDb7b9225A2CeB42998dc2E51D4D3CDeb7e3Be",NucleusTeller:"0x5d3Fb47FE7f3F4Ce8fe55518f7E4F7D6061B54DD"}},[a.UnifiToken.unifiBTC]:{[e.Chain.Mainnet]:{NucleusBoringVault:"0x170d847a8320f3b6a77ee15b0cae430e3ec933a0",NucleusAccountant:"0x2afb28b0561d99b5e00829ec2ef54946a00a35f7",NucleusTeller:"0x0743647a607822781f9d0a639454e76289182f0b"}},[a.UnifiToken.pufETHs]:{[e.Chain.Mainnet]:{NucleusBoringVault:"0x62a4ce0722ee65635c0f8339dd814d549b6f6735",NucleusAccountant:"0xa99a92c505ff92c543d9d48295f1f31024afb31f",NucleusTeller:"0xd049ebeaa59b75ba8ee38f9f6830db7293320236"}},[a.Token.ctTACpufETH]:{[e.Chain.Mainnet]:{ConcreteMultiStrategyVault:"0x78f314241df1ac151bfd0413eeb51979515f6abd"}},[a.Token.tacpufETH]:{[e.Chain.Mainnet]:{LagoonVault:"0xf2e97704a567e003ed97f2d0976c45b2dda766a0"},[e.Chain.TAC]:{LagoonVault:"0x85AF3C2755f17bA26D7326E8069Bf10719441068"},[e.Chain.Holesky]:{LagoonVault:"0x0000000000000000000000000000000000000000"}}};exports.VAULTS_ADDRESSES=n;
|
|
2
2
|
//# sourceMappingURL=vaults-addresses.cjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const i=require("./writeContract-
|
|
2
|
-
//# sourceMappingURL=getContract-
|
|
1
|
+
"use strict";const i=require("./writeContract-De1cMFmW.cjs");function P({abi:t,address:o,client:f}){const e=f,[u,p]=e?"public"in e&&"wallet"in e?[e.public,e.wallet]:"public"in e?[e.public,void 0]:"wallet"in e?[void 0,e.wallet]:[e,e]:[void 0,void 0],d=u!=null,m=p!=null,l={};let E=!1,w=!1,h=!1;for(const a of t)if(a.type==="function"?a.stateMutability==="view"||a.stateMutability==="pure"?E=!0:w=!0:a.type==="event"&&(h=!0),E&&w&&h)break;return d&&(E&&(l.read=new Proxy({},{get(a,n){return(...c)=>{const{args:s,options:r}=y(c);return i.getAction(u,i.readContract,"readContract")({abi:t,address:o,functionName:n,args:s,...r})}}})),w&&(l.simulate=new Proxy({},{get(a,n){return(...c)=>{const{args:s,options:r}=y(c);return i.getAction(u,i.simulateContract,"simulateContract")({abi:t,address:o,functionName:n,args:s,...r})}}})),h&&(l.createEventFilter=new Proxy({},{get(a,n){return(...c)=>{const s=t.find(g=>g.type==="event"&&g.name===n),{args:r,options:C}=A(c,s);return i.getAction(u,i.createContractEventFilter,"createContractEventFilter")({abi:t,address:o,eventName:n,args:r,...C})}}}),l.getEvents=new Proxy({},{get(a,n){return(...c)=>{const s=t.find(g=>g.type==="event"&&g.name===n),{args:r,options:C}=A(c,s);return i.getAction(u,i.getContractEvents,"getContractEvents")({abi:t,address:o,eventName:n,args:r,...C})}}}),l.watchEvent=new Proxy({},{get(a,n){return(...c)=>{const s=t.find(g=>g.type==="event"&&g.name===n),{args:r,options:C}=A(c,s);return i.getAction(u,i.watchContractEvent,"watchContractEvent")({abi:t,address:o,eventName:n,args:r,...C})}}}))),m&&w&&(l.write=new Proxy({},{get(a,n){return(...c)=>{const{args:s,options:r}=y(c);return i.getAction(p,i.writeContract,"writeContract")({abi:t,address:o,functionName:n,args:s,...r})}}})),(d||m)&&w&&(l.estimateGas=new Proxy({},{get(a,n){return(...c)=>{const{args:s,options:r}=y(c),C=u??p;return i.getAction(C,i.estimateContractGas,"estimateContractGas")({abi:t,address:o,functionName:n,args:s,...r,account:r.account??p.account})}}})),l.address=o,l.abi=t,l}function y(t){const o=t.length&&Array.isArray(t[0]),f=o?t[0]:[],e=(o?t[1]:t[0])??{};return{args:f,options:e}}function A(t,o){let f=!1;Array.isArray(t[0])?f=!0:t.length===1?f=o.inputs.some(p=>p.indexed):t.length===2&&(f=!0);const e=f?t[0]:void 0,u=(f?t[1]:t[0])??{};return{args:e,options:u}}exports.getContract=P;
|
|
2
|
+
//# sourceMappingURL=getContract-BinxcNSi.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getContract-C6a8L2Jd.cjs","sources":["../node_modules/.pnpm/viem@2.38.5_typescript@5.9.3_zod@4.1.12/node_modules/viem/_esm/actions/getContract.js"],"sourcesContent":["import { getAction } from '../utils/getAction.js';\nimport { createContractEventFilter, } from './public/createContractEventFilter.js';\nimport { estimateContractGas, } from './public/estimateContractGas.js';\nimport { getContractEvents, } from './public/getContractEvents.js';\nimport { readContract, } from './public/readContract.js';\nimport { simulateContract, } from './public/simulateContract.js';\nimport { watchContractEvent, } from './public/watchContractEvent.js';\nimport { writeContract, } from './wallet/writeContract.js';\n/**\n * Gets type-safe interface for performing contract-related actions with a specific `abi` and `address`.\n *\n * - Docs https://viem.sh/docs/contract/getContract\n *\n * Using Contract Instances can make it easier to work with contracts if you don't want to pass the `abi` and `address` properties every time you perform contract actions, e.g. [`readContract`](https://viem.sh/docs/contract/readContract), [`writeContract`](https://viem.sh/docs/contract/writeContract), [`estimateContractGas`](https://viem.sh/docs/contract/estimateContractGas), etc.\n *\n * @example\n * import { createPublicClient, getContract, http, parseAbi } from 'viem'\n * import { mainnet } from 'viem/chains'\n *\n * const publicClient = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const contract = getContract({\n * address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2',\n * abi: parseAbi([\n * 'function balanceOf(address owner) view returns (uint256)',\n * 'function ownerOf(uint256 tokenId) view returns (address)',\n * 'function totalSupply() view returns (uint256)',\n * ]),\n * client: publicClient,\n * })\n */\nexport function getContract({ abi, address, client: client_, }) {\n const client = client_;\n const [publicClient, walletClient] = (() => {\n if (!client)\n return [undefined, undefined];\n if ('public' in client && 'wallet' in client)\n return [client.public, client.wallet];\n if ('public' in client)\n return [client.public, undefined];\n if ('wallet' in client)\n return [undefined, client.wallet];\n return [client, client];\n })();\n const hasPublicClient = publicClient !== undefined && publicClient !== null;\n const hasWalletClient = walletClient !== undefined && walletClient !== null;\n const contract = {};\n let hasReadFunction = false;\n let hasWriteFunction = false;\n let hasEvent = false;\n for (const item of abi) {\n if (item.type === 'function')\n if (item.stateMutability === 'view' || item.stateMutability === 'pure')\n hasReadFunction = true;\n else\n hasWriteFunction = true;\n else if (item.type === 'event')\n hasEvent = true;\n // Exit early if all flags are `true`\n if (hasReadFunction && hasWriteFunction && hasEvent)\n break;\n }\n if (hasPublicClient) {\n if (hasReadFunction)\n contract.read = new Proxy({}, {\n get(_, functionName) {\n return (...parameters) => {\n const { args, options } = getFunctionParameters(parameters);\n return getAction(publicClient, readContract, 'readContract')({\n abi,\n address,\n functionName,\n args,\n ...options,\n });\n };\n },\n });\n if (hasWriteFunction)\n contract.simulate = new Proxy({}, {\n get(_, functionName) {\n return (...parameters) => {\n const { args, options } = getFunctionParameters(parameters);\n return getAction(publicClient, simulateContract, 'simulateContract')({\n abi,\n address,\n functionName,\n args,\n ...options,\n });\n };\n },\n });\n if (hasEvent) {\n contract.createEventFilter = new Proxy({}, {\n get(_, eventName) {\n return (...parameters) => {\n const abiEvent = abi.find((x) => x.type === 'event' && x.name === eventName);\n const { args, options } = getEventParameters(parameters, abiEvent);\n return getAction(publicClient, createContractEventFilter, 'createContractEventFilter')({\n abi,\n address,\n eventName,\n args,\n ...options,\n });\n };\n },\n });\n contract.getEvents = new Proxy({}, {\n get(_, eventName) {\n return (...parameters) => {\n const abiEvent = abi.find((x) => x.type === 'event' && x.name === eventName);\n const { args, options } = getEventParameters(parameters, abiEvent);\n return getAction(publicClient, getContractEvents, 'getContractEvents')({\n abi,\n address,\n eventName,\n args,\n ...options,\n });\n };\n },\n });\n contract.watchEvent = new Proxy({}, {\n get(_, eventName) {\n return (...parameters) => {\n const abiEvent = abi.find((x) => x.type === 'event' && x.name === eventName);\n const { args, options } = getEventParameters(parameters, abiEvent);\n return getAction(publicClient, watchContractEvent, 'watchContractEvent')({\n abi,\n address,\n eventName,\n args,\n ...options,\n });\n };\n },\n });\n }\n }\n if (hasWalletClient) {\n if (hasWriteFunction)\n contract.write = new Proxy({}, {\n get(_, functionName) {\n return (...parameters) => {\n const { args, options } = getFunctionParameters(parameters);\n return getAction(walletClient, writeContract, 'writeContract')({\n abi,\n address,\n functionName,\n args,\n ...options,\n });\n };\n },\n });\n }\n if (hasPublicClient || hasWalletClient)\n if (hasWriteFunction)\n contract.estimateGas = new Proxy({}, {\n get(_, functionName) {\n return (...parameters) => {\n const { args, options } = getFunctionParameters(parameters);\n const client = (publicClient ?? walletClient);\n return getAction(client, estimateContractGas, 'estimateContractGas')({\n abi,\n address,\n functionName,\n args,\n ...options,\n account: options.account ??\n walletClient.account,\n });\n };\n },\n });\n contract.address = address;\n contract.abi = abi;\n return contract;\n}\n/**\n * @internal exporting for testing only\n */\nexport function getFunctionParameters(values) {\n const hasArgs = values.length && Array.isArray(values[0]);\n const args = hasArgs ? values[0] : [];\n const options = (hasArgs ? values[1] : values[0]) ?? {};\n return { args, options };\n}\n/**\n * @internal exporting for testing only\n */\nexport function getEventParameters(values, abiEvent) {\n let hasArgs = false;\n // If first item is array, must be `args`\n if (Array.isArray(values[0]))\n hasArgs = true;\n // Check if first item is `args` or `options`\n else if (values.length === 1) {\n // if event has indexed inputs, must have `args`\n hasArgs = abiEvent.inputs.some((x) => x.indexed);\n // If there are two items in array, must have `args`\n }\n else if (values.length === 2) {\n hasArgs = true;\n }\n const args = hasArgs ? values[0] : undefined;\n const options = (hasArgs ? values[1] : values[0]) ?? {};\n return { args, options };\n}\n//# sourceMappingURL=getContract.js.map"],"names":["getContract","abi","address","client_","client","publicClient","walletClient","hasPublicClient","hasWalletClient","contract","hasReadFunction","hasWriteFunction","hasEvent","item","_","functionName","parameters","args","options","getFunctionParameters","getAction","readContract","simulateContract","eventName","abiEvent","x","getEventParameters","createContractEventFilter","getContractEvents","watchContractEvent","writeContract","estimateContractGas","values","hasArgs"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"getContract-BinxcNSi.cjs","sources":["../node_modules/.pnpm/viem@2.45.0_typescript@5.9.3_zod@4.1.12/node_modules/viem/_esm/actions/getContract.js"],"sourcesContent":["import { getAction } from '../utils/getAction.js';\nimport { createContractEventFilter, } from './public/createContractEventFilter.js';\nimport { estimateContractGas, } from './public/estimateContractGas.js';\nimport { getContractEvents, } from './public/getContractEvents.js';\nimport { readContract, } from './public/readContract.js';\nimport { simulateContract, } from './public/simulateContract.js';\nimport { watchContractEvent, } from './public/watchContractEvent.js';\nimport { writeContract, } from './wallet/writeContract.js';\n/**\n * Gets type-safe interface for performing contract-related actions with a specific `abi` and `address`.\n *\n * - Docs https://viem.sh/docs/contract/getContract\n *\n * Using Contract Instances can make it easier to work with contracts if you don't want to pass the `abi` and `address` properties every time you perform contract actions, e.g. [`readContract`](https://viem.sh/docs/contract/readContract), [`writeContract`](https://viem.sh/docs/contract/writeContract), [`estimateContractGas`](https://viem.sh/docs/contract/estimateContractGas), etc.\n *\n * @example\n * import { createPublicClient, getContract, http, parseAbi } from 'viem'\n * import { mainnet } from 'viem/chains'\n *\n * const publicClient = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const contract = getContract({\n * address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2',\n * abi: parseAbi([\n * 'function balanceOf(address owner) view returns (uint256)',\n * 'function ownerOf(uint256 tokenId) view returns (address)',\n * 'function totalSupply() view returns (uint256)',\n * ]),\n * client: publicClient,\n * })\n */\nexport function getContract({ abi, address, client: client_, }) {\n const client = client_;\n const [publicClient, walletClient] = (() => {\n if (!client)\n return [undefined, undefined];\n if ('public' in client && 'wallet' in client)\n return [client.public, client.wallet];\n if ('public' in client)\n return [client.public, undefined];\n if ('wallet' in client)\n return [undefined, client.wallet];\n return [client, client];\n })();\n const hasPublicClient = publicClient !== undefined && publicClient !== null;\n const hasWalletClient = walletClient !== undefined && walletClient !== null;\n const contract = {};\n let hasReadFunction = false;\n let hasWriteFunction = false;\n let hasEvent = false;\n for (const item of abi) {\n if (item.type === 'function')\n if (item.stateMutability === 'view' || item.stateMutability === 'pure')\n hasReadFunction = true;\n else\n hasWriteFunction = true;\n else if (item.type === 'event')\n hasEvent = true;\n // Exit early if all flags are `true`\n if (hasReadFunction && hasWriteFunction && hasEvent)\n break;\n }\n if (hasPublicClient) {\n if (hasReadFunction)\n contract.read = new Proxy({}, {\n get(_, functionName) {\n return (...parameters) => {\n const { args, options } = getFunctionParameters(parameters);\n return getAction(publicClient, readContract, 'readContract')({\n abi,\n address,\n functionName,\n args,\n ...options,\n });\n };\n },\n });\n if (hasWriteFunction)\n contract.simulate = new Proxy({}, {\n get(_, functionName) {\n return (...parameters) => {\n const { args, options } = getFunctionParameters(parameters);\n return getAction(publicClient, simulateContract, 'simulateContract')({\n abi,\n address,\n functionName,\n args,\n ...options,\n });\n };\n },\n });\n if (hasEvent) {\n contract.createEventFilter = new Proxy({}, {\n get(_, eventName) {\n return (...parameters) => {\n const abiEvent = abi.find((x) => x.type === 'event' && x.name === eventName);\n const { args, options } = getEventParameters(parameters, abiEvent);\n return getAction(publicClient, createContractEventFilter, 'createContractEventFilter')({\n abi,\n address,\n eventName,\n args,\n ...options,\n });\n };\n },\n });\n contract.getEvents = new Proxy({}, {\n get(_, eventName) {\n return (...parameters) => {\n const abiEvent = abi.find((x) => x.type === 'event' && x.name === eventName);\n const { args, options } = getEventParameters(parameters, abiEvent);\n return getAction(publicClient, getContractEvents, 'getContractEvents')({\n abi,\n address,\n eventName,\n args,\n ...options,\n });\n };\n },\n });\n contract.watchEvent = new Proxy({}, {\n get(_, eventName) {\n return (...parameters) => {\n const abiEvent = abi.find((x) => x.type === 'event' && x.name === eventName);\n const { args, options } = getEventParameters(parameters, abiEvent);\n return getAction(publicClient, watchContractEvent, 'watchContractEvent')({\n abi,\n address,\n eventName,\n args,\n ...options,\n });\n };\n },\n });\n }\n }\n if (hasWalletClient) {\n if (hasWriteFunction)\n contract.write = new Proxy({}, {\n get(_, functionName) {\n return (...parameters) => {\n const { args, options } = getFunctionParameters(parameters);\n return getAction(walletClient, writeContract, 'writeContract')({\n abi,\n address,\n functionName,\n args,\n ...options,\n });\n };\n },\n });\n }\n if (hasPublicClient || hasWalletClient)\n if (hasWriteFunction)\n contract.estimateGas = new Proxy({}, {\n get(_, functionName) {\n return (...parameters) => {\n const { args, options } = getFunctionParameters(parameters);\n const client = (publicClient ?? walletClient);\n return getAction(client, estimateContractGas, 'estimateContractGas')({\n abi,\n address,\n functionName,\n args,\n ...options,\n account: options.account ??\n walletClient.account,\n });\n };\n },\n });\n contract.address = address;\n contract.abi = abi;\n return contract;\n}\n/**\n * @internal exporting for testing only\n */\nexport function getFunctionParameters(values) {\n const hasArgs = values.length && Array.isArray(values[0]);\n const args = hasArgs ? values[0] : [];\n const options = (hasArgs ? values[1] : values[0]) ?? {};\n return { args, options };\n}\n/**\n * @internal exporting for testing only\n */\nexport function getEventParameters(values, abiEvent) {\n let hasArgs = false;\n // If first item is array, must be `args`\n if (Array.isArray(values[0]))\n hasArgs = true;\n // Check if first item is `args` or `options`\n else if (values.length === 1) {\n // if event has indexed inputs, must have `args`\n hasArgs = abiEvent.inputs.some((x) => x.indexed);\n // If there are two items in array, must have `args`\n }\n else if (values.length === 2) {\n hasArgs = true;\n }\n const args = hasArgs ? values[0] : undefined;\n const options = (hasArgs ? values[1] : values[0]) ?? {};\n return { args, options };\n}\n//# sourceMappingURL=getContract.js.map"],"names":["getContract","abi","address","client_","client","publicClient","walletClient","hasPublicClient","hasWalletClient","contract","hasReadFunction","hasWriteFunction","hasEvent","item","_","functionName","parameters","args","options","getFunctionParameters","getAction","readContract","simulateContract","eventName","abiEvent","x","getEventParameters","createContractEventFilter","getContractEvents","watchContractEvent","writeContract","estimateContractGas","values","hasArgs"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { g as p, r as v, s as A, c as _, a as x, w as F, d as G, e as b } from "./writeContract-
|
|
1
|
+
import { g as p, r as v, s as A, c as _, a as x, w as F, d as G, e as b } from "./writeContract-DordYfu2.js";
|
|
2
2
|
function W({ abi: t, address: i, client: l }) {
|
|
3
3
|
const e = l, [a, g] = e ? "public" in e && "wallet" in e ? [e.public, e.wallet] : "public" in e ? [e.public, void 0] : "wallet" in e ? [void 0, e.wallet] : [e, e] : [void 0, void 0], m = a != null, P = g != null, u = {};
|
|
4
4
|
let E = !1, C = !1, h = !1;
|
|
@@ -112,4 +112,4 @@ function d(t, i) {
|
|
|
112
112
|
export {
|
|
113
113
|
W as g
|
|
114
114
|
};
|
|
115
|
-
//# sourceMappingURL=getContract-
|
|
115
|
+
//# sourceMappingURL=getContract-DaCKXI8P.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getContract-DRjKmuyC.js","sources":["../node_modules/.pnpm/viem@2.38.5_typescript@5.9.3_zod@4.1.12/node_modules/viem/_esm/actions/getContract.js"],"sourcesContent":["import { getAction } from '../utils/getAction.js';\nimport { createContractEventFilter, } from './public/createContractEventFilter.js';\nimport { estimateContractGas, } from './public/estimateContractGas.js';\nimport { getContractEvents, } from './public/getContractEvents.js';\nimport { readContract, } from './public/readContract.js';\nimport { simulateContract, } from './public/simulateContract.js';\nimport { watchContractEvent, } from './public/watchContractEvent.js';\nimport { writeContract, } from './wallet/writeContract.js';\n/**\n * Gets type-safe interface for performing contract-related actions with a specific `abi` and `address`.\n *\n * - Docs https://viem.sh/docs/contract/getContract\n *\n * Using Contract Instances can make it easier to work with contracts if you don't want to pass the `abi` and `address` properties every time you perform contract actions, e.g. [`readContract`](https://viem.sh/docs/contract/readContract), [`writeContract`](https://viem.sh/docs/contract/writeContract), [`estimateContractGas`](https://viem.sh/docs/contract/estimateContractGas), etc.\n *\n * @example\n * import { createPublicClient, getContract, http, parseAbi } from 'viem'\n * import { mainnet } from 'viem/chains'\n *\n * const publicClient = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const contract = getContract({\n * address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2',\n * abi: parseAbi([\n * 'function balanceOf(address owner) view returns (uint256)',\n * 'function ownerOf(uint256 tokenId) view returns (address)',\n * 'function totalSupply() view returns (uint256)',\n * ]),\n * client: publicClient,\n * })\n */\nexport function getContract({ abi, address, client: client_, }) {\n const client = client_;\n const [publicClient, walletClient] = (() => {\n if (!client)\n return [undefined, undefined];\n if ('public' in client && 'wallet' in client)\n return [client.public, client.wallet];\n if ('public' in client)\n return [client.public, undefined];\n if ('wallet' in client)\n return [undefined, client.wallet];\n return [client, client];\n })();\n const hasPublicClient = publicClient !== undefined && publicClient !== null;\n const hasWalletClient = walletClient !== undefined && walletClient !== null;\n const contract = {};\n let hasReadFunction = false;\n let hasWriteFunction = false;\n let hasEvent = false;\n for (const item of abi) {\n if (item.type === 'function')\n if (item.stateMutability === 'view' || item.stateMutability === 'pure')\n hasReadFunction = true;\n else\n hasWriteFunction = true;\n else if (item.type === 'event')\n hasEvent = true;\n // Exit early if all flags are `true`\n if (hasReadFunction && hasWriteFunction && hasEvent)\n break;\n }\n if (hasPublicClient) {\n if (hasReadFunction)\n contract.read = new Proxy({}, {\n get(_, functionName) {\n return (...parameters) => {\n const { args, options } = getFunctionParameters(parameters);\n return getAction(publicClient, readContract, 'readContract')({\n abi,\n address,\n functionName,\n args,\n ...options,\n });\n };\n },\n });\n if (hasWriteFunction)\n contract.simulate = new Proxy({}, {\n get(_, functionName) {\n return (...parameters) => {\n const { args, options } = getFunctionParameters(parameters);\n return getAction(publicClient, simulateContract, 'simulateContract')({\n abi,\n address,\n functionName,\n args,\n ...options,\n });\n };\n },\n });\n if (hasEvent) {\n contract.createEventFilter = new Proxy({}, {\n get(_, eventName) {\n return (...parameters) => {\n const abiEvent = abi.find((x) => x.type === 'event' && x.name === eventName);\n const { args, options } = getEventParameters(parameters, abiEvent);\n return getAction(publicClient, createContractEventFilter, 'createContractEventFilter')({\n abi,\n address,\n eventName,\n args,\n ...options,\n });\n };\n },\n });\n contract.getEvents = new Proxy({}, {\n get(_, eventName) {\n return (...parameters) => {\n const abiEvent = abi.find((x) => x.type === 'event' && x.name === eventName);\n const { args, options } = getEventParameters(parameters, abiEvent);\n return getAction(publicClient, getContractEvents, 'getContractEvents')({\n abi,\n address,\n eventName,\n args,\n ...options,\n });\n };\n },\n });\n contract.watchEvent = new Proxy({}, {\n get(_, eventName) {\n return (...parameters) => {\n const abiEvent = abi.find((x) => x.type === 'event' && x.name === eventName);\n const { args, options } = getEventParameters(parameters, abiEvent);\n return getAction(publicClient, watchContractEvent, 'watchContractEvent')({\n abi,\n address,\n eventName,\n args,\n ...options,\n });\n };\n },\n });\n }\n }\n if (hasWalletClient) {\n if (hasWriteFunction)\n contract.write = new Proxy({}, {\n get(_, functionName) {\n return (...parameters) => {\n const { args, options } = getFunctionParameters(parameters);\n return getAction(walletClient, writeContract, 'writeContract')({\n abi,\n address,\n functionName,\n args,\n ...options,\n });\n };\n },\n });\n }\n if (hasPublicClient || hasWalletClient)\n if (hasWriteFunction)\n contract.estimateGas = new Proxy({}, {\n get(_, functionName) {\n return (...parameters) => {\n const { args, options } = getFunctionParameters(parameters);\n const client = (publicClient ?? walletClient);\n return getAction(client, estimateContractGas, 'estimateContractGas')({\n abi,\n address,\n functionName,\n args,\n ...options,\n account: options.account ??\n walletClient.account,\n });\n };\n },\n });\n contract.address = address;\n contract.abi = abi;\n return contract;\n}\n/**\n * @internal exporting for testing only\n */\nexport function getFunctionParameters(values) {\n const hasArgs = values.length && Array.isArray(values[0]);\n const args = hasArgs ? values[0] : [];\n const options = (hasArgs ? values[1] : values[0]) ?? {};\n return { args, options };\n}\n/**\n * @internal exporting for testing only\n */\nexport function getEventParameters(values, abiEvent) {\n let hasArgs = false;\n // If first item is array, must be `args`\n if (Array.isArray(values[0]))\n hasArgs = true;\n // Check if first item is `args` or `options`\n else if (values.length === 1) {\n // if event has indexed inputs, must have `args`\n hasArgs = abiEvent.inputs.some((x) => x.indexed);\n // If there are two items in array, must have `args`\n }\n else if (values.length === 2) {\n hasArgs = true;\n }\n const args = hasArgs ? values[0] : undefined;\n const options = (hasArgs ? values[1] : values[0]) ?? {};\n return { args, options };\n}\n//# sourceMappingURL=getContract.js.map"],"names":["getContract","abi","address","client_","client","publicClient","walletClient","hasPublicClient","hasWalletClient","contract","hasReadFunction","hasWriteFunction","hasEvent","item","_","functionName","parameters","args","options","getFunctionParameters","getAction","readContract","simulateContract","eventName","abiEvent","x","getEventParameters","createContractEventFilter","getContractEvents","watchContractEvent","writeContract","estimateContractGas","values","hasArgs"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"getContract-DaCKXI8P.js","sources":["../node_modules/.pnpm/viem@2.45.0_typescript@5.9.3_zod@4.1.12/node_modules/viem/_esm/actions/getContract.js"],"sourcesContent":["import { getAction } from '../utils/getAction.js';\nimport { createContractEventFilter, } from './public/createContractEventFilter.js';\nimport { estimateContractGas, } from './public/estimateContractGas.js';\nimport { getContractEvents, } from './public/getContractEvents.js';\nimport { readContract, } from './public/readContract.js';\nimport { simulateContract, } from './public/simulateContract.js';\nimport { watchContractEvent, } from './public/watchContractEvent.js';\nimport { writeContract, } from './wallet/writeContract.js';\n/**\n * Gets type-safe interface for performing contract-related actions with a specific `abi` and `address`.\n *\n * - Docs https://viem.sh/docs/contract/getContract\n *\n * Using Contract Instances can make it easier to work with contracts if you don't want to pass the `abi` and `address` properties every time you perform contract actions, e.g. [`readContract`](https://viem.sh/docs/contract/readContract), [`writeContract`](https://viem.sh/docs/contract/writeContract), [`estimateContractGas`](https://viem.sh/docs/contract/estimateContractGas), etc.\n *\n * @example\n * import { createPublicClient, getContract, http, parseAbi } from 'viem'\n * import { mainnet } from 'viem/chains'\n *\n * const publicClient = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const contract = getContract({\n * address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2',\n * abi: parseAbi([\n * 'function balanceOf(address owner) view returns (uint256)',\n * 'function ownerOf(uint256 tokenId) view returns (address)',\n * 'function totalSupply() view returns (uint256)',\n * ]),\n * client: publicClient,\n * })\n */\nexport function getContract({ abi, address, client: client_, }) {\n const client = client_;\n const [publicClient, walletClient] = (() => {\n if (!client)\n return [undefined, undefined];\n if ('public' in client && 'wallet' in client)\n return [client.public, client.wallet];\n if ('public' in client)\n return [client.public, undefined];\n if ('wallet' in client)\n return [undefined, client.wallet];\n return [client, client];\n })();\n const hasPublicClient = publicClient !== undefined && publicClient !== null;\n const hasWalletClient = walletClient !== undefined && walletClient !== null;\n const contract = {};\n let hasReadFunction = false;\n let hasWriteFunction = false;\n let hasEvent = false;\n for (const item of abi) {\n if (item.type === 'function')\n if (item.stateMutability === 'view' || item.stateMutability === 'pure')\n hasReadFunction = true;\n else\n hasWriteFunction = true;\n else if (item.type === 'event')\n hasEvent = true;\n // Exit early if all flags are `true`\n if (hasReadFunction && hasWriteFunction && hasEvent)\n break;\n }\n if (hasPublicClient) {\n if (hasReadFunction)\n contract.read = new Proxy({}, {\n get(_, functionName) {\n return (...parameters) => {\n const { args, options } = getFunctionParameters(parameters);\n return getAction(publicClient, readContract, 'readContract')({\n abi,\n address,\n functionName,\n args,\n ...options,\n });\n };\n },\n });\n if (hasWriteFunction)\n contract.simulate = new Proxy({}, {\n get(_, functionName) {\n return (...parameters) => {\n const { args, options } = getFunctionParameters(parameters);\n return getAction(publicClient, simulateContract, 'simulateContract')({\n abi,\n address,\n functionName,\n args,\n ...options,\n });\n };\n },\n });\n if (hasEvent) {\n contract.createEventFilter = new Proxy({}, {\n get(_, eventName) {\n return (...parameters) => {\n const abiEvent = abi.find((x) => x.type === 'event' && x.name === eventName);\n const { args, options } = getEventParameters(parameters, abiEvent);\n return getAction(publicClient, createContractEventFilter, 'createContractEventFilter')({\n abi,\n address,\n eventName,\n args,\n ...options,\n });\n };\n },\n });\n contract.getEvents = new Proxy({}, {\n get(_, eventName) {\n return (...parameters) => {\n const abiEvent = abi.find((x) => x.type === 'event' && x.name === eventName);\n const { args, options } = getEventParameters(parameters, abiEvent);\n return getAction(publicClient, getContractEvents, 'getContractEvents')({\n abi,\n address,\n eventName,\n args,\n ...options,\n });\n };\n },\n });\n contract.watchEvent = new Proxy({}, {\n get(_, eventName) {\n return (...parameters) => {\n const abiEvent = abi.find((x) => x.type === 'event' && x.name === eventName);\n const { args, options } = getEventParameters(parameters, abiEvent);\n return getAction(publicClient, watchContractEvent, 'watchContractEvent')({\n abi,\n address,\n eventName,\n args,\n ...options,\n });\n };\n },\n });\n }\n }\n if (hasWalletClient) {\n if (hasWriteFunction)\n contract.write = new Proxy({}, {\n get(_, functionName) {\n return (...parameters) => {\n const { args, options } = getFunctionParameters(parameters);\n return getAction(walletClient, writeContract, 'writeContract')({\n abi,\n address,\n functionName,\n args,\n ...options,\n });\n };\n },\n });\n }\n if (hasPublicClient || hasWalletClient)\n if (hasWriteFunction)\n contract.estimateGas = new Proxy({}, {\n get(_, functionName) {\n return (...parameters) => {\n const { args, options } = getFunctionParameters(parameters);\n const client = (publicClient ?? walletClient);\n return getAction(client, estimateContractGas, 'estimateContractGas')({\n abi,\n address,\n functionName,\n args,\n ...options,\n account: options.account ??\n walletClient.account,\n });\n };\n },\n });\n contract.address = address;\n contract.abi = abi;\n return contract;\n}\n/**\n * @internal exporting for testing only\n */\nexport function getFunctionParameters(values) {\n const hasArgs = values.length && Array.isArray(values[0]);\n const args = hasArgs ? values[0] : [];\n const options = (hasArgs ? values[1] : values[0]) ?? {};\n return { args, options };\n}\n/**\n * @internal exporting for testing only\n */\nexport function getEventParameters(values, abiEvent) {\n let hasArgs = false;\n // If first item is array, must be `args`\n if (Array.isArray(values[0]))\n hasArgs = true;\n // Check if first item is `args` or `options`\n else if (values.length === 1) {\n // if event has indexed inputs, must have `args`\n hasArgs = abiEvent.inputs.some((x) => x.indexed);\n // If there are two items in array, must have `args`\n }\n else if (values.length === 2) {\n hasArgs = true;\n }\n const args = hasArgs ? values[0] : undefined;\n const options = (hasArgs ? values[1] : values[0]) ?? {};\n return { args, options };\n}\n//# sourceMappingURL=getContract.js.map"],"names":["getContract","abi","address","client_","client","publicClient","walletClient","hasPublicClient","hasWalletClient","contract","hasReadFunction","hasWriteFunction","hasEvent","item","_","functionName","parameters","args","options","getFunctionParameters","getAction","readContract","simulateContract","eventName","abiEvent","x","getEventParameters","createContractEventFilter","getContractEvents","watchContractEvent","writeContract","estimateContractGas","values","hasArgs"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";const s=require("./writeContract-De1cMFmW.cjs"),p=require("./constants-CwkqnEF2.cjs"),be=require("./localBatchGatewayRequest-B7XKTHRK.cjs"),Ft=require("./secp256k1-Be7RiBch.cjs");function ze(e){let t;if(typeof e=="string")t=s.parseSignature(e);else{const r=s.parseStructs(e),n=e.length;for(let o=0;o<n;o++){const a=e[o];if(!s.isStructSignature(a)){t=s.parseSignature(a,r);break}}}if(!t)throw new s.InvalidAbiItemError({signature:e});return t}function Fe(e){const t=[];if(typeof e=="string"){const r=s.splitParameters(e),n=r.length;for(let o=0;o<n;o++)t.push(s.parseAbiParameter(r[o],{modifiers:s.modifiers}))}else{const r=s.parseStructs(e),n=e.length;for(let o=0;o<n;o++){const a=e[o];if(s.isStructSignature(a))continue;const i=s.splitParameters(a),c=i.length;for(let u=0;u<c;u++)t.push(s.parseAbiParameter(i[u],{modifiers:s.modifiers,structs:r}))}}if(t.length===0)throw new s.InvalidAbiParametersError({params:e});return t}function Z(e,t){if(L(e)>t)throw new Zt({givenSize:L(e),maxSize:t})}const $={zero:48,nine:57,A:65,F:70,a:97,f:102};function _e(e){if(e>=$.zero&&e<=$.nine)return e-$.zero;if(e>=$.A&&e<=$.F)return e-($.A-10);if(e>=$.a&&e<=$.f)return e-($.a-10)}function _t(e,t={}){const{dir:r,size:n=32}=t;if(n===0)return e;if(e.length>n)throw new Jt({size:e.length,targetSize:n,type:"Bytes"});const o=new Uint8Array(n);for(let a=0;a<n;a++){const i=r==="right";o[i?a:n-a-1]=e[i?a:e.length-a-1]}return o}function He(e,t={}){const{dir:r="left"}=t;let n=e,o=0;for(let a=0;a<n.length-1&&n[r==="left"?a:n.length-a-1].toString()==="0";a++)o++;return n=r==="left"?n.slice(o):n.slice(0,n.length-o),n}const $t=new TextDecoder,Ut=new TextEncoder;function qt(e){return e instanceof Uint8Array?e:typeof e=="string"?je(e):Dt(e)}function Dt(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function je(e,t={}){const{size:r}=t;let n=e;r&&(s.assertSize(e,r),n=s.padRight(e,r));let o=n.slice(2);o.length%2&&(o=`0${o}`);const a=o.length/2,i=new Uint8Array(a);for(let c=0,u=0;c<a;c++){const f=_e(o.charCodeAt(u++)),d=_e(o.charCodeAt(u++));if(f===void 0||d===void 0)throw new s.BaseError(`Invalid byte sequence ("${o[u-2]}${o[u-1]}" in "${o}").`);i[c]=f<<4|d}return i}function Ot(e,t={}){const{size:r}=t,n=Ut.encode(e);return typeof r=="number"?(Z(n,r),Lt(n,r)):n}function Lt(e,t){return _t(e,{dir:"right",size:t})}function L(e){return e.length}function Mt(e,t,r,n={}){const{strict:o}=n;return e.slice(t,r)}function Ht(e,t={}){const{size:r}=t;typeof r<"u"&&Z(e,r);const n=s.fromBytes(e,t);return s.toBigInt(n,t)}function jt(e,t={}){const{size:r}=t;let n=e;if(typeof r<"u"&&(Z(n,r),n=We(n)),n.length>1||n[0]>1)throw new Gt(n);return!!n[0]}function U(e,t={}){const{size:r}=t;typeof r<"u"&&Z(e,r);const n=s.fromBytes(e,t);return s.toNumber(n,t)}function Wt(e,t={}){const{size:r}=t;let n=e;return typeof r<"u"&&(Z(n,r),n=Vt(n)),$t.decode(n)}function We(e){return He(e,{dir:"left"})}function Vt(e){return He(e,{dir:"right"})}class Gt extends s.BaseError{constructor(t){super(`Bytes value \`${t}\` is not a valid boolean.`,{metaMessages:["The bytes array must contain a single byte of either a `0` or `1` value."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.InvalidBytesBooleanError"})}}class Zt extends s.BaseError{constructor({givenSize:t,maxSize:r}){super(`Size cannot exceed \`${r}\` bytes. Given size: \`${t}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeOverflowError"})}}class Jt extends s.BaseError{constructor({size:t,targetSize:r,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\`${t}\`) exceeds padding size (\`${r}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeExceedsPaddingSizeError"})}}class Yt extends p.BaseError{constructor(t){super(`Call bundle failed with status: ${t.statusCode}`,{name:"BundleFailedError"}),Object.defineProperty(this,"result",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.result=t}}function te(e,{delay:t=100,retryCount:r=2,shouldRetry:n=()=>!0}={}){return new Promise((o,a)=>{const i=async({count:c=0}={})=>{const u=async({error:f})=>{const d=typeof t=="function"?t({count:c,error:f}):t;d&&await s.wait(d),i({count:c+1})};try{const f=await e();o(f)}catch(f){if(c<r&&await n({count:c,error:f}))return u({error:f});a(f)}};i()})}const Ve="0x5792579257925792579257925792579257925792579257925792579257925792",Ge=p.numberToHex(0,{size:32});async function Ze(e,t){const{account:r=e.account,chain:n=e.chain,experimental_fallback:o,experimental_fallbackDelay:a=32,forceAtomic:i=!1,id:c,version:u="2.0.0"}=t,f=r?s.parseAccount(r):null;let d=t.capabilities;e.dataSuffix&&!t.capabilities?.dataSuffix&&(typeof e.dataSuffix=="string"?d={...t.capabilities,dataSuffix:{value:e.dataSuffix,optional:!0}}:d={...t.capabilities,dataSuffix:{value:e.dataSuffix.value,...e.dataSuffix.required?{}:{optional:!0}}});const l=t.calls.map(h=>{const m=h,y=m.abi?s.encodeFunctionData({abi:m.abi,functionName:m.functionName,args:m.args}):m.data;return{data:m.dataSuffix&&y?p.concat([y,m.dataSuffix]):y,to:m.to,value:m.value?p.numberToHex(m.value):void 0}});try{const h=await e.request({method:"wallet_sendCalls",params:[{atomicRequired:i,calls:l,capabilities:d,chainId:p.numberToHex(n.id),from:f?.address,id:c,version:u}]},{retryCount:0});return typeof h=="string"?{id:h}:h}catch(h){const m=h;if(o&&(m.name==="MethodNotFoundRpcError"||m.name==="MethodNotSupportedRpcError"||m.name==="UnknownRpcError"||m.details.toLowerCase().includes("does not exist / is not available")||m.details.toLowerCase().includes("missing or invalid. request()")||m.details.toLowerCase().includes("did not match any variant of untagged enum")||m.details.toLowerCase().includes("account upgraded to unsupported contract")||m.details.toLowerCase().includes("eip-7702 not supported")||m.details.toLowerCase().includes("unsupported wc_ method")||m.details.toLowerCase().includes("feature toggled misconfigured")||m.details.toLowerCase().includes("jsonrpcengine: response has no error or result for request"))){if(d&&Object.values(d).some(w=>!w.optional)){const w="non-optional `capabilities` are not supported on fallback to `eth_sendTransaction`.";throw new s.UnsupportedNonOptionalCapabilityError(new p.BaseError(w,{details:w}))}if(i&&l.length>1){const g="`forceAtomic` is not supported on fallback to `eth_sendTransaction`.";throw new s.AtomicityNotSupportedError(new p.BaseError(g,{details:g}))}const y=[];for(const g of l){const w=s.sendTransaction(e,{account:f,chain:n,data:g.data,to:g.to,value:g.value?p.hexToBigInt(g.value):void 0});y.push(w),a>0&&await new Promise(E=>setTimeout(E,a))}const v=await Promise.allSettled(y);if(v.every(g=>g.status==="rejected"))throw v[0].reason;const b=v.map(g=>g.status==="fulfilled"?g.value:Ge);return{id:p.concat([...b,p.numberToHex(n.id,{size:32}),Ve])}}throw s.getTransactionError(h,{...t,account:f,chain:t.chain})}}async function Je(e,t){async function r(d){if(d.endsWith(Ve.slice(2))){const h=p.trim(p.sliceHex(d,-64,-32)),m=p.sliceHex(d,0,-64).slice(2).match(/.{1,64}/g),y=await Promise.all(m.map(b=>Ge.slice(2)!==b?e.request({method:"eth_getTransactionReceipt",params:[`0x${b}`]},{dedupe:!0}):void 0)),v=y.some(b=>b===null)?100:y.every(b=>b?.status==="0x1")?200:y.every(b=>b?.status==="0x0")?500:600;return{atomic:!1,chainId:p.hexToNumber(h),receipts:y.filter(Boolean),status:v,version:"2.0.0"}}return e.request({method:"wallet_getCallsStatus",params:[d]})}const{atomic:n=!1,chainId:o,receipts:a,version:i="2.0.0",...c}=await r(t.id),[u,f]=(()=>{const d=c.status;return d>=100&&d<200?["pending",d]:d>=200&&d<300?["success",d]:d>=300&&d<700?["failure",d]:d==="CONFIRMED"?["success",200]:d==="PENDING"?["pending",100]:[void 0,d]})();return{...c,atomic:n,chainId:o?p.hexToNumber(o):void 0,receipts:a?.map(d=>({...d,blockNumber:p.hexToBigInt(d.blockNumber),gasUsed:p.hexToBigInt(d.gasUsed),status:p.receiptStatuses[d.status]}))??[],statusCode:f,status:u,version:i}}async function Ye(e,t){const{id:r,pollingInterval:n=e.pollingInterval,status:o=({statusCode:v})=>v===200||v>=300,retryCount:a=4,retryDelay:i=({count:v})=>~~(1<<v)*200,timeout:c=6e4,throwOnFailure:u=!1}=t,f=s.stringify(["waitForCallsStatus",e.uid,r]),{promise:d,resolve:l,reject:h}=s.withResolvers();let m;const y=s.observe(f,{resolve:l,reject:h},v=>{const b=s.poll(async()=>{const g=w=>{clearTimeout(m),b(),w(),y()};try{const w=await te(async()=>{const E=await s.getAction(e,Je,"getCallsStatus")({id:r});if(u&&E.status==="failure")throw new Yt(E);return E},{retryCount:a,delay:i});if(!o(w))return;g(()=>v.resolve(w))}catch(w){g(()=>v.reject(w))}},{interval:n,emitOnBegin:!0});return b});return m=c?setTimeout(()=>{y(),clearTimeout(m),h(new Kt({id:r}))},c):void 0,await d}class Kt extends p.BaseError{constructor({id:t}){super(`Timed out while waiting for call bundle with id "${t}" to be confirmed.`,{name:"WaitForCallsStatusTimeoutError"})}}const ue=256;let K=ue,Q;function Ke(e=11){if(!Q||K+e>ue*2){Q="",K=0;for(let t=0;t<ue;t++)Q+=(256+Math.random()*256|0).toString(16).substring(1)}return Q.substring(K,K+++e)}function Qe(e){const{batch:t,chain:r,ccipRead:n,dataSuffix:o,key:a="base",name:i="Base Client",type:c="base"}=e,u=e.experimental_blockTag??(typeof r?.experimental_preconfirmationTime=="number"?"pending":void 0),f=r?.blockTime??12e3,d=Math.min(Math.max(Math.floor(f/2),500),4e3),l=e.pollingInterval??d,h=e.cacheTime??l,m=e.account?s.parseAccount(e.account):void 0,{config:y,request:v,value:b}=e.transport({account:m,chain:r,pollingInterval:l}),g={...y,...b},w={account:m,batch:t,cacheTime:h,ccipRead:n,chain:r,dataSuffix:o,key:a,name:i,pollingInterval:l,request:v,transport:g,type:c,uid:Ke(),...u?{experimental_blockTag:u}:{}};function E(x){return C=>{const R=C(x);for(const P in w)delete R[P];const A={...x,...R};return Object.assign(A,{extend:E(A)})}}return Object.assign(w,{extend:E(w)})}function we(e){if(!(e instanceof p.BaseError))return!1;const t=e.walk(r=>r instanceof s.ContractFunctionRevertedError);return t instanceof s.ContractFunctionRevertedError?t.data?.errorName==="HttpError"||t.data?.errorName==="ResolverError"||t.data?.errorName==="ResolverNotContract"||t.data?.errorName==="ResolverNotFound"||t.data?.errorName==="ReverseAddressMismatch"||t.data?.errorName==="UnsupportedResolverProfile":!1}function Xe(e){if(e.length!==66||e.indexOf("[")!==0||e.indexOf("]")!==65)return null;const t=`0x${e.slice(1,65)}`;return p.isHex(t)?t:null}function de(e){let t=new Uint8Array(32).fill(0);if(!e)return p.bytesToHex(t);const r=e.split(".");for(let n=r.length-1;n>=0;n-=1){const o=Xe(r[n]),a=o?p.toBytes(o):p.keccak256(p.stringToBytes(r[n]),"bytes");t=p.keccak256(p.concat([t,a]),"bytes")}return p.bytesToHex(t)}function Qt(e){return`[${e.slice(2)}]`}function Xt(e){const t=new Uint8Array(32).fill(0);return e?Xe(e)||p.keccak256(p.stringToBytes(e)):p.bytesToHex(t)}function ve(e){const t=e.replace(/^\.|\.$/gm,"");if(t.length===0)return new Uint8Array(1);const r=new Uint8Array(p.stringToBytes(t).byteLength+2);let n=0;const o=t.split(".");for(let a=0;a<o.length;a++){let i=p.stringToBytes(o[a]);i.byteLength>255&&(i=p.stringToBytes(Qt(Xt(o[a])))),r[n]=i.length,r.set(i,n+1),n+=i.length+1}return r.byteLength!==n+1?r.slice(0,n+1):r}async function er(e,t){const{blockNumber:r,blockTag:n,coinType:o,name:a,gatewayUrls:i,strict:c}=t,{chain:u}=e,f=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!u)throw new Error("client chain not configured. universalResolverAddress is required.");return s.getChainContractAddress({blockNumber:r,chain:u,contract:"ensUniversalResolver"})})(),d=u?.ensTlds;if(d&&!d.some(h=>a.endsWith(h)))return null;const l=o!=null?[de(a),BigInt(o)]:[de(a)];try{const h=s.encodeFunctionData({abi:s.addressResolverAbi,functionName:"addr",args:l}),m={address:f,abi:s.universalResolverResolveAbi,functionName:"resolveWithGateways",args:[p.toHex(ve(a)),h,i??[be.localBatchGatewayUrl]],blockNumber:r,blockTag:n},v=await s.getAction(e,s.readContract,"readContract")(m);if(v[0]==="0x")return null;const b=s.decodeFunctionResult({abi:s.addressResolverAbi,args:l,functionName:"addr",data:v[0]});return b==="0x"||p.trim(b)==="0x00"?null:b}catch(h){if(c)throw h;if(we(h))return null;throw h}}class tr extends p.BaseError{constructor({data:t}){super("Unable to extract image from metadata. The metadata may be malformed or invalid.",{metaMessages:["- Metadata must be a JSON object with at least an `image`, `image_url` or `image_data` property.","",`Provided data: ${JSON.stringify(t)}`],name:"EnsAvatarInvalidMetadataError"})}}class V extends p.BaseError{constructor({reason:t}){super(`ENS NFT avatar URI is invalid. ${t}`,{name:"EnsAvatarInvalidNftUriError"})}}class Ee extends p.BaseError{constructor({uri:t}){super(`Unable to resolve ENS avatar URI "${t}". The URI may be malformed, invalid, or does not respond with a valid image.`,{name:"EnsAvatarUriResolutionError"})}}class rr extends p.BaseError{constructor({namespace:t}){super(`ENS NFT avatar namespace "${t}" is not supported. Must be "erc721" or "erc1155".`,{name:"EnsAvatarUnsupportedNamespaceError"})}}const nr=/(?<protocol>https?:\/\/[^/]*|ipfs:\/|ipns:\/|ar:\/)?(?<root>\/)?(?<subpath>ipfs\/|ipns\/)?(?<target>[\w\-.]+)(?<subtarget>\/.*)?/,sr=/^(Qm[1-9A-HJ-NP-Za-km-z]{44,}|b[A-Za-z2-7]{58,}|B[A-Z2-7]{58,}|z[1-9A-HJ-NP-Za-km-z]{48,}|F[0-9A-F]{50,})(\/(?<target>[\w\-.]+))?(?<subtarget>\/.*)?$/,or=/^data:([a-zA-Z\-/+]*);base64,([^"].*)/,ar=/^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;async function ir(e){try{const t=await fetch(e,{method:"HEAD"});return t.status===200?t.headers.get("content-type")?.startsWith("image/"):!1}catch(t){return typeof t=="object"&&typeof t.response<"u"||!Object.hasOwn(globalThis,"Image")?!1:new Promise(r=>{const n=new Image;n.onload=()=>{r(!0)},n.onerror=()=>{r(!1)},n.src=e})}}function $e(e,t){return e?e.endsWith("/")?e.slice(0,-1):e:t}function et({uri:e,gatewayUrls:t}){const r=or.test(e);if(r)return{uri:e,isOnChain:!0,isEncoded:r};const n=$e(t?.ipfs,"https://ipfs.io"),o=$e(t?.arweave,"https://arweave.net"),a=e.match(nr),{protocol:i,subpath:c,target:u,subtarget:f=""}=a?.groups||{},d=i==="ipns:/"||c==="ipns/",l=i==="ipfs:/"||c==="ipfs/"||sr.test(e);if(e.startsWith("http")&&!d&&!l){let m=e;return t?.arweave&&(m=e.replace(/https:\/\/arweave.net/g,t?.arweave)),{uri:m,isOnChain:!1,isEncoded:!1}}if((d||l)&&u)return{uri:`${n}/${d?"ipns":"ipfs"}/${u}${f}`,isOnChain:!1,isEncoded:!1};if(i==="ar:/"&&u)return{uri:`${o}/${u}${f||""}`,isOnChain:!1,isEncoded:!1};let h=e.replace(ar,"");if(h.startsWith("<svg")&&(h=`data:image/svg+xml;base64,${btoa(h)}`),h.startsWith("data:")||h.startsWith("{"))return{uri:h,isOnChain:!0,isEncoded:!1};throw new Ee({uri:e})}function tt(e){if(typeof e!="object"||!("image"in e)&&!("image_url"in e)&&!("image_data"in e))throw new tr({data:e});return e.image||e.image_url||e.image_data}async function cr({gatewayUrls:e,uri:t}){try{const r=await fetch(t).then(o=>o.json());return await Ae({gatewayUrls:e,uri:tt(r)})}catch{throw new Ee({uri:t})}}async function Ae({gatewayUrls:e,uri:t}){const{uri:r,isOnChain:n}=et({uri:t,gatewayUrls:e});if(n||await ir(r))return r;throw new Ee({uri:t})}function ur(e){let t=e;t.startsWith("did:nft:")&&(t=t.replace("did:nft:","").replace(/_/g,"/"));const[r,n,o]=t.split("/"),[a,i]=r.split(":"),[c,u]=n.split(":");if(!a||a.toLowerCase()!=="eip155")throw new V({reason:"Only EIP-155 supported"});if(!i)throw new V({reason:"Chain ID not found"});if(!u)throw new V({reason:"Contract address not found"});if(!o)throw new V({reason:"Token ID not found"});if(!c)throw new V({reason:"ERC namespace not found"});return{chainID:Number.parseInt(i,10),namespace:c.toLowerCase(),contractAddress:u,tokenID:o}}async function dr(e,{nft:t}){if(t.namespace==="erc721")return s.readContract(e,{address:t.contractAddress,abi:[{name:"tokenURI",type:"function",stateMutability:"view",inputs:[{name:"tokenId",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"tokenURI",args:[BigInt(t.tokenID)]});if(t.namespace==="erc1155")return s.readContract(e,{address:t.contractAddress,abi:[{name:"uri",type:"function",stateMutability:"view",inputs:[{name:"_id",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"uri",args:[BigInt(t.tokenID)]});throw new rr({namespace:t.namespace})}async function fr(e,{gatewayUrls:t,record:r}){return/eip155:/i.test(r)?lr(e,{gatewayUrls:t,record:r}):Ae({uri:r,gatewayUrls:t})}async function lr(e,{gatewayUrls:t,record:r}){const n=ur(r),o=await dr(e,{nft:n}),{uri:a,isOnChain:i,isEncoded:c}=et({uri:o,gatewayUrls:t});if(i&&(a.includes("data:application/json;base64,")||a.startsWith("{"))){const f=c?atob(a.replace("data:application/json;base64,","")):a,d=JSON.parse(f);return Ae({uri:tt(d),gatewayUrls:t})}let u=n.tokenID;return n.namespace==="erc1155"&&(u=u.replace("0x","").padStart(64,"0")),cr({gatewayUrls:t,uri:a.replace(/(?:0x)?{id}/,u)})}async function rt(e,t){const{blockNumber:r,blockTag:n,key:o,name:a,gatewayUrls:i,strict:c}=t,{chain:u}=e,f=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!u)throw new Error("client chain not configured. universalResolverAddress is required.");return s.getChainContractAddress({blockNumber:r,chain:u,contract:"ensUniversalResolver"})})(),d=u?.ensTlds;if(d&&!d.some(l=>a.endsWith(l)))return null;try{const l={address:f,abi:s.universalResolverResolveAbi,args:[p.toHex(ve(a)),s.encodeFunctionData({abi:s.textResolverAbi,functionName:"text",args:[de(a),o]}),i??[be.localBatchGatewayUrl]],functionName:"resolveWithGateways",blockNumber:r,blockTag:n},m=await s.getAction(e,s.readContract,"readContract")(l);if(m[0]==="0x")return null;const y=s.decodeFunctionResult({abi:s.textResolverAbi,functionName:"text",data:m[0]});return y===""?null:y}catch(l){if(c)throw l;if(we(l))return null;throw l}}async function hr(e,{blockNumber:t,blockTag:r,assetGatewayUrls:n,name:o,gatewayUrls:a,strict:i,universalResolverAddress:c}){const u=await s.getAction(e,rt,"getEnsText")({blockNumber:t,blockTag:r,key:"avatar",name:o,universalResolverAddress:c,gatewayUrls:a,strict:i});if(!u)return null;try{return await fr(e,{record:u,gatewayUrls:n})}catch{return null}}async function pr(e,t){const{address:r,blockNumber:n,blockTag:o,coinType:a=60n,gatewayUrls:i,strict:c}=t,{chain:u}=e,f=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!u)throw new Error("client chain not configured. universalResolverAddress is required.");return s.getChainContractAddress({blockNumber:n,chain:u,contract:"ensUniversalResolver"})})();try{const d={address:f,abi:s.universalResolverReverseAbi,args:[r,a,i??[be.localBatchGatewayUrl]],functionName:"reverseWithGateways",blockNumber:n,blockTag:o},l=s.getAction(e,s.readContract,"readContract"),[h]=await l(d);return h||null}catch(d){if(c)throw d;if(we(d))return null;throw d}}async function mr(e,t){const{blockNumber:r,blockTag:n,name:o}=t,{chain:a}=e,i=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!a)throw new Error("client chain not configured. universalResolverAddress is required.");return s.getChainContractAddress({blockNumber:r,chain:a,contract:"ensUniversalResolver"})})(),c=a?.ensTlds;if(c&&!c.some(f=>o.endsWith(f)))throw new Error(`${o} is not a valid ENS TLD (${c?.join(", ")}) for chain "${a.name}" (id: ${a.id}).`);const[u]=await s.getAction(e,s.readContract,"readContract")({address:i,abi:[{inputs:[{type:"bytes"}],name:"findResolver",outputs:[{type:"address"},{type:"bytes32"},{type:"uint256"}],stateMutability:"view",type:"function"}],functionName:"findResolver",args:[p.toHex(ve(o))],blockNumber:r,blockTag:n});return u}async function nt(e,t){const{account:r=e.account,blockNumber:n,blockTag:o="latest",blobs:a,data:i,gas:c,gasPrice:u,maxFeePerBlobGas:f,maxFeePerGas:d,maxPriorityFeePerGas:l,to:h,value:m,...y}=t,v=r?s.parseAccount(r):void 0;try{s.assertRequest(t);const g=(typeof n=="bigint"?p.numberToHex(n):void 0)||o,w=e.chain?.formatters?.transactionRequest?.format,x=(w||s.formatTransactionRequest)({...s.extract(y,{format:w}),account:v,blobs:a,data:i,gas:c,gasPrice:u,maxFeePerBlobGas:f,maxFeePerGas:d,maxPriorityFeePerGas:l,to:h,value:m},"createAccessList"),C=await e.request({method:"eth_createAccessList",params:[x,g]});return{accessList:C.accessList,gasUsed:BigInt(C.gasUsed)}}catch(b){throw s.getCallError(b,{...t,account:v,chain:e.chain})}}async function yr(e){const t=s.createFilterRequestScope(e,{method:"eth_newBlockFilter"}),r=await e.request({method:"eth_newBlockFilter"});return{id:r,request:t(r),type:"block"}}async function st(e,{address:t,args:r,event:n,events:o,fromBlock:a,strict:i,toBlock:c}={}){const u=o??(n?[n]:void 0),f=s.createFilterRequestScope(e,{method:"eth_newFilter"});let d=[];u&&(d=[u.flatMap(m=>s.encodeEventTopics({abi:[m],eventName:m.name,args:r}))],n&&(d=d[0]));const l=await e.request({method:"eth_newFilter",params:[{address:t,fromBlock:typeof a=="bigint"?p.numberToHex(a):a,toBlock:typeof c=="bigint"?p.numberToHex(c):c,...d.length?{topics:d}:{}}]});return{abi:u,args:r,eventName:n?n.name:void 0,fromBlock:a,id:l,request:f(l),strict:!!i,toBlock:c,type:"event"}}async function ot(e){const t=s.createFilterRequestScope(e,{method:"eth_newPendingTransactionFilter"}),r=await e.request({method:"eth_newPendingTransactionFilter"});return{id:r,request:t(r),type:"transaction"}}async function gr(e,{address:t,blockNumber:r,blockTag:n=e.experimental_blockTag??"latest"}){const o=typeof r=="bigint"?p.numberToHex(r):void 0,a=await e.request({method:"eth_getBalance",params:[t,o||n]});return BigInt(a)}async function br(e){const t=await e.request({method:"eth_blobBaseFee"});return BigInt(t)}async function wr(e,{blockHash:t,blockNumber:r,blockTag:n="latest"}={}){const o=r!==void 0?p.numberToHex(r):void 0;let a;return t?a=await e.request({method:"eth_getBlockTransactionCountByHash",params:[t]},{dedupe:!0}):a=await e.request({method:"eth_getBlockTransactionCountByNumber",params:[o||n]},{dedupe:!!o}),p.hexToNumber(a)}async function fe(e,{address:t,blockNumber:r,blockTag:n="latest"}){const o=r!==void 0?p.numberToHex(r):void 0,a=await e.request({method:"eth_getCode",params:[t,o||n]},{dedupe:!!o});if(a!=="0x")return a}class vr extends p.BaseError{constructor({address:t}){super(`No EIP-712 domain found on contract "${t}".`,{metaMessages:["Ensure that:",`- The contract is deployed at the address "${t}".`,"- `eip712Domain()` function exists on the contract.","- `eip712Domain()` function matches signature to ERC-5267 specification."],name:"Eip712DomainNotFoundError"})}}async function Er(e,t){const{address:r,factory:n,factoryData:o}=t;try{const[a,i,c,u,f,d,l]=await s.getAction(e,s.readContract,"readContract")({abi:Ar,address:r,functionName:"eip712Domain",factory:n,factoryData:o});return{domain:{name:i,version:c,chainId:Number(u),verifyingContract:f,salt:d},extensions:l,fields:a}}catch(a){const i=a;throw i.name==="ContractFunctionExecutionError"&&i.cause.name==="ContractFunctionZeroDataError"?new vr({address:r}):i}}const Ar=[{inputs:[],name:"eip712Domain",outputs:[{name:"fields",type:"bytes1"},{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"},{name:"salt",type:"bytes32"},{name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"}];function Tr(e){return{baseFeePerGas:e.baseFeePerGas.map(t=>BigInt(t)),gasUsedRatio:e.gasUsedRatio,oldestBlock:BigInt(e.oldestBlock),reward:e.reward?.map(t=>t.map(r=>BigInt(r)))}}async function xr(e,{blockCount:t,blockNumber:r,blockTag:n="latest",rewardPercentiles:o}){const a=typeof r=="bigint"?p.numberToHex(r):void 0,i=await e.request({method:"eth_feeHistory",params:[p.numberToHex(t),a||n,o]},{dedupe:!!a});return Tr(i)}async function Rr(e,{filter:t}){const r=t.strict??!1,o=(await t.request({method:"eth_getFilterLogs",params:[t.id]})).map(a=>p.formatLog(a));return t.abi?s.parseEventLogs({abi:t.abi,logs:o,strict:r}):o}async function Cr({address:e,authorization:t,signature:r}){return s.isAddressEqual(p.getAddress(e),await s.recoverAuthorizationAddress({authorization:t,signature:r}))}const X=new p.LruMap(8192);function Pr(e,{enabled:t=!0,id:r}){if(!t||!r)return e();if(X.get(r))return X.get(r);const n=e().finally(()=>X.delete(r));return X.set(r,n),n}function Ir(e,t={}){return async(r,n={})=>{const{dedupe:o=!1,methods:a,retryDelay:i=150,retryCount:c=3,uid:u}={...t,...n},{method:f}=r;if(a?.exclude?.includes(f))throw new s.MethodNotSupportedRpcError(new Error("method not supported"),{method:f});if(a?.include&&!a.include.includes(f))throw new s.MethodNotSupportedRpcError(new Error("method not supported"),{method:f});const d=o?p.stringToHex(`${u}.${s.stringify(r)}`):void 0;return Pr(()=>te(async()=>{try{return await e(r)}catch(l){const h=l;switch(h.code){case s.ParseRpcError.code:throw new s.ParseRpcError(h);case s.InvalidRequestRpcError.code:throw new s.InvalidRequestRpcError(h);case s.MethodNotFoundRpcError.code:throw new s.MethodNotFoundRpcError(h,{method:r.method});case s.InvalidParamsRpcError.code:throw new s.InvalidParamsRpcError(h);case s.InternalRpcError.code:throw new s.InternalRpcError(h);case s.InvalidInputRpcError.code:throw new s.InvalidInputRpcError(h);case s.ResourceNotFoundRpcError.code:throw new s.ResourceNotFoundRpcError(h);case s.ResourceUnavailableRpcError.code:throw new s.ResourceUnavailableRpcError(h);case s.TransactionRejectedRpcError.code:throw new s.TransactionRejectedRpcError(h);case s.MethodNotSupportedRpcError.code:throw new s.MethodNotSupportedRpcError(h,{method:r.method});case s.LimitExceededRpcError.code:throw new s.LimitExceededRpcError(h);case s.JsonRpcVersionUnsupportedError.code:throw new s.JsonRpcVersionUnsupportedError(h);case s.UserRejectedRequestError.code:throw new s.UserRejectedRequestError(h);case s.UnauthorizedProviderError.code:throw new s.UnauthorizedProviderError(h);case s.UnsupportedProviderMethodError.code:throw new s.UnsupportedProviderMethodError(h);case s.ProviderDisconnectedError.code:throw new s.ProviderDisconnectedError(h);case s.ChainDisconnectedError.code:throw new s.ChainDisconnectedError(h);case s.SwitchChainError.code:throw new s.SwitchChainError(h);case s.UnsupportedNonOptionalCapabilityError.code:throw new s.UnsupportedNonOptionalCapabilityError(h);case s.UnsupportedChainIdError.code:throw new s.UnsupportedChainIdError(h);case s.DuplicateIdError.code:throw new s.DuplicateIdError(h);case s.UnknownBundleIdError.code:throw new s.UnknownBundleIdError(h);case s.BundleTooLargeError.code:throw new s.BundleTooLargeError(h);case s.AtomicReadyWalletRejectedUpgradeError.code:throw new s.AtomicReadyWalletRejectedUpgradeError(h);case s.AtomicityNotSupportedError.code:throw new s.AtomicityNotSupportedError(h);case 5e3:throw new s.UserRejectedRequestError(h);default:throw l instanceof p.BaseError?l:new s.UnknownRpcError(h)}}},{delay:({count:l,error:h})=>{if(h&&h instanceof s.HttpRequestError){const m=h?.headers?.get("Retry-After");if(m?.match(/\d/))return Number.parseInt(m,10)*1e3}return~~(1<<l)*i},retryCount:c,shouldRetry:({error:l})=>Br(l)}),{enabled:o,id:d})}}function Br(e){return"code"in e&&typeof e.code=="number"?e.code===-1||e.code===s.LimitExceededRpcError.code||e.code===s.InternalRpcError.code:e instanceof s.HttpRequestError&&e.status?e.status===403||e.status===408||e.status===413||e.status===429||e.status===500||e.status===502||e.status===503||e.status===504:!0}function kr(e,{errorInstance:t=new Error("timed out"),timeout:r,signal:n}){return new Promise((o,a)=>{(async()=>{let i;try{const c=new AbortController;r>0&&(i=setTimeout(()=>{n&&c.abort()},r)),o(await e({signal:c?.signal||null}))}catch(c){c?.name==="AbortError"&&a(t),a(c)}finally{clearTimeout(i)}})()})}function Nr(){return{current:0,take(){return this.current++},reset(){this.current=0}}}const Ue=Nr();function Sr(e,t={}){const{url:r,headers:n}=zr(e);return{async request(o){const{body:a,fetchFn:i=t.fetchFn??fetch,onRequest:c=t.onRequest,onResponse:u=t.onResponse,timeout:f=t.timeout??1e4}=o,d={...t.fetchOptions??{},...o.fetchOptions??{}},{headers:l,method:h,signal:m}=d;try{const y=await kr(async({signal:b})=>{const g={...d,body:Array.isArray(a)?s.stringify(a.map(C=>({jsonrpc:"2.0",id:C.id??Ue.take(),...C}))):s.stringify({jsonrpc:"2.0",id:a.id??Ue.take(),...a}),headers:{...n,"Content-Type":"application/json",...l},method:h||"POST",signal:m||(f>0?b:null)},w=new Request(r,g),E=await c?.(w,g)??{...g,url:r};return await i(E.url??r,E)},{errorInstance:new s.TimeoutError({body:a,url:r}),timeout:f,signal:!0});u&&await u(y);let v;if(y.headers.get("Content-Type")?.startsWith("application/json"))v=await y.json();else{v=await y.text();try{v=JSON.parse(v||"{}")}catch(b){if(y.ok)throw b;v={error:v}}}if(!y.ok)throw new s.HttpRequestError({body:a,details:s.stringify(v.error)||y.statusText,headers:y.headers,status:y.status,url:r});return v}catch(y){throw y instanceof s.HttpRequestError||y instanceof s.TimeoutError?y:new s.HttpRequestError({body:a,cause:y,url:r})}}}}function zr(e){try{const t=new URL(e),r=(()=>{if(t.username){const n=`${decodeURIComponent(t.username)}:${decodeURIComponent(t.password)}`;return t.username="",t.password="",{url:t.toString(),headers:{Authorization:`Basic ${btoa(n)}`}}}})();return{url:t.toString(),...r}}catch{return{url:e}}}const Fr=`Ethereum Signed Message:
|
|
2
|
+
`;function _r(e){const t=typeof e=="string"?p.stringToHex(e):typeof e.raw=="string"?e.raw:p.bytesToHex(e.raw),r=p.stringToHex(`${Fr}${p.size(t)}`);return p.concat([r,t])}function at(e,t){return p.keccak256(_r(e),t)}class $r extends p.BaseError{constructor({domain:t}){super(`Invalid domain "${s.stringify(t)}".`,{metaMessages:["Must be a valid EIP-712 domain."]})}}class Ur extends p.BaseError{constructor({primaryType:t,types:r}){super(`Invalid primary type \`${t}\` must be one of \`${JSON.stringify(Object.keys(r))}\`.`,{docsPath:"/api/glossary/Errors#typeddatainvalidprimarytypeerror",metaMessages:["Check that the primary type is a key in `types`."]})}}class qr extends p.BaseError{constructor({type:t}){super(`Struct type "${t}" is invalid.`,{metaMessages:["Struct type must not be a Solidity type."],name:"InvalidStructTypeError"})}}function Dr(e){const{domain:t,message:r,primaryType:n,types:o}=e,a=(u,f)=>{const d={...f};for(const l of u){const{name:h,type:m}=l;m==="address"&&(d[h]=d[h].toLowerCase())}return d},i=o.EIP712Domain?t?a(o.EIP712Domain,t):{}:{},c=(()=>{if(n!=="EIP712Domain")return a(o[n],r)})();return s.stringify({domain:i,message:c,primaryType:n,types:o})}function it(e){const{domain:t,message:r,primaryType:n,types:o}=e,a=(i,c)=>{for(const u of i){const{name:f,type:d}=u,l=c[f],h=d.match(s.integerRegex);if(h&&(typeof l=="number"||typeof l=="bigint")){const[v,b,g]=h;p.numberToHex(l,{signed:b==="int",size:Number.parseInt(g,10)/8})}if(d==="address"&&typeof l=="string"&&!p.isAddress(l))throw new p.InvalidAddressError({address:l});const m=d.match(s.bytesRegex);if(m){const[v,b]=m;if(b&&p.size(l)!==Number.parseInt(b,10))throw new s.BytesSizeMismatchError({expectedSize:Number.parseInt(b,10),givenSize:p.size(l)})}const y=o[d];y&&(Or(d),a(y,l))}};if(o.EIP712Domain&&t){if(typeof t!="object")throw new $r({domain:t});a(o.EIP712Domain,t)}if(n!=="EIP712Domain")if(o[n])a(o[n],r);else throw new Ur({primaryType:n,types:o})}function ct({domain:e}){return[typeof e?.name=="string"&&{name:"name",type:"string"},e?.version&&{name:"version",type:"string"},(typeof e?.chainId=="number"||typeof e?.chainId=="bigint")&&{name:"chainId",type:"uint256"},e?.verifyingContract&&{name:"verifyingContract",type:"address"},e?.salt&&{name:"salt",type:"bytes32"}].filter(Boolean)}function Or(e){if(e==="address"||e==="bool"||e==="string"||e.startsWith("bytes")||e.startsWith("uint")||e.startsWith("int"))throw new qr({type:e})}function Lr(e){const{domain:t={},message:r,primaryType:n}=e,o={EIP712Domain:ct({domain:t}),...e.types};it({domain:t,message:r,primaryType:n,types:o});const a=["0x1901"];return t&&a.push(Mr({domain:t,types:o})),n!=="EIP712Domain"&&a.push(ut({data:r,primaryType:n,types:o})),p.keccak256(p.concat(a))}function Mr({domain:e,types:t}){return ut({data:e,primaryType:"EIP712Domain",types:t})}function ut({data:e,primaryType:t,types:r}){const n=dt({data:e,primaryType:t,types:r});return p.keccak256(n)}function dt({data:e,primaryType:t,types:r}){const n=[{type:"bytes32"}],o=[Hr({primaryType:t,types:r})];for(const a of r[t]){const[i,c]=lt({types:r,name:a.name,type:a.type,value:e[a.name]});n.push(i),o.push(c)}return s.encodeAbiParameters(n,o)}function Hr({primaryType:e,types:t}){const r=p.toHex(jr({primaryType:e,types:t}));return p.keccak256(r)}function jr({primaryType:e,types:t}){let r="";const n=ft({primaryType:e,types:t});n.delete(e);const o=[e,...Array.from(n).sort()];for(const a of o)r+=`${a}(${t[a].map(({name:i,type:c})=>`${c} ${i}`).join(",")})`;return r}function ft({primaryType:e,types:t},r=new Set){const o=e.match(/^\w*/u)?.[0];if(r.has(o)||t[o]===void 0)return r;r.add(o);for(const a of t[o])ft({primaryType:a.type,types:t},r);return r}function lt({types:e,name:t,type:r,value:n}){if(e[r]!==void 0)return[{type:"bytes32"},p.keccak256(dt({data:n,primaryType:r,types:e}))];if(r==="bytes")return[{type:"bytes32"},p.keccak256(n)];if(r==="string")return[{type:"bytes32"},p.keccak256(p.toHex(n))];if(r.lastIndexOf("]")===r.length-1){const o=r.slice(0,r.lastIndexOf("[")),a=n.map(i=>lt({name:t,type:o,types:e,value:i}));return[{type:"bytes32"},p.keccak256(s.encodeAbiParameters(a.map(([i])=>i),a.map(([,i])=>i)))]}return[{type:r},n]}class Wr extends Map{constructor(t){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=t}get(t){const r=super.get(t);return super.has(t)&&r!==void 0&&(this.delete(t),super.set(t,r)),r}set(t,r){if(super.set(t,r),this.maxSize&&this.size>this.maxSize){const n=this.keys().next().value;n&&this.delete(n)}return this}}const Vr={checksum:new Wr(8192)},ae=Vr.checksum;function ht(e,t={}){const{as:r=typeof e=="string"?"Hex":"Bytes"}=t,n=p.keccak_256(qt(e));return r==="Bytes"?n:s.fromBytes(n)}const Gr=/^0x[a-fA-F0-9]{40}$/;function ne(e,t={}){const{strict:r=!0}=t;if(!Gr.test(e))throw new qe({address:e,cause:new Zr});if(r){if(e.toLowerCase()===e)return;if(pt(e)!==e)throw new qe({address:e,cause:new Jr})}}function pt(e){if(ae.has(e))return ae.get(e);ne(e,{strict:!1});const t=e.substring(2).toLowerCase(),r=ht(Ot(t),{as:"Bytes"}),n=t.split("");for(let a=0;a<40;a+=2)r[a>>1]>>4>=8&&n[a]&&(n[a]=n[a].toUpperCase()),(r[a>>1]&15)>=8&&n[a+1]&&(n[a+1]=n[a+1].toUpperCase());const o=`0x${n.join("")}`;return ae.set(e,o),o}function le(e,t={}){const{strict:r=!0}=t??{};try{return ne(e,{strict:r}),!0}catch{return!1}}class qe extends s.BaseError{constructor({address:t,cause:r}){super(`Address "${t}" is invalid.`,{cause:r}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidAddressError"})}}class Zr extends s.BaseError{constructor(){super("Address is not a 20 byte (40 hexadecimal character) value."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidInputError"})}}class Jr extends s.BaseError{constructor(){super("Address does not match its checksum counterpart."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidChecksumError"})}}const Yr=/^(.*)\[([0-9]*)\]$/,Kr=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,mt=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,De=2n**256n-1n;function H(e,t,r){const{checksumAddress:n,staticPosition:o}=r,a=Re(t.type);if(a){const[i,c]=a;return Xr(e,{...t,type:c},{checksumAddress:n,length:i,staticPosition:o})}if(t.type==="tuple")return nn(e,t,{checksumAddress:n,staticPosition:o});if(t.type==="address")return Qr(e,{checksum:n});if(t.type==="bool")return en(e);if(t.type.startsWith("bytes"))return tn(e,t,{staticPosition:o});if(t.type.startsWith("uint")||t.type.startsWith("int"))return rn(e,t);if(t.type==="string")return sn(e,{staticPosition:o});throw new Pe(t.type)}const Oe=32,he=32;function Qr(e,t={}){const{checksum:r=!1}=t,n=e.readBytes(32);return[(a=>r?pt(a):a)(s.fromBytes(Mt(n,-20))),32]}function Xr(e,t,r){const{checksumAddress:n,length:o,staticPosition:a}=r;if(!o){const u=U(e.readBytes(he)),f=a+u,d=f+Oe;e.setPosition(f);const l=U(e.readBytes(Oe)),h=G(t);let m=0;const y=[];for(let v=0;v<l;++v){e.setPosition(d+(h?v*32:m));const[b,g]=H(e,t,{checksumAddress:n,staticPosition:d});m+=g,y.push(b)}return e.setPosition(a+32),[y,32]}if(G(t)){const u=U(e.readBytes(he)),f=a+u,d=[];for(let l=0;l<o;++l){e.setPosition(f+l*32);const[h]=H(e,t,{checksumAddress:n,staticPosition:f});d.push(h)}return e.setPosition(a+32),[d,32]}let i=0;const c=[];for(let u=0;u<o;++u){const[f,d]=H(e,t,{checksumAddress:n,staticPosition:a+i});i+=d,c.push(f)}return[c,i]}function en(e){return[jt(e.readBytes(32),{size:32}),32]}function tn(e,t,{staticPosition:r}){const[n,o]=t.type.split("bytes");if(!o){const i=U(e.readBytes(32));e.setPosition(r+i);const c=U(e.readBytes(32));if(c===0)return e.setPosition(r+32),["0x",32];const u=e.readBytes(c);return e.setPosition(r+32),[s.fromBytes(u),32]}return[s.fromBytes(e.readBytes(Number.parseInt(o,10),32)),32]}function rn(e,t){const r=t.type.startsWith("int"),n=Number.parseInt(t.type.split("int")[1]||"256",10),o=e.readBytes(32);return[n>48?Ht(o,{signed:r}):U(o,{signed:r}),32]}function nn(e,t,r){const{checksumAddress:n,staticPosition:o}=r,a=t.components.length===0||t.components.some(({name:u})=>!u),i=a?[]:{};let c=0;if(G(t)){const u=U(e.readBytes(he)),f=o+u;for(let d=0;d<t.components.length;++d){const l=t.components[d];e.setPosition(f+c);const[h,m]=H(e,l,{checksumAddress:n,staticPosition:f});c+=m,i[a?d:l?.name]=h}return e.setPosition(o+32),[i,32]}for(let u=0;u<t.components.length;++u){const f=t.components[u],[d,l]=H(e,f,{checksumAddress:n,staticPosition:o});i[a?u:f?.name]=d,c+=l}return[i,c]}function sn(e,{staticPosition:t}){const r=U(e.readBytes(32)),n=t+r;e.setPosition(n);const o=U(e.readBytes(32));if(o===0)return e.setPosition(t+32),["",32];const a=e.readBytes(o,32),i=Wt(We(a));return e.setPosition(t+32),[i,32]}function on({checksumAddress:e,parameters:t,values:r}){const n=[];for(let o=0;o<t.length;o++)n.push(Te({checksumAddress:e,parameter:t[o],value:r[o]}));return n}function Te({checksumAddress:e=!1,parameter:t,value:r}){const n=t,o=Re(n.type);if(o){const[a,i]=o;return cn(r,{checksumAddress:e,length:a,parameter:{...n,type:i}})}if(n.type==="tuple")return hn(r,{checksumAddress:e,parameter:n});if(n.type==="address")return an(r,{checksum:e});if(n.type==="bool")return dn(r);if(n.type.startsWith("uint")||n.type.startsWith("int")){const a=n.type.startsWith("int"),[,,i="256"]=mt.exec(n.type)??[];return fn(r,{signed:a,size:Number(i)})}if(n.type.startsWith("bytes"))return un(r,{type:n.type});if(n.type==="string")return ln(r);throw new Pe(n.type)}function xe(e){let t=0;for(let a=0;a<e.length;a++){const{dynamic:i,encoded:c}=e[a];i?t+=32:t+=s.size(c)}const r=[],n=[];let o=0;for(let a=0;a<e.length;a++){const{dynamic:i,encoded:c}=e[a];i?(r.push(s.fromNumber(t+o,{size:32})),n.push(c),o+=s.size(c)):r.push(c)}return s.concat(...r,...n)}function an(e,t){const{checksum:r=!1}=t;return ne(e,{strict:r}),{dynamic:!1,encoded:s.padLeft(e.toLowerCase())}}function cn(e,t){const{checksumAddress:r,length:n,parameter:o}=t,a=n===null;if(!Array.isArray(e))throw new An(e);if(!a&&e.length!==n)throw new En({expectedLength:n,givenLength:e.length,type:`${o.type}[${n}]`});let i=!1;const c=[];for(let u=0;u<e.length;u++){const f=Te({checksumAddress:r,parameter:o,value:e[u]});f.dynamic&&(i=!0),c.push(f)}if(a||i){const u=xe(c);if(a){const f=s.fromNumber(c.length,{size:32});return{dynamic:!0,encoded:c.length>0?s.concat(f,u):f}}if(i)return{dynamic:!0,encoded:u}}return{dynamic:!1,encoded:s.concat(...c.map(({encoded:u})=>u))}}function un(e,{type:t}){const[,r]=t.split("bytes"),n=s.size(e);if(!r){let o=e;return n%32!==0&&(o=s.padRight(o,Math.ceil((e.length-2)/2/32)*32)),{dynamic:!0,encoded:s.concat(s.padLeft(s.fromNumber(n,{size:32})),o)}}if(n!==Number.parseInt(r,10))throw new gt({expectedSize:Number.parseInt(r,10),value:e});return{dynamic:!1,encoded:s.padRight(e)}}function dn(e){if(typeof e!="boolean")throw new s.BaseError(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:s.padLeft(s.fromBoolean(e))}}function fn(e,{signed:t,size:r}){if(typeof r=="number"){const n=2n**(BigInt(r)-(t?1n:0n))-1n,o=t?-n-1n:0n;if(e>n||e<o)throw new s.IntegerOutOfRangeError({max:n.toString(),min:o.toString(),signed:t,size:r/8,value:e.toString()})}return{dynamic:!1,encoded:s.fromNumber(e,{size:32,signed:t})}}function ln(e){const t=s.fromString(e),r=Math.ceil(s.size(t)/32),n=[];for(let o=0;o<r;o++)n.push(s.padRight(s.slice(t,o*32,(o+1)*32)));return{dynamic:!0,encoded:s.concat(s.padRight(s.fromNumber(s.size(t),{size:32})),...n)}}function hn(e,t){const{checksumAddress:r,parameter:n}=t;let o=!1;const a=[];for(let i=0;i<n.components.length;i++){const c=n.components[i],u=Array.isArray(e)?i:c.name,f=Te({checksumAddress:r,parameter:c,value:e[u]});a.push(f),f.dynamic&&(o=!0)}return{dynamic:o,encoded:o?xe(a):s.concat(...a.map(({encoded:i})=>i))}}function Re(e){const t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function G(e){const{type:t}=e;if(t==="string"||t==="bytes"||t.endsWith("[]"))return!0;if(t==="tuple")return e.components?.some(G);const r=Re(e.type);return!!(r&&G({...e,type:r[1]}))}const pn={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new gn({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new yn({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new Le({offset:e});const t=this.position-e;this.assertPosition(t),this.position=t},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new Le({offset:e});const t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){const r=t??this.position;return this.assertPosition(r+e-1),this.bytes.subarray(r,r+e)},inspectUint8(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){const t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){const t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){const t=e??this.position;return this.assertPosition(t+3),this.dataView.getUint32(t)},pushByte(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushBytes(e){this.assertPosition(this.position+e.length-1),this.bytes.set(e,this.position),this.position+=e.length},pushUint8(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushUint16(e){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,e),this.position+=2},pushUint24(e){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,e>>8),this.dataView.setUint8(this.position+2,e&255),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();const e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();const r=this.inspectBytes(e);return this.position+=t??e,r},readUint8(){this.assertReadLimit(),this._touch();const e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();const e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();const e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();const e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){const t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;const e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}};function mn(e,{recursiveReadLimit:t=8192}={}){const r=Object.create(pn);return r.bytes=e,r.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),r.positionReadCount=new Map,r.recursiveReadLimit=t,r}class Le extends s.BaseError{constructor({offset:t}){super(`Offset \`${t}\` cannot be negative.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.NegativeOffsetError"})}}class yn extends s.BaseError{constructor({length:t,position:r}){super(`Position \`${r}\` is out of bounds (\`0 < position < ${t}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.PositionOutOfBoundsError"})}}class gn extends s.BaseError{constructor({count:t,limit:r}){super(`Recursive read limit of \`${r}\` exceeded (recursive read count: \`${t}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.RecursiveReadLimitExceededError"})}}function bn(e,t,r={}){const{as:n="Array",checksumAddress:o=!1}=r,a=typeof t=="string"?je(t):t,i=mn(a);if(L(a)===0&&e.length>0)throw new vn;if(L(a)&&L(a)<32)throw new wn({data:typeof t=="string"?t:s.fromBytes(t),parameters:e,size:L(a)});let c=0;const u=n==="Array"?[]:{};for(let f=0;f<e.length;++f){const d=e[f];i.setPosition(c);const[l,h]=H(i,d,{checksumAddress:o,staticPosition:0});c+=h,n==="Array"?u.push(l):u[d.name??f]=l}return u}function Ce(e,t,r){const{checksumAddress:n=!1}={};if(e.length!==t.length)throw new bt({expectedLength:e.length,givenLength:t.length});const o=on({checksumAddress:n,parameters:e,values:t}),a=xe(o);return a.length===0?"0x":a}function pe(e,t){if(e.length!==t.length)throw new bt({expectedLength:e.length,givenLength:t.length});const r=[];for(let n=0;n<e.length;n++){const o=e[n],a=t[n];r.push(pe.encode(o,a))}return s.concat(...r)}(function(e){function t(r,n,o=!1){if(r==="address"){const u=n;return ne(u),s.padLeft(u.toLowerCase(),o?32:0)}if(r==="string")return s.fromString(n);if(r==="bytes")return n;if(r==="bool")return s.padLeft(s.fromBoolean(n),o?32:1);const a=r.match(mt);if(a){const[u,f,d="256"]=a,l=Number.parseInt(d,10)/8;return s.fromNumber(n,{size:o?32:l,signed:f==="int"})}const i=r.match(Kr);if(i){const[u,f]=i;if(Number.parseInt(f,10)!==(n.length-2)/2)throw new gt({expectedSize:Number.parseInt(f,10),value:n});return s.padRight(n,o?32:0)}const c=r.match(Yr);if(c&&Array.isArray(n)){const[u,f]=c,d=[];for(let l=0;l<n.length;l++)d.push(t(f,n[l],!0));return d.length===0?"0x":s.concat(...d)}throw new Pe(r)}e.encode=t})(pe||(pe={}));function yt(e){return Array.isArray(e)&&typeof e[0]=="string"||typeof e=="string"?Fe(e):e}class wn extends s.BaseError{constructor({data:t,parameters:r,size:n}){super(`Data size of ${n} bytes is too small for given parameters.`,{metaMessages:[`Params: (${s.formatAbiParameters(r)})`,`Data: ${t} (${n} bytes)`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.DataSizeTooSmallError"})}}class vn extends s.BaseError{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.'),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ZeroDataError"})}}class En extends s.BaseError{constructor({expectedLength:t,givenLength:r,type:n}){super(`Array length mismatch for type \`${n}\`. Expected: \`${t}\`. Given: \`${r}\`.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ArrayLengthMismatchError"})}}class gt extends s.BaseError{constructor({expectedSize:t,value:r}){super(`Size of bytes "${r}" (bytes${s.size(r)}) does not match expected size (bytes${t}).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.BytesSizeMismatchError"})}}class bt extends s.BaseError{constructor({expectedLength:t,givenLength:r}){super(["ABI encoding parameters/values length mismatch.",`Expected length (parameters): ${t}`,`Given length (values): ${r}`].join(`
|
|
3
|
+
`)),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.LengthMismatchError"})}}class An extends s.BaseError{constructor(t){super(`Value \`${t}\` is not a valid array.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidArrayError"})}}class Pe extends s.BaseError{constructor(t){super(`Type \`${t}\` is not a valid ABI Type.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidTypeError"})}}function wt(e,t={}){const{recovered:r}=t;if(typeof e.r>"u")throw new ie({signature:e});if(typeof e.s>"u")throw new ie({signature:e});if(r&&typeof e.yParity>"u")throw new ie({signature:e});if(e.r<0n||e.r>De)throw new Bn({value:e.r});if(e.s<0n||e.s>De)throw new kn({value:e.s});if(typeof e.yParity=="number"&&e.yParity!==0&&e.yParity!==1)throw new Be({value:e.yParity})}function Tn(e){return vt(s.fromBytes(e))}function vt(e){if(e.length!==130&&e.length!==132)throw new In({signature:e});const t=BigInt(s.slice(e,0,32)),r=BigInt(s.slice(e,32,64)),n=(()=>{const o=+`0x${e.slice(130)}`;if(!Number.isNaN(o))try{return Ie(o)}catch{throw new Be({value:o})}})();return typeof n>"u"?{r:t,s:r}:{r:t,s:r,yParity:n}}function xn(e){if(!(typeof e.r>"u")&&!(typeof e.s>"u"))return Rn(e)}function Rn(e){const t=typeof e=="string"?vt(e):e instanceof Uint8Array?Tn(e):typeof e.r=="string"?Pn(e):e.v?Cn(e):{r:e.r,s:e.s,...typeof e.yParity<"u"?{yParity:e.yParity}:{}};return wt(t),t}function Cn(e){return{r:e.r,s:e.s,yParity:Ie(e.v)}}function Pn(e){const t=(()=>{const r=e.v?Number(e.v):void 0;let n=e.yParity?Number(e.yParity):void 0;if(typeof r=="number"&&typeof n!="number"&&(n=Ie(r)),typeof n!="number")throw new Be({value:e.yParity});return n})();return{r:BigInt(e.r),s:BigInt(e.s),yParity:t}}function Ie(e){if(e===0||e===27)return 0;if(e===1||e===28)return 1;if(e>=35)return e%2===0?1:0;throw new Nn({value:e})}class In extends s.BaseError{constructor({signature:t}){super(`Value \`${t}\` is an invalid signature size.`,{metaMessages:["Expected: 64 bytes or 65 bytes.",`Received ${s.size(s.from(t))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSerializedSizeError"})}}class ie extends s.BaseError{constructor({signature:t}){super(`Signature \`${s.stringify$1(t)}\` is missing either an \`r\`, \`s\`, or \`yParity\` property.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.MissingPropertiesError"})}}class Bn extends s.BaseError{constructor({value:t}){super(`Value \`${t}\` is an invalid r value. r must be a positive integer less than 2^256.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidRError"})}}class kn extends s.BaseError{constructor({value:t}){super(`Value \`${t}\` is an invalid s value. s must be a positive integer less than 2^256.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSError"})}}class Be extends s.BaseError{constructor({value:t}){super(`Value \`${t}\` is an invalid y-parity value. Y-parity must be 0 or 1.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidYParityError"})}}class Nn extends s.BaseError{constructor({value:t}){super(`Value \`${t}\` is an invalid v value. v must be 27, 28 or >=35.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidVError"})}}function Sn(e,t={}){return typeof e.chainId=="string"?zn(e):{...e,...t.signature}}function zn(e){const{address:t,chainId:r,nonce:n}=e,o=xn(e);return{address:t,chainId:Number(r),nonce:BigInt(n),...o}}const Fn="0x8010801080108010801080108010801080108010801080108010801080108010",_n=yt("(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data");function Et(e){if(typeof e=="string"){if(s.slice(e,-32)!==Fn)throw new qn(e)}else wt(e.authorization)}function $n(e){Et(e);const t=s.toNumber(s.slice(e,-64,-32)),r=s.slice(e,-t-64,-64),n=s.slice(e,0,-t-64),[o,a,i]=bn(_n,r);return{authorization:Sn({address:o.delegation,chainId:Number(o.chainId),nonce:o.nonce,yParity:o.yParity,r:o.r,s:o.s}),signature:n,...i&&i!=="0x"?{data:i,to:a}:{}}}function Un(e){try{return Et(e),!0}catch{return!1}}let qn=class extends s.BaseError{constructor(t){super(`Value \`${t}\` is an invalid ERC-8010 wrapped signature.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SignatureErc8010.InvalidWrappedSignatureError"})}};function Dn(e){return e.map(t=>({...t,value:BigInt(t.value)}))}function On(e){return{...e,balance:e.balance?BigInt(e.balance):void 0,nonce:e.nonce?p.hexToNumber(e.nonce):void 0,storageProof:e.storageProof?Dn(e.storageProof):void 0}}async function Ln(e,{address:t,blockNumber:r,blockTag:n,storageKeys:o}){const a=n??"latest",i=r!==void 0?p.numberToHex(r):void 0,c=await e.request({method:"eth_getProof",params:[t,o,i||a]});return On(c)}async function Mn(e,{address:t,blockNumber:r,blockTag:n="latest",slot:o}){const a=r!==void 0?p.numberToHex(r):void 0;return await e.request({method:"eth_getStorageAt",params:[t,o,a||n]})}async function ke(e,{blockHash:t,blockNumber:r,blockTag:n,hash:o,index:a,sender:i,nonce:c}){const u=n||"latest",f=r!==void 0?p.numberToHex(r):void 0;let d=null;if(o?d=await e.request({method:"eth_getTransactionByHash",params:[o]},{dedupe:!0}):t?d=await e.request({method:"eth_getTransactionByBlockHashAndIndex",params:[t,p.numberToHex(a)]},{dedupe:!0}):typeof a=="number"?d=await e.request({method:"eth_getTransactionByBlockNumberAndIndex",params:[f||u,p.numberToHex(a)]},{dedupe:!!f}):i&&typeof c=="number"&&(d=await e.request({method:"eth_getTransactionBySenderAndNonce",params:[i,p.numberToHex(c)]},{dedupe:!0})),!d)throw new p.TransactionNotFoundError({blockHash:t,blockNumber:r,blockTag:u,hash:o,index:a});return(e.chain?.formatters?.transaction?.format||p.formatTransaction)(d,"getTransaction")}async function Hn(e,{hash:t,transactionReceipt:r}){const[n,o]=await Promise.all([s.getAction(e,s.getBlockNumber,"getBlockNumber")({}),t?s.getAction(e,ke,"getTransaction")({hash:t}):void 0]),a=r?.blockNumber||o?.blockNumber;return a?n-a+1n:0n}async function ee(e,{hash:t}){const r=await e.request({method:"eth_getTransactionReceipt",params:[t]},{dedupe:!0});if(!r)throw new p.TransactionReceiptNotFoundError({hash:t});return(e.chain?.formatters?.transactionReceipt?.format||p.formatTransactionReceipt)(r,"getTransactionReceipt")}async function jn(e,t){const{account:r,authorizationList:n,allowFailure:o=!0,blockNumber:a,blockOverrides:i,blockTag:c,stateOverride:u}=t,f=t.contracts,{batchSize:d=t.batchSize??1024,deployless:l=t.deployless??!1}=typeof e.batch?.multicall=="object"?e.batch.multicall:{},h=(()=>{if(t.multicallAddress)return t.multicallAddress;if(l)return null;if(e.chain)return s.getChainContractAddress({blockNumber:a,chain:e.chain,contract:"multicall3"});throw new Error("client chain not configured. multicallAddress is required.")})(),m=[[]];let y=0,v=0;for(let w=0;w<f.length;w++){const{abi:E,address:x,args:C,functionName:R}=f[w];try{const A=s.encodeFunctionData({abi:E,args:C,functionName:R});v+=(A.length-2)/2,d>0&&v>d&&m[y].length>0&&(y++,v=(A.length-2)/2,m[y]=[]),m[y]=[...m[y],{allowFailure:!0,callData:A,target:x}]}catch(A){const P=s.getContractError(A,{abi:E,address:x,args:C,docsPath:"/docs/contract/multicall",functionName:R,sender:r});if(!o)throw P;m[y]=[...m[y],{allowFailure:!0,callData:"0x",target:x}]}}const b=await Promise.allSettled(m.map(w=>s.getAction(e,s.readContract,"readContract")({...h===null?{code:s.multicall3Bytecode}:{address:h},abi:s.multicall3Abi,account:r,args:[w],authorizationList:n,blockNumber:a,blockOverrides:i,blockTag:c,functionName:"aggregate3",stateOverride:u}))),g=[];for(let w=0;w<b.length;w++){const E=b[w];if(E.status==="rejected"){if(!o)throw E.reason;for(let C=0;C<m[w].length;C++)g.push({status:"failure",error:E.reason,result:void 0});continue}const x=E.value;for(let C=0;C<x.length;C++){const{returnData:R,success:A}=x[C],{callData:P}=m[w][C],{abi:B,address:I,functionName:N,args:k}=f[g.length];try{if(P==="0x")throw new s.AbiDecodingZeroDataError;if(!A)throw new s.RawContractError({data:R});const z=s.decodeFunctionResult({abi:B,args:k,data:R,functionName:N});g.push(o?{result:z,status:"success"}:z)}catch(z){const q=s.getContractError(z,{abi:B,address:I,args:k,docsPath:"/docs/contract/multicall",functionName:N});if(!o)throw q;g.push({error:q,result:void 0,status:"failure"})}}}if(g.length!==f.length)throw new p.BaseError("multicall results mismatch");return g}async function me(e,t){const{blockNumber:r,blockTag:n=e.experimental_blockTag??"latest",blocks:o,returnFullTransactions:a,traceTransfers:i,validation:c}=t;try{const u=[];for(const h of o){const m=h.blockOverrides?s.toRpc(h.blockOverrides):void 0,y=h.calls.map(b=>{const g=b,w=g.account?s.parseAccount(g.account):void 0,E=g.abi?s.encodeFunctionData(g):g.data,x={...g,account:w,data:g.dataSuffix?p.concat([E||"0x",g.dataSuffix]):E,from:g.from??w?.address};return s.assertRequest(x),s.formatTransactionRequest(x)}),v=h.stateOverrides?s.serializeStateOverride(h.stateOverrides):void 0;u.push({blockOverrides:m,calls:y,stateOverrides:v})}const d=(typeof r=="bigint"?p.numberToHex(r):void 0)||n;return(await e.request({method:"eth_simulateV1",params:[{blockStateCalls:u,returnFullTransactions:a,traceTransfers:i,validation:c},d]})).map((h,m)=>({...p.formatBlock(h),calls:h.calls.map((y,v)=>{const{abi:b,args:g,functionName:w,to:E}=o[m].calls[v],x=y.error?.data??y.returnData,C=BigInt(y.gasUsed),R=y.logs?.map(I=>p.formatLog(I)),A=y.status==="0x1"?"success":"failure",P=b&&A==="success"&&x!=="0x"?s.decodeFunctionResult({abi:b,data:x,functionName:w}):null,B=(()=>{if(A==="success")return;let I;if(y.error?.data==="0x"?I=new s.AbiDecodingZeroDataError:y.error&&(I=new s.RawContractError(y.error)),!!I)return s.getContractError(I,{abi:b??[],address:E??"0x",args:g,functionName:w??"<unknown>"})})();return{data:x,gasUsed:C,logs:R,status:A,...A==="success"?{result:P}:{error:B}}})}))}catch(u){const f=u,d=s.getNodeError(f,{});throw d instanceof p.UnknownNodeError?f:d}}function ye(e){let t=!0,r="",n=0,o="",a=!1;for(let i=0;i<e.length;i++){const c=e[i];if(["(",")",","].includes(c)&&(t=!0),c==="("&&n++,c===")"&&n--,!!t){if(n===0){if(c===" "&&["event","function","error",""].includes(o))o="";else if(o+=c,c===")"){a=!0;break}continue}if(c===" "){e[i-1]!==","&&r!==","&&r!==",("&&(r="",t=!1);continue}o+=c,r+=c}}if(!a)throw new s.BaseError("Unable to normalize signature.");return o}function ge(e,t){const r=typeof e,n=t.type;switch(n){case"address":return le(e,{strict:!1});case"bool":return r==="boolean";case"function":return r==="string";case"string":return r==="string";default:return n==="tuple"&&"components"in t?Object.values(t.components).every((o,a)=>ge(Object.values(e)[a],o)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(n)?r==="number"||r==="bigint":/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(n)?r==="string"||e instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(n)?Array.isArray(e)&&e.every(o=>ge(o,{...t,type:n.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function At(e,t,r){for(const n in e){const o=e[n],a=t[n];if(o.type==="tuple"&&a.type==="tuple"&&"components"in o&&"components"in a)return At(o.components,a.components,r[n]);const i=[o.type,a.type];if(i.includes("address")&&i.includes("bytes20")?!0:i.includes("address")&&i.includes("string")?le(r[n],{strict:!1}):i.includes("address")&&i.includes("bytes")?le(r[n],{strict:!1}):!1)return i}}function Tt(e,t={}){const{prepare:r=!0}=t,n=Array.isArray(e)||typeof e=="string"?ze(e):e;return{...n,...r?{hash:M(n)}:{}}}function se(e,t,r){const{args:n=[],prepare:o=!0}=r??{},a=s.validate(t,{strict:!1}),i=e.filter(f=>a?f.type==="function"||f.type==="error"?xt(f)===s.slice(t,0,4):f.type==="event"?M(f)===t:!1:"name"in f&&f.name===t);if(i.length===0)throw new re({name:t});if(i.length===1)return{...i[0],...o?{hash:M(i[0])}:{}};let c;for(const f of i){if(!("inputs"in f))continue;if(!n||n.length===0){if(!f.inputs||f.inputs.length===0)return{...f,...o?{hash:M(f)}:{}};continue}if(!f.inputs||f.inputs.length===0||f.inputs.length!==n.length)continue;if(n.every((l,h)=>{const m="inputs"in f&&f.inputs[h];return m?ge(l,m):!1})){if(c&&"inputs"in c&&c.inputs){const l=At(f.inputs,c.inputs,n);if(l)throw new Vn({abiItem:f,type:l[0]},{abiItem:c,type:l[1]})}c=f}}const u=(()=>{if(c)return c;const[f,...d]=i;return{...f,overloads:d}})();if(!u)throw new re({name:t});return{...u,...o?{hash:M(u)}:{}}}function xt(...e){const t=(()=>{if(Array.isArray(e[0])){const[r,n]=e;return se(r,n)}return e[0]})();return s.slice(M(t),0,4)}function Wn(...e){const t=(()=>{if(Array.isArray(e[0])){const[n,o]=e;return se(n,o)}return e[0]})(),r=typeof t=="string"?t:s.formatAbiItem$1(t);return ye(r)}function M(...e){const t=(()=>{if(Array.isArray(e[0])){const[r,n]=e;return se(r,n)}return e[0]})();return typeof t!="string"&&"hash"in t&&t.hash?t.hash:ht(s.fromString(Wn(t)))}class Vn extends s.BaseError{constructor(t,r){super("Found ambiguous types in overloaded ABI Items.",{metaMessages:[`\`${t.type}\` in \`${ye(s.formatAbiItem$1(t.abiItem))}\`, and`,`\`${r.type}\` in \`${ye(s.formatAbiItem$1(r.abiItem))}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.AmbiguityError"})}}class re extends s.BaseError{constructor({name:t,data:r,type:n="item"}){const o=t?` with name "${t}"`:r?` with data "${r}"`:"";super(`ABI ${n}${o} not found.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.NotFoundError"})}}function Gn(...e){const[t,r]=(()=>{if(Array.isArray(e[0])){const[a,i]=e;return[Jn(a),i]}return e})(),{bytecode:n,args:o}=r;return s.concat(n,t.inputs?.length&&o?.length?Ce(t.inputs,o):"0x")}function Zn(e){return Tt(e)}function Jn(e){const t=e.find(r=>r.type==="constructor");if(!t)throw new re({name:"constructor"});return t}function Yn(...e){const[t,r=[]]=(()=>{if(Array.isArray(e[0])){const[f,d,l]=e;return[Me(f,d,{args:l}),l]}const[c,u]=e;return[c,u]})(),{overloads:n}=t,o=n?Me([t,...n],t.name,{args:r}):t,a=Kn(o),i=r.length>0?Ce(o.inputs,r):void 0;return i?s.concat(a,i):a}function O(e,t={}){return Tt(e,t)}function Me(e,t,r){const n=se(e,t,r);if(n.type!=="function")throw new re({name:t,type:"function"});return n}function Kn(e){return xt(e)}const Qn="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",_="0x0000000000000000000000000000000000000000",Xn="0x6080604052348015600e575f80fd5b5061016d8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063f8b2cb4f1461002d575b5f80fd5b610047600480360381019061004291906100db565b61005d565b604051610054919061011e565b60405180910390f35b5f8173ffffffffffffffffffffffffffffffffffffffff16319050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100aa82610081565b9050919050565b6100ba816100a0565b81146100c4575f80fd5b50565b5f813590506100d5816100b1565b92915050565b5f602082840312156100f0576100ef61007d565b5b5f6100fd848285016100c7565b91505092915050565b5f819050919050565b61011881610106565b82525050565b5f6020820190506101315f83018461010f565b9291505056fea26469706673582212203b9fe929fe995c7cf9887f0bdba8a36dd78e8b73f149b17d2d9ad7cd09d2dc6264736f6c634300081a0033";async function es(e,t){const{blockNumber:r,blockTag:n,calls:o,stateOverrides:a,traceAssetChanges:i,traceTransfers:c,validation:u}=t,f=t.account?s.parseAccount(t.account):void 0;if(i&&!f)throw new p.BaseError("`account` is required when `traceAssetChanges` is true");const d=f?Gn(Zn("constructor(bytes, bytes)"),{bytecode:s.deploylessCallViaBytecodeBytecode,args:[Xn,Yn(O("function getBalance(address)"),[f.address])]}):void 0,l=i?await Promise.all(t.calls.map(async T=>{if(!T.data&&!T.abi)return;const{accessList:S}=await nt(e,{account:f.address,...T,data:T.abi?s.encodeFunctionData(T):T.data});return S.map(({address:W,storageKeys:Y})=>Y.length>0?W:null)})).then(T=>T.flat().filter(Boolean)):[],h=await me(e,{blockNumber:r,blockTag:n,blocks:[...i?[{calls:[{data:d}],stateOverrides:a},{calls:l.map((T,S)=>({abi:[O("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[f.address],to:T,from:_,nonce:S})),stateOverrides:[{address:_,nonce:0}]}]:[],{calls:[...o,{}].map(T=>({...T,from:f?.address})),stateOverrides:a},...i?[{calls:[{data:d}]},{calls:l.map((T,S)=>({abi:[O("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[f.address],to:T,from:_,nonce:S})),stateOverrides:[{address:_,nonce:0}]},{calls:l.map((T,S)=>({to:T,abi:[O("function decimals() returns (uint256)")],functionName:"decimals",from:_,nonce:S})),stateOverrides:[{address:_,nonce:0}]},{calls:l.map((T,S)=>({to:T,abi:[O("function tokenURI(uint256) returns (string)")],functionName:"tokenURI",args:[0n],from:_,nonce:S})),stateOverrides:[{address:_,nonce:0}]},{calls:l.map((T,S)=>({to:T,abi:[O("function symbol() returns (string)")],functionName:"symbol",from:_,nonce:S})),stateOverrides:[{address:_,nonce:0}]}]:[]],traceTransfers:c,validation:u}),m=i?h[2]:h[0],[y,v,,b,g,w,E,x]=i?h:[],{calls:C,...R}=m,A=C.slice(0,-1)??[],P=y?.calls??[],B=v?.calls??[],I=[...P,...B].map(T=>T.status==="success"?p.hexToBigInt(T.data):null),N=b?.calls??[],k=g?.calls??[],z=[...N,...k].map(T=>T.status==="success"?p.hexToBigInt(T.data):null),q=(w?.calls??[]).map(T=>T.status==="success"?T.result:null),j=(x?.calls??[]).map(T=>T.status==="success"?T.result:null),J=(E?.calls??[]).map(T=>T.status==="success"?T.result:null),F=[];for(const[T,S]of z.entries()){const W=I[T];if(typeof S!="bigint"||typeof W!="bigint")continue;const Y=q[T-1],Nt=j[T-1],St=J[T-1],Se=T===0?{address:Qn,decimals:18,symbol:"ETH"}:{address:l[T-1],decimals:St||Y?Number(Y??1):void 0,symbol:Nt??void 0};F.some(zt=>zt.token.address===Se.address)||F.push({token:Se,value:{pre:W,post:S,diff:S-W}})}return{assetChanges:F,block:R,results:A}}const Rt="0x6492649264926492649264926492649264926492649264926492649264926492";function ts(e){if(s.slice(e,-32)!==Rt)throw new ss(e)}function rs(e){const{data:t,signature:r,to:n}=e;return s.concat(Ce(yt("address, bytes, bytes"),[n,t,r]),Rt)}function ns(e){try{return ts(e),!0}catch{return!1}}class ss extends s.BaseError{constructor(t){super(`Value \`${t}\` is an invalid ERC-6492 wrapped signature.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SignatureErc6492.InvalidWrappedSignatureError"})}}function os({r:e,s:t,to:r="hex",v:n,yParity:o}){const a=(()=>{if(o===0||o===1)return o;if(n&&(n===27n||n===28n||n>=35n))return n%2n===0n?1:0;throw new Error("Invalid `v` or `yParity` value")})(),i=`0x${new Ft.secp256k1.Signature(p.hexToBigInt(e),p.hexToBigInt(t)).toCompactHex()}${a===0?"1b":"1c"}`;return r==="hex"?i:p.hexToBytes(i)}async function oe(e,t){const{address:r,chain:n=e.chain,hash:o,erc6492VerifierAddress:a=t.universalSignatureVerifierAddress??n?.contracts?.erc6492Verifier?.address,multicallAddress:i=t.multicallAddress??n?.contracts?.multicall3?.address}=t;if(n?.verifyHash)return await n.verifyHash(e,t);const c=(()=>{const u=t.signature;return p.isHex(u)?u:typeof u=="object"&&"r"in u&&"s"in u?os(u):p.bytesToHex(u)})();try{return Un(c)?await as(e,{...t,multicallAddress:i,signature:c}):await is(e,{...t,verifierAddress:a,signature:c})}catch(u){try{if(s.isAddressEqual(p.getAddress(r),await s.recoverAddress({hash:o,signature:c})))return!0}catch{}if(u instanceof D)return!1;throw u}}async function as(e,t){const{address:r,blockNumber:n,blockTag:o,hash:a,multicallAddress:i}=t,{authorization:c,data:u,signature:f,to:d}=$n(t.signature);if(await fe(e,{address:r,blockNumber:n,blockTag:o})===p.concatHex(["0xef0100",c.address]))return await cs(e,{address:r,blockNumber:n,blockTag:o,hash:a,signature:f});const h={address:c.address,chainId:Number(c.chainId),nonce:Number(c.nonce),r:p.numberToHex(c.r,{size:32}),s:p.numberToHex(c.s,{size:32}),yParity:c.yParity};if(!await Cr({address:r,authorization:h}))throw new D;const y=await s.getAction(e,s.readContract,"readContract")({...i?{address:i}:{code:s.multicall3Bytecode},authorizationList:[h],abi:s.multicall3Abi,blockNumber:n,blockTag:"pending",functionName:"aggregate3",args:[[...u?[{allowFailure:!0,target:d??r,callData:u}]:[],{allowFailure:!0,target:r,callData:s.encodeFunctionData({abi:s.erc1271Abi,functionName:"isValidSignature",args:[a,f]})}]]});if(y[y.length-1]?.returnData?.startsWith("0x1626ba7e"))return!0;throw new D}async function is(e,t){const{address:r,factory:n,factoryData:o,hash:a,signature:i,verifierAddress:c,...u}=t,f=await(async()=>!n&&!o||ns(i)?i:rs({data:o,signature:i,to:n}))(),d=c?{to:c,data:s.encodeFunctionData({abi:s.erc6492SignatureValidatorAbi,functionName:"isValidSig",args:[r,a,f]}),...u}:{data:s.encodeDeployData({abi:s.erc6492SignatureValidatorAbi,args:[r,a,f],bytecode:s.erc6492SignatureValidatorByteCode}),...u},{data:l}=await s.getAction(e,s.call,"call")(d).catch(h=>{throw h instanceof s.CallExecutionError?new D:h});if(p.hexToBool(l??"0x0"))return!0;throw new D}async function cs(e,t){const{address:r,blockNumber:n,blockTag:o,hash:a,signature:i}=t;if((await s.getAction(e,s.readContract,"readContract")({address:r,abi:s.erc1271Abi,args:[a,i],blockNumber:n,blockTag:o,functionName:"isValidSignature"}).catch(u=>{throw u instanceof s.ContractFunctionExecutionError?new D:u})).startsWith("0x1626ba7e"))return!0;throw new D}class D extends Error{}async function us(e,{address:t,message:r,factory:n,factoryData:o,signature:a,...i}){const c=at(r);return s.getAction(e,oe,"verifyHash")({address:t,factory:n,factoryData:o,hash:c,signature:a,...i})}async function ds(e,t){const{address:r,factory:n,factoryData:o,signature:a,message:i,primaryType:c,types:u,domain:f,...d}=t,l=Lr({message:i,primaryType:c,types:u,domain:f});return s.getAction(e,oe,"verifyHash")({address:r,factory:n,factoryData:o,hash:l,signature:a,...d})}function Ct(e,{emitOnBegin:t=!1,emitMissed:r=!1,onBlockNumber:n,onError:o,poll:a,pollingInterval:i=e.pollingInterval}){const c=typeof a<"u"?a:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc"));let u;return c?(()=>{const l=s.stringify(["watchBlockNumber",e.uid,t,r,i]);return s.observe(l,{onBlockNumber:n,onError:o},h=>s.poll(async()=>{try{const m=await s.getAction(e,s.getBlockNumber,"getBlockNumber")({cacheTime:0});if(u!==void 0){if(m===u)return;if(m-u>1&&r)for(let y=u+1n;y<m;y++)h.onBlockNumber(y,u),u=y}(u===void 0||m>u)&&(h.onBlockNumber(m,u),u=m)}catch(m){h.onError?.(m)}},{emitOnBegin:t,interval:i}))})():(()=>{const l=s.stringify(["watchBlockNumber",e.uid,t,r]);return s.observe(l,{onBlockNumber:n,onError:o},h=>{let m=!0,y=()=>m=!1;return(async()=>{try{const v=(()=>{if(e.transport.type==="fallback"){const g=e.transport.transports.find(w=>w.config.type==="webSocket"||w.config.type==="ipc");return g?g.value:e.transport}return e.transport})(),{unsubscribe:b}=await v.subscribe({params:["newHeads"],onData(g){if(!m)return;const w=p.hexToBigInt(g.result?.number);h.onBlockNumber(w,u),u=w},onError(g){h.onError?.(g)}});y=b,m||y()}catch(v){o?.(v)}})(),()=>y()})})()}async function Pt(e,t){const{checkReplacement:r=!0,confirmations:n=1,hash:o,onReplaced:a,retryCount:i=6,retryDelay:c=({count:C})=>~~(1<<C)*200,timeout:u=18e4}=t,f=s.stringify(["waitForTransactionReceipt",e.uid,o]),d=t.pollingInterval?t.pollingInterval:e.chain?.experimental_preconfirmationTime?e.chain.experimental_preconfirmationTime:e.pollingInterval;let l,h,m,y=!1,v,b;const{promise:g,resolve:w,reject:E}=s.withResolvers(),x=u?setTimeout(()=>{b?.(),v?.(),E(new p.WaitForTransactionReceiptTimeoutError({hash:o}))},u):void 0;return v=s.observe(f,{onReplaced:a,resolve:w,reject:E},async C=>{if(m=await s.getAction(e,ee,"getTransactionReceipt")({hash:o}).catch(()=>{}),m&&n<=1){clearTimeout(x),C.resolve(m),v?.();return}b=s.getAction(e,Ct,"watchBlockNumber")({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:d,async onBlockNumber(R){const A=B=>{clearTimeout(x),b?.(),B(),v?.()};let P=R;if(!y)try{if(m){if(n>1&&(!m.blockNumber||P-m.blockNumber+1n<n))return;A(()=>C.resolve(m));return}if(r&&!l&&(y=!0,await te(async()=>{l=await s.getAction(e,ke,"getTransaction")({hash:o}),l.blockNumber&&(P=l.blockNumber)},{delay:c,retryCount:i}),y=!1),m=await s.getAction(e,ee,"getTransactionReceipt")({hash:o}),n>1&&(!m.blockNumber||P-m.blockNumber+1n<n))return;A(()=>C.resolve(m))}catch(B){if(B instanceof p.TransactionNotFoundError||B instanceof p.TransactionReceiptNotFoundError){if(!l){y=!1;return}try{h=l,y=!0;const I=await te(()=>s.getAction(e,s.getBlock,"getBlock")({blockNumber:P,includeTransactions:!0}),{delay:c,retryCount:i,shouldRetry:({error:z})=>z instanceof s.BlockNotFoundError});y=!1;const N=I.transactions.find(({from:z,nonce:q})=>z===h.from&&q===h.nonce);if(!N||(m=await s.getAction(e,ee,"getTransactionReceipt")({hash:N.hash}),n>1&&(!m.blockNumber||P-m.blockNumber+1n<n)))return;let k="replaced";N.to===h.to&&N.value===h.value&&N.input===h.input?k="repriced":N.from===N.to&&N.value===0n&&(k="cancelled"),A(()=>{C.onReplaced?.({reason:k,replacedTransaction:h,transaction:N,transactionReceipt:m}),C.resolve(m)})}catch(I){A(()=>C.reject(I))}}else A(()=>C.reject(B))}}})}),g}function fs(e,{blockTag:t=e.experimental_blockTag??"latest",emitMissed:r=!1,emitOnBegin:n=!1,onBlock:o,onError:a,includeTransactions:i,poll:c,pollingInterval:u=e.pollingInterval}){const f=typeof c<"u"?c:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")),d=i??!1;let l;return f?(()=>{const y=s.stringify(["watchBlocks",e.uid,t,r,n,d,u]);return s.observe(y,{onBlock:o,onError:a},v=>s.poll(async()=>{try{const b=await s.getAction(e,s.getBlock,"getBlock")({blockTag:t,includeTransactions:d});if(b.number!==null&&l?.number!=null){if(b.number===l.number)return;if(b.number-l.number>1&&r)for(let g=l?.number+1n;g<b.number;g++){const w=await s.getAction(e,s.getBlock,"getBlock")({blockNumber:g,includeTransactions:d});v.onBlock(w,l),l=w}}(l?.number==null||t==="pending"&&b?.number==null||b.number!==null&&b.number>l.number)&&(v.onBlock(b,l),l=b)}catch(b){v.onError?.(b)}},{emitOnBegin:n,interval:u}))})():(()=>{let y=!0,v=!0,b=()=>y=!1;return(async()=>{try{n&&s.getAction(e,s.getBlock,"getBlock")({blockTag:t,includeTransactions:d}).then(E=>{y&&v&&(o(E,void 0),v=!1)}).catch(a);const g=(()=>{if(e.transport.type==="fallback"){const E=e.transport.transports.find(x=>x.config.type==="webSocket"||x.config.type==="ipc");return E?E.value:e.transport}return e.transport})(),{unsubscribe:w}=await g.subscribe({params:["newHeads"],async onData(E){if(!y)return;const x=await s.getAction(e,s.getBlock,"getBlock")({blockNumber:E.result?.number,includeTransactions:d}).catch(()=>{});y&&(o(x,l),v=!1,l=x)},onError(E){a?.(E)}});b=w,y||b()}catch(g){a?.(g)}})(),()=>b()})()}function ls(e,{address:t,args:r,batch:n=!0,event:o,events:a,fromBlock:i,onError:c,onLogs:u,poll:f,pollingInterval:d=e.pollingInterval,strict:l}){const h=typeof f<"u"?f:typeof i=="bigint"?!0:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")),m=l??!1;return h?(()=>{const b=s.stringify(["watchEvent",t,r,n,e.uid,o,d,i]);return s.observe(b,{onLogs:u,onError:c},g=>{let w;i!==void 0&&(w=i-1n);let E,x=!1;const C=s.poll(async()=>{if(!x){try{E=await s.getAction(e,st,"createEventFilter")({address:t,args:r,event:o,events:a,strict:m,fromBlock:i})}catch{}x=!0;return}try{let R;if(E)R=await s.getAction(e,s.getFilterChanges,"getFilterChanges")({filter:E});else{const A=await s.getAction(e,s.getBlockNumber,"getBlockNumber")({});w&&w!==A?R=await s.getAction(e,s.getLogs,"getLogs")({address:t,args:r,event:o,events:a,fromBlock:w+1n,toBlock:A}):R=[],w=A}if(R.length===0)return;if(n)g.onLogs(R);else for(const A of R)g.onLogs([A])}catch(R){E&&R instanceof s.InvalidInputRpcError&&(x=!1),g.onError?.(R)}},{emitOnBegin:!0,interval:d});return async()=>{E&&await s.getAction(e,s.uninstallFilter,"uninstallFilter")({filter:E}),C()}})})():(()=>{let b=!0,g=()=>b=!1;return(async()=>{try{const w=(()=>{if(e.transport.type==="fallback"){const R=e.transport.transports.find(A=>A.config.type==="webSocket"||A.config.type==="ipc");return R?R.value:e.transport}return e.transport})(),E=a??(o?[o]:void 0);let x=[];E&&(x=[E.flatMap(A=>s.encodeEventTopics({abi:[A],eventName:A.name,args:r}))],o&&(x=x[0]));const{unsubscribe:C}=await w.subscribe({params:["logs",{address:t,topics:x}],onData(R){if(!b)return;const A=R.result;try{const{eventName:P,args:B}=s.decodeEventLog({abi:E??[],data:A.data,topics:A.topics,strict:m}),I=p.formatLog(A,{args:B,eventName:P});u([I])}catch(P){let B,I;if(P instanceof s.DecodeLogDataMismatch||P instanceof s.DecodeLogTopicsMismatch){if(l)return;B=P.abiItem.name,I=P.abiItem.inputs?.some(k=>!("name"in k&&k.name))}const N=p.formatLog(A,{args:I?[]:{},eventName:B});u([N])}},onError(R){c?.(R)}});g=C,b||g()}catch(w){c?.(w)}})(),()=>g()})()}function hs(e,{batch:t=!0,onError:r,onTransactions:n,poll:o,pollingInterval:a=e.pollingInterval}){return(typeof o<"u"?o:e.transport.type!=="webSocket"&&e.transport.type!=="ipc")?(()=>{const f=s.stringify(["watchPendingTransactions",e.uid,t,a]);return s.observe(f,{onTransactions:n,onError:r},d=>{let l;const h=s.poll(async()=>{try{if(!l)try{l=await s.getAction(e,ot,"createPendingTransactionFilter")({});return}catch(y){throw h(),y}const m=await s.getAction(e,s.getFilterChanges,"getFilterChanges")({filter:l});if(m.length===0)return;if(t)d.onTransactions(m);else for(const y of m)d.onTransactions([y])}catch(m){d.onError?.(m)}},{emitOnBegin:!0,interval:a});return async()=>{l&&await s.getAction(e,s.uninstallFilter,"uninstallFilter")({filter:l}),h()}})})():(()=>{let f=!0,d=()=>f=!1;return(async()=>{try{const{unsubscribe:l}=await e.transport.subscribe({params:["newPendingTransactions"],onData(h){if(!f)return;const m=h.result;n([m])},onError(h){r?.(h)}});d=l,f||d()}catch(l){r?.(l)}})(),()=>d()})()}function ps(e){const{scheme:t,statement:r,...n}=e.match(ms)?.groups??{},{chainId:o,expirationTime:a,issuedAt:i,notBefore:c,requestId:u,...f}=e.match(ys)?.groups??{},d=e.split("Resources:")[1]?.split(`
|
|
4
|
+
- `).slice(1);return{...n,...f,...o?{chainId:Number(o)}:{},...a?{expirationTime:new Date(a)}:{},...i?{issuedAt:new Date(i)}:{},...c?{notBefore:new Date(c)}:{},...u?{requestId:u}:{},...d?{resources:d}:{},...t?{scheme:t}:{},...r?{statement:r}:{}}}const ms=/^(?:(?<scheme>[a-zA-Z][a-zA-Z0-9+-.]*):\/\/)?(?<domain>[a-zA-Z0-9+-.]*(?::[0-9]{1,5})?) (?:wants you to sign in with your Ethereum account:\n)(?<address>0x[a-fA-F0-9]{40})\n\n(?:(?<statement>.*)\n\n)?/,ys=/(?:URI: (?<uri>.+))\n(?:Version: (?<version>.+))\n(?:Chain ID: (?<chainId>\d+))\n(?:Nonce: (?<nonce>[a-zA-Z0-9]+))\n(?:Issued At: (?<issuedAt>.+))(?:\nExpiration Time: (?<expirationTime>.+))?(?:\nNot Before: (?<notBefore>.+))?(?:\nRequest ID: (?<requestId>.+))?/;function gs(e){const{address:t,domain:r,message:n,nonce:o,scheme:a,time:i=new Date}=e;if(r&&n.domain!==r||o&&n.nonce!==o||a&&n.scheme!==a||n.expirationTime&&i>=n.expirationTime||n.notBefore&&i<n.notBefore)return!1;try{if(!n.address||!p.isAddress(n.address,{strict:!1})||t&&!s.isAddressEqual(n.address,t))return!1}catch{return!1}return!0}async function bs(e,t){const{address:r,domain:n,message:o,nonce:a,scheme:i,signature:c,time:u=new Date,...f}=t,d=ps(o);if(!d.address||!gs({address:r,domain:n,message:d,nonce:a,scheme:i,time:u}))return!1;const h=at(o);return oe(e,{address:d.address,hash:h,signature:c,...f})}async function Ne(e,{serializedTransaction:t,throwOnReceiptRevert:r,timeout:n}){const o=await e.request({method:"eth_sendRawTransactionSync",params:n?[t,p.numberToHex(n)]:[t]},{retryCount:0}),i=(e.chain?.formatters?.transactionReceipt?.format||p.formatTransactionReceipt)(o);if(i.status==="reverted"&&r)throw new p.TransactionReceiptRevertedError({receipt:i});return i}function ws(e){return{call:t=>s.call(e,t),createAccessList:t=>nt(e,t),createBlockFilter:()=>yr(e),createContractEventFilter:t=>s.createContractEventFilter(e,t),createEventFilter:t=>st(e,t),createPendingTransactionFilter:()=>ot(e),estimateContractGas:t=>s.estimateContractGas(e,t),estimateGas:t=>s.estimateGas(e,t),getBalance:t=>gr(e,t),getBlobBaseFee:()=>br(e),getBlock:t=>s.getBlock(e,t),getBlockNumber:t=>s.getBlockNumber(e,t),getBlockTransactionCount:t=>wr(e,t),getBytecode:t=>fe(e,t),getChainId:()=>s.getChainId(e),getCode:t=>fe(e,t),getContractEvents:t=>s.getContractEvents(e,t),getEip712Domain:t=>Er(e,t),getEnsAddress:t=>er(e,t),getEnsAvatar:t=>hr(e,t),getEnsName:t=>pr(e,t),getEnsResolver:t=>mr(e,t),getEnsText:t=>rt(e,t),getFeeHistory:t=>xr(e,t),estimateFeesPerGas:t=>s.estimateFeesPerGas(e,t),getFilterChanges:t=>s.getFilterChanges(e,t),getFilterLogs:t=>Rr(e,t),getGasPrice:()=>s.getGasPrice(e),getLogs:t=>s.getLogs(e,t),getProof:t=>Ln(e,t),estimateMaxPriorityFeePerGas:t=>s.estimateMaxPriorityFeePerGas(e,t),fillTransaction:t=>s.fillTransaction(e,t),getStorageAt:t=>Mn(e,t),getTransaction:t=>ke(e,t),getTransactionConfirmations:t=>Hn(e,t),getTransactionCount:t=>s.getTransactionCount(e,t),getTransactionReceipt:t=>ee(e,t),multicall:t=>jn(e,t),prepareTransactionRequest:t=>s.prepareTransactionRequest(e,t),readContract:t=>s.readContract(e,t),sendRawTransaction:t=>s.sendRawTransaction(e,t),sendRawTransactionSync:t=>Ne(e,t),simulate:t=>me(e,t),simulateBlocks:t=>me(e,t),simulateCalls:t=>es(e,t),simulateContract:t=>s.simulateContract(e,t),verifyHash:t=>oe(e,t),verifyMessage:t=>us(e,t),verifySiweMessage:t=>bs(e,t),verifyTypedData:t=>ds(e,t),uninstallFilter:t=>s.uninstallFilter(e,t),waitForTransactionReceipt:t=>Pt(e,t),watchBlocks:t=>fs(e,t),watchBlockNumber:t=>Ct(e,t),watchContractEvent:t=>s.watchContractEvent(e,t),watchEvent:t=>ls(e,t),watchPendingTransactions:t=>hs(e,t)}}function vs(e){const{key:t="public",name:r="Public Client"}=e;return Qe({...e,key:t,name:r,type:"publicClient"}).extend(ws)}async function Es(e,{chain:t}){const{id:r,name:n,nativeCurrency:o,rpcUrls:a,blockExplorers:i}=t;await e.request({method:"wallet_addEthereumChain",params:[{chainId:p.numberToHex(r),chainName:n,nativeCurrency:o,rpcUrls:a.default.http,blockExplorerUrls:i?Object.values(i).map(({url:c})=>c):void 0}]},{dedupe:!0,retryCount:0})}function As(e,t){const{abi:r,args:n,bytecode:o,...a}=t,i=s.encodeDeployData({abi:r,args:n,bytecode:o});return s.sendTransaction(e,{...a,...a.authorizationList?{to:null}:{},data:i})}async function Ts(e){return e.account?.type==="local"?[e.account.address]:(await e.request({method:"eth_accounts"},{dedupe:!0})).map(r=>p.checksumAddress(r))}async function xs(e,t={}){const{account:r=e.account,chainId:n}=t,o=r?s.parseAccount(r):void 0,a=n?[o?.address,[p.numberToHex(n)]]:[o?.address],i=await e.request({method:"wallet_getCapabilities",params:a}),c={};for(const[u,f]of Object.entries(i)){c[Number(u)]={};for(let[d,l]of Object.entries(f))d==="addSubAccount"&&(d="unstable_addSubAccount"),c[Number(u)][d]=l}return typeof n=="number"?c[n]:c}async function Rs(e){return await e.request({method:"wallet_getPermissions"},{dedupe:!0})}async function It(e,t){const{account:r=e.account,chainId:n,nonce:o}=t;if(!r)throw new s.AccountNotFoundError({docsPath:"/docs/eip7702/prepareAuthorization"});const a=s.parseAccount(r),i=(()=>{if(t.executor)return t.executor==="self"?t.executor:s.parseAccount(t.executor)})(),c={address:t.contractAddress??t.address,chainId:n,nonce:o};return typeof c.chainId>"u"&&(c.chainId=e.chain?.id??await s.getAction(e,s.getChainId,"getChainId")({})),typeof c.nonce>"u"&&(c.nonce=await s.getAction(e,s.getTransactionCount,"getTransactionCount")({address:a.address,blockTag:"pending"}),(i==="self"||i?.address&&s.isAddressEqual(i.address,a.address))&&(c.nonce+=1)),c}async function Cs(e){return(await e.request({method:"eth_requestAccounts"},{dedupe:!0,retryCount:0})).map(r=>p.getAddress(r))}async function Ps(e,t){return e.request({method:"wallet_requestPermissions",params:[t]},{retryCount:0})}async function Is(e,t){const{chain:r=e.chain}=t,n=t.timeout??Math.max((r?.blockTime??0)*3,5e3),o=await Ze(e,t);return await Ye(e,{...t,id:o.id,timeout:n})}const ce=new p.LruMap(128);async function Bt(e,t){const{account:r=e.account,assertChainId:n=!0,chain:o=e.chain,accessList:a,authorizationList:i,blobs:c,data:u,dataSuffix:f=typeof e.dataSuffix=="string"?e.dataSuffix:e.dataSuffix?.value,gas:d,gasPrice:l,maxFeePerBlobGas:h,maxFeePerGas:m,maxPriorityFeePerGas:y,nonce:v,pollingInterval:b,throwOnReceiptRevert:g,type:w,value:E,...x}=t,C=t.timeout??Math.max((o?.blockTime??0)*3,5e3);if(typeof r>"u")throw new s.AccountNotFoundError({docsPath:"/docs/actions/wallet/sendTransactionSync"});const R=r?s.parseAccount(r):null;try{s.assertRequest(t);const A=await(async()=>{if(t.to)return t.to;if(t.to!==null&&i&&i.length>0)return await s.recoverAuthorizationAddress({authorization:i[0]}).catch(()=>{throw new p.BaseError("`to` is required. Could not infer from `authorizationList`.")})})();if(R?.type==="json-rpc"||R===null){let P;o!==null&&(P=await s.getAction(e,s.getChainId,"getChainId")({}),n&&s.assertCurrentChain({currentChainId:P,chain:o}));const B=e.chain?.formatters?.transactionRequest?.format,N=(B||s.formatTransactionRequest)({...s.extract(x,{format:B}),accessList:a,account:R,authorizationList:i,blobs:c,chainId:P,data:u&&p.concat([u,f??"0x"]),gas:d,gasPrice:l,maxFeePerBlobGas:h,maxFeePerGas:m,maxPriorityFeePerGas:y,nonce:v,to:A,type:w,value:E},"sendTransaction"),k=ce.get(e.uid),z=k?"wallet_sendTransaction":"eth_sendTransaction",q=await(async()=>{try{return await e.request({method:z,params:[N]},{retryCount:0})}catch(J){if(k===!1)throw J;const F=J;if(F.name==="InvalidInputRpcError"||F.name==="InvalidParamsRpcError"||F.name==="MethodNotFoundRpcError"||F.name==="MethodNotSupportedRpcError")return await e.request({method:"wallet_sendTransaction",params:[N]},{retryCount:0}).then(T=>(ce.set(e.uid,!0),T)).catch(T=>{const S=T;throw S.name==="MethodNotFoundRpcError"||S.name==="MethodNotSupportedRpcError"?(ce.set(e.uid,!1),F):S});throw F}})(),j=await s.getAction(e,Pt,"waitForTransactionReceipt")({checkReplacement:!1,hash:q,pollingInterval:b,timeout:C});if(g&&j.status==="reverted")throw new p.TransactionReceiptRevertedError({receipt:j});return j}if(R?.type==="local"){const P=await s.getAction(e,s.prepareTransactionRequest,"prepareTransactionRequest")({account:R,accessList:a,authorizationList:i,blobs:c,chain:o,data:u&&p.concat([u,f??"0x"]),gas:d,gasPrice:l,maxFeePerBlobGas:h,maxFeePerGas:m,maxPriorityFeePerGas:y,nonce:v,nonceManager:R.nonceManager,parameters:[...s.defaultParameters,"sidecars"],type:w,value:E,...x,to:A}),B=o?.serializers?.transaction,I=await R.signTransaction(P,{serializer:B});return await s.getAction(e,Ne,"sendRawTransactionSync")({serializedTransaction:I,throwOnReceiptRevert:g,timeout:t.timeout})}throw R?.type==="smart"?new s.AccountTypeNotSupportedError({metaMessages:["Consider using the `sendUserOperation` Action instead."],docsPath:"/docs/actions/bundler/sendUserOperation",type:"smart"}):new s.AccountTypeNotSupportedError({docsPath:"/docs/actions/wallet/sendTransactionSync",type:R?.type})}catch(A){throw A instanceof s.AccountTypeNotSupportedError?A:s.getTransactionError(A,{...t,account:R,chain:t.chain||void 0})}}async function Bs(e,t){const{id:r}=t;await e.request({method:"wallet_showCallsStatus",params:[r]})}async function ks(e,t){const{account:r=e.account}=t;if(!r)throw new s.AccountNotFoundError({docsPath:"/docs/eip7702/signAuthorization"});const n=s.parseAccount(r);if(!n.signAuthorization)throw new s.AccountTypeNotSupportedError({docsPath:"/docs/eip7702/signAuthorization",metaMessages:["The `signAuthorization` Action does not support JSON-RPC Accounts."],type:n.type});const o=await It(e,t);return n.signAuthorization(o)}async function Ns(e,{account:t=e.account,message:r}){if(!t)throw new s.AccountNotFoundError({docsPath:"/docs/actions/wallet/signMessage"});const n=s.parseAccount(t);if(n.signMessage)return n.signMessage({message:r});const o=typeof r=="string"?p.stringToHex(r):r.raw instanceof Uint8Array?p.toHex(r.raw):r.raw;return e.request({method:"personal_sign",params:[o,n.address]},{retryCount:0})}async function Ss(e,t){const{account:r=e.account,chain:n=e.chain,...o}=t;if(!r)throw new s.AccountNotFoundError({docsPath:"/docs/actions/wallet/signTransaction"});const a=s.parseAccount(r);s.assertRequest({account:a,...t});const i=await s.getAction(e,s.getChainId,"getChainId")({});n!==null&&s.assertCurrentChain({currentChainId:i,chain:n});const u=(n?.formatters||e.chain?.formatters)?.transactionRequest?.format||s.formatTransactionRequest;return a.signTransaction?a.signTransaction({...o,chainId:i},{serializer:e.chain?.serializers?.transaction}):await e.request({method:"eth_signTransaction",params:[{...u({...o,account:a},"signTransaction"),chainId:p.numberToHex(i),from:a.address}]},{retryCount:0})}async function zs(e,t){const{account:r=e.account,domain:n,message:o,primaryType:a}=t;if(!r)throw new s.AccountNotFoundError({docsPath:"/docs/actions/wallet/signTypedData"});const i=s.parseAccount(r),c={EIP712Domain:ct({domain:n}),...t.types};if(it({domain:n,message:o,primaryType:a,types:c}),i.signTypedData)return i.signTypedData({domain:n,message:o,primaryType:a,types:c});const u=Dr({domain:n,message:o,primaryType:a,types:c});return e.request({method:"eth_signTypedData_v4",params:[i.address,u]},{retryCount:0})}async function Fs(e,{id:t}){await e.request({method:"wallet_switchEthereumChain",params:[{chainId:p.numberToHex(t)}]},{retryCount:0})}async function _s(e,t){return await e.request({method:"wallet_watchAsset",params:t},{retryCount:0})}async function $s(e,t){return s.writeContract.internal(e,Bt,"sendTransactionSync",t)}function Us(e){return{addChain:t=>Es(e,t),deployContract:t=>As(e,t),fillTransaction:t=>s.fillTransaction(e,t),getAddresses:()=>Ts(e),getCallsStatus:t=>Je(e,t),getCapabilities:t=>xs(e,t),getChainId:()=>s.getChainId(e),getPermissions:()=>Rs(e),prepareAuthorization:t=>It(e,t),prepareTransactionRequest:t=>s.prepareTransactionRequest(e,t),requestAddresses:()=>Cs(e),requestPermissions:t=>Ps(e,t),sendCalls:t=>Ze(e,t),sendCallsSync:t=>Is(e,t),sendRawTransaction:t=>s.sendRawTransaction(e,t),sendRawTransactionSync:t=>Ne(e,t),sendTransaction:t=>s.sendTransaction(e,t),sendTransactionSync:t=>Bt(e,t),showCallsStatus:t=>Bs(e,t),signAuthorization:t=>ks(e,t),signMessage:t=>Ns(e,t),signTransaction:t=>Ss(e,t),signTypedData:t=>zs(e,t),switchChain:t=>Fs(e,t),waitForCallsStatus:t=>Ye(e,t),watchAsset:t=>_s(e,t),writeContract:t=>s.writeContract(e,t),writeContractSync:t=>$s(e,t)}}function qs(e){const{key:t="wallet",name:r="Wallet Client",transport:n}=e;return Qe({...e,key:t,name:r,transport:n,type:"walletClient"}).extend(Us)}function kt({key:e,methods:t,name:r,request:n,retryCount:o=3,retryDelay:a=150,timeout:i,type:c},u){const f=Ke();return{config:{key:e,methods:t,name:r,request:n,retryCount:o,retryDelay:a,timeout:i,type:c},request:Ir(n,{methods:t,retryCount:o,retryDelay:a,uid:f}),value:u}}class Ds extends p.BaseError{constructor(){super("No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.",{docsPath:"/docs/clients/intro",name:"UrlRequiredError"})}}function Os(e,t={}){const{batch:r,fetchFn:n,fetchOptions:o,key:a="http",methods:i,name:c="HTTP JSON-RPC",onFetchRequest:u,onFetchResponse:f,retryDelay:d,raw:l}=t;return({chain:h,retryCount:m,timeout:y})=>{const{batchSize:v=1e3,wait:b=0}=typeof r=="object"?r:{},g=t.retryCount??m,w=y??t.timeout??1e4,E=e||h?.rpcUrls.default.http[0];if(!E)throw new Ds;const x=Sr(E,{fetchFn:n,fetchOptions:o,onRequest:u,onResponse:f,timeout:w});return kt({key:a,methods:i,name:c,async request({method:C,params:R}){const A={method:C,params:R},{schedule:P}=s.createBatchScheduler({id:E,wait:b,shouldSplitBatch(k){return k.length>v},fn:k=>x.request({body:k}),sort:(k,z)=>k.id-z.id}),B=async k=>r?P(k):[await x.request({body:k})],[{error:I,result:N}]=await B(A);if(l)return{error:I,result:N};if(I)throw new s.RpcRequestError({body:A,error:I,url:E});return N},retryCount:g,retryDelay:d,timeout:w,type:"http"},{fetchOptions:o,url:E})}}exports.createPublicClient=vs;exports.createTransport=kt;exports.createWalletClient=qs;exports.http=Os;
|
|
5
|
+
//# sourceMappingURL=http-BC-nqLLb.cjs.map
|