@gobob/bob-sdk 3.3.4-alpha3 → 3.3.4-alpha4

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.
@@ -36,36 +36,40 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.GatewayApiClient = exports.ORDER_DEADLINE_IN_SECONDS = exports.SIGNET_GATEWAY_BASE_URL = exports.MAINNET_GATEWAY_BASE_URL = void 0;
40
- const bitcoin_address_validation_1 = require("bitcoin-address-validation");
41
- const bitcoin = __importStar(require("bitcoinjs-lib"));
39
+ exports.GatewayApiClient = exports.ORDER_DEADLINE_IN_SECONDS = exports.SIGNET_GATEWAY_BASE_URL = exports.TESTNET_GATEWAY_BASE_URL = exports.MAINNET_GATEWAY_BASE_URL = void 0;
40
+ exports.toHexScriptPubKey = toHexScriptPubKey;
41
+ exports.viemClient = viemClient;
42
42
  const ethers_1 = require("ethers");
43
- const viem_1 = require("viem");
44
- const chains_1 = require("viem/chains");
45
- const esplora_1 = require("../esplora");
46
- const utils_1 = require("../utils");
43
+ const types_1 = require("./types");
47
44
  const wallet_1 = require("../wallet");
45
+ const tokens_1 = require("./tokens");
46
+ const bitcoin_address_validation_1 = require("bitcoin-address-validation");
47
+ const esplora_1 = require("../esplora");
48
48
  const abi_1 = require("./abi");
49
+ const viem_1 = require("viem");
50
+ const bitcoin = __importStar(require("bitcoinjs-lib"));
51
+ const chains_1 = require("viem/chains");
49
52
  const strategy_1 = __importDefault(require("./strategy"));
50
- const tokens_1 = require("./tokens");
51
- const types_1 = require("./types");
52
- const utils_2 = require("./utils");
53
+ const utils_1 = require("../utils");
53
54
  exports.MAINNET_GATEWAY_BASE_URL = 'https://gateway-api-mainnet.gobob.xyz';
55
+ exports.TESTNET_GATEWAY_BASE_URL = 'https://gateway-api-testnet.gobob.xyz';
54
56
  exports.SIGNET_GATEWAY_BASE_URL = 'https://gateway-api-signet.gobob.xyz';
55
57
  exports.ORDER_DEADLINE_IN_SECONDS = 30 * 60;
