@townsq/mm-sdk 1.7.0 → 1.9.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/chains/evm/common/constant/tokens.js +16 -0
- package/dist/chains/evm/common/constant/tokens.js.map +1 -1
- package/dist/chains/evm/common/types/module.d.ts +7 -0
- package/dist/chains/evm/common/utils/events.d.ts +25 -0
- package/dist/chains/evm/common/utils/events.js +132 -0
- package/dist/chains/evm/common/utils/events.js.map +1 -0
- package/dist/chains/evm/hub/constants/chain.js +29 -0
- package/dist/chains/evm/hub/constants/chain.js.map +1 -1
- package/dist/chains/evm/hub/modules/ts-hub-loan.js +1 -1
- package/dist/chains/evm/hub/modules/ts-hub-loan.js.map +1 -1
- package/dist/common/constants/chain.js +20 -0
- package/dist/common/constants/chain.js.map +1 -1
- package/dist/common/constants/pool.d.ts +2 -0
- package/dist/common/constants/pool.js +2 -0
- package/dist/common/constants/pool.js.map +1 -1
- package/dist/common/types/token.d.ts +2 -0
- package/dist/common/types/token.js +2 -0
- package/dist/common/types/token.js.map +1 -1
- package/dist/lifeline/modules/ts-account.js.map +1 -1
- package/dist/lifeline/modules/ts-loan.d.ts +4 -2
- package/dist/lifeline/modules/ts-loan.js +7 -2
- package/dist/lifeline/modules/ts-loan.js.map +1 -1
- package/package.json +3 -1
- package/src/chains/evm/common/constant/tokens.ts +16 -1
- package/src/chains/evm/common/types/module.ts +8 -0
- package/src/chains/evm/{hub → common}/utils/events.ts +39 -2
- package/src/chains/evm/hub/constants/chain.ts +60 -25
- package/src/chains/evm/hub/modules/ts-hub-loan.ts +2 -1
- package/src/common/constants/chain.ts +68 -36
- package/src/common/constants/pool.ts +2 -0
- package/src/common/types/token.ts +3 -0
- package/src/lifeline/modules/ts-account.ts +3 -0
- package/src/lifeline/modules/ts-loan.ts +94 -84
|
@@ -89,6 +89,8 @@ import type {
|
|
|
89
89
|
import type { TSTokenId } from '../../common/types/token.js';
|
|
90
90
|
import type { Dnum } from 'dnum';
|
|
91
91
|
import { GenericAddress } from '../../common/types/address.js';
|
|
92
|
+
import { getUserLoanIds } from '../../chains/evm/common/utils/events.js';
|
|
93
|
+
import { GetUserAccountIdToLoanIdResponse } from '../../chains/evm/common/types/module.js';
|
|
92
94
|
|
|
93
95
|
export const prepare = {
|
|
94
96
|
async createLoan(
|
|
@@ -96,7 +98,7 @@ export const prepare = {
|
|
|
96
98
|
nonce: Nonce,
|
|
97
99
|
loanTypeId: LoanTypeId,
|
|
98
100
|
loanName: LoanName,
|
|
99
|
-
adapters: MessageAdapters
|
|
101
|
+
adapters: MessageAdapters,
|
|
100
102
|
) {
|
|
101
103
|
const tsChain = TSCore.getSelectedTsChain();
|
|
102
104
|
|
|
@@ -133,13 +135,13 @@ export const prepare = {
|
|
|
133
135
|
TSCore.getHubProvider(),
|
|
134
136
|
tsChain.network,
|
|
135
137
|
MessageDirection.SpokeToHub,
|
|
136
|
-
messageBuilderParams
|
|
138
|
+
messageBuilderParams,
|
|
137
139
|
);
|
|
138
140
|
|
|
139
141
|
const messageToSend = buildMessageToSend(
|
|
140
142
|
tsChain.chainType,
|
|
141
143
|
messageBuilderParams,
|
|
142
|
-
feeParams
|
|
144
|
+
feeParams,
|
|
143
145
|
);
|
|
144
146
|
|
|
145
147
|
switch (tsChain.chainType) {
|
|
@@ -152,7 +154,7 @@ export const prepare = {
|
|
|
152
154
|
nonce,
|
|
153
155
|
loanTypeId,
|
|
154
156
|
loanName,
|
|
155
|
-
spokeChain
|
|
157
|
+
spokeChain,
|
|
156
158
|
);
|
|
157
159
|
default:
|
|
158
160
|
return exhaustiveCheck(tsChain.chainType);
|
|
@@ -167,7 +169,7 @@ export const prepare = {
|
|
|
167
169
|
tsTokenIdToSeize: TSTokenId,
|
|
168
170
|
repayingAmount: bigint,
|
|
169
171
|
minSeizedAmount: bigint,
|
|
170
|
-
liquidatorAddress: GenericAddress
|
|
172
|
+
liquidatorAddress: GenericAddress,
|
|
171
173
|
) {
|
|
172
174
|
const tsChain = TSCore.getSelectedTsChain();
|
|
173
175
|
assertHubChainSelected(tsChain.tsChainId, tsChain.network);
|
|
@@ -175,11 +177,11 @@ export const prepare = {
|
|
|
175
177
|
|
|
176
178
|
const hubTokenToLiquidateData = getHubTokenData(
|
|
177
179
|
tsTokenIdToLiq,
|
|
178
|
-
tsChain.network
|
|
180
|
+
tsChain.network,
|
|
179
181
|
);
|
|
180
182
|
const hubTokenToSeizeData = getHubTokenData(
|
|
181
183
|
tsTokenIdToSeize,
|
|
182
|
-
tsChain.network
|
|
184
|
+
tsChain.network,
|
|
183
185
|
);
|
|
184
186
|
|
|
185
187
|
// const userAddress = getSignerGenericAddress({
|
|
@@ -201,7 +203,7 @@ export const prepare = {
|
|
|
201
203
|
convertFromGenericAddress(liquidatorAddress, tsChain.chainType),
|
|
202
204
|
data,
|
|
203
205
|
accountId,
|
|
204
|
-
hubChain
|
|
206
|
+
hubChain,
|
|
205
207
|
);
|
|
206
208
|
},
|
|
207
209
|
|
|
@@ -210,7 +212,7 @@ export const prepare = {
|
|
|
210
212
|
loanId: LoanId,
|
|
211
213
|
tsTokenId: TSTokenId,
|
|
212
214
|
amount: bigint,
|
|
213
|
-
adapters: MessageAdapters
|
|
215
|
+
adapters: MessageAdapters,
|
|
214
216
|
) {
|
|
215
217
|
const tsChain = TSCore.getSelectedTsChain();
|
|
216
218
|
const network = tsChain.network;
|
|
@@ -254,13 +256,13 @@ export const prepare = {
|
|
|
254
256
|
TSCore.getHubProvider(),
|
|
255
257
|
tsChain.network,
|
|
256
258
|
MessageDirection.SpokeToHub,
|
|
257
|
-
messageBuilderParams
|
|
259
|
+
messageBuilderParams,
|
|
258
260
|
);
|
|
259
261
|
|
|
260
262
|
const messageToSend = buildMessageToSend(
|
|
261
263
|
tsChain.chainType,
|
|
262
264
|
messageBuilderParams,
|
|
263
|
-
feeParams
|
|
265
|
+
feeParams,
|
|
264
266
|
);
|
|
265
267
|
|
|
266
268
|
switch (tsChain.chainType) {
|
|
@@ -274,7 +276,7 @@ export const prepare = {
|
|
|
274
276
|
loanId,
|
|
275
277
|
tsTokenId,
|
|
276
278
|
amount,
|
|
277
|
-
spokeChain
|
|
279
|
+
spokeChain,
|
|
278
280
|
);
|
|
279
281
|
default:
|
|
280
282
|
return exhaustiveCheck(tsChain.chainType);
|
|
@@ -284,7 +286,7 @@ export const prepare = {
|
|
|
284
286
|
async deleteLoan(
|
|
285
287
|
accountId: AccountId,
|
|
286
288
|
loanId: LoanId,
|
|
287
|
-
adapters: MessageAdapters
|
|
289
|
+
adapters: MessageAdapters,
|
|
288
290
|
) {
|
|
289
291
|
const tsChain = TSCore.getSelectedTsChain();
|
|
290
292
|
|
|
@@ -320,13 +322,13 @@ export const prepare = {
|
|
|
320
322
|
TSCore.getHubProvider(),
|
|
321
323
|
tsChain.network,
|
|
322
324
|
MessageDirection.SpokeToHub,
|
|
323
|
-
messageBuilderParams
|
|
325
|
+
messageBuilderParams,
|
|
324
326
|
);
|
|
325
327
|
|
|
326
328
|
const messageToSend = buildMessageToSend(
|
|
327
329
|
tsChain.chainType,
|
|
328
330
|
messageBuilderParams,
|
|
329
|
-
feeParams
|
|
331
|
+
feeParams,
|
|
330
332
|
);
|
|
331
333
|
|
|
332
334
|
switch (tsChain.chainType) {
|
|
@@ -337,28 +339,28 @@ export const prepare = {
|
|
|
337
339
|
messageToSend,
|
|
338
340
|
accountId,
|
|
339
341
|
loanId,
|
|
340
|
-
spokeChain
|
|
342
|
+
spokeChain,
|
|
341
343
|
);
|
|
342
344
|
default:
|
|
343
345
|
return exhaustiveCheck(tsChain.chainType);
|
|
344
346
|
}
|
|
345
347
|
},
|
|
346
348
|
|
|
347
|
-
async
|
|
349
|
+
async initiateLoanAccountWithDeposit(
|
|
348
350
|
accountId: AccountId,
|
|
349
351
|
nonce: Nonce,
|
|
350
352
|
loanTypeId: LoanTypeId,
|
|
351
353
|
loanName: LoanName,
|
|
352
354
|
tsTokenId: TSTokenId,
|
|
353
355
|
amount: bigint,
|
|
354
|
-
adapters: MessageAdapters
|
|
356
|
+
adapters: MessageAdapters,
|
|
355
357
|
) {
|
|
356
358
|
const tsChain = TSCore.getSelectedTsChain();
|
|
357
359
|
|
|
358
360
|
assertSpokeChainSupportTsToken(
|
|
359
361
|
tsChain.tsChainId,
|
|
360
362
|
tsTokenId,
|
|
361
|
-
tsChain.network
|
|
363
|
+
tsChain.network,
|
|
362
364
|
);
|
|
363
365
|
assertLoanTypeSupported(loanTypeId, tsTokenId, tsChain.network);
|
|
364
366
|
const spokeChain = getSpokeChain(tsChain.tsChainId, tsChain.network);
|
|
@@ -371,7 +373,7 @@ export const prepare = {
|
|
|
371
373
|
assertAdapterSupportsCrossChainToken(
|
|
372
374
|
tsChain.tsChainId,
|
|
373
375
|
spokeTokenData.token,
|
|
374
|
-
adapters.adapterId
|
|
376
|
+
adapters.adapterId,
|
|
375
377
|
);
|
|
376
378
|
else
|
|
377
379
|
assertAdapterSupportsDataMessage(tsChain.tsChainId, adapters.adapterId);
|
|
@@ -404,6 +406,8 @@ export const prepare = {
|
|
|
404
406
|
data,
|
|
405
407
|
extraArgs,
|
|
406
408
|
};
|
|
409
|
+
|
|
410
|
+
console.log(messageBuilderParams);
|
|
407
411
|
const feeParams: OptionalFeeParams = {};
|
|
408
412
|
|
|
409
413
|
feeParams.gasLimit = await estimateAdapterReceiveGasLimit(
|
|
@@ -412,14 +416,14 @@ export const prepare = {
|
|
|
412
416
|
TSCore.getHubProvider(),
|
|
413
417
|
tsChain.network,
|
|
414
418
|
MessageDirection.SpokeToHub,
|
|
415
|
-
messageBuilderParams
|
|
419
|
+
messageBuilderParams,
|
|
416
420
|
);
|
|
417
421
|
feeParams.returnGasLimit = SEND_TOKEN_ACTION_RETURN_GAS_LIMIT;
|
|
418
422
|
|
|
419
423
|
const messageToSend = buildMessageToSend(
|
|
420
424
|
tsChain.chainType,
|
|
421
425
|
messageBuilderParams,
|
|
422
|
-
feeParams
|
|
426
|
+
feeParams,
|
|
423
427
|
);
|
|
424
428
|
|
|
425
429
|
switch (tsChain.chainType) {
|
|
@@ -434,7 +438,7 @@ export const prepare = {
|
|
|
434
438
|
loanName,
|
|
435
439
|
amount,
|
|
436
440
|
spokeChain,
|
|
437
|
-
spokeTokenData
|
|
441
|
+
spokeTokenData,
|
|
438
442
|
);
|
|
439
443
|
default:
|
|
440
444
|
return exhaustiveCheck(tsChain.chainType);
|
|
@@ -447,14 +451,14 @@ export const prepare = {
|
|
|
447
451
|
loanTypeId: LoanTypeId,
|
|
448
452
|
tsTokenId: TSTokenId,
|
|
449
453
|
amount: bigint,
|
|
450
|
-
adapters: MessageAdapters
|
|
454
|
+
adapters: MessageAdapters,
|
|
451
455
|
) {
|
|
452
456
|
const tsChain = TSCore.getSelectedTsChain();
|
|
453
457
|
|
|
454
458
|
assertSpokeChainSupportTsToken(
|
|
455
459
|
tsChain.tsChainId,
|
|
456
460
|
tsTokenId,
|
|
457
|
-
tsChain.network
|
|
461
|
+
tsChain.network,
|
|
458
462
|
);
|
|
459
463
|
assertLoanTypeSupported(loanTypeId, tsTokenId, tsChain.network);
|
|
460
464
|
const spokeChain = getSpokeChain(tsChain.tsChainId, tsChain.network);
|
|
@@ -467,7 +471,7 @@ export const prepare = {
|
|
|
467
471
|
assertAdapterSupportsCrossChainToken(
|
|
468
472
|
tsChain.tsChainId,
|
|
469
473
|
spokeTokenData.token,
|
|
470
|
-
adapters.adapterId
|
|
474
|
+
adapters.adapterId,
|
|
471
475
|
);
|
|
472
476
|
else
|
|
473
477
|
assertAdapterSupportsDataMessage(tsChain.tsChainId, adapters.adapterId);
|
|
@@ -506,14 +510,14 @@ export const prepare = {
|
|
|
506
510
|
TSCore.getHubProvider(),
|
|
507
511
|
tsChain.network,
|
|
508
512
|
MessageDirection.SpokeToHub,
|
|
509
|
-
messageBuilderParams
|
|
513
|
+
messageBuilderParams,
|
|
510
514
|
);
|
|
511
515
|
feeParams.returnGasLimit = SEND_TOKEN_ACTION_RETURN_GAS_LIMIT;
|
|
512
516
|
|
|
513
517
|
const messageToSend = buildMessageToSend(
|
|
514
518
|
tsChain.chainType,
|
|
515
519
|
messageBuilderParams,
|
|
516
|
-
feeParams
|
|
520
|
+
feeParams,
|
|
517
521
|
);
|
|
518
522
|
|
|
519
523
|
switch (tsChain.chainType) {
|
|
@@ -526,7 +530,7 @@ export const prepare = {
|
|
|
526
530
|
loanId,
|
|
527
531
|
amount,
|
|
528
532
|
spokeChain,
|
|
529
|
-
spokeTokenData
|
|
533
|
+
spokeTokenData,
|
|
530
534
|
);
|
|
531
535
|
default:
|
|
532
536
|
return exhaustiveCheck(tsChain.chainType);
|
|
@@ -540,7 +544,7 @@ export const prepare = {
|
|
|
540
544
|
amount: bigint,
|
|
541
545
|
isTAmount: boolean,
|
|
542
546
|
receiverTsChainId: TSChainId,
|
|
543
|
-
adapters: MessageAdapters
|
|
547
|
+
adapters: MessageAdapters,
|
|
544
548
|
) {
|
|
545
549
|
const tsChain = TSCore.getSelectedTsChain();
|
|
546
550
|
const network = tsChain.network;
|
|
@@ -550,7 +554,7 @@ export const prepare = {
|
|
|
550
554
|
const receiverSpokeChain = getSpokeChain(receiverTsChainId, network);
|
|
551
555
|
const receiverSpokeTokenData = getSpokeTokenData(
|
|
552
556
|
receiverSpokeChain,
|
|
553
|
-
tsTokenId
|
|
557
|
+
tsTokenId,
|
|
554
558
|
);
|
|
555
559
|
|
|
556
560
|
assertAdapterSupportsDataMessage(tsChain.tsChainId, adapters.adapterId);
|
|
@@ -558,12 +562,12 @@ export const prepare = {
|
|
|
558
562
|
assertAdapterSupportsCrossChainToken(
|
|
559
563
|
receiverTsChainId,
|
|
560
564
|
receiverSpokeTokenData.token,
|
|
561
|
-
adapters.returnAdapterId
|
|
565
|
+
adapters.returnAdapterId,
|
|
562
566
|
);
|
|
563
567
|
else
|
|
564
568
|
assertAdapterSupportsDataMessage(
|
|
565
569
|
receiverTsChainId,
|
|
566
|
-
adapters.returnAdapterId
|
|
570
|
+
adapters.returnAdapterId,
|
|
567
571
|
);
|
|
568
572
|
|
|
569
573
|
assertSpokeChainSupportTsToken(receiverTsChainId, tsTokenId, network);
|
|
@@ -611,7 +615,7 @@ export const prepare = {
|
|
|
611
615
|
TSCore.getEVMProvider(receiverTsChain.tsChainId),
|
|
612
616
|
tsChain.network,
|
|
613
617
|
MessageDirection.HubToSpoke,
|
|
614
|
-
returnMessageBuilderParams
|
|
618
|
+
returnMessageBuilderParams,
|
|
615
619
|
);
|
|
616
620
|
|
|
617
621
|
const data: WithdrawMessageData = {
|
|
@@ -640,7 +644,7 @@ export const prepare = {
|
|
|
640
644
|
amount,
|
|
641
645
|
receiverTsChainId,
|
|
642
646
|
adapters,
|
|
643
|
-
feeParams
|
|
647
|
+
feeParams,
|
|
644
648
|
);
|
|
645
649
|
feeParams.gasLimit = await estimateAdapterReceiveGasLimit(
|
|
646
650
|
tsChain.tsChainId,
|
|
@@ -649,13 +653,13 @@ export const prepare = {
|
|
|
649
653
|
tsChain.network,
|
|
650
654
|
MessageDirection.SpokeToHub,
|
|
651
655
|
messageBuilderParams,
|
|
652
|
-
feeParams.receiverValue
|
|
656
|
+
feeParams.receiverValue,
|
|
653
657
|
);
|
|
654
658
|
|
|
655
659
|
const messageToSend = buildMessageToSend(
|
|
656
660
|
tsChain.chainType,
|
|
657
661
|
messageBuilderParams,
|
|
658
|
-
feeParams
|
|
662
|
+
feeParams,
|
|
659
663
|
);
|
|
660
664
|
|
|
661
665
|
switch (tsChain.chainType) {
|
|
@@ -671,7 +675,7 @@ export const prepare = {
|
|
|
671
675
|
amount,
|
|
672
676
|
isTAmount,
|
|
673
677
|
receiverTsChainId,
|
|
674
|
-
spokeChain
|
|
678
|
+
spokeChain,
|
|
675
679
|
);
|
|
676
680
|
default:
|
|
677
681
|
return exhaustiveCheck(tsChain.chainType);
|
|
@@ -685,7 +689,7 @@ export const prepare = {
|
|
|
685
689
|
amount: bigint,
|
|
686
690
|
maxStableRate: bigint,
|
|
687
691
|
receiverTsChainId: TSChainId,
|
|
688
|
-
adapters: MessageAdapters
|
|
692
|
+
adapters: MessageAdapters,
|
|
689
693
|
) {
|
|
690
694
|
const tsChain = TSCore.getSelectedTsChain();
|
|
691
695
|
const network = tsChain.network;
|
|
@@ -695,7 +699,7 @@ export const prepare = {
|
|
|
695
699
|
const receiverSpokeChain = getSpokeChain(receiverTsChainId, network);
|
|
696
700
|
const receiverSpokeTokenData = getSpokeTokenData(
|
|
697
701
|
receiverSpokeChain,
|
|
698
|
-
tsTokenId
|
|
702
|
+
tsTokenId,
|
|
699
703
|
);
|
|
700
704
|
|
|
701
705
|
assertAdapterSupportsDataMessage(tsChain.tsChainId, adapters.adapterId);
|
|
@@ -703,12 +707,12 @@ export const prepare = {
|
|
|
703
707
|
assertAdapterSupportsCrossChainToken(
|
|
704
708
|
receiverTsChainId,
|
|
705
709
|
receiverSpokeTokenData.token,
|
|
706
|
-
adapters.returnAdapterId
|
|
710
|
+
adapters.returnAdapterId,
|
|
707
711
|
);
|
|
708
712
|
else
|
|
709
713
|
assertAdapterSupportsDataMessage(
|
|
710
714
|
receiverTsChainId,
|
|
711
|
-
adapters.returnAdapterId
|
|
715
|
+
adapters.returnAdapterId,
|
|
712
716
|
);
|
|
713
717
|
assertSpokeChainSupportTsToken(receiverTsChainId, tsTokenId, network);
|
|
714
718
|
|
|
@@ -755,7 +759,7 @@ export const prepare = {
|
|
|
755
759
|
TSCore.getEVMProvider(receiverTsChain.tsChainId),
|
|
756
760
|
tsChain.network,
|
|
757
761
|
MessageDirection.HubToSpoke,
|
|
758
|
-
returnMessageBuilderParams
|
|
762
|
+
returnMessageBuilderParams,
|
|
759
763
|
);
|
|
760
764
|
|
|
761
765
|
const data: BorrowMessageData = {
|
|
@@ -784,7 +788,7 @@ export const prepare = {
|
|
|
784
788
|
amount,
|
|
785
789
|
receiverTsChainId,
|
|
786
790
|
adapters,
|
|
787
|
-
feeParams
|
|
791
|
+
feeParams,
|
|
788
792
|
);
|
|
789
793
|
feeParams.gasLimit = await estimateAdapterReceiveGasLimit(
|
|
790
794
|
tsChain.tsChainId,
|
|
@@ -793,13 +797,13 @@ export const prepare = {
|
|
|
793
797
|
tsChain.network,
|
|
794
798
|
MessageDirection.SpokeToHub,
|
|
795
799
|
messageBuilderParams,
|
|
796
|
-
feeParams.receiverValue
|
|
800
|
+
feeParams.receiverValue,
|
|
797
801
|
);
|
|
798
802
|
|
|
799
803
|
const messageToSend = buildMessageToSend(
|
|
800
804
|
tsChain.chainType,
|
|
801
805
|
messageBuilderParams,
|
|
802
|
-
feeParams
|
|
806
|
+
feeParams,
|
|
803
807
|
);
|
|
804
808
|
|
|
805
809
|
switch (tsChain.chainType) {
|
|
@@ -815,7 +819,7 @@ export const prepare = {
|
|
|
815
819
|
amount,
|
|
816
820
|
maxStableRate,
|
|
817
821
|
receiverTsChainId,
|
|
818
|
-
spokeChain
|
|
822
|
+
spokeChain,
|
|
819
823
|
);
|
|
820
824
|
default:
|
|
821
825
|
return exhaustiveCheck(tsChain.chainType);
|
|
@@ -829,14 +833,14 @@ export const prepare = {
|
|
|
829
833
|
tsTokenId: TSTokenId,
|
|
830
834
|
amount: bigint,
|
|
831
835
|
maxOverRepayment: bigint,
|
|
832
|
-
adapters: MessageAdapters
|
|
836
|
+
adapters: MessageAdapters,
|
|
833
837
|
): Promise<PrepareRepayCall> {
|
|
834
838
|
const tsChain = TSCore.getSelectedTsChain();
|
|
835
839
|
|
|
836
840
|
assertSpokeChainSupportTsToken(
|
|
837
841
|
tsChain.tsChainId,
|
|
838
842
|
tsTokenId,
|
|
839
|
-
tsChain.network
|
|
843
|
+
tsChain.network,
|
|
840
844
|
);
|
|
841
845
|
assertLoanTypeSupported(loanTypeId, tsTokenId, tsChain.network);
|
|
842
846
|
const spokeChain = getSpokeChain(tsChain.tsChainId, tsChain.network);
|
|
@@ -849,7 +853,7 @@ export const prepare = {
|
|
|
849
853
|
assertAdapterSupportsCrossChainToken(
|
|
850
854
|
tsChain.tsChainId,
|
|
851
855
|
spokeTokenData.token,
|
|
852
|
-
adapters.adapterId
|
|
856
|
+
adapters.adapterId,
|
|
853
857
|
);
|
|
854
858
|
else
|
|
855
859
|
assertAdapterSupportsDataMessage(tsChain.tsChainId, adapters.adapterId);
|
|
@@ -889,14 +893,14 @@ export const prepare = {
|
|
|
889
893
|
TSCore.getHubProvider(),
|
|
890
894
|
tsChain.network,
|
|
891
895
|
MessageDirection.SpokeToHub,
|
|
892
|
-
messageBuilderParams
|
|
896
|
+
messageBuilderParams,
|
|
893
897
|
);
|
|
894
898
|
feeParams.returnGasLimit = SEND_TOKEN_ACTION_RETURN_GAS_LIMIT;
|
|
895
899
|
|
|
896
900
|
const messageToSend = buildMessageToSend(
|
|
897
901
|
tsChain.chainType,
|
|
898
902
|
messageBuilderParams,
|
|
899
|
-
feeParams
|
|
903
|
+
feeParams,
|
|
900
904
|
);
|
|
901
905
|
|
|
902
906
|
switch (tsChain.chainType) {
|
|
@@ -910,7 +914,7 @@ export const prepare = {
|
|
|
910
914
|
amount,
|
|
911
915
|
maxOverRepayment,
|
|
912
916
|
spokeChain,
|
|
913
|
-
spokeTokenData
|
|
917
|
+
spokeTokenData,
|
|
914
918
|
);
|
|
915
919
|
default:
|
|
916
920
|
return exhaustiveCheck(tsChain.chainType);
|
|
@@ -924,7 +928,7 @@ export const write = {
|
|
|
924
928
|
nonce: Nonce,
|
|
925
929
|
loanTypeId: LoanTypeId,
|
|
926
930
|
loanName: LoanName,
|
|
927
|
-
prepareCall: PrepareCreateLoanCall
|
|
931
|
+
prepareCall: PrepareCreateLoanCall,
|
|
928
932
|
) {
|
|
929
933
|
const tsChain = TSCore.getSelectedTsChain();
|
|
930
934
|
|
|
@@ -939,7 +943,7 @@ export const write = {
|
|
|
939
943
|
nonce,
|
|
940
944
|
loanTypeId,
|
|
941
945
|
loanName,
|
|
942
|
-
prepareCall
|
|
946
|
+
prepareCall,
|
|
943
947
|
);
|
|
944
948
|
default:
|
|
945
949
|
return exhaustiveCheck(tsChain.chainType);
|
|
@@ -949,7 +953,7 @@ export const write = {
|
|
|
949
953
|
async deleteLoan(
|
|
950
954
|
accountId: AccountId,
|
|
951
955
|
loanId: LoanId,
|
|
952
|
-
prepareCall: PrepareCreateLoanCall
|
|
956
|
+
prepareCall: PrepareCreateLoanCall,
|
|
953
957
|
) {
|
|
954
958
|
const tsChain = TSCore.getSelectedTsChain();
|
|
955
959
|
|
|
@@ -962,21 +966,21 @@ export const write = {
|
|
|
962
966
|
TSCore.getSigner<ChainType.EVM>(),
|
|
963
967
|
accountId,
|
|
964
968
|
loanId,
|
|
965
|
-
prepareCall
|
|
969
|
+
prepareCall,
|
|
966
970
|
);
|
|
967
971
|
default:
|
|
968
972
|
return exhaustiveCheck(tsChain.chainType);
|
|
969
973
|
}
|
|
970
974
|
},
|
|
971
975
|
|
|
972
|
-
async
|
|
976
|
+
async initiateLoanAccountWithDeposit(
|
|
973
977
|
accountId: AccountId,
|
|
974
978
|
nonce: Nonce,
|
|
975
979
|
loanTypeId: LoanTypeId,
|
|
976
980
|
loanName: LoanName,
|
|
977
981
|
amount: bigint,
|
|
978
982
|
includeApproval: boolean,
|
|
979
|
-
prepareCall: PrepareCreateLoanAndDepositCall
|
|
983
|
+
prepareCall: PrepareCreateLoanAndDepositCall,
|
|
980
984
|
) {
|
|
981
985
|
const tsChain = TSCore.getSelectedTsChain();
|
|
982
986
|
|
|
@@ -993,7 +997,7 @@ export const write = {
|
|
|
993
997
|
loanName,
|
|
994
998
|
amount,
|
|
995
999
|
includeApproval,
|
|
996
|
-
prepareCall
|
|
1000
|
+
prepareCall,
|
|
997
1001
|
);
|
|
998
1002
|
default:
|
|
999
1003
|
return exhaustiveCheck(tsChain.chainType);
|
|
@@ -1005,7 +1009,7 @@ export const write = {
|
|
|
1005
1009
|
loanId: LoanId,
|
|
1006
1010
|
amount: bigint,
|
|
1007
1011
|
includeApproval: boolean,
|
|
1008
|
-
prepareCall: PrepareDepositCall
|
|
1012
|
+
prepareCall: PrepareDepositCall,
|
|
1009
1013
|
) {
|
|
1010
1014
|
const tsChain = TSCore.getSelectedTsChain();
|
|
1011
1015
|
|
|
@@ -1020,7 +1024,7 @@ export const write = {
|
|
|
1020
1024
|
loanId,
|
|
1021
1025
|
amount,
|
|
1022
1026
|
includeApproval,
|
|
1023
|
-
prepareCall
|
|
1027
|
+
prepareCall,
|
|
1024
1028
|
);
|
|
1025
1029
|
default:
|
|
1026
1030
|
return exhaustiveCheck(tsChain.chainType);
|
|
@@ -1034,7 +1038,7 @@ export const write = {
|
|
|
1034
1038
|
amount: bigint,
|
|
1035
1039
|
isTAmount: boolean,
|
|
1036
1040
|
receiverTsChainId: TSChainId,
|
|
1037
|
-
prepareCall: PrepareWithdrawCall
|
|
1041
|
+
prepareCall: PrepareWithdrawCall,
|
|
1038
1042
|
) {
|
|
1039
1043
|
const tsChain = TSCore.getSelectedTsChain();
|
|
1040
1044
|
|
|
@@ -1051,7 +1055,7 @@ export const write = {
|
|
|
1051
1055
|
amount,
|
|
1052
1056
|
isTAmount,
|
|
1053
1057
|
receiverTsChainId,
|
|
1054
|
-
prepareCall
|
|
1058
|
+
prepareCall,
|
|
1055
1059
|
);
|
|
1056
1060
|
default:
|
|
1057
1061
|
return exhaustiveCheck(tsChain.chainType);
|
|
@@ -1065,7 +1069,7 @@ export const write = {
|
|
|
1065
1069
|
amount: bigint,
|
|
1066
1070
|
maxStableRate: bigint,
|
|
1067
1071
|
receiverTsChainId: TSChainId,
|
|
1068
|
-
prepareCall: PrepareBorrowCall
|
|
1072
|
+
prepareCall: PrepareBorrowCall,
|
|
1069
1073
|
) {
|
|
1070
1074
|
const tsChain = TSCore.getSelectedTsChain();
|
|
1071
1075
|
|
|
@@ -1082,7 +1086,7 @@ export const write = {
|
|
|
1082
1086
|
amount,
|
|
1083
1087
|
maxStableRate,
|
|
1084
1088
|
receiverTsChainId,
|
|
1085
|
-
prepareCall
|
|
1089
|
+
prepareCall,
|
|
1086
1090
|
);
|
|
1087
1091
|
default:
|
|
1088
1092
|
return exhaustiveCheck(tsChain.chainType);
|
|
@@ -1095,7 +1099,7 @@ export const write = {
|
|
|
1095
1099
|
amount: bigint,
|
|
1096
1100
|
maxOverRepayment: bigint,
|
|
1097
1101
|
includeApproval: boolean,
|
|
1098
|
-
prepareCall: PrepareRepayCall
|
|
1102
|
+
prepareCall: PrepareRepayCall,
|
|
1099
1103
|
) {
|
|
1100
1104
|
const tsChain = TSCore.getSelectedTsChain();
|
|
1101
1105
|
|
|
@@ -1111,7 +1115,7 @@ export const write = {
|
|
|
1111
1115
|
amount,
|
|
1112
1116
|
maxOverRepayment,
|
|
1113
1117
|
includeApproval,
|
|
1114
|
-
prepareCall
|
|
1118
|
+
prepareCall,
|
|
1115
1119
|
);
|
|
1116
1120
|
default:
|
|
1117
1121
|
return exhaustiveCheck(tsChain.chainType);
|
|
@@ -1126,7 +1130,7 @@ export const write = {
|
|
|
1126
1130
|
TSCore.getProvider<ChainType.EVM>(tsChain.tsChainId),
|
|
1127
1131
|
TSCore.getSigner<ChainType.EVM>(),
|
|
1128
1132
|
accountId,
|
|
1129
|
-
prepareCall
|
|
1133
|
+
prepareCall,
|
|
1130
1134
|
);
|
|
1131
1135
|
},
|
|
1132
1136
|
async repayWithCollateral(
|
|
@@ -1134,7 +1138,7 @@ export const write = {
|
|
|
1134
1138
|
loanId: LoanId,
|
|
1135
1139
|
tsTokenId: TSTokenId,
|
|
1136
1140
|
amount: bigint,
|
|
1137
|
-
prepareCall: PrepareRepayWithCollateralCall
|
|
1141
|
+
prepareCall: PrepareRepayWithCollateralCall,
|
|
1138
1142
|
) {
|
|
1139
1143
|
const tsChain = TSCore.getSelectedTsChain();
|
|
1140
1144
|
|
|
@@ -1149,7 +1153,7 @@ export const write = {
|
|
|
1149
1153
|
loanId,
|
|
1150
1154
|
poolId,
|
|
1151
1155
|
amount,
|
|
1152
|
-
prepareCall
|
|
1156
|
+
prepareCall,
|
|
1153
1157
|
);
|
|
1154
1158
|
default:
|
|
1155
1159
|
return exhaustiveCheck(tsChain.chainType);
|
|
@@ -1160,7 +1164,7 @@ export const write = {
|
|
|
1160
1164
|
export const read = {
|
|
1161
1165
|
async rateLimit(
|
|
1162
1166
|
tsTokenId: TSTokenId,
|
|
1163
|
-
tsChainId: TSChainId
|
|
1167
|
+
tsChainId: TSChainId,
|
|
1164
1168
|
): Promise<TokenRateLimit> {
|
|
1165
1169
|
const network = TSCore.getSelectedNetwork();
|
|
1166
1170
|
const tsChain = getTsChain(tsChainId, network);
|
|
@@ -1168,7 +1172,7 @@ export const read = {
|
|
|
1168
1172
|
assertSpokeChainSupportTsToken(
|
|
1169
1173
|
tsChain.tsChainId,
|
|
1170
1174
|
tsTokenId,
|
|
1171
|
-
tsChain.network
|
|
1175
|
+
tsChain.network,
|
|
1172
1176
|
);
|
|
1173
1177
|
const spokeChain = getSpokeChain(tsChain.tsChainId, tsChain.network);
|
|
1174
1178
|
const spokeTokenData = getSpokeTokenData(spokeChain, tsTokenId);
|
|
@@ -1177,7 +1181,7 @@ export const read = {
|
|
|
1177
1181
|
case ChainType.EVM:
|
|
1178
1182
|
return await TSEvmLoan.read.rateLimitInfo(
|
|
1179
1183
|
TSCore.getProvider<ChainType.EVM>(tsChain.tsChainId),
|
|
1180
|
-
spokeTokenData
|
|
1184
|
+
spokeTokenData,
|
|
1181
1185
|
);
|
|
1182
1186
|
default:
|
|
1183
1187
|
return exhaustiveCheck(tsChain.chainType);
|
|
@@ -1189,42 +1193,48 @@ export const read = {
|
|
|
1189
1193
|
|
|
1190
1194
|
// filter for all tokens supported in loan type
|
|
1191
1195
|
const tokensData = Object.values(getHubTokensData(network)).filter(
|
|
1192
|
-
(tokenData) => tokenData.supportedLoanTypes.has(loanTypeId)
|
|
1196
|
+
(tokenData) => tokenData.supportedLoanTypes.has(loanTypeId),
|
|
1193
1197
|
);
|
|
1194
1198
|
|
|
1195
1199
|
return await TsHubLoan.getLoanTypeInfo(
|
|
1196
1200
|
TSCore.getHubProvider(),
|
|
1197
1201
|
network,
|
|
1198
1202
|
loanTypeId,
|
|
1199
|
-
tokensData
|
|
1203
|
+
tokensData,
|
|
1200
1204
|
);
|
|
1201
1205
|
},
|
|
1202
1206
|
|
|
1203
1207
|
async userLoansIds(
|
|
1204
1208
|
accountId: AccountId,
|
|
1205
|
-
loanTypeIdsFilter?: Array<LoanTypeId
|
|
1209
|
+
loanTypeIdsFilter?: Array<LoanTypeId>,
|
|
1206
1210
|
): Promise<Map<LoanTypeId, Array<LoanId>>> {
|
|
1207
1211
|
const network = TSCore.getSelectedNetwork();
|
|
1208
1212
|
return await TsHubLoan.getUserLoanIds(
|
|
1209
1213
|
TSCore.getHubProvider(),
|
|
1210
1214
|
network,
|
|
1211
1215
|
accountId,
|
|
1212
|
-
loanTypeIdsFilter
|
|
1216
|
+
loanTypeIdsFilter,
|
|
1213
1217
|
);
|
|
1214
1218
|
},
|
|
1215
1219
|
|
|
1216
1220
|
async userLoans(
|
|
1217
1221
|
loanIds: Array<LoanId>,
|
|
1218
|
-
throwErrorOnInactiveLoan = true
|
|
1222
|
+
throwErrorOnInactiveLoan = true,
|
|
1219
1223
|
): Promise<Map<LoanId, LoanControllerUserLoan>> {
|
|
1220
1224
|
const network = TSCore.getSelectedNetwork();
|
|
1221
1225
|
return await TsHubLoan.getUserLoans(
|
|
1222
1226
|
TSCore.getHubProvider(),
|
|
1223
1227
|
network,
|
|
1224
1228
|
loanIds,
|
|
1225
|
-
throwErrorOnInactiveLoan
|
|
1229
|
+
throwErrorOnInactiveLoan,
|
|
1226
1230
|
);
|
|
1227
1231
|
},
|
|
1232
|
+
async getLoanIds(
|
|
1233
|
+
accountId: AccountId,
|
|
1234
|
+
graphqlEndpoint: string,
|
|
1235
|
+
): Promise<GetUserAccountIdToLoanIdResponse> {
|
|
1236
|
+
return getUserLoanIds(accountId, graphqlEndpoint);
|
|
1237
|
+
},
|
|
1228
1238
|
};
|
|
1229
1239
|
|
|
1230
1240
|
export const util = {
|
|
@@ -1233,7 +1243,7 @@ export const util = {
|
|
|
1233
1243
|
poolsInfo: Partial<Record<TSTokenId, PoolInfo>>,
|
|
1234
1244
|
loanTypesInfo: Partial<Record<LoanTypeId, LoanTypeInfo>>,
|
|
1235
1245
|
oraclePrices: OraclePrices,
|
|
1236
|
-
additionalInterests?: AssetsAdditionalInterest
|
|
1246
|
+
additionalInterests?: AssetsAdditionalInterest,
|
|
1237
1247
|
): Record<LoanId, UserLoanInfo> {
|
|
1238
1248
|
// get info of each user loan
|
|
1239
1249
|
return TsHubLoan.getUserLoansInfo(
|
|
@@ -1241,13 +1251,13 @@ export const util = {
|
|
|
1241
1251
|
poolsInfo,
|
|
1242
1252
|
loanTypesInfo,
|
|
1243
1253
|
oraclePrices,
|
|
1244
|
-
additionalInterests
|
|
1254
|
+
additionalInterests,
|
|
1245
1255
|
);
|
|
1246
1256
|
},
|
|
1247
1257
|
|
|
1248
1258
|
emptyLoanForSimulate(
|
|
1249
1259
|
accountId: AccountId,
|
|
1250
|
-
loanTypeId: LoanTypeId
|
|
1260
|
+
loanTypeId: LoanTypeId,
|
|
1251
1261
|
): LoanControllerUserLoan {
|
|
1252
1262
|
return {
|
|
1253
1263
|
accountId,
|
|
@@ -1261,7 +1271,7 @@ export const util = {
|
|
|
1261
1271
|
|
|
1262
1272
|
simulateLoanChanges(
|
|
1263
1273
|
loan: LoanControllerUserLoan,
|
|
1264
|
-
changes: Array<LoanChange
|
|
1274
|
+
changes: Array<LoanChange>,
|
|
1265
1275
|
): LoanControllerUserLoan {
|
|
1266
1276
|
return TsHubLoan.simulateLoanChanges(loan, changes);
|
|
1267
1277
|
},
|