@gobob/bob-sdk 3.2.0 → 3.2.1

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.
@@ -15,23 +15,34 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
37
  };
28
38
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.GatewayApiClient = exports.SIGNET_GATEWAY_BASE_URL = exports.TESTNET_GATEWAY_BASE_URL = exports.MAINNET_GATEWAY_BASE_URL = void 0;
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;
30
40
  exports.toHexScriptPubKey = toHexScriptPubKey;
41
+ exports.viemClient = viemClient;
31
42
  const ethers_1 = require("ethers");
32
43
  const types_1 = require("./types");
33
- const tokens_1 = require("./tokens");
34
44
  const wallet_1 = require("../wallet");
45
+ const tokens_1 = require("./tokens");
35
46
  const bitcoin_address_validation_1 = require("bitcoin-address-validation");
36
47
  const esplora_1 = require("../esplora");
37
48
  const abi_1 = require("./abi");
@@ -43,8 +54,10 @@ const utils_1 = require("../utils");
43
54
  exports.MAINNET_GATEWAY_BASE_URL = 'https://gateway-api-mainnet.gobob.xyz';
44
55
  exports.TESTNET_GATEWAY_BASE_URL = 'https://gateway-api-testnet.gobob.xyz';
45
56
  exports.SIGNET_GATEWAY_BASE_URL = 'https://gateway-api-signet.gobob.xyz';
