@brotocol-xyz/bro-sdk 0.5.1 → 0.5.3

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.
Files changed (49) hide show
  1. package/lib/bitcoinUtils/swapHelpers.d.mts +2 -2
  2. package/lib/bitcoinUtils/swapHelpers.d.ts +2 -2
  3. package/lib/bitcoinUtils/swapHelpers.js +62 -47
  4. package/lib/bitcoinUtils/swapHelpers.js.map +1 -1
  5. package/lib/bitcoinUtils/swapHelpers.mjs +2 -2
  6. package/lib/{chunk-FF4T46DU.mjs → chunk-FLUNHQKD.mjs} +46 -35
  7. package/lib/chunk-FLUNHQKD.mjs.map +1 -0
  8. package/lib/{chunk-62LILD5Z.mjs → chunk-HG24HWJT.mjs} +21 -17
  9. package/lib/chunk-HG24HWJT.mjs.map +1 -0
  10. package/lib/{chunk-34I5SRE2.mjs → chunk-LW675E4E.mjs} +4 -7
  11. package/lib/chunk-LW675E4E.mjs.map +1 -0
  12. package/lib/{chunk-3BPKMRHG.mjs → chunk-V3RGUQDL.mjs} +21 -17
  13. package/lib/chunk-V3RGUQDL.mjs.map +1 -0
  14. package/lib/{chunk-CLENRVNE.mjs → chunk-ZZTY4YNV.mjs} +5 -5
  15. package/lib/chunk-ZZTY4YNV.mjs.map +1 -0
  16. package/lib/metaUtils/swapHelpers.d.mts +2 -2
  17. package/lib/metaUtils/swapHelpers.d.ts +2 -2
  18. package/lib/metaUtils/swapHelpers.js +62 -47
  19. package/lib/metaUtils/swapHelpers.js.map +1 -1
  20. package/lib/metaUtils/swapHelpers.mjs +2 -2
  21. package/lib/swapHelpers.d.mts +12 -9
  22. package/lib/swapHelpers.d.ts +12 -9
  23. package/lib/swapHelpers.js +219 -187
  24. package/lib/swapHelpers.js.map +1 -1
  25. package/lib/swapHelpers.mjs +22 -6
  26. package/lib/swapHelpers.mjs.map +1 -1
  27. package/lib/utils/swapHelpers/evmDexAggregatorSwapParametersHelpers.d.mts +6 -2
  28. package/lib/utils/swapHelpers/evmDexAggregatorSwapParametersHelpers.d.ts +6 -2
  29. package/lib/utils/swapHelpers/evmDexAggregatorSwapParametersHelpers.js +44 -33
  30. package/lib/utils/swapHelpers/evmDexAggregatorSwapParametersHelpers.js.map +1 -1
  31. package/lib/utils/swapHelpers/evmDexAggregatorSwapParametersHelpers.mjs +1 -1
  32. package/lib/utils/swapHelpers/fetchDexAggregatorPossibleRoutes/fetchKyberSwapPossibleRoutes.js +3 -3
  33. package/lib/utils/swapHelpers/fetchDexAggregatorPossibleRoutes/fetchKyberSwapPossibleRoutes.js.map +1 -1
  34. package/lib/utils/swapHelpers/fetchDexAggregatorPossibleRoutes/fetchKyberSwapPossibleRoutes.mjs +1 -1
  35. package/lib/utils/swapHelpers/fetchDexAggregatorPossibleRoutes/fetchMatchaPossibleRoutes.js +2 -5
  36. package/lib/utils/swapHelpers/fetchDexAggregatorPossibleRoutes/fetchMatchaPossibleRoutes.js.map +1 -1
  37. package/lib/utils/swapHelpers/fetchDexAggregatorPossibleRoutes/fetchMatchaPossibleRoutes.mjs +1 -1
  38. package/package.json +1 -1
  39. package/src/bitcoinUtils/swapHelpers.ts +20 -14
  40. package/src/metaUtils/swapHelpers.ts +20 -14
  41. package/src/swapHelpers.ts +28 -7
  42. package/src/utils/swapHelpers/evmDexAggregatorSwapParametersHelpers.ts +59 -26
  43. package/src/utils/swapHelpers/fetchDexAggregatorPossibleRoutes/fetchKyberSwapPossibleRoutes.ts +4 -3
  44. package/src/utils/swapHelpers/fetchDexAggregatorPossibleRoutes/fetchMatchaPossibleRoutes.ts +3 -5
  45. package/lib/chunk-34I5SRE2.mjs.map +0 -1
  46. package/lib/chunk-3BPKMRHG.mjs.map +0 -1
  47. package/lib/chunk-62LILD5Z.mjs.map +0 -1
  48. package/lib/chunk-CLENRVNE.mjs.map +0 -1
  49. package/lib/chunk-FF4T46DU.mjs.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import { j as SDKGlobalContext, k as KnownRoute_FromBitcoin } from '../buildSupportedRoutes-DLOAMhvP.mjs';
