@pufferfinance/puffer-sdk 1.13.2 → 1.14.0

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 (210) hide show
  1. package/dist/api/puffer-client-helpers.cjs.map +1 -1
  2. package/dist/api/puffer-client-helpers.js.map +1 -1
  3. package/dist/ccip-C0xwQhXU.cjs.map +1 -1
  4. package/dist/ccip-K-z2PL4P.js.map +1 -1
  5. package/dist/constants-BcPRVxdH.cjs.map +1 -1
  6. package/dist/constants-CH7Tz5jz.js.map +1 -1
  7. package/dist/contracts/abis/mainnet/Accountant.cjs +1 -1
  8. package/dist/contracts/abis/mainnet/Accountant.cjs.map +1 -1
  9. package/dist/contracts/abis/mainnet/Accountant.d.ts +13 -457
  10. package/dist/contracts/abis/mainnet/Accountant.js +12 -441
  11. package/dist/contracts/abis/mainnet/Accountant.js.map +1 -1
  12. package/dist/contracts/abis/mainnet/BoringVault.cjs +1 -1
  13. package/dist/contracts/abis/mainnet/BoringVault.cjs.map +1 -1
  14. package/dist/contracts/abis/mainnet/BoringVault.d.ts +18 -505
  15. package/dist/contracts/abis/mainnet/BoringVault.js +15 -346
  16. package/dist/contracts/abis/mainnet/BoringVault.js.map +1 -1
  17. package/dist/contracts/abis/mainnet/CarrotStaker.cjs +1 -1
  18. package/dist/contracts/abis/mainnet/CarrotStaker.cjs.map +1 -1
  19. package/dist/contracts/abis/mainnet/CarrotStaker.d.ts +2 -371
  20. package/dist/contracts/abis/mainnet/CarrotStaker.js +4 -295
  21. package/dist/contracts/abis/mainnet/CarrotStaker.js.map +1 -1
  22. package/dist/contracts/abis/mainnet/Distributor.cjs +1 -1
  23. package/dist/contracts/abis/mainnet/Distributor.cjs.map +1 -1
  24. package/dist/contracts/abis/mainnet/Distributor.d.ts +0 -413
  25. package/dist/contracts/abis/mainnet/Distributor.js +2 -355
  26. package/dist/contracts/abis/mainnet/Distributor.js.map +1 -1
  27. package/dist/contracts/abis/mainnet/L1RewardManager.cjs +1 -1
  28. package/dist/contracts/abis/mainnet/L1RewardManager.cjs.map +1 -1
  29. package/dist/contracts/abis/mainnet/L1RewardManager.d.ts +0 -489
  30. package/dist/contracts/abis/mainnet/L1RewardManager.js +0 -411
  31. package/dist/contracts/abis/mainnet/L1RewardManager.js.map +1 -1
  32. package/dist/contracts/abis/mainnet/L2RewardManager.cjs +1 -1
  33. package/dist/contracts/abis/mainnet/L2RewardManager.cjs.map +1 -1
  34. package/dist/contracts/abis/mainnet/L2RewardManager.d.ts +23 -569
  35. package/dist/contracts/abis/mainnet/L2RewardManager.js +16 -484
  36. package/dist/contracts/abis/mainnet/L2RewardManager.js.map +1 -1
  37. package/dist/contracts/abis/mainnet/PufLocker.cjs +1 -1
  38. package/dist/contracts/abis/mainnet/PufLocker.cjs.map +1 -1
  39. package/dist/contracts/abis/mainnet/PufLocker.d.ts +29 -371
  40. package/dist/contracts/abis/mainnet/PufLocker.js +15 -285
  41. package/dist/contracts/abis/mainnet/PufLocker.js.map +1 -1
  42. package/dist/contracts/abis/mainnet/PufferL2Depositor.cjs +1 -1
  43. package/dist/contracts/abis/mainnet/PufferL2Depositor.cjs.map +1 -1
  44. package/dist/contracts/abis/mainnet/PufferL2Depositor.d.ts +0 -325
  45. package/dist/contracts/abis/mainnet/PufferL2Depositor.js +0 -270
  46. package/dist/contracts/abis/mainnet/PufferL2Depositor.js.map +1 -1
  47. package/dist/contracts/abis/mainnet/PufferVaultV2.cjs +1 -1
  48. package/dist/contracts/abis/mainnet/PufferVaultV2.cjs.map +1 -1
  49. package/dist/contracts/abis/mainnet/PufferVaultV2.d.ts +35 -1289
  50. package/dist/contracts/abis/mainnet/PufferVaultV2.js +45 -1681
  51. package/dist/contracts/abis/mainnet/PufferVaultV2.js.map +1 -1
  52. package/dist/contracts/abis/mainnet/PufferWithdrawalManager.cjs +1 -1
  53. package/dist/contracts/abis/mainnet/PufferWithdrawalManager.cjs.map +1 -1
  54. package/dist/contracts/abis/mainnet/PufferWithdrawalManager.d.ts +3 -426
  55. package/dist/contracts/abis/mainnet/PufferWithdrawalManager.js +5 -552
  56. package/dist/contracts/abis/mainnet/PufferWithdrawalManager.js.map +1 -1
  57. package/dist/contracts/abis/mainnet/Teller.cjs +1 -1
  58. package/dist/contracts/abis/mainnet/Teller.cjs.map +1 -1
  59. package/dist/contracts/abis/mainnet/Teller.d.ts +18 -444
  60. package/dist/contracts/abis/mainnet/Teller.js +15 -390
  61. package/dist/contracts/abis/mainnet/Teller.js.map +1 -1
  62. package/dist/contracts/abis/mainnet/mtwCARROT.cjs +1 -1
  63. package/dist/contracts/abis/mainnet/mtwCARROT.cjs.map +1 -1
  64. package/dist/contracts/abis/mainnet/mtwCARROT.d.ts +69 -399
  65. package/dist/contracts/abis/mainnet/mtwCARROT.js +43 -346
  66. package/dist/contracts/abis/mainnet/mtwCARROT.js.map +1 -1
  67. package/dist/contracts/addresses.cjs.map +1 -1
  68. package/dist/contracts/addresses.js +3 -0
  69. package/dist/contracts/addresses.js.map +1 -1
  70. package/dist/contracts/handlers/carrot-staking-handler.d.ts +1652 -0
  71. package/dist/contracts/handlers/distributor-handler.cjs +1 -1
  72. package/dist/contracts/handlers/distributor-handler.cjs.map +1 -1
  73. package/dist/contracts/handlers/distributor-handler.d.ts +8762 -0
  74. package/dist/contracts/handlers/distributor-handler.js +13 -127
  75. package/dist/contracts/handlers/distributor-handler.js.map +1 -1
  76. package/dist/contracts/handlers/erc20-permit-handler.cjs +1 -1
  77. package/dist/contracts/handlers/erc20-permit-handler.cjs.map +1 -1
  78. package/dist/contracts/handlers/erc20-permit-handler.d.ts +4 -4
  79. package/dist/contracts/handlers/erc20-permit-handler.js +12 -12
  80. package/dist/contracts/handlers/erc20-permit-handler.js.map +1 -1
  81. package/dist/contracts/handlers/l1-reward-manager-handler.cjs +1 -1
  82. package/dist/contracts/handlers/l1-reward-manager-handler.cjs.map +1 -1
  83. package/dist/contracts/handlers/l1-reward-manager-handler.d.ts +339 -0
  84. package/dist/contracts/handlers/l1-reward-manager-handler.js +13 -13
  85. package/dist/contracts/handlers/l1-reward-manager-handler.js.map +1 -1
  86. package/dist/contracts/handlers/l2-reward-manager-handler.cjs +1 -1
  87. package/dist/contracts/handlers/l2-reward-manager-handler.cjs.map +1 -1
  88. package/dist/contracts/handlers/l2-reward-manager-handler.d.ts +2423 -0
  89. package/dist/contracts/handlers/l2-reward-manager-handler.js +4 -4
  90. package/dist/contracts/handlers/l2-reward-manager-handler.js.map +1 -1
  91. package/dist/contracts/handlers/mtw-carrot-handler.d.ts +14333 -0
  92. package/dist/contracts/handlers/nucleus-accountant-handler.cjs +1 -1
  93. package/dist/contracts/handlers/nucleus-accountant-handler.cjs.map +1 -1
  94. package/dist/contracts/handlers/nucleus-accountant-handler.d.ts +620 -0
  95. package/dist/contracts/handlers/nucleus-accountant-handler.js +8 -8
  96. package/dist/contracts/handlers/nucleus-accountant-handler.js.map +1 -1
  97. package/dist/contracts/handlers/nucleus-atomic-queue-handler.cjs +1 -1
  98. package/dist/contracts/handlers/nucleus-atomic-queue-handler.cjs.map +1 -1
  99. package/dist/contracts/handlers/nucleus-atomic-queue-handler.js +9 -9
  100. package/dist/contracts/handlers/nucleus-atomic-queue-handler.js.map +1 -1
  101. package/dist/contracts/handlers/nucleus-boring-vault-handler.cjs +1 -1
  102. package/dist/contracts/handlers/nucleus-boring-vault-handler.cjs.map +1 -1
  103. package/dist/contracts/handlers/nucleus-boring-vault-handler.d.ts +3917 -0
  104. package/dist/contracts/handlers/nucleus-boring-vault-handler.js +22 -22
  105. package/dist/contracts/handlers/nucleus-boring-vault-handler.js.map +1 -1
  106. package/dist/contracts/handlers/nucleus-teller-handler.cjs +1 -1
  107. package/dist/contracts/handlers/nucleus-teller-handler.cjs.map +1 -1
  108. package/dist/contracts/handlers/nucleus-teller-handler.d.ts +2209 -0
  109. package/dist/contracts/handlers/nucleus-teller-handler.js +13 -13
  110. package/dist/contracts/handlers/nucleus-teller-handler.js.map +1 -1
  111. package/dist/contracts/handlers/puf-locker-handler.cjs +1 -1
  112. package/dist/contracts/handlers/puf-locker-handler.cjs.map +1 -1
  113. package/dist/contracts/handlers/puf-locker-handler.d.ts +2389 -0
  114. package/dist/contracts/handlers/puf-locker-handler.js +11 -11
  115. package/dist/contracts/handlers/puf-locker-handler.js.map +1 -1
  116. package/dist/contracts/handlers/puffer-depositor-handler.cjs +1 -1
  117. package/dist/contracts/handlers/puffer-depositor-handler.cjs.map +1 -1
  118. package/dist/contracts/handlers/puffer-depositor-handler.d.ts +100 -100
  119. package/dist/contracts/handlers/puffer-depositor-handler.js +18 -18
  120. package/dist/contracts/handlers/puffer-depositor-handler.js.map +1 -1
  121. package/dist/contracts/handlers/puffer-l2-depositor-handler.cjs +1 -1
  122. package/dist/contracts/handlers/puffer-l2-depositor-handler.cjs.map +1 -1
  123. package/dist/contracts/handlers/puffer-l2-depositor-handler.d.ts +471 -0
  124. package/dist/contracts/handlers/puffer-l2-depositor-handler.js +16 -16
  125. package/dist/contracts/handlers/puffer-l2-depositor-handler.js.map +1 -1
  126. package/dist/contracts/handlers/puffer-vault-handler.cjs +1 -1
  127. package/dist/contracts/handlers/puffer-vault-handler.cjs.map +1 -1
  128. package/dist/contracts/handlers/puffer-vault-handler.d.ts +4657 -0
  129. package/dist/contracts/handlers/puffer-vault-handler.js +2 -2
  130. package/dist/contracts/handlers/puffer-vault-handler.js.map +1 -1
  131. package/dist/contracts/handlers/puffer-withdrawal-manager-handler.cjs +1 -1
  132. package/dist/contracts/handlers/puffer-withdrawal-manager-handler.cjs.map +1 -1
  133. package/dist/contracts/handlers/puffer-withdrawal-manager-handler.d.ts +1882 -0
  134. package/dist/contracts/handlers/puffer-withdrawal-manager-handler.js +8 -8
  135. package/dist/contracts/handlers/puffer-withdrawal-manager-handler.js.map +1 -1
  136. package/dist/contracts/vaults-addresses.d.ts +5 -4
  137. package/dist/createWalletClient-DNLhBkOd.js.map +1 -1
  138. package/dist/createWalletClient-Di5of07E.cjs.map +1 -1
  139. package/dist/getContract-6ajhFbP2.js.map +1 -1
  140. package/dist/getContract-ChPFzc5y.cjs.map +1 -1
  141. package/dist/utils/version.cjs +1 -1
  142. package/dist/utils/version.js +1 -1
  143. package/dist/writeContract-BatuNuTe.cjs.map +1 -1
  144. package/dist/writeContract-CjcOEtWX.js.map +1 -1
  145. package/package.json +2 -2
  146. package/dist/contracts/abis/holesky/PufferDepositor.cjs +0 -2
  147. package/dist/contracts/abis/holesky/PufferDepositor.cjs.map +0 -1
  148. package/dist/contracts/abis/holesky/PufferDepositor.d.ts +0 -283
  149. package/dist/contracts/abis/holesky/PufferDepositor.js +0 -377
  150. package/dist/contracts/abis/holesky/PufferDepositor.js.map +0 -1
  151. package/dist/contracts/abis/holesky/PufferVaultV2.cjs +0 -2
  152. package/dist/contracts/abis/holesky/PufferVaultV2.cjs.map +0 -1
  153. package/dist/contracts/abis/holesky/PufferVaultV2.d.ts +0 -1361
  154. package/dist/contracts/abis/holesky/PufferVaultV2.js +0 -1787
  155. package/dist/contracts/abis/holesky/PufferVaultV2.js.map +0 -1
  156. package/dist/contracts/abis/l1-reward-manager-abis.cjs +0 -2
  157. package/dist/contracts/abis/l1-reward-manager-abis.cjs.map +0 -1
  158. package/dist/contracts/abis/l1-reward-manager-abis.d.ts +0 -527
  159. package/dist/contracts/abis/l1-reward-manager-abis.js +0 -10
  160. package/dist/contracts/abis/l1-reward-manager-abis.js.map +0 -1
  161. package/dist/contracts/abis/l2-reward-manager-abis.cjs +0 -2
  162. package/dist/contracts/abis/l2-reward-manager-abis.cjs.map +0 -1
  163. package/dist/contracts/abis/l2-reward-manager-abis.d.ts +0 -709
  164. package/dist/contracts/abis/l2-reward-manager-abis.js +0 -11
  165. package/dist/contracts/abis/l2-reward-manager-abis.js.map +0 -1
  166. package/dist/contracts/abis/nucleus-accountant-abis.cjs +0 -2
  167. package/dist/contracts/abis/nucleus-accountant-abis.cjs.map +0 -1
  168. package/dist/contracts/abis/nucleus-accountant-abis.d.ts +0 -525
  169. package/dist/contracts/abis/nucleus-accountant-abis.js +0 -9
  170. package/dist/contracts/abis/nucleus-accountant-abis.js.map +0 -1
  171. package/dist/contracts/abis/nucleus-atomic-queue-abis.cjs +0 -2
  172. package/dist/contracts/abis/nucleus-atomic-queue-abis.cjs.map +0 -1
  173. package/dist/contracts/abis/nucleus-atomic-queue-abis.d.ts +0 -332
  174. package/dist/contracts/abis/nucleus-atomic-queue-abis.js +0 -9
  175. package/dist/contracts/abis/nucleus-atomic-queue-abis.js.map +0 -1
  176. package/dist/contracts/abis/nucleus-boring-vault-abis.cjs +0 -2
  177. package/dist/contracts/abis/nucleus-boring-vault-abis.cjs.map +0 -1
  178. package/dist/contracts/abis/nucleus-boring-vault-abis.d.ts +0 -626
  179. package/dist/contracts/abis/nucleus-boring-vault-abis.js +0 -9
  180. package/dist/contracts/abis/nucleus-boring-vault-abis.js.map +0 -1
  181. package/dist/contracts/abis/nucleus-teller-abis.cjs +0 -2
  182. package/dist/contracts/abis/nucleus-teller-abis.cjs.map +0 -1
  183. package/dist/contracts/abis/nucleus-teller-abis.d.ts +0 -545
  184. package/dist/contracts/abis/nucleus-teller-abis.js +0 -9
  185. package/dist/contracts/abis/nucleus-teller-abis.js.map +0 -1
  186. package/dist/contracts/abis/puf-locker-abis.cjs +0 -2
  187. package/dist/contracts/abis/puf-locker-abis.cjs.map +0 -1
  188. package/dist/contracts/abis/puf-locker-abis.d.ts +0 -484
  189. package/dist/contracts/abis/puf-locker-abis.js +0 -10
  190. package/dist/contracts/abis/puf-locker-abis.js.map +0 -1
  191. package/dist/contracts/abis/puffer-depositor-abis.cjs +0 -2
  192. package/dist/contracts/abis/puffer-depositor-abis.cjs.map +0 -1
  193. package/dist/contracts/abis/puffer-depositor-abis.d.ts +0 -664
  194. package/dist/contracts/abis/puffer-depositor-abis.js +0 -20
  195. package/dist/contracts/abis/puffer-depositor-abis.js.map +0 -1
  196. package/dist/contracts/abis/puffer-vault-abis.cjs +0 -2
  197. package/dist/contracts/abis/puffer-vault-abis.cjs.map +0 -1
  198. package/dist/contracts/abis/puffer-vault-abis.d.ts +0 -2787
  199. package/dist/contracts/abis/puffer-vault-abis.js +0 -15
  200. package/dist/contracts/abis/puffer-vault-abis.js.map +0 -1
  201. package/dist/contracts/abis/puffer-withdrawal-manager-abis.cjs +0 -2
  202. package/dist/contracts/abis/puffer-withdrawal-manager-abis.cjs.map +0 -1
  203. package/dist/contracts/abis/puffer-withdrawal-manager-abis.d.ts +0 -514
  204. package/dist/contracts/abis/puffer-withdrawal-manager-abis.js +0 -10
  205. package/dist/contracts/abis/puffer-withdrawal-manager-abis.js.map +0 -1
  206. package/dist/contracts/abis/tokens-abis.cjs +0 -2
  207. package/dist/contracts/abis/tokens-abis.cjs.map +0 -1
  208. package/dist/contracts/abis/tokens-abis.d.ts +0 -396
  209. package/dist/contracts/abis/tokens-abis.js +0 -6
  210. 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
+ }