57
+ exports.ORDER_DEADLINE_IN_SECONDS = 30 * 60;
46
58
  class GatewayApiClient {
47
59
  constructor(chainName, options) {
60
+ this.isSignet = false;
48
61
  switch (chainName) {
49
62
  case 'mainnet':
50
63
  case types_1.Chain.BOB:
@@ -61,6 +74,7 @@ class GatewayApiClient {
61
74
  this.chain = types_1.Chain.BOB_SEPOLIA;
62
75
  this.baseUrl = exports.SIGNET_GATEWAY_BASE_URL;
63
76
  this.strategy = new strategy_1.default(chains_1.bobSepolia, options?.rpcUrl);
77
+ this.isSignet = true;
64
78
  break;
65
79
  default:
66
80
  throw new Error('Invalid chain');
@@ -124,14 +138,43 @@ class GatewayApiClient {
124
138
  outputToken: quote.strategyAddress ? tokens_1.ADDRESS_LOOKUP[chainId][outputTokenAddress] : undefined,
125
139
  };
126
140
  }
127
- async getOffRampQuoteAndRequest(params) {
128
- let bitcoinNetwork = bitcoin.networks.regtest;
141
+ async fetchOfframpRegistryAddress() {
142
+ const response = await this.fetchGet(`${this.baseUrl}/offramp-registry-address`);
143
+ return JSON.parse(await response.text());
144
+ }
145
+ async fetchOfframpQuote(token, amountInToken) {
146
+ const queryParams = new URLSearchParams({
147
+ amountInWrappedToken: amountInToken.toString(),
148
+ token,
149
+ });
150
+ const response = await fetch(`${this.baseUrl}/offramp-quote?${queryParams}`, {
151
+ method: 'GET',
152
+ headers: {
153
+ 'Content-Type': 'application/json',
154
+ Accept: 'application/json',
155
+ },
156
+ });
157
+ if (!response.ok) {
158
+ const errorData = await response.json();
159
+ const errorMessage = errorData?.message || 'Failed to get offramp quote';
160
+ throw new Error(`Offramp API Error: ${errorMessage}`);
161
+ }
162
+ const rawQuote = await response.json();
163
+ const currentUnixTimeInSec = Math.floor(Date.now() / 1000);
164
+ const deadline = currentUnixTimeInSec + exports.ORDER_DEADLINE_IN_SECONDS;
165
+ return {
166
+ amountLockInSat: BigInt(rawQuote.amountLockInSat.toString()),
167
+ feesInSat: BigInt(rawQuote.feesInSat.toString()),
168
+ feeRate: BigInt(rawQuote.feeRate.toString()),
169
+ deadline: BigInt(deadline.toString()),
170
+ registryAddress: rawQuote.registryAddress,
171
+ token: token,
172
+ };
173
+ }
174
+ async createOfframpOrder(params) {
129
175
  const isMainnet = this.chainId === types_1.ChainId.BOB || (typeof this.chainId === 'string' && this.chainId === types_1.Chain.BOB);
130
176
  const isTestnet = this.chainId === types_1.ChainId.BOB_SEPOLIA ||
131
177
  (typeof this.chainId === 'string' && this.chainId === types_1.Chain.BOB_SEPOLIA);
132
- const isInvalidNetwork = !isMainnet && !isTestnet;
133
- const isMismatchMainnet = isMainnet && this.chain !== types_1.Chain.BOB;
134
- const isMismatchTestnet = isTestnet && this.chain !== types_1.Chain.BOB_SEPOLIA;
135
178
  let outputTokenAddress = '';
136
179
  const toToken = params.toToken.toLowerCase();
137
180
  if (toToken.startsWith('0x')) {
@@ -146,62 +189,153 @@ class GatewayApiClient {
146
189
  else {
147
190
  throw new Error('Unknown output token');
148
191
  }
149
- if (isMismatchMainnet) {
150
- throw new Error('OffRamp not enabled for mainnet');
151
- }
152
- if (isInvalidNetwork || isMismatchTestnet) {
153
- throw new Error('Invalid output chain');
154
- }
155
- if (isMainnet) {
192
+ const offrampQuote = await this.fetchOfframpQuote(outputTokenAddress, BigInt(params.amount));
193
+ let bitcoinNetwork = bitcoin.networks.regtest;
194
+ if (this.chain == types_1.Chain.BOB) {
156
195
  bitcoinNetwork = bitcoin.networks.bitcoin;
157
196
  }
158
- else if (isTestnet) {
197
+ else if (this.chain == types_1.Chain.BOB_SEPOLIA) {
159
198
  bitcoinNetwork = bitcoin.networks.testnet;
160
199
  }
161
- if ((0, bitcoin_address_validation_1.getAddressInfo)(params.bitcoinUserAddress).type === bitcoin_address_validation_1.AddressType.p2tr) {
200
+ if ((0, wallet_1.getAddressInfo)(params.bitcoinUserAddress, this.isSignet).type === bitcoin_address_validation_1.AddressType.p2tr) {
162
201
  throw new Error('Only following bitcoin address types are supported P2PKH, P2WPKH, P2SH or P2WSH.');
163
202
  }
164
203
  const receiverAddress = toHexScriptPubKey(params.bitcoinUserAddress, bitcoinNetwork);
165
- const queryParams = new URLSearchParams({
166
- amountToLock: params.amount.toString(),
167
- token: outputTokenAddress,
168
- });
169
- const response = await fetch(`${this.baseUrl}/offramp-quote?${queryParams}`, {
170
- method: 'GET',
171
- headers: {
172
- 'Content-Type': 'application/json',
173
- Accept: 'application/json',
174
- },
175
- });
176
- if (!response.ok) {
177
- const errorData = await response.json();
178
- const errorMessage = errorData?.message || 'Failed to get offramp quote';
179
- throw new Error(`Offramp API Error: ${errorMessage}`);
180
- }
181
- const data = await response.json();
182
204
  return {
183
- offRampABI: abi_1.offRampCaller,
184
- offRampFunctionName: 'createOffRampRequest',
185
- offRampArgs: [
205
+ quote: offrampQuote,
206
+ offrampABI: abi_1.offrampCreateOrderCaller,
207
+ offrampFunctionName: 'createOrder',
208
+ offrampArgs: [
186
209
  {
187
- offRampAddress: data.gateway,
188
- amountLocked: BigInt(data.amountToLock.toString()),
189
- maxFees: BigInt(data.minimumFeesToPay.toString()),
190
- user: params.fromUserAddress,
191
- token: outputTokenAddress,
192
- userBtcAddress: receiverAddress,
210
+ satAmountToLock: offrampQuote.amountLockInSat,
211
+ satFeesMax: offrampQuote.feesInSat,
212
+ orderCreationDeadline: offrampQuote.deadline,
213
+ outputScript: receiverAddress,
214
+ token: offrampQuote.token,
193
215
  },
194
216
  ],
195
217
  };
196
218
  }
197
- async getOffRampOrders(userAddress) {
198
- const isTestnet = this.chainId === types_1.ChainId.BOB_SEPOLIA ||
199
- (typeof this.chainId === 'string' && this.chainId === types_1.Chain.BOB_SEPOLIA);
200
- if (!isTestnet) {
201
- throw new Error('Invalid output chain offramp only enabled for testnet');
219
+ async bumpFeeForOfframpOrder(orderId) {
220
+ const orderDetails = await this.fetchOfframpOrder(orderId);
221
+ if (orderDetails.status !== 'Active') {
222
+ throw new Error(`Offramp order needs to be Active for bumping fees`);
223
+ }
224
+ const [shouldFeesBeBumped, newFeeSat, error] = await this.getBumpFeeRequirement(orderDetails.token, orderDetails.satAmountLocked, orderDetails.satFeesMax);
225
+ if (error) {
226
+ throw new Error(`Unable to calculate a new quote for the order. reason: (${error.toString()}).`);
202
227
  }
228
+ if (!shouldFeesBeBumped) {
229
+ throw new Error(`Current fees (${orderDetails.satFeesMax.toString()} sat) are sufficient to satisfy the order, as the new required fees (${newFeeSat.toString()} sat) are lower or equal.`);
230
+ }
231
+ return [
232
+ {
233
+ offrampABI: abi_1.offrampBumpFeeCaller,
234
+ offrampFunctionName: 'bumpFeeOfExistingOrder',
235
+ offrampArgs: [
236
+ {
237
+ orderId: orderId,
238
+ newFeeSat: newFeeSat,
239
+ },
240
+ ],
241
+ },
242
+ ];
243
+ }
244
+ async unlockOfframpOrder(orderId, receiver) {
245
+ const orderDetails = await this.fetchOfframpOrder(orderId);
246
+ if (orderDetails.status == 'Processed' || orderDetails.status == 'Refunded') {
247
+ throw new Error(`Offramp order already processed/refunded`);
248
+ }
249
+ const offrampRegistryAddress = await this.fetchOfframpRegistryAddress();
250
+ if (!(await this.canOrderBeUnlocked(orderDetails.status, orderDetails.orderTimestamp, offrampRegistryAddress))) {
251
+ throw new Error(`Offramp order is still within the 7-day claim delay and cannot be unlocked yet.`);
252
+ }
253
+ return [
254
+ {
255
+ offrampABI: abi_1.offrampUnlockFundsCaller,
256
+ offrampFunctionName: 'unlockFunds',
257
+ offrampArgs: [
258
+ {
259
+ orderId: orderId,
260
+ receiver: receiver,
261
+ },
262
+ ],
263
+ },
264
+ ];
265
+ }
266
+ async getOfframpOrders(userAddress) {
203
267
  const response = await this.fetchGet(`${this.baseUrl}/offramp-orders/${userAddress}`);
204
- return await response.json();
268
+ const rawOrders = await response.json();
269
+ const offrampRegistryAddress = await this.fetchOfframpRegistryAddress();
270
+ return Promise.all(rawOrders.map(async (order) => {
271
+ const status = order.status;
272
+ const canOrderBeUnlocked = await this.canOrderBeUnlocked(status, BigInt(order.orderTimestamp), offrampRegistryAddress);
273
+ return {
274
+ ...order,
275
+ status,
276
+ token: order.token,
277
+ orderId: BigInt(order.orderId.toString()),
278
+ satAmountLocked: BigInt(order.satAmountLocked.toString()),
279
+ satFeesMax: BigInt(order.satFeesMax.toString()),
280
+ orderTimestamp: BigInt(order.orderTimestamp.toString()),
281
+ shouldFeesBeBumped: order.shouldFeesBeBumped,
282
+ canOrderBeUnlocked,
283
+ };
284
+ }));
285
+ }
286
+ async getBumpFeeRequirement(token, satAmountLocked, satFeesMax) {
287
+ const decimals = (0, tokens_1.getTokenDecimals)(token);
288
+ if (decimals === undefined) {
289
+ return [false, 0n, 'Tokens with less than 8 decimals are not supported'];
290
+ }
291
+ const amountInToken = satAmountLocked * BigInt(10 ** (decimals - 8));
292
+ let offrampQuote;
293
+ try {
294
+ offrampQuote = await this.fetchOfframpQuote(token.toString(), amountInToken);
295
+ }
296
+ catch (err) {
297
+ return [false, 0n, `Error fetching offramp quote: ${err.message || err}`];
298
+ }
299
+ const shouldBump = satFeesMax < offrampQuote.feesInSat;
300
+ return [shouldBump, offrampQuote.feesInSat];
301
+ }
302
+ async canOrderBeUnlocked(status, orderTimestamp, offrampRegistryAddress) {
303
+ if (status === 'Active') {
304
+ return true;
305
+ }
306
+ if (status !== 'Accepted') {
307
+ return false;
308
+ }
309
+ const nowInSec = BigInt(Math.floor(Date.now() / 1000));
310
+ const publicClient = viemClient(this.chain);
311
+ const claimDelay = await publicClient.readContract({
312
+ address: offrampRegistryAddress,
313
+ abi: abi_1.claimDelayAbi,
314
+ functionName: 'CLAIM_DELAY',
315
+ });
316
+ return orderTimestamp + claimDelay <= nowInSec;
317
+ }
318
+ async fetchOfframpOrder(orderId) {
319
+ const offrampRegistryAddress = await this.fetchOfframpRegistryAddress();
320
+ const publicClient = viemClient(this.chain);
321
+ const order = await publicClient.readContract({
322
+ address: offrampRegistryAddress,
323
+ abi: abi_1.offrampGetOrderCaller,
324
+ functionName: 'getOfframpOrder',
325
+ args: [orderId],
326
+ });
327
+ return {
328
+ orderId,
329
+ token: order.token,
330
+ satAmountLocked: BigInt(order.satAmountLocked),
331
+ satFeesMax: BigInt(order.satFeesMax),
332
+ sender: order.sender,
333
+ receiver: order.receiver !== ethers_1.ethers.ZeroAddress ? order.receiver : null,
334
+ owner: order.owner !== ethers_1.ethers.ZeroAddress ? order.owner : null,
335
+ outputScript: order.outputScript,
336
+ status: parseOrderStatus(Number(order.status)),
337
+ orderTimestamp: BigInt(order.timestamp),
338
+ };
205
339
  }
206
340
  async startOrder(gatewayQuote, params) {
207
341
  if (!params.toUserAddress.startsWith('0x') || !ethers_1.ethers.isAddress(params.toUserAddress)) {
@@ -237,7 +371,7 @@ class GatewayApiClient {
237
371
  if (params.fromUserAddress &&
238
372
  typeof params.fromChain === 'string' &&
239
373
  params.fromChain.toLowerCase() === types_1.Chain.BITCOIN) {
240
- psbtBase64 = await (0, wallet_1.createBitcoinPsbt)(params.fromUserAddress, gatewayQuote.bitcoinAddress, gatewayQuote.satoshis, params.fromUserPublicKey, data.opReturnHash, params.feeRate, gatewayQuote.txProofDifficultyFactor);
374
+ psbtBase64 = await (0, wallet_1.createBitcoinPsbt)(params.fromUserAddress, gatewayQuote.bitcoinAddress, gatewayQuote.satoshis, params.fromUserPublicKey, data.opReturnHash, params.feeRate, gatewayQuote.txProofDifficultyFactor, this.isSignet);
241
375
  }
242
376
  return {
243
377
  uuid: data.uuid,
@@ -491,4 +625,22 @@ function slugify(str) {
491
625
  .replace(/ /g, '-')
492
626
  .replace(/[^\w-]+/g, '');
493
627
  }
628
+ function parseOrderStatus(value) {
629
+ switch (value) {
630
+ case 0:
631
+ return 'Active';
632
+ case 1:
633
+ return 'Accepted';
634
+ case 2:
635
+ return 'Processed';
636
+ case 3:
637
+ return 'Refunded';
638
+ default:
639
+ throw new Error(`Invalid order status: ${value}`);
640
+ }
641
+ }
642
+ function viemClient(chain) {
643
+ const chainIs = chain === types_1.Chain.BOB ? chains_1.bob : chains_1.bobSepolia;
644
+ return (0, viem_1.createPublicClient)({ chain: chainIs, transport: (0, viem_1.http)() });
645
+ }
494
646
  //# 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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"}
@@ -1,4 +1,5 @@
1
1
  import { Token } from './types';
2
+ import { Address } from 'viem';
2
3
  export declare const SYMBOL_LOOKUP: {
3
4
  [key in number]: {
4
5
  [key in string]: Token;
@@ -10,3 +11,4 @@ export declare const ADDRESS_LOOKUP: {
10
11
  };
11
12
  };
12
13
  export declare const tokenToStrategyTypeMap: Map<string, "none" | "segment" | "ionic" | "veda" | "avalon">;
14
+ export declare function getTokenDecimals(tokenAddress: Address): number | undefined;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.tokenToStrategyTypeMap = exports.ADDRESS_LOOKUP = exports.SYMBOL_LOOKUP = void 0;
4
+ exports.getTokenDecimals = getTokenDecimals;
4
5
  const types_1 = require("./types");
5
6
  const bobTokens = [
6
7
  {
@@ -93,6 +94,17 @@ const bobSepoliaTokens = [
93
94
  },
94
95
  logoURI: 'https://ethereum-optimism.github.io/data/WBTC/logo.svg',
95
96
  },
97
+ {
98
+ name: 'Bob BTC',
99
+ symbol: 'bobBTC',
100
+ decimals: 8,
101
+ tokens: {
102
+ 'bob-sepolia': {
103
+ address: '0x4496ebE7C8666a8103713EE6e0c08cA0cD25b888',
104
+ },
105
+ },
106
+ logoURI: 'https://raw.githubusercontent.com/bob-collective/bob/master/assets/bobBTC.svg',
107
+ },
96
108
  ];
97
109
  const shoebillTokens = [
98
110
  {
@@ -291,4 +303,10 @@ exports.tokenToStrategyTypeMap = new Map([
291
303
  ...vedaTokens.map((token) => [token.tokens['bob'].address.toLowerCase(), 'veda']),
292
304
  ...avalonTokens.map((token) => [token.tokens['bob'].address.toLowerCase(), 'avalon']),
293
305
  ]);
306
+ function getTokenDecimals(tokenAddress) {
307
+ const normalizedAddress = tokenAddress.toString().toLowerCase();
308
+ const token = bobTokens.find((t) => t.tokens.bob.address.toLowerCase() === normalizedAddress) ||
309
+ bobSepoliaTokens.find((t) => t.tokens['bob-sepolia'].address.toLowerCase() === normalizedAddress);
310
+ return token?.decimals;
311
+ }
294
312
  //# sourceMappingURL=tokens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/gateway/tokens.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/gateway/tokens.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { EsploraClient } from '../esplora';
2
2
  import { Address } from 'viem';
3
- import { offRampCaller, strategyCaller } from './abi';
3
+ import { offrampBumpFeeCaller, offrampCreateOrderCaller, offrampUnlockFundsCaller, strategyCaller } from './abi';
4
4
  type ChainSlug = string | number;
5
5
  type TokenSymbol = string;
6
6
  export type EvmAddress = string;
@@ -112,20 +112,6 @@ export type GatewayQuote = {
112
112
  txProofDifficultyFactor: number;
113
113
  strategyAddress?: EvmAddress;
114
114
  };
115
- export type OffRampRequestPayload = {
116
- offRampABI: typeof offRampCaller;
117
- offRampFunctionName: string;
118
- offRampArgs: [
119
- {
120
- offRampAddress: Address;
121
- amountLocked: bigint;
122
- maxFees: bigint;
123
- user: Address;
124
- token: Address;
125
- userBtcAddress: string;
126
- }
127
- ];
128
- };
129
115
  export type GatewayCreateOrderRequest = {
130
116
  gatewayAddress: EvmAddress;
131
117
  strategyAddress?: EvmAddress;
@@ -199,16 +185,84 @@ export type GatewayStartOrder = GatewayCreateOrderResponse & {
199
185
  satoshis: number;
200
186
  psbtBase64?: string;
201
187
  };
202
- export type GatewayOffRampOrder = {
203
- requestId: string;
204
- offrampAddress: string;
205
- satoshisToGet: number;
206
- evmTxHash: string;
207
- btcTxHash: string;
208
- timestamp: number;
209
- done: boolean;
210
- userAddress: string;
188
+ export type OfframpOrderStatus = 'Active' | 'Accepted' | 'Processed' | 'Refunded';
189
+ export interface OfframpQuote {
190
+ amountLockInSat: bigint;
191
+ feesInSat: bigint;
192
+ deadline: bigint;
193
+ registryAddress: Address;
194
+ feeRate: bigint;
195
+ token: Address;
196
+ }
197
+ export type OfframpCreateOrderParams = {
198
+ quote: OfframpQuote;
199
+ offrampABI: typeof offrampCreateOrderCaller;
200
+ offrampFunctionName: 'createOrder';
201
+ offrampArgs: [
202
+ {
203
+ satAmountToLock: bigint;
204
+ satFeesMax: bigint;
205
+ orderCreationDeadline: bigint;
206
+ outputScript: string;
207
+ token: Address;
208
+ }
209
+ ];
210
+ };
211
+ export type OfframpBumpFeeParams = {
212
+ offrampABI: typeof offrampBumpFeeCaller;
213
+ offrampFunctionName: 'bumpFeeOfExistingOrder';
214
+ offrampArgs: [
215
+ {
216
+ orderId: bigint;
217
+ newFeeSat: bigint;
218
+ }
219
+ ];
220
+ };
221
+ export type OfframpUnlockFundsParams = {
222
+ offrampABI: typeof offrampUnlockFundsCaller;
223
+ offrampFunctionName: 'unlockFunds';
224
+ offrampArgs: [
225
+ {
226
+ orderId: bigint;
227
+ receiver: Address;
228
+ }
229
+ ];
211
230
  };
231
+ export type OfframpOrderDetails = {
232
+ orderId: bigint;
233
+ token: Address;
234
+ satAmountLocked: bigint;
235
+ satFeesMax: bigint;
236
+ status: OfframpOrderStatus;
237
+ orderTimestamp: bigint;
238
+ evmTx: string;
239
+ btcTx: string;
240
+ shouldFeesBeBumped: boolean;
241
+ canOrderBeUnlocked: boolean;
242
+ };
243
+ export type OnchainOfframpOrderDetails = {
244
+ orderId: bigint;
245
+ token: Address;
246
+ satAmountLocked: bigint;
247
+ satFeesMax: bigint;
248
+ sender: Address;
249
+ receiver: Address | null;
250
+ owner: Address | null;
251
+ outputScript: string;
252
+ status: OfframpOrderStatus;
253
+ orderTimestamp: bigint;
254
+ };
255
+ export interface OfframpRawOrder {
256
+ orderId: string;
257
+ token: string;
258
+ satAmountLocked: string;
259
+ satFeesMax: string;
260
+ status: string;
261
+ orderTimestamp: string;
262
+ btcTx: string | null;
263
+ evmTx: string | null;
264
+ shouldFeesBeBumped: boolean;
265
+ }
212
266
  export interface GatewayStrategy {
213
267
  strategyAddress: string;
214
268
  strategyName: string;