@shapeshiftoss/swapper 17.7.3 → 17.8.0

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 (124) hide show
  1. package/dist/cjs/.tsbuildinfo +1 -1
  2. package/dist/cjs/constants.js +35 -26
  3. package/dist/cjs/index.d.ts +1 -0
  4. package/dist/cjs/index.js +1 -0
  5. package/dist/cjs/swappers/ArbitrumBridgeSwapper/getTradeQuote/getTradeQuote.test.js +12 -4
  6. package/dist/cjs/swappers/BebopSwapper/getBebopSolanaTradeRate/getBebopSolanaTradeRate.js +9 -5
  7. package/dist/cjs/swappers/BebopSwapper/getBebopTradeQuote/getBebopTradeQuote.js +1 -9
  8. package/dist/cjs/swappers/BebopSwapper/getBebopTradeRate/getBebopTradeRate.js +9 -13
  9. package/dist/cjs/swappers/BebopSwapper/types.d.ts +64 -78
  10. package/dist/cjs/swappers/BebopSwapper/utils/fetchFromBebop.d.ts +0 -16
  11. package/dist/cjs/swappers/BebopSwapper/utils/fetchFromBebop.js +49 -82
  12. package/dist/cjs/swappers/BobGatewaySwapper/BobGatewaySwapper.d.ts +2 -0
  13. package/dist/cjs/swappers/BobGatewaySwapper/BobGatewaySwapper.js +8 -0
  14. package/dist/cjs/swappers/BobGatewaySwapper/endpoints.d.ts +2 -0
  15. package/dist/cjs/swappers/BobGatewaySwapper/endpoints.js +143 -0
  16. package/dist/cjs/swappers/BobGatewaySwapper/index.d.ts +3 -0
  17. package/dist/cjs/swappers/BobGatewaySwapper/index.js +22 -0
  18. package/dist/cjs/swappers/BobGatewaySwapper/swapperApi/getTradeQuote.d.ts +3 -0
  19. package/dist/cjs/swappers/BobGatewaySwapper/swapperApi/getTradeQuote.js +90 -0
  20. package/dist/cjs/swappers/BobGatewaySwapper/swapperApi/getTradeRate.d.ts +3 -0
  21. package/dist/cjs/swappers/BobGatewaySwapper/swapperApi/getTradeRate.js +73 -0
  22. package/dist/cjs/swappers/BobGatewaySwapper/types.d.ts +20 -0
  23. package/dist/cjs/swappers/BobGatewaySwapper/types.js +2 -0
  24. package/dist/cjs/swappers/BobGatewaySwapper/utils/constants.d.ts +13 -0
  25. package/dist/cjs/swappers/BobGatewaySwapper/utils/constants.js +31 -0
  26. package/dist/cjs/swappers/BobGatewaySwapper/utils/helpers.d.ts +49 -0
  27. package/dist/cjs/swappers/BobGatewaySwapper/utils/helpers.js +314 -0
  28. package/dist/cjs/swappers/ChainflipSwapper/ChainflipSwapper.js +1 -0
  29. package/dist/cjs/swappers/ChainflipSwapper/constants.d.ts +1 -1
  30. package/dist/cjs/swappers/ChainflipSwapper/constants.js +3 -0
  31. package/dist/cjs/swappers/ChainflipSwapper/endpoints.js +20 -0
  32. package/dist/cjs/swappers/ChainflipSwapper/types.d.ts +2 -1
  33. package/dist/cjs/swappers/ChainflipSwapper/types.js +1 -0
  34. package/dist/cjs/swappers/ChainflipSwapper/utils/getQuoteOrRate.js +23 -3
  35. package/dist/cjs/swappers/ChainflipSwapper/utils/helpers.d.ts +2 -2
  36. package/dist/cjs/swappers/ChainflipSwapper/utils/helpers.js +2 -1
  37. package/dist/cjs/swappers/CowSwapper/utils/helpers/helpers.test.js +3 -3
  38. package/dist/cjs/swappers/RelaySwapper/constant.js +1 -1
  39. package/dist/cjs/swappers/SunioSwapper/endpoints.js +19 -36
  40. package/dist/cjs/swappers/SunioSwapper/utils/buildSwapContractCall.d.ts +6 -0
  41. package/dist/cjs/swappers/SunioSwapper/utils/buildSwapContractCall.js +33 -0
  42. package/dist/cjs/swappers/SunioSwapper/utils/buildSwapRouteParameters.js +6 -6
  43. package/dist/cjs/swappers/SunioSwapper/utils/constants.d.ts +2 -0
  44. package/dist/cjs/swappers/SunioSwapper/utils/constants.js +7 -1
  45. package/dist/cjs/swappers/SunioSwapper/utils/estimateSunioNetworkFee.d.ts +12 -0
  46. package/dist/cjs/swappers/SunioSwapper/utils/estimateSunioNetworkFee.js +78 -0
  47. package/dist/cjs/swappers/SunioSwapper/utils/getQuoteOrRate.js +16 -74
  48. package/dist/cjs/swappers/SunioSwapper/utils/getSunioTransactionFees.d.ts +2 -0
  49. package/dist/cjs/swappers/SunioSwapper/utils/getSunioTransactionFees.js +36 -0
  50. package/dist/cjs/swappers/utils/helpers/helpers.js +1 -0
  51. package/dist/cjs/thorchain-utils/getL1RateOrQuote.js +5 -2
  52. package/dist/cjs/thorchain-utils/getQuote.js +27 -29
  53. package/dist/cjs/thorchain-utils/tron/getTronTransactionFees.js +8 -5
  54. package/dist/cjs/thorchain-utils/types.d.ts +1 -1
  55. package/dist/cjs/types.d.ts +10 -3
  56. package/dist/cjs/types.js +5 -0
  57. package/dist/esm/.tsbuildinfo +1 -1
  58. package/dist/esm/constants.js +9 -0
  59. package/dist/esm/index.d.ts +1 -0
  60. package/dist/esm/index.js +1 -0
  61. package/dist/esm/swappers/ArbitrumBridgeSwapper/getTradeQuote/getTradeQuote.test.js +12 -4
  62. package/dist/esm/swappers/BebopSwapper/getBebopSolanaTradeRate/getBebopSolanaTradeRate.js +10 -6
  63. package/dist/esm/swappers/BebopSwapper/getBebopTradeQuote/getBebopTradeQuote.js +1 -9
  64. package/dist/esm/swappers/BebopSwapper/getBebopTradeRate/getBebopTradeRate.js +10 -14
  65. package/dist/esm/swappers/BebopSwapper/types.d.ts +64 -78
  66. package/dist/esm/swappers/BebopSwapper/utils/fetchFromBebop.d.ts +0 -16
  67. package/dist/esm/swappers/BebopSwapper/utils/fetchFromBebop.js +45 -76
  68. package/dist/esm/swappers/BobGatewaySwapper/BobGatewaySwapper.d.ts +2 -0
  69. package/dist/esm/swappers/BobGatewaySwapper/BobGatewaySwapper.js +5 -0
  70. package/dist/esm/swappers/BobGatewaySwapper/endpoints.d.ts +2 -0
  71. package/dist/esm/swappers/BobGatewaySwapper/endpoints.js +140 -0
  72. package/dist/esm/swappers/BobGatewaySwapper/index.d.ts +3 -0
  73. package/dist/esm/swappers/BobGatewaySwapper/index.js +3 -0
  74. package/dist/esm/swappers/BobGatewaySwapper/swapperApi/getTradeQuote.d.ts +3 -0
  75. package/dist/esm/swappers/BobGatewaySwapper/swapperApi/getTradeQuote.js +86 -0
  76. package/dist/esm/swappers/BobGatewaySwapper/swapperApi/getTradeRate.d.ts +3 -0
  77. package/dist/esm/swappers/BobGatewaySwapper/swapperApi/getTradeRate.js +69 -0
  78. package/dist/esm/swappers/BobGatewaySwapper/types.d.ts +20 -0
  79. package/dist/esm/swappers/BobGatewaySwapper/utils/constants.d.ts +13 -0
  80. package/dist/esm/swappers/BobGatewaySwapper/utils/constants.js +27 -0
  81. package/dist/esm/swappers/BobGatewaySwapper/utils/helpers.d.ts +49 -0
  82. package/dist/esm/swappers/BobGatewaySwapper/utils/helpers.js +299 -0
  83. package/dist/esm/swappers/ChainflipSwapper/ChainflipSwapper.js +2 -1
  84. package/dist/esm/swappers/ChainflipSwapper/constants.d.ts +1 -1
  85. package/dist/esm/swappers/ChainflipSwapper/constants.js +4 -1
  86. package/dist/esm/swappers/ChainflipSwapper/endpoints.js +20 -0
  87. package/dist/esm/swappers/ChainflipSwapper/types.d.ts +2 -1
  88. package/dist/esm/swappers/ChainflipSwapper/types.js +1 -0
  89. package/dist/esm/swappers/ChainflipSwapper/utils/getQuoteOrRate.js +24 -4
  90. package/dist/esm/swappers/ChainflipSwapper/utils/helpers.d.ts +2 -2
  91. package/dist/esm/swappers/ChainflipSwapper/utils/helpers.js +2 -1
  92. package/dist/esm/swappers/CowSwapper/utils/helpers/helpers.test.js +3 -3
  93. package/dist/esm/swappers/RelaySwapper/constant.js +1 -1
  94. package/dist/esm/swappers/SunioSwapper/endpoints.js +19 -36
  95. package/dist/esm/swappers/SunioSwapper/utils/buildSwapContractCall.d.ts +6 -0
  96. package/dist/esm/swappers/SunioSwapper/utils/buildSwapContractCall.js +29 -0
  97. package/dist/esm/swappers/SunioSwapper/utils/buildSwapRouteParameters.js +6 -6
  98. package/dist/esm/swappers/SunioSwapper/utils/constants.d.ts +2 -0
  99. package/dist/esm/swappers/SunioSwapper/utils/constants.js +6 -0
  100. package/dist/esm/swappers/SunioSwapper/utils/estimateSunioNetworkFee.d.ts +12 -0
  101. package/dist/esm/swappers/SunioSwapper/utils/estimateSunioNetworkFee.js +74 -0
  102. package/dist/esm/swappers/SunioSwapper/utils/getQuoteOrRate.js +16 -74
  103. package/dist/esm/swappers/SunioSwapper/utils/getSunioTransactionFees.d.ts +2 -0
  104. package/dist/esm/swappers/SunioSwapper/utils/getSunioTransactionFees.js +32 -0
  105. package/dist/esm/swappers/utils/helpers/helpers.js +2 -1
  106. package/dist/esm/thorchain-utils/getL1RateOrQuote.js +5 -2
  107. package/dist/esm/thorchain-utils/getQuote.js +27 -29
  108. package/dist/esm/thorchain-utils/tron/getTronTransactionFees.js +8 -5
  109. package/dist/esm/thorchain-utils/types.d.ts +1 -1
  110. package/dist/esm/types.d.ts +10 -3
  111. package/dist/esm/types.js +5 -0
  112. package/package.json +8 -7
  113. package/dist/cjs/swappers/SunioSwapper/utils/buildSwapTransaction.d.ts +0 -11
  114. package/dist/cjs/swappers/SunioSwapper/utils/buildSwapTransaction.js +0 -57
  115. package/dist/cjs/thorchain-utils/getThresholdedAffiliateBps/getThresholdedAffiliateBps.d.ts +0 -12
  116. package/dist/cjs/thorchain-utils/getThresholdedAffiliateBps/getThresholdedAffiliateBps.js +0 -47
  117. package/dist/cjs/thorchain-utils/getThresholdedAffiliateBps/getThresholdedAffiliateBps.test.js +0 -100
  118. package/dist/esm/swappers/SunioSwapper/utils/buildSwapTransaction.d.ts +0 -11
  119. package/dist/esm/swappers/SunioSwapper/utils/buildSwapTransaction.js +0 -53
  120. package/dist/esm/thorchain-utils/getThresholdedAffiliateBps/getThresholdedAffiliateBps.d.ts +0 -12
  121. package/dist/esm/thorchain-utils/getThresholdedAffiliateBps/getThresholdedAffiliateBps.js +0 -41
  122. package/dist/esm/thorchain-utils/getThresholdedAffiliateBps/getThresholdedAffiliateBps.test.d.ts +0 -1
  123. package/dist/esm/thorchain-utils/getThresholdedAffiliateBps/getThresholdedAffiliateBps.test.js +0 -98
  124. /package/dist/{cjs/thorchain-utils/getThresholdedAffiliateBps/getThresholdedAffiliateBps.test.d.ts → esm/swappers/BobGatewaySwapper/types.js} +0 -0
