@pufferfinance/puffer-sdk 1.28.0 → 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 (258) 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 +1 -1
  28. package/dist/contracts/abis/mainnet/CarrotVesting.cjs.map +1 -1
  29. package/dist/contracts/abis/mainnet/CarrotVesting.d.ts +98 -82
  30. package/dist/contracts/abis/mainnet/CarrotVesting.js +64 -50
  31. package/dist/contracts/abis/mainnet/CarrotVesting.js.map +1 -1
  32. package/dist/contracts/abis/mainnet/ConcreteMultiStrategyVault.cjs.map +1 -1
  33. package/dist/contracts/abis/mainnet/ConcreteMultiStrategyVault.js.map +1 -1
  34. package/dist/contracts/abis/mainnet/Distributor.cjs.map +1 -1
  35. package/dist/contracts/abis/mainnet/Distributor.js.map +1 -1
  36. package/dist/contracts/abis/mainnet/ERC20Permit.cjs.map +1 -1
  37. package/dist/contracts/abis/mainnet/ERC20Permit.js.map +1 -1
  38. package/dist/contracts/abis/mainnet/GaugeRegistry.cjs.map +1 -1
  39. package/dist/contracts/abis/mainnet/GaugeRegistry.js.map +1 -1
  40. package/dist/contracts/abis/mainnet/GuardianModule.cjs.map +1 -1
  41. package/dist/contracts/abis/mainnet/GuardianModule.js.map +1 -1
  42. package/dist/contracts/abis/mainnet/InstitutionalAccessManager.cjs.map +1 -1
  43. package/dist/contracts/abis/mainnet/InstitutionalAccessManager.js.map +1 -1
  44. package/dist/contracts/abis/mainnet/InstitutionalVault.cjs.map +1 -1
  45. package/dist/contracts/abis/mainnet/InstitutionalVault.js.map +1 -1
  46. package/dist/contracts/abis/mainnet/L1RewardManager.cjs.map +1 -1
  47. package/dist/contracts/abis/mainnet/L1RewardManager.js.map +1 -1
  48. package/dist/contracts/abis/mainnet/L2RewardManager.cjs.map +1 -1
  49. package/dist/contracts/abis/mainnet/L2RewardManager.js.map +1 -1
  50. package/dist/contracts/abis/mainnet/LagoonVault.cjs.map +1 -1
  51. package/dist/contracts/abis/mainnet/LagoonVault.js.map +1 -1
  52. package/dist/contracts/abis/mainnet/PufLocker.cjs.map +1 -1
  53. package/dist/contracts/abis/mainnet/PufLocker.js.map +1 -1
  54. package/dist/contracts/abis/mainnet/PufferDepositor.cjs.map +1 -1
  55. package/dist/contracts/abis/mainnet/PufferDepositor.js.map +1 -1
  56. package/dist/contracts/abis/mainnet/PufferL2Depositor.cjs.map +1 -1
  57. package/dist/contracts/abis/mainnet/PufferL2Depositor.js.map +1 -1
  58. package/dist/contracts/abis/mainnet/PufferOracleV2.cjs.map +1 -1
  59. package/dist/contracts/abis/mainnet/PufferOracleV2.js.map +1 -1
  60. package/dist/contracts/abis/mainnet/PufferProtocol.cjs.map +1 -1
  61. package/dist/contracts/abis/mainnet/PufferProtocol.js.map +1 -1
  62. package/dist/contracts/abis/mainnet/PufferVaultV5.cjs.map +1 -1
  63. package/dist/contracts/abis/mainnet/PufferVaultV5.js.map +1 -1
  64. package/dist/contracts/abis/mainnet/PufferWithdrawalManager.cjs.map +1 -1
  65. package/dist/contracts/abis/mainnet/PufferWithdrawalManager.js.map +1 -1
  66. package/dist/contracts/abis/mainnet/Teller.cjs.map +1 -1
  67. package/dist/contracts/abis/mainnet/Teller.js.map +1 -1
  68. package/dist/contracts/abis/mainnet/ValidatorTicket.cjs.map +1 -1
  69. package/dist/contracts/abis/mainnet/ValidatorTicket.js.map +1 -1
  70. package/dist/contracts/abis/mainnet/mtwCARROT.cjs.map +1 -1
  71. package/dist/contracts/abis/mainnet/mtwCARROT.js.map +1 -1
  72. package/dist/contracts/abis/mainnet/vlPUFFER.cjs.map +1 -1
  73. package/dist/contracts/abis/mainnet/vlPUFFER.js.map +1 -1
  74. package/dist/contracts/addresses.cjs +1 -1
  75. package/dist/contracts/addresses.cjs.map +1 -1
  76. package/dist/contracts/addresses.js +4 -5
  77. package/dist/contracts/addresses.js.map +1 -1
  78. package/dist/contracts/handlers/carrot-staking-handler.cjs +1 -1
  79. package/dist/contracts/handlers/carrot-staking-handler.cjs.map +1 -1
  80. package/dist/contracts/handlers/carrot-staking-handler.d.ts +96 -6599
  81. package/dist/contracts/handlers/carrot-staking-handler.js +13 -16
  82. package/dist/contracts/handlers/carrot-staking-handler.js.map +1 -1
  83. package/dist/contracts/handlers/carrot-vesting-handler.cjs +1 -1
  84. package/dist/contracts/handlers/carrot-vesting-handler.cjs.map +1 -1
  85. package/dist/contracts/handlers/carrot-vesting-handler.d.ts +98 -6600
  86. package/dist/contracts/handlers/carrot-vesting-handler.js +21 -23
  87. package/dist/contracts/handlers/carrot-vesting-handler.js.map +1 -1
  88. package/dist/contracts/handlers/concrete-vault-handler.cjs +1 -1
  89. package/dist/contracts/handlers/concrete-vault-handler.cjs.map +1 -1
  90. package/dist/contracts/handlers/concrete-vault-handler.d.ts +96 -6599
  91. package/dist/contracts/handlers/concrete-vault-handler.js +15 -18
  92. package/dist/contracts/handlers/concrete-vault-handler.js.map +1 -1
  93. package/dist/contracts/handlers/distributor-handler.cjs +1 -1
  94. package/dist/contracts/handlers/distributor-handler.cjs.map +1 -1
  95. package/dist/contracts/handlers/distributor-handler.d.ts +96 -6599
  96. package/dist/contracts/handlers/distributor-handler.js +15 -18
  97. package/dist/contracts/handlers/distributor-handler.js.map +1 -1
  98. package/dist/contracts/handlers/erc20-permit-handler.cjs +1 -1
  99. package/dist/contracts/handlers/erc20-permit-handler.cjs.map +1 -1
  100. package/dist/contracts/handlers/erc20-permit-handler.d.ts +96 -6599
  101. package/dist/contracts/handlers/erc20-permit-handler.js +34 -38
  102. package/dist/contracts/handlers/erc20-permit-handler.js.map +1 -1
  103. package/dist/contracts/handlers/gauge-registry-handler.cjs +1 -1
  104. package/dist/contracts/handlers/gauge-registry-handler.cjs.map +1 -1
  105. package/dist/contracts/handlers/gauge-registry-handler.d.ts +96 -6599
  106. package/dist/contracts/handlers/gauge-registry-handler.js +11 -14
  107. package/dist/contracts/handlers/gauge-registry-handler.js.map +1 -1
  108. package/dist/contracts/handlers/guardian-module-handler.cjs +1 -1
  109. package/dist/contracts/handlers/guardian-module-handler.cjs.map +1 -1
  110. package/dist/contracts/handlers/guardian-module-handler.d.ts +96 -6599
  111. package/dist/contracts/handlers/guardian-module-handler.js +11 -14
  112. package/dist/contracts/handlers/guardian-module-handler.js.map +1 -1
  113. package/dist/contracts/handlers/institutional-access-manager-handler.cjs +1 -1
  114. package/dist/contracts/handlers/institutional-access-manager-handler.cjs.map +1 -1
  115. package/dist/contracts/handlers/institutional-access-manager-handler.d.ts +96 -6599
  116. package/dist/contracts/handlers/institutional-access-manager-handler.js +45 -50
  117. package/dist/contracts/handlers/institutional-access-manager-handler.js.map +1 -1
  118. package/dist/contracts/handlers/institutional-vault-handler.cjs +1 -1
  119. package/dist/contracts/handlers/institutional-vault-handler.cjs.map +1 -1
  120. package/dist/contracts/handlers/institutional-vault-handler.d.ts +96 -6599
  121. package/dist/contracts/handlers/institutional-vault-handler.js +16 -19
  122. package/dist/contracts/handlers/institutional-vault-handler.js.map +1 -1
  123. package/dist/contracts/handlers/l1-reward-manager-handler.cjs +1 -1
  124. package/dist/contracts/handlers/l1-reward-manager-handler.cjs.map +1 -1
  125. package/dist/contracts/handlers/l1-reward-manager-handler.d.ts +96 -6599
  126. package/dist/contracts/handlers/l1-reward-manager-handler.js +14 -17
  127. package/dist/contracts/handlers/l1-reward-manager-handler.js.map +1 -1
  128. package/dist/contracts/handlers/l2-reward-manager-handler.cjs +1 -1
  129. package/dist/contracts/handlers/l2-reward-manager-handler.cjs.map +1 -1
  130. package/dist/contracts/handlers/l2-reward-manager-handler.d.ts +96 -6599
  131. package/dist/contracts/handlers/l2-reward-manager-handler.js +13 -16
  132. package/dist/contracts/handlers/l2-reward-manager-handler.js.map +1 -1
  133. package/dist/contracts/handlers/lagoon-vault-handler.cjs +1 -1
  134. package/dist/contracts/handlers/lagoon-vault-handler.cjs.map +1 -1
  135. package/dist/contracts/handlers/lagoon-vault-handler.d.ts +96 -6599
  136. package/dist/contracts/handlers/lagoon-vault-handler.js +11 -14
  137. package/dist/contracts/handlers/lagoon-vault-handler.js.map +1 -1
  138. package/dist/contracts/handlers/mtw-carrot-handler.cjs +1 -1
  139. package/dist/contracts/handlers/mtw-carrot-handler.cjs.map +1 -1
  140. package/dist/contracts/handlers/mtw-carrot-handler.d.ts +96 -6599
  141. package/dist/contracts/handlers/mtw-carrot-handler.js +12 -15
  142. package/dist/contracts/handlers/mtw-carrot-handler.js.map +1 -1
  143. package/dist/contracts/handlers/nucleus-accountant-handler.cjs +1 -1
  144. package/dist/contracts/handlers/nucleus-accountant-handler.cjs.map +1 -1
  145. package/dist/contracts/handlers/nucleus-accountant-handler.d.ts +96 -6599
  146. package/dist/contracts/handlers/nucleus-accountant-handler.js +13 -16
  147. package/dist/contracts/handlers/nucleus-accountant-handler.js.map +1 -1
  148. package/dist/contracts/handlers/nucleus-atomic-queue-handler.cjs +1 -1
  149. package/dist/contracts/handlers/nucleus-atomic-queue-handler.cjs.map +1 -1
  150. package/dist/contracts/handlers/nucleus-atomic-queue-handler.d.ts +96 -6599
  151. package/dist/contracts/handlers/nucleus-atomic-queue-handler.js +14 -17
  152. package/dist/contracts/handlers/nucleus-atomic-queue-handler.js.map +1 -1
  153. package/dist/contracts/handlers/nucleus-boring-vault-handler.cjs +1 -1
  154. package/dist/contracts/handlers/nucleus-boring-vault-handler.cjs.map +1 -1
  155. package/dist/contracts/handlers/nucleus-boring-vault-handler.d.ts +96 -6599
  156. package/dist/contracts/handlers/nucleus-boring-vault-handler.js +18 -21
  157. package/dist/contracts/handlers/nucleus-boring-vault-handler.js.map +1 -1
  158. package/dist/contracts/handlers/nucleus-teller-handler.cjs +1 -1
  159. package/dist/contracts/handlers/nucleus-teller-handler.cjs.map +1 -1
  160. package/dist/contracts/handlers/nucleus-teller-handler.d.ts +96 -6599
  161. package/dist/contracts/handlers/nucleus-teller-handler.js +35 -38
  162. package/dist/contracts/handlers/nucleus-teller-handler.js.map +1 -1
  163. package/dist/contracts/handlers/puf-locker-handler.cjs +1 -1
  164. package/dist/contracts/handlers/puf-locker-handler.cjs.map +1 -1
  165. package/dist/contracts/handlers/puf-locker-handler.d.ts +96 -6599
  166. package/dist/contracts/handlers/puf-locker-handler.js +51 -54
  167. package/dist/contracts/handlers/puf-locker-handler.js.map +1 -1
  168. package/dist/contracts/handlers/puffer-depositor-handler.cjs +1 -1
  169. package/dist/contracts/handlers/puffer-depositor-handler.cjs.map +1 -1
  170. package/dist/contracts/handlers/puffer-depositor-handler.d.ts +96 -6599
  171. package/dist/contracts/handlers/puffer-depositor-handler.js +28 -31
  172. package/dist/contracts/handlers/puffer-depositor-handler.js.map +1 -1
  173. package/dist/contracts/handlers/puffer-l2-depositor-handler.cjs +1 -1
  174. package/dist/contracts/handlers/puffer-l2-depositor-handler.cjs.map +1 -1
  175. package/dist/contracts/handlers/puffer-l2-depositor-handler.d.ts +96 -6599
  176. package/dist/contracts/handlers/puffer-l2-depositor-handler.js +42 -45
  177. package/dist/contracts/handlers/puffer-l2-depositor-handler.js.map +1 -1
  178. package/dist/contracts/handlers/puffer-oracle-v2-handler.cjs +1 -1
  179. package/dist/contracts/handlers/puffer-oracle-v2-handler.cjs.map +1 -1
  180. package/dist/contracts/handlers/puffer-oracle-v2-handler.d.ts +96 -6599
  181. package/dist/contracts/handlers/puffer-oracle-v2-handler.js +13 -16
  182. package/dist/contracts/handlers/puffer-oracle-v2-handler.js.map +1 -1
  183. package/dist/contracts/handlers/puffer-protocol-handler.cjs +1 -1
  184. package/dist/contracts/handlers/puffer-protocol-handler.cjs.map +1 -1
  185. package/dist/contracts/handlers/puffer-protocol-handler.d.ts +96 -6599
  186. package/dist/contracts/handlers/puffer-protocol-handler.js +12 -15
  187. package/dist/contracts/handlers/puffer-protocol-handler.js.map +1 -1
  188. package/dist/contracts/handlers/puffer-vault-handler.cjs +1 -1
  189. package/dist/contracts/handlers/puffer-vault-handler.cjs.map +1 -1
  190. package/dist/contracts/handlers/puffer-vault-handler.d.ts +96 -6599
  191. package/dist/contracts/handlers/puffer-vault-handler.js +12 -15
  192. package/dist/contracts/handlers/puffer-vault-handler.js.map +1 -1
  193. package/dist/contracts/handlers/puffer-withdrawal-manager-handler.cjs +1 -1
  194. package/dist/contracts/handlers/puffer-withdrawal-manager-handler.cjs.map +1 -1
  195. package/dist/contracts/handlers/puffer-withdrawal-manager-handler.d.ts +96 -6599
  196. package/dist/contracts/handlers/puffer-withdrawal-manager-handler.js +15 -18
  197. package/dist/contracts/handlers/puffer-withdrawal-manager-handler.js.map +1 -1
  198. package/dist/contracts/handlers/validator-ticket-handler.cjs +1 -1
  199. package/dist/contracts/handlers/validator-ticket-handler.cjs.map +1 -1
  200. package/dist/contracts/handlers/validator-ticket-handler.d.ts +96 -6599
  201. package/dist/contracts/handlers/validator-ticket-handler.js +12 -15
  202. package/dist/contracts/handlers/validator-ticket-handler.js.map +1 -1
  203. package/dist/contracts/handlers/vl-puffer-handler.cjs +1 -1
  204. package/dist/contracts/handlers/vl-puffer-handler.cjs.map +1 -1
  205. package/dist/contracts/handlers/vl-puffer-handler.d.ts +96 -6599
  206. package/dist/contracts/handlers/vl-puffer-handler.js +19 -22
  207. package/dist/contracts/handlers/vl-puffer-handler.js.map +1 -1
  208. package/dist/contracts/tokens.cjs +1 -1
  209. package/dist/contracts/tokens.cjs.map +1 -1
  210. package/dist/contracts/tokens.js +1 -1
  211. package/dist/contracts/tokens.js.map +1 -1
  212. package/dist/contracts/vaults-addresses.cjs +1 -1
  213. package/dist/contracts/vaults-addresses.cjs.map +1 -1
  214. package/dist/contracts/vaults-addresses.js +1 -1
  215. package/dist/contracts/vaults-addresses.js.map +1 -1
  216. package/dist/errors/base-error.cjs.map +1 -1
  217. package/dist/errors/base-error.js.map +1 -1
  218. package/dist/{getContract-DUA3M2pm.cjs → getContract-D4_SEfqa.cjs} +2 -2
  219. package/dist/{getContract-DUA3M2pm.cjs.map → getContract-D4_SEfqa.cjs.map} +1 -1
  220. package/dist/{getContract-DEPNMZxg.js → getContract-DQN7VDBo.js} +2 -2
  221. package/dist/{getContract-DEPNMZxg.js.map → getContract-DQN7VDBo.js.map} +1 -1
  222. package/dist/http-CajzXkt4.js +4005 -0
  223. package/dist/http-CajzXkt4.js.map +1 -0
  224. package/dist/http-qhIDc8Dn.cjs +5 -0
  225. package/dist/http-qhIDc8Dn.cjs.map +1 -0
  226. package/dist/{localBatchGatewayRequest-CKLnLqib.cjs → localBatchGatewayRequest-C7zYTS2c.cjs} +2 -2
  227. package/dist/{localBatchGatewayRequest-CKLnLqib.cjs.map → localBatchGatewayRequest-C7zYTS2c.cjs.map} +1 -1
  228. package/dist/{localBatchGatewayRequest-C0QtijkB.js → localBatchGatewayRequest-DtOvBmA9.js} +3 -3
  229. package/dist/{localBatchGatewayRequest-C0QtijkB.js.map → localBatchGatewayRequest-DtOvBmA9.js.map} +1 -1
  230. package/dist/main.cjs +1 -1
  231. package/dist/main.js +1 -1
  232. package/dist/secp256k1-CMP_u7qb.cjs +2 -0
  233. package/dist/secp256k1-CMP_u7qb.cjs.map +1 -0
  234. package/dist/secp256k1-DCMgMsfV.js +1297 -0
  235. package/dist/secp256k1-DCMgMsfV.js.map +1 -0
  236. package/dist/utils/time.cjs.map +1 -1
  237. package/dist/utils/time.js.map +1 -1
  238. package/dist/utils/version.cjs +1 -1
  239. package/dist/utils/version.js +1 -1
  240. package/dist/writeContract-BnmmOPwy.cjs +36 -0
  241. package/dist/writeContract-BnmmOPwy.cjs.map +1 -0
  242. package/dist/{writeContract-DkC9wV5p.js → writeContract-DYAfDrRz.js} +1788 -1712
  243. package/dist/writeContract-DYAfDrRz.js.map +1 -0
  244. package/package.json +8 -8
  245. package/dist/ccip-C76-YhQK.js +0 -152
  246. package/dist/ccip-CEodLZ4s.cjs +0 -2
  247. package/dist/constants-CxSgz27h.cjs +0 -9
  248. package/dist/createWalletClient-Cct6ojqI.cjs +0 -5
  249. package/dist/createWalletClient-Cct6ojqI.cjs.map +0 -1
  250. package/dist/createWalletClient-DAuQCrLq.js +0 -3262
  251. package/dist/createWalletClient-DAuQCrLq.js.map +0 -1
  252. package/dist/secp256k1-ClOw2ksU.js +0 -1291
  253. package/dist/secp256k1-ClOw2ksU.js.map +0 -1
  254. package/dist/secp256k1-YUzyTLhP.cjs +0 -2
  255. package/dist/secp256k1-YUzyTLhP.cjs.map +0 -1
  256. package/dist/writeContract-BfAYISeL.cjs +0 -36
  257. package/dist/writeContract-BfAYISeL.cjs.map +0 -1
  258. package/dist/writeContract-DkC9wV5p.js.map +0 -1
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const R=require("../constants-CxSgz27h.cjs"),g=require("../createWalletClient-Cct6ojqI.cjs"),E=require("../writeContract-BfAYISeL.cjs");function S(n,e={}){const{key:l="custom",methods:h,name:i="Custom Provider",retryDelay:w}=e;return({retryCount:p})=>g.createTransport({key:l,methods:h,name:i,request:n.request.bind(n),retryCount:e.retryCount??p,retryDelay:w,type:"custom"})}function v(n,e={}){const{key:l="fallback",name:h="Fallback",rank:i=!1,shouldThrow:w=P,retryCount:p,retryDelay:q}=e;return({chain:d,pollingInterval:_=4e3,timeout:o,...T})=>{let u=n,b=()=>{};const x=g.createTransport({key:l,name:h,async request({method:t,params:r}){let y;const f=async(a=0)=>{const m=u[a]({...T,chain:d,retryCount:0,timeout:o});try{const s=await m.request({method:t,params:r});return b({method:t,params:r,response:s,transport:m,status:"success"}),s}catch(s){if(b({error:s,method:t,params:r,transport:m,status:"error"}),w(s)||a===u.length-1||(y??(y=u.slice(a+1).some(c=>{const{include:C,exclude:M}=c({chain:d}).config.methods||{};return C?C.includes(t):M?!M.includes(t):!0})),!y))throw s;return f(a+1)}};return f()},retryCount:p,retryDelay:q,type:"fallback"},{onResponse:t=>b=t,transports:u.map(t=>t({chain:d,retryCount:0}))});if(i){const t=typeof i=="object"?i:{};W({chain:d,interval:t.interval??_,onTransports:r=>u=r,ping:t.ping,sampleCount:t.sampleCount,timeout:t.timeout,transports:u,weights:t.weights})}return x}}function P(n){return!!("code"in n&&typeof n.code=="number"&&(n.code===E.TransactionRejectedRpcError.code||n.code===E.UserRejectedRequestError.code||R.ExecutionRevertedError.nodeMessage.test(n.message)||n.code===5e3))}function W({chain:n,interval:e=4e3,onTransports:l,ping:h,sampleCount:i=10,timeout:w=1e3,transports:p,weights:q={}}){const{stability:d=.7,latency:_=.3}=q,o=[],T=async()=>{const u=await Promise.all(p.map(async t=>{const r=t({chain:n,retryCount:0,timeout:w}),y=Date.now();let f,a;try{await(h?h({transport:r}):r.request({method:"net_listening"})),a=1}catch{a=0}finally{f=Date.now()}return{latency:f-y,success:a}}));o.push(u),o.length>i&&o.shift();const b=Math.max(...o.map(t=>Math.max(...t.map(({latency:r})=>r)))),x=p.map((t,r)=>{const y=o.map(c=>c[r].latency),a=1-y.reduce((c,C)=>c+C,0)/y.length/b,m=o.map(c=>c[r].success),s=m.reduce((c,C)=>c+C,0)/m.length;return s===0?[0,r]:[_*a+d*s,r]}).sort((t,r)=>r[0]-t[0]);l(x.map(([,t])=>p[t])),await E.wait(e),T()};T()}class k{static createPublicClient(e){return g.createPublicClient({chain:R.VIEM_CHAINS[e.chain],transport:k.extractTransportConfig(e)})}static createWalletClient(e){return g.createWalletClient({chain:R.VIEM_CHAINS[e.chain],transport:k.extractTransportConfig(e)})}static extractTransportConfig(e){return"rpcUrls"in e?v(e.rpcUrls.map(l=>g.http(l))):S(e.provider,e.config)}}exports.PufferClientHelpers=k;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const R=require("../constants-6kuRTsbU.cjs"),g=require("../http-qhIDc8Dn.cjs"),E=require("../writeContract-BnmmOPwy.cjs");function S(n,e={}){const{key:l="custom",methods:h,name:i="Custom Provider",retryDelay:w}=e;return({retryCount:p})=>g.createTransport({key:l,methods:h,name:i,request:n.request.bind(n),retryCount:e.retryCount??p,retryDelay:w,type:"custom"})}function v(n,e={}){const{key:l="fallback",name:h="Fallback",rank:i=!1,shouldThrow:w=P,retryCount:p,retryDelay:q}=e;return(({chain:d,pollingInterval:_=4e3,timeout:o,...T})=>{let u=n,b=()=>{};const x=g.createTransport({key:l,name:h,async request({method:t,params:r}){let y;const f=async(a=0)=>{const m=u[a]({...T,chain:d,retryCount:0,timeout:o});try{const s=await m.request({method:t,params:r});return b({method:t,params:r,response:s,transport:m,status:"success"}),s}catch(s){if(b({error:s,method:t,params:r,transport:m,status:"error"}),w(s)||a===u.length-1||(y??=u.slice(a+1).some(c=>{const{include:C,exclude:M}=c({chain:d}).config.methods||{};return C?C.includes(t):M?!M.includes(t):!0}),!y))throw s;return f(a+1)}};return f()},retryCount:p,retryDelay:q,type:"fallback"},{onResponse:t=>b=t,transports:u.map(t=>t({chain:d,retryCount:0}))});if(i){const t=typeof i=="object"?i:{};j({chain:d,interval:t.interval??_,onTransports:r=>u=r,ping:t.ping,sampleCount:t.sampleCount,timeout:t.timeout,transports:u,weights:t.weights})}return x})}function P(n){return!!("code"in n&&typeof n.code=="number"&&(n.code===E.TransactionRejectedRpcError.code||n.code===E.UserRejectedRequestError.code||R.ExecutionRevertedError.nodeMessage.test(n.message)||n.code===5e3))}function j({chain:n,interval:e=4e3,onTransports:l,ping:h,sampleCount:i=10,timeout:w=1e3,transports:p,weights:q={}}){const{stability:d=.7,latency:_=.3}=q,o=[],T=async()=>{const u=await Promise.all(p.map(async t=>{const r=t({chain:n,retryCount:0,timeout:w}),y=Date.now();let f,a;try{await(h?h({transport:r}):r.request({method:"net_listening"})),a=1}catch{a=0}finally{f=Date.now()}return{latency:f-y,success:a}}));o.push(u),o.length>i&&o.shift();const b=Math.max(...o.map(t=>Math.max(...t.map(({latency:r})=>r)))),x=p.map((t,r)=>{const y=o.map(c=>c[r].latency),a=1-y.reduce((c,C)=>c+C,0)/y.length/b,m=o.map(c=>c[r].success),s=m.reduce((c,C)=>c+C,0)/m.length;return s===0?[0,r]:[_*a+d*s,r]}).sort((t,r)=>r[0]-t[0]);l(x.map(([,t])=>p[t])),await E.wait(e),T()};T()}class k{static createPublicClient(e){return g.createPublicClient({chain:R.VIEM_CHAINS[e.chain],transport:k.extractTransportConfig(e)})}static createWalletClient(e){return g.createWalletClient({chain:R.VIEM_CHAINS[e.chain],transport:k.extractTransportConfig(e)})}static extractTransportConfig(e){return"rpcUrls"in e?v(e.rpcUrls.map(l=>g.http(l))):S(e.provider,e.config)}}exports.PufferClientHelpers=k;
2
2
  //# sourceMappingURL=puffer-client-helpers.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"puffer-client-helpers.cjs","sources":["../../node_modules/.pnpm/viem@2.33.1_typescript@5.8.2_zod@3.24.2/node_modules/viem/_esm/clients/transports/custom.js","../../node_modules/.pnpm/viem@2.33.1_typescript@5.8.2_zod@3.24.2/node_modules/viem/_esm/clients/transports/fallback.js","../../lib/api/puffer-client-helpers.ts"],"sourcesContent":["import { createTransport, } from './createTransport.js';\n/**\n * @description Creates a custom transport given an EIP-1193 compliant `request` attribute.\n */\nexport function custom(provider, config = {}) {\n const { key = 'custom', methods, name = 'Custom Provider', retryDelay, } = config;\n return ({ retryCount: defaultRetryCount }) => createTransport({\n key,\n methods,\n name,\n request: provider.request.bind(provider),\n retryCount: config.retryCount ?? defaultRetryCount,\n retryDelay,\n type: 'custom',\n });\n}\n//# sourceMappingURL=custom.js.map","import { ExecutionRevertedError } from '../../errors/node.js';\nimport { TransactionRejectedRpcError, UserRejectedRequestError, } from '../../errors/rpc.js';\nimport { wait } from '../../utils/wait.js';\nimport { createTransport, } from './createTransport.js';\nexport function fallback(transports_, config = {}) {\n const { key = 'fallback', name = 'Fallback', rank = false, shouldThrow: shouldThrow_ = shouldThrow, retryCount, retryDelay, } = config;\n return (({ chain, pollingInterval = 4_000, timeout, ...rest }) => {\n let transports = transports_;\n let onResponse = () => { };\n const transport = createTransport({\n key,\n name,\n async request({ method, params }) {\n let includes;\n const fetch = async (i = 0) => {\n const transport = transports[i]({\n ...rest,\n chain,\n retryCount: 0,\n timeout,\n });\n try {\n const response = await transport.request({\n method,\n params,\n });\n onResponse({\n method,\n params: params,\n response,\n transport,\n status: 'success',\n });\n return response;\n }\n catch (err) {\n onResponse({\n error: err,\n method,\n params: params,\n transport,\n status: 'error',\n });\n if (shouldThrow_(err))\n throw err;\n // If we've reached the end of the fallbacks, throw the error.\n if (i === transports.length - 1)\n throw err;\n // Check if at least one other transport includes the method\n includes ??= transports.slice(i + 1).some((transport) => {\n const { include, exclude } = transport({ chain }).config.methods || {};\n if (include)\n return include.includes(method);\n if (exclude)\n return !exclude.includes(method);\n return true;\n });\n if (!includes)\n throw err;\n // Otherwise, try the next fallback.\n return fetch(i + 1);\n }\n };\n return fetch();\n },\n retryCount,\n retryDelay,\n type: 'fallback',\n }, {\n onResponse: (fn) => (onResponse = fn),\n transports: transports.map((fn) => fn({ chain, retryCount: 0 })),\n });\n if (rank) {\n const rankOptions = (typeof rank === 'object' ? rank : {});\n rankTransports({\n chain,\n interval: rankOptions.interval ?? pollingInterval,\n onTransports: (transports_) => (transports = transports_),\n ping: rankOptions.ping,\n sampleCount: rankOptions.sampleCount,\n timeout: rankOptions.timeout,\n transports,\n weights: rankOptions.weights,\n });\n }\n return transport;\n });\n}\nexport function shouldThrow(error) {\n if ('code' in error && typeof error.code === 'number') {\n if (error.code === TransactionRejectedRpcError.code ||\n error.code === UserRejectedRequestError.code ||\n ExecutionRevertedError.nodeMessage.test(error.message) ||\n error.code === 5000 // CAIP UserRejectedRequestError\n )\n return true;\n }\n return false;\n}\n/** @internal */\nexport function rankTransports({ chain, interval = 4_000, onTransports, ping, sampleCount = 10, timeout = 1_000, transports, weights = {}, }) {\n const { stability: stabilityWeight = 0.7, latency: latencyWeight = 0.3 } = weights;\n const samples = [];\n const rankTransports_ = async () => {\n // 1. Take a sample from each Transport.\n const sample = await Promise.all(transports.map(async (transport) => {\n const transport_ = transport({ chain, retryCount: 0, timeout });\n const start = Date.now();\n let end;\n let success;\n try {\n await (ping\n ? ping({ transport: transport_ })\n : transport_.request({ method: 'net_listening' }));\n success = 1;\n }\n catch {\n success = 0;\n }\n finally {\n end = Date.now();\n }\n const latency = end - start;\n return { latency, success };\n }));\n // 2. Store the sample. If we have more than `sampleCount` samples, remove\n // the oldest sample.\n samples.push(sample);\n if (samples.length > sampleCount)\n samples.shift();\n // 3. Calculate the max latency from samples.\n const maxLatency = Math.max(...samples.map((sample) => Math.max(...sample.map(({ latency }) => latency))));\n // 4. Calculate the score for each Transport.\n const scores = transports\n .map((_, i) => {\n const latencies = samples.map((sample) => sample[i].latency);\n const meanLatency = latencies.reduce((acc, latency) => acc + latency, 0) /\n latencies.length;\n const latencyScore = 1 - meanLatency / maxLatency;\n const successes = samples.map((sample) => sample[i].success);\n const stabilityScore = successes.reduce((acc, success) => acc + success, 0) /\n successes.length;\n if (stabilityScore === 0)\n return [0, i];\n return [\n latencyWeight * latencyScore + stabilityWeight * stabilityScore,\n i,\n ];\n })\n .sort((a, b) => b[0] - a[0]);\n // 5. Sort the Transports by score.\n onTransports(scores.map(([, i]) => transports[i]));\n // 6. Wait, and then rank again.\n await wait(interval);\n rankTransports_();\n };\n rankTransports_();\n}\n//# sourceMappingURL=fallback.js.map","import {\n CustomTransportConfig,\n createPublicClient as createPublicClientViem,\n createWalletClient as createWalletClientViem,\n http,\n fallback,\n custom,\n Transport,\n PublicClient,\n WalletClient,\n} from 'viem';\nimport { Chain, VIEM_CHAINS } from '../chains/constants';\nimport { TransportProvider } from '../utils/types';\n\nexport type ClientConfig = {\n chain: Chain;\n} & (\n | { rpcUrls: string[] }\n | { provider: TransportProvider; config?: CustomTransportConfig }\n);\n\n/**\n * Helper methods for the main `PufferClient`.\n */\nexport class PufferClientHelpers {\n /**\n * Helper method for creating a public client based on the\n * configuration\n *\n * @param config Configuration for the public client.\n * @returns The public client created with viem.\n */\n public static createPublicClient(config: ClientConfig): PublicClient {\n return createPublicClientViem({\n chain: VIEM_CHAINS[config.chain],\n transport: PufferClientHelpers.extractTransportConfig(config),\n });\n }\n\n /**\n * Helper method for creating a wallet client based on the\n * configuration\n *\n * @param config Configuration for the wallet client.\n * @returns The wallet client created with viem.\n */\n public static createWalletClient(config: ClientConfig): WalletClient {\n return createWalletClientViem({\n chain: VIEM_CHAINS[config.chain],\n transport: PufferClientHelpers.extractTransportConfig(config),\n });\n }\n\n private static extractTransportConfig(config: ClientConfig): Transport {\n if ('rpcUrls' in config) {\n return fallback(config.rpcUrls.map((url) => http(url)));\n } else {\n return custom(config.provider, config.config);\n }\n }\n}\n"],"names":["custom","provider","config","key","methods","name","retryDelay","defaultRetryCount","createTransport","fallback","transports_","rank","shouldThrow_","shouldThrow","retryCount","chain","pollingInterval","timeout","rest","transports","onResponse","transport","method","params","includes","fetch","i","response","err","include","exclude","fn","rankOptions","rankTransports","error","TransactionRejectedRpcError","UserRejectedRequestError","ExecutionRevertedError","interval","onTransports","ping","sampleCount","weights","stabilityWeight","latencyWeight","samples","rankTransports_","sample","transport_","start","end","success","maxLatency","latency","scores","_","latencies","latencyScore","acc","successes","stabilityScore","a","b","wait","PufferClientHelpers","createPublicClientViem","VIEM_CHAINS","createWalletClientViem","url","http"],"mappings":"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","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"puffer-client-helpers.cjs","sources":["../../node_modules/.pnpm/viem@2.37.6_typescript@5.9.2_zod@3.24.2/node_modules/viem/_esm/clients/transports/custom.js","../../node_modules/.pnpm/viem@2.37.6_typescript@5.9.2_zod@3.24.2/node_modules/viem/_esm/clients/transports/fallback.js","../../lib/api/puffer-client-helpers.ts"],"sourcesContent":["import { createTransport, } from './createTransport.js';\n/**\n * @description Creates a custom transport given an EIP-1193 compliant `request` attribute.\n */\nexport function custom(provider, config = {}) {\n const { key = 'custom', methods, name = 'Custom Provider', retryDelay, } = config;\n return ({ retryCount: defaultRetryCount }) => createTransport({\n key,\n methods,\n name,\n request: provider.request.bind(provider),\n retryCount: config.retryCount ?? defaultRetryCount,\n retryDelay,\n type: 'custom',\n });\n}\n//# sourceMappingURL=custom.js.map","import { ExecutionRevertedError } from '../../errors/node.js';\nimport { TransactionRejectedRpcError, UserRejectedRequestError, } from '../../errors/rpc.js';\nimport { wait } from '../../utils/wait.js';\nimport { createTransport, } from './createTransport.js';\nexport function fallback(transports_, config = {}) {\n const { key = 'fallback', name = 'Fallback', rank = false, shouldThrow: shouldThrow_ = shouldThrow, retryCount, retryDelay, } = config;\n return (({ chain, pollingInterval = 4_000, timeout, ...rest }) => {\n let transports = transports_;\n let onResponse = () => { };\n const transport = createTransport({\n key,\n name,\n async request({ method, params }) {\n let includes;\n const fetch = async (i = 0) => {\n const transport = transports[i]({\n ...rest,\n chain,\n retryCount: 0,\n timeout,\n });\n try {\n const response = await transport.request({\n method,\n params,\n });\n onResponse({\n method,\n params: params,\n response,\n transport,\n status: 'success',\n });\n return response;\n }\n catch (err) {\n onResponse({\n error: err,\n method,\n params: params,\n transport,\n status: 'error',\n });\n if (shouldThrow_(err))\n throw err;\n // If we've reached the end of the fallbacks, throw the error.\n if (i === transports.length - 1)\n throw err;\n // Check if at least one other transport includes the method\n includes ??= transports.slice(i + 1).some((transport) => {\n const { include, exclude } = transport({ chain }).config.methods || {};\n if (include)\n return include.includes(method);\n if (exclude)\n return !exclude.includes(method);\n return true;\n });\n if (!includes)\n throw err;\n // Otherwise, try the next fallback.\n return fetch(i + 1);\n }\n };\n return fetch();\n },\n retryCount,\n retryDelay,\n type: 'fallback',\n }, {\n onResponse: (fn) => (onResponse = fn),\n transports: transports.map((fn) => fn({ chain, retryCount: 0 })),\n });\n if (rank) {\n const rankOptions = (typeof rank === 'object' ? rank : {});\n rankTransports({\n chain,\n interval: rankOptions.interval ?? pollingInterval,\n onTransports: (transports_) => (transports = transports_),\n ping: rankOptions.ping,\n sampleCount: rankOptions.sampleCount,\n timeout: rankOptions.timeout,\n transports,\n weights: rankOptions.weights,\n });\n }\n return transport;\n });\n}\nexport function shouldThrow(error) {\n if ('code' in error && typeof error.code === 'number') {\n if (error.code === TransactionRejectedRpcError.code ||\n error.code === UserRejectedRequestError.code ||\n ExecutionRevertedError.nodeMessage.test(error.message) ||\n error.code === 5000 // CAIP UserRejectedRequestError\n )\n return true;\n }\n return false;\n}\n/** @internal */\nexport function rankTransports({ chain, interval = 4_000, onTransports, ping, sampleCount = 10, timeout = 1_000, transports, weights = {}, }) {\n const { stability: stabilityWeight = 0.7, latency: latencyWeight = 0.3 } = weights;\n const samples = [];\n const rankTransports_ = async () => {\n // 1. Take a sample from each Transport.\n const sample = await Promise.all(transports.map(async (transport) => {\n const transport_ = transport({ chain, retryCount: 0, timeout });\n const start = Date.now();\n let end;\n let success;\n try {\n await (ping\n ? ping({ transport: transport_ })\n : transport_.request({ method: 'net_listening' }));\n success = 1;\n }\n catch {\n success = 0;\n }\n finally {\n end = Date.now();\n }\n const latency = end - start;\n return { latency, success };\n }));\n // 2. Store the sample. If we have more than `sampleCount` samples, remove\n // the oldest sample.\n samples.push(sample);\n if (samples.length > sampleCount)\n samples.shift();\n // 3. Calculate the max latency from samples.\n const maxLatency = Math.max(...samples.map((sample) => Math.max(...sample.map(({ latency }) => latency))));\n // 4. Calculate the score for each Transport.\n const scores = transports\n .map((_, i) => {\n const latencies = samples.map((sample) => sample[i].latency);\n const meanLatency = latencies.reduce((acc, latency) => acc + latency, 0) /\n latencies.length;\n const latencyScore = 1 - meanLatency / maxLatency;\n const successes = samples.map((sample) => sample[i].success);\n const stabilityScore = successes.reduce((acc, success) => acc + success, 0) /\n successes.length;\n if (stabilityScore === 0)\n return [0, i];\n return [\n latencyWeight * latencyScore + stabilityWeight * stabilityScore,\n i,\n ];\n })\n .sort((a, b) => b[0] - a[0]);\n // 5. Sort the Transports by score.\n onTransports(scores.map(([, i]) => transports[i]));\n // 6. Wait, and then rank again.\n await wait(interval);\n rankTransports_();\n };\n rankTransports_();\n}\n//# sourceMappingURL=fallback.js.map","import {\n CustomTransportConfig,\n createPublicClient as createPublicClientViem,\n createWalletClient as createWalletClientViem,\n http,\n fallback,\n custom,\n Transport,\n PublicClient,\n WalletClient,\n} from 'viem';\nimport { Chain, VIEM_CHAINS } from '../chains/constants';\nimport { TransportProvider } from '../utils/types';\n\nexport type ClientConfig = {\n chain: Chain;\n} & (\n | { rpcUrls: string[] }\n | { provider: TransportProvider; config?: CustomTransportConfig }\n);\n\n/**\n * Helper methods for the main `PufferClient`.\n */\nexport class PufferClientHelpers {\n /**\n * Helper method for creating a public client based on the\n * configuration\n *\n * @param config Configuration for the public client.\n * @returns The public client created with viem.\n */\n public static createPublicClient(config: ClientConfig): PublicClient {\n return createPublicClientViem({\n chain: VIEM_CHAINS[config.chain],\n transport: PufferClientHelpers.extractTransportConfig(config),\n });\n }\n\n /**\n * Helper method for creating a wallet client based on the\n * configuration\n *\n * @param config Configuration for the wallet client.\n * @returns The wallet client created with viem.\n */\n public static createWalletClient(config: ClientConfig): WalletClient {\n return createWalletClientViem({\n chain: VIEM_CHAINS[config.chain],\n transport: PufferClientHelpers.extractTransportConfig(config),\n });\n }\n\n private static extractTransportConfig(config: ClientConfig): Transport {\n if ('rpcUrls' in config) {\n return fallback(config.rpcUrls.map((url) => http(url)));\n } else {\n return custom(config.provider, config.config);\n }\n }\n}\n"],"names":["custom","provider","config","key","methods","name","retryDelay","defaultRetryCount","createTransport","fallback","transports_","rank","shouldThrow_","shouldThrow","retryCount","chain","pollingInterval","timeout","rest","transports","onResponse","transport","method","params","includes","fetch","i","response","err","include","exclude","fn","rankOptions","rankTransports","error","TransactionRejectedRpcError","UserRejectedRequestError","ExecutionRevertedError","interval","onTransports","ping","sampleCount","weights","stabilityWeight","latencyWeight","samples","rankTransports_","sample","transport_","start","end","success","maxLatency","latency","scores","_","latencies","latencyScore","acc","successes","stabilityScore","a","b","wait","PufferClientHelpers","createPublicClientViem","VIEM_CHAINS","createWalletClientViem","url","http"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -1,6 +1,6 @@
