@pufferfinance/puffer-sdk 1.28.1 → 1.28.3
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 +7 -7
- package/dist/api/puffer-client-helpers.js.map +1 -1
- package/dist/api/puffer-client.cjs +1 -1
- package/dist/api/puffer-client.cjs.map +1 -1
- package/dist/api/puffer-client.js +119 -122
- package/dist/api/puffer-client.js.map +1 -1
- package/dist/ccip-78YM988s.js +150 -0
- package/dist/{ccip-C76-YhQK.js.map → ccip-78YM988s.js.map} +1 -1
- package/dist/ccip-LIGR3N1A.cjs +2 -0
- package/dist/{ccip-CEodLZ4s.cjs.map → ccip-LIGR3N1A.cjs.map} +1 -1
- package/dist/chains/constants.cjs +1 -1
- package/dist/chains/constants.js +1 -1
- package/dist/constants-6kuRTsbU.cjs +9 -0
- package/dist/{constants-CxSgz27h.cjs.map → constants-6kuRTsbU.cjs.map} +1 -1
- package/dist/{constants-C9YZ6Ewc.js → constants-CuIEh_ZS.js} +605 -656
- package/dist/{constants-C9YZ6Ewc.js.map → constants-CuIEh_ZS.js.map} +1 -1
- package/dist/contracts/abis/mainnet/Accountant.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/Accountant.js.map +1 -1
- package/dist/contracts/abis/mainnet/AtomicQueue.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/AtomicQueue.js.map +1 -1
- package/dist/contracts/abis/mainnet/BoringVault.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/BoringVault.js.map +1 -1
- package/dist/contracts/abis/mainnet/CarrotStaker.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/CarrotStaker.js.map +1 -1
- package/dist/contracts/abis/mainnet/CarrotVesting.cjs +1 -1
- package/dist/contracts/abis/mainnet/CarrotVesting.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/CarrotVesting.d.ts +84 -92
- package/dist/contracts/abis/mainnet/CarrotVesting.js +56 -62
- package/dist/contracts/abis/mainnet/CarrotVesting.js.map +1 -1
- package/dist/contracts/abis/mainnet/ConcreteMultiStrategyVault.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/ConcreteMultiStrategyVault.js.map +1 -1
- package/dist/contracts/abis/mainnet/Distributor.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/Distributor.js.map +1 -1
- package/dist/contracts/abis/mainnet/ERC20Permit.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/ERC20Permit.js.map +1 -1
- package/dist/contracts/abis/mainnet/GaugeRegistry.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/GaugeRegistry.js.map +1 -1
- package/dist/contracts/abis/mainnet/GuardianModule.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/GuardianModule.js.map +1 -1
- package/dist/contracts/abis/mainnet/InstitutionalAccessManager.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/InstitutionalAccessManager.js.map +1 -1
- package/dist/contracts/abis/mainnet/InstitutionalVault.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/InstitutionalVault.js.map +1 -1
- package/dist/contracts/abis/mainnet/L1RewardManager.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/L1RewardManager.js.map +1 -1
- package/dist/contracts/abis/mainnet/L2RewardManager.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/L2RewardManager.js.map +1 -1
- package/dist/contracts/abis/mainnet/LagoonVault.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/LagoonVault.js.map +1 -1
- package/dist/contracts/abis/mainnet/PufLocker.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/PufLocker.js.map +1 -1
- package/dist/contracts/abis/mainnet/PufferDepositor.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/PufferDepositor.js.map +1 -1
- package/dist/contracts/abis/mainnet/PufferL2Depositor.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/PufferL2Depositor.js.map +1 -1
- package/dist/contracts/abis/mainnet/PufferOracleV2.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/PufferOracleV2.js.map +1 -1
- package/dist/contracts/abis/mainnet/PufferProtocol.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/PufferProtocol.js.map +1 -1
- package/dist/contracts/abis/mainnet/PufferVaultV5.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/PufferVaultV5.js.map +1 -1
- package/dist/contracts/abis/mainnet/PufferWithdrawalManager.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/PufferWithdrawalManager.js.map +1 -1
- package/dist/contracts/abis/mainnet/Teller.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/Teller.js.map +1 -1
- package/dist/contracts/abis/mainnet/ValidatorTicket.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/ValidatorTicket.js.map +1 -1
- package/dist/contracts/abis/mainnet/mtwCARROT.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/mtwCARROT.js.map +1 -1
- package/dist/contracts/abis/mainnet/vlPUFFER.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/vlPUFFER.js.map +1 -1
- package/dist/contracts/addresses.cjs +1 -1
- package/dist/contracts/addresses.cjs.map +1 -1
- package/dist/contracts/addresses.js +5 -5
- package/dist/contracts/addresses.js.map +1 -1
- package/dist/contracts/handlers/carrot-staking-handler.cjs +1 -1
- package/dist/contracts/handlers/carrot-staking-handler.cjs.map +1 -1
- package/dist/contracts/handlers/carrot-staking-handler.d.ts +96 -6599
- package/dist/contracts/handlers/carrot-staking-handler.js +13 -16
- package/dist/contracts/handlers/carrot-staking-handler.js.map +1 -1
- package/dist/contracts/handlers/carrot-vesting-handler.cjs +1 -1
- package/dist/contracts/handlers/carrot-vesting-handler.cjs.map +1 -1
- package/dist/contracts/handlers/carrot-vesting-handler.d.ts +102 -6605
- package/dist/contracts/handlers/carrot-vesting-handler.js +25 -39
- package/dist/contracts/handlers/carrot-vesting-handler.js.map +1 -1
- package/dist/contracts/handlers/concrete-vault-handler.cjs +1 -1
- package/dist/contracts/handlers/concrete-vault-handler.cjs.map +1 -1
- package/dist/contracts/handlers/concrete-vault-handler.d.ts +96 -6599
- package/dist/contracts/handlers/concrete-vault-handler.js +15 -18
- package/dist/contracts/handlers/concrete-vault-handler.js.map +1 -1
- package/dist/contracts/handlers/distributor-handler.cjs +1 -1
- package/dist/contracts/handlers/distributor-handler.cjs.map +1 -1
- package/dist/contracts/handlers/distributor-handler.d.ts +96 -6599
- package/dist/contracts/handlers/distributor-handler.js +15 -18
- package/dist/contracts/handlers/distributor-handler.js.map +1 -1
- 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 +96 -6599
- package/dist/contracts/handlers/erc20-permit-handler.js +34 -38
- 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.cjs.map +1 -1
- package/dist/contracts/handlers/gauge-registry-handler.d.ts +96 -6599
- package/dist/contracts/handlers/gauge-registry-handler.js +11 -14
- package/dist/contracts/handlers/gauge-registry-handler.js.map +1 -1
- package/dist/contracts/handlers/guardian-module-handler.cjs +1 -1
- package/dist/contracts/handlers/guardian-module-handler.cjs.map +1 -1
- package/dist/contracts/handlers/guardian-module-handler.d.ts +96 -6599
- package/dist/contracts/handlers/guardian-module-handler.js +11 -14
- package/dist/contracts/handlers/guardian-module-handler.js.map +1 -1
- package/dist/contracts/handlers/institutional-access-manager-handler.cjs +1 -1
- package/dist/contracts/handlers/institutional-access-manager-handler.cjs.map +1 -1
- package/dist/contracts/handlers/institutional-access-manager-handler.d.ts +96 -6599
- package/dist/contracts/handlers/institutional-access-manager-handler.js +45 -50
- package/dist/contracts/handlers/institutional-access-manager-handler.js.map +1 -1
- package/dist/contracts/handlers/institutional-vault-handler.cjs +1 -1
- package/dist/contracts/handlers/institutional-vault-handler.cjs.map +1 -1
- package/dist/contracts/handlers/institutional-vault-handler.d.ts +96 -6599
- package/dist/contracts/handlers/institutional-vault-handler.js +16 -19
- package/dist/contracts/handlers/institutional-vault-handler.js.map +1 -1
- package/dist/contracts/handlers/l1-reward-manager-handler.cjs +1 -1
- package/dist/contracts/handlers/l1-reward-manager-handler.cjs.map +1 -1
- package/dist/contracts/handlers/l1-reward-manager-handler.d.ts +96 -6599
- package/dist/contracts/handlers/l1-reward-manager-handler.js +14 -17
- package/dist/contracts/handlers/l1-reward-manager-handler.js.map +1 -1
- package/dist/contracts/handlers/l2-reward-manager-handler.cjs +1 -1
- package/dist/contracts/handlers/l2-reward-manager-handler.cjs.map +1 -1
- package/dist/contracts/handlers/l2-reward-manager-handler.d.ts +96 -6599
- package/dist/contracts/handlers/l2-reward-manager-handler.js +13 -16
- package/dist/contracts/handlers/l2-reward-manager-handler.js.map +1 -1
- package/dist/contracts/handlers/lagoon-vault-handler.cjs +1 -1
- package/dist/contracts/handlers/lagoon-vault-handler.cjs.map +1 -1
- package/dist/contracts/handlers/lagoon-vault-handler.d.ts +96 -6599
- package/dist/contracts/handlers/lagoon-vault-handler.js +11 -14
- package/dist/contracts/handlers/lagoon-vault-handler.js.map +1 -1
- package/dist/contracts/handlers/mtw-carrot-handler.cjs +1 -1
- package/dist/contracts/handlers/mtw-carrot-handler.cjs.map +1 -1
- package/dist/contracts/handlers/mtw-carrot-handler.d.ts +96 -6599
- package/dist/contracts/handlers/mtw-carrot-handler.js +12 -15
- package/dist/contracts/handlers/mtw-carrot-handler.js.map +1 -1
- package/dist/contracts/handlers/nucleus-accountant-handler.cjs +1 -1
- package/dist/contracts/handlers/nucleus-accountant-handler.cjs.map +1 -1
- package/dist/contracts/handlers/nucleus-accountant-handler.d.ts +96 -6599
- package/dist/contracts/handlers/nucleus-accountant-handler.js +13 -16
- package/dist/contracts/handlers/nucleus-accountant-handler.js.map +1 -1
- package/dist/contracts/handlers/nucleus-atomic-queue-handler.cjs +1 -1
- package/dist/contracts/handlers/nucleus-atomic-queue-handler.cjs.map +1 -1
- package/dist/contracts/handlers/nucleus-atomic-queue-handler.d.ts +96 -6599
- package/dist/contracts/handlers/nucleus-atomic-queue-handler.js +14 -17
- package/dist/contracts/handlers/nucleus-atomic-queue-handler.js.map +1 -1
- package/dist/contracts/handlers/nucleus-boring-vault-handler.cjs +1 -1
- package/dist/contracts/handlers/nucleus-boring-vault-handler.cjs.map +1 -1
- package/dist/contracts/handlers/nucleus-boring-vault-handler.d.ts +96 -6599
- package/dist/contracts/handlers/nucleus-boring-vault-handler.js +18 -21
- package/dist/contracts/handlers/nucleus-boring-vault-handler.js.map +1 -1
- package/dist/contracts/handlers/nucleus-teller-handler.cjs +1 -1
- package/dist/contracts/handlers/nucleus-teller-handler.cjs.map +1 -1
- package/dist/contracts/handlers/nucleus-teller-handler.d.ts +96 -6599
- package/dist/contracts/handlers/nucleus-teller-handler.js +35 -38
- package/dist/contracts/handlers/nucleus-teller-handler.js.map +1 -1
- package/dist/contracts/handlers/puf-locker-handler.cjs +1 -1
- package/dist/contracts/handlers/puf-locker-handler.cjs.map +1 -1
- package/dist/contracts/handlers/puf-locker-handler.d.ts +96 -6599
- package/dist/contracts/handlers/puf-locker-handler.js +51 -54
- package/dist/contracts/handlers/puf-locker-handler.js.map +1 -1
- package/dist/contracts/handlers/puffer-depositor-handler.cjs +1 -1
- package/dist/contracts/handlers/puffer-depositor-handler.cjs.map +1 -1
- package/dist/contracts/handlers/puffer-depositor-handler.d.ts +96 -6599
- package/dist/contracts/handlers/puffer-depositor-handler.js +28 -31
- package/dist/contracts/handlers/puffer-depositor-handler.js.map +1 -1
- package/dist/contracts/handlers/puffer-l2-depositor-handler.cjs +1 -1
- package/dist/contracts/handlers/puffer-l2-depositor-handler.cjs.map +1 -1
- package/dist/contracts/handlers/puffer-l2-depositor-handler.d.ts +96 -6599
- package/dist/contracts/handlers/puffer-l2-depositor-handler.js +42 -45
- package/dist/contracts/handlers/puffer-l2-depositor-handler.js.map +1 -1
- package/dist/contracts/handlers/puffer-oracle-v2-handler.cjs +1 -1
- package/dist/contracts/handlers/puffer-oracle-v2-handler.cjs.map +1 -1
- package/dist/contracts/handlers/puffer-oracle-v2-handler.d.ts +96 -6599
- package/dist/contracts/handlers/puffer-oracle-v2-handler.js +13 -16
- package/dist/contracts/handlers/puffer-oracle-v2-handler.js.map +1 -1
- package/dist/contracts/handlers/puffer-protocol-handler.cjs +1 -1
- package/dist/contracts/handlers/puffer-protocol-handler.cjs.map +1 -1
- package/dist/contracts/handlers/puffer-protocol-handler.d.ts +96 -6599
- package/dist/contracts/handlers/puffer-protocol-handler.js +12 -15
- package/dist/contracts/handlers/puffer-protocol-handler.js.map +1 -1
- package/dist/contracts/handlers/puffer-vault-handler.cjs +1 -1
- package/dist/contracts/handlers/puffer-vault-handler.cjs.map +1 -1
- package/dist/contracts/handlers/puffer-vault-handler.d.ts +96 -6599
- package/dist/contracts/handlers/puffer-vault-handler.js +12 -15
- package/dist/contracts/handlers/puffer-vault-handler.js.map +1 -1
- package/dist/contracts/handlers/puffer-withdrawal-manager-handler.cjs +1 -1
- package/dist/contracts/handlers/puffer-withdrawal-manager-handler.cjs.map +1 -1
- package/dist/contracts/handlers/puffer-withdrawal-manager-handler.d.ts +96 -6599
- package/dist/contracts/handlers/puffer-withdrawal-manager-handler.js +15 -18
- package/dist/contracts/handlers/puffer-withdrawal-manager-handler.js.map +1 -1
- package/dist/contracts/handlers/validator-ticket-handler.cjs +1 -1
- package/dist/contracts/handlers/validator-ticket-handler.cjs.map +1 -1
- package/dist/contracts/handlers/validator-ticket-handler.d.ts +96 -6599
- package/dist/contracts/handlers/validator-ticket-handler.js +12 -15
- package/dist/contracts/handlers/validator-ticket-handler.js.map +1 -1
- package/dist/contracts/handlers/vl-puffer-handler.cjs +1 -1
- package/dist/contracts/handlers/vl-puffer-handler.cjs.map +1 -1
- package/dist/contracts/handlers/vl-puffer-handler.d.ts +96 -6599
- package/dist/contracts/handlers/vl-puffer-handler.js +19 -22
- package/dist/contracts/handlers/vl-puffer-handler.js.map +1 -1
- package/dist/contracts/tokens.cjs +1 -1
- package/dist/contracts/tokens.cjs.map +1 -1
- package/dist/contracts/tokens.js +1 -1
- package/dist/contracts/tokens.js.map +1 -1
- package/dist/contracts/vaults-addresses.cjs +1 -1
- package/dist/contracts/vaults-addresses.cjs.map +1 -1
- package/dist/contracts/vaults-addresses.js +1 -1
- package/dist/contracts/vaults-addresses.js.map +1 -1
- package/dist/errors/base-error.cjs.map +1 -1
- package/dist/errors/base-error.js.map +1 -1
- package/dist/{getContract-DUA3M2pm.cjs → getContract-D4_SEfqa.cjs} +2 -2
- package/dist/{getContract-DUA3M2pm.cjs.map → getContract-D4_SEfqa.cjs.map} +1 -1
- package/dist/{getContract-DEPNMZxg.js → getContract-DQN7VDBo.js} +2 -2
- package/dist/{getContract-DEPNMZxg.js.map → getContract-DQN7VDBo.js.map} +1 -1
- package/dist/http-CajzXkt4.js +4005 -0
- package/dist/http-CajzXkt4.js.map +1 -0
- package/dist/http-qhIDc8Dn.cjs +5 -0
- package/dist/http-qhIDc8Dn.cjs.map +1 -0
- package/dist/{localBatchGatewayRequest-CKLnLqib.cjs → localBatchGatewayRequest-C7zYTS2c.cjs} +2 -2
- package/dist/{localBatchGatewayRequest-CKLnLqib.cjs.map → localBatchGatewayRequest-C7zYTS2c.cjs.map} +1 -1
- package/dist/{localBatchGatewayRequest-C0QtijkB.js → localBatchGatewayRequest-DtOvBmA9.js} +3 -3
- package/dist/{localBatchGatewayRequest-C0QtijkB.js.map → localBatchGatewayRequest-DtOvBmA9.js.map} +1 -1
- package/dist/main.cjs +1 -1
- package/dist/main.js +1 -1
- package/dist/secp256k1-CMP_u7qb.cjs +2 -0
- package/dist/secp256k1-CMP_u7qb.cjs.map +1 -0
- package/dist/secp256k1-DCMgMsfV.js +1297 -0
- package/dist/secp256k1-DCMgMsfV.js.map +1 -0
- package/dist/utils/time.cjs.map +1 -1
- package/dist/utils/time.js.map +1 -1
- package/dist/utils/version.cjs +1 -1
- package/dist/utils/version.js +1 -1
- package/dist/writeContract-BnmmOPwy.cjs +36 -0
- package/dist/writeContract-BnmmOPwy.cjs.map +1 -0
- package/dist/{writeContract-DkC9wV5p.js → writeContract-DYAfDrRz.js} +1788 -1712
- package/dist/writeContract-DYAfDrRz.js.map +1 -0
- package/package.json +8 -8
- package/dist/ccip-C76-YhQK.js +0 -152
- package/dist/ccip-CEodLZ4s.cjs +0 -2
- package/dist/constants-CxSgz27h.cjs +0 -9
- package/dist/createWalletClient-Cct6ojqI.cjs +0 -5
- package/dist/createWalletClient-Cct6ojqI.cjs.map +0 -1
- package/dist/createWalletClient-DAuQCrLq.js +0 -3262
- package/dist/createWalletClient-DAuQCrLq.js.map +0 -1
- package/dist/secp256k1-ClOw2ksU.js +0 -1291
- package/dist/secp256k1-ClOw2ksU.js.map +0 -1
- package/dist/secp256k1-YUzyTLhP.cjs +0 -2
- package/dist/secp256k1-YUzyTLhP.cjs.map +0 -1
- package/dist/writeContract-BfAYISeL.cjs +0 -36
- package/dist/writeContract-BfAYISeL.cjs.map +0 -1
- package/dist/writeContract-DkC9wV5p.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getContract-DEPNMZxg.js","sources":["../node_modules/.pnpm/viem@2.33.1_typescript@5.8.2_zod@3.24.2/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-DQN7VDBo.js","sources":["../node_modules/.pnpm/viem@2.37.6_typescript@5.9.2_zod@3.24.2/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]}
|