@pufferfinance/puffer-sdk 1.8.1 → 1.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) 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 +82 -81
  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.d.ts +3 -0
  8. package/dist/api/puffer-client.js +56 -49
  9. package/dist/api/puffer-client.js.map +1 -1
  10. package/dist/ccip-BO_b9tFc.cjs +2 -0
  11. package/dist/ccip-BO_b9tFc.cjs.map +1 -0
  12. package/dist/ccip-DLDO0_x2.js +148 -0
  13. package/dist/ccip-DLDO0_x2.js.map +1 -0
  14. package/dist/chains/constants.cjs +1 -1
  15. package/dist/chains/constants.js +1 -1
  16. package/dist/constants-BjRNQpT2.js +1997 -0
  17. package/dist/constants-BjRNQpT2.js.map +1 -0
  18. package/dist/constants-DA2xUb9r.cjs +9 -0
  19. package/dist/constants-DA2xUb9r.cjs.map +1 -0
  20. package/dist/contracts/abis/holesky/PufferDepositor.cjs.map +1 -1
  21. package/dist/contracts/abis/holesky/PufferDepositor.js.map +1 -1
  22. package/dist/contracts/abis/holesky/PufferVaultV2.cjs.map +1 -1
  23. package/dist/contracts/abis/holesky/PufferVaultV2.js.map +1 -1
  24. package/dist/contracts/abis/l1-reward-manager-abis.cjs +1 -1
  25. package/dist/contracts/abis/l1-reward-manager-abis.cjs.map +1 -1
  26. package/dist/contracts/abis/l1-reward-manager-abis.js +1 -1
  27. package/dist/contracts/abis/l2-reward-manager-abis.cjs +1 -1
  28. package/dist/contracts/abis/l2-reward-manager-abis.cjs.map +1 -1
  29. package/dist/contracts/abis/l2-reward-manager-abis.js +1 -1
  30. package/dist/contracts/abis/mainnet/Accountant.cjs.map +1 -1
  31. package/dist/contracts/abis/mainnet/Accountant.js.map +1 -1
  32. package/dist/contracts/abis/mainnet/AtomicQueue.cjs +2 -0
  33. package/dist/contracts/abis/mainnet/AtomicQueue.cjs.map +1 -0
  34. package/dist/contracts/abis/mainnet/AtomicQueue.d.ts +328 -0
  35. package/dist/contracts/abis/mainnet/AtomicQueue.js +237 -0
  36. package/dist/contracts/abis/mainnet/AtomicQueue.js.map +1 -0
  37. package/dist/contracts/abis/mainnet/BoringVault.cjs.map +1 -1
  38. package/dist/contracts/abis/mainnet/BoringVault.js.map +1 -1
  39. package/dist/contracts/abis/mainnet/ERC20Permit.cjs.map +1 -1
  40. package/dist/contracts/abis/mainnet/ERC20Permit.js.map +1 -1
  41. package/dist/contracts/abis/mainnet/L1RewardManager.cjs.map +1 -1
  42. package/dist/contracts/abis/mainnet/L1RewardManager.js.map +1 -1
  43. package/dist/contracts/abis/mainnet/L2RewardManager.cjs.map +1 -1
  44. package/dist/contracts/abis/mainnet/L2RewardManager.js.map +1 -1
  45. package/dist/contracts/abis/mainnet/PufLocker.cjs.map +1 -1
  46. package/dist/contracts/abis/mainnet/PufLocker.js.map +1 -1
  47. package/dist/contracts/abis/mainnet/PufferDepositor.cjs.map +1 -1
  48. package/dist/contracts/abis/mainnet/PufferDepositor.js.map +1 -1
  49. package/dist/contracts/abis/mainnet/PufferL2Depositor.cjs.map +1 -1
  50. package/dist/contracts/abis/mainnet/PufferL2Depositor.js.map +1 -1
  51. package/dist/contracts/abis/mainnet/PufferVaultV2.cjs.map +1 -1
  52. package/dist/contracts/abis/mainnet/PufferVaultV2.js.map +1 -1
  53. package/dist/contracts/abis/mainnet/PufferWithdrawalManager.cjs.map +1 -1
  54. package/dist/contracts/abis/mainnet/PufferWithdrawalManager.js.map +1 -1
  55. package/dist/contracts/abis/mainnet/Teller.cjs.map +1 -1
  56. package/dist/contracts/abis/mainnet/Teller.js.map +1 -1
  57. package/dist/contracts/abis/nucleus-accountant-abis.cjs +1 -1
  58. package/dist/contracts/abis/nucleus-accountant-abis.cjs.map +1 -1
  59. package/dist/contracts/abis/nucleus-accountant-abis.js +1 -1
  60. package/dist/contracts/abis/nucleus-atomic-queue-abis.cjs +2 -0
  61. package/dist/contracts/abis/nucleus-atomic-queue-abis.cjs.map +1 -0
  62. package/dist/contracts/abis/nucleus-atomic-queue-abis.d.ts +332 -0
  63. package/dist/contracts/abis/nucleus-atomic-queue-abis.js +9 -0
  64. package/dist/contracts/abis/nucleus-atomic-queue-abis.js.map +1 -0
  65. package/dist/contracts/abis/nucleus-boring-vault-abis.cjs +1 -1
  66. package/dist/contracts/abis/nucleus-boring-vault-abis.cjs.map +1 -1
  67. package/dist/contracts/abis/nucleus-boring-vault-abis.js +1 -1
  68. package/dist/contracts/abis/nucleus-teller-abis.cjs +1 -1
  69. package/dist/contracts/abis/nucleus-teller-abis.cjs.map +1 -1
  70. package/dist/contracts/abis/nucleus-teller-abis.js +1 -1
  71. package/dist/contracts/abis/puf-locker-abis.cjs +1 -1
  72. package/dist/contracts/abis/puf-locker-abis.cjs.map +1 -1
  73. package/dist/contracts/abis/puf-locker-abis.js +1 -1
  74. package/dist/contracts/abis/puffer-depositor-abis.cjs +1 -1
  75. package/dist/contracts/abis/puffer-depositor-abis.cjs.map +1 -1
  76. package/dist/contracts/abis/puffer-depositor-abis.js +1 -1
  77. package/dist/contracts/abis/puffer-depositor-abis.js.map +1 -1
  78. package/dist/contracts/abis/puffer-vault-abis.cjs +1 -1
  79. package/dist/contracts/abis/puffer-vault-abis.cjs.map +1 -1
  80. package/dist/contracts/abis/puffer-vault-abis.js +1 -1
  81. package/dist/contracts/abis/puffer-vault-abis.js.map +1 -1
  82. package/dist/contracts/abis/puffer-withdrawal-manager-abis.cjs +1 -1
  83. package/dist/contracts/abis/puffer-withdrawal-manager-abis.cjs.map +1 -1
  84. package/dist/contracts/abis/puffer-withdrawal-manager-abis.js +1 -1
  85. package/dist/contracts/addresses.cjs +1 -1
  86. package/dist/contracts/addresses.cjs.map +1 -1
  87. package/dist/contracts/addresses.d.ts +14 -0
  88. package/dist/contracts/addresses.js +3 -2
  89. package/dist/contracts/addresses.js.map +1 -1
  90. package/dist/contracts/handlers/erc20-permit-handler.cjs +1 -1
  91. package/dist/contracts/handlers/erc20-permit-handler.cjs.map +1 -1
  92. package/dist/contracts/handlers/erc20-permit-handler.d.ts +11128 -2714
  93. package/dist/contracts/handlers/erc20-permit-handler.js +3 -3
  94. package/dist/contracts/handlers/erc20-permit-handler.js.map +1 -1
  95. package/dist/contracts/handlers/l1-reward-manager-handler.cjs +1 -1
  96. package/dist/contracts/handlers/l1-reward-manager-handler.cjs.map +1 -1
  97. package/dist/contracts/handlers/l1-reward-manager-handler.d.ts +11128 -2714
  98. package/dist/contracts/handlers/l1-reward-manager-handler.js +2 -2
  99. package/dist/contracts/handlers/l1-reward-manager-handler.js.map +1 -1
  100. package/dist/contracts/handlers/l2-reward-manager-handler.cjs +1 -1
  101. package/dist/contracts/handlers/l2-reward-manager-handler.cjs.map +1 -1
  102. package/dist/contracts/handlers/l2-reward-manager-handler.d.ts +11128 -2714
  103. package/dist/contracts/handlers/l2-reward-manager-handler.js +2 -2
  104. package/dist/contracts/handlers/l2-reward-manager-handler.js.map +1 -1
  105. package/dist/contracts/handlers/nucleus-accountant-handler.cjs +1 -1
  106. package/dist/contracts/handlers/nucleus-accountant-handler.cjs.map +1 -1
  107. package/dist/contracts/handlers/nucleus-accountant-handler.d.ts +11128 -2714
  108. package/dist/contracts/handlers/nucleus-accountant-handler.js +1 -1
  109. package/dist/contracts/handlers/nucleus-accountant-handler.js.map +1 -1
  110. package/dist/contracts/handlers/nucleus-atomic-queue-handler.cjs +2 -0
  111. package/dist/contracts/handlers/nucleus-atomic-queue-handler.cjs.map +1 -0
  112. package/dist/contracts/handlers/nucleus-atomic-queue-handler.d.ts +14923 -0
  113. package/dist/contracts/handlers/nucleus-atomic-queue-handler.js +89 -0
  114. package/dist/contracts/handlers/nucleus-atomic-queue-handler.js.map +1 -0
  115. package/dist/contracts/handlers/nucleus-boring-vault-handler.cjs +1 -1
  116. package/dist/contracts/handlers/nucleus-boring-vault-handler.cjs.map +1 -1
  117. package/dist/contracts/handlers/nucleus-boring-vault-handler.d.ts +11128 -2714
  118. package/dist/contracts/handlers/nucleus-boring-vault-handler.js +2 -2
  119. package/dist/contracts/handlers/nucleus-boring-vault-handler.js.map +1 -1
  120. package/dist/contracts/handlers/nucleus-teller-handler.cjs +1 -1
  121. package/dist/contracts/handlers/nucleus-teller-handler.cjs.map +1 -1
  122. package/dist/contracts/handlers/nucleus-teller-handler.d.ts +11128 -2714
  123. package/dist/contracts/handlers/nucleus-teller-handler.js +2 -2
  124. package/dist/contracts/handlers/nucleus-teller-handler.js.map +1 -1
  125. package/dist/contracts/handlers/puf-locker-handler.cjs +1 -1
  126. package/dist/contracts/handlers/puf-locker-handler.cjs.map +1 -1
  127. package/dist/contracts/handlers/puf-locker-handler.d.ts +11128 -2714
  128. package/dist/contracts/handlers/puf-locker-handler.js +2 -2
  129. package/dist/contracts/handlers/puf-locker-handler.js.map +1 -1
  130. package/dist/contracts/handlers/puffer-depositor-handler.cjs +1 -1
  131. package/dist/contracts/handlers/puffer-depositor-handler.cjs.map +1 -1
  132. package/dist/contracts/handlers/puffer-depositor-handler.d.ts +11128 -2714
  133. package/dist/contracts/handlers/puffer-depositor-handler.js +2 -2
  134. package/dist/contracts/handlers/puffer-depositor-handler.js.map +1 -1
  135. package/dist/contracts/handlers/puffer-l2-depositor-handler.cjs +1 -1
  136. package/dist/contracts/handlers/puffer-l2-depositor-handler.cjs.map +1 -1
  137. package/dist/contracts/handlers/puffer-l2-depositor-handler.d.ts +11128 -2714
  138. package/dist/contracts/handlers/puffer-l2-depositor-handler.js +2 -2
  139. package/dist/contracts/handlers/puffer-l2-depositor-handler.js.map +1 -1
  140. package/dist/contracts/handlers/puffer-vault-handler.cjs +1 -1
  141. package/dist/contracts/handlers/puffer-vault-handler.cjs.map +1 -1
  142. package/dist/contracts/handlers/puffer-vault-handler.d.ts +11128 -2714
  143. package/dist/contracts/handlers/puffer-vault-handler.js +2 -2
  144. package/dist/contracts/handlers/puffer-vault-handler.js.map +1 -1
  145. package/dist/contracts/handlers/puffer-withdrawal-manager-handler.cjs +1 -1
  146. package/dist/contracts/handlers/puffer-withdrawal-manager-handler.cjs.map +1 -1
  147. package/dist/contracts/handlers/puffer-withdrawal-manager-handler.d.ts +11128 -2714
  148. package/dist/contracts/handlers/puffer-withdrawal-manager-handler.js +2 -2
  149. package/dist/contracts/handlers/puffer-withdrawal-manager-handler.js.map +1 -1
  150. package/dist/contracts/tokens.cjs +1 -1
  151. package/dist/contracts/tokens.cjs.map +1 -1
  152. package/dist/contracts/tokens.js +1 -1
  153. package/dist/contracts/tokens.js.map +1 -1
  154. package/dist/createWalletClient-BuLYysrp.cjs +4 -0
  155. package/dist/createWalletClient-BuLYysrp.cjs.map +1 -0
  156. package/dist/createWalletClient-DNcW-ENe.js +2028 -0
  157. package/dist/createWalletClient-DNcW-ENe.js.map +1 -0
  158. package/dist/errors/base-error.cjs.map +1 -1
  159. package/dist/errors/base-error.js.map +1 -1
  160. package/dist/{getContract-MrPLx6gp.cjs → getContract-3QbyfZBF.cjs} +2 -2
  161. package/dist/getContract-3QbyfZBF.cjs.map +1 -0
  162. package/dist/{getContract-B3Spz0SO.js → getContract-CezEyDf-.js} +2 -2
  163. package/dist/{getContract-MrPLx6gp.cjs.map → getContract-CezEyDf-.js.map} +1 -1
  164. package/dist/main.cjs +1 -1
  165. package/dist/main.js +1 -1
  166. package/dist/secp256k1-3OC5y4qp.js +1579 -0
  167. package/dist/secp256k1-3OC5y4qp.js.map +1 -0
  168. package/dist/secp256k1-bcahnPX9.cjs +2 -0
  169. package/dist/secp256k1-bcahnPX9.cjs.map +1 -0
  170. package/dist/utils/version.cjs +1 -1
  171. package/dist/utils/version.js +1 -1
  172. package/dist/writeContract-ChuHpJLC.js +3799 -0
  173. package/dist/writeContract-ChuHpJLC.js.map +1 -0
  174. package/dist/writeContract-D97dSJQe.cjs +32 -0
  175. package/dist/writeContract-D97dSJQe.cjs.map +1 -0
  176. package/package.json +13 -13
  177. package/dist/ccip-D4klNwCt.js +0 -159
  178. package/dist/ccip-D4klNwCt.js.map +0 -1
  179. package/dist/ccip-DLDqFodf.cjs +0 -2
  180. package/dist/ccip-DLDqFodf.cjs.map +0 -1
  181. package/dist/constants-BvU-JhfL.cjs +0 -9
  182. package/dist/constants-BvU-JhfL.cjs.map +0 -1
  183. package/dist/constants-rWWWhxR_.js +0 -2099
  184. package/dist/constants-rWWWhxR_.js.map +0 -1
  185. package/dist/createWalletClient-Bmopj8MM.cjs +0 -4
  186. package/dist/createWalletClient-Bmopj8MM.cjs.map +0 -1
  187. package/dist/createWalletClient-DKcpswHR.js +0 -2007
  188. package/dist/createWalletClient-DKcpswHR.js.map +0 -1
  189. package/dist/getContract-B3Spz0SO.js.map +0 -1
  190. package/dist/secp256k1-BLbXMlpX.js +0 -1172
  191. package/dist/secp256k1-BLbXMlpX.js.map +0 -1
  192. package/dist/secp256k1-CFnFaJ0H.cjs +0 -2
  193. package/dist/secp256k1-CFnFaJ0H.cjs.map +0 -1
  194. package/dist/writeContract-BBHpAss8.cjs +0 -32
  195. package/dist/writeContract-BBHpAss8.cjs.map +0 -1
  196. package/dist/writeContract-RluxM31W.js +0 -3833
  197. package/dist/writeContract-RluxM31W.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"getContract-B3Spz0SO.js","sources":["../node_modules/.pnpm/viem@2.18.8_typescript@5.5.4_zod@3.23.8/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]}