@pufferfinance/puffer-sdk 1.17.9 → 1.18.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.
- package/dist/api/puffer-client.cjs +1 -1
- package/dist/api/puffer-client.cjs.map +1 -1
- package/dist/api/puffer-client.d.ts +3 -0
- package/dist/api/puffer-client.js +25 -18
- package/dist/api/puffer-client.js.map +1 -1
- package/dist/contracts/abis/mainnet/ValidatorTicket.cjs +2 -0
- package/dist/contracts/abis/mainnet/ValidatorTicket.cjs.map +1 -0
- package/dist/contracts/abis/mainnet/ValidatorTicket.d.ts +464 -0
- package/dist/contracts/abis/mainnet/ValidatorTicket.js +489 -0
- package/dist/contracts/abis/mainnet/ValidatorTicket.js.map +1 -0
- package/dist/contracts/addresses.cjs +1 -1
- package/dist/contracts/addresses.cjs.map +1 -1
- package/dist/contracts/addresses.d.ts +3 -0
- package/dist/contracts/addresses.js +4 -2
- package/dist/contracts/addresses.js.map +1 -1
- package/dist/contracts/handlers/validator-ticket-handler.cjs +2 -0
- package/dist/contracts/handlers/validator-ticket-handler.cjs.map +1 -0
- package/dist/contracts/handlers/validator-ticket-handler.d.ts +15174 -0
- package/dist/contracts/handlers/validator-ticket-handler.js +246 -0
- package/dist/contracts/handlers/validator-ticket-handler.js.map +1 -0
- package/dist/main.cjs +1 -1
- package/dist/main.d.ts +1 -0
- package/dist/main.js +22 -20
- package/dist/main.js.map +1 -1
- package/dist/utils/version.cjs +1 -1
- package/dist/utils/version.js +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,489 @@
|
|
|
1
|
+
const e = [
|
|
2
|
+
{
|
|
3
|
+
type: "constructor",
|
|
4
|
+
inputs: [
|
|
5
|
+
{
|
|
6
|
+
name: "guardianModule",
|
|
7
|
+
type: "address",
|
|
8
|
+
internalType: "address payable"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
name: "treasury",
|
|
12
|
+
type: "address",
|
|
13
|
+
internalType: "address payable"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
name: "pufferVault",
|
|
17
|
+
type: "address",
|
|
18
|
+
internalType: "address payable"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
name: "pufferOracle",
|
|
22
|
+
type: "address",
|
|
23
|
+
internalType: "contract IPufferOracle"
|
|
24
|
+
}
|
|
25
|
+
],
|
|
26
|
+
stateMutability: "nonpayable"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
type: "function",
|
|
30
|
+
name: "DOMAIN_SEPARATOR",
|
|
31
|
+
inputs: [],
|
|
32
|
+
outputs: [{ name: "", type: "bytes32", internalType: "bytes32" }],
|
|
33
|
+
stateMutability: "view"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
type: "function",
|
|
37
|
+
name: "allowance",
|
|
38
|
+
inputs: [
|
|
39
|
+
{
|
|
40
|
+
name: "owner",
|
|
41
|
+
type: "address",
|
|
42
|
+
internalType: "address"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: "spender",
|
|
46
|
+
type: "address",
|
|
47
|
+
internalType: "address"
|
|
48
|
+
}
|
|
49
|
+
],
|
|
50
|
+
outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
|
|
51
|
+
stateMutability: "view"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
type: "function",
|
|
55
|
+
name: "approve",
|
|
56
|
+
inputs: [
|
|
57
|
+
{
|
|
58
|
+
name: "spender",
|
|
59
|
+
type: "address",
|
|
60
|
+
internalType: "address"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
name: "value",
|
|
64
|
+
type: "uint256",
|
|
65
|
+
internalType: "uint256"
|
|
66
|
+
}
|
|
67
|
+
],
|
|
68
|
+
outputs: [{ name: "", type: "bool", internalType: "bool" }],
|
|
69
|
+
stateMutability: "nonpayable"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: "function",
|
|
73
|
+
name: "balanceOf",
|
|
74
|
+
inputs: [
|
|
75
|
+
{
|
|
76
|
+
name: "account",
|
|
77
|
+
type: "address",
|
|
78
|
+
internalType: "address"
|
|
79
|
+
}
|
|
80
|
+
],
|
|
81
|
+
outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
|
|
82
|
+
stateMutability: "view"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: "function",
|
|
86
|
+
name: "burn",
|
|
87
|
+
inputs: [
|
|
88
|
+
{
|
|
89
|
+
name: "amount",
|
|
90
|
+
type: "uint256",
|
|
91
|
+
internalType: "uint256"
|
|
92
|
+
}
|
|
93
|
+
],
|
|
94
|
+
outputs: [],
|
|
95
|
+
stateMutability: "nonpayable"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
type: "function",
|
|
99
|
+
name: "decimals",
|
|
100
|
+
inputs: [],
|
|
101
|
+
outputs: [{ name: "", type: "uint8", internalType: "uint8" }],
|
|
102
|
+
stateMutability: "view"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
type: "function",
|
|
106
|
+
name: "eip712Domain",
|
|
107
|
+
inputs: [],
|
|
108
|
+
outputs: [
|
|
109
|
+
{
|
|
110
|
+
name: "fields",
|
|
111
|
+
type: "bytes1",
|
|
112
|
+
internalType: "bytes1"
|
|
113
|
+
},
|
|
114
|
+
{ name: "name", type: "string", internalType: "string" },
|
|
115
|
+
{
|
|
116
|
+
name: "version",
|
|
117
|
+
type: "string",
|
|
118
|
+
internalType: "string"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
name: "chainId",
|
|
122
|
+
type: "uint256",
|
|
123
|
+
internalType: "uint256"
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
name: "verifyingContract",
|
|
127
|
+
type: "address",
|
|
128
|
+
internalType: "address"
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
name: "salt",
|
|
132
|
+
type: "bytes32",
|
|
133
|
+
internalType: "bytes32"
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
name: "extensions",
|
|
137
|
+
type: "uint256[]",
|
|
138
|
+
internalType: "uint256[]"
|
|
139
|
+
}
|
|
140
|
+
],
|
|
141
|
+
stateMutability: "view"
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
type: "function",
|
|
145
|
+
name: "getGuardiansFeeRate",
|
|
146
|
+
inputs: [],
|
|
147
|
+
outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
|
|
148
|
+
stateMutability: "view"
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
type: "function",
|
|
152
|
+
name: "getProtocolFeeRate",
|
|
153
|
+
inputs: [],
|
|
154
|
+
outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
|
|
155
|
+
stateMutability: "view"
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
type: "function",
|
|
159
|
+
name: "name",
|
|
160
|
+
inputs: [],
|
|
161
|
+
outputs: [{ name: "", type: "string", internalType: "string" }],
|
|
162
|
+
stateMutability: "view"
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
type: "function",
|
|
166
|
+
name: "nonces",
|
|
167
|
+
inputs: [
|
|
168
|
+
{
|
|
169
|
+
name: "owner",
|
|
170
|
+
type: "address",
|
|
171
|
+
internalType: "address"
|
|
172
|
+
}
|
|
173
|
+
],
|
|
174
|
+
outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
|
|
175
|
+
stateMutability: "view"
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
type: "function",
|
|
179
|
+
name: "permit",
|
|
180
|
+
inputs: [
|
|
181
|
+
{
|
|
182
|
+
name: "owner",
|
|
183
|
+
type: "address",
|
|
184
|
+
internalType: "address"
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
name: "spender",
|
|
188
|
+
type: "address",
|
|
189
|
+
internalType: "address"
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
name: "value",
|
|
193
|
+
type: "uint256",
|
|
194
|
+
internalType: "uint256"
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
name: "deadline",
|
|
198
|
+
type: "uint256",
|
|
199
|
+
internalType: "uint256"
|
|
200
|
+
},
|
|
201
|
+
{ name: "v", type: "uint8", internalType: "uint8" },
|
|
202
|
+
{ name: "r", type: "bytes32", internalType: "bytes32" },
|
|
203
|
+
{ name: "s", type: "bytes32", internalType: "bytes32" }
|
|
204
|
+
],
|
|
205
|
+
outputs: [],
|
|
206
|
+
stateMutability: "nonpayable"
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
type: "function",
|
|
210
|
+
name: "purchaseValidatorTicket",
|
|
211
|
+
inputs: [
|
|
212
|
+
{
|
|
213
|
+
name: "recipient",
|
|
214
|
+
type: "address",
|
|
215
|
+
internalType: "address"
|
|
216
|
+
}
|
|
217
|
+
],
|
|
218
|
+
outputs: [
|
|
219
|
+
{
|
|
220
|
+
name: "mintedAmount",
|
|
221
|
+
type: "uint256",
|
|
222
|
+
internalType: "uint256"
|
|
223
|
+
}
|
|
224
|
+
],
|
|
225
|
+
stateMutability: "payable"
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
type: "function",
|
|
229
|
+
name: "purchaseValidatorTicketWithPufETH",
|
|
230
|
+
inputs: [
|
|
231
|
+
{
|
|
232
|
+
name: "recipient",
|
|
233
|
+
type: "address",
|
|
234
|
+
internalType: "address"
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
name: "vtAmount",
|
|
238
|
+
type: "uint256",
|
|
239
|
+
internalType: "uint256"
|
|
240
|
+
}
|
|
241
|
+
],
|
|
242
|
+
outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
|
|
243
|
+
stateMutability: "nonpayable"
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
type: "function",
|
|
247
|
+
name: "purchaseValidatorTicketWithPufETHAndPermit",
|
|
248
|
+
inputs: [
|
|
249
|
+
{
|
|
250
|
+
name: "recipient",
|
|
251
|
+
type: "address",
|
|
252
|
+
internalType: "address"
|
|
253
|
+
},
|
|
254
|
+
{
|
|
255
|
+
name: "vtAmount",
|
|
256
|
+
type: "uint256",
|
|
257
|
+
internalType: "uint256"
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
name: "permitData",
|
|
261
|
+
type: "tuple",
|
|
262
|
+
internalType: "struct Permit",
|
|
263
|
+
components: [
|
|
264
|
+
{
|
|
265
|
+
name: "deadline",
|
|
266
|
+
type: "uint256",
|
|
267
|
+
internalType: "uint256"
|
|
268
|
+
},
|
|
269
|
+
{
|
|
270
|
+
name: "amount",
|
|
271
|
+
type: "uint256",
|
|
272
|
+
internalType: "uint256"
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
name: "v",
|
|
276
|
+
type: "uint8",
|
|
277
|
+
internalType: "uint8"
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
name: "r",
|
|
281
|
+
type: "bytes32",
|
|
282
|
+
internalType: "bytes32"
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
name: "s",
|
|
286
|
+
type: "bytes32",
|
|
287
|
+
internalType: "bytes32"
|
|
288
|
+
}
|
|
289
|
+
]
|
|
290
|
+
}
|
|
291
|
+
],
|
|
292
|
+
outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
|
|
293
|
+
stateMutability: "nonpayable"
|
|
294
|
+
},
|
|
295
|
+
{
|
|
296
|
+
type: "function",
|
|
297
|
+
name: "symbol",
|
|
298
|
+
inputs: [],
|
|
299
|
+
outputs: [{ name: "", type: "string", internalType: "string" }],
|
|
300
|
+
stateMutability: "view"
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
type: "function",
|
|
304
|
+
name: "totalSupply",
|
|
305
|
+
inputs: [],
|
|
306
|
+
outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
|
|
307
|
+
stateMutability: "view"
|
|
308
|
+
},
|
|
309
|
+
{
|
|
310
|
+
type: "function",
|
|
311
|
+
name: "transfer",
|
|
312
|
+
inputs: [
|
|
313
|
+
{ name: "to", type: "address", internalType: "address" },
|
|
314
|
+
{
|
|
315
|
+
name: "value",
|
|
316
|
+
type: "uint256",
|
|
317
|
+
internalType: "uint256"
|
|
318
|
+
}
|
|
319
|
+
],
|
|
320
|
+
outputs: [{ name: "", type: "bool", internalType: "bool" }],
|
|
321
|
+
stateMutability: "nonpayable"
|
|
322
|
+
},
|
|
323
|
+
{
|
|
324
|
+
type: "function",
|
|
325
|
+
name: "transferFrom",
|
|
326
|
+
inputs: [
|
|
327
|
+
{
|
|
328
|
+
name: "from",
|
|
329
|
+
type: "address",
|
|
330
|
+
internalType: "address"
|
|
331
|
+
},
|
|
332
|
+
{ name: "to", type: "address", internalType: "address" },
|
|
333
|
+
{
|
|
334
|
+
name: "value",
|
|
335
|
+
type: "uint256",
|
|
336
|
+
internalType: "uint256"
|
|
337
|
+
}
|
|
338
|
+
],
|
|
339
|
+
outputs: [{ name: "", type: "bool", internalType: "bool" }],
|
|
340
|
+
stateMutability: "nonpayable"
|
|
341
|
+
},
|
|
342
|
+
{
|
|
343
|
+
type: "event",
|
|
344
|
+
name: "Approval",
|
|
345
|
+
inputs: [
|
|
346
|
+
{
|
|
347
|
+
name: "owner",
|
|
348
|
+
type: "address",
|
|
349
|
+
indexed: !0,
|
|
350
|
+
internalType: "address"
|
|
351
|
+
},
|
|
352
|
+
{
|
|
353
|
+
name: "spender",
|
|
354
|
+
type: "address",
|
|
355
|
+
indexed: !0,
|
|
356
|
+
internalType: "address"
|
|
357
|
+
},
|
|
358
|
+
{
|
|
359
|
+
name: "value",
|
|
360
|
+
type: "uint256",
|
|
361
|
+
indexed: !1,
|
|
362
|
+
internalType: "uint256"
|
|
363
|
+
}
|
|
364
|
+
],
|
|
365
|
+
anonymous: !1
|
|
366
|
+
},
|
|
367
|
+
{
|
|
368
|
+
type: "event",
|
|
369
|
+
name: "Transfer",
|
|
370
|
+
inputs: [
|
|
371
|
+
{
|
|
372
|
+
name: "from",
|
|
373
|
+
type: "address",
|
|
374
|
+
indexed: !0,
|
|
375
|
+
internalType: "address"
|
|
376
|
+
},
|
|
377
|
+
{
|
|
378
|
+
name: "to",
|
|
379
|
+
type: "address",
|
|
380
|
+
indexed: !0,
|
|
381
|
+
internalType: "address"
|
|
382
|
+
},
|
|
383
|
+
{
|
|
384
|
+
name: "value",
|
|
385
|
+
type: "uint256",
|
|
386
|
+
indexed: !1,
|
|
387
|
+
internalType: "uint256"
|
|
388
|
+
}
|
|
389
|
+
],
|
|
390
|
+
anonymous: !1
|
|
391
|
+
},
|
|
392
|
+
{
|
|
393
|
+
type: "error",
|
|
394
|
+
name: "ERC20InsufficientAllowance",
|
|
395
|
+
inputs: [
|
|
396
|
+
{
|
|
397
|
+
name: "spender",
|
|
398
|
+
type: "address",
|
|
399
|
+
internalType: "address"
|
|
400
|
+
},
|
|
401
|
+
{
|
|
402
|
+
name: "allowance",
|
|
403
|
+
type: "uint256",
|
|
404
|
+
internalType: "uint256"
|
|
405
|
+
},
|
|
406
|
+
{
|
|
407
|
+
name: "needed",
|
|
408
|
+
type: "uint256",
|
|
409
|
+
internalType: "uint256"
|
|
410
|
+
}
|
|
411
|
+
]
|
|
412
|
+
},
|
|
413
|
+
{
|
|
414
|
+
type: "error",
|
|
415
|
+
name: "ERC20InsufficientBalance",
|
|
416
|
+
inputs: [
|
|
417
|
+
{
|
|
418
|
+
name: "sender",
|
|
419
|
+
type: "address",
|
|
420
|
+
internalType: "address"
|
|
421
|
+
},
|
|
422
|
+
{
|
|
423
|
+
name: "balance",
|
|
424
|
+
type: "uint256",
|
|
425
|
+
internalType: "uint256"
|
|
426
|
+
},
|
|
427
|
+
{
|
|
428
|
+
name: "needed",
|
|
429
|
+
type: "uint256",
|
|
430
|
+
internalType: "uint256"
|
|
431
|
+
}
|
|
432
|
+
]
|
|
433
|
+
},
|
|
434
|
+
{
|
|
435
|
+
type: "error",
|
|
436
|
+
name: "ERC20InvalidApprover",
|
|
437
|
+
inputs: [
|
|
438
|
+
{
|
|
439
|
+
name: "approver",
|
|
440
|
+
type: "address",
|
|
441
|
+
internalType: "address"
|
|
442
|
+
}
|
|
443
|
+
]
|
|
444
|
+
},
|
|
445
|
+
{
|
|
446
|
+
type: "error",
|
|
447
|
+
name: "ERC20InvalidSpender",
|
|
448
|
+
inputs: [
|
|
449
|
+
{
|
|
450
|
+
name: "spender",
|
|
451
|
+
type: "address",
|
|
452
|
+
internalType: "address"
|
|
453
|
+
}
|
|
454
|
+
]
|
|
455
|
+
},
|
|
456
|
+
{
|
|
457
|
+
type: "error",
|
|
458
|
+
name: "ERC2612ExpiredSignature",
|
|
459
|
+
inputs: [
|
|
460
|
+
{
|
|
461
|
+
name: "deadline",
|
|
462
|
+
type: "uint256",
|
|
463
|
+
internalType: "uint256"
|
|
464
|
+
}
|
|
465
|
+
]
|
|
466
|
+
},
|
|
467
|
+
{
|
|
468
|
+
type: "error",
|
|
469
|
+
name: "ERC2612InvalidSigner",
|
|
470
|
+
inputs: [
|
|
471
|
+
{
|
|
472
|
+
name: "signer",
|
|
473
|
+
type: "address",
|
|
474
|
+
internalType: "address"
|
|
475
|
+
},
|
|
476
|
+
{
|
|
477
|
+
name: "owner",
|
|
478
|
+
type: "address",
|
|
479
|
+
internalType: "address"
|
|
480
|
+
}
|
|
481
|
+
]
|
|
482
|
+
},
|
|
483
|
+
{ type: "error", name: "InvalidAmount", inputs: [] },
|
|
484
|
+
{ type: "error", name: "RecipientIsZeroAddress", inputs: [] }
|
|
485
|
+
];
|
|
486
|
+
export {
|
|
487
|
+
e as ValidatorTicket
|
|
488
|
+
};
|
|
489
|
+
//# sourceMappingURL=ValidatorTicket.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ValidatorTicket.js","sources":["../../../../lib/contracts/abis/mainnet/ValidatorTicket.ts"],"sourcesContent":["export const ValidatorTicket = <const>[\n {\n type: 'constructor',\n inputs: [\n {\n name: 'guardianModule',\n type: 'address',\n internalType: 'address payable',\n },\n {\n name: 'treasury',\n type: 'address',\n internalType: 'address payable',\n },\n {\n name: 'pufferVault',\n type: 'address',\n internalType: 'address payable',\n },\n {\n name: 'pufferOracle',\n type: 'address',\n internalType: 'contract IPufferOracle',\n },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'DOMAIN_SEPARATOR',\n inputs: [],\n outputs: [{ name: '', type: 'bytes32', internalType: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'allowance',\n inputs: [\n {\n name: 'owner',\n type: 'address',\n internalType: 'address',\n },\n {\n name: 'spender',\n type: 'address',\n internalType: 'address',\n },\n ],\n outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'approve',\n inputs: [\n {\n name: 'spender',\n type: 'address',\n internalType: 'address',\n },\n {\n name: 'value',\n type: 'uint256',\n internalType: 'uint256',\n },\n ],\n outputs: [{ name: '', type: 'bool', internalType: 'bool' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'balanceOf',\n inputs: [\n {\n name: 'account',\n type: 'address',\n internalType: 'address',\n },\n ],\n outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'burn',\n inputs: [\n {\n name: 'amount',\n type: 'uint256',\n internalType: 'uint256',\n },\n ],\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'decimals',\n inputs: [],\n outputs: [{ name: '', type: 'uint8', internalType: 'uint8' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'eip712Domain',\n inputs: [],\n outputs: [\n {\n name: 'fields',\n type: 'bytes1',\n internalType: 'bytes1',\n },\n { name: 'name', type: 'string', internalType: 'string' },\n {\n name: 'version',\n type: 'string',\n internalType: 'string',\n },\n {\n name: 'chainId',\n type: 'uint256',\n internalType: 'uint256',\n },\n {\n name: 'verifyingContract',\n type: 'address',\n internalType: 'address',\n },\n {\n name: 'salt',\n type: 'bytes32',\n internalType: 'bytes32',\n },\n {\n name: 'extensions',\n type: 'uint256[]',\n internalType: 'uint256[]',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'getGuardiansFeeRate',\n inputs: [],\n outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'getProtocolFeeRate',\n inputs: [],\n outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'name',\n inputs: [],\n outputs: [{ name: '', type: 'string', internalType: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'nonces',\n inputs: [\n {\n name: 'owner',\n type: 'address',\n internalType: 'address',\n },\n ],\n outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'permit',\n inputs: [\n {\n name: 'owner',\n type: 'address',\n internalType: 'address',\n },\n {\n name: 'spender',\n type: 'address',\n internalType: 'address',\n },\n {\n name: 'value',\n type: 'uint256',\n internalType: 'uint256',\n },\n {\n name: 'deadline',\n type: 'uint256',\n internalType: 'uint256',\n },\n { name: 'v', type: 'uint8', internalType: 'uint8' },\n { name: 'r', type: 'bytes32', internalType: 'bytes32' },\n { name: 's', type: 'bytes32', internalType: 'bytes32' },\n ],\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'purchaseValidatorTicket',\n inputs: [\n {\n name: 'recipient',\n type: 'address',\n internalType: 'address',\n },\n ],\n outputs: [\n {\n name: 'mintedAmount',\n type: 'uint256',\n internalType: 'uint256',\n },\n ],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n name: 'purchaseValidatorTicketWithPufETH',\n inputs: [\n {\n name: 'recipient',\n type: 'address',\n internalType: 'address',\n },\n {\n name: 'vtAmount',\n type: 'uint256',\n internalType: 'uint256',\n },\n ],\n outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'purchaseValidatorTicketWithPufETHAndPermit',\n inputs: [\n {\n name: 'recipient',\n type: 'address',\n internalType: 'address',\n },\n {\n name: 'vtAmount',\n type: 'uint256',\n internalType: 'uint256',\n },\n {\n name: 'permitData',\n type: 'tuple',\n internalType: 'struct Permit',\n components: [\n {\n name: 'deadline',\n type: 'uint256',\n internalType: 'uint256',\n },\n {\n name: 'amount',\n type: 'uint256',\n internalType: 'uint256',\n },\n {\n name: 'v',\n type: 'uint8',\n internalType: 'uint8',\n },\n {\n name: 'r',\n type: 'bytes32',\n internalType: 'bytes32',\n },\n {\n name: 's',\n type: 'bytes32',\n internalType: 'bytes32',\n },\n ],\n },\n ],\n outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'symbol',\n inputs: [],\n outputs: [{ name: '', type: 'string', internalType: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'totalSupply',\n inputs: [],\n outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'transfer',\n inputs: [\n { name: 'to', type: 'address', internalType: 'address' },\n {\n name: 'value',\n type: 'uint256',\n internalType: 'uint256',\n },\n ],\n outputs: [{ name: '', type: 'bool', internalType: 'bool' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'transferFrom',\n inputs: [\n {\n name: 'from',\n type: 'address',\n internalType: 'address',\n },\n { name: 'to', type: 'address', internalType: 'address' },\n {\n name: 'value',\n type: 'uint256',\n internalType: 'uint256',\n },\n ],\n outputs: [{ name: '', type: 'bool', internalType: 'bool' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'event',\n name: 'Approval',\n inputs: [\n {\n name: 'owner',\n type: 'address',\n indexed: true,\n internalType: 'address',\n },\n {\n name: 'spender',\n type: 'address',\n indexed: true,\n internalType: 'address',\n },\n {\n name: 'value',\n type: 'uint256',\n indexed: false,\n internalType: 'uint256',\n },\n ],\n anonymous: false,\n },\n {\n type: 'event',\n name: 'Transfer',\n inputs: [\n {\n name: 'from',\n type: 'address',\n indexed: true,\n internalType: 'address',\n },\n {\n name: 'to',\n type: 'address',\n indexed: true,\n internalType: 'address',\n },\n {\n name: 'value',\n type: 'uint256',\n indexed: false,\n internalType: 'uint256',\n },\n ],\n anonymous: false,\n },\n {\n type: 'error',\n name: 'ERC20InsufficientAllowance',\n inputs: [\n {\n name: 'spender',\n type: 'address',\n internalType: 'address',\n },\n {\n name: 'allowance',\n type: 'uint256',\n internalType: 'uint256',\n },\n {\n name: 'needed',\n type: 'uint256',\n internalType: 'uint256',\n },\n ],\n },\n {\n type: 'error',\n name: 'ERC20InsufficientBalance',\n inputs: [\n {\n name: 'sender',\n type: 'address',\n internalType: 'address',\n },\n {\n name: 'balance',\n type: 'uint256',\n internalType: 'uint256',\n },\n {\n name: 'needed',\n type: 'uint256',\n internalType: 'uint256',\n },\n ],\n },\n {\n type: 'error',\n name: 'ERC20InvalidApprover',\n inputs: [\n {\n name: 'approver',\n type: 'address',\n internalType: 'address',\n },\n ],\n },\n {\n type: 'error',\n name: 'ERC20InvalidSpender',\n inputs: [\n {\n name: 'spender',\n type: 'address',\n internalType: 'address',\n },\n ],\n },\n {\n type: 'error',\n name: 'ERC2612ExpiredSignature',\n inputs: [\n {\n name: 'deadline',\n type: 'uint256',\n internalType: 'uint256',\n },\n ],\n },\n {\n type: 'error',\n name: 'ERC2612InvalidSigner',\n inputs: [\n {\n name: 'signer',\n type: 'address',\n internalType: 'address',\n },\n {\n name: 'owner',\n type: 'address',\n internalType: 'address',\n },\n ],\n },\n { type: 'error', name: 'InvalidAmount', inputs: [] },\n { type: 'error', name: 'RecipientIsZeroAddress', inputs: [] },\n];\n"],"names":["ValidatorTicket"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../constants-BI6T6ZbJ.cjs"),a={[e.Chain.Mainnet]:{PufferVault:"0xD9A442856C234a39a81a089C06451EBAa4306a72",PufferDepositor:"0x4aa799c5dfc01ee7d790e3bf1a7c2257ce1dceff",PufferL2Depositor:"0x3436E0B85cd929929F5802e792CFE282166E0259",PufLocker:"0x48e8dE138C246c14248C94d2D616a2F9eb4590D2",L1RewardManager:"0x157788cc028Ac6405bD406f2D1e0A8A22b3cf17b",L2RewardManager:"0x0000000000000000000000000000000000000000",PufferWithdrawalManager:"0xDdA0483184E75a5579ef9635ED14BacCf9d50283",NucleusAtomicQueue:"0x228c44bb4885c6633f4b6c83f14622f37d5112e5",CarrotStaker:"0x99c599227c65132822f0290d9e5b4b0430d6c0d6",Distributor:"0x3Ef3D8bA38EBe18DB133cEc108f4D14CE00Dd9Ae"},[e.Chain.Holesky]:{PufferVault:"0x9196830bB4c05504E0A8475A0aD566AceEB6BeC9",PufferDepositor:"0x824AC05aeb86A0aD770b8acDe0906d2d4a6c4A8c",PufferL2Depositor:"0x0af6998e4828ad8ef8f79a9288d0a861890f791d",PufLocker:"0xa58983ad0899a452b7420bc57228e329d7ba92b6",L1RewardManager:"0x10f970bcb84B82B82a65eBCbF45F26dD26D69F12",L2RewardManager:"0x58C046794f69A8830b0BE737022a45b4acd01dE5",PufferWithdrawalManager:"0x5A3E1069B66800c0ecbc91bd81b1AE4D1804DBc4"},[e.Chain.Base]:{L2RewardManager:"0xF9Dd335bF363b2E4ecFe3c94A86EBD7Dd3Dcf0e7"}};exports.CONTRACT_ADDRESSES=a;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../constants-BI6T6ZbJ.cjs"),a={[e.Chain.Mainnet]:{PufferVault:"0xD9A442856C234a39a81a089C06451EBAa4306a72",PufferDepositor:"0x4aa799c5dfc01ee7d790e3bf1a7c2257ce1dceff",PufferL2Depositor:"0x3436E0B85cd929929F5802e792CFE282166E0259",PufLocker:"0x48e8dE138C246c14248C94d2D616a2F9eb4590D2",L1RewardManager:"0x157788cc028Ac6405bD406f2D1e0A8A22b3cf17b",L2RewardManager:"0x0000000000000000000000000000000000000000",PufferWithdrawalManager:"0xDdA0483184E75a5579ef9635ED14BacCf9d50283",NucleusAtomicQueue:"0x228c44bb4885c6633f4b6c83f14622f37d5112e5",CarrotStaker:"0x99c599227c65132822f0290d9e5b4b0430d6c0d6",Distributor:"0x3Ef3D8bA38EBe18DB133cEc108f4D14CE00Dd9Ae",ValidatorTicket:"0x7D26AD6F6BA9D6bA1de0218Ae5e20CD3a273a55A"},[e.Chain.Holesky]:{PufferVault:"0x9196830bB4c05504E0A8475A0aD566AceEB6BeC9",PufferDepositor:"0x824AC05aeb86A0aD770b8acDe0906d2d4a6c4A8c",PufferL2Depositor:"0x0af6998e4828ad8ef8f79a9288d0a861890f791d",PufLocker:"0xa58983ad0899a452b7420bc57228e329d7ba92b6",L1RewardManager:"0x10f970bcb84B82B82a65eBCbF45F26dD26D69F12",L2RewardManager:"0x58C046794f69A8830b0BE737022a45b4acd01dE5",PufferWithdrawalManager:"0x5A3E1069B66800c0ecbc91bd81b1AE4D1804DBc4",ValidatorTicket:"0x7D26AD6F6BA9D6bA1de0218Ae5e20CD3a273a55A"},[e.Chain.Base]:{L2RewardManager:"0xF9Dd335bF363b2E4ecFe3c94A86EBD7Dd3Dcf0e7"}};exports.CONTRACT_ADDRESSES=a;
|
|
2
2
|
//# sourceMappingURL=addresses.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addresses.cjs","sources":["../../lib/contracts/addresses.ts"],"sourcesContent":["import { Chain } from '../chains/constants';\n\n// Source of truth:\n// https://github.com/PufferFinance/Deployments-and-ACL/tree/main/docs/deployments\nexport const CONTRACT_ADDRESSES = {\n // Casting to number so the consumer can use chain ids. Also not using\n // a generic type for the variable so the consumer knows which\n // contracts can be accessed.\n [Chain.Mainnet as number]: {\n PufferVault: '0xD9A442856C234a39a81a089C06451EBAa4306a72',\n PufferDepositor: '0x4aa799c5dfc01ee7d790e3bf1a7c2257ce1dceff',\n PufferL2Depositor: '0x3436E0B85cd929929F5802e792CFE282166E0259',\n PufLocker: '0x48e8dE138C246c14248C94d2D616a2F9eb4590D2',\n L1RewardManager: '0x157788cc028Ac6405bD406f2D1e0A8A22b3cf17b',\n // L2RewardManager is not deployed to mainnet but base.\n L2RewardManager: '0x0000000000000000000000000000000000000000',\n PufferWithdrawalManager: '0xDdA0483184E75a5579ef9635ED14BacCf9d50283',\n NucleusAtomicQueue: '0x228c44bb4885c6633f4b6c83f14622f37d5112e5',\n CarrotStaker: '0x99c599227c65132822f0290d9e5b4b0430d6c0d6',\n Distributor: '0x3Ef3D8bA38EBe18DB133cEc108f4D14CE00Dd9Ae',\n },\n [Chain.Holesky as number]: {\n PufferVault: '0x9196830bB4c05504E0A8475A0aD566AceEB6BeC9',\n PufferDepositor: '0x824AC05aeb86A0aD770b8acDe0906d2d4a6c4A8c',\n PufferL2Depositor: '0x0af6998e4828ad8ef8f79a9288d0a861890f791d',\n PufLocker: '0xa58983ad0899a452b7420bc57228e329d7ba92b6',\n L1RewardManager: '0x10f970bcb84B82B82a65eBCbF45F26dD26D69F12',\n L2RewardManager: '0x58C046794f69A8830b0BE737022a45b4acd01dE5',\n PufferWithdrawalManager: '0x5A3E1069B66800c0ecbc91bd81b1AE4D1804DBc4',\n },\n [Chain.Base as number]: {\n L2RewardManager: '0xF9Dd335bF363b2E4ecFe3c94A86EBD7Dd3Dcf0e7',\n },\n};\n"],"names":["CONTRACT_ADDRESSES","Chain"],"mappings":"6HAIaA,EAAqB,CAIhC,CAACC,EAAAA,MAAM,OAAiB,EAAG,CACzB,YAAa,6CACb,gBAAiB,6CACjB,kBAAmB,6CACnB,UAAW,6CACX,gBAAiB,6CAEjB,gBAAiB,6CACjB,wBAAyB,6CACzB,mBAAoB,6CACpB,aAAc,6CACd,YAAa,
|
|
1
|
+
{"version":3,"file":"addresses.cjs","sources":["../../lib/contracts/addresses.ts"],"sourcesContent":["import { Chain } from '../chains/constants';\n\n// Source of truth:\n// https://github.com/PufferFinance/Deployments-and-ACL/tree/main/docs/deployments\nexport const CONTRACT_ADDRESSES = {\n // Casting to number so the consumer can use chain ids. Also not using\n // a generic type for the variable so the consumer knows which\n // contracts can be accessed.\n [Chain.Mainnet as number]: {\n PufferVault: '0xD9A442856C234a39a81a089C06451EBAa4306a72',\n PufferDepositor: '0x4aa799c5dfc01ee7d790e3bf1a7c2257ce1dceff',\n PufferL2Depositor: '0x3436E0B85cd929929F5802e792CFE282166E0259',\n PufLocker: '0x48e8dE138C246c14248C94d2D616a2F9eb4590D2',\n L1RewardManager: '0x157788cc028Ac6405bD406f2D1e0A8A22b3cf17b',\n // L2RewardManager is not deployed to mainnet but base.\n L2RewardManager: '0x0000000000000000000000000000000000000000',\n PufferWithdrawalManager: '0xDdA0483184E75a5579ef9635ED14BacCf9d50283',\n NucleusAtomicQueue: '0x228c44bb4885c6633f4b6c83f14622f37d5112e5',\n CarrotStaker: '0x99c599227c65132822f0290d9e5b4b0430d6c0d6',\n Distributor: '0x3Ef3D8bA38EBe18DB133cEc108f4D14CE00Dd9Ae',\n ValidatorTicket: '0x7D26AD6F6BA9D6bA1de0218Ae5e20CD3a273a55A',\n },\n [Chain.Holesky as number]: {\n PufferVault: '0x9196830bB4c05504E0A8475A0aD566AceEB6BeC9',\n PufferDepositor: '0x824AC05aeb86A0aD770b8acDe0906d2d4a6c4A8c',\n PufferL2Depositor: '0x0af6998e4828ad8ef8f79a9288d0a861890f791d',\n PufLocker: '0xa58983ad0899a452b7420bc57228e329d7ba92b6',\n L1RewardManager: '0x10f970bcb84B82B82a65eBCbF45F26dD26D69F12',\n L2RewardManager: '0x58C046794f69A8830b0BE737022a45b4acd01dE5',\n PufferWithdrawalManager: '0x5A3E1069B66800c0ecbc91bd81b1AE4D1804DBc4',\n ValidatorTicket: '0x7D26AD6F6BA9D6bA1de0218Ae5e20CD3a273a55A',\n },\n [Chain.Base as number]: {\n L2RewardManager: '0xF9Dd335bF363b2E4ecFe3c94A86EBD7Dd3Dcf0e7',\n },\n};\n"],"names":["CONTRACT_ADDRESSES","Chain"],"mappings":"6HAIaA,EAAqB,CAIhC,CAACC,EAAAA,MAAM,OAAiB,EAAG,CACzB,YAAa,6CACb,gBAAiB,6CACjB,kBAAmB,6CACnB,UAAW,6CACX,gBAAiB,6CAEjB,gBAAiB,6CACjB,wBAAyB,6CACzB,mBAAoB,6CACpB,aAAc,6CACd,YAAa,6CACb,gBAAiB,4CACnB,EACA,CAACA,EAAAA,MAAM,OAAiB,EAAG,CACzB,YAAa,6CACb,gBAAiB,6CACjB,kBAAmB,6CACnB,UAAW,6CACX,gBAAiB,6CACjB,gBAAiB,6CACjB,wBAAyB,6CACzB,gBAAiB,4CACnB,EACA,CAACA,EAAAA,MAAM,IAAc,EAAG,CACtB,gBAAiB,4CAAA,CAErB"}
|
|
@@ -10,6 +10,7 @@ export declare const CONTRACT_ADDRESSES: {
|
|
|
10
10
|
NucleusAtomicQueue: string;
|
|
11
11
|
CarrotStaker: string;
|
|
12
12
|
Distributor: string;
|
|
13
|
+
ValidatorTicket: string;
|
|
13
14
|
} | {
|
|
14
15
|
PufferVault: string;
|
|
15
16
|
PufferDepositor: string;
|
|
@@ -18,6 +19,7 @@ export declare const CONTRACT_ADDRESSES: {
|
|
|
18
19
|
L1RewardManager: string;
|
|
19
20
|
L2RewardManager: string;
|
|
20
21
|
PufferWithdrawalManager: string;
|
|
22
|
+
ValidatorTicket: string;
|
|
21
23
|
NucleusAtomicQueue?: undefined;
|
|
22
24
|
CarrotStaker?: undefined;
|
|
23
25
|
Distributor?: undefined;
|
|
@@ -32,5 +34,6 @@ export declare const CONTRACT_ADDRESSES: {
|
|
|
32
34
|
NucleusAtomicQueue?: undefined;
|
|
33
35
|
CarrotStaker?: undefined;
|
|
34
36
|
Distributor?: undefined;
|
|
37
|
+
ValidatorTicket?: undefined;
|
|
35
38
|
};
|
|
36
39
|
};
|
|
@@ -14,7 +14,8 @@ const c = {
|
|
|
14
14
|
PufferWithdrawalManager: "0xDdA0483184E75a5579ef9635ED14BacCf9d50283",
|
|
15
15
|
NucleusAtomicQueue: "0x228c44bb4885c6633f4b6c83f14622f37d5112e5",
|
|
16
16
|
CarrotStaker: "0x99c599227c65132822f0290d9e5b4b0430d6c0d6",
|
|
17
|
-
Distributor: "0x3Ef3D8bA38EBe18DB133cEc108f4D14CE00Dd9Ae"
|
|
17
|
+
Distributor: "0x3Ef3D8bA38EBe18DB133cEc108f4D14CE00Dd9Ae",
|
|
18
|
+
ValidatorTicket: "0x7D26AD6F6BA9D6bA1de0218Ae5e20CD3a273a55A"
|
|
18
19
|
},
|
|
19
20
|
[e.Holesky]: {
|
|
20
21
|
PufferVault: "0x9196830bB4c05504E0A8475A0aD566AceEB6BeC9",
|
|
@@ -23,7 +24,8 @@ const c = {
|
|
|
23
24
|
PufLocker: "0xa58983ad0899a452b7420bc57228e329d7ba92b6",
|
|
24
25
|
L1RewardManager: "0x10f970bcb84B82B82a65eBCbF45F26dD26D69F12",
|
|
25
26
|
L2RewardManager: "0x58C046794f69A8830b0BE737022a45b4acd01dE5",
|
|
26
|
-
PufferWithdrawalManager: "0x5A3E1069B66800c0ecbc91bd81b1AE4D1804DBc4"
|
|
27
|
+
PufferWithdrawalManager: "0x5A3E1069B66800c0ecbc91bd81b1AE4D1804DBc4",
|
|
28
|
+
ValidatorTicket: "0x7D26AD6F6BA9D6bA1de0218Ae5e20CD3a273a55A"
|
|
27
29
|
},
|
|
28
30
|
[e.Base]: {
|
|
29
31
|
L2RewardManager: "0xF9Dd335bF363b2E4ecFe3c94A86EBD7Dd3Dcf0e7"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addresses.js","sources":["../../lib/contracts/addresses.ts"],"sourcesContent":["import { Chain } from '../chains/constants';\n\n// Source of truth:\n// https://github.com/PufferFinance/Deployments-and-ACL/tree/main/docs/deployments\nexport const CONTRACT_ADDRESSES = {\n // Casting to number so the consumer can use chain ids. Also not using\n // a generic type for the variable so the consumer knows which\n // contracts can be accessed.\n [Chain.Mainnet as number]: {\n PufferVault: '0xD9A442856C234a39a81a089C06451EBAa4306a72',\n PufferDepositor: '0x4aa799c5dfc01ee7d790e3bf1a7c2257ce1dceff',\n PufferL2Depositor: '0x3436E0B85cd929929F5802e792CFE282166E0259',\n PufLocker: '0x48e8dE138C246c14248C94d2D616a2F9eb4590D2',\n L1RewardManager: '0x157788cc028Ac6405bD406f2D1e0A8A22b3cf17b',\n // L2RewardManager is not deployed to mainnet but base.\n L2RewardManager: '0x0000000000000000000000000000000000000000',\n PufferWithdrawalManager: '0xDdA0483184E75a5579ef9635ED14BacCf9d50283',\n NucleusAtomicQueue: '0x228c44bb4885c6633f4b6c83f14622f37d5112e5',\n CarrotStaker: '0x99c599227c65132822f0290d9e5b4b0430d6c0d6',\n Distributor: '0x3Ef3D8bA38EBe18DB133cEc108f4D14CE00Dd9Ae',\n },\n [Chain.Holesky as number]: {\n PufferVault: '0x9196830bB4c05504E0A8475A0aD566AceEB6BeC9',\n PufferDepositor: '0x824AC05aeb86A0aD770b8acDe0906d2d4a6c4A8c',\n PufferL2Depositor: '0x0af6998e4828ad8ef8f79a9288d0a861890f791d',\n PufLocker: '0xa58983ad0899a452b7420bc57228e329d7ba92b6',\n L1RewardManager: '0x10f970bcb84B82B82a65eBCbF45F26dD26D69F12',\n L2RewardManager: '0x58C046794f69A8830b0BE737022a45b4acd01dE5',\n PufferWithdrawalManager: '0x5A3E1069B66800c0ecbc91bd81b1AE4D1804DBc4',\n },\n [Chain.Base as number]: {\n L2RewardManager: '0xF9Dd335bF363b2E4ecFe3c94A86EBD7Dd3Dcf0e7',\n },\n};\n"],"names":["CONTRACT_ADDRESSES","Chain"],"mappings":";AAIO,MAAMA,IAAqB;AAAA;AAAA;AAAA;AAAA,EAIhC,CAACC,EAAM,OAAiB,GAAG;AAAA,IACzB,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,mBAAmB;AAAA,IACnB,WAAW;AAAA,IACX,iBAAiB;AAAA;AAAA,IAEjB,iBAAiB;AAAA,IACjB,yBAAyB;AAAA,IACzB,oBAAoB;AAAA,IACpB,cAAc;AAAA,IACd,aAAa;AAAA,
|
|
1
|
+
{"version":3,"file":"addresses.js","sources":["../../lib/contracts/addresses.ts"],"sourcesContent":["import { Chain } from '../chains/constants';\n\n// Source of truth:\n// https://github.com/PufferFinance/Deployments-and-ACL/tree/main/docs/deployments\nexport const CONTRACT_ADDRESSES = {\n // Casting to number so the consumer can use chain ids. Also not using\n // a generic type for the variable so the consumer knows which\n // contracts can be accessed.\n [Chain.Mainnet as number]: {\n PufferVault: '0xD9A442856C234a39a81a089C06451EBAa4306a72',\n PufferDepositor: '0x4aa799c5dfc01ee7d790e3bf1a7c2257ce1dceff',\n PufferL2Depositor: '0x3436E0B85cd929929F5802e792CFE282166E0259',\n PufLocker: '0x48e8dE138C246c14248C94d2D616a2F9eb4590D2',\n L1RewardManager: '0x157788cc028Ac6405bD406f2D1e0A8A22b3cf17b',\n // L2RewardManager is not deployed to mainnet but base.\n L2RewardManager: '0x0000000000000000000000000000000000000000',\n PufferWithdrawalManager: '0xDdA0483184E75a5579ef9635ED14BacCf9d50283',\n NucleusAtomicQueue: '0x228c44bb4885c6633f4b6c83f14622f37d5112e5',\n CarrotStaker: '0x99c599227c65132822f0290d9e5b4b0430d6c0d6',\n Distributor: '0x3Ef3D8bA38EBe18DB133cEc108f4D14CE00Dd9Ae',\n ValidatorTicket: '0x7D26AD6F6BA9D6bA1de0218Ae5e20CD3a273a55A',\n },\n [Chain.Holesky as number]: {\n PufferVault: '0x9196830bB4c05504E0A8475A0aD566AceEB6BeC9',\n PufferDepositor: '0x824AC05aeb86A0aD770b8acDe0906d2d4a6c4A8c',\n PufferL2Depositor: '0x0af6998e4828ad8ef8f79a9288d0a861890f791d',\n PufLocker: '0xa58983ad0899a452b7420bc57228e329d7ba92b6',\n L1RewardManager: '0x10f970bcb84B82B82a65eBCbF45F26dD26D69F12',\n L2RewardManager: '0x58C046794f69A8830b0BE737022a45b4acd01dE5',\n PufferWithdrawalManager: '0x5A3E1069B66800c0ecbc91bd81b1AE4D1804DBc4',\n ValidatorTicket: '0x7D26AD6F6BA9D6bA1de0218Ae5e20CD3a273a55A',\n },\n [Chain.Base as number]: {\n L2RewardManager: '0xF9Dd335bF363b2E4ecFe3c94A86EBD7Dd3Dcf0e7',\n },\n};\n"],"names":["CONTRACT_ADDRESSES","Chain"],"mappings":";AAIO,MAAMA,IAAqB;AAAA;AAAA;AAAA;AAAA,EAIhC,CAACC,EAAM,OAAiB,GAAG;AAAA,IACzB,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,mBAAmB;AAAA,IACnB,WAAW;AAAA,IACX,iBAAiB;AAAA;AAAA,IAEjB,iBAAiB;AAAA,IACjB,yBAAyB;AAAA,IACzB,oBAAoB;AAAA,IACpB,cAAc;AAAA,IACd,aAAa;AAAA,IACb,iBAAiB;AAAA,EACnB;AAAA,EACA,CAACA,EAAM,OAAiB,GAAG;AAAA,IACzB,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,mBAAmB;AAAA,IACnB,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,iBAAiB;AAAA,IACjB,yBAAyB;AAAA,IACzB,iBAAiB;AAAA,EACnB;AAAA,EACA,CAACA,EAAM,IAAc,GAAG;AAAA,IACtB,iBAAiB;AAAA,EAAA;AAErB;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var h=Object.defineProperty;var l=(i,t,e)=>t in i?h(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e;var r=(i,t,e)=>l(i,typeof t!="symbol"?t+"":t,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("../../constants-BI6T6ZbJ.cjs"),C=require("../addresses.cjs"),g=require("../abis/mainnet/ValidatorTicket.cjs"),d=require("../../getContract-CPwqa1sR.cjs");class m{constructor(t,e,a){r(this,"viemChain");this.chain=t,this.walletClient=e,this.publicClient=a,this.viemChain=u.VIEM_CHAINS[t]}getContract(){const t=C.CONTRACT_ADDRESSES[this.chain].ValidatorTicket,e=g.ValidatorTicket,a={public:this.publicClient,wallet:this.walletClient};return d.getContract({address:t,abi:e,client:a})}purchaseValidatorTicket(t){return this.getContract().write.purchaseValidatorTicket([t],{account:this.walletClient.account,chain:this.viemChain})}purchaseValidatorTicketWithPufETH(t,e){return this.getContract().write.purchaseValidatorTicketWithPufETH([t,e],{account:this.walletClient.account,chain:this.viemChain})}purchaseValidatorTicketWithPufETHAndPermit(t,e,a){return this.getContract().write.purchaseValidatorTicketWithPufETHAndPermit([t,e,a],{account:this.walletClient.account,chain:this.viemChain})}approve(t,e){return this.getContract().write.approve([t,e],{account:this.walletClient.account,chain:this.viemChain})}getAllowance(t,e){return this.getContract().read.allowance([t,e])}getBalance(t){return this.getContract().read.balanceOf([t])}getTotalSupply(){return this.getContract().read.totalSupply()}burn(t){return this.getContract().write.burn([t],{account:this.walletClient.account,chain:this.viemChain})}transfer(t,e){return this.getContract().write.transfer([t,e],{account:this.walletClient.account,chain:this.viemChain})}transferFrom(t,e,a){return this.getContract().write.transferFrom([t,e,a],{account:this.walletClient.account,chain:this.viemChain})}getGuardiansFeeRate(){return this.getContract().read.getGuardiansFeeRate()}getProtocolFeeRate(){return this.getContract().read.getProtocolFeeRate()}getDomainSeparator(){return this.getContract().read.DOMAIN_SEPARATOR()}getNonce(t){return this.getContract().read.nonces([t])}permit(t,e,a,n,c,o,s){return this.getContract().write.permit([t,e,a,n,c,o,s],{account:this.walletClient.account,chain:this.viemChain})}getEip712Domain(){return this.getContract().read.eip712Domain()}getName(){return this.getContract().read.name()}getSymbol(){return this.getContract().read.symbol()}getDecimals(){return this.getContract().read.decimals()}}exports.ValidatorTicketHandler=m;
|
|
2
|
+
//# sourceMappingURL=validator-ticket-handler.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validator-ticket-handler.cjs","sources":["../../../lib/contracts/handlers/validator-ticket-handler.ts"],"sourcesContent":["import {\n WalletClient,\n PublicClient,\n getContract,\n Address,\n GetContractReturnType,\n Account,\n} from 'viem';\nimport { Chain, VIEM_CHAINS, ViemChain } from '../../chains/constants';\nimport { CONTRACT_ADDRESSES } from '../addresses';\nimport { ValidatorTicket } from '../abis/mainnet/ValidatorTicket';\n\nexport type PermitData = {\n deadline: bigint;\n amount: bigint;\n v: number;\n r: Address;\n s: Address;\n};\n\n/**\n * Handler for the `ValidatorTicket` contract exposing methods to interact\n * with the contract.\n */\nexport class ValidatorTicketHandler {\n private viemChain: ViemChain;\n\n /**\n * Create the handler for the `ValidatorTicket` contract exposing\n * methods to interact with the contract.\n *\n * @param chain Chain to use for the client.\n * @param walletClient The wallet client to use for wallet\n * interactions.\n * @param publicClient The public client to use for public\n * interactions.\n */\n constructor(\n private chain: Chain,\n private walletClient: WalletClient,\n private publicClient: PublicClient,\n ) {\n this.viemChain = VIEM_CHAINS[chain];\n }\n\n /**\n * Get the contract.\n *\n * @returns The viem contract.\n */\n public getContract() {\n const address = CONTRACT_ADDRESSES[this.chain].ValidatorTicket as Address;\n const abi = ValidatorTicket;\n const client = { public: this.publicClient, wallet: this.walletClient };\n\n return getContract({ address, abi, client }) as GetContractReturnType<\n typeof abi,\n typeof client,\n Address\n >;\n }\n\n /**\n * Purchase validator ticket with ETH.\n *\n * @param recipient The recipient of the validator ticket.\n * @returns The transaction.\n */\n public purchaseValidatorTicket(recipient: Address) {\n return this.getContract().write.purchaseValidatorTicket([recipient], {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Purchase validator ticket with pufETH.\n *\n * @param recipient The recipient of the validator ticket.\n * @param vtAmount The amount of validator tickets to purchase.\n * @returns The transaction.\n */\n public purchaseValidatorTicketWithPufETH(\n recipient: Address,\n vtAmount: bigint,\n ) {\n return this.getContract().write.purchaseValidatorTicketWithPufETH(\n [recipient, vtAmount],\n {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n },\n );\n }\n\n /**\n * Purchase validator ticket with pufETH and permit.\n *\n * @param recipient The recipient of the validator ticket.\n * @param vtAmount The amount of validator tickets to purchase.\n * @param permitData The permit data for pufETH approval.\n * @returns The transaction.\n */\n public purchaseValidatorTicketWithPufETHAndPermit(\n recipient: Address,\n vtAmount: bigint,\n permitData: PermitData,\n ) {\n return this.getContract().write.purchaseValidatorTicketWithPufETHAndPermit(\n [recipient, vtAmount, permitData],\n {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n },\n );\n }\n\n /**\n * Approve a spender to spend the validator ticket.\n *\n * @param spender The spender of the validator ticket.\n * @param amount The amount to approve.\n * @returns The transaction.\n */\n public approve(spender: Address, amount: bigint) {\n return this.getContract().write.approve([spender, amount], {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Get the allowance of the owner for the spender.\n *\n * @param owner The owner of the allowance.\n * @param spender The spender of the allowance.\n * @returns The allowance.\n */\n public getAllowance(owner: Address, spender: Address) {\n return this.getContract().read.allowance([owner, spender]);\n }\n\n /**\n * Get the balance for the address.\n *\n * @param address The address to get the balance of.\n * @returns The balance.\n */\n public getBalance(address: Address) {\n return this.getContract().read.balanceOf([address]);\n }\n\n /**\n * Get the total supply of the validator ticket.\n *\n * @returns The total supply.\n */\n public getTotalSupply() {\n return this.getContract().read.totalSupply();\n }\n\n /**\n * Burn validator tickets.\n *\n * @param amount The amount to burn.\n * @returns The transaction.\n */\n public burn(amount: bigint) {\n return this.getContract().write.burn([amount], {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Transfer validator tickets.\n *\n * @param to The recipient address.\n * @param amount The amount to transfer.\n * @returns The transaction.\n */\n public transfer(to: Address, amount: bigint) {\n return this.getContract().write.transfer([to, amount], {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Transfer validator tickets from another address.\n *\n * @param from The sender address.\n * @param to The recipient address.\n * @param amount The amount to transfer.\n * @returns The transaction.\n */\n public transferFrom(from: Address, to: Address, amount: bigint) {\n return this.getContract().write.transferFrom([from, to, amount], {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n });\n }\n\n /**\n * Get the guardians fee rate.\n *\n * @returns The guardians fee rate.\n */\n public getGuardiansFeeRate() {\n return this.getContract().read.getGuardiansFeeRate();\n }\n\n /**\n * Get the protocol fee rate.\n *\n * @returns The protocol fee rate.\n */\n public getProtocolFeeRate() {\n return this.getContract().read.getProtocolFeeRate();\n }\n\n /**\n * Get the domain separator for EIP-712 signatures.\n *\n * @returns The domain separator.\n */\n public getDomainSeparator() {\n return this.getContract().read.DOMAIN_SEPARATOR();\n }\n\n /**\n * Get the nonce for an owner.\n *\n * @param owner The owner address.\n * @returns The nonce.\n */\n public getNonce(owner: Address) {\n return this.getContract().read.nonces([owner]);\n }\n\n /**\n * Permit function for EIP-2612 approval.\n *\n * @param owner The owner address.\n * @param spender The spender address.\n * @param value The amount to approve.\n * @param deadline The deadline for the permit.\n * @param v The v component of the signature.\n * @param r The r component of the signature.\n * @param s The s component of the signature.\n * @returns The transaction.\n */\n public permit(\n owner: Address,\n spender: Address,\n value: bigint,\n deadline: bigint,\n v: number,\n r: Address,\n s: Address,\n ) {\n return this.getContract().write.permit(\n [owner, spender, value, deadline, v, r, s],\n {\n account: this.walletClient.account as Account,\n chain: this.viemChain,\n },\n );\n }\n\n /**\n * Get the EIP-712 domain information.\n *\n * @returns The EIP-712 domain information.\n */\n public getEip712Domain() {\n return this.getContract().read.eip712Domain();\n }\n\n /**\n * Get the name of the token.\n *\n * @returns The token name.\n */\n public getName() {\n return this.getContract().read.name();\n }\n\n /**\n * Get the symbol of the token.\n *\n * @returns The token symbol.\n */\n public getSymbol() {\n return this.getContract().read.symbol();\n }\n\n /**\n * Get the decimals of the token.\n *\n * @returns The token decimals.\n */\n public getDecimals() {\n return this.getContract().read.decimals();\n }\n}\n"],"names":["ValidatorTicketHandler","chain","walletClient","publicClient","__publicField","VIEM_CHAINS","address","CONTRACT_ADDRESSES","abi","ValidatorTicket","client","getContract","recipient","vtAmount","permitData","spender","amount","owner","to","from","value","deadline","v","r"],"mappings":"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"}
|