@pufferfinance/puffer-sdk 1.13.2 → 1.14.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 (248) 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 +3 -3
  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.js +2 -2
  7. package/dist/{ccip-C0xwQhXU.cjs → ccip-BYEwaDSr.cjs} +2 -2
  8. package/dist/{ccip-C0xwQhXU.cjs.map → ccip-BYEwaDSr.cjs.map} +1 -1
  9. package/dist/{ccip-K-z2PL4P.js → ccip-DA_MOIPz.js} +3 -3
  10. package/dist/{ccip-K-z2PL4P.js.map → ccip-DA_MOIPz.js.map} +1 -1
  11. package/dist/chains/constants.cjs +1 -1
  12. package/dist/chains/constants.d.ts +4 -1
  13. package/dist/chains/constants.js +1 -1
  14. package/dist/constants-5WxIZnbu.cjs +9 -0
  15. package/dist/constants-5WxIZnbu.cjs.map +1 -0
  16. package/dist/{constants-CH7Tz5jz.js → constants-BDqMRitM.js} +924 -798
  17. package/dist/constants-BDqMRitM.js.map +1 -0
  18. package/dist/contracts/abis/mainnet/Accountant.cjs +1 -1
  19. package/dist/contracts/abis/mainnet/Accountant.cjs.map +1 -1
  20. package/dist/contracts/abis/mainnet/Accountant.d.ts +13 -457
  21. package/dist/contracts/abis/mainnet/Accountant.js +12 -441
  22. package/dist/contracts/abis/mainnet/Accountant.js.map +1 -1
  23. package/dist/contracts/abis/mainnet/BoringVault.cjs +1 -1
  24. package/dist/contracts/abis/mainnet/BoringVault.cjs.map +1 -1
  25. package/dist/contracts/abis/mainnet/BoringVault.d.ts +18 -505
  26. package/dist/contracts/abis/mainnet/BoringVault.js +15 -346
  27. package/dist/contracts/abis/mainnet/BoringVault.js.map +1 -1
  28. package/dist/contracts/abis/mainnet/CarrotStaker.cjs +1 -1
  29. package/dist/contracts/abis/mainnet/CarrotStaker.cjs.map +1 -1
  30. package/dist/contracts/abis/mainnet/CarrotStaker.d.ts +2 -371
  31. package/dist/contracts/abis/mainnet/CarrotStaker.js +4 -295
  32. package/dist/contracts/abis/mainnet/CarrotStaker.js.map +1 -1
  33. package/dist/contracts/abis/mainnet/Distributor.cjs +1 -1
  34. package/dist/contracts/abis/mainnet/Distributor.cjs.map +1 -1
  35. package/dist/contracts/abis/mainnet/Distributor.d.ts +0 -413
  36. package/dist/contracts/abis/mainnet/Distributor.js +2 -355
  37. package/dist/contracts/abis/mainnet/Distributor.js.map +1 -1
  38. package/dist/contracts/abis/mainnet/L1RewardManager.cjs +1 -1
  39. package/dist/contracts/abis/mainnet/L1RewardManager.cjs.map +1 -1
  40. package/dist/contracts/abis/mainnet/L1RewardManager.d.ts +0 -489
  41. package/dist/contracts/abis/mainnet/L1RewardManager.js +0 -411
  42. package/dist/contracts/abis/mainnet/L1RewardManager.js.map +1 -1
  43. package/dist/contracts/abis/mainnet/L2RewardManager.cjs +1 -1
  44. package/dist/contracts/abis/mainnet/L2RewardManager.cjs.map +1 -1
  45. package/dist/contracts/abis/mainnet/L2RewardManager.d.ts +23 -569
  46. package/dist/contracts/abis/mainnet/L2RewardManager.js +16 -484
  47. package/dist/contracts/abis/mainnet/L2RewardManager.js.map +1 -1
  48. package/dist/contracts/abis/mainnet/PufLocker.cjs +1 -1
  49. package/dist/contracts/abis/mainnet/PufLocker.cjs.map +1 -1
  50. package/dist/contracts/abis/mainnet/PufLocker.d.ts +29 -371
  51. package/dist/contracts/abis/mainnet/PufLocker.js +15 -285
  52. package/dist/contracts/abis/mainnet/PufLocker.js.map +1 -1
  53. package/dist/contracts/abis/mainnet/PufferL2Depositor.cjs +1 -1
  54. package/dist/contracts/abis/mainnet/PufferL2Depositor.cjs.map +1 -1
  55. package/dist/contracts/abis/mainnet/PufferL2Depositor.d.ts +0 -325
  56. package/dist/contracts/abis/mainnet/PufferL2Depositor.js +0 -270
  57. package/dist/contracts/abis/mainnet/PufferL2Depositor.js.map +1 -1
  58. package/dist/contracts/abis/mainnet/PufferVaultV2.cjs +1 -1
  59. package/dist/contracts/abis/mainnet/PufferVaultV2.cjs.map +1 -1
  60. package/dist/contracts/abis/mainnet/PufferVaultV2.d.ts +35 -1289
  61. package/dist/contracts/abis/mainnet/PufferVaultV2.js +45 -1681
  62. package/dist/contracts/abis/mainnet/PufferVaultV2.js.map +1 -1
  63. package/dist/contracts/abis/mainnet/PufferWithdrawalManager.cjs +1 -1
  64. package/dist/contracts/abis/mainnet/PufferWithdrawalManager.cjs.map +1 -1
  65. package/dist/contracts/abis/mainnet/PufferWithdrawalManager.d.ts +3 -426
  66. package/dist/contracts/abis/mainnet/PufferWithdrawalManager.js +5 -552
  67. package/dist/contracts/abis/mainnet/PufferWithdrawalManager.js.map +1 -1
  68. package/dist/contracts/abis/mainnet/Teller.cjs +1 -1
  69. package/dist/contracts/abis/mainnet/Teller.cjs.map +1 -1
  70. package/dist/contracts/abis/mainnet/Teller.d.ts +18 -444
  71. package/dist/contracts/abis/mainnet/Teller.js +15 -390
  72. package/dist/contracts/abis/mainnet/Teller.js.map +1 -1
  73. package/dist/contracts/abis/mainnet/mtwCARROT.cjs +1 -1
  74. package/dist/contracts/abis/mainnet/mtwCARROT.cjs.map +1 -1
  75. package/dist/contracts/abis/mainnet/mtwCARROT.d.ts +69 -399
  76. package/dist/contracts/abis/mainnet/mtwCARROT.js +43 -346
  77. package/dist/contracts/abis/mainnet/mtwCARROT.js.map +1 -1
  78. package/dist/contracts/addresses.cjs +1 -1
  79. package/dist/contracts/addresses.cjs.map +1 -1
  80. package/dist/contracts/addresses.js +4 -1
  81. package/dist/contracts/addresses.js.map +1 -1
  82. package/dist/contracts/handlers/carrot-staking-handler.cjs +1 -1
  83. package/dist/contracts/handlers/carrot-staking-handler.d.ts +1652 -0
  84. package/dist/contracts/handlers/carrot-staking-handler.js +2 -2
  85. package/dist/contracts/handlers/distributor-handler.cjs +1 -1
  86. package/dist/contracts/handlers/distributor-handler.cjs.map +1 -1
  87. package/dist/contracts/handlers/distributor-handler.d.ts +8762 -0
  88. package/dist/contracts/handlers/distributor-handler.js +13 -127
  89. package/dist/contracts/handlers/distributor-handler.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 +4 -4
  93. package/dist/contracts/handlers/erc20-permit-handler.js +14 -14
  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 +339 -0
  98. package/dist/contracts/handlers/l1-reward-manager-handler.js +14 -14
  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 +2423 -0
  103. package/dist/contracts/handlers/l2-reward-manager-handler.js +6 -6
  104. package/dist/contracts/handlers/l2-reward-manager-handler.js.map +1 -1
  105. package/dist/contracts/handlers/mtw-carrot-handler.cjs +1 -1
  106. package/dist/contracts/handlers/mtw-carrot-handler.d.ts +14333 -0
  107. package/dist/contracts/handlers/mtw-carrot-handler.js +2 -2
  108. package/dist/contracts/handlers/nucleus-accountant-handler.cjs +1 -1
  109. package/dist/contracts/handlers/nucleus-accountant-handler.cjs.map +1 -1
  110. package/dist/contracts/handlers/nucleus-accountant-handler.d.ts +620 -0
  111. package/dist/contracts/handlers/nucleus-accountant-handler.js +8 -8
  112. package/dist/contracts/handlers/nucleus-accountant-handler.js.map +1 -1
  113. package/dist/contracts/handlers/nucleus-atomic-queue-handler.cjs +1 -1
  114. package/dist/contracts/handlers/nucleus-atomic-queue-handler.cjs.map +1 -1
  115. package/dist/contracts/handlers/nucleus-atomic-queue-handler.js +9 -9
  116. package/dist/contracts/handlers/nucleus-atomic-queue-handler.js.map +1 -1
  117. package/dist/contracts/handlers/nucleus-boring-vault-handler.cjs +1 -1
  118. package/dist/contracts/handlers/nucleus-boring-vault-handler.cjs.map +1 -1
  119. package/dist/contracts/handlers/nucleus-boring-vault-handler.d.ts +3917 -0
  120. package/dist/contracts/handlers/nucleus-boring-vault-handler.js +24 -24
  121. package/dist/contracts/handlers/nucleus-boring-vault-handler.js.map +1 -1
  122. package/dist/contracts/handlers/nucleus-teller-handler.cjs +1 -1
  123. package/dist/contracts/handlers/nucleus-teller-handler.cjs.map +1 -1
  124. package/dist/contracts/handlers/nucleus-teller-handler.d.ts +2209 -0
  125. package/dist/contracts/handlers/nucleus-teller-handler.js +14 -14
  126. package/dist/contracts/handlers/nucleus-teller-handler.js.map +1 -1
  127. package/dist/contracts/handlers/puf-locker-handler.cjs +1 -1
  128. package/dist/contracts/handlers/puf-locker-handler.cjs.map +1 -1
  129. package/dist/contracts/handlers/puf-locker-handler.d.ts +2389 -0
  130. package/dist/contracts/handlers/puf-locker-handler.js +12 -12
  131. package/dist/contracts/handlers/puf-locker-handler.js.map +1 -1
  132. package/dist/contracts/handlers/puffer-depositor-handler.cjs +1 -1
  133. package/dist/contracts/handlers/puffer-depositor-handler.cjs.map +1 -1
  134. package/dist/contracts/handlers/puffer-depositor-handler.d.ts +100 -100
  135. package/dist/contracts/handlers/puffer-depositor-handler.js +19 -19
  136. package/dist/contracts/handlers/puffer-depositor-handler.js.map +1 -1
  137. package/dist/contracts/handlers/puffer-l2-depositor-handler.cjs +1 -1
  138. package/dist/contracts/handlers/puffer-l2-depositor-handler.cjs.map +1 -1
  139. package/dist/contracts/handlers/puffer-l2-depositor-handler.d.ts +471 -0
  140. package/dist/contracts/handlers/puffer-l2-depositor-handler.js +17 -17
  141. package/dist/contracts/handlers/puffer-l2-depositor-handler.js.map +1 -1
  142. package/dist/contracts/handlers/puffer-vault-handler.cjs +1 -1
  143. package/dist/contracts/handlers/puffer-vault-handler.cjs.map +1 -1
  144. package/dist/contracts/handlers/puffer-vault-handler.d.ts +4657 -0
  145. package/dist/contracts/handlers/puffer-vault-handler.js +4 -4
  146. package/dist/contracts/handlers/puffer-vault-handler.js.map +1 -1
  147. package/dist/contracts/handlers/puffer-withdrawal-manager-handler.cjs +1 -1
  148. package/dist/contracts/handlers/puffer-withdrawal-manager-handler.cjs.map +1 -1
  149. package/dist/contracts/handlers/puffer-withdrawal-manager-handler.d.ts +1882 -0
  150. package/dist/contracts/handlers/puffer-withdrawal-manager-handler.js +10 -10
  151. package/dist/contracts/handlers/puffer-withdrawal-manager-handler.js.map +1 -1
  152. package/dist/contracts/tokens.cjs +1 -1
  153. package/dist/contracts/tokens.cjs.map +1 -1
  154. package/dist/contracts/tokens.d.ts +3 -1
  155. package/dist/contracts/tokens.js +71 -60
  156. package/dist/contracts/tokens.js.map +1 -1
  157. package/dist/contracts/vaults-addresses.cjs +1 -1
  158. package/dist/contracts/vaults-addresses.d.ts +5 -4
  159. package/dist/contracts/vaults-addresses.js +1 -1
  160. package/dist/{createWalletClient-DNLhBkOd.js → createWalletClient-DMXR-Bug.js} +4 -4
  161. package/dist/{createWalletClient-DNLhBkOd.js.map → createWalletClient-DMXR-Bug.js.map} +1 -1
  162. package/dist/{createWalletClient-Di5of07E.cjs → createWalletClient-L7tR5Gda.cjs} +2 -2
  163. package/dist/{createWalletClient-Di5of07E.cjs.map → createWalletClient-L7tR5Gda.cjs.map} +1 -1
  164. package/dist/{getContract-ChPFzc5y.cjs → getContract-Bt9GsQBq.cjs} +2 -2
  165. package/dist/{getContract-ChPFzc5y.cjs.map → getContract-Bt9GsQBq.cjs.map} +1 -1
  166. package/dist/{getContract-6ajhFbP2.js → getContract-DXPZJOBy.js} +2 -2
  167. package/dist/{getContract-6ajhFbP2.js.map → getContract-DXPZJOBy.js.map} +1 -1
  168. package/dist/main.cjs +1 -1
  169. package/dist/main.js +1 -1
  170. package/dist/{secp256k1-Ev0s9Yr6.js → secp256k1-D02y6Pc-.js} +2 -2
  171. package/dist/{secp256k1-Ev0s9Yr6.js.map → secp256k1-D02y6Pc-.js.map} +1 -1
  172. package/dist/{secp256k1-B8plqpXf.cjs → secp256k1-q_akf6f-.cjs} +2 -2
  173. package/dist/{secp256k1-B8plqpXf.cjs.map → secp256k1-q_akf6f-.cjs.map} +1 -1
  174. package/dist/utils/version.cjs +1 -1
  175. package/dist/utils/version.js +1 -1
  176. package/dist/{writeContract-CjcOEtWX.js → writeContract-BsrMQkg5.js} +4 -4
  177. package/dist/{writeContract-CjcOEtWX.js.map → writeContract-BsrMQkg5.js.map} +1 -1
  178. package/dist/{writeContract-BatuNuTe.cjs → writeContract-Cbrw62uO.cjs} +3 -3
  179. package/dist/{writeContract-BatuNuTe.cjs.map → writeContract-Cbrw62uO.cjs.map} +1 -1
  180. package/package.json +2 -2
  181. package/dist/constants-BcPRVxdH.cjs +0 -9
  182. package/dist/constants-BcPRVxdH.cjs.map +0 -1
  183. package/dist/constants-CH7Tz5jz.js.map +0 -1
  184. package/dist/contracts/abis/holesky/PufferDepositor.cjs +0 -2
  185. package/dist/contracts/abis/holesky/PufferDepositor.cjs.map +0 -1
  186. package/dist/contracts/abis/holesky/PufferDepositor.d.ts +0 -283
  187. package/dist/contracts/abis/holesky/PufferDepositor.js +0 -377
  188. package/dist/contracts/abis/holesky/PufferDepositor.js.map +0 -1
  189. package/dist/contracts/abis/holesky/PufferVaultV2.cjs +0 -2
  190. package/dist/contracts/abis/holesky/PufferVaultV2.cjs.map +0 -1
  191. package/dist/contracts/abis/holesky/PufferVaultV2.d.ts +0 -1361
  192. package/dist/contracts/abis/holesky/PufferVaultV2.js +0 -1787
  193. package/dist/contracts/abis/holesky/PufferVaultV2.js.map +0 -1
  194. package/dist/contracts/abis/l1-reward-manager-abis.cjs +0 -2
  195. package/dist/contracts/abis/l1-reward-manager-abis.cjs.map +0 -1
  196. package/dist/contracts/abis/l1-reward-manager-abis.d.ts +0 -527
  197. package/dist/contracts/abis/l1-reward-manager-abis.js +0 -10
  198. package/dist/contracts/abis/l1-reward-manager-abis.js.map +0 -1
  199. package/dist/contracts/abis/l2-reward-manager-abis.cjs +0 -2
  200. package/dist/contracts/abis/l2-reward-manager-abis.cjs.map +0 -1
  201. package/dist/contracts/abis/l2-reward-manager-abis.d.ts +0 -709
  202. package/dist/contracts/abis/l2-reward-manager-abis.js +0 -11
  203. package/dist/contracts/abis/l2-reward-manager-abis.js.map +0 -1
  204. package/dist/contracts/abis/nucleus-accountant-abis.cjs +0 -2
  205. package/dist/contracts/abis/nucleus-accountant-abis.cjs.map +0 -1
  206. package/dist/contracts/abis/nucleus-accountant-abis.d.ts +0 -525
  207. package/dist/contracts/abis/nucleus-accountant-abis.js +0 -9
  208. package/dist/contracts/abis/nucleus-accountant-abis.js.map +0 -1
  209. package/dist/contracts/abis/nucleus-atomic-queue-abis.cjs +0 -2
  210. package/dist/contracts/abis/nucleus-atomic-queue-abis.cjs.map +0 -1
  211. package/dist/contracts/abis/nucleus-atomic-queue-abis.d.ts +0 -332
  212. package/dist/contracts/abis/nucleus-atomic-queue-abis.js +0 -9
  213. package/dist/contracts/abis/nucleus-atomic-queue-abis.js.map +0 -1
  214. package/dist/contracts/abis/nucleus-boring-vault-abis.cjs +0 -2
  215. package/dist/contracts/abis/nucleus-boring-vault-abis.cjs.map +0 -1
  216. package/dist/contracts/abis/nucleus-boring-vault-abis.d.ts +0 -626
  217. package/dist/contracts/abis/nucleus-boring-vault-abis.js +0 -9
  218. package/dist/contracts/abis/nucleus-boring-vault-abis.js.map +0 -1
  219. package/dist/contracts/abis/nucleus-teller-abis.cjs +0 -2
  220. package/dist/contracts/abis/nucleus-teller-abis.cjs.map +0 -1
  221. package/dist/contracts/abis/nucleus-teller-abis.d.ts +0 -545
  222. package/dist/contracts/abis/nucleus-teller-abis.js +0 -9
  223. package/dist/contracts/abis/nucleus-teller-abis.js.map +0 -1
  224. package/dist/contracts/abis/puf-locker-abis.cjs +0 -2
  225. package/dist/contracts/abis/puf-locker-abis.cjs.map +0 -1
  226. package/dist/contracts/abis/puf-locker-abis.d.ts +0 -484
  227. package/dist/contracts/abis/puf-locker-abis.js +0 -10
  228. package/dist/contracts/abis/puf-locker-abis.js.map +0 -1
  229. package/dist/contracts/abis/puffer-depositor-abis.cjs +0 -2
  230. package/dist/contracts/abis/puffer-depositor-abis.cjs.map +0 -1
  231. package/dist/contracts/abis/puffer-depositor-abis.d.ts +0 -664
  232. package/dist/contracts/abis/puffer-depositor-abis.js +0 -20
  233. package/dist/contracts/abis/puffer-depositor-abis.js.map +0 -1
  234. package/dist/contracts/abis/puffer-vault-abis.cjs +0 -2
  235. package/dist/contracts/abis/puffer-vault-abis.cjs.map +0 -1
  236. package/dist/contracts/abis/puffer-vault-abis.d.ts +0 -2787
  237. package/dist/contracts/abis/puffer-vault-abis.js +0 -15
  238. package/dist/contracts/abis/puffer-vault-abis.js.map +0 -1
  239. package/dist/contracts/abis/puffer-withdrawal-manager-abis.cjs +0 -2
  240. package/dist/contracts/abis/puffer-withdrawal-manager-abis.cjs.map +0 -1
  241. package/dist/contracts/abis/puffer-withdrawal-manager-abis.d.ts +0 -514
  242. package/dist/contracts/abis/puffer-withdrawal-manager-abis.js +0 -10
  243. package/dist/contracts/abis/puffer-withdrawal-manager-abis.js.map +0 -1
  244. package/dist/contracts/abis/tokens-abis.cjs +0 -2
  245. package/dist/contracts/abis/tokens-abis.cjs.map +0 -1
  246. package/dist/contracts/abis/tokens-abis.d.ts +0 -396
  247. package/dist/contracts/abis/tokens-abis.js +0 -6
  248. package/dist/contracts/abis/tokens-abis.js.map +0 -1
