@gobob/bob-sdk 4.3.0 → 4.3.2

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.
@@ -20,6 +20,7 @@ export declare class GatewayApiClient {
20
20
  private get baseUrl();
21
21
  private get chainId();
22
22
  getQuote(params: GetQuoteParams): Promise<ExecuteQuoteParams>;
23
+ getOfframpCreateOrderGasCost(params: GetQuoteParams, offrampQuote: OfframpQuote): Promise<bigint>;
23
24
  getOnrampQuote(params: GetQuoteParams): Promise<OnrampQuote & GatewayTokensInfo>;
24
25
  getOfframpQuote(params: GetQuoteParams): Promise<OfframpQuote>;
25
26
  fetchOfframpRegistryAddress(): Promise<Address>;
@@ -89,16 +89,77 @@ class GatewayApiClient {
89
89
  }
90
90
  else if (params.toChain.toString().toLowerCase() === 'bitcoin') {
91
91
  const data = await this.getOfframpQuote(params);
92
+ let createOrderGasCost = 0n;
93
+ try {
94
+ createOrderGasCost = await this.getOfframpCreateOrderGasCost(params, data);
95
+ }
96
+ catch (err) {
97
+ console.warn('Failed to get create order gas cost, defaulting to 0', err);
98
+ }
92
99
  return {
93
100
  type: 'offramp',
94
101
  params,
95
102
  finalOutputSats: data.amountReceiveInSat,
96
103
  finalFeeSats: data.feeBreakdown.overallFeeSats,
97
- data,
104
+ data: {
105
+ ...data,
106
+ feeBreakdown: {
107
+ ...data.feeBreakdown,
108
+ gasFee: createOrderGasCost,
109
+ },
110
+ },
98
111
  };
99
112
  }
100
113
  throw new Error('Invalid quote arguments');
101
114
  }
115
+ async getOfframpCreateOrderGasCost(params, offrampQuote) {
116
+ const chain = (0, utils_2.getChainConfig)(params.fromChain);
117
+ const publicClient = (0, utils_2.viemClient)(chain);
118
+ const [offrampOrder, offrampRegistryAddress, feeValues, gasPrice] = await Promise.all([
119
+ this.createOfframpOrder(offrampQuote, params),
120
+ this.fetchOfframpRegistryAddress(),
121
+ publicClient.estimateFeesPerGas(),
122
+ publicClient.getGasPrice(),
123
+ ]);
124
+ const fee = feeValues.maxFeePerGas ?? gasPrice;
125
+ const slots = (0, tokens_1.getTokenSlots)(offrampOrder.quote.token, this.chainId);
126
+ const user = params.fromUserAddress ?? '0x1111111111111111111111111111111111111111';
127
+ const allowanceSlot = (0, utils_2.computeAllowanceSlot)(user, offrampRegistryAddress, slots.allowanceSlot);
128
+ const balanceSlot = (0, utils_2.computeBalanceSlot)(user, slots.balanceSlot);
129
+ const args = [
130
+ {
131
+ ...offrampOrder.offrampArgs[0],
132
+ owner: user,
133
+ },
134
+ ];
135
+ const createOrderGasEstimate = await publicClient.estimateContractGas({
136
+ address: offrampRegistryAddress,
137
+ abi: offrampOrder.offrampABI,
138
+ functionName: offrampOrder.offrampFunctionName,
139
+ args,
140
+ account: user,
141
+ stateOverride: [
142
+ {
143
+ address: offrampOrder.quote.token,
144
+ stateDiff: [
145
+ {
146
+ slot: allowanceSlot,
147
+ value: (0, viem_1.toHex)(viem_1.maxUint256),
148
+ },
149
+ {
150
+ slot: balanceSlot,
151
+ value: (0, viem_1.toHex)(viem_1.maxUint256),
152
+ },
153
+ ],
154
+ },
155
+ {
156
+ address: user,
157
+ balance: (0, viem_1.parseEther)('1'),
158
+ },
159
+ ],
160
+ });
161
+ return createOrderGasEstimate * fee;
162
+ }
102
163
  async getOnrampQuote(params) {
103
164
  const isMainnet = params.toChain === chains_1.bob.id ||
104
165
  (typeof params.toChain === 'string' && params.toChain.toLowerCase() === chains_1.bob.name.toLowerCase());
@@ -306,6 +367,7 @@ class GatewayApiClient {
306
367
  orderTimestamp: Number(order.orderTimestamp),
307
368
  shouldFeesBeBumped: order.shouldFeesBeBumped,
308
369
  canOrderBeUnlocked,
370
+ offrampRegistryAddress,
309
371
  };
310
372
  }));
311
373
  }
