@townsq/mm-sdk 2.2.0 → 2.6.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.
@@ -1,7 +1,7 @@
1
1
  import type { EventParams } from '../types/contract.js';
2
2
  export declare const defaultEventParams: EventParams;
3
- export declare const GAS_LIMIT_ESTIMATE_INCREASE = 10000n;
4
- export declare const SEND_TOKEN_ACTION_RETURN_GAS_LIMIT = 500000n;
3
+ export declare const GAS_LIMIT_ESTIMATE_INCREASE = 2000000n;
4
+ export declare const SEND_TOKEN_ACTION_RETURN_GAS_LIMIT = 2000000n;
5
5
  export declare const RECEIVER_VALUE_SLIPPAGE = 0.01;
6
6
  export declare const RETRY_REVERSE_GAS_LIMIT_SLIPPAGE = 0.05;
7
7
  export declare const UPDATE_USER_POINTS_IN_LOANS_GAS_LIMIT_SLIPPAGE = 0.1;
@@ -3,8 +3,8 @@ export const defaultEventParams = {
3
3
  toBlock: 'latest',
4
4
  strict: true,
5
5
  };
6
- export const GAS_LIMIT_ESTIMATE_INCREASE = 10000n;
7
- export const SEND_TOKEN_ACTION_RETURN_GAS_LIMIT = 500000n;
6
+ export const GAS_LIMIT_ESTIMATE_INCREASE = 2000000n;
7
+ export const SEND_TOKEN_ACTION_RETURN_GAS_LIMIT = 2000000n;
8
8
  export const RECEIVER_VALUE_SLIPPAGE = 0.01;
9
9
  export const RETRY_REVERSE_GAS_LIMIT_SLIPPAGE = 0.05;
10
10
  export const UPDATE_USER_POINTS_IN_LOANS_GAS_LIMIT_SLIPPAGE = 0.1;