56
58
  class GatewayApiClient {
57
- chain;
58
- baseUrl;
59
- strategy;
60
- isSignet = false;
61
59
  constructor(chainName, options) {
60
+ this.isSignet = false;
62
61
  switch (chainName) {
63
62
  case 'mainnet':
64
- case 'bob':
63
+ case types_1.Chain.BOB:
65
64
  this.chain = types_1.Chain.BOB;
66
65
  this.baseUrl = exports.MAINNET_GATEWAY_BASE_URL;
67
66
  this.strategy = new strategy_1.default(chains_1.bob, options?.rpcUrl);
68
67
  break;
68
+ case 'testnet':
69
+ this.chain = types_1.Chain.BOB_SEPOLIA;
70
+ this.baseUrl = exports.TESTNET_GATEWAY_BASE_URL;
71
+ this.strategy = new strategy_1.default(chains_1.bobSepolia, options?.rpcUrl);
72
+ break;
69
73
  case 'signet':
70
74
  this.chain = types_1.Chain.BOB_SEPOLIA;
71
75
  this.baseUrl = exports.SIGNET_GATEWAY_BASE_URL;
@@ -83,22 +87,12 @@ class GatewayApiClient {
83
87
  return Object.values(types_1.Chain);
84
88
  }
85
89
  async getQuote(params) {
86
- if (params.fromChain?.toString().toLowerCase() === 'bitcoin') {
87
- const onrampQuote = await this.getOnrampQuote(params);
88
- return { params, onrampQuote };
90
+ if (params.type === 'onramp') {
91
+ return this.getOnrampQuote(params.params);
89
92
  }
90
- else if (params.toChain.toString().toLowerCase() === 'bitcoin') {
91
- if (!params.fromToken) {
92
- throw new Error('`fromToken` must be specified for offramp');
93
- }
94
- if (!params.amount) {
95
- throw new Error('`amount` must be specified for offramp');
96
- }
97
- const tokenAddress = (0, tokens_1.getTokenAddress)(this.chainId, params.fromToken.toLowerCase());
98
- const offrampQuote = await this.fetchOfframpQuote(tokenAddress, BigInt(params.amount || 0));
99
- return { params, offrampQuote };
93
+ else {
94
+ return this.fetchOfframpQuote(params.params.tokenAddress, params.params.amount);
100
95
  }
101
- throw new Error('Invalid quote arguments');
102
96
  }
103
97
  async getOnrampQuote(params) {
104
98
  const isMainnet = params.toChain === types_1.ChainId.BOB ||
@@ -137,8 +131,18 @@ class GatewayApiClient {
137
131
  return response.text();
138
132
  }
139
133
  async fetchOfframpLiquidity(token) {
140
- const tokenAddress = (0, tokens_1.getTokenAddress)(this.chainId, token.toLowerCase());
141
- const response = await fetch(`${this.baseUrl}/offramp-liquidity/${tokenAddress}`, {
134
+ let outputTokenAddress = '';
135
+ const toToken = token.toLowerCase();
136
+ if ((0, viem_1.isAddress)(toToken)) {
137
+ outputTokenAddress = toToken;
138
+ }
139
+ else if (tokens_1.SYMBOL_LOOKUP[this.chainId][toToken]) {
140
+ outputTokenAddress = tokens_1.SYMBOL_LOOKUP[this.chainId][toToken].address;
141
+ }
142
+ else {
143
+ throw new Error('Unknown output token');
144
+ }
145
+ const response = await fetch(`${this.baseUrl}/offramp-liquidity/${outputTokenAddress}`, {
142
146
  method: 'GET',
143
147
  headers: {
144
148
  'Content-Type': 'application/json',
@@ -191,7 +195,9 @@ class GatewayApiClient {
191
195
  },
192
196
  };
193
197
  }
194
- async createOfframpOrder(quote, params) {
198
+ async createOfframpOrder(params) {
199
+ const tokenAddress = (0, tokens_1.getTokenAddress)(this.chainId, params.fromToken.toLowerCase());
200
+ const offrampQuote = await this.fetchOfframpQuote(tokenAddress, Number(params.amount));
195
201
  let bitcoinNetwork = bitcoin.networks.regtest;
196
202
  if (this.chain == types_1.Chain.BOB) {
197
203
  bitcoinNetwork = bitcoin.networks.bitcoin;
@@ -199,22 +205,22 @@ class GatewayApiClient {
199
205
  else if (this.chain == types_1.Chain.BOB_SEPOLIA) {
200
206
  bitcoinNetwork = bitcoin.networks.testnet;
201
207
  }
202
- if (!params.toUserAddress || (0, wallet_1.getAddressInfo)(params.toUserAddress, 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) {
203
209
  throw new Error('Only following bitcoin address types are supported P2PKH, P2WPKH, P2SH or P2WSH.');
204
210
  }
205
- const receiverAddress = (0, utils_2.toHexScriptPubKey)(params.toUserAddress, bitcoinNetwork);
211
+ const receiverAddress = toHexScriptPubKey(params.toUserAddress, bitcoinNetwork);
206
212
  return {
207
- quote,
213
+ quote: offrampQuote,
208
214
  offrampABI: abi_1.offrampCaller,
209
- feeBreakdown: quote.feeBreakdown,
215
+ feeBreakdown: offrampQuote.feeBreakdown,
210
216
  offrampFunctionName: 'createOrder',
211
217
  offrampArgs: [
212
218
  {
213
- satAmountToLock: BigInt(quote.amountLockInSat),
214
- satFeesMax: BigInt(quote.feeBreakdown.overallFeeSats),
215
- orderCreationDeadline: BigInt(quote.deadline),
219
+ satAmountToLock: BigInt(offrampQuote.amountLockInSat),
220
+ satFeesMax: BigInt(offrampQuote.feeBreakdown.overallFeeSats),
221
+ orderCreationDeadline: BigInt(offrampQuote.deadline),
216
222
  outputScript: receiverAddress,
217
- token: quote.token,
223
+ token: offrampQuote.token,
218
224
  orderOwner: params.fromUserAddress,
219
225
  },
220
226
  ],
@@ -283,9 +289,9 @@ class GatewayApiClient {
283
289
  }
284
290
  const amountInToken = satAmountLocked * BigInt(10 ** (decimals - 8));
285
291
  try {
286
- const offrampQuote = await this.fetchOfframpQuote(token, amountInToken);
292
+ const offrampQuote = await this.fetchOfframpQuote(token.toString(), Number(amountInToken));
287
293
  const shouldBump = satFeesMax < offrampQuote.feeBreakdown.overallFeeSats;
288
- return [shouldBump, BigInt(offrampQuote.feeBreakdown.overallFeeSats)];
294
+ return [shouldBump, offrampQuote.feeBreakdown.overallFeeSats];
289
295
  }
290
296
  catch (err) {
291
297
  throw new Error(`Error fetching offramp quote: ${err.message || err}`);
@@ -299,7 +305,7 @@ class GatewayApiClient {
299
305
  return false;
300
306
  }
301
307
  const nowInSec = Math.floor(Date.now() / 1000);
302
- const publicClient = (0, utils_2.viemClient)(this.chain);
308
+ const publicClient = viemClient(this.chain);
303
309
  const claimDelay = await publicClient.readContract({
304
310
  address: offrampRegistryAddress,
305
311
  abi: abi_1.claimDelayAbi,
@@ -309,7 +315,7 @@ class GatewayApiClient {
309
315
  }
310
316
  async fetchOfframpOrder(orderId) {
311
317
  const offrampRegistryAddress = await this.fetchOfframpRegistryAddress();
312
- const publicClient = (0, utils_2.viemClient)(this.chain);
318
+ const publicClient = viemClient(this.chain);
313
319
  const order = await publicClient.readContract({
314
320
  address: offrampRegistryAddress,
315
321
  abi: abi_1.offrampCaller,
@@ -325,12 +331,12 @@ class GatewayApiClient {
325
331
  receiver: order.receiver !== ethers_1.ethers.ZeroAddress ? order.receiver : null,
326
332
  owner: order.owner !== ethers_1.ethers.ZeroAddress ? order.owner : null,
327
333
  outputScript: order.outputScript,
328
- status: (0, utils_2.parseOrderStatus)(Number(order.status)),
334
+ status: parseOrderStatus(Number(order.status)),
329
335
  orderTimestamp: Number(order.timestamp),
330
336
  };
331
337
  }
332
338
  async startOrder(gatewayQuote, params) {
333
- if (!params.toUserAddress || !(0, viem_1.isAddress)(params.toUserAddress)) {
339
+ if (!params.toUserAddress.startsWith('0x') || !ethers_1.ethers.isAddress(params.toUserAddress)) {
334
340
  throw new Error('Invalid user address');
335
341
  }
336
342
  const abiCoder = new ethers_1.AbiCoder();
@@ -371,45 +377,28 @@ class GatewayApiClient {
371
377
  }
372
378
  throw new Error('Failed to create bitcoin psbt due to an unexpected error.');
373
379
  }
374
- async executeQuote(executeQuoteParams, { walletClient, publicClient, btcSigner, }) {
375
- const isOnrampQuoteParams = (args) => {
376
- return args.params.fromChain?.toString().toLowerCase() === 'bitcoin';
377
- };
378
- if (isOnrampQuoteParams(executeQuoteParams)) {
379
- const { onrampQuote, params } = executeQuoteParams;
380
- const quote = onrampQuote;
381
- const localParams = { ...params };
382
- if (typeof localParams.toChain === 'number') {
383
- localParams.toChain = types_1.chainIdMapping[localParams.toChain];
384
- }
385
- const { uuid, psbtBase64 } = await this.startOrder(quote, localParams);
386
- if (!btcSigner) {
387
- throw new Error(`btcSigner is required for onramp order`);
388
- }
389
- const bitcoinTxHex = await btcSigner?.signAllInputs(psbtBase64);
380
+ async executeQuote(order, btcSigner, walletClient, publicClient) {
381
+ if (order.type === 'onramp') {
382
+ const { uuid, psbtBase64 } = await this.startOrder(order.quote, order.params);
383
+ const bitcoinTxHex = await btcSigner.signAllInputs(psbtBase64);
390
384
  if (!bitcoinTxHex)
391
385
  throw new Error('no psbt');
392
386
  const txId = await this.finalizeOrder(uuid, bitcoinTxHex);
393
387
  return txId;
394
388
  }
395
- else {
396
- const { params, offrampQuote } = executeQuoteParams;
397
- const quote = offrampQuote;
398
- if (typeof params.fromChain === 'number') {
399
- params.fromChain = types_1.chainIdMapping[params.fromChain];
400
- }
401
- const tokenAddress = (0, tokens_1.getTokenAddress)(this.chainId, params.fromToken.toLowerCase());
389
+ else if (order.type === 'offramp') {
390
+ const tokenAddress = (0, tokens_1.getTokenAddress)(this.chainId, order.params.fromToken.toLowerCase());
402
391
  const [offrampOrder, offrampRegistryAddress] = await Promise.all([
403
- this.createOfframpOrder(quote, params),
392
+ this.createOfframpOrder(order.params),
404
393
  this.fetchOfframpRegistryAddress(),
405
394
  ]);
406
395
  const allowance = await publicClient.readContract({
407
396
  address: tokenAddress,
408
397
  abi: viem_1.erc20Abi,
409
398
  functionName: 'allowance',
410
- args: [params.fromUserAddress, offrampRegistryAddress],
399
+ args: [order.params.fromUserAddress, offrampRegistryAddress],
411
400
  });
412
- if (BigInt(quote.amountLockInSat) > allowance) {
401
+ if (BigInt(order.params.amount) > allowance) {
413
402
  const { request } = await publicClient.simulateContract({
414
403
  account: walletClient.account,
415
404
  address: tokenAddress,
@@ -431,39 +420,39 @@ class GatewayApiClient {
431
420
  await publicClient?.waitForTransactionReceipt({ hash: transactionHash });
432
421
  return transactionHash;
433
422
  }
434
- }
435
- async executeStake(params, walletClient, publicClient) {
436
- const result = await this.buildStake(params);
437
- const allowance = await publicClient.readContract({
438
- address: params.token,
439
- abi: viem_1.erc20Abi,
440
- functionName: 'allowance',
441
- args: [walletClient.account.address, result.strategyAddress],
442
- });
443
- if (BigInt(params.amount) > allowance) {
444
- const { request } = await publicClient.simulateContract({
445
- account: walletClient.account,
446
- address: params.token,
423
+ else {
424
+ const result = await this.buildStake(order.params);
425
+ const allowance = await publicClient.readContract({
426
+ address: order.params.token,
447
427
  abi: viem_1.erc20Abi,
448
- functionName: 'approve',
449
- args: [result.strategyAddress, ethers_1.MaxUint256],
428
+ functionName: 'allowance',
429
+ args: [walletClient.account.address, result.strategyAddress],
450
430
  });
451
- const approveTxHash = await walletClient.writeContract(request);
452
- await publicClient.waitForTransactionReceipt({ hash: approveTxHash });
453
- }
454
- const { request } = await publicClient.simulateContract({
455
- address: result.strategyAddress,
456
- abi: result.strategyABI,
457
- functionName: result.strategyFunctionName,
458
- args: result.strategyArgs,
459
- account: result.address,
460
- });
461
- const transactionHash = await walletClient.writeContract(request);
462
- await publicClient?.waitForTransactionReceipt({ hash: transactionHash });
463
- return transactionHash;
431
+ if (BigInt(order.params.amount) > allowance) {
432
+ const { request } = await publicClient.simulateContract({
433
+ account: walletClient.account,
434
+ address: order.params.token,
435
+ abi: viem_1.erc20Abi,
436
+ functionName: 'approve',
437
+ args: [result.strategyAddress, ethers_1.MaxUint256],
438
+ });
439
+ const approveTxHash = await walletClient.writeContract(request);
440
+ await publicClient.waitForTransactionReceipt({ hash: approveTxHash });
441
+ }
442
+ const { request } = await publicClient.simulateContract({
443
+ address: result.strategyAddress,
444
+ abi: result.strategyABI,
445
+ functionName: result.strategyFunctionName,
446
+ args: result.strategyArgs,
447
+ account: result.address,
448
+ });
449
+ const transactionHash = await walletClient.writeContract(request);
450
+ await publicClient?.waitForTransactionReceipt({ hash: transactionHash });
451
+ return transactionHash;
452
+ }
464
453
  }
465
454
  async finalizeOrder(uuid, bitcoinTxOrId) {
466
- bitcoinTxOrId = (0, utils_2.stripHexPrefix)(bitcoinTxOrId);
455
+ bitcoinTxOrId = stripHexPrefix(bitcoinTxOrId);
467
456
  let bitcoinTxHex;
468
457
  if (bitcoinTxOrId.length === 64) {
469
458
  const esploraClient = new esplora_1.EsploraClient(this.chain === types_1.Chain.BOB ? bitcoin_address_validation_1.Network.mainnet : bitcoin_address_validation_1.Network.testnet);
@@ -553,7 +542,7 @@ class GatewayApiClient {
553
542
  const chainId = this.chainId;
554
543
  const strategies = await response.json();
555
544
  return strategies.map((strategy) => {
556
- const strategySlug = (0, utils_2.slugify)(strategy.strategyName);
545
+ const strategySlug = slugify(strategy.strategyName);
557
546
  const inputToken = tokens_1.ADDRESS_LOOKUP[chainId][strategy.inputTokenAddress];
558
547
  const outputToken = strategy.outputTokenAddress
559
548
  ? tokens_1.ADDRESS_LOOKUP[chainId][strategy.outputTokenAddress]
@@ -692,4 +681,39 @@ class GatewayApiClient {
692
681
  }
693
682
  }
694
683
  exports.GatewayApiClient = GatewayApiClient;
684
+ function toHexScriptPubKey(userAddress, network) {
685
+ const address = bitcoin.address.toOutputScript(userAddress, network);
686
+ const buffer = Buffer.concat([Buffer.from([address.length]), address]);
687
+ return '0x' + buffer.toString('hex');
688
+ }
689
+ function isHexPrefixed(str) {
690
+ return str.slice(0, 2) === '0x';
691
+ }
692
+ function stripHexPrefix(str) {
693
+ return isHexPrefixed(str) ? str.slice(2) : str;
694
+ }
695
+ function slugify(str) {
696
+ return str
697
+ .toLowerCase()
698
+ .replace(/ /g, '-')
699
+ .replace(/[^\w-]+/g, '');
700
+ }
701
+ function parseOrderStatus(value) {
702
+ switch (value) {
703
+ case 0:
704
+ return 'Active';
705
+ case 1:
706
+ return 'Accepted';
707
+ case 2:
708
+ return 'Processed';
709
+ case 3:
710
+ return 'Refunded';
711
+ default:
712
+ throw new Error(`Invalid order status: ${value}`);
713
+ }
714
+ }
715
+ function viemClient(chain) {
716
+ const chainIs = chain === types_1.Chain.BOB ? chains_1.bob : chains_1.bobSepolia;
717
+ return (0, viem_1.createPublicClient)({ chain: chainIs, transport: (0, viem_1.http)() });
718
+ }
695
719
  //# sourceMappingURL=client.js.map
@@ -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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"}
@@ -132,7 +132,6 @@ const tokenToDefiLlamaPoolIdMap = new Map([
132
132
  ],
133
133
  ]);
134
134
  class StrategyClient {
135
- viemClient;
136
135
  constructor(chain, rpcUrl) {
137
136
  this.viemClient = (0, viem_1.createPublicClient)({
138
137
  transport: (0, viem_1.http)(),
@@ -156,7 +155,7 @@ class StrategyClient {
156
155
  const defillamaPoolId = tokenToDefiLlamaPoolIdMap.get(tokenAddress) || '';
157
156
  const defillamaPool = defillamaPoolMap.get(defillamaPoolId);
158
157
  return {
159
- apyBase: defillamaPoolId === 'e8bfea35-ff6d-48db-aa08-51599b363219' ? 2 : (defillamaPool?.apyBase ?? 0),
158
+ apyBase: defillamaPool?.apyBase ?? 0,
160
159
  apyReward: defillamaPool?.apyReward ?? 0,
161
160
  rewardTokens: (defillamaPool?.rewardTokens ?? [])
162
161
  .map((addr) => tokens_1.ADDRESS_LOOKUP[types_1.ChainId.BOB][addr.toLowerCase()] ||
@@ -1 +1 @@
1
- {"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../src/gateway/strategy.ts"],"names":[],"mappings":";;AAAA,+BAA+G;AAC/G,qCAAkE;AAClE,mCAOiB;AACjB,+BAA6D;AAE7D,MAAM,uBAAuB,GAAmC,IAAI,GAAG,CAAC;IACpE;QACI,MAAM;QACN;YACI;gBACI,EAAE,EAAE,MAAM;gBACV,IAAI,EAAE,aAAa;aACtB;SACJ;KACJ;IACD;QACI,KAAK;QACL;YACI;gBACI,EAAE,EAAE,KAAK;gBACT,IAAI,EAAE,WAAW;aACpB;SACJ;KACJ;IACD;QACI,SAAS;QACT;YACI;gBACI,EAAE,EAAE,KAAK;gBACT,IAAI,EAAE,WAAW;aACpB;YACD;gBACI,EAAE,EAAE,SAAS;gBACb,IAAI,EAAE,wBAAwB;aACjC;SACJ;KACJ;IACD;QACI,OAAO;QACP;YACI;gBACI,EAAE,EAAE,KAAK;gBACT,IAAI,EAAE,WAAW;aACpB;SACJ;KACJ;IACD;QACI,QAAQ;QACR;YACI;gBACI,EAAE,EAAE,KAAK;gBACT,IAAI,EAAE,WAAW;aACpB;YACD;gBACI,EAAE,EAAE,QAAQ;gBACZ,IAAI,EAAE,eAAe;aACxB;SACJ;KACJ;CACJ,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG;IACjB,EAAE,EAAE,SAAS;IACb,IAAI,EAAE,kBAAkB;CAC3B,CAAC;AACF,MAAM,aAAa,GAAG;IAClB,EAAE,EAAE,SAAS;IACb,IAAI,EAAE,gBAAgB;CACzB,CAAC;AACF,MAAM,UAAU,GAAG;IACf,EAAE,EAAE,MAAM;IACV,IAAI,EAAE,SAAS;CAClB,CAAC;AACF,MAAM,SAAS,GAAG;IACd,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,IAAI;CACb,CAAC;AAEF,MAAM,sBAAsB,GAAmC,IAAI,GAAG,CAAC;IACnE;QAEI,4CAA4C;QAC5C,CAAC,YAAY,EAAE,aAAa,CAAC;KAChC;IACD;QAEI,4CAA4C;QAC5C,CAAC,UAAU,EAAE,aAAa,CAAC;KAC9B;IACD;QAEI,4CAA4C;QAC5C,CAAC,UAAU,EAAE,aAAa,CAAC;KAC9B;IACD;QAEI,4CAA4C;QAC5C,CAAC,YAAY,EAAE,aAAa,CAAC;KAChC;IACD;QAEI,4CAA4C;QAC5C,CAAC,UAAU,EAAE,aAAa,CAAC;KAC9B;IACD;QAEI,4CAA4C;QAC5C,CAAC,SAAS,CAAC;KACd;CACJ,CAAC,CAAC;AAEH,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAiB;IACtD;QAEI,4CAA4C;QAC5C,sCAAsC;KACzC;IACD;QAEI,4CAA4C;QAC5C,sCAAsC;KACzC;IACD;QAEI,4CAA4C;QAC5C,sCAAsC;KACzC;IACD;QAEI,4CAA4C;QAC5C,sCAAsC;KACzC;IACD;QAEI,4CAA4C;QAC5C,sCAAsC;KACzC;IACD;QAEI,4CAA4C;QAC5C,sCAAsC;KACzC;IACD;QAEI,4CAA4C;QAC5C,sCAAsC;KACzC;CAOJ,CAAC,CAAC;AAEH,MAAqB,cAAc;IACvB,UAAU,CAAe;IAEjC,YAAY,KAAY,EAAE,MAAe;QACrC,IAAI,CAAC,UAAU,GAAG,IAAA,yBAAkB,EAAC;YACjC,SAAS,EAAE,IAAA,WAAI,GAAE;YACjB,KAAK,EAAE;gBACH,GAAG,KAAK;gBACR,OAAO,EAAE;oBACL,OAAO,EAAE;wBACL,IAAI,EAAE,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;qBAClD;iBACJ;aACJ;SACJ,CAAiB,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,mBAAmB,CACrB,MAAgB;QAEhB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAEzD,MAAM,cAAc,GAAoB,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAC5B,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CACzF,CAAC;QAEF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACxB,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;YAEzC,MAAM,YAAY,GAAG,+BAAsB,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC;YACvE,MAAM,eAAe,GAAG,yBAAyB,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAC1E,MAAM,aAAa,GAAG,gBAAgB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAE5D,OAAO;gBAEH,OAAO,EAAE,eAAe,KAAK,sCAAsC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,OAAO,IAAI,CAAC,CAAC;gBACvG,SAAS,EAAE,aAAa,EAAE,SAAS,IAAI,CAAC;gBACxC,YAAY,EAAE,CAAC,aAAa,EAAE,YAAY,IAAI,EAAE,CAAC;qBAC5C,GAAG,CACA,CAAC,IAAI,EAAE,EAAE,CACL,uBAAc,CAAC,eAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;oBAC/C,uBAAc,CAAC,eAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAC3D;qBACA,MAAM,CAAC,OAAO,CAAC;gBACpB,MAAM,EAAE;oBACJ,GAAG,CAAC,uBAAuB,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;oBACpD,GAAG,CAAC,sBAAsB,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;iBACtD;aACJ,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,KAAY;QACpC,MAAM,YAAY,GAAG,+BAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,KAAK,CAAC;QAEtF,QAAQ,YAAY,EAAE,CAAC;YACnB,KAAK,KAAK,CAAC,CAAC,CAAC;gBACT,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC1C,CAAC;YAED,KAAK,SAAS,CAAC,CAAC,CAAC;gBACb,OAAO,IAAI,CAAC,+BAA+B,CAAC,KAAK,CAAC,CAAC;YACvD,CAAC;YAED,KAAK,OAAO,CAAC,CAAC,CAAC;gBACX,OAAO,IAAI,CAAC,+BAA+B,CAAC,KAAK,CAAC,CAAC;YACvD,CAAC;YAED,KAAK,MAAM,CAAC,CAAC,CAAC;gBACV,OAAO,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;YACjD,CAAC;YAED,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACZ,OAAO,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;YACnD,CAAC;YAED,OAAO,CAAC,CAAC,CAAC;gBACN,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,eAAe,EAAE,EAAE;iBACtB,CAAC;YACN,CAAC;QACL,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,KAAY;QACzC,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAkB,CAAC;QAEpD,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;YAClD,YAAY,EAAE,KAAK;YACnB,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,kBAAkB;oBAC3B,GAAG,EAAE,eAAQ;oBACb,YAAY,EAAE,aAAa;oBAC3B,IAAI,EAAE,EAAE;iBACX;aACJ;SACJ,CAAC,CAAC;QAEH,OAAO;YACH,OAAO,EAAE,kBAAkB;YAC3B,eAAe,EAAE,WAAY;SAChC,CAAC;IACN,CAAC;IAEO,KAAK,CAAC,+BAA+B,CAAC,KAAY;QACtD,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAkB,CAAC;QAEpD,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,iBAAiB,CAAC,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;YACnF,YAAY,EAAE,KAAK;YACnB,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,kBAAkB;oBAC3B,GAAG,EAAE,eAAQ;oBACb,YAAY,EAAE,aAAa;oBAC3B,IAAI,EAAE,EAAE;iBACX;gBACD;oBACI,OAAO,EAAE,kBAAkB;oBAC3B,GAAG,EAAE,yBAAmB;oBACxB,YAAY,EAAE,qBAAqB;oBACnC,IAAI,EAAE,EAAE;iBACX;gBACD;oBACI,OAAO,EAAE,kBAAkB;oBAC3B,GAAG,EAAE,yBAAmB;oBACxB,YAAY,EAAE,YAAY;oBAC1B,IAAI,EAAE,EAAE;iBACX;aACJ;SACJ,CAAC,CAAC;QAEH,OAAO;YACH,OAAO,EAAE,iBAAiB,IAAI,kBAAW;YACzC,eAAe,EAAE,YAAY,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,WAAW,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE;SAChG,CAAC;IACN,CAAC;IAEO,KAAK,CAAC,2BAA2B,CAAC,KAAY;QAClD,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAkB,CAAC;QAEpD,MAAM,CAAC,WAAW,EAAE,iBAAiB,CAAC,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;YACrE,YAAY,EAAE,KAAK;YACnB,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,kBAAkB;oBAC3B,GAAG,EAAE,eAAQ;oBACb,YAAY,EAAE,aAAa;oBAC3B,IAAI,EAAE,EAAE;iBACX;gBACD;oBACI,OAAO,EAAE,kBAAkB;oBAC3B,GAAG,EAAE,qBAAe;oBACpB,YAAY,EAAE,0BAA0B;oBACxC,IAAI,EAAE,EAAE;iBACX;aACJ;SACJ,CAAC,CAAC;QAEH,OAAO;YACH,OAAO,EAAE,iBAAkB;YAC3B,eAAe,EAAE,WAAY;SAChC,CAAC;IACN,CAAC;IAEO,KAAK,CAAC,yBAAyB,CAAC,KAAY;QAEhD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QAEhE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,gDAAgD,KAAK,CAAC,OAAO,IAAI,SAAS,SAAS,CAAC,CAAC;QAE7G,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACV,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,eAAe,EAAE,EAAE;aACtB,CAAC;QACN,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAE9B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtB,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,eAAe,EAAE,EAAE;aACtB,CAAC;QACN,CAAC;QAED,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAEjC,OAAO;YACH,OAAO,EAAE,KAAK;YACd,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SAC3C,CAAC;IACN,CAAC;CACJ;AApMD,iCAoMC"}
1
+ {"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../src/gateway/strategy.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import type { EsploraClient } from '../esplora';
2
- import { Address, Hex } from 'viem';
2
+ import { Address } from 'viem';
3
3
  import { offrampCaller, strategyCaller } from './abi';
4
4
  type ChainSlug = string | number;
5
5
  type TokenSymbol = string;
6
+ export type EvmAddress = string;
6
7
  export type Optional<T, K extends keyof T> = Omit<T, K> & Partial<T>;
7
8
  export declare enum Chain {
8
9
  BITCOIN = "bitcoin",
@@ -14,10 +15,6 @@ export declare enum ChainId {
14
15
  BOB_SEPOLIA = 808813,
15
16
  OPTIMISM = 10
16
17
  }
17
- export declare const chainIdMapping: {
18
- readonly 60808: Chain.BOB;
19
- readonly 808813: Chain.BOB_SEPOLIA;
20
- };
21
18
  export type StakeParams = {
22
19
  strategyAddress: Address;
23
20
  token: Address;
@@ -114,33 +111,33 @@ export interface GatewayStrategyContract {
114
111
  outputToken: GatewayToken | null;
115
112
  }
116
113
  export type GatewayQuote = {
117
- gatewayAddress: Address;
118
- baseTokenAddress: Address;
114
+ gatewayAddress: EvmAddress;
115
+ baseTokenAddress: EvmAddress;
119
116
  dustThreshold: number;
120
117
  satoshis: number;
121
118
  fee: number;
122
119
  bitcoinAddress: string;
123
120
  txProofDifficultyFactor: number;
124
- strategyAddress?: Address;
121
+ strategyAddress?: EvmAddress;
125
122
  };
126
123
  export type GatewayCreateOrderRequest = {
127
- gatewayAddress: Address;
128
- strategyAddress?: Address;
124
+ gatewayAddress: EvmAddress;
125
+ strategyAddress?: EvmAddress;
129
126
  satsToConvertToEth: number;
130
- userAddress: Address;
131
- gatewayExtraData?: Hex;
132
- strategyExtraData?: Hex;
127
+ userAddress: EvmAddress;
128
+ gatewayExtraData?: string;
129
+ strategyExtraData?: string;
133
130
  satoshis: number;
134
131
  campaignId?: string;
135
132
  };
136
- export type OfframpGatewayCreateQuoteResponse = {
133
+ export type OffRampGatewayCreateQuoteResponse = {
137
134
  amountToLock: string;
138
135
  minimumFeesToPay: string;
139
- gateway: Address;
136
+ gateway: EvmAddress;
140
137
  };
141
138
  export interface OnrampOrderResponse {
142
- gatewayAddress: Address;
143
- baseTokenAddress: Address;
139
+ gatewayAddress: EvmAddress;
140
+ baseTokenAddress: EvmAddress;
144
141
  txid: string;
145
142
  status: boolean;
146
143
  timestamp: number;
@@ -148,10 +145,10 @@ export interface OnrampOrderResponse {
148
145
  satoshis: number;
149
146
  fee: number;
150
147
  txProofDifficultyFactor: number;
151
- strategyAddress?: Address;
148
+ strategyAddress?: EvmAddress;
152
149
  satsToConvertToEth: number;
153
150
  outputEthAmount?: string;
154
- outputTokenAddress?: Address;
151
+ outputTokenAddress?: EvmAddress;
155
152
  outputTokenAmount?: string;
156
153
  txHash?: string;
157
154
  }
@@ -303,17 +300,15 @@ export interface DefiLlamaPool {
303
300
  underlyingTokens: null | string[];
304
301
  rewardTokens: null | string[];
305
302
  }
306
- export type OnrampQuoteParams = Optional<GatewayQuoteParams, 'toUserAddress'>;
307
- export type OfframpQuoteParams = Optional<GatewayQuoteParams, 'fromUserAddress'>;
308
- export type GetQuoteParams = Optional<OnrampQuoteParams | OfframpQuoteParams, 'amount'>;
309
- export type OnrampExecuteQuoteParams = {
310
- onrampQuote?: GatewayQuote & GatewayTokensInfo;
311
- params: GetQuoteParams;
303
+ export type OnrampQuoteParams = {
304
+ type: 'onramp';
305
+ params: Optional<GatewayQuoteParams, 'amount' | 'fromChain' | 'fromToken' | 'fromUserAddress' | 'toUserAddress'>;
312
306
  };
313
- export type OfframpExecuteQuoteParams = {
314
- offrampQuote?: OfframpQuote;
315
- params: GetQuoteParams;
307
+ export type OfframpQuoteParams = {
308
+ type: 'offramp';
309
+ params: {
310
+ tokenAddress: Address;
311
+ amount: number;
312
+ };
316
313
  };
317
- export type ExecuteStakeParam = StakeParams;
318
- export type ExecuteQuoteParams = OnrampExecuteQuoteParams | OfframpExecuteQuoteParams;
319
314
  export {};