@@ -10,31 +10,33 @@ const AvnuSwapper_1 = require("./swappers/AvnuSwapper/AvnuSwapper");
10
10
  const endpoints_3 = require("./swappers/AvnuSwapper/endpoints");
11
11
  const BebopSwapper_1 = require("./swappers/BebopSwapper/BebopSwapper");
12
12
  const endpoints_4 = require("./swappers/BebopSwapper/endpoints");
13
+ const BobGatewaySwapper_1 = require("./swappers/BobGatewaySwapper/BobGatewaySwapper");
14
+ const endpoints_5 = require("./swappers/BobGatewaySwapper/endpoints");
13
15
  const ButterSwap_1 = require("./swappers/ButterSwap/ButterSwap");
14
- const endpoints_5 = require("./swappers/ButterSwap/endpoints");
16
+ const endpoints_6 = require("./swappers/ButterSwap/endpoints");
15
17
  const CetusSwapper_1 = require("./swappers/CetusSwapper/CetusSwapper");
16
- const endpoints_6 = require("./swappers/CetusSwapper/endpoints");
18
+ const endpoints_7 = require("./swappers/CetusSwapper/endpoints");
17
19
  const ChainflipSwapper_1 = require("./swappers/ChainflipSwapper/ChainflipSwapper");
18
- const endpoints_7 = require("./swappers/ChainflipSwapper/endpoints");
20
+ const endpoints_8 = require("./swappers/ChainflipSwapper/endpoints");
19
21
  const CowSwapper_1 = require("./swappers/CowSwapper/CowSwapper");