@@ -1 +1 @@
1
- {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../../../src/chains/evm/common/constant/contract.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,kBAAkB,GAAgB;IAC7C,SAAS,EAAE,UAAU;IACrB,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,IAAI;CACb,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,MAAO,CAAC;AACnD,MAAM,CAAC,MAAM,kCAAkC,GAAG,OAAQ,CAAC;AAC3D,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAC5C,MAAM,CAAC,MAAM,gCAAgC,GAAG,IAAI,CAAC;AACrD,MAAM,CAAC,MAAM,8CAA8C,GAAG,GAAG,CAAC;AAClE,MAAM,CAAC,MAAM,oDAAoD,GAAG,IAAI,CAAC;AACzE,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../../../src/chains/evm/common/constant/contract.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,kBAAkB,GAAgB;IAC7C,SAAS,EAAE,UAAU;IACrB,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,IAAI;CACb,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,QAAU,CAAC;AACtD,MAAM,CAAC,MAAM,kCAAkC,GAAG,QAAU,CAAC;AAC7D,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAC5C,MAAM,CAAC,MAAM,gCAAgC,GAAG,IAAI,CAAC;AACrD,MAAM,CAAC,MAAM,8CAA8C,GAAG,GAAG,CAAC;AAClE,MAAM,CAAC,MAAM,oDAAoD,GAAG,IAAI,CAAC;AACzE,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC"}
@@ -5,7 +5,7 @@ import type { MessageToSend } from '../../../../common/types/message.js';
5
5
  import type { TSTokenId, SpokeTokenData } from '../../../../common/types/token.js';
6
6
  import type { PrepareBorrowCall, PrepareCreateLoanAndDepositCall, PrepareCreateLoanCall, PrepareDeleteLoanCall, PrepareDepositCall, PrepareRepayCall, PrepareRepayWithCollateralCall, PrepareSwitchBorrowTypeCall, PrepareWithdrawCall } from '../../common/types/module.js';
7
7
  import type { TokenRateLimit } from '../types/pool.js';
8
- import type { Client, EstimateGasParameters, WalletClient } from 'viem';
8
+ import { Client, EstimateGasParameters, WalletClient } from 'viem';
9
9
  export declare const prepare: {
10
10
  createLoan(provider: Client, sender: EvmAddress, messageToSend: MessageToSend, accountId: AccountId, nonce: Nonce, loanTypeId: LoanTypeId, loanName: LoanName, spokeChain: SpokeChain, transactionOptions?: EstimateGasParameters): Promise<PrepareCreateLoanCall>;
11
11
  deleteLoan(provider: Client, sender: EvmAddress, messageToSend: MessageToSend, accountId: AccountId, loanId: LoanId, spokeChain: SpokeChain, transactionOptions?: EstimateGasParameters): Promise<PrepareDeleteLoanCall>;
@@ -9,6 +9,7 @@ import { sendERC20Approve } from '../../common/utils/contract.js';
9
9
  import { getAllowanceStateOverride } from '../../common/utils/tokens.js';
10
10
  import { getHubTokenData } from '../../hub/utils/chain.js';
11
11
  import { getSpokeMessageDispatcherContract, getSpokeOperationContract, getSpokeTokenContract, } from '../utils/contract.js';
12
+ import { BaseError, ContractFunctionRevertedError, } from 'viem';
12
13
  export const prepare = {
13
14
  async createLoan(provider, sender, messageToSend, accountId, nonce, loanTypeId, loanName, spokeChain, transactionOptions = { account: sender }) {
14
15
  const spokeOperationAddress = spokeChain.spokeOperationAddress;
@@ -75,15 +76,30 @@ export const prepare = {
75
76
  const adapterFees = await bridgeRouter.read.getSendFee([messageToSend]);
76
77
  const value = spokeTokenData.token.type === TokenType.NATIVE ? amount : BigInt(0);
77
78
  const msgValue = adapterFees + value;
78
- // get gas limits
79
- const gasLimit = await spokeToken.estimateGas.initiateLoanAccountWithDeposit([messageToSend.params, accountId, nonce, amount, loanTypeId, loanName], {
80
- value: msgValue,
81
- ...transactionOptions,
82
- stateOverride,
83
- });
79
+ let gasLimit = GAS_LIMIT_ESTIMATE_INCREASE;
80
+ try {
81
+ gasLimit += await spokeToken.estimateGas.initiateLoanAccountWithDeposit([messageToSend.params, accountId, nonce, amount, loanTypeId, loanName], {
82
+ value: msgValue,
83
+ ...transactionOptions,
84
+ stateOverride,
85
+ });
86
+ }
87
+ catch (error) {
88
+ if (error instanceof BaseError) {
89
+ const revert = error.walk((e) => e instanceof ContractFunctionRevertedError);
90
+ const reason = revert?.data?.errorName ?? revert?.reason ?? error.shortMessage;
91
+ if (!reason?.toLowerCase().includes('reserve balance violation')) {
92
+ throw error;
93
+ }
94
+ // else: swallow — it's the expected "reserve balance violation" case
95
+ }
96
+ else {
97
+ throw error;
98
+ }
99
+ }
84
100
  return {
85
101
  msgValue,
86
- gasLimit: gasLimit + GAS_LIMIT_ESTIMATE_INCREASE,
102
+ gasLimit: gasLimit,
87
103
  messageParams: messageToSend.params,
88
104
  spokeTokenData: spokeTokenData,
89
105
  };
@@ -118,14 +134,30 @@ export const prepare = {
118
134
  const value = spokeTokenData.token.type === TokenType.NATIVE ? amount : BigInt(0);
119
135
  const msgValue = adapterFees + value;
120
136
  // get gas limits
121
- const gasLimit = await spokeToken.estimateGas.topup([messageToSend.params, accountId, loanId, amount], {
122
- value: msgValue,
123
- ...transactionOptions,
124
- stateOverride,
125
- });
137
+ let gasLimit = GAS_LIMIT_ESTIMATE_INCREASE;
138
+ try {
139
+ gasLimit += await spokeToken.estimateGas.topup([messageToSend.params, accountId, loanId, amount], {
140
+ value: msgValue,
141
+ ...transactionOptions,
142
+ stateOverride,
143
+ });
144
+ }
145
+ catch (error) {
146
+ if (error instanceof BaseError) {
147
+ const revert = error.walk((e) => e instanceof ContractFunctionRevertedError);
148
+ const reason = revert?.data?.errorName ?? revert?.reason ?? error.shortMessage;
149
+ if (!reason?.toLowerCase().includes('reserve balance violation')) {
150
+ throw error;
151
+ }
152
+ // else: swallow — it's the expected "reserve balance violation" case
153
+ }
154
+ else {
155
+ throw error;
156
+ }
157
+ }
126
158
  return {
127
159
  msgValue,
128
- gasLimit: gasLimit + GAS_LIMIT_ESTIMATE_INCREASE,
160
+ gasLimit: gasLimit,
129
161
  messageParams: messageToSend.params,
130
162
  spokeTokenData: spokeTokenData,
131
163
  };
@@ -214,14 +246,30 @@ export const prepare = {
214
246
  const value = spokeTokenData.token.type === TokenType.NATIVE ? amount : BigInt(0);
215
247
  const msgValue = adapterFees + value;
216
248
  // get gas limits
217
- const gasLimit = await spokeToken.estimateGas.repay([messageToSend.params, accountId, loanId, amount, maxOverRepayment], {
218
- value: msgValue,
219
- ...transactionOptions,
220
- stateOverride,
221
- });
249
+ let gasLimit = GAS_LIMIT_ESTIMATE_INCREASE;
250
+ try {
251
+ gasLimit += await spokeToken.estimateGas.repay([messageToSend.params, accountId, loanId, amount, maxOverRepayment], {
252
+ value: msgValue,
253
+ ...transactionOptions,
254
+ stateOverride,
255
+ });
256
+ }
257
+ catch (error) {
258
+ if (error instanceof BaseError) {
259
+ const revert = error.walk((e) => e instanceof ContractFunctionRevertedError);
260
+ const reason = revert?.data?.errorName ?? revert?.reason ?? error.shortMessage;
261
+ if (!reason?.toLowerCase().includes('reserve balance violation')) {
262
+ throw error;
263
+ }
264
+ // else: swallow — it's the expected "reserve balance violation" case
265
+ }
266
+ else {
267
+ throw error;
268
+ }
269
+ }
222
270
  return {
223
271
  msgValue,
224
- gasLimit: gasLimit + GAS_LIMIT_ESTIMATE_INCREASE,
272
+ gasLimit: gasLimit,
225
273
  messageParams: messageToSend.params,
226
274
  spokeTokenData: spokeTokenData,
227
275
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ts-evm-loan.js","sourceRoot":"","sources":["../../../../../src/chains/evm/spoke/modules/ts-evm-loan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EACL,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EACL,iCAAiC,EACjC,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAkC9B,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,KAAK,CAAC,UAAU,CACd,QAAgB,EAChB,MAAkB,EAClB,aAA4B,EAC5B,SAAoB,EACpB,KAAY,EACZ,UAAsB,EACtB,QAAkB,EAClB,UAAsB,EACtB,qBAA4C,EAAE,OAAO,EAAE,MAAM,EAAE;QAE/D,MAAM,qBAAqB,GAAG,UAAU,CAAC,qBAAqB,CAAC;QAE/D,MAAM,cAAc,GAAG,yBAAyB,CAC9C,QAAQ,EACR,qBAAqB,CACtB,CAAC;QACF,MAAM,YAAY,GAAG,iCAAiC,CACpD,QAAQ,EACR,UAAU,CAAC,wBAAwB,CACpC,CAAC;QAEF,mBAAmB;QACnB,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;QAErE,iBAAiB;QACjB,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,UAAU,CAC1D,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,EAC9D;YACE,KAAK,EAAE,QAAQ;YACf,GAAG,kBAAkB;SACtB,CACF,CAAC;QAEF,OAAO;YACL,QAAQ;YACR,QAAQ,EAAE,QAAQ,GAAG,2BAA2B;YAChD,aAAa,EAAE,aAAa,CAAC,MAAM;YACnC,qBAAqB;SACtB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CACd,QAAgB,EAChB,MAAkB,EAClB,aAA4B,EAC5B,SAAoB,EACpB,MAAc,EACd,UAAsB,EACtB,qBAA4C,EAAE,OAAO,EAAE,MAAM,EAAE;QAE/D,MAAM,qBAAqB,GAAG,UAAU,CAAC,qBAAqB,CAAC;QAE/D,MAAM,cAAc,GAAG,yBAAyB,CAC9C,QAAQ,EACR,qBAAqB,CACtB,CAAC;QACF,MAAM,YAAY,GAAG,iCAAiC,CACpD,QAAQ,EACR,UAAU,CAAC,wBAAwB,CACpC,CAAC;QAEF,mBAAmB;QACnB,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;QAErE,iBAAiB;QACjB,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,UAAU,CAC1D,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EACzC;YACE,KAAK,EAAE,QAAQ;YACf,GAAG,kBAAkB;SACtB,CACF,CAAC;QAEF,OAAO;YACL,QAAQ;YACR,QAAQ,EAAE,QAAQ,GAAG,2BAA2B;YAChD,aAAa,EAAE,aAAa,CAAC,MAAM;YACnC,qBAAqB;SACtB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,QAAgB,EAChB,MAAkB,EAClB,aAA4B,EAC5B,SAAoB,EACpB,KAAY,EACZ,UAAsB,EACtB,QAAkB,EAClB,MAAc,EACd,UAAsB,EACtB,cAA8B,EAC9B,qBAA4C,EAAE,OAAO,EAAE,MAAM,EAAE;QAE/D,MAAM,UAAU,GAAG,qBAAqB,CACtC,QAAQ,EACR,cAAc,CAAC,YAAY,CAC5B,CAAC;QACF,MAAM,YAAY,GAAG,iCAAiC,CACpD,QAAQ,EACR,UAAU,CAAC,wBAAwB,CACpC,CAAC;QAEF,MAAM,OAAO,GAAG,yBAAyB,CACvC,cAAc,CAAC,YAAY,EAC3B,SAAS,CAAC,GAAG,CACd,CAAC;QAEF,qBAAqB;QACrB,IAAI,aAAa,CAAC;QAClB,IACE,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK;YAC7C,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,WAAW,EACnD,CAAC;YACD,MAAM,YAAY,GAAG,yBAAyB,CAC5C,cAAc,CAAC,KAAK,CAAC,OAAO,EAC5B,SAAS,CAAC,GAAG,CACd,CAAC;YACF,aAAa,GAAG,yBAAyB,CAAC;gBACxC;oBACE,YAAY;oBACZ,SAAS,EAAE;wBACT;4BACE,KAAK,EAAE,MAAM;4BACb,OAAO;4BACP,SAAS,EAAE,UAAU,CAAC,SAAS;4BAC/B,SAAS,EAAE,cAAc,CAAC,SAAS;4BACnC,SAAS,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI;4BACpC,MAAM;yBACP;qBACF;iBACF;aACF,CAAC,CAAC;QACL,CAAC;QAED,mBAAmB;QACnB,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;QACxE,MAAM,KAAK,GACT,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,QAAQ,GAAG,WAAW,GAAG,KAAK,CAAC;QAErC,iBAAiB;QACjB,MAAM,QAAQ,GACZ,MAAM,UAAU,CAAC,WAAW,CAAC,8BAA8B,CACzD,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,EACtE;YACE,KAAK,EAAE,QAAQ;YACf,GAAG,kBAAkB;YACrB,aAAa;SACd,CACF,CAAC;QAEJ,OAAO;YACL,QAAQ;YACR,QAAQ,EAAE,QAAQ,GAAG,2BAA2B;YAChD,aAAa,EAAE,aAAa,CAAC,MAAM;YACnC,cAAc,EAAE,cAAc;SAC/B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CACX,QAAgB,EAChB,MAAkB,EAClB,aAA4B,EAC5B,SAAoB,EACpB,MAAc,EACd,MAAc,EACd,UAAsB,EACtB,cAA8B,EAC9B,qBAA4C,EAAE,OAAO,EAAE,MAAM,EAAE;QAE/D,MAAM,UAAU,GAAG,qBAAqB,CACtC,QAAQ,EACR,cAAc,CAAC,YAAY,CAC5B,CAAC;QACF,MAAM,YAAY,GAAG,iCAAiC,CACpD,QAAQ,EACR,UAAU,CAAC,wBAAwB,CACpC,CAAC;QAEF,MAAM,OAAO,GAAG,yBAAyB,CACvC,cAAc,CAAC,YAAY,EAC3B,SAAS,CAAC,GAAG,CACd,CAAC;QAEF,qBAAqB;QACrB,IAAI,aAAa,CAAC;QAClB,IACE,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK;YAC7C,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,WAAW,EACnD,CAAC;YACD,MAAM,YAAY,GAAG,yBAAyB,CAC5C,cAAc,CAAC,KAAK,CAAC,OAAO,EAC5B,SAAS,CAAC,GAAG,CACd,CAAC;YACF,aAAa,GAAG,yBAAyB,CAAC;gBACxC;oBACE,YAAY;oBACZ,SAAS,EAAE;wBACT;4BACE,KAAK,EAAE,MAAM;4BACb,OAAO;4BACP,SAAS,EAAE,UAAU,CAAC,SAAS;4BAC/B,SAAS,EAAE,cAAc,CAAC,SAAS;4BACnC,SAAS,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI;4BACpC,MAAM;yBACP;qBACF;iBACF;aACF,CAAC,CAAC;QACL,CAAC;QAED,mBAAmB;QACnB,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;QACxE,MAAM,KAAK,GACT,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,QAAQ,GAAG,WAAW,GAAG,KAAK,CAAC;QAErC,iBAAiB;QACjB,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,KAAK,CACjD,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EACjD;YACE,KAAK,EAAE,QAAQ;YACf,GAAG,kBAAkB;YACrB,aAAa;SACd,CACF,CAAC;QAEF,OAAO;YACL,QAAQ;YACR,QAAQ,EAAE,QAAQ,GAAG,2BAA2B;YAChD,aAAa,EAAE,aAAa,CAAC,MAAM;YACnC,cAAc,EAAE,cAAc;SAC/B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,QAAgB,EAChB,MAAkB,EAClB,aAA4B,EAC5B,OAAoB,EACpB,SAAoB,EACpB,MAAc,EACd,SAAoB,EACpB,MAAc,EACd,SAAkB,EAClB,iBAA4B,EAC5B,UAAsB,EACtB,qBAA4C,EAAE,OAAO,EAAE,MAAM,EAAE;QAE/D,MAAM,YAAY,GAAG,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEzD,MAAM,qBAAqB,GAAG,UAAU,CAAC,qBAAqB,CAAC;QAC/D,MAAM,cAAc,GAAG,yBAAyB,CAC9C,QAAQ,EACR,qBAAqB,CACtB,CAAC;QACF,MAAM,iBAAiB,GAAG,iCAAiC,CACzD,QAAQ,EACR,UAAU,CAAC,wBAAwB,CACpC,CAAC;QAEF,kBAAkB;QAClB,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;QAE1E,iBAAiB;QACjB,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,QAAQ,CACxD;YACE,aAAa,CAAC,MAAM;YACpB,SAAS;YACT,MAAM;YACN,YAAY,CAAC,MAAM;YACnB,iBAAiB;YACjB,MAAM;YACN,SAAS;SACV,EACD;YACE,KAAK,EAAE,QAAQ;YACf,GAAG,kBAAkB;SACtB,CACF,CAAC;QAEF,OAAO;YACL,QAAQ;YACR,QAAQ,EAAE,QAAQ,GAAG,2BAA2B;YAChD,aAAa,EAAE,aAAa,CAAC,MAAM;YACnC,qBAAqB;SACtB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CACV,QAAgB,EAChB,MAAkB,EAClB,aAA4B,EAC5B,OAAoB,EACpB,SAAoB,EACpB,MAAc,EACd,SAAoB,EACpB,MAAc,EACd,aAAqB,EACrB,iBAA4B,EAC5B,UAAsB,EACtB,qBAA4C,EAAE,OAAO,EAAE,MAAM,EAAE;QAE/D,MAAM,YAAY,GAAG,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEzD,MAAM,qBAAqB,GAAG,UAAU,CAAC,qBAAqB,CAAC;QAC/D,MAAM,cAAc,GAAG,yBAAyB,CAC9C,QAAQ,EACR,qBAAqB,CACtB,CAAC;QACF,MAAM,iBAAiB,GAAG,iCAAiC,CACzD,QAAQ,EACR,UAAU,CAAC,wBAAwB,CACpC,CAAC;QAEF,kBAAkB;QAClB,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;QAE1E,iBAAiB;QACjB,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,MAAM,CACtD;YACE,aAAa,CAAC,MAAM;YACpB,SAAS;YACT,MAAM;YACN,YAAY,CAAC,MAAM;YACnB,iBAAiB;YACjB,MAAM;YACN,aAAa;SACd,EACD;YACE,KAAK,EAAE,QAAQ;YACf,GAAG,kBAAkB;SACtB,CACF,CAAC;QAEF,OAAO;YACL,QAAQ;YACR,QAAQ,EAAE,QAAQ,GAAG,2BAA2B;YAChD,aAAa,EAAE,aAAa,CAAC,MAAM;YACnC,qBAAqB;SACtB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK,CACT,QAAgB,EAChB,MAAkB,EAClB,aAA4B,EAC5B,SAAoB,EACpB,MAAc,EACd,MAAc,EACd,gBAAwB,EACxB,UAAsB,EACtB,cAA8B,EAC9B,qBAA4C,EAAE,OAAO,EAAE,MAAM,EAAE;QAE/D,MAAM,UAAU,GAAG,qBAAqB,CACtC,QAAQ,EACR,cAAc,CAAC,YAAY,CAC5B,CAAC;QACF,MAAM,YAAY,GAAG,iCAAiC,CACpD,QAAQ,EACR,UAAU,CAAC,wBAAwB,CACpC,CAAC;QAEF,MAAM,OAAO,GAAG,yBAAyB,CACvC,cAAc,CAAC,YAAY,EAC3B,SAAS,CAAC,GAAG,CACd,CAAC;QAEF,qBAAqB;QACrB,IAAI,aAAa,CAAC;QAClB,IACE,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK;YAC7C,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,WAAW,EACnD,CAAC;YACD,MAAM,YAAY,GAAG,yBAAyB,CAC5C,cAAc,CAAC,KAAK,CAAC,OAAO,EAC5B,SAAS,CAAC,GAAG,CACd,CAAC;YACF,aAAa,GAAG,yBAAyB,CAAC;gBACxC;oBACE,YAAY;oBACZ,SAAS,EAAE;wBACT;4BACE,KAAK,EAAE,MAAM;4BACb,OAAO;4BACP,SAAS,EAAE,UAAU,CAAC,SAAS;4BAC/B,SAAS,EAAE,cAAc,CAAC,SAAS;4BACnC,SAAS,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI;4BACpC,MAAM;yBACP;qBACF;iBACF;aACF,CAAC,CAAC;QACL,CAAC;QAED,mBAAmB;QACnB,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;QACxE,MAAM,KAAK,GACT,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,QAAQ,GAAG,WAAW,GAAG,KAAK,CAAC;QAErC,iBAAiB;QACjB,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,KAAK,CACjD,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,EACnE;YACE,KAAK,EAAE,QAAQ;YACf,GAAG,kBAAkB;YACrB,aAAa;SACd,CACF,CAAC;QAEF,OAAO;YACL,QAAQ;YACR,QAAQ,EAAE,QAAQ,GAAG,2BAA2B;YAChD,aAAa,EAAE,aAAa,CAAC,MAAM;YACnC,cAAc,EAAE,cAAc;SAC/B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,QAAgB,EAChB,MAAkB,EAClB,aAA4B,EAC5B,OAAoB,EACpB,SAAoB,EACpB,MAAc,EACd,SAAoB,EACpB,MAAc,EACd,UAAsB,EACtB,qBAA4C,EAAE,OAAO,EAAE,MAAM,EAAE;QAE/D,MAAM,YAAY,GAAG,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEzD,MAAM,qBAAqB,GAAG,UAAU,CAAC,qBAAqB,CAAC;QAE/D,MAAM,cAAc,GAAG,yBAAyB,CAC9C,QAAQ,EACR,qBAAqB,CACtB,CAAC;QACF,MAAM,YAAY,GAAG,iCAAiC,CACpD,QAAQ,EACR,UAAU,CAAC,wBAAwB,CACpC,CAAC;QAEF,mBAAmB;QACnB,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;QAErE,iBAAiB;QACjB,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,mBAAmB,CACnE,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,EACtE;YACE,KAAK,EAAE,QAAQ;YACf,GAAG,kBAAkB;SACtB,CACF,CAAC;QAEF,OAAO;YACL,QAAQ;YACR,QAAQ,EAAE,QAAQ,GAAG,2BAA2B;YAChD,aAAa,EAAE,aAAa,CAAC,MAAM;YACnC,qBAAqB;SACtB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,QAAgB,EAChB,MAAkB,EAClB,aAA4B,EAC5B,OAAoB,EACpB,SAAoB,EACpB,MAAc,EACd,SAAoB,EACpB,aAAqB,EACrB,UAAsB,EACtB,qBAA4C,EAAE,OAAO,EAAE,MAAM,EAAE;QAE/D,MAAM,YAAY,GAAG,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEzD,MAAM,qBAAqB,GAAG,UAAU,CAAC,qBAAqB,CAAC;QAE/D,MAAM,cAAc,GAAG,yBAAyB,CAC9C,QAAQ,EACR,qBAAqB,CACtB,CAAC;QACF,MAAM,YAAY,GAAG,iCAAiC,CACpD,QAAQ,EACR,UAAU,CAAC,wBAAwB,CACpC,CAAC;QAEF,mBAAmB;QACnB,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;QAErE,iBAAiB;QACjB,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,gBAAgB,CAChE;YACE,aAAa,CAAC,MAAM;YACpB,SAAS;YACT,MAAM;YACN,YAAY,CAAC,MAAM;YACnB,aAAa;SACd,EACD;YACE,KAAK,EAAE,QAAQ;YACf,GAAG,kBAAkB;SACtB,CACF,CAAC;QAEF,OAAO;YACL,QAAQ;YACR,QAAQ,EAAE,QAAQ,GAAG,2BAA2B;YAChD,aAAa,EAAE,aAAa,CAAC,MAAM;YACnC,qBAAqB;SACtB,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,KAAK,CAAC,UAAU,CACd,QAAgB,EAChB,MAAoB,EACpB,SAAoB,EACpB,KAAY,EACZ,UAAsB,EACtB,QAAkB,EAClB,WAAkC;QAElC,MAAM,EACJ,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,qBAAqB,GACtB,GAAG,WAAW,CAAC;QAEhB,MAAM,cAAc,GAAG,yBAAyB,CAC9C,QAAQ,EACR,qBAAqB,EACrB,MAAM,CACP,CAAC;QAEF,OAAO,MAAM,cAAc,CAAC,KAAK,CAAC,UAAU,CAC1C,CAAC,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,EACvD;YACE,OAAO,EAAE,mBAAmB,CAAC,MAAM,CAAC;YACpC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,GAAG,EAAE,QAAQ;YACb,YAAY;YACZ,oBAAoB;YACpB,KAAK,EAAE,QAAQ;SAChB,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CACd,QAAgB,EAChB,MAAoB,EACpB,SAAoB,EACpB,MAAc,EACd,WAAkC;QAElC,MAAM,EACJ,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,qBAAqB,GACtB,GAAG,WAAW,CAAC;QAEhB,MAAM,cAAc,GAAG,yBAAyB,CAC9C,QAAQ,EACR,qBAAqB,EACrB,MAAM,CACP,CAAC;QAEF,OAAO,MAAM,cAAc,CAAC,KAAK,CAAC,UAAU,CAC1C,CAAC,aAAa,EAAE,SAAS,EAAE,MAAM,CAAC,EAClC;YACE,OAAO,EAAE,mBAAmB,CAAC,MAAM,CAAC;YACpC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,GAAG,EAAE,QAAQ;YACb,YAAY;YACZ,oBAAoB;YACpB,KAAK,EAAE,QAAQ;SAChB,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,QAAgB,EAChB,MAAoB,EACpB,SAAoB,EACpB,KAAY,EACZ,UAAsB,EACtB,QAAkB,EAClB,MAAc,EACd,cAAc,GAAG,IAAI,EACrB,WAA4C;QAE5C,MAAM,EACJ,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,cAAc,GACf,GAAG,WAAW,CAAC;QAChB,MAAM,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC;QAEjC,MAAM,UAAU,GAAG,qBAAqB,CACtC,QAAQ,EACR,cAAc,CAAC,YAAY,EAC3B,MAAM,CACP,CAAC;QAEF,IACE,cAAc;YACd,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK,CAAC,EACxE,CAAC;YACD,MAAM,WAAW,GAAG,MAAM,gBAAgB,CACxC,QAAQ,EACR,KAAK,CAAC,OAAO,EACb,MAAM,EACN,yBAAyB,CAAC,cAAc,CAAC,YAAY,EAAE,SAAS,CAAC,GAAG,CAAC,EACrE,MAAM,CACP,CAAC;YACF,IAAI,WAAW,KAAK,IAAI;gBACtB,MAAM,yBAAyB,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QACrE,CAAC;QAED,OAAO,MAAM,UAAU,CAAC,KAAK,CAAC,8BAA8B,CAC1D,CAAC,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,EAC/D;YACE,OAAO,EAAE,mBAAmB,CAAC,MAAM,CAAC;YACpC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,GAAG,EAAE,QAAQ;YACb,YAAY;YACZ,oBAAoB;YACpB,KAAK,EAAE,QAAQ;SAChB,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CACX,QAAgB,EAChB,MAAoB,EACpB,SAAoB,EACpB,MAAc,EACd,MAAc,EACd,cAAc,GAAG,IAAI,EACrB,WAA+B;QAE/B,MAAM,EACJ,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,cAAc,GACf,GAAG,WAAW,CAAC;QAChB,MAAM,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC;QAEjC,MAAM,UAAU,GAAG,qBAAqB,CACtC,QAAQ,EACR,cAAc,CAAC,YAAY,EAC3B,MAAM,CACP,CAAC;QAEF,IACE,cAAc;YACd,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK,CAAC,EACxE,CAAC;YACD,MAAM,WAAW,GAAG,MAAM,gBAAgB,CACxC,QAAQ,EACR,KAAK,CAAC,OAAO,EACb,MAAM,EACN,yBAAyB,CAAC,cAAc,CAAC,YAAY,EAAE,SAAS,CAAC,GAAG,CAAC,EACrE,MAAM,CACP,CAAC;YACF,IAAI,WAAW,KAAK,IAAI;gBACtB,MAAM,yBAAyB,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QACrE,CAAC;QAED,OAAO,MAAM,UAAU,CAAC,KAAK,CAAC,KAAK,CACjC,CAAC,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAC1C;YACE,OAAO,EAAE,mBAAmB,CAAC,MAAM,CAAC;YACpC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,GAAG,EAAE,QAAQ;YACb,YAAY;YACZ,oBAAoB;YACpB,KAAK,EAAE,QAAQ;SAChB,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,QAAgB,EAChB,MAAoB,EACpB,SAAoB,EACpB,MAAc,EACd,MAAc,EACd,MAAc,EACd,SAAkB,EAClB,eAA0B,EAC1B,WAAgC;QAEhC,MAAM,EACJ,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,qBAAqB,GACtB,GAAG,WAAW,CAAC;QAEhB,MAAM,cAAc,GAAG,yBAAyB,CAC9C,QAAQ,EACR,qBAAqB,EACrB,MAAM,CACP,CAAC;QAEF,OAAO,MAAM,cAAc,CAAC,KAAK,CAAC,QAAQ,CACxC;YACE,aAAa;YACb,SAAS;YACT,MAAM;YACN,MAAM;YACN,eAAe;YACf,MAAM;YACN,SAAS;SACV,EACD;YACE,OAAO,EAAE,mBAAmB,CAAC,MAAM,CAAC;YACpC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,GAAG,EAAE,QAAQ;YACb,YAAY;YACZ,oBAAoB;YACpB,KAAK,EAAE,QAAQ;SAChB,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CACV,QAAgB,EAChB,MAAoB,EACpB,SAAoB,EACpB,MAAc,EACd,MAAc,EACd,MAAc,EACd,aAAqB,EACrB,eAA0B,EAC1B,WAA8B;QAE9B,MAAM,EACJ,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,qBAAqB,GACtB,GAAG,WAAW,CAAC;QAEhB,MAAM,cAAc,GAAG,yBAAyB,CAC9C,QAAQ,EACR,qBAAqB,EACrB,MAAM,CACP,CAAC;QAEF,OAAO,MAAM,cAAc,CAAC,KAAK,CAAC,MAAM,CACtC;YACE,aAAa;YACb,SAAS;YACT,MAAM;YACN,MAAM;YACN,eAAe;YACf,MAAM;YACN,aAAa;SACd,EACD;YACE,OAAO,EAAE,mBAAmB,CAAC,MAAM,CAAC;YACpC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,GAAG,EAAE,QAAQ;YACb,YAAY;YACZ,oBAAoB;YACpB,KAAK,EAAE,QAAQ;SAChB,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK,CACT,QAAgB,EAChB,MAAoB,EACpB,SAAoB,EACpB,MAAc,EACd,MAAc,EACd,gBAAwB,EACxB,cAAc,GAAG,IAAI,EACrB,WAA6B;QAE7B,MAAM,EACJ,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,cAAc,GACf,GAAG,WAAW,CAAC;QAChB,MAAM,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC;QAEjC,MAAM,UAAU,GAAG,qBAAqB,CACtC,QAAQ,EACR,cAAc,CAAC,YAAY,EAC3B,MAAM,CACP,CAAC;QAEF,IACE,cAAc;YACd,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK,CAAC,EACxE,CAAC;YACD,MAAM,WAAW,GAAG,MAAM,gBAAgB,CACxC,QAAQ,EACR,KAAK,CAAC,OAAO,EACb,MAAM,EACN,yBAAyB,CAAC,cAAc,CAAC,YAAY,EAAE,SAAS,CAAC,GAAG,CAAC,EACrE,MAAM,CACP,CAAC;YACF,IAAI,WAAW,KAAK,IAAI;gBACtB,MAAM,yBAAyB,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QACrE,CAAC;QAED,OAAO,MAAM,UAAU,CAAC,KAAK,CAAC,KAAK,CACjC,CAAC,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAC5D;YACE,OAAO,EAAE,mBAAmB,CAAC,MAAM,CAAC;YACpC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,GAAG,EAAE,QAAQ;YACb,YAAY;YACZ,oBAAoB;YACpB,KAAK,EAAE,QAAQ;SAChB,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,QAAgB,EAChB,MAAoB,EACpB,SAAoB,EACpB,MAAc,EACd,MAAc,EACd,MAAc,EACd,WAA2C;QAE3C,MAAM,EACJ,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,qBAAqB,GACtB,GAAG,WAAW,CAAC;QAEhB,MAAM,cAAc,GAAG,yBAAyB,CAC9C,QAAQ,EACR,qBAAqB,EACrB,MAAM,CACP,CAAC;QAEF,OAAO,MAAM,cAAc,CAAC,KAAK,CAAC,mBAAmB,CACnD,CAAC,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAClD;YACE,OAAO,EAAE,mBAAmB,CAAC,MAAM,CAAC;YACpC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,GAAG,EAAE,QAAQ;YACb,YAAY;YACZ,oBAAoB;YACpB,KAAK,EAAE,QAAQ;SAChB,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,QAAgB,EAChB,MAAoB,EACpB,SAAoB,EACpB,MAAc,EACd,MAAc,EACd,aAAqB,EACrB,WAAwC;QAExC,MAAM,EACJ,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,qBAAqB,GACtB,GAAG,WAAW,CAAC;QAEhB,MAAM,cAAc,GAAG,yBAAyB,CAC9C,QAAQ,EACR,qBAAqB,EACrB,MAAM,CACP,CAAC;QAEF,OAAO,MAAM,cAAc,CAAC,KAAK,CAAC,gBAAgB,CAChD,CAAC,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,EACzD;YACE,OAAO,EAAE,mBAAmB,CAAC,MAAM,CAAC;YACpC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,GAAG,EAAE,QAAQ;YACb,YAAY;YACZ,oBAAoB;YACpB,KAAK,EAAE,QAAQ;SAChB,CACF,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,KAAK,CAAC,aAAa,CACjB,QAAgB,EAChB,KAAqB;QAErB,MAAM,UAAU,GAAG,qBAAqB,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;QAEvE,sBAAsB;QACtB,MAAM,CAAC,YAAY,EAAE,eAAe,EAAE,kBAAkB,CAAC,GAAG,MAAM,SAAS,CACzE,QAAQ,EACR;YACE,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,UAAU,CAAC,OAAO;oBAC3B,GAAG,EAAE,UAAU,CAAC,GAAG;oBACnB,YAAY,EAAE,cAAc;iBAC7B;gBACD;oBACE,OAAO,EAAE,UAAU,CAAC,OAAO;oBAC3B,GAAG,EAAE,UAAU,CAAC,GAAG;oBACnB,YAAY,EAAE,qBAAqB;iBACpC;gBACD;oBACE,OAAO,EAAE,UAAU,CAAC,OAAO;oBAC3B,GAAG,EAAE,UAAU,CAAC,GAAG;oBACnB,YAAY,EAAE,iBAAiB;iBAChC;aACF;YACD,YAAY,EAAE,KAAK;SACpB,CACF,CAAC;QAEF,0BAA0B;QAC1B,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE,WAAW,CAAC,GAAG,YAAY,CAAC;QAC/D,MAAM,eAAe,GAAG,gBAAgB,CACtC,MAAM,CAAC,YAAY,CAAC,EACpB,MAAM,CAAC,YAAY,CAAC,CACrB,CAAC;QACF,MAAM,WAAW,GAAG,eAAe,KAAK,MAAM,CAAC,eAAe,CAAC,CAAC;QAChE,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC;QACvE,MAAM,eAAe,GAAG,mBAAmB,CACzC,eAAe,EACf,MAAM,CAAC,YAAY,CAAC,EACpB,MAAM,CAAC,YAAY,CAAC,CACrB,CAAC;QAEF,wBAAwB;QACxB,OAAO;YACL,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC;YAClC,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC;YAClC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;YAChC,eAAe;YACf,eAAe;SAChB,CAAC;IACJ,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"ts-evm-loan.js","sourceRoot":"","sources":["../../../../../src/chains/evm/spoke/modules/ts-evm-loan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EACL,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EACL,iCAAiC,EACjC,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAgC9B,OAAO,EACL,SAAS,EAET,6BAA6B,GAI9B,MAAM,MAAM,CAAC;AAEd,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,KAAK,CAAC,UAAU,CACd,QAAgB,EAChB,MAAkB,EAClB,aAA4B,EAC5B,SAAoB,EACpB,KAAY,EACZ,UAAsB,EACtB,QAAkB,EAClB,UAAsB,EACtB,qBAA4C,EAAE,OAAO,EAAE,MAAM,EAAE;QAE/D,MAAM,qBAAqB,GAAG,UAAU,CAAC,qBAAqB,CAAC;QAE/D,MAAM,cAAc,GAAG,yBAAyB,CAC9C,QAAQ,EACR,qBAAqB,CACtB,CAAC;QACF,MAAM,YAAY,GAAG,iCAAiC,CACpD,QAAQ,EACR,UAAU,CAAC,wBAAwB,CACpC,CAAC;QAEF,mBAAmB;QACnB,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;QAErE,iBAAiB;QACjB,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,UAAU,CAC1D,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,EAC9D;YACE,KAAK,EAAE,QAAQ;YACf,GAAG,kBAAkB;SACtB,CACF,CAAC;QAEF,OAAO;YACL,QAAQ;YACR,QAAQ,EAAE,QAAQ,GAAG,2BAA2B;YAChD,aAAa,EAAE,aAAa,CAAC,MAAM;YACnC,qBAAqB;SACtB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CACd,QAAgB,EAChB,MAAkB,EAClB,aAA4B,EAC5B,SAAoB,EACpB,MAAc,EACd,UAAsB,EACtB,qBAA4C,EAAE,OAAO,EAAE,MAAM,EAAE;QAE/D,MAAM,qBAAqB,GAAG,UAAU,CAAC,qBAAqB,CAAC;QAE/D,MAAM,cAAc,GAAG,yBAAyB,CAC9C,QAAQ,EACR,qBAAqB,CACtB,CAAC;QACF,MAAM,YAAY,GAAG,iCAAiC,CACpD,QAAQ,EACR,UAAU,CAAC,wBAAwB,CACpC,CAAC;QAEF,mBAAmB;QACnB,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;QAErE,iBAAiB;QACjB,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,UAAU,CAC1D,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EACzC;YACE,KAAK,EAAE,QAAQ;YACf,GAAG,kBAAkB;SACtB,CACF,CAAC;QAEF,OAAO;YACL,QAAQ;YACR,QAAQ,EAAE,QAAQ,GAAG,2BAA2B;YAChD,aAAa,EAAE,aAAa,CAAC,MAAM;YACnC,qBAAqB;SACtB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,QAAgB,EAChB,MAAkB,EAClB,aAA4B,EAC5B,SAAoB,EACpB,KAAY,EACZ,UAAsB,EACtB,QAAkB,EAClB,MAAc,EACd,UAAsB,EACtB,cAA8B,EAC9B,qBAA4C,EAAE,OAAO,EAAE,MAAM,EAAE;QAE/D,MAAM,UAAU,GAAG,qBAAqB,CACtC,QAAQ,EACR,cAAc,CAAC,YAAY,CAC5B,CAAC;QACF,MAAM,YAAY,GAAG,iCAAiC,CACpD,QAAQ,EACR,UAAU,CAAC,wBAAwB,CACpC,CAAC;QAEF,MAAM,OAAO,GAAG,yBAAyB,CACvC,cAAc,CAAC,YAAY,EAC3B,SAAS,CAAC,GAAG,CACd,CAAC;QAEF,qBAAqB;QACrB,IAAI,aAAa,CAAC;QAClB,IACE,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK;YAC7C,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,WAAW,EACnD,CAAC;YACD,MAAM,YAAY,GAAG,yBAAyB,CAC5C,cAAc,CAAC,KAAK,CAAC,OAAO,EAC5B,SAAS,CAAC,GAAG,CACd,CAAC;YACF,aAAa,GAAG,yBAAyB,CAAC;gBACxC;oBACE,YAAY;oBACZ,SAAS,EAAE;wBACT;4BACE,KAAK,EAAE,MAAM;4BACb,OAAO;4BACP,SAAS,EAAE,UAAU,CAAC,SAAS;4BAC/B,SAAS,EAAE,cAAc,CAAC,SAAS;4BACnC,SAAS,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI;4BACpC,MAAM;yBACP;qBACF;iBACF;aACF,CAAC,CAAC;QACL,CAAC;QAED,mBAAmB;QACnB,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;QACxE,MAAM,KAAK,GACT,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,QAAQ,GAAG,WAAW,GAAG,KAAK,CAAC;QAErC,IAAI,QAAQ,GAAG,2BAA2B,CAAC;QAC3C,IAAI,CAAC;YACH,QAAQ,IAAI,MAAM,UAAU,CAAC,WAAW,CAAC,8BAA8B,CACrE,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,EACtE;gBACE,KAAK,EAAE,QAAQ;gBACf,GAAG,kBAAkB;gBACrB,aAAa;aACd,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,SAAS,EAAE,CAAC;gBAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CACvB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,6BAA6B,CACL,CAAC;gBAE/C,MAAM,MAAM,GACV,MAAM,EAAE,IAAI,EAAE,SAAS,IAAI,MAAM,EAAE,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC;gBAElE,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAAE,CAAC;oBACjE,MAAM,KAAK,CAAC;gBACd,CAAC;gBACD,qEAAqE;YACvE,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO;YACL,QAAQ;YACR,QAAQ,EAAE,QAAQ;YAClB,aAAa,EAAE,aAAa,CAAC,MAAM;YACnC,cAAc,EAAE,cAAc;SAC/B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CACX,QAAgB,EAChB,MAAkB,EAClB,aAA4B,EAC5B,SAAoB,EACpB,MAAc,EACd,MAAc,EACd,UAAsB,EACtB,cAA8B,EAC9B,qBAA4C,EAAE,OAAO,EAAE,MAAM,EAAE;QAE/D,MAAM,UAAU,GAAG,qBAAqB,CACtC,QAAQ,EACR,cAAc,CAAC,YAAY,CAC5B,CAAC;QACF,MAAM,YAAY,GAAG,iCAAiC,CACpD,QAAQ,EACR,UAAU,CAAC,wBAAwB,CACpC,CAAC;QAEF,MAAM,OAAO,GAAG,yBAAyB,CACvC,cAAc,CAAC,YAAY,EAC3B,SAAS,CAAC,GAAG,CACd,CAAC;QAEF,qBAAqB;QACrB,IAAI,aAAa,CAAC;QAClB,IACE,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK;YAC7C,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,WAAW,EACnD,CAAC;YACD,MAAM,YAAY,GAAG,yBAAyB,CAC5C,cAAc,CAAC,KAAK,CAAC,OAAO,EAC5B,SAAS,CAAC,GAAG,CACd,CAAC;YACF,aAAa,GAAG,yBAAyB,CAAC;gBACxC;oBACE,YAAY;oBACZ,SAAS,EAAE;wBACT;4BACE,KAAK,EAAE,MAAM;4BACb,OAAO;4BACP,SAAS,EAAE,UAAU,CAAC,SAAS;4BAC/B,SAAS,EAAE,cAAc,CAAC,SAAS;4BACnC,SAAS,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI;4BACpC,MAAM;yBACP;qBACF;iBACF;aACF,CAAC,CAAC;QACL,CAAC;QAED,mBAAmB;QACnB,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;QACxE,MAAM,KAAK,GACT,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,QAAQ,GAAG,WAAW,GAAG,KAAK,CAAC;QAErC,iBAAiB;QACjB,IAAI,QAAQ,GAAG,2BAA2B,CAAC;QAE3C,IAAI,CAAC;YACH,QAAQ,IAAI,MAAM,UAAU,CAAC,WAAW,CAAC,KAAK,CAC5C,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EACjD;gBACE,KAAK,EAAE,QAAQ;gBACf,GAAG,kBAAkB;gBACrB,aAAa;aACd,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,SAAS,EAAE,CAAC;gBAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CACvB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,6BAA6B,CACL,CAAC;gBAE/C,MAAM,MAAM,GACV,MAAM,EAAE,IAAI,EAAE,SAAS,IAAI,MAAM,EAAE,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC;gBAElE,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAAE,CAAC;oBACjE,MAAM,KAAK,CAAC;gBACd,CAAC;gBACD,qEAAqE;YACvE,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAED,OAAO;YACL,QAAQ;YACR,QAAQ,EAAE,QAAQ;YAClB,aAAa,EAAE,aAAa,CAAC,MAAM;YACnC,cAAc,EAAE,cAAc;SAC/B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,QAAgB,EAChB,MAAkB,EAClB,aAA4B,EAC5B,OAAoB,EACpB,SAAoB,EACpB,MAAc,EACd,SAAoB,EACpB,MAAc,EACd,SAAkB,EAClB,iBAA4B,EAC5B,UAAsB,EACtB,qBAA4C,EAAE,OAAO,EAAE,MAAM,EAAE;QAE/D,MAAM,YAAY,GAAG,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEzD,MAAM,qBAAqB,GAAG,UAAU,CAAC,qBAAqB,CAAC;QAC/D,MAAM,cAAc,GAAG,yBAAyB,CAC9C,QAAQ,EACR,qBAAqB,CACtB,CAAC;QACF,MAAM,iBAAiB,GAAG,iCAAiC,CACzD,QAAQ,EACR,UAAU,CAAC,wBAAwB,CACpC,CAAC;QAEF,kBAAkB;QAClB,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;QAE1E,iBAAiB;QACjB,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,QAAQ,CACxD;YACE,aAAa,CAAC,MAAM;YACpB,SAAS;YACT,MAAM;YACN,YAAY,CAAC,MAAM;YACnB,iBAAiB;YACjB,MAAM;YACN,SAAS;SACV,EACD;YACE,KAAK,EAAE,QAAQ;YACf,GAAG,kBAAkB;SACtB,CACF,CAAC;QAEF,OAAO;YACL,QAAQ;YACR,QAAQ,EAAE,QAAQ,GAAG,2BAA2B;YAChD,aAAa,EAAE,aAAa,CAAC,MAAM;YACnC,qBAAqB;SACtB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CACV,QAAgB,EAChB,MAAkB,EAClB,aAA4B,EAC5B,OAAoB,EACpB,SAAoB,EACpB,MAAc,EACd,SAAoB,EACpB,MAAc,EACd,aAAqB,EACrB,iBAA4B,EAC5B,UAAsB,EACtB,qBAA4C,EAAE,OAAO,EAAE,MAAM,EAAE;QAE/D,MAAM,YAAY,GAAG,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEzD,MAAM,qBAAqB,GAAG,UAAU,CAAC,qBAAqB,CAAC;QAC/D,MAAM,cAAc,GAAG,yBAAyB,CAC9C,QAAQ,EACR,qBAAqB,CACtB,CAAC;QACF,MAAM,iBAAiB,GAAG,iCAAiC,CACzD,QAAQ,EACR,UAAU,CAAC,wBAAwB,CACpC,CAAC;QAEF,kBAAkB;QAClB,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;QAE1E,iBAAiB;QACjB,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,MAAM,CACtD;YACE,aAAa,CAAC,MAAM;YACpB,SAAS;YACT,MAAM;YACN,YAAY,CAAC,MAAM;YACnB,iBAAiB;YACjB,MAAM;YACN,aAAa;SACd,EACD;YACE,KAAK,EAAE,QAAQ;YACf,GAAG,kBAAkB;SACtB,CACF,CAAC;QAEF,OAAO;YACL,QAAQ;YACR,QAAQ,EAAE,QAAQ,GAAG,2BAA2B;YAChD,aAAa,EAAE,aAAa,CAAC,MAAM;YACnC,qBAAqB;SACtB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK,CACT,QAAgB,EAChB,MAAkB,EAClB,aAA4B,EAC5B,SAAoB,EACpB,MAAc,EACd,MAAc,EACd,gBAAwB,EACxB,UAAsB,EACtB,cAA8B,EAC9B,qBAA4C,EAAE,OAAO,EAAE,MAAM,EAAE;QAE/D,MAAM,UAAU,GAAG,qBAAqB,CACtC,QAAQ,EACR,cAAc,CAAC,YAAY,CAC5B,CAAC;QACF,MAAM,YAAY,GAAG,iCAAiC,CACpD,QAAQ,EACR,UAAU,CAAC,wBAAwB,CACpC,CAAC;QAEF,MAAM,OAAO,GAAG,yBAAyB,CACvC,cAAc,CAAC,YAAY,EAC3B,SAAS,CAAC,GAAG,CACd,CAAC;QAEF,qBAAqB;QACrB,IAAI,aAAa,CAAC;QAClB,IACE,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK;YAC7C,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,WAAW,EACnD,CAAC;YACD,MAAM,YAAY,GAAG,yBAAyB,CAC5C,cAAc,CAAC,KAAK,CAAC,OAAO,EAC5B,SAAS,CAAC,GAAG,CACd,CAAC;YACF,aAAa,GAAG,yBAAyB,CAAC;gBACxC;oBACE,YAAY;oBACZ,SAAS,EAAE;wBACT;4BACE,KAAK,EAAE,MAAM;4BACb,OAAO;4BACP,SAAS,EAAE,UAAU,CAAC,SAAS;4BAC/B,SAAS,EAAE,cAAc,CAAC,SAAS;4BACnC,SAAS,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI;4BACpC,MAAM;yBACP;qBACF;iBACF;aACF,CAAC,CAAC;QACL,CAAC;QAED,mBAAmB;QACnB,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;QACxE,MAAM,KAAK,GACT,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,QAAQ,GAAG,WAAW,GAAG,KAAK,CAAC;QAErC,iBAAiB;QACjB,IAAI,QAAQ,GAAG,2BAA2B,CAAC;QAC3C,IAAI,CAAC;YACH,QAAQ,IAAI,MAAM,UAAU,CAAC,WAAW,CAAC,KAAK,CAC5C,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,EACnE;gBACE,KAAK,EAAE,QAAQ;gBACf,GAAG,kBAAkB;gBACrB,aAAa;aACd,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,SAAS,EAAE,CAAC;gBAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CACvB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,6BAA6B,CACL,CAAC;gBAE/C,MAAM,MAAM,GACV,MAAM,EAAE,IAAI,EAAE,SAAS,IAAI,MAAM,EAAE,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC;gBAElE,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAAE,CAAC;oBACjE,MAAM,KAAK,CAAC;gBACd,CAAC;gBACD,qEAAqE;YACvE,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAED,OAAO;YACL,QAAQ;YACR,QAAQ,EAAE,QAAQ;YAClB,aAAa,EAAE,aAAa,CAAC,MAAM;YACnC,cAAc,EAAE,cAAc;SAC/B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,QAAgB,EAChB,MAAkB,EAClB,aAA4B,EAC5B,OAAoB,EACpB,SAAoB,EACpB,MAAc,EACd,SAAoB,EACpB,MAAc,EACd,UAAsB,EACtB,qBAA4C,EAAE,OAAO,EAAE,MAAM,EAAE;QAE/D,MAAM,YAAY,GAAG,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEzD,MAAM,qBAAqB,GAAG,UAAU,CAAC,qBAAqB,CAAC;QAE/D,MAAM,cAAc,GAAG,yBAAyB,CAC9C,QAAQ,EACR,qBAAqB,CACtB,CAAC;QACF,MAAM,YAAY,GAAG,iCAAiC,CACpD,QAAQ,EACR,UAAU,CAAC,wBAAwB,CACpC,CAAC;QAEF,mBAAmB;QACnB,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;QAErE,iBAAiB;QACjB,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,mBAAmB,CACnE,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,EACtE;YACE,KAAK,EAAE,QAAQ;YACf,GAAG,kBAAkB;SACtB,CACF,CAAC;QAEF,OAAO;YACL,QAAQ;YACR,QAAQ,EAAE,QAAQ,GAAG,2BAA2B;YAChD,aAAa,EAAE,aAAa,CAAC,MAAM;YACnC,qBAAqB;SACtB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,QAAgB,EAChB,MAAkB,EAClB,aAA4B,EAC5B,OAAoB,EACpB,SAAoB,EACpB,MAAc,EACd,SAAoB,EACpB,aAAqB,EACrB,UAAsB,EACtB,qBAA4C,EAAE,OAAO,EAAE,MAAM,EAAE;QAE/D,MAAM,YAAY,GAAG,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEzD,MAAM,qBAAqB,GAAG,UAAU,CAAC,qBAAqB,CAAC;QAE/D,MAAM,cAAc,GAAG,yBAAyB,CAC9C,QAAQ,EACR,qBAAqB,CACtB,CAAC;QACF,MAAM,YAAY,GAAG,iCAAiC,CACpD,QAAQ,EACR,UAAU,CAAC,wBAAwB,CACpC,CAAC;QAEF,mBAAmB;QACnB,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;QAErE,iBAAiB;QACjB,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,gBAAgB,CAChE;YACE,aAAa,CAAC,MAAM;YACpB,SAAS;YACT,MAAM;YACN,YAAY,CAAC,MAAM;YACnB,aAAa;SACd,EACD;YACE,KAAK,EAAE,QAAQ;YACf,GAAG,kBAAkB;SACtB,CACF,CAAC;QAEF,OAAO;YACL,QAAQ;YACR,QAAQ,EAAE,QAAQ,GAAG,2BAA2B;YAChD,aAAa,EAAE,aAAa,CAAC,MAAM;YACnC,qBAAqB;SACtB,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,KAAK,CAAC,UAAU,CACd,QAAgB,EAChB,MAAoB,EACpB,SAAoB,EACpB,KAAY,EACZ,UAAsB,EACtB,QAAkB,EAClB,WAAkC;QAElC,MAAM,EACJ,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,qBAAqB,GACtB,GAAG,WAAW,CAAC;QAEhB,MAAM,cAAc,GAAG,yBAAyB,CAC9C,QAAQ,EACR,qBAAqB,EACrB,MAAM,CACP,CAAC;QAEF,OAAO,MAAM,cAAc,CAAC,KAAK,CAAC,UAAU,CAC1C,CAAC,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,EACvD;YACE,OAAO,EAAE,mBAAmB,CAAC,MAAM,CAAC;YACpC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,GAAG,EAAE,QAAQ;YACb,YAAY;YACZ,oBAAoB;YACpB,KAAK,EAAE,QAAQ;SAChB,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CACd,QAAgB,EAChB,MAAoB,EACpB,SAAoB,EACpB,MAAc,EACd,WAAkC;QAElC,MAAM,EACJ,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,qBAAqB,GACtB,GAAG,WAAW,CAAC;QAEhB,MAAM,cAAc,GAAG,yBAAyB,CAC9C,QAAQ,EACR,qBAAqB,EACrB,MAAM,CACP,CAAC;QAEF,OAAO,MAAM,cAAc,CAAC,KAAK,CAAC,UAAU,CAC1C,CAAC,aAAa,EAAE,SAAS,EAAE,MAAM,CAAC,EAClC;YACE,OAAO,EAAE,mBAAmB,CAAC,MAAM,CAAC;YACpC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,GAAG,EAAE,QAAQ;YACb,YAAY;YACZ,oBAAoB;YACpB,KAAK,EAAE,QAAQ;SAChB,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,QAAgB,EAChB,MAAoB,EACpB,SAAoB,EACpB,KAAY,EACZ,UAAsB,EACtB,QAAkB,EAClB,MAAc,EACd,cAAc,GAAG,IAAI,EACrB,WAA4C;QAE5C,MAAM,EACJ,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,cAAc,GACf,GAAG,WAAW,CAAC;QAChB,MAAM,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC;QAEjC,MAAM,UAAU,GAAG,qBAAqB,CACtC,QAAQ,EACR,cAAc,CAAC,YAAY,EAC3B,MAAM,CACP,CAAC;QAEF,IACE,cAAc;YACd,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK,CAAC,EACxE,CAAC;YACD,MAAM,WAAW,GAAG,MAAM,gBAAgB,CACxC,QAAQ,EACR,KAAK,CAAC,OAAO,EACb,MAAM,EACN,yBAAyB,CAAC,cAAc,CAAC,YAAY,EAAE,SAAS,CAAC,GAAG,CAAC,EACrE,MAAM,CACP,CAAC;YACF,IAAI,WAAW,KAAK,IAAI;gBACtB,MAAM,yBAAyB,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QACrE,CAAC;QAED,OAAO,MAAM,UAAU,CAAC,KAAK,CAAC,8BAA8B,CAC1D,CAAC,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,EAC/D;YACE,OAAO,EAAE,mBAAmB,CAAC,MAAM,CAAC;YACpC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,GAAG,EAAE,QAAQ;YACb,YAAY;YACZ,oBAAoB;YACpB,KAAK,EAAE,QAAQ;SAChB,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CACX,QAAgB,EAChB,MAAoB,EACpB,SAAoB,EACpB,MAAc,EACd,MAAc,EACd,cAAc,GAAG,IAAI,EACrB,WAA+B;QAE/B,MAAM,EACJ,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,cAAc,GACf,GAAG,WAAW,CAAC;QAChB,MAAM,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC;QAEjC,MAAM,UAAU,GAAG,qBAAqB,CACtC,QAAQ,EACR,cAAc,CAAC,YAAY,EAC3B,MAAM,CACP,CAAC;QAEF,IACE,cAAc;YACd,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK,CAAC,EACxE,CAAC;YACD,MAAM,WAAW,GAAG,MAAM,gBAAgB,CACxC,QAAQ,EACR,KAAK,CAAC,OAAO,EACb,MAAM,EACN,yBAAyB,CAAC,cAAc,CAAC,YAAY,EAAE,SAAS,CAAC,GAAG,CAAC,EACrE,MAAM,CACP,CAAC;YACF,IAAI,WAAW,KAAK,IAAI;gBACtB,MAAM,yBAAyB,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QACrE,CAAC;QAED,OAAO,MAAM,UAAU,CAAC,KAAK,CAAC,KAAK,CACjC,CAAC,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAC1C;YACE,OAAO,EAAE,mBAAmB,CAAC,MAAM,CAAC;YACpC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,GAAG,EAAE,QAAQ;YACb,YAAY;YACZ,oBAAoB;YACpB,KAAK,EAAE,QAAQ;SAChB,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,QAAgB,EAChB,MAAoB,EACpB,SAAoB,EACpB,MAAc,EACd,MAAc,EACd,MAAc,EACd,SAAkB,EAClB,eAA0B,EAC1B,WAAgC;QAEhC,MAAM,EACJ,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,qBAAqB,GACtB,GAAG,WAAW,CAAC;QAEhB,MAAM,cAAc,GAAG,yBAAyB,CAC9C,QAAQ,EACR,qBAAqB,EACrB,MAAM,CACP,CAAC;QAEF,OAAO,MAAM,cAAc,CAAC,KAAK,CAAC,QAAQ,CACxC;YACE,aAAa;YACb,SAAS;YACT,MAAM;YACN,MAAM;YACN,eAAe;YACf,MAAM;YACN,SAAS;SACV,EACD;YACE,OAAO,EAAE,mBAAmB,CAAC,MAAM,CAAC;YACpC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,GAAG,EAAE,QAAQ;YACb,YAAY;YACZ,oBAAoB;YACpB,KAAK,EAAE,QAAQ;SAChB,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CACV,QAAgB,EAChB,MAAoB,EACpB,SAAoB,EACpB,MAAc,EACd,MAAc,EACd,MAAc,EACd,aAAqB,EACrB,eAA0B,EAC1B,WAA8B;QAE9B,MAAM,EACJ,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,qBAAqB,GACtB,GAAG,WAAW,CAAC;QAEhB,MAAM,cAAc,GAAG,yBAAyB,CAC9C,QAAQ,EACR,qBAAqB,EACrB,MAAM,CACP,CAAC;QAEF,OAAO,MAAM,cAAc,CAAC,KAAK,CAAC,MAAM,CACtC;YACE,aAAa;YACb,SAAS;YACT,MAAM;YACN,MAAM;YACN,eAAe;YACf,MAAM;YACN,aAAa;SACd,EACD;YACE,OAAO,EAAE,mBAAmB,CAAC,MAAM,CAAC;YACpC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,GAAG,EAAE,QAAQ;YACb,YAAY;YACZ,oBAAoB;YACpB,KAAK,EAAE,QAAQ;SAChB,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK,CACT,QAAgB,EAChB,MAAoB,EACpB,SAAoB,EACpB,MAAc,EACd,MAAc,EACd,gBAAwB,EACxB,cAAc,GAAG,IAAI,EACrB,WAA6B;QAE7B,MAAM,EACJ,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,cAAc,GACf,GAAG,WAAW,CAAC;QAChB,MAAM,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC;QAEjC,MAAM,UAAU,GAAG,qBAAqB,CACtC,QAAQ,EACR,cAAc,CAAC,YAAY,EAC3B,MAAM,CACP,CAAC;QAEF,IACE,cAAc;YACd,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK,CAAC,EACxE,CAAC;YACD,MAAM,WAAW,GAAG,MAAM,gBAAgB,CACxC,QAAQ,EACR,KAAK,CAAC,OAAO,EACb,MAAM,EACN,yBAAyB,CAAC,cAAc,CAAC,YAAY,EAAE,SAAS,CAAC,GAAG,CAAC,EACrE,MAAM,CACP,CAAC;YACF,IAAI,WAAW,KAAK,IAAI;gBACtB,MAAM,yBAAyB,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QACrE,CAAC;QAED,OAAO,MAAM,UAAU,CAAC,KAAK,CAAC,KAAK,CACjC,CAAC,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAC5D;YACE,OAAO,EAAE,mBAAmB,CAAC,MAAM,CAAC;YACpC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,GAAG,EAAE,QAAQ;YACb,YAAY;YACZ,oBAAoB;YACpB,KAAK,EAAE,QAAQ;SAChB,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,QAAgB,EAChB,MAAoB,EACpB,SAAoB,EACpB,MAAc,EACd,MAAc,EACd,MAAc,EACd,WAA2C;QAE3C,MAAM,EACJ,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,qBAAqB,GACtB,GAAG,WAAW,CAAC;QAEhB,MAAM,cAAc,GAAG,yBAAyB,CAC9C,QAAQ,EACR,qBAAqB,EACrB,MAAM,CACP,CAAC;QAEF,OAAO,MAAM,cAAc,CAAC,KAAK,CAAC,mBAAmB,CACnD,CAAC,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAClD;YACE,OAAO,EAAE,mBAAmB,CAAC,MAAM,CAAC;YACpC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,GAAG,EAAE,QAAQ;YACb,YAAY;YACZ,oBAAoB;YACpB,KAAK,EAAE,QAAQ;SAChB,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,QAAgB,EAChB,MAAoB,EACpB,SAAoB,EACpB,MAAc,EACd,MAAc,EACd,aAAqB,EACrB,WAAwC;QAExC,MAAM,EACJ,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,qBAAqB,GACtB,GAAG,WAAW,CAAC;QAEhB,MAAM,cAAc,GAAG,yBAAyB,CAC9C,QAAQ,EACR,qBAAqB,EACrB,MAAM,CACP,CAAC;QAEF,OAAO,MAAM,cAAc,CAAC,KAAK,CAAC,gBAAgB,CAChD,CAAC,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,EACzD;YACE,OAAO,EAAE,mBAAmB,CAAC,MAAM,CAAC;YACpC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,GAAG,EAAE,QAAQ;YACb,YAAY;YACZ,oBAAoB;YACpB,KAAK,EAAE,QAAQ;SAChB,CACF,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,KAAK,CAAC,aAAa,CACjB,QAAgB,EAChB,KAAqB;QAErB,MAAM,UAAU,GAAG,qBAAqB,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;QAEvE,sBAAsB;QACtB,MAAM,CAAC,YAAY,EAAE,eAAe,EAAE,kBAAkB,CAAC,GAAG,MAAM,SAAS,CACzE,QAAQ,EACR;YACE,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,UAAU,CAAC,OAAO;oBAC3B,GAAG,EAAE,UAAU,CAAC,GAAG;oBACnB,YAAY,EAAE,cAAc;iBAC7B;gBACD;oBACE,OAAO,EAAE,UAAU,CAAC,OAAO;oBAC3B,GAAG,EAAE,UAAU,CAAC,GAAG;oBACnB,YAAY,EAAE,qBAAqB;iBACpC;gBACD;oBACE,OAAO,EAAE,UAAU,CAAC,OAAO;oBAC3B,GAAG,EAAE,UAAU,CAAC,GAAG;oBACnB,YAAY,EAAE,iBAAiB;iBAChC;aACF;YACD,YAAY,EAAE,KAAK;SACpB,CACF,CAAC;QAEF,0BAA0B;QAC1B,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE,WAAW,CAAC,GAAG,YAAY,CAAC;QAC/D,MAAM,eAAe,GAAG,gBAAgB,CACtC,MAAM,CAAC,YAAY,CAAC,EACpB,MAAM,CAAC,YAAY,CAAC,CACrB,CAAC;QACF,MAAM,WAAW,GAAG,eAAe,KAAK,MAAM,CAAC,eAAe,CAAC,CAAC;QAChE,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC;QACvE,MAAM,eAAe,GAAG,mBAAmB,CACzC,eAAe,EACf,MAAM,CAAC,YAAY,CAAC,EACpB,MAAM,CAAC,YAAY,CAAC,CACrB,CAAC;QAEF,wBAAwB;QACxB,OAAO;YACL,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC;YAClC,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC;YAClC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;YAChC,eAAe;YACf,eAAe;SAChB,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -182,7 +182,6 @@ export const prepare = {
182
182
  data,
183
183
  extraArgs,
184
184
  };
185
- console.log(messageBuilderParams);
186
185
  const feeParams = {};
187
186
  feeParams.gasLimit = await estimateAdapterReceiveGasLimit(tsChain.tsChainId, hubChain.tsChainId, TSCore.getHubProvider(), tsChain.network, MessageDirection.SpokeToHub, messageBuilderParams);
188
187
  feeParams.returnGasLimit = SEND_TOKEN_ACTION_RETURN_GAS_LIMIT;
@@ -1 +1 @@
1
- {"version":3,"file":"ts-loan.js","sourceRoot":"","sources":["../../../src/lifeline/modules/ts-loan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ts-loan.js","sourceRoot":"","sources":["../../../src/lifeline/modules/ts-loan.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@townsq/mm-sdk",
3
- "version": "2.2.0",
3
+ "version": "2.6.0",
4
4
  "description": "TownSquare Money Market SDK for interacting with lending, borrowing, and liquidation logic.",
5
5
  "author": "TownSq",
6
6
  "license": "MIT",
@@ -6,8 +6,8 @@ export const defaultEventParams: EventParams = {
6
6
  strict: true,
7
7
  };
8
8
 
9
- export const GAS_LIMIT_ESTIMATE_INCREASE = 10_000n;
10
- export const SEND_TOKEN_ACTION_RETURN_GAS_LIMIT = 500_000n;
9
+ export const GAS_LIMIT_ESTIMATE_INCREASE = 2_000_000n;
10
+ export const SEND_TOKEN_ACTION_RETURN_GAS_LIMIT = 2_000_000n;
11
11
  export const RECEIVER_VALUE_SLIPPAGE = 0.01;
12
12
  export const RETRY_REVERSE_GAS_LIMIT_SLIPPAGE = 0.05;
13
13
  export const UPDATE_USER_POINTS_IN_LOANS_GAS_LIMIT_SLIPPAGE = 0.1;
@@ -48,7 +48,14 @@ import type {
48
48
  PrepareWithdrawCall,
49
49
  } from '../../common/types/module.js';
50
50
  import type { TokenRateLimit } from '../types/pool.js';
51
- import type { Client, EstimateGasParameters, WalletClient } from 'viem';
51
+ import {
52
+ BaseError,
53
+ Client,
54
+ ContractFunctionRevertedError,
55
+ EstimateGasExecutionError,
56
+ EstimateGasParameters,
57
+ WalletClient,
58
+ } from 'viem';
52
59
 
53
60
  export const prepare = {
54
61
  async createLoan(
@@ -193,9 +200,9 @@ export const prepare = {
193
200
  spokeTokenData.token.type === TokenType.NATIVE ? amount : BigInt(0);
194
201
  const msgValue = adapterFees + value;
195
202
 
196
- // get gas limits
197
- const gasLimit =
198
- await spokeToken.estimateGas.initiateLoanAccountWithDeposit(
203
+ let gasLimit = GAS_LIMIT_ESTIMATE_INCREASE;
204
+ try {
205
+ gasLimit += await spokeToken.estimateGas.initiateLoanAccountWithDeposit(
199
206
  [messageToSend.params, accountId, nonce, amount, loanTypeId, loanName],
200
207
  {
201
208
  value: msgValue,
@@ -203,10 +210,26 @@ export const prepare = {
203
210
  stateOverride,
204
211
  }
205
212
  );
213
+ } catch (error) {
214
+ if (error instanceof BaseError) {
215
+ const revert = error.walk(
216
+ (e) => e instanceof ContractFunctionRevertedError
217
+ ) as ContractFunctionRevertedError | undefined;
218
+
219
+ const reason =
220
+ revert?.data?.errorName ?? revert?.reason ?? error.shortMessage;
206
221
 
222
+ if (!reason?.toLowerCase().includes('reserve balance violation')) {
223
+ throw error;
224
+ }
225
+ // else: swallow — it's the expected "reserve balance violation" case
226
+ } else {
227
+ throw error;
228
+ }
229
+ }
207
230
  return {
208
231
  msgValue,
209
- gasLimit: gasLimit + GAS_LIMIT_ESTIMATE_INCREASE,
232
+ gasLimit: gasLimit,
210
233
  messageParams: messageToSend.params,
211
234
  spokeTokenData: spokeTokenData,
212
235
  };
@@ -271,18 +294,38 @@ export const prepare = {
271
294
  const msgValue = adapterFees + value;
272
295
 
273
296
  // get gas limits
274
- const gasLimit = await spokeToken.estimateGas.topup(
275
- [messageToSend.params, accountId, loanId, amount],
276
- {
277
- value: msgValue,
278
- ...transactionOptions,
279
- stateOverride,
297
+ let gasLimit = GAS_LIMIT_ESTIMATE_INCREASE;
298
+
299
+ try {
300
+ gasLimit += await spokeToken.estimateGas.topup(
301
+ [messageToSend.params, accountId, loanId, amount],
302
+ {
303
+ value: msgValue,
304
+ ...transactionOptions,
305
+ stateOverride,
306
+ }
307
+ );
308
+ } catch (error) {
309
+ if (error instanceof BaseError) {
310
+ const revert = error.walk(
311
+ (e) => e instanceof ContractFunctionRevertedError
312
+ ) as ContractFunctionRevertedError | undefined;
313
+
314
+ const reason =
315
+ revert?.data?.errorName ?? revert?.reason ?? error.shortMessage;
316
+
317
+ if (!reason?.toLowerCase().includes('reserve balance violation')) {
318
+ throw error;
319
+ }
320
+ // else: swallow — it's the expected "reserve balance violation" case
321
+ } else {
322
+ throw error;
280
323
  }
281
- );
324
+ }
282
325
 
283
326
  return {
284
327
  msgValue,
285
- gasLimit: gasLimit + GAS_LIMIT_ESTIMATE_INCREASE,
328
+ gasLimit: gasLimit,
286
329
  messageParams: messageToSend.params,
287
330
  spokeTokenData: spokeTokenData,
288
331
  };
@@ -456,18 +499,37 @@ export const prepare = {
456
499
  const msgValue = adapterFees + value;
457
500
 
458
501
  // get gas limits
459
- const gasLimit = await spokeToken.estimateGas.repay(
460
- [messageToSend.params, accountId, loanId, amount, maxOverRepayment],
461
- {
462
- value: msgValue,
463
- ...transactionOptions,
464
- stateOverride,
502
+ let gasLimit = GAS_LIMIT_ESTIMATE_INCREASE;
503
+ try {
504
+ gasLimit += await spokeToken.estimateGas.repay(
505
+ [messageToSend.params, accountId, loanId, amount, maxOverRepayment],
506
+ {
507
+ value: msgValue,
508
+ ...transactionOptions,
509
+ stateOverride,
510
+ }
511
+ );
512
+ } catch (error) {
513
+ if (error instanceof BaseError) {
514
+ const revert = error.walk(
515
+ (e) => e instanceof ContractFunctionRevertedError
516
+ ) as ContractFunctionRevertedError | undefined;
517
+
518
+ const reason =
519
+ revert?.data?.errorName ?? revert?.reason ?? error.shortMessage;
520
+
521
+ if (!reason?.toLowerCase().includes('reserve balance violation')) {
522
+ throw error;
523
+ }
524
+ // else: swallow — it's the expected "reserve balance violation" case
525
+ } else {
526
+ throw error;
465
527
  }
466
- );
528
+ }
467
529
 
468
530
  return {
469
531
  msgValue,
470
- gasLimit: gasLimit + GAS_LIMIT_ESTIMATE_INCREASE,
532
+ gasLimit: gasLimit,
471
533
  messageParams: messageToSend.params,
472
534
  spokeTokenData: spokeTokenData,
473
535
  };
@@ -98,7 +98,7 @@ export const prepare = {
98
98
  nonce: Nonce,
99
99
  loanTypeId: LoanTypeId,
100
100
  loanName: LoanName,
101
- adapters: MessageAdapters,
101
+ adapters: MessageAdapters
102
102
  ) {
103
103
  const tsChain = TSCore.getSelectedTsChain();
104
104
 
@@ -135,13 +135,13 @@ export const prepare = {
135
135
  TSCore.getHubProvider(),
136
136
  tsChain.network,
137
137
  MessageDirection.SpokeToHub,
138
- messageBuilderParams,
138
+ messageBuilderParams
139
139
  );
140
140
 
141
141
  const messageToSend = buildMessageToSend(
142
142
  tsChain.chainType,
143
143
  messageBuilderParams,
144
- feeParams,
144
+ feeParams
145
145
  );
146
146
 
147
147
  switch (tsChain.chainType) {
@@ -154,7 +154,7 @@ export const prepare = {
154
154
  nonce,
155
155
  loanTypeId,
156
156
  loanName,
157
- spokeChain,
157
+ spokeChain
158
158
  );
159
159
  default:
160
160
  return exhaustiveCheck(tsChain.chainType);
@@ -169,7 +169,7 @@ export const prepare = {
169
169
  tsTokenIdToSeize: TSTokenId,
170
170
  repayingAmount: bigint,
171
171
  minSeizedAmount: bigint,
172
- liquidatorAddress: GenericAddress,
172
+ liquidatorAddress: GenericAddress
173
173
  ) {
174
174
  const tsChain = TSCore.getSelectedTsChain();
175
175
  assertHubChainSelected(tsChain.tsChainId, tsChain.network);
@@ -177,11 +177,11 @@ export const prepare = {
177
177
 
178
178
  const hubTokenToLiquidateData = getHubTokenData(
179
179
  tsTokenIdToLiq,
180
- tsChain.network,
180
+ tsChain.network
181
181
  );
182
182
  const hubTokenToSeizeData = getHubTokenData(
183
183
  tsTokenIdToSeize,
184
- tsChain.network,
184
+ tsChain.network
185
185
  );
186
186
 
187
187
  // const userAddress = getSignerGenericAddress({
@@ -203,7 +203,7 @@ export const prepare = {
203
203
  convertFromGenericAddress(liquidatorAddress, tsChain.chainType),
204
204
  data,
205
205
  accountId,
206
- hubChain,
206
+ hubChain
207
207
  );
208
208
  },
209
209
 
@@ -212,7 +212,7 @@ export const prepare = {
212
212
  loanId: LoanId,
213
213
  tsTokenId: TSTokenId,
214
214
  amount: bigint,
215
- adapters: MessageAdapters,
215
+ adapters: MessageAdapters
216
216
  ) {
217
217
  const tsChain = TSCore.getSelectedTsChain();
218
218
  const network = tsChain.network;
@@ -256,13 +256,13 @@ export const prepare = {
256
256
  TSCore.getHubProvider(),
257
257
  tsChain.network,
258
258
  MessageDirection.SpokeToHub,
259
- messageBuilderParams,
259
+ messageBuilderParams
260
260
  );
261
261
 
262
262
  const messageToSend = buildMessageToSend(
263
263
  tsChain.chainType,
264
264
  messageBuilderParams,
265
- feeParams,
265
+ feeParams
266
266
  );
267
267
 
268
268
  switch (tsChain.chainType) {
@@ -276,7 +276,7 @@ export const prepare = {
276
276
  loanId,
277
277
  tsTokenId,
278
278
  amount,
279
- spokeChain,
279
+ spokeChain
280
280
  );
281
281
  default:
282
282
  return exhaustiveCheck(tsChain.chainType);
@@ -286,7 +286,7 @@ export const prepare = {
286
286
  async deleteLoan(
287
287
  accountId: AccountId,
288
288
  loanId: LoanId,
289
- adapters: MessageAdapters,
289
+ adapters: MessageAdapters
290
290
  ) {
291
291
  const tsChain = TSCore.getSelectedTsChain();
292
292
 
@@ -322,13 +322,13 @@ export const prepare = {
322
322
  TSCore.getHubProvider(),
323
323
  tsChain.network,
324
324
  MessageDirection.SpokeToHub,
325
- messageBuilderParams,
325
+ messageBuilderParams
326
326
  );
327
327
 
328
328
  const messageToSend = buildMessageToSend(
329
329
  tsChain.chainType,
330
330
  messageBuilderParams,
331
- feeParams,
331
+ feeParams
332
332
  );
333
333
 
334
334
  switch (tsChain.chainType) {
@@ -339,7 +339,7 @@ export const prepare = {
339
339
  messageToSend,
340
340
  accountId,
341
341
  loanId,
342
- spokeChain,
342
+ spokeChain
343
343
  );
344
344
  default:
345
345
  return exhaustiveCheck(tsChain.chainType);
@@ -353,14 +353,14 @@ export const prepare = {
353
353
  loanName: LoanName,
354
354
  tsTokenId: TSTokenId,
355
355
  amount: bigint,
356
- adapters: MessageAdapters,
356
+ adapters: MessageAdapters
357
357
  ) {
358
358
  const tsChain = TSCore.getSelectedTsChain();
359
359
 
360
360
  assertSpokeChainSupportTsToken(
361
361
  tsChain.tsChainId,
362
362
  tsTokenId,
363
- tsChain.network,
363
+ tsChain.network
364
364
  );
365
365
  assertLoanTypeSupported(loanTypeId, tsTokenId, tsChain.network);
366
366
  const spokeChain = getSpokeChain(tsChain.tsChainId, tsChain.network);
@@ -373,7 +373,7 @@ export const prepare = {
373
373
  assertAdapterSupportsCrossChainToken(
374
374
  tsChain.tsChainId,
375
375
  spokeTokenData.token,
376
- adapters.adapterId,
376
+ adapters.adapterId
377
377
  );
378
378
  else
379
379
  assertAdapterSupportsDataMessage(tsChain.tsChainId, adapters.adapterId);
@@ -407,7 +407,6 @@ export const prepare = {
407
407
  extraArgs,
408
408
  };
409
409
 
410
- console.log(messageBuilderParams);
411
410
  const feeParams: OptionalFeeParams = {};
412
411
 
413
412
  feeParams.gasLimit = await estimateAdapterReceiveGasLimit(
@@ -416,14 +415,14 @@ export const prepare = {
416
415
  TSCore.getHubProvider(),
417
416
  tsChain.network,
418
417
  MessageDirection.SpokeToHub,
419
- messageBuilderParams,
418
+ messageBuilderParams
420
419
  );
421
420
  feeParams.returnGasLimit = SEND_TOKEN_ACTION_RETURN_GAS_LIMIT;
422
421
 
423
422
  const messageToSend = buildMessageToSend(
424
423
  tsChain.chainType,
425
424
  messageBuilderParams,
426
- feeParams,
425
+ feeParams
427
426
  );
428
427
 
429
428
  switch (tsChain.chainType) {
@@ -438,7 +437,7 @@ export const prepare = {
438
437
  loanName,
439
438
  amount,
440
439
  spokeChain,
441
- spokeTokenData,
440
+ spokeTokenData
442
441
  );
443
442
  default:
444
443
  return exhaustiveCheck(tsChain.chainType);
@@ -451,14 +450,14 @@ export const prepare = {
451
450
  loanTypeId: LoanTypeId,
452
451
  tsTokenId: TSTokenId,
453
452
  amount: bigint,
454
- adapters: MessageAdapters,
453
+ adapters: MessageAdapters
455
454
  ) {
456
455
  const tsChain = TSCore.getSelectedTsChain();
457
456
 
458
457
  assertSpokeChainSupportTsToken(
459
458
  tsChain.tsChainId,
460
459
  tsTokenId,
461
- tsChain.network,
460
+ tsChain.network
462
461
  );
463
462
  assertLoanTypeSupported(loanTypeId, tsTokenId, tsChain.network);
464
463
  const spokeChain = getSpokeChain(tsChain.tsChainId, tsChain.network);
@@ -471,7 +470,7 @@ export const prepare = {
471
470
  assertAdapterSupportsCrossChainToken(
472
471
  tsChain.tsChainId,
473
472
  spokeTokenData.token,
474
- adapters.adapterId,
473
+ adapters.adapterId
475
474
  );
476
475
  else
477
476
  assertAdapterSupportsDataMessage(tsChain.tsChainId, adapters.adapterId);
@@ -510,14 +509,14 @@ export const prepare = {
510
509
  TSCore.getHubProvider(),
511
510
  tsChain.network,
512
511
  MessageDirection.SpokeToHub,
513
- messageBuilderParams,
512
+ messageBuilderParams
514
513
  );
515
514
  feeParams.returnGasLimit = SEND_TOKEN_ACTION_RETURN_GAS_LIMIT;
516
515
 
517
516
  const messageToSend = buildMessageToSend(
518
517
  tsChain.chainType,
519
518
  messageBuilderParams,
520
- feeParams,
519
+ feeParams
521
520
  );
522
521
 
523
522
  switch (tsChain.chainType) {
@@ -530,7 +529,7 @@ export const prepare = {
530
529
  loanId,
531
530
  amount,
532
531
  spokeChain,
533
- spokeTokenData,
532
+ spokeTokenData
534
533
  );
535
534
  default:
536
535
  return exhaustiveCheck(tsChain.chainType);
@@ -544,7 +543,7 @@ export const prepare = {
544
543
  amount: bigint,
545
544
  isTAmount: boolean,
546
545
  receiverTsChainId: TSChainId,
547
- adapters: MessageAdapters,
546
+ adapters: MessageAdapters
548
547
  ) {
549
548
  const tsChain = TSCore.getSelectedTsChain();
550
549
  const network = tsChain.network;
@@ -554,7 +553,7 @@ export const prepare = {
554
553
  const receiverSpokeChain = getSpokeChain(receiverTsChainId, network);
555
554
  const receiverSpokeTokenData = getSpokeTokenData(
556
555
  receiverSpokeChain,
557
- tsTokenId,
556
+ tsTokenId
558
557
  );
559
558
 
560
559
  assertAdapterSupportsDataMessage(tsChain.tsChainId, adapters.adapterId);
@@ -562,12 +561,12 @@ export const prepare = {
562
561
  assertAdapterSupportsCrossChainToken(
563
562
  receiverTsChainId,
564
563
  receiverSpokeTokenData.token,
565
- adapters.returnAdapterId,
564
+ adapters.returnAdapterId
566
565
  );
567
566
  else
568
567
  assertAdapterSupportsDataMessage(
569
568
  receiverTsChainId,
570
- adapters.returnAdapterId,
569
+ adapters.returnAdapterId
571
570
  );
572
571
 
573
572
  assertSpokeChainSupportTsToken(receiverTsChainId, tsTokenId, network);
@@ -615,7 +614,7 @@ export const prepare = {
615
614
  TSCore.getEVMProvider(receiverTsChain.tsChainId),
616
615
  tsChain.network,
617
616
  MessageDirection.HubToSpoke,
618
- returnMessageBuilderParams,
617
+ returnMessageBuilderParams
619
618
  );
620
619
 
621
620
  const data: WithdrawMessageData = {
@@ -644,7 +643,7 @@ export const prepare = {
644
643
  amount,
645
644
  receiverTsChainId,
646
645
  adapters,
647
- feeParams,
646
+ feeParams
648
647
  );
649
648
  feeParams.gasLimit = await estimateAdapterReceiveGasLimit(
650
649
  tsChain.tsChainId,
@@ -653,13 +652,13 @@ export const prepare = {
653
652
  tsChain.network,
654
653
  MessageDirection.SpokeToHub,
655
654
  messageBuilderParams,
656
- feeParams.receiverValue,
655
+ feeParams.receiverValue
657
656
  );
658
657
 
659
658
  const messageToSend = buildMessageToSend(
660
659
  tsChain.chainType,
661
660
  messageBuilderParams,
662
- feeParams,
661
+ feeParams
663
662
  );
664
663
 
665
664
  switch (tsChain.chainType) {
@@ -675,7 +674,7 @@ export const prepare = {
675
674
  amount,
676
675
  isTAmount,
677
676
  receiverTsChainId,
678
- spokeChain,
677
+ spokeChain
679
678
  );
680
679
  default:
681
680
  return exhaustiveCheck(tsChain.chainType);
@@ -689,7 +688,7 @@ export const prepare = {
689
688
  amount: bigint,
690
689
  maxStableRate: bigint,
691
690
  receiverTsChainId: TSChainId,
692
- adapters: MessageAdapters,
691
+ adapters: MessageAdapters
693
692
  ) {
694
693
  const tsChain = TSCore.getSelectedTsChain();
695
694
  const network = tsChain.network;
@@ -699,7 +698,7 @@ export const prepare = {
699
698
  const receiverSpokeChain = getSpokeChain(receiverTsChainId, network);
700
699
  const receiverSpokeTokenData = getSpokeTokenData(
701
700
  receiverSpokeChain,
702
- tsTokenId,
701
+ tsTokenId
703
702
  );
704
703
 
705
704
  assertAdapterSupportsDataMessage(tsChain.tsChainId, adapters.adapterId);
@@ -707,12 +706,12 @@ export const prepare = {
707
706
  assertAdapterSupportsCrossChainToken(
708
707
  receiverTsChainId,
709
708
  receiverSpokeTokenData.token,
710
- adapters.returnAdapterId,
709
+ adapters.returnAdapterId
711
710
  );
712
711
  else
713
712
  assertAdapterSupportsDataMessage(
714
713
  receiverTsChainId,
715
- adapters.returnAdapterId,
714
+ adapters.returnAdapterId
716
715
  );
717
716
  assertSpokeChainSupportTsToken(receiverTsChainId, tsTokenId, network);
718
717
 
@@ -759,7 +758,7 @@ export const prepare = {
759
758
  TSCore.getEVMProvider(receiverTsChain.tsChainId),
760
759
  tsChain.network,
761
760
  MessageDirection.HubToSpoke,
762
- returnMessageBuilderParams,
761
+ returnMessageBuilderParams
763
762
  );
764
763
 
765
764
  const data: BorrowMessageData = {
@@ -788,7 +787,7 @@ export const prepare = {
788
787
  amount,
789
788
  receiverTsChainId,
790
789
  adapters,
791
- feeParams,
790
+ feeParams
792
791
  );
793
792
  feeParams.gasLimit = await estimateAdapterReceiveGasLimit(
794
793
  tsChain.tsChainId,
@@ -797,13 +796,13 @@ export const prepare = {
797
796
  tsChain.network,
798
797
  MessageDirection.SpokeToHub,
799
798
  messageBuilderParams,
800
- feeParams.receiverValue,
799
+ feeParams.receiverValue
801
800
  );
802
801
 
803
802
  const messageToSend = buildMessageToSend(
804
803
  tsChain.chainType,
805
804
  messageBuilderParams,
806
- feeParams,
805
+ feeParams
807
806
  );
808
807
 
809
808
  switch (tsChain.chainType) {
@@ -819,7 +818,7 @@ export const prepare = {
819
818
  amount,
820
819
  maxStableRate,
821
820
  receiverTsChainId,
822
- spokeChain,
821
+ spokeChain
823
822
  );
824
823
  default:
825
824
  return exhaustiveCheck(tsChain.chainType);
@@ -833,14 +832,14 @@ export const prepare = {
833
832
  tsTokenId: TSTokenId,
834
833
  amount: bigint,
835
834
  maxOverRepayment: bigint,
836
- adapters: MessageAdapters,
835
+ adapters: MessageAdapters
837
836
  ): Promise<PrepareRepayCall> {
838
837
  const tsChain = TSCore.getSelectedTsChain();
839
838
 
840
839
  assertSpokeChainSupportTsToken(
841
840
  tsChain.tsChainId,
842
841
  tsTokenId,
843
- tsChain.network,
842
+ tsChain.network
844
843
  );
845
844
  assertLoanTypeSupported(loanTypeId, tsTokenId, tsChain.network);
846
845
  const spokeChain = getSpokeChain(tsChain.tsChainId, tsChain.network);
@@ -853,7 +852,7 @@ export const prepare = {
853
852
  assertAdapterSupportsCrossChainToken(
854
853
  tsChain.tsChainId,
855
854
  spokeTokenData.token,
856
- adapters.adapterId,
855
+ adapters.adapterId
857
856
  );
858
857
  else
859
858
  assertAdapterSupportsDataMessage(tsChain.tsChainId, adapters.adapterId);
@@ -893,14 +892,14 @@ export const prepare = {
893
892
  TSCore.getHubProvider(),
894
893
  tsChain.network,
895
894
  MessageDirection.SpokeToHub,
896
- messageBuilderParams,
895
+ messageBuilderParams
897
896
  );
898
897
  feeParams.returnGasLimit = SEND_TOKEN_ACTION_RETURN_GAS_LIMIT;
899
898
 
900
899
  const messageToSend = buildMessageToSend(
901
900
  tsChain.chainType,
902
901
  messageBuilderParams,
903
- feeParams,
902
+ feeParams
904
903
  );
905
904
 
906
905
  switch (tsChain.chainType) {
@@ -914,7 +913,7 @@ export const prepare = {
914
913
  amount,
915
914
  maxOverRepayment,
916
915
  spokeChain,
917
- spokeTokenData,
916
+ spokeTokenData
918
917
  );
919
918
  default:
920
919
  return exhaustiveCheck(tsChain.chainType);
@@ -928,7 +927,7 @@ export const write = {
928
927
  nonce: Nonce,
929
928
  loanTypeId: LoanTypeId,
930
929
  loanName: LoanName,
931
- prepareCall: PrepareCreateLoanCall,
930
+ prepareCall: PrepareCreateLoanCall
932
931
  ) {
933
932
  const tsChain = TSCore.getSelectedTsChain();
934
933
 
@@ -943,7 +942,7 @@ export const write = {
943
942
  nonce,
944
943
  loanTypeId,
945
944
  loanName,
946
- prepareCall,
945
+ prepareCall
947
946
  );
948
947
  default:
949
948
  return exhaustiveCheck(tsChain.chainType);
@@ -953,7 +952,7 @@ export const write = {
953
952
  async deleteLoan(
954
953
  accountId: AccountId,
955
954
  loanId: LoanId,
956
- prepareCall: PrepareCreateLoanCall,
955
+ prepareCall: PrepareCreateLoanCall
957
956
  ) {
958
957
  const tsChain = TSCore.getSelectedTsChain();
959
958
 
@@ -966,7 +965,7 @@ export const write = {
966
965
  TSCore.getSigner<ChainType.EVM>(),
967
966
  accountId,
968
967
  loanId,
969
- prepareCall,
968
+ prepareCall
970
969
  );
971
970
  default:
972
971
  return exhaustiveCheck(tsChain.chainType);
@@ -980,7 +979,7 @@ export const write = {
980
979
  loanName: LoanName,
981
980
  amount: bigint,
982
981
  includeApproval: boolean,
983
- prepareCall: PrepareCreateLoanAndDepositCall,
982
+ prepareCall: PrepareCreateLoanAndDepositCall
984
983
  ) {
985
984
  const tsChain = TSCore.getSelectedTsChain();
986
985
 
@@ -997,7 +996,7 @@ export const write = {
997
996
  loanName,
998
997
  amount,
999
998
  includeApproval,
1000
- prepareCall,
999
+ prepareCall
1001
1000
  );
1002
1001
  default:
1003
1002
  return exhaustiveCheck(tsChain.chainType);
@@ -1009,7 +1008,7 @@ export const write = {
1009
1008
  loanId: LoanId,
1010
1009
  amount: bigint,
1011
1010
  includeApproval: boolean,
1012
- prepareCall: PrepareDepositCall,
1011
+ prepareCall: PrepareDepositCall
1013
1012
  ) {
1014
1013
  const tsChain = TSCore.getSelectedTsChain();
1015
1014
 
@@ -1024,7 +1023,7 @@ export const write = {
1024
1023
  loanId,
1025
1024
  amount,
1026
1025
  includeApproval,
1027
- prepareCall,
1026
+ prepareCall
1028
1027
  );
1029
1028
  default:
1030
1029
  return exhaustiveCheck(tsChain.chainType);
@@ -1038,7 +1037,7 @@ export const write = {
1038
1037
  amount: bigint,
1039
1038
  isTAmount: boolean,
1040
1039
  receiverTsChainId: TSChainId,
1041
- prepareCall: PrepareWithdrawCall,
1040
+ prepareCall: PrepareWithdrawCall
1042
1041
  ) {
1043
1042
  const tsChain = TSCore.getSelectedTsChain();
1044
1043
 
@@ -1055,7 +1054,7 @@ export const write = {
1055
1054
  amount,
1056
1055
  isTAmount,
1057
1056
  receiverTsChainId,
1058
- prepareCall,
1057
+ prepareCall
1059
1058
  );
1060
1059
  default:
1061
1060
  return exhaustiveCheck(tsChain.chainType);
@@ -1069,7 +1068,7 @@ export const write = {
1069
1068
  amount: bigint,
1070
1069
  maxStableRate: bigint,
1071
1070
  receiverTsChainId: TSChainId,
1072
- prepareCall: PrepareBorrowCall,
1071
+ prepareCall: PrepareBorrowCall
1073
1072
  ) {
1074
1073
  const tsChain = TSCore.getSelectedTsChain();
1075
1074
 
@@ -1086,7 +1085,7 @@ export const write = {
1086
1085
  amount,
1087
1086
  maxStableRate,
1088
1087
  receiverTsChainId,
1089
- prepareCall,
1088
+ prepareCall
1090
1089
  );
1091
1090
  default:
1092
1091
  return exhaustiveCheck(tsChain.chainType);
@@ -1099,7 +1098,7 @@ export const write = {
1099
1098
  amount: bigint,
1100
1099
  maxOverRepayment: bigint,
1101
1100
  includeApproval: boolean,
1102
- prepareCall: PrepareRepayCall,
1101
+ prepareCall: PrepareRepayCall
1103
1102
  ) {
1104
1103
  const tsChain = TSCore.getSelectedTsChain();
1105
1104
 
@@ -1115,7 +1114,7 @@ export const write = {
1115
1114
  amount,
1116
1115
  maxOverRepayment,
1117
1116
  includeApproval,
1118
- prepareCall,
1117
+ prepareCall
1119
1118
  );
1120
1119
  default:
1121
1120
  return exhaustiveCheck(tsChain.chainType);
@@ -1130,7 +1129,7 @@ export const write = {
1130
1129
  TSCore.getProvider<ChainType.EVM>(tsChain.tsChainId),
1131
1130
  TSCore.getSigner<ChainType.EVM>(),
1132
1131
  accountId,
1133
- prepareCall,
1132
+ prepareCall
1134
1133
  );
1135
1134
  },
1136
1135
  async repayWithCollateral(
@@ -1138,7 +1137,7 @@ export const write = {
1138
1137
  loanId: LoanId,
1139
1138
  tsTokenId: TSTokenId,
1140
1139
  amount: bigint,
1141
- prepareCall: PrepareRepayWithCollateralCall,
1140
+ prepareCall: PrepareRepayWithCollateralCall
1142
1141
  ) {
1143
1142
  const tsChain = TSCore.getSelectedTsChain();
1144
1143
 
@@ -1153,7 +1152,7 @@ export const write = {
1153
1152
  loanId,
1154
1153
  poolId,
1155
1154
  amount,
1156
- prepareCall,
1155
+ prepareCall
1157
1156
  );
1158
1157
  default:
1159
1158
  return exhaustiveCheck(tsChain.chainType);
@@ -1164,7 +1163,7 @@ export const write = {
1164
1163
  export const read = {
1165
1164
  async rateLimit(
1166
1165
  tsTokenId: TSTokenId,
1167
- tsChainId: TSChainId,
1166
+ tsChainId: TSChainId
1168
1167
  ): Promise<TokenRateLimit> {
1169
1168
  const network = TSCore.getSelectedNetwork();
1170
1169
  const tsChain = getTsChain(tsChainId, network);
@@ -1172,7 +1171,7 @@ export const read = {
1172
1171
  assertSpokeChainSupportTsToken(
1173
1172
  tsChain.tsChainId,
1174
1173
  tsTokenId,
1175
- tsChain.network,
1174
+ tsChain.network
1176
1175
  );
1177
1176
  const spokeChain = getSpokeChain(tsChain.tsChainId, tsChain.network);
1178
1177
  const spokeTokenData = getSpokeTokenData(spokeChain, tsTokenId);
@@ -1181,7 +1180,7 @@ export const read = {
1181
1180
  case ChainType.EVM:
1182
1181
  return await TSEvmLoan.read.rateLimitInfo(
1183
1182
  TSCore.getProvider<ChainType.EVM>(tsChain.tsChainId),
1184
- spokeTokenData,
1183
+ spokeTokenData
1185
1184
  );
1186
1185
  default:
1187
1186
  return exhaustiveCheck(tsChain.chainType);
@@ -1193,45 +1192,45 @@ export const read = {
1193
1192
 
1194
1193
  // filter for all tokens supported in loan type
1195
1194
  const tokensData = Object.values(getHubTokensData(network)).filter(
1196
- (tokenData) => tokenData.supportedLoanTypes.has(loanTypeId),
1195
+ (tokenData) => tokenData.supportedLoanTypes.has(loanTypeId)
1197
1196
  );
1198
1197
 
1199
1198
  return await TsHubLoan.getLoanTypeInfo(
1200
1199
  TSCore.getHubProvider(),
1201
1200
  network,
1202
1201
  loanTypeId,
1203
- tokensData,
1202
+ tokensData
1204
1203
  );
1205
1204
  },
1206
1205
 
1207
1206
  async userLoansIds(
1208
1207
  accountId: AccountId,
1209
- loanTypeIdsFilter?: Array<LoanTypeId>,
1208
+ loanTypeIdsFilter?: Array<LoanTypeId>
1210
1209
  ): Promise<Map<LoanTypeId, Array<LoanId>>> {
1211
1210
  const network = TSCore.getSelectedNetwork();
1212
1211
  return await TsHubLoan.getUserLoanIds(
1213
1212
  TSCore.getHubProvider(),
1214
1213
  network,
1215
1214
  accountId,
1216
- loanTypeIdsFilter,
1215
+ loanTypeIdsFilter
1217
1216
  );
1218
1217
  },
1219
1218
 
1220
1219
  async userLoans(
1221
1220
  loanIds: Array<LoanId>,
1222
- throwErrorOnInactiveLoan = true,
1221
+ throwErrorOnInactiveLoan = true
1223
1222
  ): Promise<Map<LoanId, LoanControllerUserLoan>> {
1224
1223
  const network = TSCore.getSelectedNetwork();
1225
1224
  return await TsHubLoan.getUserLoans(
1226
1225
  TSCore.getHubProvider(),
1227
1226
  network,
1228
1227
  loanIds,
1229
- throwErrorOnInactiveLoan,
1228
+ throwErrorOnInactiveLoan
1230
1229
  );
1231
1230
  },
1232
1231
  async getLoanIds(
1233
1232
  accountId: AccountId,
1234
- graphqlEndpoint: string,
1233
+ graphqlEndpoint: string
1235
1234
  ): Promise<GetUserAccountIdToLoanIdResponse> {
1236
1235
  return getUserLoanIds(accountId, graphqlEndpoint);
1237
1236
  },
@@ -1243,7 +1242,7 @@ export const util = {
1243
1242
  poolsInfo: Partial<Record<TSTokenId, PoolInfo>>,
1244
1243
  loanTypesInfo: Partial<Record<LoanTypeId, LoanTypeInfo>>,
1245
1244
  oraclePrices: OraclePrices,
1246
- additionalInterests?: AssetsAdditionalInterest,
1245
+ additionalInterests?: AssetsAdditionalInterest
1247
1246
  ): Record<LoanId, UserLoanInfo> {
1248
1247
  // get info of each user loan
1249
1248
  return TsHubLoan.getUserLoansInfo(
@@ -1251,13 +1250,13 @@ export const util = {
1251
1250
  poolsInfo,
1252
1251
  loanTypesInfo,
1253
1252
  oraclePrices,
1254
- additionalInterests,
1253
+ additionalInterests
1255
1254
  );
1256
1255
  },
1257
1256
 
1258
1257
  emptyLoanForSimulate(
1259
1258
  accountId: AccountId,
1260
- loanTypeId: LoanTypeId,
1259
+ loanTypeId: LoanTypeId
1261
1260
  ): LoanControllerUserLoan {
1262
1261
  return {
1263
1262
  accountId,
@@ -1271,7 +1270,7 @@ export const util = {
1271
1270
 
1272
1271
  simulateLoanChanges(
1273
1272
  loan: LoanControllerUserLoan,
1274
- changes: Array<LoanChange>,
1273
+ changes: Array<LoanChange>
1275
1274
  ): LoanControllerUserLoan {
1276
1275
  return TsHubLoan.simulateLoanChanges(loan, changes);
1277
1276
  },