1
- import { E as v, V as q } from "../constants-C9YZ6Ewc.js";
2
- import { b as E, a as D, c as M, h as U } from "../createWalletClient-DAuQCrLq.js";
3
- import { T as W, U as j, m as L } from "../writeContract-DkC9wV5p.js";
1
+ import { E as v, V as q } from "../constants-CuIEh_ZS.js";
2
+ import { b as E, a as D, c as M, h as U } from "../http-CajzXkt4.js";
3
+ import { T as W, U as j, m as L } from "../writeContract-DYAfDrRz.js";
4
4
  function P(s, e = {}) {
5
5
  const { key: l = "custom", methods: h, name: i = "Custom Provider", retryDelay: w } = e;
6
6
  return ({ retryCount: p }) => E({
@@ -15,7 +15,7 @@ function P(s, e = {}) {
15
15
  }
16
16
  function S(s, e = {}) {
17
17
  const { key: l = "fallback", name: h = "Fallback", rank: i = !1, shouldThrow: w = I, retryCount: p, retryDelay: g } = e;
18
- return ({ chain: f, pollingInterval: k = 4e3, timeout: o, ...T }) => {
18
+ return (({ chain: f, pollingInterval: k = 4e3, timeout: o, ...T }) => {
19
19
  let u = s, b = () => {
20
20
  };
21
21
  const x = E({
@@ -49,10 +49,10 @@ function S(s, e = {}) {
49
49
  params: r,
50
50
  transport: y,
51
51
  status: "error"
52
- }), w(n) || a === u.length - 1 || (m ?? (m = u.slice(a + 1).some((c) => {
52
+ }), w(n) || a === u.length - 1 || (m ??= u.slice(a + 1).some((c) => {
53
53
  const { include: C, exclude: _ } = c({ chain: f }).config.methods || {};
54
54
  return C ? C.includes(t) : _ ? !_.includes(t) : !0;
55
- })), !m))
55
+ }), !m))
56
56
  throw n;
57
57
  return d(a + 1);
58
58
  }
@@ -80,7 +80,7 @@ function S(s, e = {}) {
80
80
  });
81
81
  }
82
82
  return x;
83
- };
83
+ });
84
84
  }