2
2
  import { BigNumber } from '../utils/BigNumber.mjs';
3
3
  import { ALEXSwapParameters } from '../utils/swapHelpers/alexSwapParametersHelpers.mjs';
4
- import { EVMDexAggregatorSwapParameters } from '../utils/swapHelpers/evmDexAggregatorSwapParametersHelpers.mjs';
4
+ import { GetPossibleEVMDexAggregatorSwapParametersImplOptions, EVMDexAggregatorSwapParameters } from '../utils/swapHelpers/evmDexAggregatorSwapParametersHelpers.mjs';
5
5
  import '../sdkUtils/types.mjs';
6
6
  import 'viem';
7
7
  import './constants.mjs';
@@ -16,6 +16,6 @@ declare function getALEXSwapParameters_FromBitcoin(sdkContext: SDKGlobalContext,
16
16
  }): Promise<undefined | ALEXSwapParameters>;
17
17
  declare function getPossibleEVMDexAggregatorSwapParameters_FromBitcoin(sdkContext: SDKGlobalContext, info: KnownRoute_FromBitcoin & {
18
18
  amount: BigNumber;
19
- }): Promise<EVMDexAggregatorSwapParameters[]>;
19
+ }, options: GetPossibleEVMDexAggregatorSwapParametersImplOptions): Promise<EVMDexAggregatorSwapParameters[]>;
20
20
 
21
21
  export { getALEXSwapParameters_FromBitcoin, getPossibleEVMDexAggregatorSwapParameters_FromBitcoin };
@@ -1,7 +1,7 @@
1
1
  import { j as SDKGlobalContext, k as KnownRoute_FromBitcoin } from '../buildSupportedRoutes-C8VjVdMZ.js';
2
2
  import { BigNumber } from '../utils/BigNumber.js';
3
3
  import { ALEXSwapParameters } from '../utils/swapHelpers/alexSwapParametersHelpers.js';
4
- import { EVMDexAggregatorSwapParameters } from '../utils/swapHelpers/evmDexAggregatorSwapParametersHelpers.js';
4
+ import { GetPossibleEVMDexAggregatorSwapParametersImplOptions, EVMDexAggregatorSwapParameters } from '../utils/swapHelpers/evmDexAggregatorSwapParametersHelpers.js';
5
5
  import '../sdkUtils/types.js';
6
6
  import 'viem';
7
7
  import './constants.js';
@@ -16,6 +16,6 @@ declare function getALEXSwapParameters_FromBitcoin(sdkContext: SDKGlobalContext,
16
16
  }): Promise<undefined | ALEXSwapParameters>;
17
17
  declare function getPossibleEVMDexAggregatorSwapParameters_FromBitcoin(sdkContext: SDKGlobalContext, info: KnownRoute_FromBitcoin & {
18
18
  amount: BigNumber;
19
- }): Promise<EVMDexAggregatorSwapParameters[]>;
19
+ }, options: GetPossibleEVMDexAggregatorSwapParametersImplOptions): Promise<EVMDexAggregatorSwapParameters[]>;
20
20
 
21
21
  export { getALEXSwapParameters_FromBitcoin, getPossibleEVMDexAggregatorSwapParameters_FromBitcoin };
@@ -7203,10 +7203,11 @@ var possibleSwapOnEVMChains = [
7203
7203
  KnownChainId.EVM.BSC,
7204
7204
  KnownChainId.EVM.Avalanche
7205
7205
  ];