20
- const endpoints_8 = require("./swappers/CowSwapper/endpoints");
22
+ const endpoints_9 = require("./swappers/CowSwapper/endpoints");
21
23
  const DebridgeSwapper_1 = require("./swappers/DebridgeSwapper");
22
- const endpoints_9 = require("./swappers/DebridgeSwapper/endpoints");
23
- const endpoints_10 = require("./swappers/MayachainSwapper/endpoints");
24
+ const endpoints_10 = require("./swappers/DebridgeSwapper/endpoints");
25
+ const endpoints_11 = require("./swappers/MayachainSwapper/endpoints");
24
26
  const MayachainSwapper_1 = require("./swappers/MayachainSwapper/MayachainSwapper");
25
- const endpoints_11 = require("./swappers/NearIntentsSwapper/endpoints");
27
+ const endpoints_12 = require("./swappers/NearIntentsSwapper/endpoints");
26
28
  const NearIntentsSwapper_1 = require("./swappers/NearIntentsSwapper/NearIntentsSwapper");
27
- const endpoints_12 = require("./swappers/PortalsSwapper/endpoints");
29
+ const endpoints_13 = require("./swappers/PortalsSwapper/endpoints");
28
30
  const PortalsSwapper_1 = require("./swappers/PortalsSwapper/PortalsSwapper");