85
85
  function I(s) {
86
86
  return !!("code" in s && typeof s.code == "number" && (s.code === W.code || s.code === j.code || v.nodeMessage.test(s.message) || s.code === 5e3));
@@ -1 +1 @@
1
- {"version":3,"file":"puffer-client-helpers.js","sources":["../../node_modules/.pnpm/viem@2.33.1_typescript@5.8.2_zod@3.24.2/node_modules/viem/_esm/clients/transports/custom.js","../../node_modules/.pnpm/viem@2.33.1_typescript@5.8.2_zod@3.24.2/node_modules/viem/_esm/clients/transports/fallback.js","../../lib/api/puffer-client-helpers.ts"],"sourcesContent":["import { createTransport, } from './createTransport.js';\n/**\n * @description Creates a custom transport given an EIP-1193 compliant `request` attribute.\n */\nexport function custom(provider, config = {}) {\n const { key = 'custom', methods, name = 'Custom Provider', retryDelay, } = config;\n return ({ retryCount: defaultRetryCount }) => createTransport({\n key,\n methods,\n name,\n request: provider.request.bind(provider),\n retryCount: config.retryCount ?? defaultRetryCount,\n retryDelay,\n type: 'custom',\n });\n}\n//# sourceMappingURL=custom.js.map","import { ExecutionRevertedError } from '../../errors/node.js';\nimport { TransactionRejectedRpcError, UserRejectedRequestError, } from '../../errors/rpc.js';\nimport { wait } from '../../utils/wait.js';\nimport { createTransport, } from './createTransport.js';\nexport function fallback(transports_, config = {}) {\n const { key = 'fallback', name = 'Fallback', rank = false, shouldThrow: shouldThrow_ = shouldThrow, retryCount, retryDelay, } = config;\n return (({ chain, pollingInterval = 4_000, timeout, ...rest }) => {\n let transports = transports_;\n let onResponse = () => { };\n const transport = createTransport({\n key,\n name,\n async request({ method, params }) {\n let includes;\n const fetch = async (i = 0) => {\n const transport = transports[i]({\n ...rest,\n chain,\n retryCount: 0,\n timeout,\n });\n try {\n const response = await transport.request({\n method,\n params,\n });\n onResponse({\n method,\n params: params,\n response,\n transport,\n status: 'success',\n });\n return response;\n }\n catch (err) {\n onResponse({\n error: err,\n method,\n params: params,\n transport,\n status: 'error',\n });\n if (shouldThrow_(err))\n throw err;\n // If we've reached the end of the fallbacks, throw the error.\n if (i === transports.length - 1)\n throw err;\n // Check if at least one other transport includes the method\n includes ??= transports.slice(i + 1).some((transport) => {\n const { include, exclude } = transport({ chain }).config.methods || {};\n if (include)\n return include.includes(method);\n if (exclude)\n return !exclude.includes(method);\n return true;\n });\n if (!includes)\n throw err;\n // Otherwise, try the next fallback.\n return fetch(i + 1);\n }\n };\n return fetch();\n },\n retryCount,\n retryDelay,\n type: 'fallback',\n }, {\n onResponse: (fn) => (onResponse = fn),\n transports: transports.map((fn) => fn({ chain, retryCount: 0 })),\n });\n if (rank) {\n const rankOptions = (typeof rank === 'object' ? rank : {});\n rankTransports({\n chain,\n interval: rankOptions.interval ?? pollingInterval,\n onTransports: (transports_) => (transports = transports_),\n ping: rankOptions.ping,\n sampleCount: rankOptions.sampleCount,\n timeout: rankOptions.timeout,\n transports,\n weights: rankOptions.weights,\n });\n }\n return transport;\n });\n}\nexport function shouldThrow(error) {\n if ('code' in error && typeof error.code === 'number') {\n if (error.code === TransactionRejectedRpcError.code ||\n error.code === UserRejectedRequestError.code ||\n ExecutionRevertedError.nodeMessage.test(error.message) ||\n error.code === 5000 // CAIP UserRejectedRequestError\n )\n return true;\n }\n return false;\n}\n/** @internal */\nexport function rankTransports({ chain, interval = 4_000, onTransports, ping, sampleCount = 10, timeout = 1_000, transports, weights = {}, }) {\n const { stability: stabilityWeight = 0.7, latency: latencyWeight = 0.3 } = weights;\n const samples = [];\n const rankTransports_ = async () => {\n // 1. Take a sample from each Transport.\n const sample = await Promise.all(transports.map(async (transport) => {\n const transport_ = transport({ chain, retryCount: 0, timeout });\n const start = Date.now();\n let end;\n let success;\n try {\n await (ping\n ? ping({ transport: transport_ })\n : transport_.request({ method: 'net_listening' }));\n success = 1;\n }\n catch {\n success = 0;\n }\n finally {\n end = Date.now();\n }\n const latency = end - start;\n return { latency, success };\n }));\n // 2. Store the sample. If we have more than `sampleCount` samples, remove\n // the oldest sample.\n samples.push(sample);\n if (samples.length > sampleCount)\n samples.shift();\n // 3. Calculate the max latency from samples.\n const maxLatency = Math.max(...samples.map((sample) => Math.max(...sample.map(({ latency }) => latency))));\n // 4. Calculate the score for each Transport.\n const scores = transports\n .map((_, i) => {\n const latencies = samples.map((sample) => sample[i].latency);\n const meanLatency = latencies.reduce((acc, latency) => acc + latency, 0) /\n latencies.length;\n const latencyScore = 1 - meanLatency / maxLatency;\n const successes = samples.map((sample) => sample[i].success);\n const stabilityScore = successes.reduce((acc, success) => acc + success, 0) /\n successes.length;\n if (stabilityScore === 0)\n return [0, i];\n return [\n latencyWeight * latencyScore + stabilityWeight * stabilityScore,\n i,\n ];\n })\n .sort((a, b) => b[0] - a[0]);\n // 5. Sort the Transports by score.\n onTransports(scores.map(([, i]) => transports[i]));\n // 6. Wait, and then rank again.\n await wait(interval);\n rankTransports_();\n };\n rankTransports_();\n}\n//# sourceMappingURL=fallback.js.map","import {\n CustomTransportConfig,\n createPublicClient as createPublicClientViem,\n createWalletClient as createWalletClientViem,\n http,\n fallback,\n custom,\n Transport,\n PublicClient,\n WalletClient,\n} from 'viem';\nimport { Chain, VIEM_CHAINS } from '../chains/constants';\nimport { TransportProvider } from '../utils/types';\n\nexport type ClientConfig = {\n chain: Chain;\n} & (\n | { rpcUrls: string[] }\n | { provider: TransportProvider; config?: CustomTransportConfig }\n);\n\n/**\n * Helper methods for the main `PufferClient`.\n */\nexport class PufferClientHelpers {\n /**\n * Helper method for creating a public client based on the\n * configuration\n *\n * @param config Configuration for the public client.\n * @returns The public client created with viem.\n */\n public static createPublicClient(config: ClientConfig): PublicClient {\n return createPublicClientViem({\n chain: VIEM_CHAINS[config.chain],\n transport: PufferClientHelpers.extractTransportConfig(config),\n });\n }\n\n /**\n * Helper method for creating a wallet client based on the\n * configuration\n *\n * @param config Configuration for the wallet client.\n * @returns The wallet client created with viem.\n */\n public static createWalletClient(config: ClientConfig): WalletClient {\n return createWalletClientViem({\n chain: VIEM_CHAINS[config.chain],\n transport: PufferClientHelpers.extractTransportConfig(config),\n });\n }\n\n private static extractTransportConfig(config: ClientConfig): Transport {\n if ('rpcUrls' in config) {\n return fallback(config.rpcUrls.map((url) => http(url)));\n } else {\n return custom(config.provider, config.config);\n }\n }\n}\n"],"names":["custom","provider","config","key","methods","name","retryDelay","defaultRetryCount","createTransport","fallback","transports_","rank","shouldThrow_","shouldThrow","retryCount","chain","pollingInterval","timeout","rest","transports","onResponse","transport","method","params","includes","fetch","i","response","err","include","exclude","fn","rankOptions","rankTransports","error","TransactionRejectedRpcError","UserRejectedRequestError","ExecutionRevertedError","interval","onTransports","ping","sampleCount","weights","stabilityWeight","latencyWeight","samples","rankTransports_","sample","transport_","start","end","success","maxLatency","latency","scores","_","latencies","latencyScore","acc","successes","stabilityScore","a","b","wait","PufferClientHelpers","createPublicClientViem","VIEM_CHAINS","createWalletClientViem","url","http"],"mappings":"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","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"puffer-client-helpers.js","sources":["../../node_modules/.pnpm/viem@2.37.6_typescript@5.9.2_zod@3.24.2/node_modules/viem/_esm/clients/transports/custom.js","../../node_modules/.pnpm/viem@2.37.6_typescript@5.9.2_zod@3.24.2/node_modules/viem/_esm/clients/transports/fallback.js","../../lib/api/puffer-client-helpers.ts"],"sourcesContent":["import { createTransport, } from './createTransport.js';\n/**\n * @description Creates a custom transport given an EIP-1193 compliant `request` attribute.\n */\nexport function custom(provider, config = {}) {\n const { key = 'custom', methods, name = 'Custom Provider', retryDelay, } = config;\n return ({ retryCount: defaultRetryCount }) => createTransport({\n key,\n methods,\n name,\n request: provider.request.bind(provider),\n retryCount: config.retryCount ?? defaultRetryCount,\n retryDelay,\n type: 'custom',\n });\n}\n//# sourceMappingURL=custom.js.map","import { ExecutionRevertedError } from '../../errors/node.js';\nimport { TransactionRejectedRpcError, UserRejectedRequestError, } from '../../errors/rpc.js';\nimport { wait } from '../../utils/wait.js';\nimport { createTransport, } from './createTransport.js';\nexport function fallback(transports_, config = {}) {\n const { key = 'fallback', name = 'Fallback', rank = false, shouldThrow: shouldThrow_ = shouldThrow, retryCount, retryDelay, } = config;\n return (({ chain, pollingInterval = 4_000, timeout, ...rest }) => {\n let transports = transports_;\n let onResponse = () => { };\n const transport = createTransport({\n key,\n name,\n async request({ method, params }) {\n let includes;\n const fetch = async (i = 0) => {\n const transport = transports[i]({\n ...rest,\n chain,\n retryCount: 0,\n timeout,\n });\n try {\n const response = await transport.request({\n method,\n params,\n });\n onResponse({\n method,\n params: params,\n response,\n transport,\n status: 'success',\n });\n return response;\n }\n catch (err) {\n onResponse({\n error: err,\n method,\n params: params,\n transport,\n status: 'error',\n });\n if (shouldThrow_(err))\n throw err;\n // If we've reached the end of the fallbacks, throw the error.\n if (i === transports.length - 1)\n throw err;\n // Check if at least one other transport includes the method\n includes ??= transports.slice(i + 1).some((transport) => {\n const { include, exclude } = transport({ chain }).config.methods || {};\n if (include)\n return include.includes(method);\n if (exclude)\n return !exclude.includes(method);\n return true;\n });\n if (!includes)\n throw err;\n // Otherwise, try the next fallback.\n return fetch(i + 1);\n }\n };\n return fetch();\n },\n retryCount,\n retryDelay,\n type: 'fallback',\n }, {\n onResponse: (fn) => (onResponse = fn),\n transports: transports.map((fn) => fn({ chain, retryCount: 0 })),\n });\n if (rank) {\n const rankOptions = (typeof rank === 'object' ? rank : {});\n rankTransports({\n chain,\n interval: rankOptions.interval ?? pollingInterval,\n onTransports: (transports_) => (transports = transports_),\n ping: rankOptions.ping,\n sampleCount: rankOptions.sampleCount,\n timeout: rankOptions.timeout,\n transports,\n weights: rankOptions.weights,\n });\n }\n return transport;\n });\n}\nexport function shouldThrow(error) {\n if ('code' in error && typeof error.code === 'number') {\n if (error.code === TransactionRejectedRpcError.code ||\n error.code === UserRejectedRequestError.code ||\n ExecutionRevertedError.nodeMessage.test(error.message) ||\n error.code === 5000 // CAIP UserRejectedRequestError\n )\n return true;\n }\n return false;\n}\n/** @internal */\nexport function rankTransports({ chain, interval = 4_000, onTransports, ping, sampleCount = 10, timeout = 1_000, transports, weights = {}, }) {\n const { stability: stabilityWeight = 0.7, latency: latencyWeight = 0.3 } = weights;\n const samples = [];\n const rankTransports_ = async () => {\n // 1. Take a sample from each Transport.\n const sample = await Promise.all(transports.map(async (transport) => {\n const transport_ = transport({ chain, retryCount: 0, timeout });\n const start = Date.now();\n let end;\n let success;\n try {\n await (ping\n ? ping({ transport: transport_ })\n : transport_.request({ method: 'net_listening' }));\n success = 1;\n }\n catch {\n success = 0;\n }\n finally {\n end = Date.now();\n }\n const latency = end - start;\n return { latency, success };\n }));\n // 2. Store the sample. If we have more than `sampleCount` samples, remove\n // the oldest sample.\n samples.push(sample);\n if (samples.length > sampleCount)\n samples.shift();\n // 3. Calculate the max latency from samples.\n const maxLatency = Math.max(...samples.map((sample) => Math.max(...sample.map(({ latency }) => latency))));\n // 4. Calculate the score for each Transport.\n const scores = transports\n .map((_, i) => {\n const latencies = samples.map((sample) => sample[i].latency);\n const meanLatency = latencies.reduce((acc, latency) => acc + latency, 0) /\n latencies.length;\n const latencyScore = 1 - meanLatency / maxLatency;\n const successes = samples.map((sample) => sample[i].success);\n const stabilityScore = successes.reduce((acc, success) => acc + success, 0) /\n successes.length;\n if (stabilityScore === 0)\n return [0, i];\n return [\n latencyWeight * latencyScore + stabilityWeight * stabilityScore,\n i,\n ];\n })\n .sort((a, b) => b[0] - a[0]);\n // 5. Sort the Transports by score.\n onTransports(scores.map(([, i]) => transports[i]));\n // 6. Wait, and then rank again.\n await wait(interval);\n rankTransports_();\n };\n rankTransports_();\n}\n//# sourceMappingURL=fallback.js.map","import {\n CustomTransportConfig,\n createPublicClient as createPublicClientViem,\n createWalletClient as createWalletClientViem,\n http,\n fallback,\n custom,\n Transport,\n PublicClient,\n WalletClient,\n} from 'viem';\nimport { Chain, VIEM_CHAINS } from '../chains/constants';\nimport { TransportProvider } from '../utils/types';\n\nexport type ClientConfig = {\n chain: Chain;\n} & (\n | { rpcUrls: string[] }\n | { provider: TransportProvider; config?: CustomTransportConfig }\n);\n\n/**\n * Helper methods for the main `PufferClient`.\n */\nexport class PufferClientHelpers {\n /**\n * Helper method for creating a public client based on the\n * configuration\n *\n * @param config Configuration for the public client.\n * @returns The public client created with viem.\n */\n public static createPublicClient(config: ClientConfig): PublicClient {\n return createPublicClientViem({\n chain: VIEM_CHAINS[config.chain],\n transport: PufferClientHelpers.extractTransportConfig(config),\n });\n }\n\n /**\n * Helper method for creating a wallet client based on the\n * configuration\n *\n * @param config Configuration for the wallet client.\n * @returns The wallet client created with viem.\n */\n public static createWalletClient(config: ClientConfig): WalletClient {\n return createWalletClientViem({\n chain: VIEM_CHAINS[config.chain],\n transport: PufferClientHelpers.extractTransportConfig(config),\n });\n }\n\n private static extractTransportConfig(config: ClientConfig): Transport {\n if ('rpcUrls' in config) {\n return fallback(config.rpcUrls.map((url) => http(url)));\n } else {\n return custom(config.provider, config.config);\n }\n }\n}\n"],"names":["custom","provider","config","key","methods","name","retryDelay","defaultRetryCount","createTransport","fallback","transports_","rank","shouldThrow_","shouldThrow","retryCount","chain","pollingInterval","timeout","rest","transports","onResponse","transport","method","params","includes","fetch","i","response","err","include","exclude","fn","rankOptions","rankTransports","error","TransactionRejectedRpcError","UserRejectedRequestError","ExecutionRevertedError","interval","onTransports","ping","sampleCount","weights","stabilityWeight","latencyWeight","samples","rankTransports_","sample","transport_","start","end","success","maxLatency","latency","scores","_","latencies","latencyScore","acc","successes","stabilityScore","a","b","wait","PufferClientHelpers","createPublicClientViem","VIEM_CHAINS","createWalletClientViem","url","http"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -1,2 +1,2 @@
1
- "use strict";var s=Object.defineProperty;var u=(l,e,r)=>e in l?s(l,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):l[e]=r;var t=(l,e,r)=>u(l,typeof e!="symbol"?e+"":e,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("../constants-CxSgz27h.cjs"),o=require("../contracts/handlers/puffer-vault-handler.cjs"),d=require("../contracts/handlers/puffer-depositor-handler.cjs"),h=require("../contracts/handlers/puffer-l2-depositor-handler.cjs"),w=require("../contracts/handlers/erc20-permit-handler.cjs"),C=require("../contracts/handlers/puf-locker-handler.cjs"),p=require("../contracts/handlers/l2-reward-manager-handler.cjs"),_=require("../contracts/handlers/l1-reward-manager-handler.cjs"),f=require("../contracts/handlers/puffer-withdrawal-manager-handler.cjs"),H=require("../contracts/handlers/nucleus-boring-vault-handler.cjs"),g=require("../contracts/handlers/nucleus-teller-handler.cjs"),b=require("../contracts/handlers/nucleus-accountant-handler.cjs"),q=require("../contracts/handlers/nucleus-atomic-queue-handler.cjs"),V=require("../contracts/handlers/mtw-carrot-handler.cjs"),M=require("../contracts/handlers/carrot-staking-handler.cjs"),P=require("../contracts/handlers/distributor-handler.cjs"),A=require("../contracts/handlers/concrete-vault-handler.cjs"),m=require("../contracts/handlers/validator-ticket-handler.cjs"),R=require("../contracts/handlers/puffer-oracle-v2-handler.cjs"),k=require("../contracts/handlers/puffer-protocol-handler.cjs"),v=require("../contracts/handlers/guardian-module-handler.cjs"),L=require("../contracts/handlers/institutional-vault-handler.cjs"),T=require("../contracts/handlers/institutional-access-manager-handler.cjs"),y=require("../contracts/handlers/lagoon-vault-handler.cjs"),D=require("../contracts/handlers/vl-puffer-handler.cjs"),S=require("../contracts/handlers/gauge-registry-handler.cjs"),W=require("../contracts/handlers/carrot-vesting-handler.cjs"),n=require("../createWalletClient-Cct6ojqI.cjs");class N{constructor(e,r,a){t(this,"walletClient");t(this,"publicClient");t(this,"erc20Permit");t(this,"vault");t(this,"depositor");t(this,"l2Depositor");t(this,"pufLocker");t(this,"l2RewardManager");t(this,"l1RewardManager");t(this,"pufferWithdrawalManager");t(this,"nucleusBoringVault");t(this,"nucleusTeller");t(this,"nucleusAccountant");t(this,"nucleusAtomicQueue");t(this,"mtwCarrot");t(this,"carrotStaker");t(this,"distributor");t(this,"concreteVault");t(this,"validatorTicket");t(this,"pufferOracleV2");t(this,"pufferProtocol");t(this,"guardianModule");t(this,"institutionalVault");t(this,"institutionalAccessManager");t(this,"lagoonVault");t(this,"vlPuffer");t(this,"gaugeRegistry");t(this,"carrotVesting");const i=c.VIEM_CHAINS[e];this.walletClient=r??n.createWalletClient({chain:i,transport:n.http()}),this.publicClient=a??n.createPublicClient({chain:i,transport:n.http()}),this.erc20Permit=new w.ERC20PermitHandler(e,this.walletClient,this.publicClient),this.vault=new o.PufferVaultHandler(e,this.walletClient,this.publicClient),this.depositor=new d.PufferDepositorHandler(e,this.walletClient,this.publicClient),this.l2Depositor=new h.PufferL2DepositorHandler(e,this.walletClient,this.publicClient),this.pufLocker=new C.PufLockerHandler(e,this.walletClient,this.publicClient),this.l2RewardManager=new p.L2RewardManagerHandler(e,this.walletClient,this.publicClient),this.l1RewardManager=new _.L1RewardManagerHandler(e,this.walletClient,this.publicClient),this.pufferWithdrawalManager=new f.PufferWithdrawalManagerHandler(e,this.walletClient,this.publicClient),this.nucleusBoringVault=new H.NucleusBoringVaultHandler(e,this.walletClient,this.publicClient),this.nucleusTeller=new g.NucleusTellerHandler(e,this.walletClient,this.publicClient),this.nucleusAccountant=new b.NucleusAccountantHandler(e,this.walletClient,this.publicClient),this.nucleusAtomicQueue=new q.NucleusAtomicQueueHandler(e,this.walletClient,this.publicClient),this.mtwCarrot=new V.MtwCarrotHandler(e,this.walletClient,this.publicClient),this.carrotStaker=new M.CarrotStakingHandler(e,this.walletClient,this.publicClient),this.distributor=new P.DistributorHandler(e,this.walletClient,this.publicClient),this.concreteVault=new A.ConcreteVaultHandler(e,this.walletClient,this.publicClient),this.validatorTicket=new m.ValidatorTicketHandler(e,this.walletClient,this.publicClient),this.pufferOracleV2=new R.PufferOracleV2Handler(e,this.walletClient,this.publicClient),this.pufferProtocol=new k.PufferProtocolHandler(e,this.walletClient,this.publicClient),this.guardianModule=new v.GuardianModuleHandler(e,this.walletClient,this.publicClient),this.institutionalVault=new L.InstitutionalVaultHandler(e,this.walletClient,this.publicClient),this.institutionalAccessManager=new T.InstitutionalAccessManagerHandler(e,this.walletClient,this.publicClient),this.lagoonVault=new y.LagoonVaultHandler(e,this.walletClient,this.publicClient),this.vlPuffer=new D.VLPufferHandler(e,this.walletClient,this.publicClient),this.gaugeRegistry=new S.GaugeRegistryHandler(e,this.walletClient,this.publicClient),this.carrotVesting=new W.CarrotVestingHandler(e,this.walletClient,this.publicClient)}async requestAddresses(){return await this.walletClient.requestAddresses()}}exports.PufferClient=N;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("../constants-6kuRTsbU.cjs"),a=require("../contracts/handlers/puffer-vault-handler.cjs"),s=require("../contracts/handlers/puffer-depositor-handler.cjs"),u=require("../contracts/handlers/puffer-l2-depositor-handler.cjs"),c=require("../contracts/handlers/erc20-permit-handler.cjs"),o=require("../contracts/handlers/puf-locker-handler.cjs"),d=require("../contracts/handlers/l2-reward-manager-handler.cjs"),h=require("../contracts/handlers/l1-reward-manager-handler.cjs"),w=require("../contracts/handlers/puffer-withdrawal-manager-handler.cjs"),C=require("../contracts/handlers/nucleus-boring-vault-handler.cjs"),p=require("../contracts/handlers/nucleus-teller-handler.cjs"),_=require("../contracts/handlers/nucleus-accountant-handler.cjs"),f=require("../contracts/handlers/nucleus-atomic-queue-handler.cjs"),H=require("../contracts/handlers/mtw-carrot-handler.cjs"),g=require("../contracts/handlers/carrot-staking-handler.cjs"),b=require("../contracts/handlers/distributor-handler.cjs"),q=require("../contracts/handlers/concrete-vault-handler.cjs"),V=require("../contracts/handlers/validator-ticket-handler.cjs"),M=require("../contracts/handlers/puffer-oracle-v2-handler.cjs"),P=require("../contracts/handlers/puffer-protocol-handler.cjs"),A=require("../contracts/handlers/guardian-module-handler.cjs"),m=require("../contracts/handlers/institutional-vault-handler.cjs"),R=require("../contracts/handlers/institutional-access-manager-handler.cjs"),k=require("../contracts/handlers/lagoon-vault-handler.cjs"),v=require("../contracts/handlers/vl-puffer-handler.cjs"),L=require("../contracts/handlers/gauge-registry-handler.cjs"),T=require("../contracts/handlers/carrot-vesting-handler.cjs"),t=require("../http-qhIDc8Dn.cjs");class y{walletClient;publicClient;erc20Permit;vault;depositor;l2Depositor;pufLocker;l2RewardManager;l1RewardManager;pufferWithdrawalManager;nucleusBoringVault;nucleusTeller;nucleusAccountant;nucleusAtomicQueue;mtwCarrot;carrotStaker;distributor;concreteVault;validatorTicket;pufferOracleV2;pufferProtocol;guardianModule;institutionalVault;institutionalAccessManager;lagoonVault;vlPuffer;gaugeRegistry;carrotVesting;constructor(e,r,n){const l=i.VIEM_CHAINS[e];this.walletClient=r??t.createWalletClient({chain:l,transport:t.http()}),this.publicClient=n??t.createPublicClient({chain:l,transport:t.http()}),this.erc20Permit=new c.ERC20PermitHandler(e,this.walletClient,this.publicClient),this.vault=new a.PufferVaultHandler(e,this.walletClient,this.publicClient),this.depositor=new s.PufferDepositorHandler(e,this.walletClient,this.publicClient),this.l2Depositor=new u.PufferL2DepositorHandler(e,this.walletClient,this.publicClient),this.pufLocker=new o.PufLockerHandler(e,this.walletClient,this.publicClient),this.l2RewardManager=new d.L2RewardManagerHandler(e,this.walletClient,this.publicClient),this.l1RewardManager=new h.L1RewardManagerHandler(e,this.walletClient,this.publicClient),this.pufferWithdrawalManager=new w.PufferWithdrawalManagerHandler(e,this.walletClient,this.publicClient),this.nucleusBoringVault=new C.NucleusBoringVaultHandler(e,this.walletClient,this.publicClient),this.nucleusTeller=new p.NucleusTellerHandler(e,this.walletClient,this.publicClient),this.nucleusAccountant=new _.NucleusAccountantHandler(e,this.walletClient,this.publicClient),this.nucleusAtomicQueue=new f.NucleusAtomicQueueHandler(e,this.walletClient,this.publicClient),this.mtwCarrot=new H.MtwCarrotHandler(e,this.walletClient,this.publicClient),this.carrotStaker=new g.CarrotStakingHandler(e,this.walletClient,this.publicClient),this.distributor=new b.DistributorHandler(e,this.walletClient,this.publicClient),this.concreteVault=new q.ConcreteVaultHandler(e,this.walletClient,this.publicClient),this.validatorTicket=new V.ValidatorTicketHandler(e,this.walletClient,this.publicClient),this.pufferOracleV2=new M.PufferOracleV2Handler(e,this.walletClient,this.publicClient),this.pufferProtocol=new P.PufferProtocolHandler(e,this.walletClient,this.publicClient),this.guardianModule=new A.GuardianModuleHandler(e,this.walletClient,this.publicClient),this.institutionalVault=new m.InstitutionalVaultHandler(e,this.walletClient,this.publicClient),this.institutionalAccessManager=new R.InstitutionalAccessManagerHandler(e,this.walletClient,this.publicClient),this.lagoonVault=new k.LagoonVaultHandler(e,this.walletClient,this.publicClient),this.vlPuffer=new v.VLPufferHandler(e,this.walletClient,this.publicClient),this.gaugeRegistry=new L.GaugeRegistryHandler(e,this.walletClient,this.publicClient),this.carrotVesting=new T.CarrotVestingHandler(e,this.walletClient,this.publicClient)}async requestAddresses(){return await this.walletClient.requestAddresses()}}exports.PufferClient=y;
2
2
  //# sourceMappingURL=puffer-client.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"puffer-client.cjs","sources":["../../lib/api/puffer-client.ts"],"sourcesContent":["import {\n PublicClient,\n WalletClient,\n createPublicClient,\n createWalletClient,\n http,\n} from 'viem';\nimport { Chain, VIEM_CHAINS } from '../chains/constants';\nimport { PufferVaultHandler } from '../contracts/handlers/puffer-vault-handler';\nimport { PufferDepositorHandler } from '../contracts/handlers/puffer-depositor-handler';\nimport { PufferL2DepositorHandler } from '../contracts/handlers/puffer-l2-depositor-handler';\nimport { ERC20PermitHandler } from '../contracts/handlers/erc20-permit-handler';\nimport { PufLockerHandler } from '../contracts/handlers/puf-locker-handler';\nimport { L2RewardManagerHandler } from '../contracts/handlers/l2-reward-manager-handler';\nimport { L1RewardManagerHandler } from '../contracts/handlers/l1-reward-manager-handler';\nimport { PufferWithdrawalManagerHandler } from '../contracts/handlers/puffer-withdrawal-manager-handler';\nimport { NucleusBoringVaultHandler } from '../contracts/handlers/nucleus-boring-vault-handler';\nimport { NucleusTellerHandler } from '../contracts/handlers/nucleus-teller-handler';\nimport { NucleusAccountantHandler } from '../contracts/handlers/nucleus-accountant-handler';\nimport { NucleusAtomicQueueHandler } from '../contracts/handlers/nucleus-atomic-queue-handler';\nimport { MtwCarrotHandler } from '../contracts/handlers/mtw-carrot-handler';\nimport { CarrotStakingHandler } from '../contracts/handlers/carrot-staking-handler';\nimport { DistributorHandler } from '../contracts/handlers/distributor-handler';\nimport { ConcreteVaultHandler } from '../contracts/handlers/concrete-vault-handler';\nimport { ValidatorTicketHandler } from '../contracts/handlers/validator-ticket-handler';\nimport { PufferOracleV2Handler } from '../contracts/handlers/puffer-oracle-v2-handler';\nimport { PufferProtocolHandler } from '../contracts/handlers/puffer-protocol-handler';\nimport { GuardianModuleHandler } from '../contracts/handlers/guardian-module-handler';\nimport { InstitutionalVaultHandler } from '../contracts/handlers/institutional-vault-handler';\nimport { InstitutionalAccessManagerHandler } from '../contracts/handlers/institutional-access-manager-handler';\nimport { LagoonVaultHandler } from '../contracts/handlers/lagoon-vault-handler';\nimport { VLPufferHandler } from '../contracts/handlers/vl-puffer-handler';\nimport { GaugeRegistryHandler } from '../contracts/handlers/gauge-registry-handler';\nimport { CarrotVestingHandler } from '../contracts/handlers/carrot-vesting-handler';\n\n/**\n * The core class and the main entry point of the Puffer SDK.\n */\nexport class PufferClient {\n private walletClient: WalletClient;\n private publicClient: PublicClient;\n\n // Contract Handlers\n /** Handler for the `ERC20Permit` contract. */\n public erc20Permit: ERC20PermitHandler;\n /** Handler for the `PufferVaultV2` contract. */\n public vault: PufferVaultHandler;\n /** Handler for the `PufferDepositor` contract. */\n public depositor: PufferDepositorHandler;\n /** Handler for the `PufferL2Depositor` contract. */\n public l2Depositor: PufferL2DepositorHandler;\n /** Handler for the `PufLocker` contract. */\n public pufLocker: PufLockerHandler;\n /** Handler for the `L2RewardManager` contract. */\n public l2RewardManager: L2RewardManagerHandler;\n /** Handler for the `L1RewardManager` contract. */\n public l1RewardManager: L1RewardManagerHandler;\n /** Handler for the `PufferWithdrawalManager` contract. */\n public pufferWithdrawalManager: PufferWithdrawalManagerHandler;\n /** Handler for the `NucleusBoringVault` contract. */\n public nucleusBoringVault: NucleusBoringVaultHandler;\n /** Handler for the `NucleusTeller` contract. */\n public nucleusTeller: NucleusTellerHandler;\n /** Handler for the `NucleusAccountant` contract. */\n public nucleusAccountant: NucleusAccountantHandler;\n /** Handler for the `NucleusAtomicQueue` contract. */\n public nucleusAtomicQueue: NucleusAtomicQueueHandler;\n /** Handler for the `mtwCARROT` (Merkl Token Wrapper) contract. */\n public mtwCarrot: MtwCarrotHandler;\n /** Handler for the `CarrotStaker` contract. */\n public carrotStaker: CarrotStakingHandler;\n /** Handler for the `Distributor` contract. */\n public distributor: DistributorHandler;\n /** Handler for the `ConcreteMultiStrategyVault` contract. */\n public concreteVault: ConcreteVaultHandler;\n /** Handler for the `ValidatorTicket` contract. */\n public validatorTicket: ValidatorTicketHandler;\n /** Handler for the `PufferOracleV2` contract. */\n public pufferOracleV2: PufferOracleV2Handler;\n /** Handler for the `PufferProtocol` contract. */\n public pufferProtocol: PufferProtocolHandler;\n /** Handler for the `GuardianModule` contract. */\n public guardianModule: GuardianModuleHandler;\n /** Handler for the `InstitutionalVault` contract. */\n public institutionalVault: InstitutionalVaultHandler;\n /** Handler for the `InstitutionalAccessManager` contract. */\n public institutionalAccessManager: InstitutionalAccessManagerHandler;\n /** Handler for the `LagoonVault` contract. */\n public lagoonVault: LagoonVaultHandler;\n /** Handler for the `vlPUFFER` contract. */\n public vlPuffer: VLPufferHandler;\n /** Handler for the `GaugeRegistry` contract. */\n public gaugeRegistry: GaugeRegistryHandler;\n /** Handler for the `CarrotVesting` contract. */\n public carrotVesting: CarrotVestingHandler;\n\n /**\n * Create the Puffer Client.\n *\n * @param chain Chain to use for the client.\n * @param walletClient The wallet client to use for wallet\n * interactions.\n * @param publicClient The public client to use for public\n * interactions.\n */\n constructor(\n chain: Chain,\n walletClient?: WalletClient,\n publicClient?: PublicClient,\n ) {\n const viemChain = VIEM_CHAINS[chain];\n\n /* istanbul ignore next */\n this.walletClient =\n walletClient ??\n createWalletClient({\n chain: viemChain,\n transport: http(),\n });\n this.publicClient =\n publicClient ??\n createPublicClient({\n chain: viemChain,\n transport: http(),\n });\n\n this.erc20Permit = new ERC20PermitHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.vault = new PufferVaultHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.depositor = new PufferDepositorHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.l2Depositor = new PufferL2DepositorHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.pufLocker = new PufLockerHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.l2RewardManager = new L2RewardManagerHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.l1RewardManager = new L1RewardManagerHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.pufferWithdrawalManager = new PufferWithdrawalManagerHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.nucleusBoringVault = new NucleusBoringVaultHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.nucleusTeller = new NucleusTellerHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.nucleusAccountant = new NucleusAccountantHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.nucleusAtomicQueue = new NucleusAtomicQueueHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.mtwCarrot = new MtwCarrotHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.carrotStaker = new CarrotStakingHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.distributor = new DistributorHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.concreteVault = new ConcreteVaultHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.validatorTicket = new ValidatorTicketHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.pufferOracleV2 = new PufferOracleV2Handler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.pufferProtocol = new PufferProtocolHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.guardianModule = new GuardianModuleHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.institutionalVault = new InstitutionalVaultHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.institutionalAccessManager = new InstitutionalAccessManagerHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.lagoonVault = new LagoonVaultHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.vlPuffer = new VLPufferHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.gaugeRegistry = new GaugeRegistryHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.carrotVesting = new CarrotVestingHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n }\n\n /**\n * Request addresses from the wallet.\n *\n * @returns An array of wallet addresses.\n */\n public async requestAddresses() {\n return await this.walletClient.requestAddresses();\n }\n}\n"],"names":["PufferClient","chain","walletClient","publicClient","__publicField","viemChain","VIEM_CHAINS","createWalletClient","http","createPublicClient","ERC20PermitHandler","PufferVaultHandler","PufferDepositorHandler","PufferL2DepositorHandler","PufLockerHandler","L2RewardManagerHandler","L1RewardManagerHandler","PufferWithdrawalManagerHandler","NucleusBoringVaultHandler","NucleusTellerHandler","NucleusAccountantHandler","NucleusAtomicQueueHandler","MtwCarrotHandler","CarrotStakingHandler","DistributorHandler","ConcreteVaultHandler","ValidatorTicketHandler","PufferOracleV2Handler","PufferProtocolHandler","GuardianModuleHandler","InstitutionalVaultHandler","InstitutionalAccessManagerHandler","LagoonVaultHandler","VLPufferHandler","GaugeRegistryHandler","CarrotVestingHandler"],"mappings":"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"}
1
+ {"version":3,"file":"puffer-client.cjs","sources":["../../lib/api/puffer-client.ts"],"sourcesContent":["import {\n PublicClient,\n WalletClient,\n createPublicClient,\n createWalletClient,\n http,\n} from 'viem';\nimport { Chain, VIEM_CHAINS } from '../chains/constants';\nimport { PufferVaultHandler } from '../contracts/handlers/puffer-vault-handler';\nimport { PufferDepositorHandler } from '../contracts/handlers/puffer-depositor-handler';\nimport { PufferL2DepositorHandler } from '../contracts/handlers/puffer-l2-depositor-handler';\nimport { ERC20PermitHandler } from '../contracts/handlers/erc20-permit-handler';\nimport { PufLockerHandler } from '../contracts/handlers/puf-locker-handler';\nimport { L2RewardManagerHandler } from '../contracts/handlers/l2-reward-manager-handler';\nimport { L1RewardManagerHandler } from '../contracts/handlers/l1-reward-manager-handler';\nimport { PufferWithdrawalManagerHandler } from '../contracts/handlers/puffer-withdrawal-manager-handler';\nimport { NucleusBoringVaultHandler } from '../contracts/handlers/nucleus-boring-vault-handler';\nimport { NucleusTellerHandler } from '../contracts/handlers/nucleus-teller-handler';\nimport { NucleusAccountantHandler } from '../contracts/handlers/nucleus-accountant-handler';\nimport { NucleusAtomicQueueHandler } from '../contracts/handlers/nucleus-atomic-queue-handler';\nimport { MtwCarrotHandler } from '../contracts/handlers/mtw-carrot-handler';\nimport { CarrotStakingHandler } from '../contracts/handlers/carrot-staking-handler';\nimport { DistributorHandler } from '../contracts/handlers/distributor-handler';\nimport { ConcreteVaultHandler } from '../contracts/handlers/concrete-vault-handler';\nimport { ValidatorTicketHandler } from '../contracts/handlers/validator-ticket-handler';\nimport { PufferOracleV2Handler } from '../contracts/handlers/puffer-oracle-v2-handler';\nimport { PufferProtocolHandler } from '../contracts/handlers/puffer-protocol-handler';\nimport { GuardianModuleHandler } from '../contracts/handlers/guardian-module-handler';\nimport { InstitutionalVaultHandler } from '../contracts/handlers/institutional-vault-handler';\nimport { InstitutionalAccessManagerHandler } from '../contracts/handlers/institutional-access-manager-handler';\nimport { LagoonVaultHandler } from '../contracts/handlers/lagoon-vault-handler';\nimport { VLPufferHandler } from '../contracts/handlers/vl-puffer-handler';\nimport { GaugeRegistryHandler } from '../contracts/handlers/gauge-registry-handler';\nimport { CarrotVestingHandler } from '../contracts/handlers/carrot-vesting-handler';\n\n/**\n * The core class and the main entry point of the Puffer SDK.\n */\nexport class PufferClient {\n private walletClient: WalletClient;\n private publicClient: PublicClient;\n\n // Contract Handlers\n /** Handler for the `ERC20Permit` contract. */\n public erc20Permit: ERC20PermitHandler;\n /** Handler for the `PufferVaultV2` contract. */\n public vault: PufferVaultHandler;\n /** Handler for the `PufferDepositor` contract. */\n public depositor: PufferDepositorHandler;\n /** Handler for the `PufferL2Depositor` contract. */\n public l2Depositor: PufferL2DepositorHandler;\n /** Handler for the `PufLocker` contract. */\n public pufLocker: PufLockerHandler;\n /** Handler for the `L2RewardManager` contract. */\n public l2RewardManager: L2RewardManagerHandler;\n /** Handler for the `L1RewardManager` contract. */\n public l1RewardManager: L1RewardManagerHandler;\n /** Handler for the `PufferWithdrawalManager` contract. */\n public pufferWithdrawalManager: PufferWithdrawalManagerHandler;\n /** Handler for the `NucleusBoringVault` contract. */\n public nucleusBoringVault: NucleusBoringVaultHandler;\n /** Handler for the `NucleusTeller` contract. */\n public nucleusTeller: NucleusTellerHandler;\n /** Handler for the `NucleusAccountant` contract. */\n public nucleusAccountant: NucleusAccountantHandler;\n /** Handler for the `NucleusAtomicQueue` contract. */\n public nucleusAtomicQueue: NucleusAtomicQueueHandler;\n /** Handler for the `mtwCARROT` (Merkl Token Wrapper) contract. */\n public mtwCarrot: MtwCarrotHandler;\n /** Handler for the `CarrotStaker` contract. */\n public carrotStaker: CarrotStakingHandler;\n /** Handler for the `Distributor` contract. */\n public distributor: DistributorHandler;\n /** Handler for the `ConcreteMultiStrategyVault` contract. */\n public concreteVault: ConcreteVaultHandler;\n /** Handler for the `ValidatorTicket` contract. */\n public validatorTicket: ValidatorTicketHandler;\n /** Handler for the `PufferOracleV2` contract. */\n public pufferOracleV2: PufferOracleV2Handler;\n /** Handler for the `PufferProtocol` contract. */\n public pufferProtocol: PufferProtocolHandler;\n /** Handler for the `GuardianModule` contract. */\n public guardianModule: GuardianModuleHandler;\n /** Handler for the `InstitutionalVault` contract. */\n public institutionalVault: InstitutionalVaultHandler;\n /** Handler for the `InstitutionalAccessManager` contract. */\n public institutionalAccessManager: InstitutionalAccessManagerHandler;\n /** Handler for the `LagoonVault` contract. */\n public lagoonVault: LagoonVaultHandler;\n /** Handler for the `vlPUFFER` contract. */\n public vlPuffer: VLPufferHandler;\n /** Handler for the `GaugeRegistry` contract. */\n public gaugeRegistry: GaugeRegistryHandler;\n /** Handler for the `CarrotVesting` contract. */\n public carrotVesting: CarrotVestingHandler;\n\n /**\n * Create the Puffer Client.\n *\n * @param chain Chain to use for the client.\n * @param walletClient The wallet client to use for wallet\n * interactions.\n * @param publicClient The public client to use for public\n * interactions.\n */\n constructor(\n chain: Chain,\n walletClient?: WalletClient,\n publicClient?: PublicClient,\n ) {\n const viemChain = VIEM_CHAINS[chain];\n\n /* istanbul ignore next */\n this.walletClient =\n walletClient ??\n createWalletClient({\n chain: viemChain,\n transport: http(),\n });\n this.publicClient =\n publicClient ??\n createPublicClient({\n chain: viemChain,\n transport: http(),\n });\n\n this.erc20Permit = new ERC20PermitHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.vault = new PufferVaultHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.depositor = new PufferDepositorHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.l2Depositor = new PufferL2DepositorHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.pufLocker = new PufLockerHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.l2RewardManager = new L2RewardManagerHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.l1RewardManager = new L1RewardManagerHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.pufferWithdrawalManager = new PufferWithdrawalManagerHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.nucleusBoringVault = new NucleusBoringVaultHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.nucleusTeller = new NucleusTellerHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.nucleusAccountant = new NucleusAccountantHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.nucleusAtomicQueue = new NucleusAtomicQueueHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.mtwCarrot = new MtwCarrotHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.carrotStaker = new CarrotStakingHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.distributor = new DistributorHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.concreteVault = new ConcreteVaultHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.validatorTicket = new ValidatorTicketHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.pufferOracleV2 = new PufferOracleV2Handler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.pufferProtocol = new PufferProtocolHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.guardianModule = new GuardianModuleHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.institutionalVault = new InstitutionalVaultHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.institutionalAccessManager = new InstitutionalAccessManagerHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.lagoonVault = new LagoonVaultHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.vlPuffer = new VLPufferHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.gaugeRegistry = new GaugeRegistryHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n this.carrotVesting = new CarrotVestingHandler(\n chain,\n this.walletClient,\n this.publicClient,\n );\n }\n\n /**\n * Request addresses from the wallet.\n *\n * @returns An array of wallet addresses.\n */\n public async requestAddresses() {\n return await this.walletClient.requestAddresses();\n }\n}\n"],"names":["PufferClient","chain","walletClient","publicClient","viemChain","VIEM_CHAINS","createWalletClient","http","createPublicClient","ERC20PermitHandler","PufferVaultHandler","PufferDepositorHandler","PufferL2DepositorHandler","PufLockerHandler","L2RewardManagerHandler","L1RewardManagerHandler","PufferWithdrawalManagerHandler","NucleusBoringVaultHandler","NucleusTellerHandler","NucleusAccountantHandler","NucleusAtomicQueueHandler","MtwCarrotHandler","CarrotStakingHandler","DistributorHandler","ConcreteVaultHandler","ValidatorTicketHandler","PufferOracleV2Handler","PufferProtocolHandler","GuardianModuleHandler","InstitutionalVaultHandler","InstitutionalAccessManagerHandler","LagoonVaultHandler","VLPufferHandler","GaugeRegistryHandler","CarrotVestingHandler"],"mappings":"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"}