7206
- async function getPossibleEVMDexAggregatorSwapParametersImpl(sdkContext, info) {
7206
+ async function getPossibleEVMDexAggregatorSwapParametersImpl(sdkContext, info, options) {
7207
7207
  if (!((KnownChainId.Bitcoin.Mainnet === info.fromChain || KnownChainId.BRC20.Mainnet === info.fromChain || KnownChainId.Runes.Mainnet === info.fromChain) && (KnownChainId.isEVMMainnetChain(info.toChain) || KnownChainId.Stacks.Mainnet === info.toChain || KnownChainId.Bitcoin.Mainnet === info.toChain || KnownChainId.BRC20.Mainnet === info.toChain || KnownChainId.Runes.Mainnet === info.toChain))) {
7208
7208
  return [];
7209
7209
  }
7210
+ const { ignoreTransferProphetPaused, skipTransferProphetFees } = options;
7210
7211
  const transitStacksChain = getChainIdNetworkType(info.fromChain) === "mainnet" ? KnownChainId.Stacks.Mainnet : KnownChainId.Stacks.Testnet;
7211
7212
  const [firstStepToStacksToken, lastStepFromStacksToken] = await Promise.all([
7212
7213
  toCorrespondingStacksToken(sdkContext, info.fromChain, info.fromToken),
@@ -7219,29 +7220,36 @@ async function getPossibleEVMDexAggregatorSwapParametersImpl(sdkContext, info) {
7219
7220
  transitStacksChain,
7220
7221
  firstStepToStacksToken
7221
7222
  });
7222
- if (initialToStacksTransferProphet == null || initialToStacksTransferProphet.isPaused) {
7223
+ if (initialToStacksTransferProphet == null || (ignoreTransferProphetPaused ? false : initialToStacksTransferProphet.isPaused)) {
7223
7224
  return [];
7224
7225
  }
7225
7226
  return Promise.all(
7226
7227
  possibleSwapOnEVMChains.map(
7227
- async (evmChain) => _getEVMDexAggregatorSwapParametersImpl(sdkContext, {
7228
- initialToStacksRoute: {
7229
- fromChain: info.fromChain,
7230
- fromToken: info.fromToken,
7231
- toChain: transitStacksChain,
7232
- toToken: firstStepToStacksToken
7228
+ async (evmChain) => _getEVMDexAggregatorSwapParametersImpl(
7229
+ sdkContext,
7230
+ {
7231
+ initialToStacksRoute: {
7232
+ fromChain: info.fromChain,
7233
+ fromToken: info.fromToken,
7234
+ toChain: transitStacksChain,
7235
+ toToken: firstStepToStacksToken
7236
+ },
7237
+ initialToStacksTransferProphet,
7238
+ transitStacksChain,
7239
+ firstStepToStacksToken,
7240
+ lastStepFromStacksToken,
7241
+ evmChain,
7242
+ amount: info.amount
7233
7243
  },
7234
- initialToStacksTransferProphet,
7235
- transitStacksChain,
7236
- firstStepToStacksToken,
7237
- lastStepFromStacksToken,
7238
- evmChain,
7239
- amount: info.amount
7240
- })
7244
+ {
7245
+ ignoreTransferProphetPaused,
7246
+ skipTransferProphetFees
7247
+ }
7248
+ )
7241
7249
  )
7242
7250
  ).then((res) => res.flat());
7243
7251
  }
7244
- async function _getEVMDexAggregatorSwapParametersImpl(sdkContext, info) {
7252
+ async function _getEVMDexAggregatorSwapParametersImpl(sdkContext, info, options) {
7245
7253
  const {
7246
7254
  evmChain,
7247
7255
  transitStacksChain,
@@ -7285,6 +7293,9 @@ async function _getEVMDexAggregatorSwapParametersImpl(sdkContext, info) {
7285
7293
  }
7286
7294
  ).then((feeInfo) => {
7287
7295
  if (feeInfo == null) return null;
7296
+ if (!options.ignoreTransferProphetPaused && feeInfo.isPaused) {
7297
+ return null;
7298
+ }
7288
7299
  if (!isTransferProphetValid(feeInfo, info.amount)) return null;
7289
7300
  return { token, transferProphet: feeInfo };
7290
7301
  })
@@ -7297,27 +7308,28 @@ async function _getEVMDexAggregatorSwapParametersImpl(sdkContext, info) {
7297
7308
  fromToken: token,
7298
7309
  toChain: transitStacksChain,
7299
7310
  toToken: lastStepFromStacksToken
7300
- }).then(
7301
- (feeInfo) => (
7302
- /**
7303
- * we can not compare the amount with the max/min bridge amount here,
7304
- * since we can not know the swapped amount here
7305
- */
7306
- feeInfo == null || feeInfo.isPaused ? null : token
7307
- )
7308
- )
7311
+ }).then((feeInfo) => {
7312
+ if (feeInfo == null) return null;
7313
+ if (!options.ignoreTransferProphetPaused && feeInfo.isPaused) {
7314
+ return null;
7315
+ }
7316
+ return token;
7317
+ })
7309
7318
  )
7310
7319
  ).then((tokens) => tokens.filter(isNotNull));
7311
7320
  const results = [];
7312
7321
  for (const fromToken of fromTokensWithTransferProphet) {
7313
7322
  for (const toToken of toTokens) {
7314
- const feeInfos = [
7315
- info.initialToStacksTransferProphet,
7316
- fromToken.transferProphet
7317
- ];
7318
- const fromAmount = last(
7319
- applyTransferProphets(feeInfos, BigNumber.from(info.amount))
7320
- ).netAmount;
7323
+ let fromAmount = info.amount;
7324
+ if (!options.skipTransferProphetFees) {
7325
+ const feeInfos = [
7326
+ info.initialToStacksTransferProphet,
7327
+ fromToken.transferProphet
7328
+ ];
7329
+ fromAmount = last(
7330
+ applyTransferProphets(feeInfos, BigNumber.from(info.amount))
7331
+ ).netAmount;
7332
+ }
7321
7333
  results.push({
7322
7334
  evmChain,
7323
7335
  fromToken: fromToken.token,
@@ -7329,7 +7341,6 @@ async function _getEVMDexAggregatorSwapParametersImpl(sdkContext, info) {
7329
7341
  return results;
7330
7342
  }
7331
7343
  function isTransferProphetValid(feeInfo, amount) {
7332
- if (feeInfo.isPaused) return false;
7333
7344
  if (feeInfo.minBridgeAmount != null && BigNumber.isLt(amount, feeInfo.minBridgeAmount)) {
7334
7345
  return false;
7335
7346
  }
@@ -7429,20 +7440,24 @@ async function getALEXSwapParameters_FromBitcoin(sdkContext, info) {
7429
7440
  )
7430
7441
  });
7431
7442
  }
7432
- async function getPossibleEVMDexAggregatorSwapParameters_FromBitcoin(sdkContext, info) {
7433
- return getPossibleEVMDexAggregatorSwapParametersImpl(sdkContext, {
7434
- ...info,
7435
- getInitialToStacksTransferProphet: (ctx) => getBtc2StacksFeeInfo(
7436
- sdkContext,
7437
- {
7438
- fromChain: info.fromChain,
7439
- fromToken: info.fromToken,
7440
- toChain: ctx.transitStacksChain,
7441
- toToken: ctx.firstStepToStacksToken
7442
- },
7443
- { swapRoute: { via: "evmDexAggregator" } }
7444
- )
7445
- });
7443
+ async function getPossibleEVMDexAggregatorSwapParameters_FromBitcoin(sdkContext, info, options) {
7444
+ return getPossibleEVMDexAggregatorSwapParametersImpl(
7445
+ sdkContext,
7446
+ {
7447
+ ...info,
7448
+ getInitialToStacksTransferProphet: (ctx) => getBtc2StacksFeeInfo(
7449
+ sdkContext,
7450
+ {
7451
+ fromChain: info.fromChain,
7452
+ fromToken: info.fromToken,
7453
+ toChain: ctx.transitStacksChain,
7454
+ toToken: ctx.firstStepToStacksToken
7455
+ },
7456
+ { swapRoute: { via: "evmDexAggregator" } }
7457
+ )
7458
+ },
7459
+ options
7460
+ );
7446
7461
  }
7447
7462
 
7448
7463
  exports.getALEXSwapParameters_FromBitcoin = getALEXSwapParameters_FromBitcoin;