29
31
  const RelaySwapper_1 = require("./swappers/RelaySwapper");
30
- const endpoints_13 = require("./swappers/RelaySwapper/endpoints");
31
- const endpoints_14 = require("./swappers/StonfiSwapper/endpoints");
32
+ const endpoints_14 = require("./swappers/RelaySwapper/endpoints");
33
+ const endpoints_15 = require("./swappers/StonfiSwapper/endpoints");
32
34
  const StonfiSwapper_1 = require("./swappers/StonfiSwapper/StonfiSwapper");
33
- const endpoints_15 = require("./swappers/SunioSwapper/endpoints");
35
+ const endpoints_16 = require("./swappers/SunioSwapper/endpoints");
34
36
  const SunioSwapper_1 = require("./swappers/SunioSwapper/SunioSwapper");
35
- const endpoints_16 = require("./swappers/ThorchainSwapper/endpoints");
37
+ const endpoints_17 = require("./swappers/ThorchainSwapper/endpoints");
36
38
  const ThorchainSwapper_1 = require("./swappers/ThorchainSwapper/ThorchainSwapper");
37
- const endpoints_17 = require("./swappers/ZrxSwapper/endpoints");
39
+ const endpoints_18 = require("./swappers/ZrxSwapper/endpoints");
38
40
  const ZrxSwapper_1 = require("./swappers/ZrxSwapper/ZrxSwapper");
39
41
  const types_1 = require("./types");
40
42
  const utils_2 = require("./utils");