@@ -575,6 +637,8 @@ class GatewayApiClient {
575
637
  const response = await this.safeFetch(`${this.baseUrl}/orders/${userAddress}`, undefined, 'Failed to fetch onramp orders');
576
638
  const orders = await response.json();
577
639
  return orders.map((order) => {
640
+ const outputTokenAddress = order.outputTokenAddress ?? order.tokensReceived?.[0]?.tokenAddress ?? null;
641
+ const outputTokenAmount = order.outputTokenAmount ?? order.tokensReceived?.[0]?.amount ?? null;
578
642
  function getFinal(base, output) {
579
643
  return order.status
580
644
  ? order.strategyAddress
@@ -587,7 +651,15 @@ class GatewayApiClient {
587
651
  : base;
588
652
  }
589
653
  const getTokenAddress = () => {
590
- return getFinal(order.baseTokenAddress, order.outputTokenAddress);
654
+ return getFinal(order.baseTokenAddress, outputTokenAddress);
655
+ };
656
+ const getTokenAmount = () => {
657
+ let amount = order.satoshis - order.fee;
658
+ const token = getToken();
659
+ if (token && !outputTokenAmount) {
660
+ amount *= Math.pow(10, token.decimals - 8);
661
+ }
662
+ return getFinal(amount, outputTokenAmount);
591
663
  };
592
664
  const getToken = () => {
593
665
  return tokens_1.ADDRESS_LOOKUP[chainId][getTokenAddress()];
@@ -602,6 +674,28 @@ class GatewayApiClient {
602
674
  const orderDetails = order.orderDetails
603
675
  ? (0, utils_2.convertOrderDetailsRawToOrderDetails)(order.orderDetails)
604
676
  : undefined;
677
+ const getOutputTokens = () => {
678
+ const tokens = order.tokensReceived
679
+ ? order.tokensReceived
680
+ : outputTokenAmount && outputTokenAddress
681
+ ? [{ amount: outputTokenAmount, tokenAddress: outputTokenAddress }]
682
+ : [];
683
+ return tokens
684
+ .map(({ amount, tokenAddress }) => ({
685
+ amount: amount,
686
+ token: tokens_1.ADDRESS_LOOKUP[chainId][tokenAddress],
687
+ }))
688
+ .filter((x) => x.token);
689
+ };
690
+ const getTokens = () => {
691
+ const tokens = order.tokensReceived
692
+ ? order.tokensReceived
693
+ : [{ amount: getTokenAmount(), tokenAddress: getTokenAddress() }];
694
+ return tokens.map(({ amount, tokenAddress }) => ({
695
+ amount: amount,
696
+ token: tokens_1.ADDRESS_LOOKUP[chainId][tokenAddress],
697
+ }));
698
+ };
605
699
  return {
606
700
  ...order,
607
701
  orderDetails,
@@ -610,14 +704,9 @@ class GatewayApiClient {
610
704
  outputToken: tokens_1.ADDRESS_LOOKUP[chainId][order.outputTokenAddress],
611
705
  getTokenAddress,
612
706
  getToken,
613
- getTokenAmount() {
614
- let amount = order.satoshis - order.fee;
615
- const token = getToken();
616
- if (token && !order.outputTokenAmount) {
617
- amount *= Math.pow(10, token.decimals - 8);
618
- }
619
- return getFinal(amount, order.outputTokenAmount);
620
- },
707
+ getTokenAmount,
708
+ getTokens,
709
+ getOutputTokens,
621
710
  getConfirmations,
622
711
  async getStatus(esploraClient, latestHeight) {
623
712
  const confirmations = await getConfirmations(esploraClient, latestHeight);
@@ -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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"}
@@ -13,3 +13,7 @@ export declare const ADDRESS_LOOKUP: {
13
13
  export declare const tokenToStrategyTypeMap: Map<string, "bob" | "segment" | "ionic" | "veda" | "avalon">;
14
14
  export declare function getTokenDecimals(tokenAddress: Address): number | undefined;
15
15
  export declare function getTokenAddress(chainId: number, token: string): Address;
16
+ export declare function getTokenSlots(tokenAddress: Address, chainId: number): {
17
+ allowanceSlot: bigint;
18
+ balanceSlot: bigint;
19
+ };
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.tokenToStrategyTypeMap = exports.ADDRESS_LOOKUP = exports.SYMBOL_LOOKUP = void 0;
4
4
  exports.getTokenDecimals = getTokenDecimals;
5
5
  exports.getTokenAddress = getTokenAddress;
6
+ exports.getTokenSlots = getTokenSlots;
6
7
  const viem_1 = require("viem");
7
8
  const chains_1 = require("viem/chains");
8
9
  const bobTokens = [
@@ -38,6 +39,8 @@ const bobTokens = [
38
39
  },
39
40
  },
40
41
  logoURI: 'https://raw.githubusercontent.com/bob-collective/bob/master/assets/wbtc.svg',
42
+ allowanceSlot: 6n,
43
+ balanceSlot: 5n,
41
44
  },
42
45
  {
43
46
  name: 'Solv BTC',
@@ -106,6 +109,8 @@ const bobSepoliaTokens = [
106
109
  },
107
110
  },
108
111
  logoURI: 'https://raw.githubusercontent.com/bob-collective/bob/master/assets/btc.svg',
112
+ allowanceSlot: 1n,
113
+ balanceSlot: 0n,
109
114
  },
110
115
  {
111
116
  name: 'Staked mtBTC',
@@ -404,4 +409,21 @@ function getTokenAddress(chainId, token) {
404
409
  throw new Error('Unknown output token');
405
410
  }
406
411
  }
412
+ function getTokenSlots(tokenAddress, chainId) {
413
+ const lowerAddress = tokenAddress.toLowerCase();
414
+ const token = TOKENS.find((t) => {
415
+ const chainToken = t.tokens[chains_1.bob.id === chainId ? 'bob' : 'bob-sepolia'];
416
+ return chainToken?.address.toLowerCase() === lowerAddress;
417
+ });
418
+ if (!token) {
419
+ throw new Error(`Token not found for address ${tokenAddress} on chain ${chainId}`);
420
+ }
421
+ if (token.allowanceSlot === undefined || token.balanceSlot === undefined) {
422
+ throw new Error(`Slots not defined for token ${token.symbol} at address ${tokenAddress}`);
423
+ }
424
+ return {
425
+ allowanceSlot: token.allowanceSlot,
426
+ balanceSlot: token.balanceSlot,
427
+ };
428
+ }
407
429
  //# 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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"}
@@ -169,6 +169,10 @@ export type OfframpGatewayCreateQuoteResponse = {
169
169
  minimumFeesToPay: string;
170
170
  gateway: Address;
171
171
  };
172
+ export interface TokenReceived {
173
+ amount: string;
174
+ tokenAddress: Address;
175
+ }
172
176
  export interface OnrampOrderResponse {
173
177
  gatewayAddress: Address;
174
178
  baseTokenAddress: Address;
@@ -179,14 +183,15 @@ export interface OnrampOrderResponse {
179
183
  satoshis: number;
180
184
  fee: number;
181
185
  txProofDifficultyFactor: number;
182
- strategyAddress?: Address;
186
+ strategyAddress: Address | null;
183
187
  satsToConvertToEth: number;
184
- outputEthAmount?: string;
185
- outputTokenAddress?: Address;
186
- outputTokenAmount?: string;
187
- txHash?: string;
188
- orderDetails?: OrderDetailsRaw;
189
- layerzeroDstEid?: number;
188
+ outputEthAmount: string | null;
189
+ outputTokenAddress: Address | null;
190
+ outputTokenAmount: string | null;
191
+ txHash: string | null;
192
+ orderDetails: OrderDetailsRaw | null;
193
+ layerzeroDstEid: number | null;
194
+ tokensReceived: TokenReceived[] | null;
190
195
  }
191
196
  export type OrderStatusData = {
192
197
  confirmations: number;
@@ -207,15 +212,23 @@ export type OrderStatus = {
207
212
  success: boolean;
208
213
  data: OrderStatusData;
209
214
  };
210
- export type OnrampOrder = Omit<OnrampOrderResponse, 'satsToConvertToEth' | 'orderDetails'> & {
215
+ export type OnrampOrder = Omit<OnrampOrderResponse, 'satsToConvertToEth' | 'orderDetails' | 'tokensReceived' | 'outputTokenAddress' | 'outputTokenAmount'> & {
211
216
  gasRefill: number;
212
217
  orderDetails?: OrderDetails;
213
218
  } & {
214
219
  getTokenAddress(): string | undefined;
215
220
  getToken(): Token | undefined;
216
- getTokenAmount(): string | number | undefined;
221
+ getTokenAmount(): string | number | null;
217
222
  getConfirmations(esploraClient: EsploraClient, latestHeight?: number): Promise<number>;
218
223
  getStatus(esploraClient: EsploraClient, latestHeight?: number): Promise<OrderStatus>;
224
+ getOutputTokens(): {
225
+ amount: string;
226
+ token: Token;
227
+ }[];
228
+ getTokens(): {
229
+ amount: string | number;
230
+ token: Token;
231
+ }[];
219
232
  } & GatewayTokensInfo;
220
233
  export type GatewayTokensInfo = {
221
234
  baseToken: Token;
@@ -237,6 +250,7 @@ export interface OfframpFeeBreakdown {
237
250
  protocolFeeSats: number;
238
251
  affiliateFeeSats: number;
239
252
  fastestFeeRate: number;
253
+ gasFee?: bigint;
240
254
  }
241
255
  export interface OfframpQuote {
242
256
  amountLockInSat: number;
@@ -279,6 +293,7 @@ export type OfframpOrder = {
279
293
  btcTx: string | null;
280
294
  shouldFeesBeBumped: boolean;
281
295
  canOrderBeUnlocked: boolean;
296
+ offrampRegistryAddress: Address;
282
297
  };
283
298
  export type OnchainOfframpOrderDetails = {
284
299
  orderId: bigint;
@@ -1,5 +1,6 @@
1
1
  import { Chain as ViemChain } from 'viem';
2
2
  import { GatewayCreateOrderRequest, OfframpOrderStatus, OnrampFeeBreakdown, OnrampFeeBreakdownRaw, OrderDetails, OrderDetailsRaw } from './types';
3
+ import { Address, Hex } from 'viem';
3
4
  import * as bitcoin from 'bitcoinjs-lib';
4
5
  export declare function calculateOpReturnHash(req: GatewayCreateOrderRequest): `0x${string}`;
5
6
  export declare function toHexScriptPubKey(userAddress: string, network: bitcoin.Network): string;
@@ -52,14 +53,14 @@ export declare function viemClient(chain: ViemChain): {
52
53
  blobGasUsed: bigint;
53
54
  difficulty: bigint;
54
55
  excessBlobGas: bigint;
55
- extraData: import("viem").Hex;
56
+ extraData: Hex;
56
57
  gasLimit: bigint;
57
- miner: import("viem").Address;
58
+ miner: Address;
58
59
  mixHash: import("viem").Hash;
59
60
  parentBeaconBlockRoot?: `0x${string}` | undefined;
60
61
  parentHash: import("viem").Hash;
61
- receiptsRoot: import("viem").Hex;
62
- sealFields: import("viem").Hex[];
62
+ receiptsRoot: Hex;
63
+ sealFields: Hex[];
63
64
  sha3Uncles: import("viem").Hash;
64
65
  size: bigint;
65
66
  stateRoot: import("viem").Hash;
@@ -71,9 +72,9 @@ export declare function viemClient(chain: ViemChain): {
71
72
  transactions: includeTransactions extends true ? ({
72
73
  value: bigint;
73
74
  type: "legacy";
74
- to: import("viem").Address | null;
75
+ to: Address | null;
75
76
  nonce: number;
76
- from: import("viem").Address;
77
+ from: Address;
77
78
  gas: bigint;
78
79
  maxFeePerBlobGas?: undefined | undefined;
79
80
  gasPrice: bigint;
@@ -83,12 +84,12 @@ export declare function viemClient(chain: ViemChain): {
83
84
  blobVersionedHashes?: undefined | undefined;
84
85
  authorizationList?: undefined | undefined;
85
86
  hash: import("viem").Hash;
86
- r: import("viem").Hex;
87
- s: import("viem").Hex;
87
+ r: Hex;
88
+ s: Hex;
88
89
  v: bigint;
89
90
  yParity?: undefined | undefined;
90
- input: import("viem").Hex;
91
- typeHex: import("viem").Hex | null;
91
+ input: Hex;
92
+ typeHex: Hex | null;
92
93
  chainId?: number | undefined;
93
94
  blockNumber: (blockTag extends "pending" ? true : false) extends infer T ? T extends (blockTag extends "pending" ? true : false) ? T extends true ? null : bigint : never : never;
94
95
  blockHash: (blockTag extends "pending" ? true : false) extends infer T_1 ? T_1 extends (blockTag extends "pending" ? true : false) ? T_1 extends true ? null : `0x${string}` : never : never;
@@ -96,9 +97,9 @@ export declare function viemClient(chain: ViemChain): {
96
97
  } | {
97
98
  value: bigint;
98
99
  type: "eip2930";
99
- to: import("viem").Address | null;
100
+ to: Address | null;
100
101
  nonce: number;
101
- from: import("viem").Address;
102
+ from: Address;
102
103
  gas: bigint;
103
104
  maxFeePerBlobGas?: undefined | undefined;
104
105
  gasPrice: bigint;
@@ -108,12 +109,12 @@ export declare function viemClient(chain: ViemChain): {
108
109
  blobVersionedHashes?: undefined | undefined;
109
110
  authorizationList?: undefined | undefined;
110
111
  hash: import("viem").Hash;
111
- r: import("viem").Hex;
112
- s: import("viem").Hex;
112
+ r: Hex;
113
+ s: Hex;
113
114
  v: bigint;
114
115
  yParity: number;
115
- input: import("viem").Hex;
116
- typeHex: import("viem").Hex | null;
116
+ input: Hex;
117
+ typeHex: Hex | null;
117
118
  chainId: number;
118
119
  blockNumber: (blockTag extends "pending" ? true : false) extends infer T_3 ? T_3 extends (blockTag extends "pending" ? true : false) ? T_3 extends true ? null : bigint : never : never;
119
120
  blockHash: (blockTag extends "pending" ? true : false) extends infer T_4 ? T_4 extends (blockTag extends "pending" ? true : false) ? T_4 extends true ? null : `0x${string}` : never : never;
@@ -121,9 +122,9 @@ export declare function viemClient(chain: ViemChain): {
121
122
  } | {
122
123
  value: bigint;
123
124
  type: "eip1559";
124
- to: import("viem").Address | null;
125
+ to: Address | null;
125
126
  nonce: number;
126
- from: import("viem").Address;
127
+ from: Address;
127
128
  gas: bigint;
128
129
  maxFeePerBlobGas?: undefined | undefined;
129
130
  gasPrice?: undefined | undefined;
@@ -133,12 +134,12 @@ export declare function viemClient(chain: ViemChain): {
133
134
  blobVersionedHashes?: undefined | undefined;
134
135
  authorizationList?: undefined | undefined;
135
136
  hash: import("viem").Hash;
136
- r: import("viem").Hex;
137
- s: import("viem").Hex;
137
+ r: Hex;
138
+ s: Hex;
138
139
  v: bigint;
139
140
  yParity: number;
140
- input: import("viem").Hex;
141
- typeHex: import("viem").Hex | null;
141
+ input: Hex;
142
+ typeHex: Hex | null;
142
143
  chainId: number;
143
144
  blockNumber: (blockTag extends "pending" ? true : false) extends infer T_6 ? T_6 extends (blockTag extends "pending" ? true : false) ? T_6 extends true ? null : bigint : never : never;
144
145
  blockHash: (blockTag extends "pending" ? true : false) extends infer T_7 ? T_7 extends (blockTag extends "pending" ? true : false) ? T_7 extends true ? null : `0x${string}` : never : never;
@@ -146,24 +147,24 @@ export declare function viemClient(chain: ViemChain): {
146
147
  } | {
147
148
  value: bigint;
148
149
  type: "eip4844";
149
- to: import("viem").Address | null;
150
+ to: Address | null;
150
151
  nonce: number;
151
- from: import("viem").Address;
152
+ from: Address;
152
153
  gas: bigint;
153
154
  maxFeePerBlobGas: bigint;
154
155
  gasPrice?: undefined | undefined;
155
156
  maxFeePerGas: bigint;
156
157
  maxPriorityFeePerGas: bigint;
157
158
  accessList: import("viem").AccessList;
158
- blobVersionedHashes: readonly import("viem").Hex[];
159
+ blobVersionedHashes: readonly Hex[];
159
160
  authorizationList?: undefined | undefined;
160
161
  hash: import("viem").Hash;
161
- r: import("viem").Hex;
162
- s: import("viem").Hex;
162
+ r: Hex;
163
+ s: Hex;
163
164
  v: bigint;
164
165
  yParity: number;
165
- input: import("viem").Hex;
166
- typeHex: import("viem").Hex | null;
166
+ input: Hex;
167
+ typeHex: Hex | null;
167
168
  chainId: number;
168
169
  blockNumber: (blockTag extends "pending" ? true : false) extends infer T_9 ? T_9 extends (blockTag extends "pending" ? true : false) ? T_9 extends true ? null : bigint : never : never;
169
170
  blockHash: (blockTag extends "pending" ? true : false) extends infer T_10 ? T_10 extends (blockTag extends "pending" ? true : false) ? T_10 extends true ? null : `0x${string}` : never : never;
@@ -171,9 +172,9 @@ export declare function viemClient(chain: ViemChain): {
171
172
  } | {
172
173
  value: bigint;
173
174
  type: "eip7702";
174
- to: import("viem").Address | null;
175
+ to: Address | null;
175
176
  nonce: number;
176
- from: import("viem").Address;
177
+ from: Address;
177
178
  gas: bigint;
178
179
  maxFeePerBlobGas?: undefined | undefined;
179
180
  gasPrice?: undefined | undefined;
@@ -183,12 +184,12 @@ export declare function viemClient(chain: ViemChain): {
183
184
  blobVersionedHashes?: undefined | undefined;
184
185
  authorizationList: import("viem").SignedAuthorizationList;
185
186
  hash: import("viem").Hash;
186
- r: import("viem").Hex;
187
- s: import("viem").Hex;
187
+ r: Hex;
188
+ s: Hex;
188
189
  v: bigint;
189
190
  yParity: number;
190
- input: import("viem").Hex;
191
- typeHex: import("viem").Hex | null;
191
+ input: Hex;
192
+ typeHex: Hex | null;
192
193
  chainId: number;
193
194
  blockNumber: (blockTag extends "pending" ? true : false) extends infer T_12 ? T_12 extends (blockTag extends "pending" ? true : false) ? T_12 extends true ? null : bigint : never : never;
194
195
  blockHash: (blockTag extends "pending" ? true : false) extends infer T_13 ? T_13 extends (blockTag extends "pending" ? true : false) ? T_13 extends true ? null : `0x${string}` : never : never;
@@ -221,9 +222,9 @@ export declare function viemClient(chain: ViemChain): {
221
222
  getTransaction: <blockTag extends import("viem").BlockTag = "latest">(args: import("viem").GetTransactionParameters<blockTag>) => Promise<{
222
223
  value: bigint;
223
224
  type: "legacy";
224
- to: import("viem").Address | null;
225
+ to: Address | null;
225
226
  nonce: number;
226
- from: import("viem").Address;
227
+ from: Address;
227
228
  gas: bigint;
228
229
  maxFeePerBlobGas?: undefined | undefined;
229
230
  gasPrice: bigint;
@@ -233,12 +234,12 @@ export declare function viemClient(chain: ViemChain): {
233
234
  blobVersionedHashes?: undefined | undefined;
234
235
  authorizationList?: undefined | undefined;
235
236
  hash: import("viem").Hash;
236
- r: import("viem").Hex;
237
- s: import("viem").Hex;
237
+ r: Hex;
238
+ s: Hex;
238
239
  v: bigint;
239
240
  yParity?: undefined | undefined;
240
- input: import("viem").Hex;
241
- typeHex: import("viem").Hex | null;
241
+ input: Hex;
242
+ typeHex: Hex | null;
242
243
  chainId?: number | undefined;
243
244
  blockNumber: (blockTag extends "pending" ? true : false) extends infer T ? T extends (blockTag extends "pending" ? true : false) ? T extends true ? null : bigint : never : never;
244
245
  blockHash: (blockTag extends "pending" ? true : false) extends infer T_1 ? T_1 extends (blockTag extends "pending" ? true : false) ? T_1 extends true ? null : `0x${string}` : never : never;
@@ -246,9 +247,9 @@ export declare function viemClient(chain: ViemChain): {
246
247
  } | {
247
248
  value: bigint;
248
249
  type: "eip2930";
249
- to: import("viem").Address | null;
250
+ to: Address | null;
250
251
  nonce: number;
251
- from: import("viem").Address;
252
+ from: Address;
252
253
  gas: bigint;
253
254
  maxFeePerBlobGas?: undefined | undefined;
254
255
  gasPrice: bigint;
@@ -258,12 +259,12 @@ export declare function viemClient(chain: ViemChain): {
258
259
  blobVersionedHashes?: undefined | undefined;
259
260
  authorizationList?: undefined | undefined;
260
261
  hash: import("viem").Hash;
261
- r: import("viem").Hex;
262
- s: import("viem").Hex;
262
+ r: Hex;
263
+ s: Hex;
263
264
  v: bigint;
264
265
  yParity: number;
265
- input: import("viem").Hex;
266
- typeHex: import("viem").Hex | null;
266
+ input: Hex;
267
+ typeHex: Hex | null;
267
268
  chainId: number;
268
269
  blockNumber: (blockTag extends "pending" ? true : false) extends infer T_3 ? T_3 extends (blockTag extends "pending" ? true : false) ? T_3 extends true ? null : bigint : never : never;
269
270
  blockHash: (blockTag extends "pending" ? true : false) extends infer T_4 ? T_4 extends (blockTag extends "pending" ? true : false) ? T_4 extends true ? null : `0x${string}` : never : never;
@@ -271,9 +272,9 @@ export declare function viemClient(chain: ViemChain): {
271
272
  } | {
272
273
  value: bigint;
273
274
  type: "eip1559";
274
- to: import("viem").Address | null;
275
+ to: Address | null;
275
276
  nonce: number;
276
- from: import("viem").Address;
277
+ from: Address;
277
278
  gas: bigint;
278
279
  maxFeePerBlobGas?: undefined | undefined;
279
280
  gasPrice?: undefined | undefined;
@@ -283,12 +284,12 @@ export declare function viemClient(chain: ViemChain): {
283
284
  blobVersionedHashes?: undefined | undefined;
284
285
  authorizationList?: undefined | undefined;
285
286
  hash: import("viem").Hash;
286
- r: import("viem").Hex;
287
- s: import("viem").Hex;
287
+ r: Hex;
288
+ s: Hex;
288
289
  v: bigint;
289
290
  yParity: number;
290
- input: import("viem").Hex;
291
- typeHex: import("viem").Hex | null;
291
+ input: Hex;
292
+ typeHex: Hex | null;
292
293
  chainId: number;
293
294
  blockNumber: (blockTag extends "pending" ? true : false) extends infer T_6 ? T_6 extends (blockTag extends "pending" ? true : false) ? T_6 extends true ? null : bigint : never : never;
294
295
  blockHash: (blockTag extends "pending" ? true : false) extends infer T_7 ? T_7 extends (blockTag extends "pending" ? true : false) ? T_7 extends true ? null : `0x${string}` : never : never;
@@ -296,24 +297,24 @@ export declare function viemClient(chain: ViemChain): {
296
297
  } | {
297
298
  value: bigint;
298
299
  type: "eip4844";
299
- to: import("viem").Address | null;
300
+ to: Address | null;
300
301
  nonce: number;
301
- from: import("viem").Address;
302
+ from: Address;
302
303
  gas: bigint;
303
304
  maxFeePerBlobGas: bigint;
304
305
  gasPrice?: undefined | undefined;
305
306
  maxFeePerGas: bigint;
306
307
  maxPriorityFeePerGas: bigint;
307
308
  accessList: import("viem").AccessList;
308
- blobVersionedHashes: readonly import("viem").Hex[];
309
+ blobVersionedHashes: readonly Hex[];
309
310
  authorizationList?: undefined | undefined;
310
311
  hash: import("viem").Hash;
311
- r: import("viem").Hex;
312
- s: import("viem").Hex;
312
+ r: Hex;
313
+ s: Hex;
313
314
  v: bigint;
314
315
  yParity: number;
315
- input: import("viem").Hex;
316
- typeHex: import("viem").Hex | null;
316
+ input: Hex;
317
+ typeHex: Hex | null;
317
318
  chainId: number;
318
319
  blockNumber: (blockTag extends "pending" ? true : false) extends infer T_9 ? T_9 extends (blockTag extends "pending" ? true : false) ? T_9 extends true ? null : bigint : never : never;
319
320
  blockHash: (blockTag extends "pending" ? true : false) extends infer T_10 ? T_10 extends (blockTag extends "pending" ? true : false) ? T_10 extends true ? null : `0x${string}` : never : never;
@@ -321,9 +322,9 @@ export declare function viemClient(chain: ViemChain): {
321
322
  } | {
322
323
  value: bigint;
323
324
  type: "eip7702";
324
- to: import("viem").Address | null;
325
+ to: Address | null;
325
326
  nonce: number;
326
- from: import("viem").Address;
327
+ from: Address;
327
328
  gas: bigint;
328
329
  maxFeePerBlobGas?: undefined | undefined;
329
330
  gasPrice?: undefined | undefined;
@@ -333,12 +334,12 @@ export declare function viemClient(chain: ViemChain): {
333
334
  blobVersionedHashes?: undefined | undefined;
334
335
  authorizationList: import("viem").SignedAuthorizationList;
335
336
  hash: import("viem").Hash;
336
- r: import("viem").Hex;
337
- s: import("viem").Hex;
337
+ r: Hex;
338
+ s: Hex;
338
339
  v: bigint;
339
340
  yParity: number;
340
- input: import("viem").Hex;
341
- typeHex: import("viem").Hex | null;
341
+ input: Hex;
342
+ typeHex: Hex | null;
342
343
  chainId: number;
343
344
  blockNumber: (blockTag extends "pending" ? true : false) extends infer T_12 ? T_12 extends (blockTag extends "pending" ? true : false) ? T_12 extends true ? null : bigint : never : never;
344
345
  blockHash: (blockTag extends "pending" ? true : false) extends infer T_13 ? T_13 extends (blockTag extends "pending" ? true : false) ? T_13 extends true ? null : `0x${string}` : never : never;
@@ -348,13 +349,13 @@ export declare function viemClient(chain: ViemChain): {
348
349
  getTransactionCount: (args: import("viem").GetTransactionCountParameters) => Promise<import("viem").GetTransactionCountReturnType>;
349
350
  getTransactionReceipt: (args: import("viem").GetTransactionReceiptParameters) => Promise<import("viem").TransactionReceipt>;
350
351
  multicall: <const contracts extends readonly unknown[], allowFailure extends boolean = true>(args: import("viem").MulticallParameters<contracts, allowFailure>) => Promise<import("viem").MulticallReturnType<contracts, allowFailure>>;
351
- prepareTransactionRequest: <const request extends import("viem").PrepareTransactionRequestRequest<ViemChain, chainOverride>, chainOverride extends ViemChain | undefined = undefined, accountOverride extends import("viem").Account | import("viem").Address | undefined = undefined>(args: import("viem").PrepareTransactionRequestParameters<ViemChain, import("viem").Account | undefined, chainOverride, accountOverride, request>) => Promise<import("viem").UnionRequiredBy<Extract<import("viem").UnionOmit<import("viem").ExtractChainFormatterParameters<import("viem").DeriveChain<ViemChain, chainOverride>, "transactionRequest", import("viem").TransactionRequest>, "from"> & (import("viem").DeriveChain<ViemChain, chainOverride> extends infer T_14 ? T_14 extends import("viem").DeriveChain<ViemChain, chainOverride> ? T_14 extends ViemChain ? {
352
+ prepareTransactionRequest: <const request extends import("viem").PrepareTransactionRequestRequest<ViemChain, chainOverride>, chainOverride extends ViemChain | undefined = undefined, accountOverride extends import("viem").Account | Address | undefined = undefined>(args: import("viem").PrepareTransactionRequestParameters<ViemChain, import("viem").Account | undefined, chainOverride, accountOverride, request>) => Promise<import("viem").UnionRequiredBy<Extract<import("viem").UnionOmit<import("viem").ExtractChainFormatterParameters<import("viem").DeriveChain<ViemChain, chainOverride>, "transactionRequest", import("viem").TransactionRequest>, "from"> & (import("viem").DeriveChain<ViemChain, chainOverride> extends infer T_14 ? T_14 extends import("viem").DeriveChain<ViemChain, chainOverride> ? T_14 extends ViemChain ? {
352
353
  chain: T_14;
353
354
  } : {
354
355
  chain?: undefined;
355
356
  } : never : never) & (import("viem").DeriveAccount<import("viem").Account | undefined, accountOverride> extends infer T_15 ? T_15 extends import("viem").DeriveAccount<import("viem").Account | undefined, accountOverride> ? T_15 extends import("viem").Account ? {
356
357
  account: T_15;
357
- from: import("viem").Address;
358
+ from: Address;
358
359
  } : {
359
360
  account?: undefined;
360
361
  from?: undefined;
@@ -3606,7 +3607,7 @@ export declare function viemClient(chain: ViemChain): {
3606
3607
  chain?: undefined;
3607
3608
  } : never : never) & (import("viem").DeriveAccount<import("viem").Account | undefined, accountOverride> extends infer T_2 ? T_2 extends import("viem").DeriveAccount<import("viem").Account | undefined, accountOverride> ? T_2 extends import("viem").Account ? {
3608
3609
  account: T_2;
3609
- from: import("viem").Address;
3610
+ from: Address;
3610
3611
  } : {
3611
3612
  account?: undefined;
3612
3613
  from?: undefined;
@@ -6858,7 +6859,7 @@ export declare function viemClient(chain: ViemChain): {
6858
6859
  simulate: <const calls extends readonly unknown[]>(args: import("viem").SimulateBlocksParameters<calls>) => Promise<import("viem").SimulateBlocksReturnType<calls>>;
6859
6860
  simulateBlocks: <const calls extends readonly unknown[]>(args: import("viem").SimulateBlocksParameters<calls>) => Promise<import("viem").SimulateBlocksReturnType<calls>>;
6860
6861
  simulateCalls: <const calls extends readonly unknown[]>(args: import("viem").SimulateCallsParameters<calls>) => Promise<import("viem").SimulateCallsReturnType<calls>>;
6861
- simulateContract: <const abi extends import("viem").Abi | readonly unknown[], functionName extends import("viem").ContractFunctionName<abi, "nonpayable" | "payable">, const args_1 extends import("viem").ContractFunctionArgs<abi, "nonpayable" | "payable", functionName>, chainOverride extends ViemChain | undefined, accountOverride extends import("viem").Account | import("viem").Address | undefined = undefined>(args: import("viem").SimulateContractParameters<abi, functionName, args_1, ViemChain, chainOverride, accountOverride>) => Promise<import("viem").SimulateContractReturnType<abi, functionName, args_1, ViemChain, import("viem").Account | undefined, chainOverride, accountOverride>>;
6862
+ simulateContract: <const abi extends import("viem").Abi | readonly unknown[], functionName extends import("viem").ContractFunctionName<abi, "nonpayable" | "payable">, const args_1 extends import("viem").ContractFunctionArgs<abi, "nonpayable" | "payable", functionName>, chainOverride extends ViemChain | undefined, accountOverride extends import("viem").Account | Address | undefined = undefined>(args: import("viem").SimulateContractParameters<abi, functionName, args_1, ViemChain, chainOverride, accountOverride>) => Promise<import("viem").SimulateContractReturnType<abi, functionName, args_1, ViemChain, import("viem").Account | undefined, chainOverride, accountOverride>>;
6862
6863
  verifyMessage: (args: import("viem").VerifyMessageActionParameters) => Promise<import("viem").VerifyMessageActionReturnType>;
6863
6864
  verifySiweMessage: (args: import("viem/_types/actions/siwe/verifySiweMessage").VerifySiweMessageParameters) => Promise<import("viem/_types/actions/siwe/verifySiweMessage").VerifySiweMessageReturnType>;
6864
6865
  verifyTypedData: (args: import("viem").VerifyTypedDataActionParameters) => Promise<import("viem").VerifyTypedDataActionReturnType>;
@@ -6891,3 +6892,6 @@ export declare function convertOrderDetailsToRaw(order: OrderDetails): OrderDeta
6891
6892
  export declare function convertOnrampFeeBreakdown(order: OnrampFeeBreakdownRaw): OnrampFeeBreakdown;
6892
6893
  export declare function parseBtc(btc: string): bigint;
6893
6894
  export declare function formatBtc(btc: bigint): string;
6895
+ export declare function getChainConfig(fromChain: string | number): ViemChain;
6896
+ export declare function computeAllowanceSlot(user: Address, offrampRegistryAddress: Address, tokenAllowanceSlot: bigint): Hex;
6897
+ export declare function computeBalanceSlot(user: Address, balancesMappingSlot: bigint): Hex;
@@ -45,9 +45,13 @@ exports.convertOrderDetailsToRaw = convertOrderDetailsToRaw;
45
45
  exports.convertOnrampFeeBreakdown = convertOnrampFeeBreakdown;
46
46
  exports.parseBtc = parseBtc;
47
47
  exports.formatBtc = formatBtc;
48
+ exports.getChainConfig = getChainConfig;
49
+ exports.computeAllowanceSlot = computeAllowanceSlot;
50
+ exports.computeBalanceSlot = computeBalanceSlot;
48
51
  const viem_1 = require("viem");
49
52
  const viem_2 = require("viem");
50
53
  const bitcoin = __importStar(require("bitcoinjs-lib"));
54
+ const chains_1 = require("viem/chains");
51
55
  function calculateOpReturnHash(req) {
52
56
  return (0, viem_2.keccak256)((0, viem_2.encodeAbiParameters)((0, viem_2.parseAbiParameters)([
53
57
  'address gateway',
@@ -142,4 +146,64 @@ function parseBtc(btc) {
142
146
  function formatBtc(btc) {
143
147
  return (0, viem_2.formatUnits)(btc, 8);
144
148
  }
149
+ const supportedChains = [
150
+ chains_1.bob,
151
+ chains_1.mainnet,
152
+ chains_1.sonic,
153
+ chains_1.bsc,
154
+ chains_1.unichain,
155
+ chains_1.berachain,
156
+ chains_1.sei,
157
+ chains_1.avalanche,
158
+ chains_1.base,
159
+ chains_1.soneium,
160
+ chains_1.optimism,
161
+ ];
162
+ const chainIdToChainConfigMapping = supportedChains.reduce((acc, chain) => {
163
+ acc[chain.id] = chain;
164
+ return acc;
165
+ }, {});
166
+ const chainNameToChainIdMapping = supportedChains.reduce((acc, chain) => {
167
+ acc[chain.name.toLowerCase()] = chain.id;
168
+ return acc;
169
+ }, {});
170
+ function getChainIdByName(chainName) {
171
+ const chainId = chainNameToChainIdMapping[chainName.toLowerCase()];
172
+ if (!chainId) {
173
+ throw new Error(`Chain id for "${chainName}" not found. Allowed values ${supportedChains.map((chain) => chain.name)}`);
174
+ }
175
+ return chainId;
176
+ }
177
+ function getChainConfigById(chainId) {
178
+ const config = chainIdToChainConfigMapping[chainId];
179
+ if (!config) {
180
+ throw new Error(`Chain id for "${chainId}" not found. Allowed values ${supportedChains.map((chain) => chain.id)}`);
181
+ }
182
+ return config;
183
+ }
184
+ function getChainConfig(fromChain) {
185
+ if (typeof fromChain === 'string') {
186
+ const chainId = getChainIdByName(fromChain);
187
+ return getChainConfigById(chainId);
188
+ }
189
+ return getChainConfigById(fromChain);
190
+ }
191
+ function computeAllowanceSlot(user, offrampRegistryAddress, tokenAllowanceSlot) {
192
+ const innerSlot = (0, viem_2.keccak256)((0, viem_2.encodeAbiParameters)([
193
+ { name: 'owner', type: 'address' },
194
+ { name: 'slot', type: 'uint256' },
195
+ ], [user, tokenAllowanceSlot]));
196
+ const allowanceSlot = (0, viem_2.keccak256)((0, viem_2.encodeAbiParameters)([
197
+ { name: 'spender', type: 'address' },
198
+ { name: 'innerSlot', type: 'bytes32' },
199
+ ], [offrampRegistryAddress, innerSlot]));
200
+ return allowanceSlot;
201
+ }
202
+ function computeBalanceSlot(user, balancesMappingSlot) {
203
+ const balanceSlot = (0, viem_2.keccak256)((0, viem_2.encodeAbiParameters)([
204
+ { name: 'owner', type: 'address' },
205
+ { name: 'slot', type: 'uint256' },
206
+ ], [user, balancesMappingSlot]));
207
+ return balanceSlot;
208
+ }
145
209
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/gateway/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/gateway/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gobob/bob-sdk",
3
- "version": "4.3.0",
3
+ "version": "4.3.2",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "scripts": {