@lombard.finance/sdk 3.1.0 → 3.4.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 (76) hide show
  1. package/README.md +60 -1
  2. package/dist/index.cjs +1 -1
  3. package/dist/index.js +73 -62
  4. package/dist/index2.cjs +62 -52
  5. package/dist/index2.cjs.map +1 -1
  6. package/dist/index2.js +8361 -12041
  7. package/dist/index2.js.map +1 -1
  8. package/package.json +35 -33
  9. package/src/api-functions/generateDepositBtcAddress/generateDepositBtcAddress.ts +4 -4
  10. package/src/api-functions/getDepositBtcAddress/getDepositBtcAddress.stories.tsx +8 -0
  11. package/src/api-functions/getDepositBtcAddress/getDepositBtcAddress.ts +3 -3
  12. package/src/api-functions/getDepositsByAddress/getDepositsByAddress.ts +8 -7
  13. package/src/api-functions/getUnstakesByAddress/getUnstakesByAddress.ts +5 -5
  14. package/src/api-functions/getUserStakeAndBakeSignature/getUserStakeAndBakeSignature.stories.tsx +8 -0
  15. package/src/bridge/abi/CCIP_BRIDGE_ADAPTER_ABI.json +704 -0
  16. package/src/bridge/abi/OFT_BRIDGE_ADAPTER_ABI.json +912 -0
  17. package/src/bridge/index.ts +11 -0
  18. package/src/bridge/lib/bridge.stories.tsx +89 -0
  19. package/src/bridge/lib/bridge.ts +101 -0
  20. package/src/bridge/lib/ccip-bridge.stories.tsx +90 -0
  21. package/src/bridge/lib/ccip-bridge.ts +163 -0
  22. package/src/bridge/lib/config.ts +338 -0
  23. package/src/bridge/lib/oft-bridge.stories.tsx +89 -0
  24. package/src/bridge/lib/oft-bridge.ts +211 -0
  25. package/src/common/api-config.ts +8 -2
  26. package/src/common/blockchain-identifier.ts +32 -5
  27. package/src/common/chains.ts +13 -1
  28. package/src/common/contract-info.ts +8 -0
  29. package/src/contract-functions/approveLBTC/approveLBTC.stories.tsx +1 -1
  30. package/src/contract-functions/approveLBTC/approveLBTC.ts +3 -2
  31. package/src/contract-functions/claimLBTC/claimLBTC.ts +3 -2
  32. package/src/contract-functions/getBasculeDepositStatus/getBasculeDepositStatus.ts +10 -4
  33. package/src/contract-functions/getLBTCMintingFee/getLBTCMintingFee.tsx +14 -11
  34. package/src/contract-functions/getLBTCTotalSupply/getLBTCTotalSupply.ts +13 -9
  35. package/src/contract-functions/getPermitNonce/getPermitNonce.ts +16 -10
  36. package/src/contract-functions/getShareValue/getShareValue.stories.tsx +1 -1
  37. package/src/contract-functions/getShareValue/getShareValue.ts +1 -1
  38. package/src/contract-functions/getSharesByAddress/getSharesByAddress.stories.tsx +1 -1
  39. package/src/contract-functions/getSharesByAddress/getSharesByAddress.ts +1 -1
  40. package/src/contract-functions/getStakeAndBakeFee/getStakeAndBakeFee.stories.tsx +14 -1
  41. package/src/contract-functions/getStakeAndBakeFee/getStakeAndBakeFee.tsx +5 -1
  42. package/src/contract-functions/signNetworkFee/signNetworkFee.ts +3 -2
  43. package/src/contract-functions/signStakeAndBake/signStakeAndBake.stories.tsx +2 -1
  44. package/src/contract-functions/signStakeAndBake/signStakeAndBake.ts +8 -3
  45. package/src/contract-functions/unstakeLBTC/unstakeLBTC.ts +3 -2
  46. package/src/index.ts +26 -28
  47. package/src/metrics/get-lbtc-stats.stories.tsx +51 -0
  48. package/src/metrics/get-lbtc-stats.ts +38 -0
  49. package/src/rewards/lib/claim-reward.stories.tsx +1 -0
  50. package/src/rewards/lib/claim-reward.ts +5 -0
  51. package/src/rewards/lib/get-reward-signing-data.stories.tsx +1 -0
  52. package/src/rewards/lib/get-reward-signing-data.ts +4 -0
  53. package/src/tokens/abi/LBTC_ABI.json +1760 -1760
  54. package/src/tokens/abi/LBTC_ABI.ts +1761 -0
  55. package/src/tokens/lbtc-addresses.ts +1 -0
  56. package/src/tokens/token-addresses.ts +32 -0
  57. package/src/tokens/tokens.ts +59 -50
  58. package/src/utils/numbers.ts +3 -0
  59. package/src/vaults/index.ts +35 -176
  60. package/src/vaults/lib/config.ts +196 -0
  61. package/src/vaults/lib/metrics/get-vault-apy.stories.tsx +57 -0
  62. package/src/vaults/lib/metrics/get-vault-apy.ts +132 -0
  63. package/src/vaults/lib/{get-vault-points.stories.tsx → metrics/get-vault-points.stories.tsx} +8 -8
  64. package/src/vaults/lib/{get-vault-points.ts → metrics/get-vault-points.ts} +1 -1
  65. package/src/vaults/lib/metrics/get-vault-tvl.stories.tsx +57 -0
  66. package/src/vaults/lib/metrics/get-vault-tvl.ts +119 -0
  67. package/src/vaults/lib/{cancel-withdraw.stories.tsx → ops/cancel-withdraw.stories.tsx} +9 -9
  68. package/src/vaults/lib/{deposit.stories.tsx → ops/deposit.stories.tsx} +9 -9
  69. package/src/vaults/lib/{deposit.ts → ops/deposit.ts} +10 -10
  70. package/src/vaults/lib/{get-vault-deposits.stories.tsx → ops/get-vault-deposits.stories.tsx} +9 -9
  71. package/src/vaults/lib/{get-vault-deposits.ts → ops/get-vault-deposits.ts} +5 -5
  72. package/src/vaults/lib/{get-vault-withdrawals.stories.tsx → ops/get-vault-withdrawals.stories.tsx} +9 -9
  73. package/src/vaults/lib/{get-vault-withdrawals.ts → ops/get-vault-withdrawals.ts} +5 -5
  74. package/src/vaults/lib/{withdraw.stories.tsx → ops/withdraw.stories.tsx} +9 -9
  75. package/src/vaults/lib/{withdraw.ts → ops/withdraw.ts} +12 -12
  76. package/src/tokens/lbtc-contract.ts +0 -89