@@ -48,19 +50,19 @@ exports.QUOTE_TIMEOUT_ERROR = (0, utils_2.makeSwapErrorRight)({
48
50
  exports.swappers = {
49
51
  [types_1.SwapperName.Thorchain]: {
50
52
  ...ThorchainSwapper_1.thorchainSwapper,
51
- ...endpoints_16.thorchainApi,
53
+ ...endpoints_17.thorchainApi,
52
54
  },
53
55
  [types_1.SwapperName.Mayachain]: {
54
56
  ...MayachainSwapper_1.mayachainSwapper,
55
- ...endpoints_10.mayachainApi,
57
+ ...endpoints_11.mayachainApi,
56
58
  },
57
59
  [types_1.SwapperName.Zrx]: {
58
60
  ...ZrxSwapper_1.zrxSwapper,
59
- ...endpoints_17.zrxApi,
61
+ ...endpoints_18.zrxApi,
60
62
  },
61
63
  [types_1.SwapperName.CowSwap]: {
62
64
  ...CowSwapper_1.cowSwapper,
63
- ...endpoints_8.cowApi,
65
+ ...endpoints_9.cowApi,
64
66
  },
65
67
  [types_1.SwapperName.ArbitrumBridge]: {
66
68
  ...ArbitrumBridgeSwapper_1.arbitrumBridgeSwapper,
@@ -68,19 +70,19 @@ exports.swappers = {
68
70
  },
69
71
  [types_1.SwapperName.Portals]: {
70
72
  ...PortalsSwapper_1.portalsSwapper,
71
- ...endpoints_12.portalsApi,
73
+ ...endpoints_13.portalsApi,
72
74
  },
73
75
  [types_1.SwapperName.Chainflip]: {
74
76
  ...ChainflipSwapper_1.chainflipSwapper,
75
- ...endpoints_7.chainflipApi,
77
+ ...endpoints_8.chainflipApi,
76
78
  },
77
79
  [types_1.SwapperName.Relay]: {
78
80
  ...RelaySwapper_1.relaySwapper,
79
- ...endpoints_13.relayApi,
81
+ ...endpoints_14.relayApi,
80
82
  },
81
83
  [types_1.SwapperName.ButterSwap]: {
82
84
  ...ButterSwap_1.butterSwap,
83
- ...endpoints_5.butterSwapApi,
85
+ ...endpoints_6.butterSwapApi,
84
86
  },
85
87
  [types_1.SwapperName.Bebop]: {
86
88
  ...BebopSwapper_1.bebopSwapper,
@@ -88,15 +90,15 @@ exports.swappers = {
88
90
  },
89
91
  [types_1.SwapperName.NearIntents]: {
90
92
  ...NearIntentsSwapper_1.nearIntentsSwapper,
91
- ...endpoints_11.nearIntentsApi,
93
+ ...endpoints_12.nearIntentsApi,
92
94
  },
93
95
  [types_1.SwapperName.Cetus]: {
94
96
  ...CetusSwapper_1.cetusSwapper,
95
- ...endpoints_6.cetusApi,
97
+ ...endpoints_7.cetusApi,
96
98
  },
97
99
  [types_1.SwapperName.Sunio]: {
98
100
  ...SunioSwapper_1.sunioSwapper,
99
- ...endpoints_15.sunioApi,
101
+ ...endpoints_16.sunioApi,
100
102
  },
101
103
  [types_1.SwapperName.Avnu]: {
102
104
  ...AvnuSwapper_1.avnuSwapper,
@@ -104,7 +106,7 @@ exports.swappers = {
104
106
  },
105
107
  [types_1.SwapperName.Stonfi]: {
106
108
  ...StonfiSwapper_1.stonfiSwapper,
107
- ...endpoints_14.stonfiApi,
109
+ ...endpoints_15.stonfiApi,
108
110
  },
109
111
  [types_1.SwapperName.Across]: {
110
112
  ...AcrossSwapper_1.acrossSwapper,
@@ -112,7 +114,11 @@ exports.swappers = {
112
114
  },
113
115
  [types_1.SwapperName.Debridge]: {
114
116
  ...DebridgeSwapper_1.debridgeSwapper,
115
- ...endpoints_9.debridgeApi,
117
+ ...endpoints_10.debridgeApi,
118
+ },
119
+ [types_1.SwapperName.BobGateway]: {
120
+ ...BobGatewaySwapper_1.bobGatewaySwapper,
121
+ ...endpoints_5.bobGatewayApi,
116
122
  },
117
123
  [types_1.SwapperName.Test]: undefined,
118
124
  };
@@ -132,6 +138,7 @@ const DEFAULT_AVNU_SLIPPAGE_DECIMAL_PERCENTAGE = '0.02';
132
138
  const DEFAULT_STONFI_SLIPPAGE_DECIMAL_PERCENTAGE = '0.01';
133
139
  // deBridge API off-chain simulation overestimates output on some chains (e.g. SEI ~2.4%), so auto slippage (1%) is insufficient
134
140
  const DEFAULT_DEBRIDGE_SLIPPAGE_DECIMAL_PERCENTAGE = '0.03';
141
+ const DEFAULT_BOB_GATEWAY_SLIPPAGE_DECIMAL_PERCENTAGE = '0.03';
135
142
  const getDefaultSlippageDecimalPercentageForSwapper = (swapperName) => {
136
143
  if (swapperName === undefined)
137
144
  return DEFAULT_SLIPPAGE_DECIMAL_PERCENTAGE;
@@ -170,6 +177,8 @@ const getDefaultSlippageDecimalPercentageForSwapper = (swapperName) => {
170
177
  return DEFAULT_AVNU_SLIPPAGE_DECIMAL_PERCENTAGE;
171
178
  case types_1.SwapperName.Stonfi:
172
179
  return DEFAULT_STONFI_SLIPPAGE_DECIMAL_PERCENTAGE;
180
+ case types_1.SwapperName.BobGateway:
181
+ return DEFAULT_BOB_GATEWAY_SLIPPAGE_DECIMAL_PERCENTAGE;
173
182
  default:
174
183
  return (0, utils_1.assertUnreachable)(swapperName);
175
184
  }
@@ -3,6 +3,7 @@ export * from './cowswap-utils';
3
3
  export * from './safe-utils';
4
4
  export * from './swapper';
5
5
  export * from './swappers/ArbitrumBridgeSwapper';
6
+ export * from './swappers/BobGatewaySwapper';
6
7
  export * from './swappers/AvnuSwapper';
7
8
  export * from './swappers/BebopSwapper';
8
9
  export * from './swappers/CetusSwapper';
package/dist/cjs/index.js CHANGED
@@ -32,6 +32,7 @@ __exportStar(require("./cowswap-utils"), exports);
32
32
  __exportStar(require("./safe-utils"), exports);
33
33
  __exportStar(require("./swapper"), exports);
34
34
  __exportStar(require("./swappers/ArbitrumBridgeSwapper"), exports);
35
+ __exportStar(require("./swappers/BobGatewaySwapper"), exports);
35
36
  __exportStar(require("./swappers/AvnuSwapper"), exports);
36
37
  __exportStar(require("./swappers/BebopSwapper"), exports);
37
38
  __exportStar(require("./swappers/CetusSwapper"), exports);
@@ -53,7 +53,9 @@ vitest_1.vi.mock('@shapeshiftoss/chain-adapters', async () => {
53
53
  },
54
54
  }),
55
55
  };
56
- vitest_1.vi.mocked(sdk_1.EthBridger).mockReturnValue(ethBridgerMock);
56
+ vitest_1.vi.mocked(sdk_1.EthBridger).mockImplementation(function () {
57
+ return ethBridgerMock;
58
+ });
57
59
  const maybeQuote = await (0, getTradeQuote_1.getTradeQuote)(commonInput, {
58
60
  assertGetEvmChainAdapter,
59
61
  getEthersV5Provider: vitest_1.vi.fn(),
@@ -76,7 +78,9 @@ vitest_1.vi.mock('@shapeshiftoss/chain-adapters', async () => {
76
78
  },
77
79
  }),
78
80
  };
79
- vitest_1.vi.mocked(sdk_1.EthBridger).mockReturnValue(ethBridgerMock);
81
+ vitest_1.vi.mocked(sdk_1.EthBridger).mockImplementation(function () {
82
+ return ethBridgerMock;
83
+ });
80
84
  const withdrawInput = {
81
85
  ...commonInput,
82
86
  sellAsset: assets_1.ETH_ARBITRUM,
@@ -111,7 +115,9 @@ vitest_1.vi.mock('@shapeshiftoss/chain-adapters', async () => {
111
115
  .fn()
112
116
  .mockResolvedValue('0x0c66f315542fdec1d312c415b14eef614b0910ef'),
113
117
  };
114
- vitest_1.vi.mocked(sdk_1.Erc20Bridger).mockReturnValue(Erc20BridgerMock);
118
+ vitest_1.vi.mocked(sdk_1.Erc20Bridger).mockImplementation(function () {
119
+ return Erc20BridgerMock;
120
+ });
115
121
  const erc20DepositInput = {
116
122
  ...commonInput,
117
123
  sellAsset: assets_1.FOX_MAINNET,
@@ -146,7 +152,9 @@ vitest_1.vi.mock('@shapeshiftoss/chain-adapters', async () => {
146
152
  .fn()
147
153
  .mockResolvedValue('0x0c66f315542fdec1d312c415b14eef614b0910ef'),
148
154
  };
149
- vitest_1.vi.mocked(sdk_1.Erc20Bridger).mockReturnValue(Erc20BridgerMock);
155
+ vitest_1.vi.mocked(sdk_1.Erc20Bridger).mockImplementation(function () {
156
+ return Erc20BridgerMock;
157
+ });
150
158
  const erc20WithdrawInput = {
151
159
  ...commonInput,
152
160
  sellAsset: assets_1.FOX_ARBITRUM,
@@ -6,6 +6,7 @@ const uuid_1 = require("uuid");
6
6
  const constants_1 = require("../../../constants");
7
7
  const types_1 = require("../../../types");
8
8
  const utils_1 = require("../../../utils");
9
+ const types_2 = require("../types");
9
10
  const fetchFromBebop_1 = require("../utils/fetchFromBebop");
10
11
  const helpers_1 = require("../utils/helpers/helpers");
11
12
  async function getBebopSolanaTradeRate(input, _assetsById, apiKey) {
@@ -15,17 +16,20 @@ async function getBebopSolanaTradeRate(input, _assetsById, apiKey) {
15
16
  return (0, monads_1.Err)(assertion.unwrapErr());
16
17
  const slippageTolerancePercentageDecimal = input.slippageTolerancePercentageDecimal ??
17
18
  (0, constants_1.getDefaultSlippageDecimalPercentageForSwapper)(types_1.SwapperName.Bebop);
18
- const maybeBebopPriceResponse = await (0, fetchFromBebop_1.fetchBebopSolanaPrice)({
19
+ const address = receiveAddress ?? types_2.BEBOP_SOLANA_DUMMY_ADDRESS;
20
+ const maybeBebopQuoteResponse = await (0, fetchFromBebop_1.fetchBebopSolanaQuote)({
19
21
  buyAsset,
20
22
  sellAsset,
21
23
  sellAmountIncludingProtocolFeesCryptoBaseUnit,
22
- receiveAddress,
24
+ takerAddress: address,
25
+ receiverAddress: address,
26
+ slippageTolerancePercentageDecimal,
23
27
  affiliateBps,
24
28
  apiKey,
25
29
  });
26
- if (maybeBebopPriceResponse.isErr())
27
- return (0, monads_1.Err)(maybeBebopPriceResponse.unwrapErr());
28
- const bebopPriceResponse = maybeBebopPriceResponse.unwrap();
30
+ if (maybeBebopQuoteResponse.isErr())
31
+ return (0, monads_1.Err)(maybeBebopQuoteResponse.unwrapErr());
32
+ const bebopPriceResponse = maybeBebopQuoteResponse.unwrap();
29
33
  const sellTokenAddress = Object.keys(bebopPriceResponse.sellTokens)[0];
30
34
  const buyTokenAddress = Object.keys(bebopPriceResponse.buyTokens)[0];
31
35
  if (!sellTokenAddress || !buyTokenAddress) {
@@ -40,15 +40,7 @@ async function getBebopTradeQuote(input, assertGetEvmChainAdapter, _assetsById,
40
40
  });
41
41
  if (maybeBebopQuoteResponse.isErr())
42
42
  return (0, monads_1.Err)(maybeBebopQuoteResponse.unwrapErr());
43
- const bebopQuoteResponse = maybeBebopQuoteResponse.unwrap();
44
- const bestRoute = bebopQuoteResponse.routes.find(r => r.type === bebopQuoteResponse.bestPrice);
45
- if (!bestRoute || !bestRoute.quote) {
46
- return (0, monads_1.Err)((0, utils_2.makeSwapErrorRight)({
47
- message: 'No best route found',
48
- code: types_1.TradeQuoteError.NoRouteFound,
49
- }));
50
- }
51
- const quote = bestRoute.quote;
43
+ const quote = maybeBebopQuoteResponse.unwrap();
52
44
  const sellTokenAddress = Object.keys(quote.sellTokens)[0];
53
45
  const buyTokenAddress = Object.keys(quote.buyTokens)[0];
54
46
  if (!(0, viem_1.isAddress)(sellTokenAddress) || !(0, viem_1.isAddress)(buyTokenAddress)) {
@@ -11,6 +11,7 @@ const types_1 = require("../../../types");
11
11
  const utils_2 = require("../../../utils");
12
12
  const affiliateFee_1 = require("../../utils/affiliateFee");
13
13
  const helpers_1 = require("../../utils/helpers/helpers");
14
+ const types_2 = require("../types");
14
15
  const fetchFromBebop_1 = require("../utils/fetchFromBebop");
15
16
  const helpers_2 = require("../utils/helpers/helpers");
16
17
  async function getBebopTradeRate(input, assertGetEvmChainAdapter, _assetsById, apiKey) {
@@ -20,25 +21,20 @@ async function getBebopTradeRate(input, assertGetEvmChainAdapter, _assetsById, a
20
21
  return (0, monads_1.Err)(assertion.unwrapErr());
21
22
  const slippageTolerancePercentageDecimal = input.slippageTolerancePercentageDecimal ??
22
23
  (0, constants_1.getDefaultSlippageDecimalPercentageForSwapper)(types_1.SwapperName.Bebop);
23
- const maybeBebopPriceResponse = await (0, fetchFromBebop_1.fetchBebopPrice)({
24
+ const address = receiveAddress ?? types_2.BEBOP_DUMMY_ADDRESS;
25
+ const maybeBebopQuoteResponse = await (0, fetchFromBebop_1.fetchBebopQuote)({
24
26
  buyAsset,
25
27
  sellAsset,
26
28
  sellAmountIncludingProtocolFeesCryptoBaseUnit,
27
- receiveAddress,
29
+ takerAddress: address,
30
+ receiverAddress: address,
31
+ slippageTolerancePercentageDecimal,
28
32
  affiliateBps,
29
33
  apiKey,
30
34
  });
31
- if (maybeBebopPriceResponse.isErr())
32
- return (0, monads_1.Err)(maybeBebopPriceResponse.unwrapErr());
33
- const bebopPriceResponse = maybeBebopPriceResponse.unwrap();
34
- const bestRoute = bebopPriceResponse.routes.find(r => r.type === bebopPriceResponse.bestPrice);
35
- if (!bestRoute || !bestRoute.quote) {
36
- return (0, monads_1.Err)((0, utils_2.makeSwapErrorRight)({
37
- message: 'No best route found',
38
- code: types_1.TradeQuoteError.NoRouteFound,
39
- }));
40
- }
41
- const quote = bestRoute.quote;
35
+ if (maybeBebopQuoteResponse.isErr())
36
+ return (0, monads_1.Err)(maybeBebopQuoteResponse.unwrapErr());
37
+ const quote = maybeBebopQuoteResponse.unwrap();
42
38
  const sellTokenAddress = Object.keys(quote.sellTokens)[0];
43
39
  const buyTokenAddress = Object.keys(quote.buyTokens)[0];
44
40
  if (!(0, viem_1.isAddress)(sellTokenAddress) || !(0, viem_1.isAddress)(buyTokenAddress)) {
@@ -3,87 +3,73 @@ import type { Address, Hex } from 'viem';
3
3
  export declare const bebopSupportedEvmChainIds: readonly [KnownChainIds.EthereumMainnet, KnownChainIds.PolygonMainnet, KnownChainIds.ArbitrumMainnet, KnownChainIds.BaseMainnet, KnownChainIds.AvalancheMainnet, KnownChainIds.OptimismMainnet, KnownChainIds.BnbSmartChainMainnet];
4
4
  export declare const bebopSupportedChainIds: readonly [KnownChainIds.EthereumMainnet, KnownChainIds.PolygonMainnet, KnownChainIds.ArbitrumMainnet, KnownChainIds.BaseMainnet, KnownChainIds.AvalancheMainnet, KnownChainIds.OptimismMainnet, KnownChainIds.BnbSmartChainMainnet, KnownChainIds.SolanaMainnet];
5
5
  export type BebopSupportedChainId = (typeof bebopSupportedChainIds)[number];
6
- export type BebopQuoteRoute = {
6
+ export type BebopQuoteResponse = {
7
+ requestId: string;
7
8
  type: string;
8
- quote: {
9
- requestId: string;
10
- type: string;
11
- status: string;
12
- quoteId: string;
13
- chainId: number;
14
- approvalType: 'Standard' | 'Permit2';
15
- nativeToken: string;
16
- taker: Address;
17
- receiver: Address;
9
+ status: string;
10
+ quoteId: string;
11
+ chainId: number;
12
+ approvalType: 'Standard' | 'Permit' | 'Permit2';
13
+ nativeToken: string;
14
+ taker: Address;
15
+ receiver: Address;
16
+ expiry: number;
17
+ slippage: number;
18
+ gasFee: {
19
+ native: string;
20
+ usd: number;
21
+ };
22
+ buyTokens: Record<Address, {
23
+ amount: string;
24
+ decimals: number;
25
+ priceUsd: number;
26
+ symbol: string;
27
+ minimumAmount: string;
28
+ price: number;
29
+ priceBeforeFee: number;
30
+ amountBeforeFee: string;
31
+ deltaFromExpected: number;
32
+ }>;
33
+ sellTokens: Record<Address, {
34
+ amount: string;
35
+ decimals: number;
36
+ priceUsd: number;
37
+ symbol: string;
38
+ price: number;
39
+ priceBeforeFee: number;
40
+ }>;
41
+ settlementAddress: Address;
42
+ approvalTarget: Address;
43
+ requiredSignatures: string[];
44
+ priceImpact: number;
45
+ warnings: string[];
46
+ toSign: {
47
+ partner_id: number;
18
48
  expiry: number;
19
- slippage: number;
20
- gasFee: {
21
- native: string;
22
- usd: number;
23
- };
24
- buyTokens: Record<Address, {
25
- amount: string;
26
- decimals: number;
27
- priceUsd: number;
28
- symbol: string;
29
- minimumAmount: string;
30
- price: number;
31
- priceBeforeFee: number;
32
- amountBeforeFee: string;
33
- deltaFromExpected: number;
34
- }>;
35
- sellTokens: Record<Address, {
36
- amount: string;
37
- decimals: number;
38
- priceUsd: number;
39
- symbol: string;
40
- price: number;
41
- priceBeforeFee: number;
42
- }>;
43
- settlementAddress: Address;
44
- approvalTarget: Address;
45
- requiredSignatures: string[];
46
- priceImpact: number;
47
- warnings: string[];
48
- toSign: {
49
- partner_id: number;
50
- expiry: number;
51
- taker_address: Address;
52
- maker_address: Address;
53
- maker_nonce: string;
54
- taker_token: Address;
55
- maker_token: Address;
56
- taker_amount: string;
57
- maker_amount: string;
58
- receiver: Address;
59
- packed_commands: string;
60
- };
61
- onchainOrderType?: string;
62
- solver?: string;
63
- makers?: string[];
64
- partialFillOffset?: number;
65
- tx: {
66
- to: Address;
67
- from: Address;
68
- data: Hex;
69
- value: Hex;
70
- gas?: number;
71
- gasPrice?: number;
72
- };
73
- partnerFee?: Record<Address, string>;
74
- protocolFee?: Record<Address, string>;
49
+ taker_address: Address;
50
+ maker_address: Address;
51
+ maker_nonce: string;
52
+ taker_token: Address;
53
+ maker_token: Address;
54
+ taker_amount: string;
55
+ maker_amount: string;
56
+ receiver: Address;
57
+ packed_commands: string;
75
58
  };
76
- };
77
- export type BebopError = {
78
- errorCode: number;
79
- message: string;
80
- requestId: string;
81
- };
82
- export type BebopQuoteResponse = {
83
- routes: BebopQuoteRoute[];
84
- errors: Record<string, BebopError>;
85
- link: string;
86
- bestPrice: string;
59
+ onchainOrderType?: string;
60
+ solver?: string;
61
+ makers?: string[];
62
+ partialFillOffset?: number;
63
+ tx: {
64
+ to: Address;
65
+ from: Address;
66
+ data: Hex;
67
+ value: Hex;
68
+ gas?: number;
69
+ gasPrice?: number;
70
+ };
71
+ partnerFee?: Record<Address, string>;
72
+ protocolFee?: Record<Address, string>;
87
73
  };
88
74
  export declare const chainIdToBebopChain: Record<BebopSupportedChainId, string>;
89
75
  export declare const BEBOP_NATIVE_MARKER = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
@@ -13,14 +13,6 @@ export declare const fetchBebopQuote: ({ buyAsset, sellAsset, sellAmountIncludin
13
13
  affiliateBps?: string | undefined;
14
14
  apiKey: string;
15
15
  }) => Promise<Result<BebopQuoteResponse, SwapErrorRight>>;
16
- export declare const fetchBebopPrice: ({ buyAsset, sellAsset, sellAmountIncludingProtocolFeesCryptoBaseUnit, receiveAddress, affiliateBps, apiKey, }: {
17
- buyAsset: Asset;
18
- sellAsset: Asset;
19
- sellAmountIncludingProtocolFeesCryptoBaseUnit: string;
20
- receiveAddress: string | undefined;
21
- affiliateBps?: string | undefined;
22
- apiKey: string;
23
- }) => Promise<Result<BebopQuoteResponse, SwapErrorRight>>;
24
16
  export declare const fetchBebopSolanaQuote: ({ buyAsset, sellAsset, sellAmountIncludingProtocolFeesCryptoBaseUnit, takerAddress, receiverAddress, slippageTolerancePercentageDecimal, affiliateBps, apiKey, }: {
25
17
  buyAsset: Asset;
26
18
  sellAsset: Asset;
@@ -31,11 +23,3 @@ export declare const fetchBebopSolanaQuote: ({ buyAsset, sellAsset, sellAmountIn
31
23
  affiliateBps?: string | undefined;
32
24
  apiKey: string;
33
25
  }) => Promise<Result<BebopSolanaQuoteResponse, SwapErrorRight>>;
34
- export declare const fetchBebopSolanaPrice: ({ buyAsset, sellAsset, sellAmountIncludingProtocolFeesCryptoBaseUnit, receiveAddress, affiliateBps, apiKey, }: {
35
- buyAsset: Asset;
36
- sellAsset: Asset;
37
- sellAmountIncludingProtocolFeesCryptoBaseUnit: string;
38
- receiveAddress: string | undefined;
39
- affiliateBps?: string | undefined;
40
- apiKey: string;
41
- }) => Promise<Result<BebopSolanaQuoteResponse, SwapErrorRight>>;