@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
@@ -0,0 +1,2389 @@
1
+ import { WalletClient, PublicClient, Address } from 'viem';
2
+ import { Chain, ViemChain } from '../../chains/constants';
3
+ import { AnyToken } from '../tokens';
4
+ export type LockerDepositParams = {
5
+ token: AnyToken;
6
+ account: Address;
7
+ recipient: Address;
8
+ value: bigint;
9
+ lockPeriod: bigint;
10
+ isPreapproved?: boolean;
11
+ };
12
+ /**
13
+ * Handler for the `PufLocker` contract exposing methods to interact
14
+ * with the contract.
15
+ */
16
+ export declare class PufLockerHandler {
17
+ private chain;
18
+ private walletClient;
19
+ private publicClient;
20
+ private viemChain;
21
+ private erc20PermitHandler;
22
+ /**
23
+ * Create the handler for the `PufLocker` contract exposing methods to
24
+ * interact with the contract.
25
+ *
26
+ * @param chain Chain to use for the client.
27
+ * @param walletClient The wallet client to use for wallet
28
+ * interactions.
29
+ * @param publicClient The public client to use for public
30
+ * interactions.
31
+ */
32
+ constructor(chain: Chain, walletClient: WalletClient, publicClient: PublicClient);
33
+ /**
34
+ * Get the contract. This is a method because the typings are complex
35
+ * and lost when trying to make it a member.
36
+ *
37
+ * @returns The viem contract.
38
+ */
39
+ getContract(): {
40
+ read: {
41
+ getAllDeposits: (args: readonly [`0x${string}`, `0x${string}`], options?: import('viem').Prettify<import('viem').UnionOmit<import('viem').ReadContractParameters<readonly [{
42
+ readonly inputs: readonly [{
43
+ readonly internalType: "address";
44
+ readonly name: "token";
45
+ readonly type: "address";
46
+ }, {
47
+ readonly internalType: "address";
48
+ readonly name: "depositor";
49
+ readonly type: "address";
50
+ }];
51
+ readonly name: "getAllDeposits";
52
+ readonly outputs: readonly [{
53
+ readonly components: readonly [{
54
+ readonly internalType: "uint128";
55
+ readonly name: "amount";
56
+ readonly type: "uint128";
57
+ }, {
58
+ readonly internalType: "uint128";
59
+ readonly name: "releaseTime";
60
+ readonly type: "uint128";
61
+ }];
62
+ readonly internalType: "struct IPufLocker.Deposit[]";
63
+ readonly name: "";
64
+ readonly type: "tuple[]";
65
+ }];
66
+ readonly stateMutability: "view";
67
+ readonly type: "function";
68
+ }, {
69
+ readonly inputs: readonly [{
70
+ readonly internalType: "address";
71
+ readonly name: "user";
72
+ readonly type: "address";
73
+ }, {
74
+ readonly internalType: "address";
75
+ readonly name: "token";
76
+ readonly type: "address";
77
+ }, {
78
+ readonly internalType: "uint256";
79
+ readonly name: "start";
80
+ readonly type: "uint256";
81
+ }, {
82
+ readonly internalType: "uint256";
83
+ readonly name: "limit";
84
+ readonly type: "uint256";
85
+ }];
86
+ readonly name: "getDeposits";
87
+ readonly outputs: readonly [{
88
+ readonly components: readonly [{
89
+ readonly internalType: "uint128";
90
+ readonly name: "amount";
91
+ readonly type: "uint128";
92
+ }, {
93
+ readonly internalType: "uint128";
94
+ readonly name: "releaseTime";
95
+ readonly type: "uint128";
96
+ }];
97
+ readonly internalType: "struct IPufLocker.Deposit[]";
98
+ readonly name: "";
99
+ readonly type: "tuple[]";
100
+ }];
101
+ readonly stateMutability: "view";
102
+ readonly type: "function";
103
+ }, {
104
+ readonly inputs: readonly [];
105
+ readonly name: "getLockPeriods";
106
+ readonly outputs: readonly [{
107
+ readonly internalType: "uint128";
108
+ readonly name: "";
109
+ readonly type: "uint128";
110
+ }, {
111
+ readonly internalType: "uint128";
112
+ readonly name: "";
113
+ readonly type: "uint128";
114
+ }];
115
+ readonly stateMutability: "view";
116
+ readonly type: "function";
117
+ }, {
118
+ readonly inputs: readonly [{
119
+ readonly internalType: "address";
120
+ readonly name: "token";
121
+ readonly type: "address";
122
+ }, {
123
+ readonly internalType: "address";
124
+ readonly name: "recipient";
125
+ readonly type: "address";
126
+ }, {
127
+ readonly internalType: "uint128";
128
+ readonly name: "lockPeriod";
129
+ readonly type: "uint128";
130
+ }, {
131
+ readonly components: readonly [{
132
+ readonly internalType: "uint256";
133
+ readonly name: "deadline";
134
+ readonly type: "uint256";
135
+ }, {
136
+ readonly internalType: "uint256";
137
+ readonly name: "amount";
138
+ readonly type: "uint256";
139
+ }, {
140
+ readonly internalType: "uint8";
141
+ readonly name: "v";
142
+ readonly type: "uint8";
143
+ }, {
144
+ readonly internalType: "bytes32";
145
+ readonly name: "r";
146
+ readonly type: "bytes32";
147
+ }, {
148
+ readonly internalType: "bytes32";
149
+ readonly name: "s";
150
+ readonly type: "bytes32";
151
+ }];
152
+ readonly internalType: "struct Permit";
153
+ readonly name: "permitData";
154
+ readonly type: "tuple";
155
+ }];
156
+ readonly name: "deposit";
157
+ readonly outputs: readonly [];
158
+ readonly stateMutability: "nonpayable";
159
+ readonly type: "function";
160
+ }, {
161
+ readonly inputs: readonly [{
162
+ readonly internalType: "address";
163
+ readonly name: "token";
164
+ readonly type: "address";
165
+ }, {
166
+ readonly internalType: "uint256[]";
167
+ readonly name: "depositIndexes";
168
+ readonly type: "uint256[]";
169
+ }, {
170
+ readonly internalType: "address";
171
+ readonly name: "recipient";
172
+ readonly type: "address";
173
+ }];
174
+ readonly name: "withdraw";
175
+ readonly outputs: readonly [];
176
+ readonly stateMutability: "nonpayable";
177
+ readonly type: "function";
178
+ }], "getAllDeposits", readonly [`0x${string}`, `0x${string}`]>, "address" | "abi" | "args" | "functionName">> | undefined) => Promise<readonly {
179
+ amount: bigint;
180
+ releaseTime: bigint;
181
+ }[]>;
182
+ getDeposits: (args: readonly [`0x${string}`, `0x${string}`, bigint, bigint], options?: import('viem').Prettify<import('viem').UnionOmit<import('viem').ReadContractParameters<readonly [{
183
+ readonly inputs: readonly [{
184
+ readonly internalType: "address";
185
+ readonly name: "token";
186
+ readonly type: "address";
187
+ }, {
188
+ readonly internalType: "address";
189
+ readonly name: "depositor";
190
+ readonly type: "address";
191
+ }];
192
+ readonly name: "getAllDeposits";
193
+ readonly outputs: readonly [{
194
+ readonly components: readonly [{
195
+ readonly internalType: "uint128";
196
+ readonly name: "amount";
197
+ readonly type: "uint128";
198
+ }, {
199
+ readonly internalType: "uint128";
200
+ readonly name: "releaseTime";
201
+ readonly type: "uint128";
202
+ }];
203
+ readonly internalType: "struct IPufLocker.Deposit[]";
204
+ readonly name: "";
205
+ readonly type: "tuple[]";
206
+ }];
207
+ readonly stateMutability: "view";
208
+ readonly type: "function";
209
+ }, {
210
+ readonly inputs: readonly [{
211
+ readonly internalType: "address";
212
+ readonly name: "user";
213
+ readonly type: "address";
214
+ }, {
215
+ readonly internalType: "address";
216
+ readonly name: "token";
217
+ readonly type: "address";
218
+ }, {
219
+ readonly internalType: "uint256";
220
+ readonly name: "start";
221
+ readonly type: "uint256";
222
+ }, {
223
+ readonly internalType: "uint256";
224
+ readonly name: "limit";
225
+ readonly type: "uint256";
226
+ }];
227
+ readonly name: "getDeposits";
228
+ readonly outputs: readonly [{
229
+ readonly components: readonly [{
230
+ readonly internalType: "uint128";
231
+ readonly name: "amount";
232
+ readonly type: "uint128";
233
+ }, {
234
+ readonly internalType: "uint128";
235
+ readonly name: "releaseTime";
236
+ readonly type: "uint128";
237
+ }];
238
+ readonly internalType: "struct IPufLocker.Deposit[]";
239
+ readonly name: "";
240
+ readonly type: "tuple[]";
241
+ }];
242
+ readonly stateMutability: "view";
243
+ readonly type: "function";
244
+ }, {
245
+ readonly inputs: readonly [];
246
+ readonly name: "getLockPeriods";
247
+ readonly outputs: readonly [{
248
+ readonly internalType: "uint128";
249
+ readonly name: "";
250
+ readonly type: "uint128";
251
+ }, {
252
+ readonly internalType: "uint128";
253
+ readonly name: "";
254
+ readonly type: "uint128";
255
+ }];
256
+ readonly stateMutability: "view";
257
+ readonly type: "function";
258
+ }, {
259
+ readonly inputs: readonly [{
260
+ readonly internalType: "address";
261
+ readonly name: "token";
262
+ readonly type: "address";
263
+ }, {
264
+ readonly internalType: "address";
265
+ readonly name: "recipient";
266
+ readonly type: "address";
267
+ }, {
268
+ readonly internalType: "uint128";
269
+ readonly name: "lockPeriod";
270
+ readonly type: "uint128";
271
+ }, {
272
+ readonly components: readonly [{
273
+ readonly internalType: "uint256";
274
+ readonly name: "deadline";
275
+ readonly type: "uint256";
276
+ }, {
277
+ readonly internalType: "uint256";
278
+ readonly name: "amount";
279
+ readonly type: "uint256";
280
+ }, {
281
+ readonly internalType: "uint8";
282
+ readonly name: "v";
283
+ readonly type: "uint8";
284
+ }, {
285
+ readonly internalType: "bytes32";
286
+ readonly name: "r";
287
+ readonly type: "bytes32";
288
+ }, {
289
+ readonly internalType: "bytes32";
290
+ readonly name: "s";
291
+ readonly type: "bytes32";
292
+ }];
293
+ readonly internalType: "struct Permit";
294
+ readonly name: "permitData";
295
+ readonly type: "tuple";
296
+ }];
297
+ readonly name: "deposit";
298
+ readonly outputs: readonly [];
299
+ readonly stateMutability: "nonpayable";
300
+ readonly type: "function";
301
+ }, {
302
+ readonly inputs: readonly [{
303
+ readonly internalType: "address";
304
+ readonly name: "token";
305
+ readonly type: "address";
306
+ }, {
307
+ readonly internalType: "uint256[]";
308
+ readonly name: "depositIndexes";
309
+ readonly type: "uint256[]";
310
+ }, {
311
+ readonly internalType: "address";
312
+ readonly name: "recipient";
313
+ readonly type: "address";
314
+ }];
315
+ readonly name: "withdraw";
316
+ readonly outputs: readonly [];
317
+ readonly stateMutability: "nonpayable";
318
+ readonly type: "function";
319
+ }], "getDeposits", readonly [`0x${string}`, `0x${string}`, bigint, bigint]>, "address" | "abi" | "args" | "functionName">> | undefined) => Promise<readonly {
320
+ amount: bigint;
321
+ releaseTime: bigint;
322
+ }[]>;
323
+ getLockPeriods: (options?: import('viem').Prettify<import('viem').UnionOmit<import('viem').ReadContractParameters<readonly [{
324
+ readonly inputs: readonly [{
325
+ readonly internalType: "address";
326
+ readonly name: "token";
327
+ readonly type: "address";
328
+ }, {
329
+ readonly internalType: "address";
330
+ readonly name: "depositor";
331
+ readonly type: "address";
332
+ }];
333
+ readonly name: "getAllDeposits";
334
+ readonly outputs: readonly [{
335
+ readonly components: readonly [{
336
+ readonly internalType: "uint128";
337
+ readonly name: "amount";
338
+ readonly type: "uint128";
339
+ }, {
340
+ readonly internalType: "uint128";
341
+ readonly name: "releaseTime";
342
+ readonly type: "uint128";
343
+ }];
344
+ readonly internalType: "struct IPufLocker.Deposit[]";
345
+ readonly name: "";
346
+ readonly type: "tuple[]";
347
+ }];
348
+ readonly stateMutability: "view";
349
+ readonly type: "function";
350
+ }, {
351
+ readonly inputs: readonly [{
352
+ readonly internalType: "address";
353
+ readonly name: "user";
354
+ readonly type: "address";
355
+ }, {
356
+ readonly internalType: "address";
357
+ readonly name: "token";
358
+ readonly type: "address";
359
+ }, {
360
+ readonly internalType: "uint256";
361
+ readonly name: "start";
362
+ readonly type: "uint256";
363
+ }, {
364
+ readonly internalType: "uint256";
365
+ readonly name: "limit";
366
+ readonly type: "uint256";
367
+ }];
368
+ readonly name: "getDeposits";
369
+ readonly outputs: readonly [{
370
+ readonly components: readonly [{
371
+ readonly internalType: "uint128";
372
+ readonly name: "amount";
373
+ readonly type: "uint128";
374
+ }, {
375
+ readonly internalType: "uint128";
376
+ readonly name: "releaseTime";
377
+ readonly type: "uint128";
378
+ }];
379
+ readonly internalType: "struct IPufLocker.Deposit[]";
380
+ readonly name: "";
381
+ readonly type: "tuple[]";
382
+ }];
383
+ readonly stateMutability: "view";
384
+ readonly type: "function";
385
+ }, {
386
+ readonly inputs: readonly [];
387
+ readonly name: "getLockPeriods";
388
+ readonly outputs: readonly [{
389
+ readonly internalType: "uint128";
390
+ readonly name: "";
391
+ readonly type: "uint128";
392
+ }, {
393
+ readonly internalType: "uint128";
394
+ readonly name: "";
395
+ readonly type: "uint128";
396
+ }];
397
+ readonly stateMutability: "view";
398
+ readonly type: "function";
399
+ }, {
400
+ readonly inputs: readonly [{
401
+ readonly internalType: "address";
402
+ readonly name: "token";
403
+ readonly type: "address";
404
+ }, {
405
+ readonly internalType: "address";
406
+ readonly name: "recipient";
407
+ readonly type: "address";
408
+ }, {
409
+ readonly internalType: "uint128";
410
+ readonly name: "lockPeriod";
411
+ readonly type: "uint128";
412
+ }, {
413
+ readonly components: readonly [{
414
+ readonly internalType: "uint256";
415
+ readonly name: "deadline";
416
+ readonly type: "uint256";
417
+ }, {
418
+ readonly internalType: "uint256";
419
+ readonly name: "amount";
420
+ readonly type: "uint256";
421
+ }, {
422
+ readonly internalType: "uint8";
423
+ readonly name: "v";
424
+ readonly type: "uint8";
425
+ }, {
426
+ readonly internalType: "bytes32";
427
+ readonly name: "r";
428
+ readonly type: "bytes32";
429
+ }, {
430
+ readonly internalType: "bytes32";
431
+ readonly name: "s";
432
+ readonly type: "bytes32";
433
+ }];
434
+ readonly internalType: "struct Permit";
435
+ readonly name: "permitData";
436
+ readonly type: "tuple";
437
+ }];
438
+ readonly name: "deposit";
439
+ readonly outputs: readonly [];
440
+ readonly stateMutability: "nonpayable";
441
+ readonly type: "function";
442
+ }, {
443
+ readonly inputs: readonly [{
444
+ readonly internalType: "address";
445
+ readonly name: "token";
446
+ readonly type: "address";
447
+ }, {
448
+ readonly internalType: "uint256[]";
449
+ readonly name: "depositIndexes";
450
+ readonly type: "uint256[]";
451
+ }, {
452
+ readonly internalType: "address";
453
+ readonly name: "recipient";
454
+ readonly type: "address";
455
+ }];
456
+ readonly name: "withdraw";
457
+ readonly outputs: readonly [];
458
+ readonly stateMutability: "nonpayable";
459
+ readonly type: "function";
460
+ }], "getLockPeriods", readonly []>, "address" | "abi" | "args" | "functionName">> | undefined) => Promise<readonly [bigint, bigint]>;
461
+ };
462
+ estimateGas: {
463
+ deposit: (args: readonly [`0x${string}`, `0x${string}`, bigint, {
464
+ deadline: bigint;
465
+ amount: bigint;
466
+ v: number;
467
+ r: `0x${string}`;
468
+ s: `0x${string}`;
469
+ }], options: import('viem').Prettify<import('viem').UnionOmit<import('viem').EstimateContractGasParameters<readonly [{
470
+ readonly inputs: readonly [{
471
+ readonly internalType: "address";
472
+ readonly name: "token";
473
+ readonly type: "address";
474
+ }, {
475
+ readonly internalType: "address";
476
+ readonly name: "depositor";
477
+ readonly type: "address";
478
+ }];
479
+ readonly name: "getAllDeposits";
480
+ readonly outputs: readonly [{
481
+ readonly components: readonly [{
482
+ readonly internalType: "uint128";
483
+ readonly name: "amount";
484
+ readonly type: "uint128";
485
+ }, {
486
+ readonly internalType: "uint128";
487
+ readonly name: "releaseTime";
488
+ readonly type: "uint128";
489
+ }];
490
+ readonly internalType: "struct IPufLocker.Deposit[]";
491
+ readonly name: "";
492
+ readonly type: "tuple[]";
493
+ }];
494
+ readonly stateMutability: "view";
495
+ readonly type: "function";
496
+ }, {
497
+ readonly inputs: readonly [{
498
+ readonly internalType: "address";
499
+ readonly name: "user";
500
+ readonly type: "address";
501
+ }, {
502
+ readonly internalType: "address";
503
+ readonly name: "token";
504
+ readonly type: "address";
505
+ }, {
506
+ readonly internalType: "uint256";
507
+ readonly name: "start";
508
+ readonly type: "uint256";
509
+ }, {
510
+ readonly internalType: "uint256";
511
+ readonly name: "limit";
512
+ readonly type: "uint256";
513
+ }];
514
+ readonly name: "getDeposits";
515
+ readonly outputs: readonly [{
516
+ readonly components: readonly [{
517
+ readonly internalType: "uint128";
518
+ readonly name: "amount";
519
+ readonly type: "uint128";
520
+ }, {
521
+ readonly internalType: "uint128";
522
+ readonly name: "releaseTime";
523
+ readonly type: "uint128";
524
+ }];
525
+ readonly internalType: "struct IPufLocker.Deposit[]";
526
+ readonly name: "";
527
+ readonly type: "tuple[]";
528
+ }];
529
+ readonly stateMutability: "view";
530
+ readonly type: "function";
531
+ }, {
532
+ readonly inputs: readonly [];
533
+ readonly name: "getLockPeriods";
534
+ readonly outputs: readonly [{
535
+ readonly internalType: "uint128";
536
+ readonly name: "";
537
+ readonly type: "uint128";
538
+ }, {
539
+ readonly internalType: "uint128";
540
+ readonly name: "";
541
+ readonly type: "uint128";
542
+ }];
543
+ readonly stateMutability: "view";
544
+ readonly type: "function";
545
+ }, {
546
+ readonly inputs: readonly [{
547
+ readonly internalType: "address";
548
+ readonly name: "token";
549
+ readonly type: "address";
550
+ }, {
551
+ readonly internalType: "address";
552
+ readonly name: "recipient";
553
+ readonly type: "address";
554
+ }, {
555
+ readonly internalType: "uint128";
556
+ readonly name: "lockPeriod";
557
+ readonly type: "uint128";
558
+ }, {
559
+ readonly components: readonly [{
560
+ readonly internalType: "uint256";
561
+ readonly name: "deadline";
562
+ readonly type: "uint256";
563
+ }, {
564
+ readonly internalType: "uint256";
565
+ readonly name: "amount";
566
+ readonly type: "uint256";
567
+ }, {
568
+ readonly internalType: "uint8";
569
+ readonly name: "v";
570
+ readonly type: "uint8";
571
+ }, {
572
+ readonly internalType: "bytes32";
573
+ readonly name: "r";
574
+ readonly type: "bytes32";
575
+ }, {
576
+ readonly internalType: "bytes32";
577
+ readonly name: "s";
578
+ readonly type: "bytes32";
579
+ }];
580
+ readonly internalType: "struct Permit";
581
+ readonly name: "permitData";
582
+ readonly type: "tuple";
583
+ }];
584
+ readonly name: "deposit";
585
+ readonly outputs: readonly [];
586
+ readonly stateMutability: "nonpayable";
587
+ readonly type: "function";
588
+ }, {
589
+ readonly inputs: readonly [{
590
+ readonly internalType: "address";
591
+ readonly name: "token";
592
+ readonly type: "address";
593
+ }, {
594
+ readonly internalType: "uint256[]";
595
+ readonly name: "depositIndexes";
596
+ readonly type: "uint256[]";
597
+ }, {
598
+ readonly internalType: "address";
599
+ readonly name: "recipient";
600
+ readonly type: "address";
601
+ }];
602
+ readonly name: "withdraw";
603
+ readonly outputs: readonly [];
604
+ readonly stateMutability: "nonpayable";
605
+ readonly type: "function";
606
+ }], "deposit", readonly [`0x${string}`, `0x${string}`, bigint, {
607
+ deadline: bigint;
608
+ amount: bigint;
609
+ v: number;
610
+ r: `0x${string}`;
611
+ s: `0x${string}`;
612
+ }], ViemChain | undefined>, "address" | "abi" | "args" | "functionName">>) => Promise<import('viem').EstimateContractGasReturnType>;
613
+ withdraw: (args: readonly [`0x${string}`, readonly bigint[], `0x${string}`], options: import('viem').Prettify<import('viem').UnionOmit<import('viem').EstimateContractGasParameters<readonly [{
614
+ readonly inputs: readonly [{
615
+ readonly internalType: "address";
616
+ readonly name: "token";
617
+ readonly type: "address";
618
+ }, {
619
+ readonly internalType: "address";
620
+ readonly name: "depositor";
621
+ readonly type: "address";
622
+ }];
623
+ readonly name: "getAllDeposits";
624
+ readonly outputs: readonly [{
625
+ readonly components: readonly [{
626
+ readonly internalType: "uint128";
627
+ readonly name: "amount";
628
+ readonly type: "uint128";
629
+ }, {
630
+ readonly internalType: "uint128";
631
+ readonly name: "releaseTime";
632
+ readonly type: "uint128";
633
+ }];
634
+ readonly internalType: "struct IPufLocker.Deposit[]";
635
+ readonly name: "";
636
+ readonly type: "tuple[]";
637
+ }];
638
+ readonly stateMutability: "view";
639
+ readonly type: "function";
640
+ }, {
641
+ readonly inputs: readonly [{
642
+ readonly internalType: "address";
643
+ readonly name: "user";
644
+ readonly type: "address";
645
+ }, {
646
+ readonly internalType: "address";
647
+ readonly name: "token";
648
+ readonly type: "address";
649
+ }, {
650
+ readonly internalType: "uint256";
651
+ readonly name: "start";
652
+ readonly type: "uint256";
653
+ }, {
654
+ readonly internalType: "uint256";
655
+ readonly name: "limit";
656
+ readonly type: "uint256";
657
+ }];
658
+ readonly name: "getDeposits";
659
+ readonly outputs: readonly [{
660
+ readonly components: readonly [{
661
+ readonly internalType: "uint128";
662
+ readonly name: "amount";
663
+ readonly type: "uint128";
664
+ }, {
665
+ readonly internalType: "uint128";
666
+ readonly name: "releaseTime";
667
+ readonly type: "uint128";
668
+ }];
669
+ readonly internalType: "struct IPufLocker.Deposit[]";
670
+ readonly name: "";
671
+ readonly type: "tuple[]";
672
+ }];
673
+ readonly stateMutability: "view";
674
+ readonly type: "function";
675
+ }, {
676
+ readonly inputs: readonly [];
677
+ readonly name: "getLockPeriods";
678
+ readonly outputs: readonly [{
679
+ readonly internalType: "uint128";
680
+ readonly name: "";
681
+ readonly type: "uint128";
682
+ }, {
683
+ readonly internalType: "uint128";
684
+ readonly name: "";
685
+ readonly type: "uint128";
686
+ }];
687
+ readonly stateMutability: "view";
688
+ readonly type: "function";
689
+ }, {
690
+ readonly inputs: readonly [{
691
+ readonly internalType: "address";
692
+ readonly name: "token";
693
+ readonly type: "address";
694
+ }, {
695
+ readonly internalType: "address";
696
+ readonly name: "recipient";
697
+ readonly type: "address";
698
+ }, {
699
+ readonly internalType: "uint128";
700
+ readonly name: "lockPeriod";
701
+ readonly type: "uint128";
702
+ }, {
703
+ readonly components: readonly [{
704
+ readonly internalType: "uint256";
705
+ readonly name: "deadline";
706
+ readonly type: "uint256";
707
+ }, {
708
+ readonly internalType: "uint256";
709
+ readonly name: "amount";
710
+ readonly type: "uint256";
711
+ }, {
712
+ readonly internalType: "uint8";
713
+ readonly name: "v";
714
+ readonly type: "uint8";
715
+ }, {
716
+ readonly internalType: "bytes32";
717
+ readonly name: "r";
718
+ readonly type: "bytes32";
719
+ }, {
720
+ readonly internalType: "bytes32";
721
+ readonly name: "s";
722
+ readonly type: "bytes32";
723
+ }];
724
+ readonly internalType: "struct Permit";
725
+ readonly name: "permitData";
726
+ readonly type: "tuple";
727
+ }];
728
+ readonly name: "deposit";
729
+ readonly outputs: readonly [];
730
+ readonly stateMutability: "nonpayable";
731
+ readonly type: "function";
732
+ }, {
733
+ readonly inputs: readonly [{
734
+ readonly internalType: "address";
735
+ readonly name: "token";
736
+ readonly type: "address";
737
+ }, {
738
+ readonly internalType: "uint256[]";
739
+ readonly name: "depositIndexes";
740
+ readonly type: "uint256[]";
741
+ }, {
742
+ readonly internalType: "address";
743
+ readonly name: "recipient";
744
+ readonly type: "address";
745
+ }];
746
+ readonly name: "withdraw";
747
+ readonly outputs: readonly [];
748
+ readonly stateMutability: "nonpayable";
749
+ readonly type: "function";
750
+ }], "withdraw", readonly [`0x${string}`, readonly bigint[], `0x${string}`], ViemChain | undefined>, "address" | "abi" | "args" | "functionName">>) => Promise<import('viem').EstimateContractGasReturnType>;
751
+ } & {
752
+ deposit: (args: readonly [`0x${string}`, `0x${string}`, bigint, {
753
+ deadline: bigint;
754
+ amount: bigint;
755
+ v: number;
756
+ r: `0x${string}`;
757
+ s: `0x${string}`;
758
+ }], options: import('viem').Prettify<import('viem').UnionOmit<import('viem').EstimateContractGasParameters<readonly [{
759
+ readonly inputs: readonly [{
760
+ readonly internalType: "address";
761
+ readonly name: "token";
762
+ readonly type: "address";
763
+ }, {
764
+ readonly internalType: "address";
765
+ readonly name: "depositor";
766
+ readonly type: "address";
767
+ }];
768
+ readonly name: "getAllDeposits";
769
+ readonly outputs: readonly [{
770
+ readonly components: readonly [{
771
+ readonly internalType: "uint128";
772
+ readonly name: "amount";
773
+ readonly type: "uint128";
774
+ }, {
775
+ readonly internalType: "uint128";
776
+ readonly name: "releaseTime";
777
+ readonly type: "uint128";
778
+ }];
779
+ readonly internalType: "struct IPufLocker.Deposit[]";
780
+ readonly name: "";
781
+ readonly type: "tuple[]";
782
+ }];
783
+ readonly stateMutability: "view";
784
+ readonly type: "function";
785
+ }, {
786
+ readonly inputs: readonly [{
787
+ readonly internalType: "address";
788
+ readonly name: "user";
789
+ readonly type: "address";
790
+ }, {
791
+ readonly internalType: "address";
792
+ readonly name: "token";
793
+ readonly type: "address";
794
+ }, {
795
+ readonly internalType: "uint256";
796
+ readonly name: "start";
797
+ readonly type: "uint256";
798
+ }, {
799
+ readonly internalType: "uint256";
800
+ readonly name: "limit";
801
+ readonly type: "uint256";
802
+ }];
803
+ readonly name: "getDeposits";
804
+ readonly outputs: readonly [{
805
+ readonly components: readonly [{
806
+ readonly internalType: "uint128";
807
+ readonly name: "amount";
808
+ readonly type: "uint128";
809
+ }, {
810
+ readonly internalType: "uint128";
811
+ readonly name: "releaseTime";
812
+ readonly type: "uint128";
813
+ }];
814
+ readonly internalType: "struct IPufLocker.Deposit[]";
815
+ readonly name: "";
816
+ readonly type: "tuple[]";
817
+ }];
818
+ readonly stateMutability: "view";
819
+ readonly type: "function";
820
+ }, {
821
+ readonly inputs: readonly [];
822
+ readonly name: "getLockPeriods";
823
+ readonly outputs: readonly [{
824
+ readonly internalType: "uint128";
825
+ readonly name: "";
826
+ readonly type: "uint128";
827
+ }, {
828
+ readonly internalType: "uint128";
829
+ readonly name: "";
830
+ readonly type: "uint128";
831
+ }];
832
+ readonly stateMutability: "view";
833
+ readonly type: "function";
834
+ }, {
835
+ readonly inputs: readonly [{
836
+ readonly internalType: "address";
837
+ readonly name: "token";
838
+ readonly type: "address";
839
+ }, {
840
+ readonly internalType: "address";
841
+ readonly name: "recipient";
842
+ readonly type: "address";
843
+ }, {
844
+ readonly internalType: "uint128";
845
+ readonly name: "lockPeriod";
846
+ readonly type: "uint128";
847
+ }, {
848
+ readonly components: readonly [{
849
+ readonly internalType: "uint256";
850
+ readonly name: "deadline";
851
+ readonly type: "uint256";
852
+ }, {
853
+ readonly internalType: "uint256";
854
+ readonly name: "amount";
855
+ readonly type: "uint256";
856
+ }, {
857
+ readonly internalType: "uint8";
858
+ readonly name: "v";
859
+ readonly type: "uint8";
860
+ }, {
861
+ readonly internalType: "bytes32";
862
+ readonly name: "r";
863
+ readonly type: "bytes32";
864
+ }, {
865
+ readonly internalType: "bytes32";
866
+ readonly name: "s";
867
+ readonly type: "bytes32";
868
+ }];
869
+ readonly internalType: "struct Permit";
870
+ readonly name: "permitData";
871
+ readonly type: "tuple";
872
+ }];
873
+ readonly name: "deposit";
874
+ readonly outputs: readonly [];
875
+ readonly stateMutability: "nonpayable";
876
+ readonly type: "function";
877
+ }, {
878
+ readonly inputs: readonly [{
879
+ readonly internalType: "address";
880
+ readonly name: "token";
881
+ readonly type: "address";
882
+ }, {
883
+ readonly internalType: "uint256[]";
884
+ readonly name: "depositIndexes";
885
+ readonly type: "uint256[]";
886
+ }, {
887
+ readonly internalType: "address";
888
+ readonly name: "recipient";
889
+ readonly type: "address";
890
+ }];
891
+ readonly name: "withdraw";
892
+ readonly outputs: readonly [];
893
+ readonly stateMutability: "nonpayable";
894
+ readonly type: "function";
895
+ }], "deposit", readonly [`0x${string}`, `0x${string}`, bigint, {
896
+ deadline: bigint;
897
+ amount: bigint;
898
+ v: number;
899
+ r: `0x${string}`;
900
+ s: `0x${string}`;
901
+ }], ViemChain | undefined>, "address" | "abi" | "args" | "functionName">>) => Promise<import('viem').EstimateContractGasReturnType>;
902
+ withdraw: (args: readonly [`0x${string}`, readonly bigint[], `0x${string}`], options: import('viem').Prettify<import('viem').UnionOmit<import('viem').EstimateContractGasParameters<readonly [{
903
+ readonly inputs: readonly [{
904
+ readonly internalType: "address";
905
+ readonly name: "token";
906
+ readonly type: "address";
907
+ }, {
908
+ readonly internalType: "address";
909
+ readonly name: "depositor";
910
+ readonly type: "address";
911
+ }];
912
+ readonly name: "getAllDeposits";
913
+ readonly outputs: readonly [{
914
+ readonly components: readonly [{
915
+ readonly internalType: "uint128";
916
+ readonly name: "amount";
917
+ readonly type: "uint128";
918
+ }, {
919
+ readonly internalType: "uint128";
920
+ readonly name: "releaseTime";
921
+ readonly type: "uint128";
922
+ }];
923
+ readonly internalType: "struct IPufLocker.Deposit[]";
924
+ readonly name: "";
925
+ readonly type: "tuple[]";
926
+ }];
927
+ readonly stateMutability: "view";
928
+ readonly type: "function";
929
+ }, {
930
+ readonly inputs: readonly [{
931
+ readonly internalType: "address";
932
+ readonly name: "user";
933
+ readonly type: "address";
934
+ }, {
935
+ readonly internalType: "address";
936
+ readonly name: "token";
937
+ readonly type: "address";
938
+ }, {
939
+ readonly internalType: "uint256";
940
+ readonly name: "start";
941
+ readonly type: "uint256";
942
+ }, {
943
+ readonly internalType: "uint256";
944
+ readonly name: "limit";
945
+ readonly type: "uint256";
946
+ }];
947
+ readonly name: "getDeposits";
948
+ readonly outputs: readonly [{
949
+ readonly components: readonly [{
950
+ readonly internalType: "uint128";
951
+ readonly name: "amount";
952
+ readonly type: "uint128";
953
+ }, {
954
+ readonly internalType: "uint128";
955
+ readonly name: "releaseTime";
956
+ readonly type: "uint128";
957
+ }];
958
+ readonly internalType: "struct IPufLocker.Deposit[]";
959
+ readonly name: "";
960
+ readonly type: "tuple[]";
961
+ }];
962
+ readonly stateMutability: "view";
963
+ readonly type: "function";
964
+ }, {
965
+ readonly inputs: readonly [];
966
+ readonly name: "getLockPeriods";
967
+ readonly outputs: readonly [{
968
+ readonly internalType: "uint128";
969
+ readonly name: "";
970
+ readonly type: "uint128";
971
+ }, {
972
+ readonly internalType: "uint128";
973
+ readonly name: "";
974
+ readonly type: "uint128";
975
+ }];
976
+ readonly stateMutability: "view";
977
+ readonly type: "function";
978
+ }, {
979
+ readonly inputs: readonly [{
980
+ readonly internalType: "address";
981
+ readonly name: "token";
982
+ readonly type: "address";
983
+ }, {
984
+ readonly internalType: "address";
985
+ readonly name: "recipient";
986
+ readonly type: "address";
987
+ }, {
988
+ readonly internalType: "uint128";
989
+ readonly name: "lockPeriod";
990
+ readonly type: "uint128";
991
+ }, {
992
+ readonly components: readonly [{
993
+ readonly internalType: "uint256";
994
+ readonly name: "deadline";
995
+ readonly type: "uint256";
996
+ }, {
997
+ readonly internalType: "uint256";
998
+ readonly name: "amount";
999
+ readonly type: "uint256";
1000
+ }, {
1001
+ readonly internalType: "uint8";
1002
+ readonly name: "v";
1003
+ readonly type: "uint8";
1004
+ }, {
1005
+ readonly internalType: "bytes32";
1006
+ readonly name: "r";
1007
+ readonly type: "bytes32";
1008
+ }, {
1009
+ readonly internalType: "bytes32";
1010
+ readonly name: "s";
1011
+ readonly type: "bytes32";
1012
+ }];
1013
+ readonly internalType: "struct Permit";
1014
+ readonly name: "permitData";
1015
+ readonly type: "tuple";
1016
+ }];
1017
+ readonly name: "deposit";
1018
+ readonly outputs: readonly [];
1019
+ readonly stateMutability: "nonpayable";
1020
+ readonly type: "function";
1021
+ }, {
1022
+ readonly inputs: readonly [{
1023
+ readonly internalType: "address";
1024
+ readonly name: "token";
1025
+ readonly type: "address";
1026
+ }, {
1027
+ readonly internalType: "uint256[]";
1028
+ readonly name: "depositIndexes";
1029
+ readonly type: "uint256[]";
1030
+ }, {
1031
+ readonly internalType: "address";
1032
+ readonly name: "recipient";
1033
+ readonly type: "address";
1034
+ }];
1035
+ readonly name: "withdraw";
1036
+ readonly outputs: readonly [];
1037
+ readonly stateMutability: "nonpayable";
1038
+ readonly type: "function";
1039
+ }], "withdraw", readonly [`0x${string}`, readonly bigint[], `0x${string}`], ViemChain | undefined>, "address" | "abi" | "args" | "functionName">>) => Promise<import('viem').EstimateContractGasReturnType>;
1040
+ };
1041
+ simulate: {
1042
+ deposit: <chainOverride extends ViemChain | undefined = undefined, accountOverride extends import('viem').Account | Address | undefined = undefined>(args: readonly [`0x${string}`, `0x${string}`, bigint, {
1043
+ deadline: bigint;
1044
+ amount: bigint;
1045
+ v: number;
1046
+ r: `0x${string}`;
1047
+ s: `0x${string}`;
1048
+ }], options?: Omit<import('viem').SimulateContractParameters<readonly [{
1049
+ readonly inputs: readonly [{
1050
+ readonly internalType: "address";
1051
+ readonly name: "token";
1052
+ readonly type: "address";
1053
+ }, {
1054
+ readonly internalType: "address";
1055
+ readonly name: "depositor";
1056
+ readonly type: "address";
1057
+ }];
1058
+ readonly name: "getAllDeposits";
1059
+ readonly outputs: readonly [{
1060
+ readonly components: readonly [{
1061
+ readonly internalType: "uint128";
1062
+ readonly name: "amount";
1063
+ readonly type: "uint128";
1064
+ }, {
1065
+ readonly internalType: "uint128";
1066
+ readonly name: "releaseTime";
1067
+ readonly type: "uint128";
1068
+ }];
1069
+ readonly internalType: "struct IPufLocker.Deposit[]";
1070
+ readonly name: "";
1071
+ readonly type: "tuple[]";
1072
+ }];
1073
+ readonly stateMutability: "view";
1074
+ readonly type: "function";
1075
+ }, {
1076
+ readonly inputs: readonly [{
1077
+ readonly internalType: "address";
1078
+ readonly name: "user";
1079
+ readonly type: "address";
1080
+ }, {
1081
+ readonly internalType: "address";
1082
+ readonly name: "token";
1083
+ readonly type: "address";
1084
+ }, {
1085
+ readonly internalType: "uint256";
1086
+ readonly name: "start";
1087
+ readonly type: "uint256";
1088
+ }, {
1089
+ readonly internalType: "uint256";
1090
+ readonly name: "limit";
1091
+ readonly type: "uint256";
1092
+ }];
1093
+ readonly name: "getDeposits";
1094
+ readonly outputs: readonly [{
1095
+ readonly components: readonly [{
1096
+ readonly internalType: "uint128";
1097
+ readonly name: "amount";
1098
+ readonly type: "uint128";
1099
+ }, {
1100
+ readonly internalType: "uint128";
1101
+ readonly name: "releaseTime";
1102
+ readonly type: "uint128";
1103
+ }];
1104
+ readonly internalType: "struct IPufLocker.Deposit[]";
1105
+ readonly name: "";
1106
+ readonly type: "tuple[]";
1107
+ }];
1108
+ readonly stateMutability: "view";
1109
+ readonly type: "function";
1110
+ }, {
1111
+ readonly inputs: readonly [];
1112
+ readonly name: "getLockPeriods";
1113
+ readonly outputs: readonly [{
1114
+ readonly internalType: "uint128";
1115
+ readonly name: "";
1116
+ readonly type: "uint128";
1117
+ }, {
1118
+ readonly internalType: "uint128";
1119
+ readonly name: "";
1120
+ readonly type: "uint128";
1121
+ }];
1122
+ readonly stateMutability: "view";
1123
+ readonly type: "function";
1124
+ }, {
1125
+ readonly inputs: readonly [{
1126
+ readonly internalType: "address";
1127
+ readonly name: "token";
1128
+ readonly type: "address";
1129
+ }, {
1130
+ readonly internalType: "address";
1131
+ readonly name: "recipient";
1132
+ readonly type: "address";
1133
+ }, {
1134
+ readonly internalType: "uint128";
1135
+ readonly name: "lockPeriod";
1136
+ readonly type: "uint128";
1137
+ }, {
1138
+ readonly components: readonly [{
1139
+ readonly internalType: "uint256";
1140
+ readonly name: "deadline";
1141
+ readonly type: "uint256";
1142
+ }, {
1143
+ readonly internalType: "uint256";
1144
+ readonly name: "amount";
1145
+ readonly type: "uint256";
1146
+ }, {
1147
+ readonly internalType: "uint8";
1148
+ readonly name: "v";
1149
+ readonly type: "uint8";
1150
+ }, {
1151
+ readonly internalType: "bytes32";
1152
+ readonly name: "r";
1153
+ readonly type: "bytes32";
1154
+ }, {
1155
+ readonly internalType: "bytes32";
1156
+ readonly name: "s";
1157
+ readonly type: "bytes32";
1158
+ }];
1159
+ readonly internalType: "struct Permit";
1160
+ readonly name: "permitData";
1161
+ readonly type: "tuple";
1162
+ }];
1163
+ readonly name: "deposit";
1164
+ readonly outputs: readonly [];
1165
+ readonly stateMutability: "nonpayable";
1166
+ readonly type: "function";
1167
+ }, {
1168
+ readonly inputs: readonly [{
1169
+ readonly internalType: "address";
1170
+ readonly name: "token";
1171
+ readonly type: "address";
1172
+ }, {
1173
+ readonly internalType: "uint256[]";
1174
+ readonly name: "depositIndexes";
1175
+ readonly type: "uint256[]";
1176
+ }, {
1177
+ readonly internalType: "address";
1178
+ readonly name: "recipient";
1179
+ readonly type: "address";
1180
+ }];
1181
+ readonly name: "withdraw";
1182
+ readonly outputs: readonly [];
1183
+ readonly stateMutability: "nonpayable";
1184
+ readonly type: "function";
1185
+ }], "deposit", readonly [`0x${string}`, `0x${string}`, bigint, {
1186
+ deadline: bigint;
1187
+ amount: bigint;
1188
+ v: number;
1189
+ r: `0x${string}`;
1190
+ s: `0x${string}`;
1191
+ }], ViemChain | undefined, chainOverride, accountOverride>, "address" | "abi" | "args" | "functionName"> | undefined) => Promise<import('viem').SimulateContractReturnType<readonly [{
1192
+ readonly inputs: readonly [{
1193
+ readonly internalType: "address";
1194
+ readonly name: "token";
1195
+ readonly type: "address";
1196
+ }, {
1197
+ readonly internalType: "address";
1198
+ readonly name: "depositor";
1199
+ readonly type: "address";
1200
+ }];
1201
+ readonly name: "getAllDeposits";
1202
+ readonly outputs: readonly [{
1203
+ readonly components: readonly [{
1204
+ readonly internalType: "uint128";
1205
+ readonly name: "amount";
1206
+ readonly type: "uint128";
1207
+ }, {
1208
+ readonly internalType: "uint128";
1209
+ readonly name: "releaseTime";
1210
+ readonly type: "uint128";
1211
+ }];
1212
+ readonly internalType: "struct IPufLocker.Deposit[]";
1213
+ readonly name: "";
1214
+ readonly type: "tuple[]";
1215
+ }];
1216
+ readonly stateMutability: "view";
1217
+ readonly type: "function";
1218
+ }, {
1219
+ readonly inputs: readonly [{
1220
+ readonly internalType: "address";
1221
+ readonly name: "user";
1222
+ readonly type: "address";
1223
+ }, {
1224
+ readonly internalType: "address";
1225
+ readonly name: "token";
1226
+ readonly type: "address";
1227
+ }, {
1228
+ readonly internalType: "uint256";
1229
+ readonly name: "start";
1230
+ readonly type: "uint256";
1231
+ }, {
1232
+ readonly internalType: "uint256";
1233
+ readonly name: "limit";
1234
+ readonly type: "uint256";
1235
+ }];
1236
+ readonly name: "getDeposits";
1237
+ readonly outputs: readonly [{
1238
+ readonly components: readonly [{
1239
+ readonly internalType: "uint128";
1240
+ readonly name: "amount";
1241
+ readonly type: "uint128";
1242
+ }, {
1243
+ readonly internalType: "uint128";
1244
+ readonly name: "releaseTime";
1245
+ readonly type: "uint128";
1246
+ }];
1247
+ readonly internalType: "struct IPufLocker.Deposit[]";
1248
+ readonly name: "";
1249
+ readonly type: "tuple[]";
1250
+ }];
1251
+ readonly stateMutability: "view";
1252
+ readonly type: "function";
1253
+ }, {
1254
+ readonly inputs: readonly [];
1255
+ readonly name: "getLockPeriods";
1256
+ readonly outputs: readonly [{
1257
+ readonly internalType: "uint128";
1258
+ readonly name: "";
1259
+ readonly type: "uint128";
1260
+ }, {
1261
+ readonly internalType: "uint128";
1262
+ readonly name: "";
1263
+ readonly type: "uint128";
1264
+ }];
1265
+ readonly stateMutability: "view";
1266
+ readonly type: "function";
1267
+ }, {
1268
+ readonly inputs: readonly [{
1269
+ readonly internalType: "address";
1270
+ readonly name: "token";
1271
+ readonly type: "address";
1272
+ }, {
1273
+ readonly internalType: "address";
1274
+ readonly name: "recipient";
1275
+ readonly type: "address";
1276
+ }, {
1277
+ readonly internalType: "uint128";
1278
+ readonly name: "lockPeriod";
1279
+ readonly type: "uint128";
1280
+ }, {
1281
+ readonly components: readonly [{
1282
+ readonly internalType: "uint256";
1283
+ readonly name: "deadline";
1284
+ readonly type: "uint256";
1285
+ }, {
1286
+ readonly internalType: "uint256";
1287
+ readonly name: "amount";
1288
+ readonly type: "uint256";
1289
+ }, {
1290
+ readonly internalType: "uint8";
1291
+ readonly name: "v";
1292
+ readonly type: "uint8";
1293
+ }, {
1294
+ readonly internalType: "bytes32";
1295
+ readonly name: "r";
1296
+ readonly type: "bytes32";
1297
+ }, {
1298
+ readonly internalType: "bytes32";
1299
+ readonly name: "s";
1300
+ readonly type: "bytes32";
1301
+ }];
1302
+ readonly internalType: "struct Permit";
1303
+ readonly name: "permitData";
1304
+ readonly type: "tuple";
1305
+ }];
1306
+ readonly name: "deposit";
1307
+ readonly outputs: readonly [];
1308
+ readonly stateMutability: "nonpayable";
1309
+ readonly type: "function";
1310
+ }, {
1311
+ readonly inputs: readonly [{
1312
+ readonly internalType: "address";
1313
+ readonly name: "token";
1314
+ readonly type: "address";
1315
+ }, {
1316
+ readonly internalType: "uint256[]";
1317
+ readonly name: "depositIndexes";
1318
+ readonly type: "uint256[]";
1319
+ }, {
1320
+ readonly internalType: "address";
1321
+ readonly name: "recipient";
1322
+ readonly type: "address";
1323
+ }];
1324
+ readonly name: "withdraw";
1325
+ readonly outputs: readonly [];
1326
+ readonly stateMutability: "nonpayable";
1327
+ readonly type: "function";
1328
+ }], "deposit", readonly [`0x${string}`, `0x${string}`, bigint, {
1329
+ deadline: bigint;
1330
+ amount: bigint;
1331
+ v: number;
1332
+ r: `0x${string}`;
1333
+ s: `0x${string}`;
1334
+ }], ViemChain | undefined, import('viem').Account | undefined, chainOverride, accountOverride>>;
1335
+ withdraw: <chainOverride extends ViemChain | undefined = undefined, accountOverride extends import('viem').Account | Address | undefined = undefined>(args: readonly [`0x${string}`, readonly bigint[], `0x${string}`], options?: Omit<import('viem').SimulateContractParameters<readonly [{
1336
+ readonly inputs: readonly [{
1337
+ readonly internalType: "address";
1338
+ readonly name: "token";
1339
+ readonly type: "address";
1340
+ }, {
1341
+ readonly internalType: "address";
1342
+ readonly name: "depositor";
1343
+ readonly type: "address";
1344
+ }];
1345
+ readonly name: "getAllDeposits";
1346
+ readonly outputs: readonly [{
1347
+ readonly components: readonly [{
1348
+ readonly internalType: "uint128";
1349
+ readonly name: "amount";
1350
+ readonly type: "uint128";
1351
+ }, {
1352
+ readonly internalType: "uint128";
1353
+ readonly name: "releaseTime";
1354
+ readonly type: "uint128";
1355
+ }];
1356
+ readonly internalType: "struct IPufLocker.Deposit[]";
1357
+ readonly name: "";
1358
+ readonly type: "tuple[]";
1359
+ }];
1360
+ readonly stateMutability: "view";
1361
+ readonly type: "function";
1362
+ }, {
1363
+ readonly inputs: readonly [{
1364
+ readonly internalType: "address";
1365
+ readonly name: "user";
1366
+ readonly type: "address";
1367
+ }, {
1368
+ readonly internalType: "address";
1369
+ readonly name: "token";
1370
+ readonly type: "address";
1371
+ }, {
1372
+ readonly internalType: "uint256";
1373
+ readonly name: "start";
1374
+ readonly type: "uint256";
1375
+ }, {
1376
+ readonly internalType: "uint256";
1377
+ readonly name: "limit";
1378
+ readonly type: "uint256";
1379
+ }];
1380
+ readonly name: "getDeposits";
1381
+ readonly outputs: readonly [{
1382
+ readonly components: readonly [{
1383
+ readonly internalType: "uint128";
1384
+ readonly name: "amount";
1385
+ readonly type: "uint128";
1386
+ }, {
1387
+ readonly internalType: "uint128";
1388
+ readonly name: "releaseTime";
1389
+ readonly type: "uint128";
1390
+ }];
1391
+ readonly internalType: "struct IPufLocker.Deposit[]";
1392
+ readonly name: "";
1393
+ readonly type: "tuple[]";
1394
+ }];
1395
+ readonly stateMutability: "view";
1396
+ readonly type: "function";
1397
+ }, {
1398
+ readonly inputs: readonly [];
1399
+ readonly name: "getLockPeriods";
1400
+ readonly outputs: readonly [{
1401
+ readonly internalType: "uint128";
1402
+ readonly name: "";
1403
+ readonly type: "uint128";
1404
+ }, {
1405
+ readonly internalType: "uint128";
1406
+ readonly name: "";
1407
+ readonly type: "uint128";
1408
+ }];
1409
+ readonly stateMutability: "view";
1410
+ readonly type: "function";
1411
+ }, {
1412
+ readonly inputs: readonly [{
1413
+ readonly internalType: "address";
1414
+ readonly name: "token";
1415
+ readonly type: "address";
1416
+ }, {
1417
+ readonly internalType: "address";
1418
+ readonly name: "recipient";
1419
+ readonly type: "address";
1420
+ }, {
1421
+ readonly internalType: "uint128";
1422
+ readonly name: "lockPeriod";
1423
+ readonly type: "uint128";
1424
+ }, {
1425
+ readonly components: readonly [{
1426
+ readonly internalType: "uint256";
1427
+ readonly name: "deadline";
1428
+ readonly type: "uint256";
1429
+ }, {
1430
+ readonly internalType: "uint256";
1431
+ readonly name: "amount";
1432
+ readonly type: "uint256";
1433
+ }, {
1434
+ readonly internalType: "uint8";
1435
+ readonly name: "v";
1436
+ readonly type: "uint8";
1437
+ }, {
1438
+ readonly internalType: "bytes32";
1439
+ readonly name: "r";
1440
+ readonly type: "bytes32";
1441
+ }, {
1442
+ readonly internalType: "bytes32";
1443
+ readonly name: "s";
1444
+ readonly type: "bytes32";
1445
+ }];
1446
+ readonly internalType: "struct Permit";
1447
+ readonly name: "permitData";
1448
+ readonly type: "tuple";
1449
+ }];
1450
+ readonly name: "deposit";
1451
+ readonly outputs: readonly [];
1452
+ readonly stateMutability: "nonpayable";
1453
+ readonly type: "function";
1454
+ }, {
1455
+ readonly inputs: readonly [{
1456
+ readonly internalType: "address";
1457
+ readonly name: "token";
1458
+ readonly type: "address";
1459
+ }, {
1460
+ readonly internalType: "uint256[]";
1461
+ readonly name: "depositIndexes";
1462
+ readonly type: "uint256[]";
1463
+ }, {
1464
+ readonly internalType: "address";
1465
+ readonly name: "recipient";
1466
+ readonly type: "address";
1467
+ }];
1468
+ readonly name: "withdraw";
1469
+ readonly outputs: readonly [];
1470
+ readonly stateMutability: "nonpayable";
1471
+ readonly type: "function";
1472
+ }], "withdraw", readonly [`0x${string}`, readonly bigint[], `0x${string}`], ViemChain | undefined, chainOverride, accountOverride>, "address" | "abi" | "args" | "functionName"> | undefined) => Promise<import('viem').SimulateContractReturnType<readonly [{
1473
+ readonly inputs: readonly [{
1474
+ readonly internalType: "address";
1475
+ readonly name: "token";
1476
+ readonly type: "address";
1477
+ }, {
1478
+ readonly internalType: "address";
1479
+ readonly name: "depositor";
1480
+ readonly type: "address";
1481
+ }];
1482
+ readonly name: "getAllDeposits";
1483
+ readonly outputs: readonly [{
1484
+ readonly components: readonly [{
1485
+ readonly internalType: "uint128";
1486
+ readonly name: "amount";
1487
+ readonly type: "uint128";
1488
+ }, {
1489
+ readonly internalType: "uint128";
1490
+ readonly name: "releaseTime";
1491
+ readonly type: "uint128";
1492
+ }];
1493
+ readonly internalType: "struct IPufLocker.Deposit[]";
1494
+ readonly name: "";
1495
+ readonly type: "tuple[]";
1496
+ }];
1497
+ readonly stateMutability: "view";
1498
+ readonly type: "function";
1499
+ }, {
1500
+ readonly inputs: readonly [{
1501
+ readonly internalType: "address";
1502
+ readonly name: "user";
1503
+ readonly type: "address";
1504
+ }, {
1505
+ readonly internalType: "address";
1506
+ readonly name: "token";
1507
+ readonly type: "address";
1508
+ }, {
1509
+ readonly internalType: "uint256";
1510
+ readonly name: "start";
1511
+ readonly type: "uint256";
1512
+ }, {
1513
+ readonly internalType: "uint256";
1514
+ readonly name: "limit";
1515
+ readonly type: "uint256";
1516
+ }];
1517
+ readonly name: "getDeposits";
1518
+ readonly outputs: readonly [{
1519
+ readonly components: readonly [{
1520
+ readonly internalType: "uint128";
1521
+ readonly name: "amount";
1522
+ readonly type: "uint128";
1523
+ }, {
1524
+ readonly internalType: "uint128";
1525
+ readonly name: "releaseTime";
1526
+ readonly type: "uint128";
1527
+ }];
1528
+ readonly internalType: "struct IPufLocker.Deposit[]";
1529
+ readonly name: "";
1530
+ readonly type: "tuple[]";
1531
+ }];
1532
+ readonly stateMutability: "view";
1533
+ readonly type: "function";
1534
+ }, {
1535
+ readonly inputs: readonly [];
1536
+ readonly name: "getLockPeriods";
1537
+ readonly outputs: readonly [{
1538
+ readonly internalType: "uint128";
1539
+ readonly name: "";
1540
+ readonly type: "uint128";
1541
+ }, {
1542
+ readonly internalType: "uint128";
1543
+ readonly name: "";
1544
+ readonly type: "uint128";
1545
+ }];
1546
+ readonly stateMutability: "view";
1547
+ readonly type: "function";
1548
+ }, {
1549
+ readonly inputs: readonly [{
1550
+ readonly internalType: "address";
1551
+ readonly name: "token";
1552
+ readonly type: "address";
1553
+ }, {
1554
+ readonly internalType: "address";
1555
+ readonly name: "recipient";
1556
+ readonly type: "address";
1557
+ }, {
1558
+ readonly internalType: "uint128";
1559
+ readonly name: "lockPeriod";
1560
+ readonly type: "uint128";
1561
+ }, {
1562
+ readonly components: readonly [{
1563
+ readonly internalType: "uint256";
1564
+ readonly name: "deadline";
1565
+ readonly type: "uint256";
1566
+ }, {
1567
+ readonly internalType: "uint256";
1568
+ readonly name: "amount";
1569
+ readonly type: "uint256";
1570
+ }, {
1571
+ readonly internalType: "uint8";
1572
+ readonly name: "v";
1573
+ readonly type: "uint8";
1574
+ }, {
1575
+ readonly internalType: "bytes32";
1576
+ readonly name: "r";
1577
+ readonly type: "bytes32";
1578
+ }, {
1579
+ readonly internalType: "bytes32";
1580
+ readonly name: "s";
1581
+ readonly type: "bytes32";
1582
+ }];
1583
+ readonly internalType: "struct Permit";
1584
+ readonly name: "permitData";
1585
+ readonly type: "tuple";
1586
+ }];
1587
+ readonly name: "deposit";
1588
+ readonly outputs: readonly [];
1589
+ readonly stateMutability: "nonpayable";
1590
+ readonly type: "function";
1591
+ }, {
1592
+ readonly inputs: readonly [{
1593
+ readonly internalType: "address";
1594
+ readonly name: "token";
1595
+ readonly type: "address";
1596
+ }, {
1597
+ readonly internalType: "uint256[]";
1598
+ readonly name: "depositIndexes";
1599
+ readonly type: "uint256[]";
1600
+ }, {
1601
+ readonly internalType: "address";
1602
+ readonly name: "recipient";
1603
+ readonly type: "address";
1604
+ }];
1605
+ readonly name: "withdraw";
1606
+ readonly outputs: readonly [];
1607
+ readonly stateMutability: "nonpayable";
1608
+ readonly type: "function";
1609
+ }], "withdraw", readonly [`0x${string}`, readonly bigint[], `0x${string}`], ViemChain | undefined, import('viem').Account | undefined, chainOverride, accountOverride>>;
1610
+ };
1611
+ write: {
1612
+ deposit: <chainOverride extends ViemChain | undefined, options extends import('viem').UnionOmit<import('viem').WriteContractParameters<readonly [{
1613
+ readonly inputs: readonly [{
1614
+ readonly internalType: "address";
1615
+ readonly name: "token";
1616
+ readonly type: "address";
1617
+ }, {
1618
+ readonly internalType: "address";
1619
+ readonly name: "depositor";
1620
+ readonly type: "address";
1621
+ }];
1622
+ readonly name: "getAllDeposits";
1623
+ readonly outputs: readonly [{
1624
+ readonly components: readonly [{
1625
+ readonly internalType: "uint128";
1626
+ readonly name: "amount";
1627
+ readonly type: "uint128";
1628
+ }, {
1629
+ readonly internalType: "uint128";
1630
+ readonly name: "releaseTime";
1631
+ readonly type: "uint128";
1632
+ }];
1633
+ readonly internalType: "struct IPufLocker.Deposit[]";
1634
+ readonly name: "";
1635
+ readonly type: "tuple[]";
1636
+ }];
1637
+ readonly stateMutability: "view";
1638
+ readonly type: "function";
1639
+ }, {
1640
+ readonly inputs: readonly [{
1641
+ readonly internalType: "address";
1642
+ readonly name: "user";
1643
+ readonly type: "address";
1644
+ }, {
1645
+ readonly internalType: "address";
1646
+ readonly name: "token";
1647
+ readonly type: "address";
1648
+ }, {
1649
+ readonly internalType: "uint256";
1650
+ readonly name: "start";
1651
+ readonly type: "uint256";
1652
+ }, {
1653
+ readonly internalType: "uint256";
1654
+ readonly name: "limit";
1655
+ readonly type: "uint256";
1656
+ }];
1657
+ readonly name: "getDeposits";
1658
+ readonly outputs: readonly [{
1659
+ readonly components: readonly [{
1660
+ readonly internalType: "uint128";
1661
+ readonly name: "amount";
1662
+ readonly type: "uint128";
1663
+ }, {
1664
+ readonly internalType: "uint128";
1665
+ readonly name: "releaseTime";
1666
+ readonly type: "uint128";
1667
+ }];
1668
+ readonly internalType: "struct IPufLocker.Deposit[]";
1669
+ readonly name: "";
1670
+ readonly type: "tuple[]";
1671
+ }];
1672
+ readonly stateMutability: "view";
1673
+ readonly type: "function";
1674
+ }, {
1675
+ readonly inputs: readonly [];
1676
+ readonly name: "getLockPeriods";
1677
+ readonly outputs: readonly [{
1678
+ readonly internalType: "uint128";
1679
+ readonly name: "";
1680
+ readonly type: "uint128";
1681
+ }, {
1682
+ readonly internalType: "uint128";
1683
+ readonly name: "";
1684
+ readonly type: "uint128";
1685
+ }];
1686
+ readonly stateMutability: "view";
1687
+ readonly type: "function";
1688
+ }, {
1689
+ readonly inputs: readonly [{
1690
+ readonly internalType: "address";
1691
+ readonly name: "token";
1692
+ readonly type: "address";
1693
+ }, {
1694
+ readonly internalType: "address";
1695
+ readonly name: "recipient";
1696
+ readonly type: "address";
1697
+ }, {
1698
+ readonly internalType: "uint128";
1699
+ readonly name: "lockPeriod";
1700
+ readonly type: "uint128";
1701
+ }, {
1702
+ readonly components: readonly [{
1703
+ readonly internalType: "uint256";
1704
+ readonly name: "deadline";
1705
+ readonly type: "uint256";
1706
+ }, {
1707
+ readonly internalType: "uint256";
1708
+ readonly name: "amount";
1709
+ readonly type: "uint256";
1710
+ }, {
1711
+ readonly internalType: "uint8";
1712
+ readonly name: "v";
1713
+ readonly type: "uint8";
1714
+ }, {
1715
+ readonly internalType: "bytes32";
1716
+ readonly name: "r";
1717
+ readonly type: "bytes32";
1718
+ }, {
1719
+ readonly internalType: "bytes32";
1720
+ readonly name: "s";
1721
+ readonly type: "bytes32";
1722
+ }];
1723
+ readonly internalType: "struct Permit";
1724
+ readonly name: "permitData";
1725
+ readonly type: "tuple";
1726
+ }];
1727
+ readonly name: "deposit";
1728
+ readonly outputs: readonly [];
1729
+ readonly stateMutability: "nonpayable";
1730
+ readonly type: "function";
1731
+ }, {
1732
+ readonly inputs: readonly [{
1733
+ readonly internalType: "address";
1734
+ readonly name: "token";
1735
+ readonly type: "address";
1736
+ }, {
1737
+ readonly internalType: "uint256[]";
1738
+ readonly name: "depositIndexes";
1739
+ readonly type: "uint256[]";
1740
+ }, {
1741
+ readonly internalType: "address";
1742
+ readonly name: "recipient";
1743
+ readonly type: "address";
1744
+ }];
1745
+ readonly name: "withdraw";
1746
+ readonly outputs: readonly [];
1747
+ readonly stateMutability: "nonpayable";
1748
+ readonly type: "function";
1749
+ }], "deposit", readonly [`0x${string}`, `0x${string}`, bigint, {
1750
+ deadline: bigint;
1751
+ amount: bigint;
1752
+ v: number;
1753
+ r: `0x${string}`;
1754
+ s: `0x${string}`;
1755
+ }], ViemChain | undefined, import('viem').Account | undefined, chainOverride>, "address" | "abi" | "args" | "functionName"> extends infer T ? { [K in keyof T]: import('viem').UnionOmit<import('viem').WriteContractParameters<readonly [{
1756
+ readonly inputs: readonly [{
1757
+ readonly internalType: "address";
1758
+ readonly name: "token";
1759
+ readonly type: "address";
1760
+ }, {
1761
+ readonly internalType: "address";
1762
+ readonly name: "depositor";
1763
+ readonly type: "address";
1764
+ }];
1765
+ readonly name: "getAllDeposits";
1766
+ readonly outputs: readonly [{
1767
+ readonly components: readonly [{
1768
+ readonly internalType: "uint128";
1769
+ readonly name: "amount";
1770
+ readonly type: "uint128";
1771
+ }, {
1772
+ readonly internalType: "uint128";
1773
+ readonly name: "releaseTime";
1774
+ readonly type: "uint128";
1775
+ }];
1776
+ readonly internalType: "struct IPufLocker.Deposit[]";
1777
+ readonly name: "";
1778
+ readonly type: "tuple[]";
1779
+ }];
1780
+ readonly stateMutability: "view";
1781
+ readonly type: "function";
1782
+ }, {
1783
+ readonly inputs: readonly [{
1784
+ readonly internalType: "address";
1785
+ readonly name: "user";
1786
+ readonly type: "address";
1787
+ }, {
1788
+ readonly internalType: "address";
1789
+ readonly name: "token";
1790
+ readonly type: "address";
1791
+ }, {
1792
+ readonly internalType: "uint256";
1793
+ readonly name: "start";
1794
+ readonly type: "uint256";
1795
+ }, {
1796
+ readonly internalType: "uint256";
1797
+ readonly name: "limit";
1798
+ readonly type: "uint256";
1799
+ }];
1800
+ readonly name: "getDeposits";
1801
+ readonly outputs: readonly [{
1802
+ readonly components: readonly [{
1803
+ readonly internalType: "uint128";
1804
+ readonly name: "amount";
1805
+ readonly type: "uint128";
1806
+ }, {
1807
+ readonly internalType: "uint128";
1808
+ readonly name: "releaseTime";
1809
+ readonly type: "uint128";
1810
+ }];
1811
+ readonly internalType: "struct IPufLocker.Deposit[]";
1812
+ readonly name: "";
1813
+ readonly type: "tuple[]";
1814
+ }];
1815
+ readonly stateMutability: "view";
1816
+ readonly type: "function";
1817
+ }, {
1818
+ readonly inputs: readonly [];
1819
+ readonly name: "getLockPeriods";
1820
+ readonly outputs: readonly [{
1821
+ readonly internalType: "uint128";
1822
+ readonly name: "";
1823
+ readonly type: "uint128";
1824
+ }, {
1825
+ readonly internalType: "uint128";
1826
+ readonly name: "";
1827
+ readonly type: "uint128";
1828
+ }];
1829
+ readonly stateMutability: "view";
1830
+ readonly type: "function";
1831
+ }, {
1832
+ readonly inputs: readonly [{
1833
+ readonly internalType: "address";
1834
+ readonly name: "token";
1835
+ readonly type: "address";
1836
+ }, {
1837
+ readonly internalType: "address";
1838
+ readonly name: "recipient";
1839
+ readonly type: "address";
1840
+ }, {
1841
+ readonly internalType: "uint128";
1842
+ readonly name: "lockPeriod";
1843
+ readonly type: "uint128";
1844
+ }, {
1845
+ readonly components: readonly [{
1846
+ readonly internalType: "uint256";
1847
+ readonly name: "deadline";
1848
+ readonly type: "uint256";
1849
+ }, {
1850
+ readonly internalType: "uint256";
1851
+ readonly name: "amount";
1852
+ readonly type: "uint256";
1853
+ }, {
1854
+ readonly internalType: "uint8";
1855
+ readonly name: "v";
1856
+ readonly type: "uint8";
1857
+ }, {
1858
+ readonly internalType: "bytes32";
1859
+ readonly name: "r";
1860
+ readonly type: "bytes32";
1861
+ }, {
1862
+ readonly internalType: "bytes32";
1863
+ readonly name: "s";
1864
+ readonly type: "bytes32";
1865
+ }];
1866
+ readonly internalType: "struct Permit";
1867
+ readonly name: "permitData";
1868
+ readonly type: "tuple";
1869
+ }];
1870
+ readonly name: "deposit";
1871
+ readonly outputs: readonly [];
1872
+ readonly stateMutability: "nonpayable";
1873
+ readonly type: "function";
1874
+ }, {
1875
+ readonly inputs: readonly [{
1876
+ readonly internalType: "address";
1877
+ readonly name: "token";
1878
+ readonly type: "address";
1879
+ }, {
1880
+ readonly internalType: "uint256[]";
1881
+ readonly name: "depositIndexes";
1882
+ readonly type: "uint256[]";
1883
+ }, {
1884
+ readonly internalType: "address";
1885
+ readonly name: "recipient";
1886
+ readonly type: "address";
1887
+ }];
1888
+ readonly name: "withdraw";
1889
+ readonly outputs: readonly [];
1890
+ readonly stateMutability: "nonpayable";
1891
+ readonly type: "function";
1892
+ }], "deposit", readonly [`0x${string}`, `0x${string}`, bigint, {
1893
+ deadline: bigint;
1894
+ amount: bigint;
1895
+ v: number;
1896
+ r: `0x${string}`;
1897
+ s: `0x${string}`;
1898
+ }], ViemChain | undefined, import('viem').Account | undefined, chainOverride>, "address" | "abi" | "args" | "functionName">[K]; } : never>(args: readonly [`0x${string}`, `0x${string}`, bigint, {
1899
+ deadline: bigint;
1900
+ amount: bigint;
1901
+ v: number;
1902
+ r: `0x${string}`;
1903
+ s: `0x${string}`;
1904
+ }], options: options) => Promise<import('viem').WriteContractReturnType>;
1905
+ withdraw: <chainOverride extends ViemChain | undefined, options extends import('viem').UnionOmit<import('viem').WriteContractParameters<readonly [{
1906
+ readonly inputs: readonly [{
1907
+ readonly internalType: "address";
1908
+ readonly name: "token";
1909
+ readonly type: "address";
1910
+ }, {
1911
+ readonly internalType: "address";
1912
+ readonly name: "depositor";
1913
+ readonly type: "address";
1914
+ }];
1915
+ readonly name: "getAllDeposits";
1916
+ readonly outputs: readonly [{
1917
+ readonly components: readonly [{
1918
+ readonly internalType: "uint128";
1919
+ readonly name: "amount";
1920
+ readonly type: "uint128";
1921
+ }, {
1922
+ readonly internalType: "uint128";
1923
+ readonly name: "releaseTime";
1924
+ readonly type: "uint128";
1925
+ }];
1926
+ readonly internalType: "struct IPufLocker.Deposit[]";
1927
+ readonly name: "";
1928
+ readonly type: "tuple[]";
1929
+ }];
1930
+ readonly stateMutability: "view";
1931
+ readonly type: "function";
1932
+ }, {
1933
+ readonly inputs: readonly [{
1934
+ readonly internalType: "address";
1935
+ readonly name: "user";
1936
+ readonly type: "address";
1937
+ }, {
1938
+ readonly internalType: "address";
1939
+ readonly name: "token";
1940
+ readonly type: "address";
1941
+ }, {
1942
+ readonly internalType: "uint256";
1943
+ readonly name: "start";
1944
+ readonly type: "uint256";
1945
+ }, {
1946
+ readonly internalType: "uint256";
1947
+ readonly name: "limit";
1948
+ readonly type: "uint256";
1949
+ }];
1950
+ readonly name: "getDeposits";
1951
+ readonly outputs: readonly [{
1952
+ readonly components: readonly [{
1953
+ readonly internalType: "uint128";
1954
+ readonly name: "amount";
1955
+ readonly type: "uint128";
1956
+ }, {
1957
+ readonly internalType: "uint128";
1958
+ readonly name: "releaseTime";
1959
+ readonly type: "uint128";
1960
+ }];
1961
+ readonly internalType: "struct IPufLocker.Deposit[]";
1962
+ readonly name: "";
1963
+ readonly type: "tuple[]";
1964
+ }];
1965
+ readonly stateMutability: "view";
1966
+ readonly type: "function";
1967
+ }, {
1968
+ readonly inputs: readonly [];
1969
+ readonly name: "getLockPeriods";
1970
+ readonly outputs: readonly [{
1971
+ readonly internalType: "uint128";
1972
+ readonly name: "";
1973
+ readonly type: "uint128";
1974
+ }, {
1975
+ readonly internalType: "uint128";
1976
+ readonly name: "";
1977
+ readonly type: "uint128";
1978
+ }];
1979
+ readonly stateMutability: "view";
1980
+ readonly type: "function";
1981
+ }, {
1982
+ readonly inputs: readonly [{
1983
+ readonly internalType: "address";
1984
+ readonly name: "token";
1985
+ readonly type: "address";
1986
+ }, {
1987
+ readonly internalType: "address";
1988
+ readonly name: "recipient";
1989
+ readonly type: "address";
1990
+ }, {
1991
+ readonly internalType: "uint128";
1992
+ readonly name: "lockPeriod";
1993
+ readonly type: "uint128";
1994
+ }, {
1995
+ readonly components: readonly [{
1996
+ readonly internalType: "uint256";
1997
+ readonly name: "deadline";
1998
+ readonly type: "uint256";
1999
+ }, {
2000
+ readonly internalType: "uint256";
2001
+ readonly name: "amount";
2002
+ readonly type: "uint256";
2003
+ }, {
2004
+ readonly internalType: "uint8";
2005
+ readonly name: "v";
2006
+ readonly type: "uint8";
2007
+ }, {
2008
+ readonly internalType: "bytes32";
2009
+ readonly name: "r";
2010
+ readonly type: "bytes32";
2011
+ }, {
2012
+ readonly internalType: "bytes32";
2013
+ readonly name: "s";
2014
+ readonly type: "bytes32";
2015
+ }];
2016
+ readonly internalType: "struct Permit";
2017
+ readonly name: "permitData";
2018
+ readonly type: "tuple";
2019
+ }];
2020
+ readonly name: "deposit";
2021
+ readonly outputs: readonly [];
2022
+ readonly stateMutability: "nonpayable";
2023
+ readonly type: "function";
2024
+ }, {
2025
+ readonly inputs: readonly [{
2026
+ readonly internalType: "address";
2027
+ readonly name: "token";
2028
+ readonly type: "address";
2029
+ }, {
2030
+ readonly internalType: "uint256[]";
2031
+ readonly name: "depositIndexes";
2032
+ readonly type: "uint256[]";
2033
+ }, {
2034
+ readonly internalType: "address";
2035
+ readonly name: "recipient";
2036
+ readonly type: "address";
2037
+ }];
2038
+ readonly name: "withdraw";
2039
+ readonly outputs: readonly [];
2040
+ readonly stateMutability: "nonpayable";
2041
+ readonly type: "function";
2042
+ }], "withdraw", readonly [`0x${string}`, readonly bigint[], `0x${string}`], ViemChain | undefined, import('viem').Account | undefined, chainOverride>, "address" | "abi" | "args" | "functionName"> extends infer T ? { [K in keyof T]: import('viem').UnionOmit<import('viem').WriteContractParameters<readonly [{
2043
+ readonly inputs: readonly [{
2044
+ readonly internalType: "address";
2045
+ readonly name: "token";
2046
+ readonly type: "address";
2047
+ }, {
2048
+ readonly internalType: "address";
2049
+ readonly name: "depositor";
2050
+ readonly type: "address";
2051
+ }];
2052
+ readonly name: "getAllDeposits";
2053
+ readonly outputs: readonly [{
2054
+ readonly components: readonly [{
2055
+ readonly internalType: "uint128";
2056
+ readonly name: "amount";
2057
+ readonly type: "uint128";
2058
+ }, {
2059
+ readonly internalType: "uint128";
2060
+ readonly name: "releaseTime";
2061
+ readonly type: "uint128";
2062
+ }];
2063
+ readonly internalType: "struct IPufLocker.Deposit[]";
2064
+ readonly name: "";
2065
+ readonly type: "tuple[]";
2066
+ }];
2067
+ readonly stateMutability: "view";
2068
+ readonly type: "function";
2069
+ }, {
2070
+ readonly inputs: readonly [{
2071
+ readonly internalType: "address";
2072
+ readonly name: "user";
2073
+ readonly type: "address";
2074
+ }, {
2075
+ readonly internalType: "address";
2076
+ readonly name: "token";
2077
+ readonly type: "address";
2078
+ }, {
2079
+ readonly internalType: "uint256";
2080
+ readonly name: "start";
2081
+ readonly type: "uint256";
2082
+ }, {
2083
+ readonly internalType: "uint256";
2084
+ readonly name: "limit";
2085
+ readonly type: "uint256";
2086
+ }];
2087
+ readonly name: "getDeposits";
2088
+ readonly outputs: readonly [{
2089
+ readonly components: readonly [{
2090
+ readonly internalType: "uint128";
2091
+ readonly name: "amount";
2092
+ readonly type: "uint128";
2093
+ }, {
2094
+ readonly internalType: "uint128";
2095
+ readonly name: "releaseTime";
2096
+ readonly type: "uint128";
2097
+ }];
2098
+ readonly internalType: "struct IPufLocker.Deposit[]";
2099
+ readonly name: "";
2100
+ readonly type: "tuple[]";
2101
+ }];
2102
+ readonly stateMutability: "view";
2103
+ readonly type: "function";
2104
+ }, {
2105
+ readonly inputs: readonly [];
2106
+ readonly name: "getLockPeriods";
2107
+ readonly outputs: readonly [{
2108
+ readonly internalType: "uint128";
2109
+ readonly name: "";
2110
+ readonly type: "uint128";
2111
+ }, {
2112
+ readonly internalType: "uint128";
2113
+ readonly name: "";
2114
+ readonly type: "uint128";
2115
+ }];
2116
+ readonly stateMutability: "view";
2117
+ readonly type: "function";
2118
+ }, {
2119
+ readonly inputs: readonly [{
2120
+ readonly internalType: "address";
2121
+ readonly name: "token";
2122
+ readonly type: "address";
2123
+ }, {
2124
+ readonly internalType: "address";
2125
+ readonly name: "recipient";
2126
+ readonly type: "address";
2127
+ }, {
2128
+ readonly internalType: "uint128";
2129
+ readonly name: "lockPeriod";
2130
+ readonly type: "uint128";
2131
+ }, {
2132
+ readonly components: readonly [{
2133
+ readonly internalType: "uint256";
2134
+ readonly name: "deadline";
2135
+ readonly type: "uint256";
2136
+ }, {
2137
+ readonly internalType: "uint256";
2138
+ readonly name: "amount";
2139
+ readonly type: "uint256";
2140
+ }, {
2141
+ readonly internalType: "uint8";
2142
+ readonly name: "v";
2143
+ readonly type: "uint8";
2144
+ }, {
2145
+ readonly internalType: "bytes32";
2146
+ readonly name: "r";
2147
+ readonly type: "bytes32";
2148
+ }, {
2149
+ readonly internalType: "bytes32";
2150
+ readonly name: "s";
2151
+ readonly type: "bytes32";
2152
+ }];
2153
+ readonly internalType: "struct Permit";
2154
+ readonly name: "permitData";
2155
+ readonly type: "tuple";
2156
+ }];
2157
+ readonly name: "deposit";
2158
+ readonly outputs: readonly [];
2159
+ readonly stateMutability: "nonpayable";
2160
+ readonly type: "function";
2161
+ }, {
2162
+ readonly inputs: readonly [{
2163
+ readonly internalType: "address";
2164
+ readonly name: "token";
2165
+ readonly type: "address";
2166
+ }, {
2167
+ readonly internalType: "uint256[]";
2168
+ readonly name: "depositIndexes";
2169
+ readonly type: "uint256[]";
2170
+ }, {
2171
+ readonly internalType: "address";
2172
+ readonly name: "recipient";
2173
+ readonly type: "address";
2174
+ }];
2175
+ readonly name: "withdraw";
2176
+ readonly outputs: readonly [];
2177
+ readonly stateMutability: "nonpayable";
2178
+ readonly type: "function";
2179
+ }], "withdraw", readonly [`0x${string}`, readonly bigint[], `0x${string}`], ViemChain | undefined, import('viem').Account | undefined, chainOverride>, "address" | "abi" | "args" | "functionName">[K]; } : never>(args: readonly [`0x${string}`, readonly bigint[], `0x${string}`], options: options) => Promise<import('viem').WriteContractReturnType>;
2180
+ };
2181
+ address: `0x${string}`;
2182
+ abi: readonly [{
2183
+ readonly inputs: readonly [{
2184
+ readonly internalType: "address";
2185
+ readonly name: "token";
2186
+ readonly type: "address";
2187
+ }, {
2188
+ readonly internalType: "address";
2189
+ readonly name: "depositor";
2190
+ readonly type: "address";
2191
+ }];
2192
+ readonly name: "getAllDeposits";
2193
+ readonly outputs: readonly [{
2194
+ readonly components: readonly [{
2195
+ readonly internalType: "uint128";
2196
+ readonly name: "amount";
2197
+ readonly type: "uint128";
2198
+ }, {
2199
+ readonly internalType: "uint128";
2200
+ readonly name: "releaseTime";
2201
+ readonly type: "uint128";
2202
+ }];
2203
+ readonly internalType: "struct IPufLocker.Deposit[]";
2204
+ readonly name: "";
2205
+ readonly type: "tuple[]";
2206
+ }];
2207
+ readonly stateMutability: "view";
2208
+ readonly type: "function";
2209
+ }, {
2210
+ readonly inputs: readonly [{
2211
+ readonly internalType: "address";
2212
+ readonly name: "user";
2213
+ readonly type: "address";
2214
+ }, {
2215
+ readonly internalType: "address";
2216
+ readonly name: "token";
2217
+ readonly type: "address";
2218
+ }, {
2219
+ readonly internalType: "uint256";
2220
+ readonly name: "start";
2221
+ readonly type: "uint256";
2222
+ }, {
2223
+ readonly internalType: "uint256";
2224
+ readonly name: "limit";
2225
+ readonly type: "uint256";
2226
+ }];
2227
+ readonly name: "getDeposits";
2228
+ readonly outputs: readonly [{
2229
+ readonly components: readonly [{
2230
+ readonly internalType: "uint128";
2231
+ readonly name: "amount";
2232
+ readonly type: "uint128";
2233
+ }, {
2234
+ readonly internalType: "uint128";
2235
+ readonly name: "releaseTime";
2236
+ readonly type: "uint128";
2237
+ }];
2238
+ readonly internalType: "struct IPufLocker.Deposit[]";
2239
+ readonly name: "";
2240
+ readonly type: "tuple[]";
2241
+ }];
2242
+ readonly stateMutability: "view";
2243
+ readonly type: "function";
2244
+ }, {
2245
+ readonly inputs: readonly [];
2246
+ readonly name: "getLockPeriods";
2247
+ readonly outputs: readonly [{
2248
+ readonly internalType: "uint128";
2249
+ readonly name: "";
2250
+ readonly type: "uint128";
2251
+ }, {
2252
+ readonly internalType: "uint128";
2253
+ readonly name: "";
2254
+ readonly type: "uint128";
2255
+ }];
2256
+ readonly stateMutability: "view";
2257
+ readonly type: "function";
2258
+ }, {
2259
+ readonly inputs: readonly [{
2260
+ readonly internalType: "address";
2261
+ readonly name: "token";
2262
+ readonly type: "address";
2263
+ }, {
2264
+ readonly internalType: "address";
2265
+ readonly name: "recipient";
2266
+ readonly type: "address";
2267
+ }, {
2268
+ readonly internalType: "uint128";
2269
+ readonly name: "lockPeriod";
2270
+ readonly type: "uint128";
2271
+ }, {
2272
+ readonly components: readonly [{
2273
+ readonly internalType: "uint256";
2274
+ readonly name: "deadline";
2275
+ readonly type: "uint256";
2276
+ }, {
2277
+ readonly internalType: "uint256";
2278
+ readonly name: "amount";
2279
+ readonly type: "uint256";
2280
+ }, {
2281
+ readonly internalType: "uint8";
2282
+ readonly name: "v";
2283
+ readonly type: "uint8";
2284
+ }, {
2285
+ readonly internalType: "bytes32";
2286
+ readonly name: "r";
2287
+ readonly type: "bytes32";
2288
+ }, {
2289
+ readonly internalType: "bytes32";
2290
+ readonly name: "s";
2291
+ readonly type: "bytes32";
2292
+ }];
2293
+ readonly internalType: "struct Permit";
2294
+ readonly name: "permitData";
2295
+ readonly type: "tuple";
2296
+ }];
2297
+ readonly name: "deposit";
2298
+ readonly outputs: readonly [];
2299
+ readonly stateMutability: "nonpayable";
2300
+ readonly type: "function";
2301
+ }, {
2302
+ readonly inputs: readonly [{
2303
+ readonly internalType: "address";
2304
+ readonly name: "token";
2305
+ readonly type: "address";
2306
+ }, {
2307
+ readonly internalType: "uint256[]";
2308
+ readonly name: "depositIndexes";
2309
+ readonly type: "uint256[]";
2310
+ }, {
2311
+ readonly internalType: "address";
2312
+ readonly name: "recipient";
2313
+ readonly type: "address";
2314
+ }];
2315
+ readonly name: "withdraw";
2316
+ readonly outputs: readonly [];
2317
+ readonly stateMutability: "nonpayable";
2318
+ readonly type: "function";
2319
+ }];
2320
+ };
2321
+ /**
2322
+ * Get all deposits of the given account address.
2323
+ *
2324
+ * @param pufToken The PufToken to get the deposits for.
2325
+ * @param walletAddress The wallet address to get the deposits for.
2326
+ * @returns The amount and deposits of the given account address.
2327
+ */
2328
+ getAllDeposits(pufToken: AnyToken, walletAddress: Address): Promise<readonly {
2329
+ amount: bigint;
2330
+ releaseTime: bigint;
2331
+ }[]>;
2332
+ /**
2333
+ * Get the user's deposits for the given token and deposit index.
2334
+ *
2335
+ * @param pufToken PufToken to get the deposits of.
2336
+ * @param userAddress User address to get the deposits for.
2337
+ * @param start The starting index of the deposits.
2338
+ * @param limit The maximum number of deposits to retrieve.
2339
+ * @returns The amount and release time of the deposits.
2340
+ */
2341
+ getDeposits(pufToken: AnyToken, userAddress: Address, start: bigint, limit: bigint): Promise<readonly {
2342
+ amount: bigint;
2343
+ releaseTime: bigint;
2344
+ }[]>;
2345
+ /**
2346
+ * Get the minimum and maximum lock periods allowed for deposits.
2347
+ *
2348
+ * @returns The minimum and maximum lock period in seconds.
2349
+ * (`[minLock, maxLock]`)
2350
+ */
2351
+ getLockPeriods(): Promise<readonly [bigint, bigint]>;
2352
+ /**
2353
+ * Deposit the given PufToken into the locker. This doesn't make the
2354
+ * transaction but returns two methods namely `transact` and
2355
+ * `estimate`.
2356
+ *
2357
+ * @param depositParams.pufToken PufToken to deposit.
2358
+ * @param depositParams.account Wallet address of the depositor.
2359
+ * @param depositParams.recipient Recipient of the deposit.
2360
+ * @param depositParams.value Amount of the deposit.
2361
+ * @param depositParams.lockPeriod The period for the deposit in
2362
+ * seconds.
2363
+ * @param depositParams.isPreapproved Whether the token is
2364
+ * pre-approved or needs a permit.
2365
+ * @returns `transact: () => Promise<Address>` - Used to make the
2366
+ * transaction.
2367
+ *
2368
+ * `estimate: () => Promise<bigint>` - Gas estimate of the
2369
+ * transaction.
2370
+ */
2371
+ deposit(depositParams: LockerDepositParams): Promise<{
2372
+ transact: () => Promise<`0x${string}`>;
2373
+ estimate: () => Promise<bigint>;
2374
+ }>;
2375
+ /**
2376
+ * Withdraw the deposits identified by the deposit indexes from the
2377
+ * locker.
2378
+ *
2379
+ * @param pufToken PufToken to withdraw.
2380
+ * @param walletAddress Address of the account making the transaction.
2381
+ * @param recipient Recipient of the withdrawal.
2382
+ * @param depositIndexes Deposit indexes to withdraw.
2383
+ * @returns Hash of the withdrawal transaction.
2384
+ */
2385
+ withdraw(pufToken: AnyToken, walletAddress: Address, recipient: Address, depositIndexes: bigint[]): {
2386
+ transact: () => Promise<`0x${string}`>;
2387
+ estimate: () => Promise<bigint>;
2388
+ };
2389
+ }