@@ -0,0 +1,704 @@
1
+ [
2
+ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" },
3
+ { "inputs": [], "name": "AdapterNotConfirmed", "type": "error" },
4
+ {
5
+ "inputs": [
6
+ { "internalType": "address", "name": "target", "type": "address" }
7
+ ],
8
+ "name": "AddressEmptyCode",
9
+ "type": "error"
10
+ },
11
+ {
12
+ "inputs": [
13
+ { "internalType": "address", "name": "account", "type": "address" }
14
+ ],
15
+ "name": "AddressInsufficientBalance",
16
+ "type": "error"
17
+ },
18
+ {
19
+ "inputs": [
20
+ { "internalType": "uint256", "name": "commission", "type": "uint256" }
21
+ ],
22
+ "name": "AmountLessThanCommission",
23
+ "type": "error"
24
+ },
25
+ { "inputs": [], "name": "AmountTooSmallToPayRelativeFee", "type": "error" },
26
+ { "inputs": [], "name": "BadCommission", "type": "error" },
27
+ { "inputs": [], "name": "BadConfiguration", "type": "error" },
28
+ { "inputs": [], "name": "Bridge_ZeroAddress", "type": "error" },
29
+ { "inputs": [], "name": "Bridge_ZeroAmount", "type": "error" },
30
+ { "inputs": [], "name": "ConsortiumNotConfirmed", "type": "error" },
31
+ { "inputs": [], "name": "FailedInnerCall", "type": "error" },
32
+ { "inputs": [], "name": "InvalidInitialization", "type": "error" },
33
+ { "inputs": [], "name": "KnownDestination", "type": "error" },
34
+ { "inputs": [], "name": "MalformedRateLimit", "type": "error" },
35
+ { "inputs": [], "name": "MathOverflowedMulDiv", "type": "error" },
36
+ { "inputs": [], "name": "NotInitializing", "type": "error" },
37
+ { "inputs": [], "name": "NotValidDestination", "type": "error" },
38
+ {
39
+ "inputs": [
40
+ { "internalType": "address", "name": "owner", "type": "address" }
41
+ ],
42
+ "name": "OwnableInvalidOwner",
43
+ "type": "error"
44
+ },
45
+ {
46
+ "inputs": [
47
+ { "internalType": "address", "name": "account", "type": "address" }
48
+ ],
49
+ "name": "OwnableUnauthorizedAccount",
50
+ "type": "error"
51
+ },
52
+ {
53
+ "inputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }],
54
+ "name": "PayloadAlreadyUsed",
55
+ "type": "error"
56
+ },
57
+ { "inputs": [], "name": "PayloadTooLarge", "type": "error" },
58
+ { "inputs": [], "name": "RateLimitExceeded", "type": "error" },
59
+ { "inputs": [], "name": "ReentrancyGuardReentrantCall", "type": "error" },
60
+ {
61
+ "inputs": [
62
+ { "internalType": "address", "name": "token", "type": "address" }
63
+ ],
64
+ "name": "SafeERC20FailedOperation",
65
+ "type": "error"
66
+ },
67
+ {
68
+ "inputs": [
69
+ { "internalType": "bytes4", "name": "action", "type": "bytes4" }
70
+ ],
71
+ "name": "UnexpectedAction",
72
+ "type": "error"
73
+ },
74
+ {
75
+ "inputs": [{ "internalType": "address", "name": "", "type": "address" }],
76
+ "name": "UnknownAdapter",
77
+ "type": "error"
78
+ },
79
+ { "inputs": [], "name": "UnknownDestination", "type": "error" },
80
+ {
81
+ "inputs": [
82
+ { "internalType": "bytes32", "name": "fromChain", "type": "bytes32" },
83
+ { "internalType": "bytes32", "name": "fromContract", "type": "bytes32" }
84
+ ],
85
+ "name": "UnknownOriginContract",
86
+ "type": "error"
87
+ },
88
+ { "inputs": [], "name": "WrongChainId", "type": "error" },
89
+ { "inputs": [], "name": "ZeroAddress", "type": "error" },
90
+ { "inputs": [], "name": "ZeroAmount", "type": "error" },
91
+ { "inputs": [], "name": "ZeroChainId", "type": "error" },
92
+ { "inputs": [], "name": "ZeroContractHash", "type": "error" },
93
+ {
94
+ "anonymous": false,
95
+ "inputs": [
96
+ {
97
+ "indexed": false,
98
+ "internalType": "address",
99
+ "name": "previousAdapter",
100
+ "type": "address"
101
+ },
102
+ {
103
+ "indexed": false,
104
+ "internalType": "contract IAdapter",
105
+ "name": "newAdapter",
106
+ "type": "address"
107
+ }
108
+ ],
109
+ "name": "AdapterChanged",
110
+ "type": "event"
111
+ },
112
+ {
113
+ "anonymous": false,
114
+ "inputs": [
115
+ {
116
+ "indexed": true,
117
+ "internalType": "bytes32",
118
+ "name": "chain",
119
+ "type": "bytes32"
120
+ },
121
+ {
122
+ "indexed": true,
123
+ "internalType": "bytes32",
124
+ "name": "contractAddress",
125
+ "type": "bytes32"
126
+ }
127
+ ],
128
+ "name": "BridgeDestinationAdded",
129
+ "type": "event"
130
+ },
131
+ {
132
+ "anonymous": false,
133
+ "inputs": [
134
+ {
135
+ "indexed": true,
136
+ "internalType": "bytes32",
137
+ "name": "chain",
138
+ "type": "bytes32"
139
+ }
140
+ ],
141
+ "name": "BridgeDestinationRemoved",
142
+ "type": "event"
143
+ },
144
+ {
145
+ "anonymous": false,
146
+ "inputs": [
147
+ {
148
+ "indexed": true,
149
+ "internalType": "contract INotaryConsortium",
150
+ "name": "prevVal",
151
+ "type": "address"
152
+ },
153
+ {
154
+ "indexed": true,
155
+ "internalType": "contract INotaryConsortium",
156
+ "name": "newVal",
157
+ "type": "address"
158
+ }
159
+ ],
160
+ "name": "ConsortiumChanged",
161
+ "type": "event"
162
+ },
163
+ {
164
+ "anonymous": false,
165
+ "inputs": [
166
+ {
167
+ "indexed": false,
168
+ "internalType": "uint64",
169
+ "name": "newValue",
170
+ "type": "uint64"
171
+ },
172
+ {
173
+ "indexed": true,
174
+ "internalType": "bytes32",
175
+ "name": "chain",
176
+ "type": "bytes32"
177
+ }
178
+ ],
179
+ "name": "DepositAbsoluteCommissionChanged",
180
+ "type": "event"
181
+ },
182
+ {
183
+ "anonymous": false,
184
+ "inputs": [
185
+ {
186
+ "indexed": false,
187
+ "internalType": "uint16",
188
+ "name": "newValue",
189
+ "type": "uint16"
190
+ },
191
+ {
192
+ "indexed": true,
193
+ "internalType": "bytes32",
194
+ "name": "chain",
195
+ "type": "bytes32"
196
+ }
197
+ ],
198
+ "name": "DepositRelativeCommissionChanged",
199
+ "type": "event"
200
+ },
201
+ {
202
+ "anonymous": false,
203
+ "inputs": [
204
+ {
205
+ "indexed": true,
206
+ "internalType": "address",
207
+ "name": "fromAddress",
208
+ "type": "address"
209
+ },
210
+ {
211
+ "indexed": true,
212
+ "internalType": "bytes32",
213
+ "name": "toAddress",
214
+ "type": "bytes32"
215
+ },
216
+ {
217
+ "indexed": true,
218
+ "internalType": "bytes32",
219
+ "name": "payloadHash",
220
+ "type": "bytes32"
221
+ },
222
+ {
223
+ "indexed": false,
224
+ "internalType": "bytes",
225
+ "name": "payload",
226
+ "type": "bytes"
227
+ }
228
+ ],
229
+ "name": "DepositToBridge",
230
+ "type": "event"
231
+ },
232
+ {
233
+ "anonymous": false,
234
+ "inputs": [
235
+ {
236
+ "indexed": false,
237
+ "internalType": "uint64",
238
+ "name": "version",
239
+ "type": "uint64"
240
+ }
241
+ ],
242
+ "name": "Initialized",
243
+ "type": "event"
244
+ },
245
+ {
246
+ "anonymous": false,
247
+ "inputs": [
248
+ {
249
+ "indexed": true,
250
+ "internalType": "address",
251
+ "name": "previousOwner",
252
+ "type": "address"
253
+ },
254
+ {
255
+ "indexed": true,
256
+ "internalType": "address",
257
+ "name": "newOwner",
258
+ "type": "address"
259
+ }
260
+ ],
261
+ "name": "OwnershipTransferStarted",
262
+ "type": "event"
263
+ },
264
+ {
265
+ "anonymous": false,
266
+ "inputs": [
267
+ {
268
+ "indexed": true,
269
+ "internalType": "address",
270
+ "name": "previousOwner",
271
+ "type": "address"
272
+ },
273
+ {
274
+ "indexed": true,
275
+ "internalType": "address",
276
+ "name": "newOwner",
277
+ "type": "address"
278
+ }
279
+ ],
280
+ "name": "OwnershipTransferred",
281
+ "type": "event"
282
+ },
283
+ {
284
+ "anonymous": false,
285
+ "inputs": [
286
+ {
287
+ "indexed": true,
288
+ "internalType": "address",
289
+ "name": "recipient",
290
+ "type": "address"
291
+ },
292
+ {
293
+ "indexed": true,
294
+ "internalType": "bytes32",
295
+ "name": "payloadHash",
296
+ "type": "bytes32"
297
+ }
298
+ ],
299
+ "name": "PayloadNotarized",
300
+ "type": "event"
301
+ },
302
+ {
303
+ "anonymous": false,
304
+ "inputs": [
305
+ {
306
+ "indexed": true,
307
+ "internalType": "address",
308
+ "name": "recipient",
309
+ "type": "address"
310
+ },
311
+ {
312
+ "indexed": true,
313
+ "internalType": "bytes32",
314
+ "name": "payloadHash",
315
+ "type": "bytes32"
316
+ },
317
+ {
318
+ "indexed": true,
319
+ "internalType": "address",
320
+ "name": "adapter",
321
+ "type": "address"
322
+ }
323
+ ],
324
+ "name": "PayloadReceived",
325
+ "type": "event"
326
+ },
327
+ {
328
+ "anonymous": false,
329
+ "inputs": [
330
+ {
331
+ "indexed": true,
332
+ "internalType": "bytes32",
333
+ "name": "chainId",
334
+ "type": "bytes32"
335
+ },
336
+ {
337
+ "indexed": false,
338
+ "internalType": "uint256",
339
+ "name": "limit",
340
+ "type": "uint256"
341
+ },
342
+ {
343
+ "indexed": false,
344
+ "internalType": "uint256",
345
+ "name": "window",
346
+ "type": "uint256"
347
+ }
348
+ ],
349
+ "name": "RateLimitsChanged",
350
+ "type": "event"
351
+ },
352
+ {
353
+ "anonymous": false,
354
+ "inputs": [
355
+ {
356
+ "indexed": false,
357
+ "internalType": "address",
358
+ "name": "previousTreasury",
359
+ "type": "address"
360
+ },
361
+ {
362
+ "indexed": false,
363
+ "internalType": "address",
364
+ "name": "newTreasury",
365
+ "type": "address"
366
+ }
367
+ ],
368
+ "name": "TreasuryChanged",
369
+ "type": "event"
370
+ },
371
+ {
372
+ "anonymous": false,
373
+ "inputs": [
374
+ {
375
+ "indexed": true,
376
+ "internalType": "address",
377
+ "name": "recipient",
378
+ "type": "address"
379
+ },
380
+ {
381
+ "indexed": true,
382
+ "internalType": "bytes32",
383
+ "name": "payloadHash",
384
+ "type": "bytes32"
385
+ },
386
+ {
387
+ "indexed": false,
388
+ "internalType": "bytes",
389
+ "name": "payload",
390
+ "type": "bytes"
391
+ },
392
+ {
393
+ "indexed": false,
394
+ "internalType": "uint64",
395
+ "name": "amount",
396
+ "type": "uint64"
397
+ }
398
+ ],
399
+ "name": "WithdrawFromBridge",
400
+ "type": "event"
401
+ },
402
+ {
403
+ "inputs": [],
404
+ "name": "acceptOwnership",
405
+ "outputs": [],
406
+ "stateMutability": "nonpayable",
407
+ "type": "function"
408
+ },
409
+ {
410
+ "inputs": [
411
+ { "internalType": "bytes32", "name": "toChain", "type": "bytes32" },
412
+ { "internalType": "bytes32", "name": "toContract", "type": "bytes32" },
413
+ { "internalType": "uint16", "name": "relCommission", "type": "uint16" },
414
+ { "internalType": "uint64", "name": "absCommission", "type": "uint64" },
415
+ {
416
+ "internalType": "contract IAdapter",
417
+ "name": "adapter",
418
+ "type": "address"
419
+ },
420
+ { "internalType": "bool", "name": "requireConsortium", "type": "bool" }
421
+ ],
422
+ "name": "addDestination",
423
+ "outputs": [],
424
+ "stateMutability": "nonpayable",
425
+ "type": "function"
426
+ },
427
+ {
428
+ "inputs": [
429
+ { "internalType": "bytes", "name": "payload", "type": "bytes" },
430
+ { "internalType": "bytes", "name": "proof", "type": "bytes" }
431
+ ],
432
+ "name": "authNotary",
433
+ "outputs": [],
434
+ "stateMutability": "nonpayable",
435
+ "type": "function"
436
+ },
437
+ {
438
+ "inputs": [
439
+ { "internalType": "bytes32", "name": "chain", "type": "bytes32" },
440
+ {
441
+ "internalType": "contract IAdapter",
442
+ "name": "newAdapter",
443
+ "type": "address"
444
+ }
445
+ ],
446
+ "name": "changeAdapter",
447
+ "outputs": [],
448
+ "stateMutability": "nonpayable",
449
+ "type": "function"
450
+ },
451
+ {
452
+ "inputs": [
453
+ {
454
+ "internalType": "contract INotaryConsortium",
455
+ "name": "newVal",
456
+ "type": "address"
457
+ }
458
+ ],
459
+ "name": "changeConsortium",
460
+ "outputs": [],
461
+ "stateMutability": "nonpayable",
462
+ "type": "function"
463
+ },
464
+ {
465
+ "inputs": [
466
+ { "internalType": "uint64", "name": "newValue", "type": "uint64" },
467
+ { "internalType": "bytes32", "name": "chain", "type": "bytes32" }
468
+ ],
469
+ "name": "changeDepositAbsoluteCommission",
470
+ "outputs": [],
471
+ "stateMutability": "nonpayable",
472
+ "type": "function"
473
+ },
474
+ {
475
+ "inputs": [
476
+ { "internalType": "uint16", "name": "newValue", "type": "uint16" },
477
+ { "internalType": "bytes32", "name": "chain", "type": "bytes32" }
478
+ ],
479
+ "name": "changeDepositRelativeCommission",
480
+ "outputs": [],
481
+ "stateMutability": "nonpayable",
482
+ "type": "function"
483
+ },
484
+ {
485
+ "inputs": [],
486
+ "name": "consortium",
487
+ "outputs": [
488
+ {
489
+ "internalType": "contract INotaryConsortium",
490
+ "name": "",
491
+ "type": "address"
492
+ }
493
+ ],
494
+ "stateMutability": "view",
495
+ "type": "function"
496
+ },
497
+ {
498
+ "inputs": [
499
+ { "internalType": "bytes32", "name": "toChain", "type": "bytes32" },
500
+ { "internalType": "bytes32", "name": "toAddress", "type": "bytes32" },
501
+ { "internalType": "uint64", "name": "amount", "type": "uint64" }
502
+ ],
503
+ "name": "deposit",
504
+ "outputs": [
505
+ { "internalType": "uint256", "name": "", "type": "uint256" },
506
+ { "internalType": "bytes", "name": "", "type": "bytes" }
507
+ ],
508
+ "stateMutability": "payable",
509
+ "type": "function"
510
+ },
511
+ {
512
+ "inputs": [
513
+ { "internalType": "bytes32", "name": "toChain", "type": "bytes32" }
514
+ ],
515
+ "name": "getAdapter",
516
+ "outputs": [
517
+ { "internalType": "contract IAdapter", "name": "", "type": "address" }
518
+ ],
519
+ "stateMutability": "view",
520
+ "type": "function"
521
+ },
522
+ {
523
+ "inputs": [
524
+ { "internalType": "bytes32", "name": "toChain", "type": "bytes32" },
525
+ { "internalType": "bytes32", "name": "toAddress", "type": "bytes32" },
526
+ { "internalType": "uint64", "name": "amount", "type": "uint64" }
527
+ ],
528
+ "name": "getAdapterFee",
529
+ "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
530
+ "stateMutability": "view",
531
+ "type": "function"
532
+ },
533
+ {
534
+ "inputs": [
535
+ { "internalType": "bytes32", "name": "toChain", "type": "bytes32" }
536
+ ],
537
+ "name": "getDepositAbsoluteCommission",
538
+ "outputs": [{ "internalType": "uint64", "name": "", "type": "uint64" }],
539
+ "stateMutability": "view",
540
+ "type": "function"
541
+ },
542
+ {
543
+ "inputs": [
544
+ { "internalType": "bytes32", "name": "toChain", "type": "bytes32" }
545
+ ],
546
+ "name": "getDepositRelativeCommission",
547
+ "outputs": [{ "internalType": "uint16", "name": "", "type": "uint16" }],
548
+ "stateMutability": "view",
549
+ "type": "function"
550
+ },
551
+ {
552
+ "inputs": [
553
+ { "internalType": "bytes32", "name": "toChain", "type": "bytes32" }
554
+ ],
555
+ "name": "getDestination",
556
+ "outputs": [
557
+ {
558
+ "components": [
559
+ {
560
+ "internalType": "bytes32",
561
+ "name": "bridgeContract",
562
+ "type": "bytes32"
563
+ },
564
+ {
565
+ "internalType": "uint16",
566
+ "name": "relativeCommission",
567
+ "type": "uint16"
568
+ },
569
+ {
570
+ "internalType": "uint64",
571
+ "name": "absoluteCommission",
572
+ "type": "uint64"
573
+ },
574
+ {
575
+ "internalType": "contract IAdapter",
576
+ "name": "adapter",
577
+ "type": "address"
578
+ },
579
+ {
580
+ "internalType": "bool",
581
+ "name": "requireConsortium",
582
+ "type": "bool"
583
+ }
584
+ ],
585
+ "internalType": "struct Bridge.DestinationConfig",
586
+ "name": "",
587
+ "type": "tuple"
588
+ }
589
+ ],
590
+ "stateMutability": "view",
591
+ "type": "function"
592
+ },
593
+ {
594
+ "inputs": [],
595
+ "name": "getTreasury",
596
+ "outputs": [{ "internalType": "address", "name": "", "type": "address" }],
597
+ "stateMutability": "view",
598
+ "type": "function"
599
+ },
600
+ {
601
+ "inputs": [
602
+ { "internalType": "contract ILBTC", "name": "lbtc_", "type": "address" },
603
+ { "internalType": "address", "name": "treasury_", "type": "address" },
604
+ { "internalType": "address", "name": "owner_", "type": "address" }
605
+ ],
606
+ "name": "initialize",
607
+ "outputs": [],
608
+ "stateMutability": "nonpayable",
609
+ "type": "function"
610
+ },
611
+ {
612
+ "inputs": [],
613
+ "name": "lbtc",
614
+ "outputs": [
615
+ { "internalType": "contract ILBTC", "name": "", "type": "address" }
616
+ ],
617
+ "stateMutability": "view",
618
+ "type": "function"
619
+ },
620
+ {
621
+ "inputs": [],
622
+ "name": "owner",
623
+ "outputs": [{ "internalType": "address", "name": "", "type": "address" }],
624
+ "stateMutability": "view",
625
+ "type": "function"
626
+ },
627
+ {
628
+ "inputs": [],
629
+ "name": "pendingOwner",
630
+ "outputs": [{ "internalType": "address", "name": "", "type": "address" }],
631
+ "stateMutability": "view",
632
+ "type": "function"
633
+ },
634
+ {
635
+ "inputs": [
636
+ { "internalType": "bytes32", "name": "fromChain", "type": "bytes32" },
637
+ { "internalType": "bytes", "name": "payload", "type": "bytes" }
638
+ ],
639
+ "name": "receivePayload",
640
+ "outputs": [],
641
+ "stateMutability": "nonpayable",
642
+ "type": "function"
643
+ },
644
+ {
645
+ "inputs": [
646
+ { "internalType": "bytes32", "name": "toChain", "type": "bytes32" }
647
+ ],
648
+ "name": "removeDestination",
649
+ "outputs": [],
650
+ "stateMutability": "nonpayable",
651
+ "type": "function"
652
+ },
653
+ {
654
+ "inputs": [],
655
+ "name": "renounceOwnership",
656
+ "outputs": [],
657
+ "stateMutability": "nonpayable",
658
+ "type": "function"
659
+ },
660
+ {
661
+ "inputs": [
662
+ {
663
+ "components": [
664
+ { "internalType": "bytes32", "name": "chainId", "type": "bytes32" },
665
+ { "internalType": "uint256", "name": "limit", "type": "uint256" },
666
+ { "internalType": "uint256", "name": "window", "type": "uint256" }
667
+ ],
668
+ "internalType": "struct RateLimits.Config[]",
669
+ "name": "depositRateLimits",
670
+ "type": "tuple[]"
671
+ },
672
+ {
673
+ "components": [
674
+ { "internalType": "bytes32", "name": "chainId", "type": "bytes32" },
675
+ { "internalType": "uint256", "name": "limit", "type": "uint256" },
676
+ { "internalType": "uint256", "name": "window", "type": "uint256" }
677
+ ],
678
+ "internalType": "struct RateLimits.Config[]",
679
+ "name": "withdrawRateLimits",
680
+ "type": "tuple[]"
681
+ }
682
+ ],
683
+ "name": "setRateLimits",
684
+ "outputs": [],
685
+ "stateMutability": "nonpayable",
686
+ "type": "function"
687
+ },
688
+ {
689
+ "inputs": [
690
+ { "internalType": "address", "name": "newOwner", "type": "address" }
691
+ ],
692
+ "name": "transferOwnership",
693
+ "outputs": [],
694
+ "stateMutability": "nonpayable",
695
+ "type": "function"
696
+ },
697
+ {
698
+ "inputs": [{ "internalType": "bytes", "name": "payload", "type": "bytes" }],
699
+ "name": "withdraw",
700
+ "outputs": [{ "internalType": "uint64", "name": "", "type": "uint64" }],
701
+ "stateMutability": "nonpayable",
702
+ "type": "function"
703
+ }
704
+ ]