@gobob/bob-sdk 3.3.2 → 3.3.4-alpha

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.
@@ -87,43 +87,31 @@ class GatewayApiClient {
87
87
  return Object.values(types_1.Chain);
88
88
  }
89
89
  async getQuote(params) {
90
+ if (params.type === 'onramp') {
91
+ return this.getOnrampQuote(params.params);
92
+ }
93
+ else {
94
+ return this.fetchOfframpQuote(params.params.tokenAddress, params.params.amount);
95
+ }
96
+ }
97
+ async getOnrampQuote(params) {
90
98
  const isMainnet = params.toChain === types_1.ChainId.BOB ||
91
99
  (typeof params.toChain === 'string' && params.toChain.toLowerCase() === types_1.Chain.BOB);
92
100
  const isTestnet = params.toChain === types_1.ChainId.BOB_SEPOLIA ||
93
101
  (typeof params.toChain === 'string' && params.toChain.toLowerCase() === types_1.Chain.BOB_SEPOLIA);
94
- const isInvalidNetwork = !isMainnet && !isTestnet;
95
- const isMismatchMainnet = isMainnet && this.chain !== types_1.Chain.BOB;
96
- const isMismatchTestnet = isTestnet && this.chain !== types_1.Chain.BOB_SEPOLIA;
97
- if (isInvalidNetwork || isMismatchMainnet || isMismatchTestnet) {
102
+ if ((!isMainnet && !isTestnet) ||
103
+ (isMainnet && this.chain !== types_1.Chain.BOB) ||
104
+ (isTestnet && this.chain !== types_1.Chain.BOB_SEPOLIA)) {
98
105
  throw new Error('Invalid output chain');
99
106
  }
100
- let outputTokenAddress = '';
101
- let strategyAddress;
102
107
  const toToken = params.toToken.toLowerCase();
103
- if (params.strategyAddress?.startsWith('0x')) {
104
- strategyAddress = params.strategyAddress;
105
- }
106
- const chainId = this.chainId;
107
- if (toToken.startsWith('0x')) {
108
- outputTokenAddress = toToken;
109
- }
110
- else if (isMainnet && tokens_1.SYMBOL_LOOKUP[chainId][toToken]) {
111
- outputTokenAddress = tokens_1.SYMBOL_LOOKUP[chainId][toToken].address;
112
- }
113
- else if (isTestnet && tokens_1.SYMBOL_LOOKUP[chainId][toToken]) {
114
- outputTokenAddress = tokens_1.SYMBOL_LOOKUP[chainId][toToken].address;
115
- }
116
- else {
117
- throw new Error('Unknown output token');
118
- }
108
+ const outputTokenAddress = (0, tokens_1.getTokenAddress)(this.chainId, toToken);
109
+ const strategyAddress = params.strategyAddress?.startsWith('0x') ? params.strategyAddress : undefined;
119
110
  const url = new URL(`${this.baseUrl}/quote/${outputTokenAddress}`);
120
- if (strategyAddress) {
121
- url.searchParams.append('strategy', `${strategyAddress}`);
122
- }
123
- const atomicAmount = params.amount;
124
- if (atomicAmount) {
125
- url.searchParams.append('satoshis', `${atomicAmount}`);
126
- }
111
+ if (strategyAddress)
112
+ url.searchParams.append('strategy', strategyAddress);
113
+ if (params.amount)
114
+ url.searchParams.append('satoshis', `${params.amount}`);
127
115
  const response = await fetch(url, {
128
116
  headers: {
129
117
  'Content-Type': 'application/json',
@@ -134,13 +122,13 @@ class GatewayApiClient {
134
122
  return {
135
123
  ...quote,
136
124
  fee: quote.fee + (params.gasRefill || 0),
137
- baseToken: tokens_1.ADDRESS_LOOKUP[chainId][quote.baseTokenAddress],
138
- outputToken: quote.strategyAddress ? tokens_1.ADDRESS_LOOKUP[chainId][outputTokenAddress] : undefined,
125
+ baseToken: tokens_1.ADDRESS_LOOKUP[this.chainId][quote.baseTokenAddress],
126
+ outputToken: quote.strategyAddress ? tokens_1.ADDRESS_LOOKUP[this.chainId][outputTokenAddress] : undefined,
139
127
  };
140
128
  }
141
129
  async fetchOfframpRegistryAddress() {
142
130
  const response = await this.fetchGet(`${this.baseUrl}/offramp-registry-address`);
143
- return JSON.parse(await response.text());
131
+ return response.text();
144
132
  }
145
133
  async fetchOfframpLiquidity(token) {
146
134
  let outputTokenAddress = '';
@@ -188,39 +176,28 @@ class GatewayApiClient {
188
176
  if (!response.ok) {
189
177
  const errorData = await response.json();
190
178
  const errorMessage = errorData?.message || 'Failed to get offramp quote';
191
- throw new Error(`Offramp API Error: ${errorMessage}`);
179
+ throw new Error(`Offramp API Error: ${errorMessage} ${queryParams}`);
192
180
  }
193
181
  const rawQuote = await response.json();
194
182
  const currentUnixTimeInSec = Math.floor(Date.now() / 1000);
195
183
  const deadline = currentUnixTimeInSec + exports.ORDER_DEADLINE_IN_SECONDS;
196
184
  return {
197
- amountLockInSat: BigInt(rawQuote.amountLockInSat.toString()),
198
- feesInSat: BigInt(rawQuote.feesInSat.toString()),
199
- feeRate: BigInt(rawQuote.feeRate.toString()),
200
- deadline: BigInt(deadline.toString()),
185
+ amountLockInSat: rawQuote.amountLockInSat,
201
186
  registryAddress: rawQuote.registryAddress,
187
+ deadline: deadline,
202
188
  token: token,
189
+ feeBreakdown: {
190
+ overallFeeSats: rawQuote.feeBreakdown.overallFeeSats,
191
+ inclusionFeeSats: rawQuote.feeBreakdown.inclusionFeeSats,
192
+ protocolFeeSats: rawQuote.feeBreakdown.protocolFeeSats,
193
+ affiliateFeeSats: rawQuote.feeBreakdown.affiliateFeeSats,
194
+ fastestFeeRate: rawQuote.feeBreakdown.fastestFeeRate,
195
+ },
203
196
  };
204
197
  }
205
198
  async createOfframpOrder(params) {
206
- const isMainnet = this.chainId === types_1.ChainId.BOB || (typeof this.chainId === 'string' && this.chainId === types_1.Chain.BOB);
207
- const isTestnet = this.chainId === types_1.ChainId.BOB_SEPOLIA ||
208
- (typeof this.chainId === 'string' && this.chainId === types_1.Chain.BOB_SEPOLIA);
209
- let outputTokenAddress = '';
210
- const toToken = params.toToken.toLowerCase();
211
- if (toToken.startsWith('0x')) {
212
- outputTokenAddress = toToken;
213
- }
214
- else if (isMainnet && tokens_1.SYMBOL_LOOKUP[this.chainId][toToken]) {
215
- outputTokenAddress = tokens_1.SYMBOL_LOOKUP[this.chainId][toToken].address;
216
- }
217
- else if (isTestnet && tokens_1.SYMBOL_LOOKUP[this.chainId][toToken]) {
218
- outputTokenAddress = tokens_1.SYMBOL_LOOKUP[this.chainId][toToken].address;
219
- }
220
- else {
221
- throw new Error('Unknown output token');
222
- }
223
- const offrampQuote = await this.fetchOfframpQuote(outputTokenAddress, BigInt(params.amount));
199
+ const tokenAddress = (0, tokens_1.getTokenAddress)(this.chainId, params.fromToken.toLowerCase());
200
+ const offrampQuote = await this.fetchOfframpQuote(tokenAddress, Number(params.amount));
224
201
  let bitcoinNetwork = bitcoin.networks.regtest;
225
202
  if (this.chain == types_1.Chain.BOB) {
226
203
  bitcoinNetwork = bitcoin.networks.bitcoin;
@@ -228,19 +205,20 @@ class GatewayApiClient {
228
205
  else if (this.chain == types_1.Chain.BOB_SEPOLIA) {
229
206
  bitcoinNetwork = bitcoin.networks.testnet;
230
207
  }
231
- if ((0, wallet_1.getAddressInfo)(params.bitcoinUserAddress, this.isSignet).type === bitcoin_address_validation_1.AddressType.p2tr) {
208
+ if ((0, wallet_1.getAddressInfo)(params.toUserAddress, this.isSignet).type === bitcoin_address_validation_1.AddressType.p2tr) {
232
209
  throw new Error('Only following bitcoin address types are supported P2PKH, P2WPKH, P2SH or P2WSH.');
233
210
  }
234
- const receiverAddress = toHexScriptPubKey(params.bitcoinUserAddress, bitcoinNetwork);
211
+ const receiverAddress = toHexScriptPubKey(params.toUserAddress, bitcoinNetwork);
235
212
  return {
236
213
  quote: offrampQuote,
237
- offrampABI: abi_1.offrampCaller['createOrder'],
214
+ offrampABI: abi_1.offrampCaller,
215
+ feeBreakdown: offrampQuote.feeBreakdown,
238
216
  offrampFunctionName: 'createOrder',
239
217
  offrampArgs: [
240
218
  {
241
- satAmountToLock: offrampQuote.amountLockInSat,
242
- satFeesMax: offrampQuote.feesInSat,
243
- orderCreationDeadline: offrampQuote.deadline,
219
+ satAmountToLock: BigInt(offrampQuote.amountLockInSat),
220
+ satFeesMax: BigInt(offrampQuote.feeBreakdown.overallFeeSats),
221
+ orderCreationDeadline: BigInt(offrampQuote.deadline),
244
222
  outputScript: receiverAddress,
245
223
  token: offrampQuote.token,
246
224
  orderOwner: params.fromUserAddress,
@@ -262,10 +240,10 @@ class GatewayApiClient {
262
240
  }
263
241
  const offrampRegistryAddress = await this.fetchOfframpRegistryAddress();
264
242
  return {
265
- offrampABI: abi_1.offrampCaller['bumpFeeOfExistingOrder'],
243
+ offrampABI: abi_1.offrampCaller,
266
244
  offrampRegistryAddress: offrampRegistryAddress,
267
245
  offrampFunctionName: 'bumpFeeOfExistingOrder',
268
- offrampArgs: [orderId, newFeeSat],
246
+ offrampArgs: [orderId, BigInt(newFeeSat)],
269
247
  };
270
248
  }
271
249
  async unlockOfframpOrder(orderId, receiver) {
@@ -278,7 +256,7 @@ class GatewayApiClient {
278
256
  throw new Error(`Offramp order is still within the 7-day claim delay and cannot be unlocked yet.`);
279
257
  }
280
258
  return {
281
- offrampABI: abi_1.offrampCaller['unlockFunds'],
259
+ offrampABI: abi_1.offrampCaller,
282
260
  offrampRegistryAddress: offrampRegistryAddress,
283
261
  offrampFunctionName: 'unlockFunds',
284
262
  offrampArgs: [orderId, receiver],
@@ -290,7 +268,7 @@ class GatewayApiClient {
290
268
  const offrampRegistryAddress = await this.fetchOfframpRegistryAddress();
291
269
  return Promise.all(rawOrders.map(async (order) => {
292
270
  const status = order.status;
293
- const canOrderBeUnlocked = await this.canOrderBeUnlocked(status, BigInt(order.orderTimestamp), offrampRegistryAddress);
271
+ const canOrderBeUnlocked = await this.canOrderBeUnlocked(status, Number(order.orderTimestamp), offrampRegistryAddress);
294
272
  return {
295
273
  ...order,
296
274
  status,
@@ -298,7 +276,7 @@ class GatewayApiClient {
298
276
  orderId: BigInt(order.orderId.toString()),
299
277
  satAmountLocked: BigInt(order.satAmountLocked.toString()),
300
278
  satFeesMax: BigInt(order.satFeesMax.toString()),
301
- orderTimestamp: BigInt(order.orderTimestamp.toString()),
279
+ orderTimestamp: Number(order.orderTimestamp),
302
280
  shouldFeesBeBumped: order.shouldFeesBeBumped,
303
281
  canOrderBeUnlocked,
304
282
  };
@@ -307,18 +285,17 @@ class GatewayApiClient {
307
285
  async getBumpFeeRequirement(token, satAmountLocked, satFeesMax) {
308
286
  const decimals = (0, tokens_1.getTokenDecimals)(token);
309
287
  if (decimals === undefined) {
310
- return [false, 0n, 'Tokens with less than 8 decimals are not supported'];
288
+ throw new Error('Tokens with less than 8 decimals are not supported');
311
289
  }
312
290
  const amountInToken = satAmountLocked * BigInt(10 ** (decimals - 8));
313
- let offrampQuote;
314
291
  try {
315
- offrampQuote = await this.fetchOfframpQuote(token.toString(), amountInToken);
292
+ const offrampQuote = await this.fetchOfframpQuote(token.toString(), Number(amountInToken));
293
+ const shouldBump = satFeesMax < offrampQuote.feeBreakdown.overallFeeSats;
294
+ return [shouldBump, offrampQuote.feeBreakdown.overallFeeSats];
316
295
  }
317
296
  catch (err) {
318
- return [false, 0n, `Error fetching offramp quote: ${err.message || err}`];
297
+ throw new Error(`Error fetching offramp quote: ${err.message || err}`);
319
298
  }
320
- const shouldBump = satFeesMax < offrampQuote.feesInSat;
321
- return [shouldBump, offrampQuote.feesInSat];
322
299
  }
323
300
  async canOrderBeUnlocked(status, orderTimestamp, offrampRegistryAddress) {
324
301
  if (status === 'Active') {
@@ -327,35 +304,35 @@ class GatewayApiClient {
327
304
  if (status !== 'Accepted') {
328
305
  return false;
329
306
  }
330
- const nowInSec = BigInt(Math.floor(Date.now() / 1000));
307
+ const nowInSec = Math.floor(Date.now() / 1000);
331
308
  const publicClient = viemClient(this.chain);
332
309
  const claimDelay = await publicClient.readContract({
333
310
  address: offrampRegistryAddress,
334
311
  abi: abi_1.claimDelayAbi,
335
312
  functionName: 'CLAIM_DELAY',
336
313
  });
337
- return orderTimestamp + claimDelay <= nowInSec;
314
+ return orderTimestamp + Number(claimDelay) <= nowInSec;
338
315
  }
339
316
  async fetchOfframpOrder(orderId) {
340
317
  const offrampRegistryAddress = await this.fetchOfframpRegistryAddress();
341
318
  const publicClient = viemClient(this.chain);
342
319
  const order = await publicClient.readContract({
343
320
  address: offrampRegistryAddress,
344
- abi: [abi_1.offrampCaller['getOfframpOrder']],
321
+ abi: abi_1.offrampCaller,
345
322
  functionName: 'getOfframpOrder',
346
323
  args: [orderId],
347
324
  });
348
325
  return {
349
326
  orderId,
350
327
  token: order.token,
351
- satAmountLocked: BigInt(order.satAmountLocked),
352
- satFeesMax: BigInt(order.satFeesMax),
328
+ satAmountLocked: order.satAmountLocked,
329
+ satFeesMax: order.satFeesMax,
353
330
  sender: order.sender,
354
331
  receiver: order.receiver !== ethers_1.ethers.ZeroAddress ? order.receiver : null,
355
332
  owner: order.owner !== ethers_1.ethers.ZeroAddress ? order.owner : null,
356
333
  outputScript: order.outputScript,
357
334
  status: parseOrderStatus(Number(order.status)),
358
- orderTimestamp: BigInt(order.timestamp),
335
+ orderTimestamp: Number(order.timestamp),
359
336
  };
360
337
  }
361
338
  async startOrder(gatewayQuote, params) {
@@ -388,19 +365,94 @@ class GatewayApiClient {
388
365
  if (data.opReturnHash != calculateOpReturnHash(request)) {
389
366
  throw new Error('Invalid OP_RETURN hash');
390
367
  }
391
- let psbtBase64;
368
+ let psbtBase64 = '';
392
369
  if (params.fromUserAddress &&
393
370
  typeof params.fromChain === 'string' &&
394
371
  params.fromChain.toLowerCase() === types_1.Chain.BITCOIN) {
395
372
  psbtBase64 = await (0, wallet_1.createBitcoinPsbt)(params.fromUserAddress, gatewayQuote.bitcoinAddress, gatewayQuote.satoshis, params.fromUserPublicKey, data.opReturnHash, params.feeRate, gatewayQuote.txProofDifficultyFactor, this.isSignet);
373
+ return {
374
+ uuid: data.uuid,
375
+ opReturnHash: data.opReturnHash,
376
+ bitcoinAddress: gatewayQuote.bitcoinAddress,
377
+ satoshis: gatewayQuote.satoshis,
378
+ psbtBase64,
379
+ };
380
+ }
381
+ throw new Error('Failed to create bitcoin psbt due to an unexpected error.');
382
+ }
383
+ async executeQuote(order, btcSigner, walletClient, publicClient) {
384
+ if (order.type === 'onramp') {
385
+ const { uuid, psbtBase64 } = await this.startOrder(order.quote, order.params);
386
+ const bitcoinTxHex = await btcSigner.signAllInputs(psbtBase64);
387
+ if (!bitcoinTxHex)
388
+ throw new Error('no psbt');
389
+ const txId = await this.finalizeOrder(uuid, bitcoinTxHex);
390
+ return txId;
391
+ }
392
+ else if (order.type === 'offramp') {
393
+ const tokenAddress = (0, tokens_1.getTokenAddress)(this.chainId, order.params.fromToken.toLowerCase());
394
+ const [offrampOrder, offrampRegistryAddress] = await Promise.all([
395
+ this.createOfframpOrder(order.params),
396
+ this.fetchOfframpRegistryAddress(),
397
+ ]);
398
+ const allowance = await publicClient.readContract({
399
+ address: tokenAddress,
400
+ abi: viem_1.erc20Abi,
401
+ functionName: 'allowance',
402
+ args: [order.params.fromUserAddress, offrampRegistryAddress],
403
+ });
404
+ if (BigInt(order.params.amount) > allowance) {
405
+ const { request } = await publicClient.simulateContract({
406
+ account: walletClient.account,
407
+ address: tokenAddress,
408
+ abi: viem_1.erc20Abi,
409
+ functionName: 'approve',
410
+ args: [offrampRegistryAddress, ethers_1.MaxUint256],
411
+ });
412
+ const approveTxHash = await walletClient.writeContract(request);
413
+ await publicClient.waitForTransactionReceipt({ hash: approveTxHash });
414
+ }
415
+ const { request } = await publicClient.simulateContract({
416
+ account: walletClient.account,
417
+ address: offrampRegistryAddress,
418
+ abi: offrampOrder.offrampABI,
419
+ functionName: offrampOrder.offrampFunctionName,
420
+ args: offrampOrder.offrampArgs,
421
+ });
422
+ const transactionHash = await walletClient.writeContract(request);
423
+ await publicClient?.waitForTransactionReceipt({ hash: transactionHash });
424
+ return transactionHash;
425
+ }
426
+ else {
427
+ const result = await this.buildStake(order.params);
428
+ const allowance = await publicClient.readContract({
429
+ address: order.params.token,
430
+ abi: viem_1.erc20Abi,
431
+ functionName: 'allowance',
432
+ args: [walletClient.account.address, result.strategyAddress],
433
+ });
434
+ if (BigInt(order.params.amount) > allowance) {
435
+ const { request } = await publicClient.simulateContract({
436
+ account: walletClient.account,
437
+ address: order.params.token,
438
+ abi: viem_1.erc20Abi,
439
+ functionName: 'approve',
440
+ args: [result.strategyAddress, ethers_1.MaxUint256],
441
+ });
442
+ const approveTxHash = await walletClient.writeContract(request);
443
+ await publicClient.waitForTransactionReceipt({ hash: approveTxHash });
444
+ }
445
+ const { request } = await publicClient.simulateContract({
446
+ address: result.strategyAddress,
447
+ abi: result.strategyABI,
448
+ functionName: result.strategyFunctionName,
449
+ args: result.strategyArgs,
450
+ account: result.address,
451
+ });
452
+ const transactionHash = await walletClient.writeContract(request);
453
+ await publicClient?.waitForTransactionReceipt({ hash: transactionHash });
454
+ return transactionHash;
396
455
  }
397
- return {
398
- uuid: data.uuid,
399
- opReturnHash: data.opReturnHash,
400
- bitcoinAddress: gatewayQuote.bitcoinAddress,
401
- satoshis: gatewayQuote.satoshis,
402
- psbtBase64,
403
- };
404
456
  }
405
457
  async finalizeOrder(uuid, bitcoinTxOrId) {
406
458
  bitcoinTxOrId = stripHexPrefix(bitcoinTxOrId);
@@ -423,9 +475,9 @@ class GatewayApiClient {
423
475
  if (!response.ok) {
424
476
  throw new Error('Failed to update order');
425
477
  }
426
- return await response.json();
478
+ return response.json();
427
479
  }
428
- async getOrders(userAddress) {
480
+ async getOnrampOrders(userAddress) {
429
481
  const chainId = this.chainId;
430
482
  const response = await this.fetchGet(`${this.baseUrl}/orders/${userAddress}`);
431
483
  const orders = await response.json();
@@ -590,7 +642,7 @@ class GatewayApiClient {
590
642
  const strategies = await this.getStrategies();
591
643
  const strategy = strategies.find((s) => (0, viem_1.isAddressEqual)(s.address, stakeParams.strategyAddress));
592
644
  if (!strategy) {
593
- throw new Error(`Strategy with address ${stakeParams.strategyAddress} not found.`);
645
+ throw new Error(`Strategy with address ${stakeParams.strategyAddress} not found. ${JSON.stringify(strategies)}`);
594
646
  }
595
647
  if (!(0, viem_1.isAddressEqual)(strategy.inputToken.address, stakeParams.token)) {
596
648
  throw new Error(`Provided token ${stakeParams.token} does not match strategy's input token ${strategy.inputToken.address}.`);
@@ -608,12 +660,21 @@ class GatewayApiClient {
608
660
  stakeParams.receiver,
609
661
  { amountOutMin: stakeParams.amountOutMin },
610
662
  ],
611
- erc20ApproveArgs: [stakeParams.strategyAddress, stakeParams.amount],
612
- account: stakeParams.sender,
663
+ address: stakeParams.sender,
613
664
  };
614
665
  }
615
- async fetchGet(url) {
616
- return await fetch(url, {
666
+ async getOrders(userAddress) {
667
+ const [onrampOrders, offrampOrders] = await Promise.all([
668
+ this.getOnrampOrders(userAddress),
669
+ this.getOfframpOrders(userAddress),
670
+ ]);
671
+ return [
672
+ ...onrampOrders.map((order) => ({ type: 'onramp', order })),
673
+ ...offrampOrders.map((order) => ({ type: 'offramp', order })),
674
+ ];
675
+ }
676
+ fetchGet(url) {
677
+ return fetch(url, {
617
678
  method: 'GET',
618
679
  headers: {
619
680
  'Content-Type': 'application/json',
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/gateway/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/gateway/client.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  export { GatewayApiClient as GatewaySDK } from './client';
2
- export { GatewayQuoteParams, GatewayQuote, GatewayOrder, GatewayStrategyContract, OrderStatus } from './types';
2
+ export { GatewayQuoteParams, GatewayQuote, OnrampOrder, GatewayStrategyContract, OrderStatus } from './types';
@@ -152,7 +152,7 @@ class StrategyClient {
152
152
  return tokens.map((token) => {
153
153
  const tokenAddress = token.toLowerCase();
154
154
  const strategyType = tokens_1.tokenToStrategyTypeMap.get(tokenAddress) ?? 'bob';
155
- const defillamaPoolId = tokenToDefiLlamaPoolIdMap.get(tokenAddress);
155
+ const defillamaPoolId = tokenToDefiLlamaPoolIdMap.get(tokenAddress) || '';
156
156
  const defillamaPool = defillamaPoolMap.get(defillamaPoolId);
157
157
  return {
158
158
  apyBase: defillamaPool?.apyBase ?? 0,
@@ -196,7 +196,8 @@ class StrategyClient {
196
196
  }
197
197
  async getTokenAssetState(token) {
198
198
  const outputTokenAddress = token.address;
199
- const [{ result: totalSupply }] = await this.viemClient.multicall({
199
+ const [totalSupply] = await this.viemClient.multicall({
200
+ allowFailure: false,
200
201
  contracts: [
201
202
  {
202
203
  address: outputTokenAddress,
@@ -213,7 +214,8 @@ class StrategyClient {
213
214
  }
214
215
  async getCompoundV2StrategyAssetState(token) {
215
216
  const outputTokenAddress = token.address;
216
- const [{ result: totalSupply }, { result: exchangeRate }, { result: underlyingAddress }] = await this.viemClient.multicall({
217
+ const [totalSupply, exchangeRate, underlyingAddress] = await this.viemClient.multicall({
218
+ allowFailure: false,
217
219
  contracts: [
218
220
  {
219
221
  address: outputTokenAddress,
@@ -236,13 +238,14 @@ class StrategyClient {
236
238
  ],
237
239
  });
238
240
  return {
239
- address: underlyingAddress,
240
- totalUnderlying: (exchangeRate * totalSupply) / 10n ** 18n,
241
+ address: underlyingAddress ?? viem_1.zeroAddress,
242
+ totalUnderlying: exchangeRate && totalSupply ? (exchangeRate * totalSupply) / 10n ** 18n : 0n,
241
243
  };
242
244
  }
243
245
  async getAAVEV2StrategyAssetState(token) {
244
246
  const outputTokenAddress = token.address;
245
- const [{ result: totalSupply }, { result: underlyingAddress }] = await this.viemClient.multicall({
247
+ const [totalSupply, underlyingAddress] = await this.viemClient.multicall({
248
+ allowFailure: false,
246
249
  contracts: [
247
250
  {
248
251
  address: outputTokenAddress,
@@ -1 +1 @@
1
- {"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../src/gateway/strategy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../src/gateway/strategy.ts"],"names":[],"mappings":"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"}
@@ -12,3 +12,4 @@ export declare const ADDRESS_LOOKUP: {
12
12
  };
13
13
  export declare const tokenToStrategyTypeMap: Map<string, "bob" | "segment" | "ionic" | "veda" | "avalon">;
14
14
  export declare function getTokenDecimals(tokenAddress: Address): number | undefined;
15
+ export declare function getTokenAddress(chain: string | number, token: string): Address;