@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.
Files changed (33) hide show
  1. package/dist/chains/evm/common/constant/tokens.js +16 -0
  2. package/dist/chains/evm/common/constant/tokens.js.map +1 -1
  3. package/dist/chains/evm/common/types/module.d.ts +7 -0
  4. package/dist/chains/evm/common/utils/events.d.ts +25 -0
  5. package/dist/chains/evm/common/utils/events.js +132 -0
  6. package/dist/chains/evm/common/utils/events.js.map +1 -0
  7. package/dist/chains/evm/hub/constants/chain.js +29 -0
  8. package/dist/chains/evm/hub/constants/chain.js.map +1 -1
  9. package/dist/chains/evm/hub/modules/ts-hub-loan.js +1 -1
  10. package/dist/chains/evm/hub/modules/ts-hub-loan.js.map +1 -1
  11. package/dist/common/constants/chain.js +20 -0
  12. package/dist/common/constants/chain.js.map +1 -1
  13. package/dist/common/constants/pool.d.ts +2 -0
  14. package/dist/common/constants/pool.js +2 -0
  15. package/dist/common/constants/pool.js.map +1 -1
  16. package/dist/common/types/token.d.ts +2 -0
  17. package/dist/common/types/token.js +2 -0
  18. package/dist/common/types/token.js.map +1 -1
  19. package/dist/lifeline/modules/ts-account.js.map +1 -1
  20. package/dist/lifeline/modules/ts-loan.d.ts +4 -2
  21. package/dist/lifeline/modules/ts-loan.js +7 -2
  22. package/dist/lifeline/modules/ts-loan.js.map +1 -1
  23. package/package.json +3 -1
  24. package/src/chains/evm/common/constant/tokens.ts +16 -1
  25. package/src/chains/evm/common/types/module.ts +8 -0
  26. package/src/chains/evm/{hub → common}/utils/events.ts +39 -2
  27. package/src/chains/evm/hub/constants/chain.ts +60 -25
  28. package/src/chains/evm/hub/modules/ts-hub-loan.ts +2 -1
  29. package/src/common/constants/chain.ts +68 -36
  30. package/src/common/constants/pool.ts +2 -0
  31. package/src/common/types/token.ts +3 -0
  32. package/src/lifeline/modules/ts-account.ts +3 -0
  33. 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 createLoanAndDeposit(
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 createLoanAndDeposit(
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
  },