@@ -1,13 +1,13 @@
1
- var S = Object.defineProperty;
2
- var D = (r, t, e) => t in r ? S(r, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[t] = e;
3
- var a = (r, t, e) => D(r, typeof t != "symbol" ? t + "" : t, e);
4
- import { V as E, p as c } from "../../constants-CH7Tz5jz.js";
5
- import { PUFFER_L2_DEPOSITOR_ABIS as g } from "../abis/puffer-depositor-abis.js";
1
+ var D = Object.defineProperty;
2
+ var S = (r, t, e) => t in r ? D(r, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[t] = e;
3
+ var a = (r, t, e) => S(r, typeof t != "symbol" ? t + "" : t, e);
4
+ import { V as g, p as c } from "../../constants-BDqMRitM.js";
6
5
  import { CONTRACT_ADDRESSES as m } from "../addresses.js";
7
6
  import { TOKENS_ADDRESSES as v } from "../tokens.js";
8
- import { ERC20PermitHandler as H } from "./erc20-permit-handler.js";
9
- import { g as w } from "../../getContract-6ajhFbP2.js";
10
- class O {
7
+ import { ERC20PermitHandler as E } from "./erc20-permit-handler.js";
8
+ import { PufferL2Depositor as H } from "../abis/mainnet/PufferL2Depositor.js";
9
+ import { g as w } from "../../getContract-DXPZJOBy.js";
10
+ class _ {
11
11
  /**
12
12
  * Create the handler for the `PufferL2Depositor` contract exposing
13
13
  * methods to interact with the contract.
@@ -21,7 +21,7 @@ class O {
21
21
  constructor(t, e, i) {
22
22
  a(this, "viemChain");
23
23
  a(this, "erc20PermitHandler");
24
- this.chain = t, this.walletClient = e, this.publicClient = i, this.viemChain = E[t], this.erc20PermitHandler = new H(
24
+ this.chain = t, this.walletClient = e, this.publicClient = i, this.viemChain = g[t], this.erc20PermitHandler = new E(
25
25
  t,
26
26
  e,
27
27
  i
@@ -34,7 +34,7 @@ class O {
34
34
  * @returns The viem contract.
35
35
  */
36
36
  getContract() {
37
- const t = m[this.chain].PufferL2Depositor, e = g[this.chain].PufferL2Depositor, i = { public: this.publicClient, wallet: this.walletClient };
37
+ const t = m[this.chain].PufferL2Depositor, e = H, i = { public: this.publicClient, wallet: this.walletClient };
38
38
  return w({ address: t, abi: e, client: i });
39
39
  }
40
40
  /**
@@ -66,9 +66,9 @@ class O {
66
66
  token: e,
67
67
  account: i,
68
68
  value: s,
69
- referralCode: h = 0n,
70
- lockPeriod: l = 0n,
71
- isPreapproved: p = !1
69
+ referralCode: l = 0n,
70
+ lockPeriod: p = 0n,
71
+ isPreapproved: h = !1
72
72
  } = t;
73
73
  let o = {
74
74
  r: c("0x", { size: 32 }),
@@ -77,7 +77,7 @@ class O {
77
77
  deadline: 0n,
78
78
  amount: s
79
79
  };
80
- if (!p) {
80
+ if (!h) {
81
81
  const { r: d, s: f, v: u, yParity: C, deadline: P } = await this.erc20PermitHandler.withToken(e).getPermitSignature(
82
82
  i,
83
83
  m[this.chain].PufferL2Depositor,
@@ -95,8 +95,8 @@ class O {
95
95
  v[e][this.chain],
96
96
  i,
97
97
  o,
98
- h,
99
- l
98
+ l,
99
+ p
100
100
  ];
101
101
  return { transact: () => this.getContract().write.deposit(n, {
102
102
  account: i,
@@ -107,6 +107,6 @@ class O {
107
107
  }
108
108
  }
109
109
  export {
110
- O as PufferL2DepositorHandler
110
+ _ as PufferL2DepositorHandler
111
111
  };
112
112
  //# sourceMappingURL=puffer-l2-depositor-handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"puffer-l2-depositor-handler.js","sources":["../../../lib/contracts/handlers/puffer-l2-depositor-handler.ts"],"sourcesContent":["import {\n WalletClient,\n PublicClient,\n getContract,\n Address,\n padHex,\n GetContractReturnType,\n} from 'viem';\nimport { Chain, VIEM_CHAINS, ViemChain } from '../../chains/constants';\nimport { PUFFER_L2_DEPOSITOR_ABIS } from '../abis/puffer-depositor-abis';\nimport { CONTRACT_ADDRESSES } from '../addresses';\nimport { TOKENS_ADDRESSES, Token } from '../tokens';\nimport { ERC20PermitHandler } from './erc20-permit-handler';\n\nexport type L2DepositParams = {\n token: Token;\n account: Address;\n value: bigint;\n referralCode?: bigint;\n lockPeriod?: bigint;\n isPreapproved?: boolean;\n};\n\n/**\n * Handler for the `PufferL2Depositor` contract exposing methods to\n * interact with the contract.\n */\nexport class PufferL2DepositorHandler {\n private viemChain: ViemChain;\n private erc20PermitHandler: ERC20PermitHandler;\n\n /**\n * Create the handler for the `PufferL2Depositor` contract exposing\n * methods to interact with the contract.\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 private chain: Chain,\n private walletClient: WalletClient,\n private publicClient: PublicClient,\n ) {\n this.viemChain = VIEM_CHAINS[chain];\n this.erc20PermitHandler = new ERC20PermitHandler(\n chain,\n walletClient,\n publicClient,\n );\n }\n\n /**\n * Get the contract. This is a method because the typings are complex\n * and lost when trying to make it a member.\n *\n * @returns The viem contract.\n */\n public getContract() {\n const address = CONTRACT_ADDRESSES[this.chain].PufferL2Depositor as Address;\n const abi = PUFFER_L2_DEPOSITOR_ABIS[this.chain].PufferL2Depositor;\n const client = { public: this.publicClient, wallet: this.walletClient };\n\n return getContract({ address, abi, client }) as GetContractReturnType<\n typeof abi,\n typeof client,\n Address\n >;\n }\n\n /**\n * Deposit the given token in exchange for the wrapped PufToken. This\n * doesn't make the transaction but returns two methods namely\n * `transact` and `estimate`.\n *\n * Note that not all token contracts support permit signatures (e.g.\n * USDC). If a token's contract doesn't support permit signatures, use\n * `Token.approve()` and be sure to set the option `isPreapproved` to\n * `true`.\n *\n * @param depositParams.token Token to deposit.\n * @param depositParams.account Wallet address to take the token from.\n * @param depositParams.value Value in wei of the token to deposit.\n * @param depositParams.referralCode Referral code for the deposit.\n * @param depositParams.lockPeriod The period for the deposit in\n * seconds.\n * @param depositParams.isPreapproved Whether the token is\n * pre-approved or needs a permit.\n * @returns `transact: () => Promise<Address>` - Used to make the\n * transaction.\n *\n * `estimate: () => Promise<bigint>` - Gas estimate of the\n * transaction.\n */\n public async deposit(depositParams: L2DepositParams) {\n const {\n token,\n account,\n value,\n referralCode = 0n,\n lockPeriod = 0n,\n isPreapproved = false,\n } = depositParams;\n\n // Only `amount` is needed if `Token.approve()` is already called.\n // So using mock values for other properties.\n let permitData = {\n r: padHex('0x', { size: 32 }),\n s: padHex('0x', { size: 32 }),\n v: 0,\n deadline: 0n,\n amount: value,\n };\n\n if (!isPreapproved) {\n const { r, s, v, yParity, deadline } = await this.erc20PermitHandler\n .withToken(token)\n .getPermitSignature(\n account,\n CONTRACT_ADDRESSES[this.chain].PufferL2Depositor as Address,\n value,\n );\n /* istanbul ignore next */\n permitData = {\n r,\n s,\n v: Number(v ?? yParity),\n deadline,\n amount: value,\n };\n }\n\n const depositArgs = <const>[\n TOKENS_ADDRESSES[token][this.chain],\n account,\n permitData,\n referralCode,\n lockPeriod,\n ];\n\n const transact = () =>\n this.getContract().write.deposit(depositArgs, {\n account,\n chain: this.viemChain,\n });\n const estimate = () =>\n this.getContract().estimateGas.deposit(depositArgs, {\n account,\n });\n\n return { transact, estimate };\n }\n}\n"],"names":["PufferL2DepositorHandler","chain","walletClient","publicClient","__publicField","VIEM_CHAINS","ERC20PermitHandler","address","CONTRACT_ADDRESSES","abi","PUFFER_L2_DEPOSITOR_ABIS","client","getContract","depositParams","token","account","value","referralCode","lockPeriod","isPreapproved","permitData","padHex","r","s","v","yParity","deadline","depositArgs","TOKENS_ADDRESSES"],"mappings":";;;;;;;;;AA2BO,MAAMA,EAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcpC,YACUC,GACAC,GACAC,GACR;AAjBM,IAAAC,EAAA;AACA,IAAAA,EAAA;AAaE,SAAA,QAAAH,GACA,KAAA,eAAAC,GACA,KAAA,eAAAC,GAEH,KAAA,YAAYE,EAAYJ,CAAK,GAClC,KAAK,qBAAqB,IAAIK;AAAA,MAC5BL;AAAA,MACAC;AAAA,MACAC;AAAA,IACF;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASK,cAAc;AACnB,UAAMI,IAAUC,EAAmB,KAAK,KAAK,EAAE,mBACzCC,IAAMC,EAAyB,KAAK,KAAK,EAAE,mBAC3CC,IAAS,EAAE,QAAQ,KAAK,cAAc,QAAQ,KAAK,aAAa;AAEtE,WAAOC,EAAY,EAAE,SAAAL,GAAS,KAAAE,GAAK,QAAAE,GAAQ;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA+B7C,MAAa,QAAQE,GAAgC;AAC7C,UAAA;AAAA,MACJ,OAAAC;AAAA,MACA,SAAAC;AAAA,MACA,OAAAC;AAAA,MACA,cAAAC,IAAe;AAAA,MACf,YAAAC,IAAa;AAAA,MACb,eAAAC,IAAgB;AAAA,IAAA,IACdN;AAIJ,QAAIO,IAAa;AAAA,MACf,GAAGC,EAAO,MAAM,EAAE,MAAM,IAAI;AAAA,MAC5B,GAAGA,EAAO,MAAM,EAAE,MAAM,IAAI;AAAA,MAC5B,GAAG;AAAA,MACH,UAAU;AAAA,MACV,QAAQL;AAAA,IACV;AAEA,QAAI,CAACG,GAAe;AAClB,YAAM,EAAE,GAAAG,GAAG,GAAAC,GAAG,GAAAC,GAAG,SAAAC,GAAS,UAAAC,MAAa,MAAM,KAAK,mBAC/C,UAAUZ,CAAK,EACf;AAAA,QACCC;AAAA,QACAP,EAAmB,KAAK,KAAK,EAAE;AAAA,QAC/BQ;AAAA,MACF;AAEW,MAAAI,IAAA;AAAA,QACX,GAAAE;AAAA,QACA,GAAAC;AAAA,QACA,GAAG,OAAOC,KAAKC,CAAO;AAAA,QACtB,UAAAC;AAAA,QACA,QAAQV;AAAA,MACV;AAAA,IAAA;AAGF,UAAMW,IAAqB;AAAA,MACzBC,EAAiBd,CAAK,EAAE,KAAK,KAAK;AAAA,MAClCC;AAAA,MACAK;AAAA,MACAH;AAAA,MACAC;AAAA,IACF;AAYO,WAAA,EAAE,UAVQ,MACf,KAAK,YAAc,EAAA,MAAM,QAAQS,GAAa;AAAA,MAC5C,SAAAZ;AAAA,MACA,OAAO,KAAK;AAAA,IAAA,CACb,GAMgB,UALF,MACf,KAAK,YAAc,EAAA,YAAY,QAAQY,GAAa;AAAA,MAClD,SAAAZ;AAAA,IAAA,CACD,EAEyB;AAAA,EAAA;AAEhC;"}
1
+ {"version":3,"file":"puffer-l2-depositor-handler.js","sources":["../../../lib/contracts/handlers/puffer-l2-depositor-handler.ts"],"sourcesContent":["import {\n WalletClient,\n PublicClient,\n getContract,\n Address,\n padHex,\n GetContractReturnType,\n} from 'viem';\nimport { Chain, VIEM_CHAINS, ViemChain } from '../../chains/constants';\nimport { CONTRACT_ADDRESSES } from '../addresses';\nimport { TOKENS_ADDRESSES, Token } from '../tokens';\nimport { ERC20PermitHandler } from './erc20-permit-handler';\nimport { PufferL2Depositor } from '../abis/mainnet/PufferL2Depositor';\n\nexport type L2DepositParams = {\n token: Token;\n account: Address;\n value: bigint;\n referralCode?: bigint;\n lockPeriod?: bigint;\n isPreapproved?: boolean;\n};\n\n/**\n * Handler for the `PufferL2Depositor` contract exposing methods to\n * interact with the contract.\n */\nexport class PufferL2DepositorHandler {\n private viemChain: ViemChain;\n private erc20PermitHandler: ERC20PermitHandler;\n\n /**\n * Create the handler for the `PufferL2Depositor` contract exposing\n * methods to interact with the contract.\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 private chain: Chain,\n private walletClient: WalletClient,\n private publicClient: PublicClient,\n ) {\n this.viemChain = VIEM_CHAINS[chain];\n this.erc20PermitHandler = new ERC20PermitHandler(\n chain,\n walletClient,\n publicClient,\n );\n }\n\n /**\n * Get the contract. This is a method because the typings are complex\n * and lost when trying to make it a member.\n *\n * @returns The viem contract.\n */\n public getContract() {\n const address = CONTRACT_ADDRESSES[this.chain].PufferL2Depositor as Address;\n const abi = PufferL2Depositor;\n const client = { public: this.publicClient, wallet: this.walletClient };\n\n return getContract({ address, abi, client }) as GetContractReturnType<\n typeof abi,\n typeof client,\n Address\n >;\n }\n\n /**\n * Deposit the given token in exchange for the wrapped PufToken. This\n * doesn't make the transaction but returns two methods namely\n * `transact` and `estimate`.\n *\n * Note that not all token contracts support permit signatures (e.g.\n * USDC). If a token's contract doesn't support permit signatures, use\n * `Token.approve()` and be sure to set the option `isPreapproved` to\n * `true`.\n *\n * @param depositParams.token Token to deposit.\n * @param depositParams.account Wallet address to take the token from.\n * @param depositParams.value Value in wei of the token to deposit.\n * @param depositParams.referralCode Referral code for the deposit.\n * @param depositParams.lockPeriod The period for the deposit in\n * seconds.\n * @param depositParams.isPreapproved Whether the token is\n * pre-approved or needs a permit.\n * @returns `transact: () => Promise<Address>` - Used to make the\n * transaction.\n *\n * `estimate: () => Promise<bigint>` - Gas estimate of the\n * transaction.\n */\n public async deposit(depositParams: L2DepositParams) {\n const {\n token,\n account,\n value,\n referralCode = 0n,\n lockPeriod = 0n,\n isPreapproved = false,\n } = depositParams;\n\n // Only `amount` is needed if `Token.approve()` is already called.\n // So using mock values for other properties.\n let permitData = {\n r: padHex('0x', { size: 32 }),\n s: padHex('0x', { size: 32 }),\n v: 0,\n deadline: 0n,\n amount: value,\n };\n\n if (!isPreapproved) {\n const { r, s, v, yParity, deadline } = await this.erc20PermitHandler\n .withToken(token)\n .getPermitSignature(\n account,\n CONTRACT_ADDRESSES[this.chain].PufferL2Depositor as Address,\n value,\n );\n /* istanbul ignore next */\n permitData = {\n r,\n s,\n v: Number(v ?? yParity),\n deadline,\n amount: value,\n };\n }\n\n const depositArgs = <const>[\n TOKENS_ADDRESSES[token][this.chain],\n account,\n permitData,\n referralCode,\n lockPeriod,\n ];\n\n const transact = () =>\n this.getContract().write.deposit(depositArgs, {\n account,\n chain: this.viemChain,\n });\n const estimate = () =>\n this.getContract().estimateGas.deposit(depositArgs, {\n account,\n });\n\n return { transact, estimate };\n }\n}\n"],"names":["PufferL2DepositorHandler","chain","walletClient","publicClient","__publicField","VIEM_CHAINS","ERC20PermitHandler","address","CONTRACT_ADDRESSES","abi","PufferL2Depositor","client","getContract","depositParams","token","account","value","referralCode","lockPeriod","isPreapproved","permitData","padHex","r","s","v","yParity","deadline","depositArgs","TOKENS_ADDRESSES"],"mappings":";;;;;;;;;AA2BO,MAAMA,EAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcpC,YACUC,GACAC,GACAC,GACR;AAjBM,IAAAC,EAAA;AACA,IAAAA,EAAA;AAaE,SAAA,QAAAH,GACA,KAAA,eAAAC,GACA,KAAA,eAAAC,GAEH,KAAA,YAAYE,EAAYJ,CAAK,GAClC,KAAK,qBAAqB,IAAIK;AAAA,MAC5BL;AAAA,MACAC;AAAA,MACAC;AAAA,IACF;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASK,cAAc;AACnB,UAAMI,IAAUC,EAAmB,KAAK,KAAK,EAAE,mBACzCC,IAAMC,GACNC,IAAS,EAAE,QAAQ,KAAK,cAAc,QAAQ,KAAK,aAAa;AAEtE,WAAOC,EAAY,EAAE,SAAAL,GAAS,KAAAE,GAAK,QAAAE,GAAQ;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA+B7C,MAAa,QAAQE,GAAgC;AAC7C,UAAA;AAAA,MACJ,OAAAC;AAAA,MACA,SAAAC;AAAA,MACA,OAAAC;AAAA,MACA,cAAAC,IAAe;AAAA,MACf,YAAAC,IAAa;AAAA,MACb,eAAAC,IAAgB;AAAA,IAAA,IACdN;AAIJ,QAAIO,IAAa;AAAA,MACf,GAAGC,EAAO,MAAM,EAAE,MAAM,IAAI;AAAA,MAC5B,GAAGA,EAAO,MAAM,EAAE,MAAM,IAAI;AAAA,MAC5B,GAAG;AAAA,MACH,UAAU;AAAA,MACV,QAAQL;AAAA,IACV;AAEA,QAAI,CAACG,GAAe;AAClB,YAAM,EAAE,GAAAG,GAAG,GAAAC,GAAG,GAAAC,GAAG,SAAAC,GAAS,UAAAC,MAAa,MAAM,KAAK,mBAC/C,UAAUZ,CAAK,EACf;AAAA,QACCC;AAAA,QACAP,EAAmB,KAAK,KAAK,EAAE;AAAA,QAC/BQ;AAAA,MACF;AAEW,MAAAI,IAAA;AAAA,QACX,GAAAE;AAAA,QACA,GAAAC;AAAA,QACA,GAAG,OAAOC,KAAKC,CAAO;AAAA,QACtB,UAAAC;AAAA,QACA,QAAQV;AAAA,MACV;AAAA,IAAA;AAGF,UAAMW,IAAqB;AAAA,MACzBC,EAAiBd,CAAK,EAAE,KAAK,KAAK;AAAA,MAClCC;AAAA,MACAK;AAAA,MACAH;AAAA,MACAC;AAAA,IACF;AAYO,WAAA,EAAE,UAVQ,MACf,KAAK,YAAc,EAAA,MAAM,QAAQS,GAAa;AAAA,MAC5C,SAAAZ;AAAA,MACA,OAAO,KAAK;AAAA,IAAA,CACb,GAMgB,UALF,MACf,KAAK,YAAc,EAAA,YAAY,QAAQY,GAAa;AAAA,MAClD,SAAAZ;AAAA,IAAA,CACD,EAEyB;AAAA,EAAA;AAEhC;"}
@@ -1,2 +1,2 @@
1
- "use strict";var r=Object.defineProperty;var o=(i,t,a)=>t in i?r(i,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[t]=a;var c=(i,t,a)=>o(i,typeof t!="symbol"?t+"":t,a);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("../../constants-BcPRVxdH.cjs"),u=require("../addresses.cjs"),C=require("../abis/puffer-vault-abis.cjs"),g=require("../../getContract-ChPFzc5y.cjs");class m{constructor(t,a,e){c(this,"viemChain");this.chain=t,this.walletClient=a,this.publicClient=e,this.viemChain=h.VIEM_CHAINS[t]}getContract(){const t=u.CONTRACT_ADDRESSES[this.chain].PufferVault,a=C.PUFFER_VAULT_ABIS[this.chain].PufferVaultV2,e={public:this.publicClient,wallet:this.walletClient};return g.getContract({address:t,abi:a,client:e})}depositETH(t){return{transact:async n=>await this.getContract().write.depositETH([t],{account:t,chain:this.viemChain,value:n}),estimate:async()=>await this.getContract().estimateGas.depositETH([t],{account:t})}}async balanceOf(t){return await this.getContract().read.balanceOf([t])}async getPufETHRate(){const t=BigInt(1e18);return await this.getContract().read.previewDeposit([t])}async getAllowance(t,a){return await this.getContract().read.allowance([t,a])}withdraw(t,a,e){return{transact:async()=>await this.getContract().write.withdraw([e,a,t],{account:a,chain:this.viemChain}),estimate:async()=>await this.getContract().estimateGas.withdraw([e,a,t],{account:a})}}previewRedeem(t){return this.getContract().read.previewRedeem([t])}maxRedeem(t){return this.getContract().read.maxRedeem([t])}getExitFeeBasisPoints(){return this.getContract().read.getExitFeeBasisPoints()}getRemainingAssetsDailyWithdrawalLimit(){return this.getContract().read.getRemainingAssetsDailyWithdrawalLimit()}redeem(t,a,e){return{transact:async()=>await this.getContract().write.redeem([e,a,t],{account:t,chain:this.viemChain}),estimate:async()=>await this.getContract().estimateGas.redeem([e,a,t],{account:t})}}convertToAssets(t){return this.getContract().read.convertToAssets([t])}}exports.PufferVaultHandler=m;
1
+ "use strict";var r=Object.defineProperty;var o=(i,t,a)=>t in i?r(i,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[t]=a;var c=(i,t,a)=>o(i,typeof t!="symbol"?t+"":t,a);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("../../constants-5WxIZnbu.cjs"),h=require("../addresses.cjs"),m=require("../abis/mainnet/PufferVaultV2.cjs"),C=require("../../getContract-Bt9GsQBq.cjs");class g{constructor(t,a,e){c(this,"viemChain");this.chain=t,this.walletClient=a,this.publicClient=e,this.viemChain=u.VIEM_CHAINS[t]}getContract(){const t=h.CONTRACT_ADDRESSES[this.chain].PufferVault,a=m.PufferVaultV2,e={public:this.publicClient,wallet:this.walletClient};return C.getContract({address:t,abi:a,client:e})}depositETH(t){return{transact:async n=>await this.getContract().write.depositETH([t],{account:t,chain:this.viemChain,value:n}),estimate:async()=>await this.getContract().estimateGas.depositETH([t],{account:t})}}async balanceOf(t){return await this.getContract().read.balanceOf([t])}async getPufETHRate(){const t=BigInt(1e18);return await this.getContract().read.previewDeposit([t])}async getAllowance(t,a){return await this.getContract().read.allowance([t,a])}withdraw(t,a,e){return{transact:async()=>await this.getContract().write.withdraw([e,a,t],{account:a,chain:this.viemChain}),estimate:async()=>await this.getContract().estimateGas.withdraw([e,a,t],{account:a})}}previewRedeem(t){return this.getContract().read.previewRedeem([t])}maxRedeem(t){return this.getContract().read.maxRedeem([t])}getExitFeeBasisPoints(){return this.getContract().read.getExitFeeBasisPoints()}getRemainingAssetsDailyWithdrawalLimit(){return this.getContract().read.getRemainingAssetsDailyWithdrawalLimit()}redeem(t,a,e){return{transact:async()=>await this.getContract().write.redeem([e,a,t],{account:t,chain:this.viemChain}),estimate:async()=>await this.getContract().estimateGas.redeem([e,a,t],{account:t})}}convertToAssets(t){return this.getContract().read.convertToAssets([t])}}exports.PufferVaultHandler=g;
2
2
  //# sourceMappingURL=puffer-vault-handler.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"puffer-vault-handler.cjs","sources":["../../../lib/contracts/handlers/puffer-vault-handler.ts"],"sourcesContent":["import {\n Address,\n GetContractReturnType,\n PublicClient,\n WalletClient,\n getContract,\n} from 'viem';\nimport { Chain, VIEM_CHAINS, ViemChain } from '../../chains/constants';\nimport { CONTRACT_ADDRESSES } from '../addresses';\nimport { PUFFER_VAULT_ABIS } from '../abis/puffer-vault-abis';\n\n/**\n * Handler for the `PufferVaultV2` contract exposing methods to interact\n * with the contract.\n */\nexport class PufferVaultHandler {\n private viemChain: ViemChain;\n\n /**\n * Create the handler for the `PufferVaultV2` contract exposing\n * methods to interact with the contract.\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 private chain: Chain,\n private walletClient: WalletClient,\n private publicClient: PublicClient,\n ) {\n this.viemChain = VIEM_CHAINS[chain];\n }\n\n /**\n * Get the contract. This is a method because the typings are complex\n * and lost when trying to make it a member.\n *\n * @returns The viem contract.\n */\n public getContract() {\n const address = CONTRACT_ADDRESSES[this.chain].PufferVault as Address;\n const abi = PUFFER_VAULT_ABIS[this.chain].PufferVaultV2;\n const client = { public: this.publicClient, wallet: this.walletClient };\n\n return getContract({ address, abi, client }) as GetContractReturnType<\n typeof abi,\n typeof client,\n Address\n >;\n }\n\n /**\n * Deposit ETH in exchange for pufETH. This doesn't make the\n * transaction but returns two methods namely `transact` and\n * `estimate`.\n *\n * @param walletAddress Wallet address to get the ETH from.\n * @returns `transact: (value: bigint) => Promise<Address>` - Used to\n * make the transaction with the given value.\n *\n * `estimate: () => Promise<bigint>` - Gas estimate of the\n * transaction.\n */\n public depositETH(walletAddress: Address) {\n const transact = async (value: bigint) =>\n await this.getContract().write.depositETH([walletAddress], {\n account: walletAddress,\n chain: this.viemChain,\n value,\n });\n\n const estimate = async () =>\n await this.getContract().estimateGas.depositETH([walletAddress], {\n account: walletAddress,\n });\n\n return { transact, estimate };\n }\n\n /**\n * Check the pufETH balance of the wallet.\n *\n * @param walletAddress Wallet address to check the balance of.\n * @returns pufETH balance in wei.\n */\n public async balanceOf(walletAddress: Address) {\n return await this.getContract().read.balanceOf([walletAddress]);\n }\n\n /**\n * Get the rate of pufETH compared to ETH.\n *\n * @returns Rate of pufETH compared to 1 ETH.\n */\n public async getPufETHRate() {\n const oneWei = BigInt(1e18);\n return await this.getContract().read.previewDeposit([oneWei]);\n }\n\n /**\n * Get the allowance for the given owner and spender.\n *\n * @param ownerAddress Address of the owner.\n * @param spenderAddress Address of the spender.\n * @returns Allowance for the given owner and spender.\n */\n public async getAllowance(ownerAddress: Address, spenderAddress: Address) {\n return await this.getContract().read.allowance([\n ownerAddress,\n spenderAddress,\n ]);\n }\n\n /**\n * Withdraw pufETH to the given wallet address. This doesn't make the\n * transaction but returns two methods namely `transact` and\n * `estimate`.\n *\n * @param ownerAddress Address of the owner.\n * @param walletAddress Address of the receiver.\n * @param value Value of pufETH to withdraw.\n * @returns `transact: (value: bigint) => Promise<Address>` - Used to\n * make the transaction with the given value.\n *\n * `estimate: () => Promise<bigint>` - Gas estimate of the\n * transaction.\n */\n public withdraw(\n ownerAddress: Address,\n walletAddress: Address,\n value: bigint,\n ) {\n const transact = async () =>\n await this.getContract().write.withdraw(\n [value, walletAddress, ownerAddress],\n {\n account: walletAddress,\n chain: this.viemChain,\n },\n );\n\n const estimate = async () =>\n await this.getContract().estimateGas.withdraw(\n [value, walletAddress, ownerAddress],\n {\n account: walletAddress,\n },\n );\n\n return { transact, estimate };\n }\n\n /**\n * Preview the amount of WETH that can be redeemed for the given\n * amount of pufETH using the `.redeem()` method.\n *\n * @param value Value of pufETH to redeem.\n * @returns Preview of the amount of WETH that can be redeemed.\n */\n public previewRedeem(value: bigint) {\n return this.getContract().read.previewRedeem([value]);\n }\n\n /**\n * Calculates the maximum amount of pufETH shares that can be redeemed\n * by the owner.\n *\n * @param ownerAddress Address of the owner's wallet.\n * @returns Maximum amount of pufETH shares that can be redeemed.\n */\n public maxRedeem(ownerAddress: Address) {\n return this.getContract().read.maxRedeem([ownerAddress]);\n }\n\n /**\n * Returns how many basis points of a fee there are when exiting. For\n * example, a 1% fee would mean 1% of the user's requested pufETH is\n * burned (which increases the value for all pufETH holders) before\n * the ETH is redeemed. i.e., you get 1% less ETH back.\n *\n * @returns Basis points of the exit fee.\n */\n public getExitFeeBasisPoints() {\n return this.getContract().read.getExitFeeBasisPoints();\n }\n\n /**\n * Returns how much WETH can still be withdrawn today.\n *\n * @returns Remaining WETH daily withdrawal limit.\n */\n public getRemainingAssetsDailyWithdrawalLimit() {\n return this.getContract().read.getRemainingAssetsDailyWithdrawalLimit();\n }\n\n /**\n * Redeems pufETH shares in exchange for WETH assets from the vault.\n * In the process, the pufETH shares of the owner are burned. This\n * doesn't make the transaction but returns two methods namely\n * `transact` and `estimate`.\n *\n * @param ownerAddress Address of the owner of pufETH.\n * @param receiverAddress Address of the receiver of WETH.\n * @param shares Amount of pufETH shares to redeem.\n * @returns `transact: (value: bigint) => Promise<Address>` - Used to\n * make the transaction with the given value.\n *\n * `estimate: () => Promise<bigint>` - Gas estimate of the\n * transaction.\n */\n public redeem(\n ownerAddress: Address,\n receiverAddress: Address,\n shares: bigint,\n ) {\n const transact = async () =>\n await this.getContract().write.redeem(\n [shares, receiverAddress, ownerAddress],\n {\n account: ownerAddress,\n chain: this.viemChain,\n },\n );\n\n const estimate = async () =>\n await this.getContract().estimateGas.redeem(\n [shares, receiverAddress, ownerAddress],\n {\n account: ownerAddress,\n },\n );\n\n return { transact, estimate };\n }\n\n /**\n * Gives exchange rate of pufETH relative to WETH.\n * This does not include any fees, as compared to previewRedeem method.\n *\n * @param amount Amount of pufETH to convert.\n * @returns Amount of equivalent WETH.\n */\n public convertToAssets(amount: bigint) {\n return this.getContract().read.convertToAssets([amount]);\n }\n}\n"],"names":["PufferVaultHandler","chain","walletClient","publicClient","__publicField","VIEM_CHAINS","address","CONTRACT_ADDRESSES","abi","PUFFER_VAULT_ABIS","client","getContract","walletAddress","value","oneWei","ownerAddress","spenderAddress","receiverAddress","shares","amount"],"mappings":"yZAeO,MAAMA,CAAmB,CAa9B,YACUC,EACAC,EACAC,EACR,CAhBMC,EAAA,kBAaE,KAAA,MAAAH,EACA,KAAA,aAAAC,EACA,KAAA,aAAAC,EAEH,KAAA,UAAYE,cAAYJ,CAAK,CAAA,CAS7B,aAAc,CACnB,MAAMK,EAAUC,EAAA,mBAAmB,KAAK,KAAK,EAAE,YACzCC,EAAMC,EAAA,kBAAkB,KAAK,KAAK,EAAE,cACpCC,EAAS,CAAE,OAAQ,KAAK,aAAc,OAAQ,KAAK,YAAa,EAEtE,OAAOC,EAAY,YAAA,CAAE,QAAAL,EAAS,IAAAE,EAAK,OAAAE,EAAQ,CAAA,CAmBtC,WAAWE,EAAwB,CAajC,MAAA,CAAE,SAZQ,MAAOC,GACtB,MAAM,KAAK,YAAY,EAAE,MAAM,WAAW,CAACD,CAAa,EAAG,CACzD,QAASA,EACT,MAAO,KAAK,UACZ,MAAAC,CAAA,CACD,EAOgB,SALF,SACf,MAAM,KAAK,cAAc,YAAY,WAAW,CAACD,CAAa,EAAG,CAC/D,QAASA,CAAA,CACV,CAEyB,CAAA,CAS9B,MAAa,UAAUA,EAAwB,CACtC,OAAA,MAAM,KAAK,YAAY,EAAE,KAAK,UAAU,CAACA,CAAa,CAAC,CAAA,CAQhE,MAAa,eAAgB,CACrB,MAAAE,EAAS,OAAO,IAAI,EACnB,OAAA,MAAM,KAAK,YAAY,EAAE,KAAK,eAAe,CAACA,CAAM,CAAC,CAAA,CAU9D,MAAa,aAAaC,EAAuBC,EAAyB,CACxE,OAAO,MAAM,KAAK,cAAc,KAAK,UAAU,CAC7CD,EACAC,CAAA,CACD,CAAA,CAiBI,SACLD,EACAH,EACAC,EACA,CAkBO,MAAA,CAAE,SAjBQ,SACf,MAAM,KAAK,cAAc,MAAM,SAC7B,CAACA,EAAOD,EAAeG,CAAY,EACnC,CACE,QAASH,EACT,MAAO,KAAK,SAAA,CAEhB,EAUiB,SARF,SACf,MAAM,KAAK,cAAc,YAAY,SACnC,CAACC,EAAOD,EAAeG,CAAY,EACnC,CACE,QAASH,CAAA,CAEb,CAE0B,CAAA,CAUvB,cAAcC,EAAe,CAClC,OAAO,KAAK,YAAY,EAAE,KAAK,cAAc,CAACA,CAAK,CAAC,CAAA,CAU/C,UAAUE,EAAuB,CACtC,OAAO,KAAK,YAAY,EAAE,KAAK,UAAU,CAACA,CAAY,CAAC,CAAA,CAWlD,uBAAwB,CAC7B,OAAO,KAAK,cAAc,KAAK,sBAAsB,CAAA,CAQhD,wCAAyC,CAC9C,OAAO,KAAK,cAAc,KAAK,uCAAuC,CAAA,CAkBjE,OACLA,EACAE,EACAC,EACA,CAkBO,MAAA,CAAE,SAjBQ,SACf,MAAM,KAAK,cAAc,MAAM,OAC7B,CAACA,EAAQD,EAAiBF,CAAY,EACtC,CACE,QAASA,EACT,MAAO,KAAK,SAAA,CAEhB,EAUiB,SARF,SACf,MAAM,KAAK,cAAc,YAAY,OACnC,CAACG,EAAQD,EAAiBF,CAAY,EACtC,CACE,QAASA,CAAA,CAEb,CAE0B,CAAA,CAUvB,gBAAgBI,EAAgB,CACrC,OAAO,KAAK,YAAY,EAAE,KAAK,gBAAgB,CAACA,CAAM,CAAC,CAAA,CAE3D"}
1
+ {"version":3,"file":"puffer-vault-handler.cjs","sources":["../../../lib/contracts/handlers/puffer-vault-handler.ts"],"sourcesContent":["import {\n Address,\n GetContractReturnType,\n PublicClient,\n WalletClient,\n getContract,\n} from 'viem';\nimport { Chain, VIEM_CHAINS, ViemChain } from '../../chains/constants';\nimport { CONTRACT_ADDRESSES } from '../addresses';\nimport { PufferVaultV2 } from '../abis/mainnet/PufferVaultV2';\n\n/**\n * Handler for the `PufferVaultV2` contract exposing methods to interact\n * with the contract.\n */\nexport class PufferVaultHandler {\n private viemChain: ViemChain;\n\n /**\n * Create the handler for the `PufferVaultV2` contract exposing\n * methods to interact with the contract.\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 private chain: Chain,\n private walletClient: WalletClient,\n private publicClient: PublicClient,\n ) {\n this.viemChain = VIEM_CHAINS[chain];\n }\n\n /**\n * Get the contract. This is a method because the typings are complex\n * and lost when trying to make it a member.\n *\n * @returns The viem contract.\n */\n public getContract() {\n const address = CONTRACT_ADDRESSES[this.chain].PufferVault as Address;\n const abi = PufferVaultV2;\n const client = { public: this.publicClient, wallet: this.walletClient };\n\n return getContract({ address, abi, client }) as GetContractReturnType<\n typeof abi,\n typeof client,\n Address\n >;\n }\n\n /**\n * Deposit ETH in exchange for pufETH. This doesn't make the\n * transaction but returns two methods namely `transact` and\n * `estimate`.\n *\n * @param walletAddress Wallet address to get the ETH from.\n * @returns `transact: (value: bigint) => Promise<Address>` - Used to\n * make the transaction with the given value.\n *\n * `estimate: () => Promise<bigint>` - Gas estimate of the\n * transaction.\n */\n public depositETH(walletAddress: Address) {\n const transact = async (value: bigint) =>\n await this.getContract().write.depositETH([walletAddress], {\n account: walletAddress,\n chain: this.viemChain,\n value,\n });\n\n const estimate = async () =>\n await this.getContract().estimateGas.depositETH([walletAddress], {\n account: walletAddress,\n });\n\n return { transact, estimate };\n }\n\n /**\n * Check the pufETH balance of the wallet.\n *\n * @param walletAddress Wallet address to check the balance of.\n * @returns pufETH balance in wei.\n */\n public async balanceOf(walletAddress: Address) {\n return await this.getContract().read.balanceOf([walletAddress]);\n }\n\n /**\n * Get the rate of pufETH compared to ETH.\n *\n * @returns Rate of pufETH compared to 1 ETH.\n */\n public async getPufETHRate() {\n const oneWei = BigInt(1e18);\n return await this.getContract().read.previewDeposit([oneWei]);\n }\n\n /**\n * Get the allowance for the given owner and spender.\n *\n * @param ownerAddress Address of the owner.\n * @param spenderAddress Address of the spender.\n * @returns Allowance for the given owner and spender.\n */\n public async getAllowance(ownerAddress: Address, spenderAddress: Address) {\n return await this.getContract().read.allowance([\n ownerAddress,\n spenderAddress,\n ]);\n }\n\n /**\n * Withdraw pufETH to the given wallet address. This doesn't make the\n * transaction but returns two methods namely `transact` and\n * `estimate`.\n *\n * @param ownerAddress Address of the owner.\n * @param walletAddress Address of the receiver.\n * @param value Value of pufETH to withdraw.\n * @returns `transact: (value: bigint) => Promise<Address>` - Used to\n * make the transaction with the given value.\n *\n * `estimate: () => Promise<bigint>` - Gas estimate of the\n * transaction.\n */\n public withdraw(\n ownerAddress: Address,\n walletAddress: Address,\n value: bigint,\n ) {\n const transact = async () =>\n await this.getContract().write.withdraw(\n [value, walletAddress, ownerAddress],\n {\n account: walletAddress,\n chain: this.viemChain,\n },\n );\n\n const estimate = async () =>\n await this.getContract().estimateGas.withdraw(\n [value, walletAddress, ownerAddress],\n {\n account: walletAddress,\n },\n );\n\n return { transact, estimate };\n }\n\n /**\n * Preview the amount of WETH that can be redeemed for the given\n * amount of pufETH using the `.redeem()` method.\n *\n * @param value Value of pufETH to redeem.\n * @returns Preview of the amount of WETH that can be redeemed.\n */\n public previewRedeem(value: bigint) {\n return this.getContract().read.previewRedeem([value]);\n }\n\n /**\n * Calculates the maximum amount of pufETH shares that can be redeemed\n * by the owner.\n *\n * @param ownerAddress Address of the owner's wallet.\n * @returns Maximum amount of pufETH shares that can be redeemed.\n */\n public maxRedeem(ownerAddress: Address) {\n return this.getContract().read.maxRedeem([ownerAddress]);\n }\n\n /**\n * Returns how many basis points of a fee there are when exiting. For\n * example, a 1% fee would mean 1% of the user's requested pufETH is\n * burned (which increases the value for all pufETH holders) before\n * the ETH is redeemed. i.e., you get 1% less ETH back.\n *\n * @returns Basis points of the exit fee.\n */\n public getExitFeeBasisPoints() {\n return this.getContract().read.getExitFeeBasisPoints();\n }\n\n /**\n * Returns how much WETH can still be withdrawn today.\n *\n * @returns Remaining WETH daily withdrawal limit.\n */\n public getRemainingAssetsDailyWithdrawalLimit() {\n return this.getContract().read.getRemainingAssetsDailyWithdrawalLimit();\n }\n\n /**\n * Redeems pufETH shares in exchange for WETH assets from the vault.\n * In the process, the pufETH shares of the owner are burned. This\n * doesn't make the transaction but returns two methods namely\n * `transact` and `estimate`.\n *\n * @param ownerAddress Address of the owner of pufETH.\n * @param receiverAddress Address of the receiver of WETH.\n * @param shares Amount of pufETH shares to redeem.\n * @returns `transact: (value: bigint) => Promise<Address>` - Used to\n * make the transaction with the given value.\n *\n * `estimate: () => Promise<bigint>` - Gas estimate of the\n * transaction.\n */\n public redeem(\n ownerAddress: Address,\n receiverAddress: Address,\n shares: bigint,\n ) {\n const transact = async () =>\n await this.getContract().write.redeem(\n [shares, receiverAddress, ownerAddress],\n {\n account: ownerAddress,\n chain: this.viemChain,\n },\n );\n\n const estimate = async () =>\n await this.getContract().estimateGas.redeem(\n [shares, receiverAddress, ownerAddress],\n {\n account: ownerAddress,\n },\n );\n\n return { transact, estimate };\n }\n\n /**\n * Gives exchange rate of pufETH relative to WETH.\n * This does not include any fees, as compared to previewRedeem method.\n *\n * @param amount Amount of pufETH to convert.\n * @returns Amount of equivalent WETH.\n */\n public convertToAssets(amount: bigint) {\n return this.getContract().read.convertToAssets([amount]);\n }\n}\n"],"names":["PufferVaultHandler","chain","walletClient","publicClient","__publicField","VIEM_CHAINS","address","CONTRACT_ADDRESSES","abi","PufferVaultV2","client","getContract","walletAddress","value","oneWei","ownerAddress","spenderAddress","receiverAddress","shares","amount"],"mappings":"6ZAeO,MAAMA,CAAmB,CAa9B,YACUC,EACAC,EACAC,EACR,CAhBMC,EAAA,kBAaE,KAAA,MAAAH,EACA,KAAA,aAAAC,EACA,KAAA,aAAAC,EAEH,KAAA,UAAYE,cAAYJ,CAAK,CAAA,CAS7B,aAAc,CACnB,MAAMK,EAAUC,EAAA,mBAAmB,KAAK,KAAK,EAAE,YACzCC,EAAMC,EAAA,cACNC,EAAS,CAAE,OAAQ,KAAK,aAAc,OAAQ,KAAK,YAAa,EAEtE,OAAOC,EAAY,YAAA,CAAE,QAAAL,EAAS,IAAAE,EAAK,OAAAE,EAAQ,CAAA,CAmBtC,WAAWE,EAAwB,CAajC,MAAA,CAAE,SAZQ,MAAOC,GACtB,MAAM,KAAK,YAAY,EAAE,MAAM,WAAW,CAACD,CAAa,EAAG,CACzD,QAASA,EACT,MAAO,KAAK,UACZ,MAAAC,CAAA,CACD,EAOgB,SALF,SACf,MAAM,KAAK,cAAc,YAAY,WAAW,CAACD,CAAa,EAAG,CAC/D,QAASA,CAAA,CACV,CAEyB,CAAA,CAS9B,MAAa,UAAUA,EAAwB,CACtC,OAAA,MAAM,KAAK,YAAY,EAAE,KAAK,UAAU,CAACA,CAAa,CAAC,CAAA,CAQhE,MAAa,eAAgB,CACrB,MAAAE,EAAS,OAAO,IAAI,EACnB,OAAA,MAAM,KAAK,YAAY,EAAE,KAAK,eAAe,CAACA,CAAM,CAAC,CAAA,CAU9D,MAAa,aAAaC,EAAuBC,EAAyB,CACxE,OAAO,MAAM,KAAK,cAAc,KAAK,UAAU,CAC7CD,EACAC,CAAA,CACD,CAAA,CAiBI,SACLD,EACAH,EACAC,EACA,CAkBO,MAAA,CAAE,SAjBQ,SACf,MAAM,KAAK,cAAc,MAAM,SAC7B,CAACA,EAAOD,EAAeG,CAAY,EACnC,CACE,QAASH,EACT,MAAO,KAAK,SAAA,CAEhB,EAUiB,SARF,SACf,MAAM,KAAK,cAAc,YAAY,SACnC,CAACC,EAAOD,EAAeG,CAAY,EACnC,CACE,QAASH,CAAA,CAEb,CAE0B,CAAA,CAUvB,cAAcC,EAAe,CAClC,OAAO,KAAK,YAAY,EAAE,KAAK,cAAc,CAACA,CAAK,CAAC,CAAA,CAU/C,UAAUE,EAAuB,CACtC,OAAO,KAAK,YAAY,EAAE,KAAK,UAAU,CAACA,CAAY,CAAC,CAAA,CAWlD,uBAAwB,CAC7B,OAAO,KAAK,cAAc,KAAK,sBAAsB,CAAA,CAQhD,wCAAyC,CAC9C,OAAO,KAAK,cAAc,KAAK,uCAAuC,CAAA,CAkBjE,OACLA,EACAE,EACAC,EACA,CAkBO,MAAA,CAAE,SAjBQ,SACf,MAAM,KAAK,cAAc,MAAM,OAC7B,CAACA,EAAQD,EAAiBF,CAAY,EACtC,CACE,QAASA,EACT,MAAO,KAAK,SAAA,CAEhB,EAUiB,SARF,SACf,MAAM,KAAK,cAAc,YAAY,OACnC,CAACG,EAAQD,EAAiBF,CAAY,EACtC,CACE,QAASA,CAAA,CAEb,CAE0B,CAAA,CAUvB,gBAAgBI,EAAgB,CACrC,OAAO,KAAK,YAAY,EAAE,KAAK,gBAAgB,CAACA,CAAM,CAAC,CAAA,CAE3D"}