@pufferfinance/puffer-sdk 1.28.1 → 1.28.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.
Files changed (255) hide show
  1. package/dist/api/puffer-client-helpers.cjs +1 -1
  2. package/dist/api/puffer-client-helpers.cjs.map +1 -1
  3. package/dist/api/puffer-client-helpers.js +7 -7
  4. package/dist/api/puffer-client-helpers.js.map +1 -1
  5. package/dist/api/puffer-client.cjs +1 -1
  6. package/dist/api/puffer-client.cjs.map +1 -1
  7. package/dist/api/puffer-client.js +119 -122
  8. package/dist/api/puffer-client.js.map +1 -1
  9. package/dist/ccip-78YM988s.js +150 -0
  10. package/dist/{ccip-C76-YhQK.js.map → ccip-78YM988s.js.map} +1 -1
  11. package/dist/ccip-LIGR3N1A.cjs +2 -0
  12. package/dist/{ccip-CEodLZ4s.cjs.map → ccip-LIGR3N1A.cjs.map} +1 -1
  13. package/dist/chains/constants.cjs +1 -1
  14. package/dist/chains/constants.js +1 -1
  15. package/dist/constants-6kuRTsbU.cjs +9 -0
  16. package/dist/{constants-CxSgz27h.cjs.map → constants-6kuRTsbU.cjs.map} +1 -1
  17. package/dist/{constants-C9YZ6Ewc.js → constants-CuIEh_ZS.js} +605 -656
  18. package/dist/{constants-C9YZ6Ewc.js.map → constants-CuIEh_ZS.js.map} +1 -1
  19. package/dist/contracts/abis/mainnet/Accountant.cjs.map +1 -1
  20. package/dist/contracts/abis/mainnet/Accountant.js.map +1 -1
  21. package/dist/contracts/abis/mainnet/AtomicQueue.cjs.map +1 -1
  22. package/dist/contracts/abis/mainnet/AtomicQueue.js.map +1 -1
  23. package/dist/contracts/abis/mainnet/BoringVault.cjs.map +1 -1
  24. package/dist/contracts/abis/mainnet/BoringVault.js.map +1 -1
  25. package/dist/contracts/abis/mainnet/CarrotStaker.cjs.map +1 -1
  26. package/dist/contracts/abis/mainnet/CarrotStaker.js.map +1 -1
  27. package/dist/contracts/abis/mainnet/CarrotVesting.cjs.map +1 -1
  28. package/dist/contracts/abis/mainnet/CarrotVesting.js.map +1 -1
  29. package/dist/contracts/abis/mainnet/ConcreteMultiStrategyVault.cjs.map +1 -1
  30. package/dist/contracts/abis/mainnet/ConcreteMultiStrategyVault.js.map +1 -1
  31. package/dist/contracts/abis/mainnet/Distributor.cjs.map +1 -1
  32. package/dist/contracts/abis/mainnet/Distributor.js.map +1 -1
  33. package/dist/contracts/abis/mainnet/ERC20Permit.cjs.map +1 -1
  34. package/dist/contracts/abis/mainnet/ERC20Permit.js.map +1 -1
  35. package/dist/contracts/abis/mainnet/GaugeRegistry.cjs.map +1 -1
  36. package/dist/contracts/abis/mainnet/GaugeRegistry.js.map +1 -1
  37. package/dist/contracts/abis/mainnet/GuardianModule.cjs.map +1 -1
  38. package/dist/contracts/abis/mainnet/GuardianModule.js.map +1 -1
  39. package/dist/contracts/abis/mainnet/InstitutionalAccessManager.cjs.map +1 -1
  40. package/dist/contracts/abis/mainnet/InstitutionalAccessManager.js.map +1 -1
  41. package/dist/contracts/abis/mainnet/InstitutionalVault.cjs.map +1 -1
  42. package/dist/contracts/abis/mainnet/InstitutionalVault.js.map +1 -1
  43. package/dist/contracts/abis/mainnet/L1RewardManager.cjs.map +1 -1
  44. package/dist/contracts/abis/mainnet/L1RewardManager.js.map +1 -1
  45. package/dist/contracts/abis/mainnet/L2RewardManager.cjs.map +1 -1
  46. package/dist/contracts/abis/mainnet/L2RewardManager.js.map +1 -1
  47. package/dist/contracts/abis/mainnet/LagoonVault.cjs.map +1 -1
  48. package/dist/contracts/abis/mainnet/LagoonVault.js.map +1 -1
  49. package/dist/contracts/abis/mainnet/PufLocker.cjs.map +1 -1
  50. package/dist/contracts/abis/mainnet/PufLocker.js.map +1 -1
  51. package/dist/contracts/abis/mainnet/PufferDepositor.cjs.map +1 -1
  52. package/dist/contracts/abis/mainnet/PufferDepositor.js.map +1 -1
  53. package/dist/contracts/abis/mainnet/PufferL2Depositor.cjs.map +1 -1
  54. package/dist/contracts/abis/mainnet/PufferL2Depositor.js.map +1 -1
  55. package/dist/contracts/abis/mainnet/PufferOracleV2.cjs.map +1 -1
  56. package/dist/contracts/abis/mainnet/PufferOracleV2.js.map +1 -1
  57. package/dist/contracts/abis/mainnet/PufferProtocol.cjs.map +1 -1
  58. package/dist/contracts/abis/mainnet/PufferProtocol.js.map +1 -1
  59. package/dist/contracts/abis/mainnet/PufferVaultV5.cjs.map +1 -1
  60. package/dist/contracts/abis/mainnet/PufferVaultV5.js.map +1 -1
  61. package/dist/contracts/abis/mainnet/PufferWithdrawalManager.cjs.map +1 -1
  62. package/dist/contracts/abis/mainnet/PufferWithdrawalManager.js.map +1 -1
  63. package/dist/contracts/abis/mainnet/Teller.cjs.map +1 -1
  64. package/dist/contracts/abis/mainnet/Teller.js.map +1 -1
  65. package/dist/contracts/abis/mainnet/ValidatorTicket.cjs.map +1 -1
  66. package/dist/contracts/abis/mainnet/ValidatorTicket.js.map +1 -1
  67. package/dist/contracts/abis/mainnet/mtwCARROT.cjs.map +1 -1
  68. package/dist/contracts/abis/mainnet/mtwCARROT.js.map +1 -1
  69. package/dist/contracts/abis/mainnet/vlPUFFER.cjs.map +1 -1
  70. package/dist/contracts/abis/mainnet/vlPUFFER.js.map +1 -1
  71. package/dist/contracts/addresses.cjs +1 -1
  72. package/dist/contracts/addresses.cjs.map +1 -1
  73. package/dist/contracts/addresses.js +4 -5
  74. package/dist/contracts/addresses.js.map +1 -1
  75. package/dist/contracts/handlers/carrot-staking-handler.cjs +1 -1
  76. package/dist/contracts/handlers/carrot-staking-handler.cjs.map +1 -1
  77. package/dist/contracts/handlers/carrot-staking-handler.d.ts +96 -6599
  78. package/dist/contracts/handlers/carrot-staking-handler.js +13 -16
  79. package/dist/contracts/handlers/carrot-staking-handler.js.map +1 -1
  80. package/dist/contracts/handlers/carrot-vesting-handler.cjs +1 -1
  81. package/dist/contracts/handlers/carrot-vesting-handler.cjs.map +1 -1
  82. package/dist/contracts/handlers/carrot-vesting-handler.d.ts +96 -6599
  83. package/dist/contracts/handlers/carrot-vesting-handler.js +19 -22
  84. package/dist/contracts/handlers/carrot-vesting-handler.js.map +1 -1
  85. package/dist/contracts/handlers/concrete-vault-handler.cjs +1 -1
  86. package/dist/contracts/handlers/concrete-vault-handler.cjs.map +1 -1
  87. package/dist/contracts/handlers/concrete-vault-handler.d.ts +96 -6599
  88. package/dist/contracts/handlers/concrete-vault-handler.js +15 -18
  89. package/dist/contracts/handlers/concrete-vault-handler.js.map +1 -1
  90. package/dist/contracts/handlers/distributor-handler.cjs +1 -1
  91. package/dist/contracts/handlers/distributor-handler.cjs.map +1 -1
  92. package/dist/contracts/handlers/distributor-handler.d.ts +96 -6599
  93. package/dist/contracts/handlers/distributor-handler.js +15 -18
  94. package/dist/contracts/handlers/distributor-handler.js.map +1 -1
  95. package/dist/contracts/handlers/erc20-permit-handler.cjs +1 -1
  96. package/dist/contracts/handlers/erc20-permit-handler.cjs.map +1 -1
  97. package/dist/contracts/handlers/erc20-permit-handler.d.ts +96 -6599
  98. package/dist/contracts/handlers/erc20-permit-handler.js +34 -38
  99. package/dist/contracts/handlers/erc20-permit-handler.js.map +1 -1
  100. package/dist/contracts/handlers/gauge-registry-handler.cjs +1 -1
  101. package/dist/contracts/handlers/gauge-registry-handler.cjs.map +1 -1
  102. package/dist/contracts/handlers/gauge-registry-handler.d.ts +96 -6599
  103. package/dist/contracts/handlers/gauge-registry-handler.js +11 -14
  104. package/dist/contracts/handlers/gauge-registry-handler.js.map +1 -1
  105. package/dist/contracts/handlers/guardian-module-handler.cjs +1 -1
  106. package/dist/contracts/handlers/guardian-module-handler.cjs.map +1 -1
  107. package/dist/contracts/handlers/guardian-module-handler.d.ts +96 -6599
  108. package/dist/contracts/handlers/guardian-module-handler.js +11 -14
  109. package/dist/contracts/handlers/guardian-module-handler.js.map +1 -1
  110. package/dist/contracts/handlers/institutional-access-manager-handler.cjs +1 -1
  111. package/dist/contracts/handlers/institutional-access-manager-handler.cjs.map +1 -1
  112. package/dist/contracts/handlers/institutional-access-manager-handler.d.ts +96 -6599
  113. package/dist/contracts/handlers/institutional-access-manager-handler.js +45 -50
  114. package/dist/contracts/handlers/institutional-access-manager-handler.js.map +1 -1
  115. package/dist/contracts/handlers/institutional-vault-handler.cjs +1 -1
  116. package/dist/contracts/handlers/institutional-vault-handler.cjs.map +1 -1
  117. package/dist/contracts/handlers/institutional-vault-handler.d.ts +96 -6599
  118. package/dist/contracts/handlers/institutional-vault-handler.js +16 -19
  119. package/dist/contracts/handlers/institutional-vault-handler.js.map +1 -1
  120. package/dist/contracts/handlers/l1-reward-manager-handler.cjs +1 -1
  121. package/dist/contracts/handlers/l1-reward-manager-handler.cjs.map +1 -1
  122. package/dist/contracts/handlers/l1-reward-manager-handler.d.ts +96 -6599
  123. package/dist/contracts/handlers/l1-reward-manager-handler.js +14 -17
  124. package/dist/contracts/handlers/l1-reward-manager-handler.js.map +1 -1
  125. package/dist/contracts/handlers/l2-reward-manager-handler.cjs +1 -1
  126. package/dist/contracts/handlers/l2-reward-manager-handler.cjs.map +1 -1
  127. package/dist/contracts/handlers/l2-reward-manager-handler.d.ts +96 -6599
  128. package/dist/contracts/handlers/l2-reward-manager-handler.js +13 -16
  129. package/dist/contracts/handlers/l2-reward-manager-handler.js.map +1 -1
  130. package/dist/contracts/handlers/lagoon-vault-handler.cjs +1 -1
  131. package/dist/contracts/handlers/lagoon-vault-handler.cjs.map +1 -1
  132. package/dist/contracts/handlers/lagoon-vault-handler.d.ts +96 -6599
  133. package/dist/contracts/handlers/lagoon-vault-handler.js +11 -14
  134. package/dist/contracts/handlers/lagoon-vault-handler.js.map +1 -1
  135. package/dist/contracts/handlers/mtw-carrot-handler.cjs +1 -1
  136. package/dist/contracts/handlers/mtw-carrot-handler.cjs.map +1 -1
  137. package/dist/contracts/handlers/mtw-carrot-handler.d.ts +96 -6599
  138. package/dist/contracts/handlers/mtw-carrot-handler.js +12 -15
  139. package/dist/contracts/handlers/mtw-carrot-handler.js.map +1 -1
  140. package/dist/contracts/handlers/nucleus-accountant-handler.cjs +1 -1
  141. package/dist/contracts/handlers/nucleus-accountant-handler.cjs.map +1 -1
  142. package/dist/contracts/handlers/nucleus-accountant-handler.d.ts +96 -6599
  143. package/dist/contracts/handlers/nucleus-accountant-handler.js +13 -16
  144. package/dist/contracts/handlers/nucleus-accountant-handler.js.map +1 -1
  145. package/dist/contracts/handlers/nucleus-atomic-queue-handler.cjs +1 -1
  146. package/dist/contracts/handlers/nucleus-atomic-queue-handler.cjs.map +1 -1
  147. package/dist/contracts/handlers/nucleus-atomic-queue-handler.d.ts +96 -6599
  148. package/dist/contracts/handlers/nucleus-atomic-queue-handler.js +14 -17
  149. package/dist/contracts/handlers/nucleus-atomic-queue-handler.js.map +1 -1
  150. package/dist/contracts/handlers/nucleus-boring-vault-handler.cjs +1 -1
  151. package/dist/contracts/handlers/nucleus-boring-vault-handler.cjs.map +1 -1
  152. package/dist/contracts/handlers/nucleus-boring-vault-handler.d.ts +96 -6599
  153. package/dist/contracts/handlers/nucleus-boring-vault-handler.js +18 -21
  154. package/dist/contracts/handlers/nucleus-boring-vault-handler.js.map +1 -1
  155. package/dist/contracts/handlers/nucleus-teller-handler.cjs +1 -1
  156. package/dist/contracts/handlers/nucleus-teller-handler.cjs.map +1 -1
  157. package/dist/contracts/handlers/nucleus-teller-handler.d.ts +96 -6599
  158. package/dist/contracts/handlers/nucleus-teller-handler.js +35 -38
  159. package/dist/contracts/handlers/nucleus-teller-handler.js.map +1 -1
  160. package/dist/contracts/handlers/puf-locker-handler.cjs +1 -1
  161. package/dist/contracts/handlers/puf-locker-handler.cjs.map +1 -1
  162. package/dist/contracts/handlers/puf-locker-handler.d.ts +96 -6599
  163. package/dist/contracts/handlers/puf-locker-handler.js +51 -54
  164. package/dist/contracts/handlers/puf-locker-handler.js.map +1 -1
  165. package/dist/contracts/handlers/puffer-depositor-handler.cjs +1 -1
  166. package/dist/contracts/handlers/puffer-depositor-handler.cjs.map +1 -1
  167. package/dist/contracts/handlers/puffer-depositor-handler.d.ts +96 -6599
  168. package/dist/contracts/handlers/puffer-depositor-handler.js +28 -31
  169. package/dist/contracts/handlers/puffer-depositor-handler.js.map +1 -1
  170. package/dist/contracts/handlers/puffer-l2-depositor-handler.cjs +1 -1
  171. package/dist/contracts/handlers/puffer-l2-depositor-handler.cjs.map +1 -1
  172. package/dist/contracts/handlers/puffer-l2-depositor-handler.d.ts +96 -6599
  173. package/dist/contracts/handlers/puffer-l2-depositor-handler.js +42 -45
  174. package/dist/contracts/handlers/puffer-l2-depositor-handler.js.map +1 -1
  175. package/dist/contracts/handlers/puffer-oracle-v2-handler.cjs +1 -1
  176. package/dist/contracts/handlers/puffer-oracle-v2-handler.cjs.map +1 -1
  177. package/dist/contracts/handlers/puffer-oracle-v2-handler.d.ts +96 -6599
  178. package/dist/contracts/handlers/puffer-oracle-v2-handler.js +13 -16
  179. package/dist/contracts/handlers/puffer-oracle-v2-handler.js.map +1 -1
  180. package/dist/contracts/handlers/puffer-protocol-handler.cjs +1 -1
  181. package/dist/contracts/handlers/puffer-protocol-handler.cjs.map +1 -1
  182. package/dist/contracts/handlers/puffer-protocol-handler.d.ts +96 -6599
  183. package/dist/contracts/handlers/puffer-protocol-handler.js +12 -15
  184. package/dist/contracts/handlers/puffer-protocol-handler.js.map +1 -1
  185. package/dist/contracts/handlers/puffer-vault-handler.cjs +1 -1
  186. package/dist/contracts/handlers/puffer-vault-handler.cjs.map +1 -1
  187. package/dist/contracts/handlers/puffer-vault-handler.d.ts +96 -6599
  188. package/dist/contracts/handlers/puffer-vault-handler.js +12 -15
  189. package/dist/contracts/handlers/puffer-vault-handler.js.map +1 -1
  190. package/dist/contracts/handlers/puffer-withdrawal-manager-handler.cjs +1 -1
  191. package/dist/contracts/handlers/puffer-withdrawal-manager-handler.cjs.map +1 -1
  192. package/dist/contracts/handlers/puffer-withdrawal-manager-handler.d.ts +96 -6599
  193. package/dist/contracts/handlers/puffer-withdrawal-manager-handler.js +15 -18
  194. package/dist/contracts/handlers/puffer-withdrawal-manager-handler.js.map +1 -1
  195. package/dist/contracts/handlers/validator-ticket-handler.cjs +1 -1
  196. package/dist/contracts/handlers/validator-ticket-handler.cjs.map +1 -1
  197. package/dist/contracts/handlers/validator-ticket-handler.d.ts +96 -6599
  198. package/dist/contracts/handlers/validator-ticket-handler.js +12 -15
  199. package/dist/contracts/handlers/validator-ticket-handler.js.map +1 -1
  200. package/dist/contracts/handlers/vl-puffer-handler.cjs +1 -1
  201. package/dist/contracts/handlers/vl-puffer-handler.cjs.map +1 -1
  202. package/dist/contracts/handlers/vl-puffer-handler.d.ts +96 -6599
  203. package/dist/contracts/handlers/vl-puffer-handler.js +19 -22
  204. package/dist/contracts/handlers/vl-puffer-handler.js.map +1 -1
  205. package/dist/contracts/tokens.cjs +1 -1
  206. package/dist/contracts/tokens.cjs.map +1 -1
  207. package/dist/contracts/tokens.js +1 -1
  208. package/dist/contracts/tokens.js.map +1 -1
  209. package/dist/contracts/vaults-addresses.cjs +1 -1
  210. package/dist/contracts/vaults-addresses.cjs.map +1 -1
  211. package/dist/contracts/vaults-addresses.js +1 -1
  212. package/dist/contracts/vaults-addresses.js.map +1 -1
  213. package/dist/errors/base-error.cjs.map +1 -1
  214. package/dist/errors/base-error.js.map +1 -1
  215. package/dist/{getContract-DUA3M2pm.cjs → getContract-D4_SEfqa.cjs} +2 -2
  216. package/dist/{getContract-DUA3M2pm.cjs.map → getContract-D4_SEfqa.cjs.map} +1 -1
  217. package/dist/{getContract-DEPNMZxg.js → getContract-DQN7VDBo.js} +2 -2
  218. package/dist/{getContract-DEPNMZxg.js.map → getContract-DQN7VDBo.js.map} +1 -1
  219. package/dist/http-CajzXkt4.js +4005 -0
  220. package/dist/http-CajzXkt4.js.map +1 -0
  221. package/dist/http-qhIDc8Dn.cjs +5 -0
  222. package/dist/http-qhIDc8Dn.cjs.map +1 -0
  223. package/dist/{localBatchGatewayRequest-CKLnLqib.cjs → localBatchGatewayRequest-C7zYTS2c.cjs} +2 -2
  224. package/dist/{localBatchGatewayRequest-CKLnLqib.cjs.map → localBatchGatewayRequest-C7zYTS2c.cjs.map} +1 -1
  225. package/dist/{localBatchGatewayRequest-C0QtijkB.js → localBatchGatewayRequest-DtOvBmA9.js} +3 -3
  226. package/dist/{localBatchGatewayRequest-C0QtijkB.js.map → localBatchGatewayRequest-DtOvBmA9.js.map} +1 -1
  227. package/dist/main.cjs +1 -1
  228. package/dist/main.js +1 -1
  229. package/dist/secp256k1-CMP_u7qb.cjs +2 -0
  230. package/dist/secp256k1-CMP_u7qb.cjs.map +1 -0
  231. package/dist/secp256k1-DCMgMsfV.js +1297 -0
  232. package/dist/secp256k1-DCMgMsfV.js.map +1 -0
  233. package/dist/utils/time.cjs.map +1 -1
  234. package/dist/utils/time.js.map +1 -1
  235. package/dist/utils/version.cjs +1 -1
  236. package/dist/utils/version.js +1 -1
  237. package/dist/writeContract-BnmmOPwy.cjs +36 -0
  238. package/dist/writeContract-BnmmOPwy.cjs.map +1 -0
  239. package/dist/{writeContract-DkC9wV5p.js → writeContract-DYAfDrRz.js} +1788 -1712
  240. package/dist/writeContract-DYAfDrRz.js.map +1 -0
  241. package/package.json +8 -8
  242. package/dist/ccip-C76-YhQK.js +0 -152
  243. package/dist/ccip-CEodLZ4s.cjs +0 -2
  244. package/dist/constants-CxSgz27h.cjs +0 -9
  245. package/dist/createWalletClient-Cct6ojqI.cjs +0 -5
  246. package/dist/createWalletClient-Cct6ojqI.cjs.map +0 -1
  247. package/dist/createWalletClient-DAuQCrLq.js +0 -3262
  248. package/dist/createWalletClient-DAuQCrLq.js.map +0 -1
  249. package/dist/secp256k1-ClOw2ksU.js +0 -1291
  250. package/dist/secp256k1-ClOw2ksU.js.map +0 -1
  251. package/dist/secp256k1-YUzyTLhP.cjs +0 -2
  252. package/dist/secp256k1-YUzyTLhP.cjs.map +0 -1
  253. package/dist/writeContract-BfAYISeL.cjs +0 -36
  254. package/dist/writeContract-BfAYISeL.cjs.map +0 -1
  255. 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]}