@moonwell-fi/moonwell-sdk 0.7.10 → 0.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 (281) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/_cjs/actions/beam/common.js +504 -0
  3. package/_cjs/actions/beam/common.js.map +1 -0
  4. package/_cjs/actions/beam/getBeamQuote.js +9 -0
  5. package/_cjs/actions/beam/getBeamQuote.js.map +1 -0
  6. package/_cjs/actions/beam/getBeamTokenLimits.js +56 -0
  7. package/_cjs/actions/beam/getBeamTokenLimits.js.map +1 -0
  8. package/_cjs/actions/beam/getBeamTokenRoutes.js +133 -0
  9. package/_cjs/actions/beam/getBeamTokenRoutes.js.map +1 -0
  10. package/_cjs/actions/core/getUserBalances.js +1 -2
  11. package/_cjs/actions/core/getUserBalances.js.map +1 -1
  12. package/_cjs/actions/core/markets/common.js.map +1 -1
  13. package/_cjs/actions/core/markets/getMarket.js +1 -2
  14. package/_cjs/actions/core/markets/getMarket.js.map +1 -1
  15. package/_cjs/actions/core/markets/getMarketSnapshots.js +1 -2
  16. package/_cjs/actions/core/markets/getMarketSnapshots.js.map +1 -1
  17. package/_cjs/actions/core/markets/getMarkets.js +1 -2
  18. package/_cjs/actions/core/markets/getMarkets.js.map +1 -1
  19. package/_cjs/actions/core/user-positions/common.js.map +1 -1
  20. package/_cjs/actions/core/user-positions/getUserPosition.js +1 -2
  21. package/_cjs/actions/core/user-positions/getUserPosition.js.map +1 -1
  22. package/_cjs/actions/core/user-positions/getUserPositionSnapshots.js +1 -2
  23. package/_cjs/actions/core/user-positions/getUserPositionSnapshots.js.map +1 -1
  24. package/_cjs/actions/core/user-positions/getUserPositions.js +1 -2
  25. package/_cjs/actions/core/user-positions/getUserPositions.js.map +1 -1
  26. package/_cjs/actions/core/user-rewards/common.js.map +1 -1
  27. package/_cjs/actions/core/user-rewards/getUserReward.js +1 -2
  28. package/_cjs/actions/core/user-rewards/getUserReward.js.map +1 -1
  29. package/_cjs/actions/core/user-rewards/getUserRewards.js +1 -2
  30. package/_cjs/actions/core/user-rewards/getUserRewards.js.map +1 -1
  31. package/_cjs/actions/governance/getCirculatingSupplySnapshots.js +1 -2
  32. package/_cjs/actions/governance/getCirculatingSupplySnapshots.js.map +1 -1
  33. package/_cjs/actions/governance/getDelegates.js +1 -2
  34. package/_cjs/actions/governance/getDelegates.js.map +1 -1
  35. package/_cjs/actions/governance/getDiscussions.js +1 -2
  36. package/_cjs/actions/governance/getDiscussions.js.map +1 -1
  37. package/_cjs/actions/governance/getGovernanceTokenInfo.js +1 -2
  38. package/_cjs/actions/governance/getGovernanceTokenInfo.js.map +1 -1
  39. package/_cjs/actions/governance/getStakingInfo.js +1 -2
  40. package/_cjs/actions/governance/getStakingInfo.js.map +1 -1
  41. package/_cjs/actions/governance/getStakingSnapshots.js +1 -2
  42. package/_cjs/actions/governance/getStakingSnapshots.js.map +1 -1
  43. package/_cjs/actions/governance/getUserStakingInfo.js +1 -2
  44. package/_cjs/actions/governance/getUserStakingInfo.js.map +1 -1
  45. package/_cjs/actions/governance/getUserVoteReceipt.js +1 -2
  46. package/_cjs/actions/governance/getUserVoteReceipt.js.map +1 -1
  47. package/_cjs/actions/governance/getUserVotingPowers.js +1 -2
  48. package/_cjs/actions/governance/getUserVotingPowers.js.map +1 -1
  49. package/_cjs/actions/governance/proposals/common.js +1 -1
  50. package/_cjs/actions/governance/proposals/common.js.map +1 -1
  51. package/_cjs/actions/governance/proposals/getProposal.js +1 -2
  52. package/_cjs/actions/governance/proposals/getProposal.js.map +1 -1
  53. package/_cjs/actions/governance/proposals/getProposals.js +1 -2
  54. package/_cjs/actions/governance/proposals/getProposals.js.map +1 -1
  55. package/_cjs/actions/governance/snapshot/common.js.map +1 -1
  56. package/_cjs/actions/governance/snapshot/getSnapshotProposal.js +1 -2
  57. package/_cjs/actions/governance/snapshot/getSnapshotProposal.js.map +1 -1
  58. package/_cjs/actions/governance/snapshot/getSnapshotProposals.js +1 -2
  59. package/_cjs/actions/governance/snapshot/getSnapshotProposals.js.map +1 -1
  60. package/_cjs/actions/morpho/getMorphoUserBalances.js +1 -2
  61. package/_cjs/actions/morpho/getMorphoUserBalances.js.map +1 -1
  62. package/_cjs/actions/morpho/markets/common.js +1 -2
  63. package/_cjs/actions/morpho/markets/common.js.map +1 -1
  64. package/_cjs/actions/morpho/markets/getMorphoMarket.js +1 -2
  65. package/_cjs/actions/morpho/markets/getMorphoMarket.js.map +1 -1
  66. package/_cjs/actions/morpho/markets/getMorphoMarkets.js +1 -2
  67. package/_cjs/actions/morpho/markets/getMorphoMarkets.js.map +1 -1
  68. package/_cjs/actions/morpho/user-positions/common.js +2 -3
  69. package/_cjs/actions/morpho/user-positions/common.js.map +1 -1
  70. package/_cjs/actions/morpho/user-positions/getMorphoMarketUserPosition.js +1 -2
  71. package/_cjs/actions/morpho/user-positions/getMorphoMarketUserPosition.js.map +1 -1
  72. package/_cjs/actions/morpho/user-positions/getMorphoMarketUserPositions.js +1 -2
  73. package/_cjs/actions/morpho/user-positions/getMorphoMarketUserPositions.js.map +1 -1
  74. package/_cjs/actions/morpho/user-positions/getMorphoVaultUserPosition.js +1 -2
  75. package/_cjs/actions/morpho/user-positions/getMorphoVaultUserPosition.js.map +1 -1
  76. package/_cjs/actions/morpho/user-positions/getMorphoVaultUserPositionSnapshots.js +1 -2
  77. package/_cjs/actions/morpho/user-positions/getMorphoVaultUserPositionSnapshots.js.map +1 -1
  78. package/_cjs/actions/morpho/user-positions/getMorphoVaultUserPositions.js +1 -2
  79. package/_cjs/actions/morpho/user-positions/getMorphoVaultUserPositions.js.map +1 -1
  80. package/_cjs/actions/morpho/user-rewards/common.js +2 -3
  81. package/_cjs/actions/morpho/user-rewards/common.js.map +1 -1
  82. package/_cjs/actions/morpho/user-rewards/getMorphoUserRewards.js +1 -2
  83. package/_cjs/actions/morpho/user-rewards/getMorphoUserRewards.js.map +1 -1
  84. package/_cjs/actions/morpho/user-rewards/getMorphoUserStakingRewards.js +1 -2
  85. package/_cjs/actions/morpho/user-rewards/getMorphoUserStakingRewards.js.map +1 -1
  86. package/_cjs/actions/morpho/utils/accrueInterests.js.map +1 -1
  87. package/_cjs/actions/morpho/utils/graphql.js +2 -3
  88. package/_cjs/actions/morpho/utils/graphql.js.map +1 -1
  89. package/_cjs/actions/morpho/vaults/common.js +2 -3
  90. package/_cjs/actions/morpho/vaults/common.js.map +1 -1
  91. package/_cjs/actions/morpho/vaults/getMorphoVault.js +1 -2
  92. package/_cjs/actions/morpho/vaults/getMorphoVault.js.map +1 -1
  93. package/_cjs/actions/morpho/vaults/getMorphoVaultSnapshots.js +1 -2
  94. package/_cjs/actions/morpho/vaults/getMorphoVaultSnapshots.js.map +1 -1
  95. package/_cjs/actions/morpho/vaults/getMorphoVaultStakingSnapshots.js +1 -2
  96. package/_cjs/actions/morpho/vaults/getMorphoVaultStakingSnapshots.js.map +1 -1
  97. package/_cjs/actions/morpho/vaults/getMorphoVaults.js +1 -2
  98. package/_cjs/actions/morpho/vaults/getMorphoVaults.js.map +1 -1
  99. package/_cjs/client/createActions.js +6 -0
  100. package/_cjs/client/createActions.js.map +1 -1
  101. package/_cjs/common/amount.js.map +1 -1
  102. package/_cjs/common/error.js +2 -2
  103. package/_cjs/common/error.js.map +1 -1
  104. package/_cjs/common/fetch-headers.js +2 -1
  105. package/_cjs/common/fetch-headers.js.map +1 -1
  106. package/_cjs/common/index.js +2 -2
  107. package/_cjs/common/index.js.map +1 -1
  108. package/_cjs/environments/definitions/arbitrum/environment.js +6 -1
  109. package/_cjs/environments/definitions/arbitrum/environment.js.map +1 -1
  110. package/_cjs/environments/definitions/avalanche/environment.js +6 -1
  111. package/_cjs/environments/definitions/avalanche/environment.js.map +1 -1
  112. package/_cjs/environments/definitions/base/environment.js +6 -1
  113. package/_cjs/environments/definitions/base/environment.js.map +1 -1
  114. package/_cjs/environments/definitions/ethereum/environment.js +6 -1
  115. package/_cjs/environments/definitions/ethereum/environment.js.map +1 -1
  116. package/_cjs/environments/definitions/moonbeam/environment.js +6 -1
  117. package/_cjs/environments/definitions/moonbeam/environment.js.map +1 -1
  118. package/_cjs/environments/definitions/moonriver/environment.js +6 -1
  119. package/_cjs/environments/definitions/moonriver/environment.js.map +1 -1
  120. package/_cjs/environments/definitions/optimism/environment.js +6 -1
  121. package/_cjs/environments/definitions/optimism/environment.js.map +1 -1
  122. package/_cjs/environments/definitions/polygon/environment.js +6 -1
  123. package/_cjs/environments/definitions/polygon/environment.js.map +1 -1
  124. package/_cjs/environments/index.js.map +1 -1
  125. package/_cjs/environments/types/config.js +1 -1
  126. package/_cjs/environments/types/config.js.map +1 -1
  127. package/_cjs/environments/utils/index.js.map +1 -1
  128. package/_cjs/errors/version.js +1 -1
  129. package/_cjs/errors/version.js.map +1 -1
  130. package/_cjs/logger/console.js +2 -3
  131. package/_cjs/logger/console.js.map +1 -1
  132. package/_cjs/types/beam.js +3 -0
  133. package/_cjs/types/beam.js.map +1 -0
  134. package/_cjs/types/proposal.js +2 -2
  135. package/_cjs/types/proposal.js.map +1 -1
  136. package/_esm/actions/beam/common.js +576 -0
  137. package/_esm/actions/beam/common.js.map +1 -0
  138. package/_esm/actions/beam/getBeamQuote.js +9 -0
  139. package/_esm/actions/beam/getBeamQuote.js.map +1 -0
  140. package/_esm/actions/beam/getBeamTokenLimits.js +53 -0
  141. package/_esm/actions/beam/getBeamTokenLimits.js.map +1 -0
  142. package/_esm/actions/beam/getBeamTokenRoutes.js +130 -0
  143. package/_esm/actions/beam/getBeamTokenRoutes.js.map +1 -0
  144. package/_esm/actions/core/getUserBalances.js.map +1 -1
  145. package/_esm/actions/core/markets/common.js.map +1 -1
  146. package/_esm/actions/core/markets/getMarket.js.map +1 -1
  147. package/_esm/actions/core/markets/getMarketSnapshots.js.map +1 -1
  148. package/_esm/actions/core/markets/getMarkets.js.map +1 -1
  149. package/_esm/actions/core/user-positions/common.js.map +1 -1
  150. package/_esm/actions/core/user-positions/getUserPosition.js.map +1 -1
  151. package/_esm/actions/core/user-positions/getUserPositionSnapshots.js.map +1 -1
  152. package/_esm/actions/core/user-rewards/common.js.map +1 -1
  153. package/_esm/actions/core/user-rewards/getUserReward.js.map +1 -1
  154. package/_esm/actions/governance/getCirculatingSupplySnapshots.js.map +1 -1
  155. package/_esm/actions/governance/getDelegates.js.map +1 -1
  156. package/_esm/actions/governance/getDiscussions.js.map +1 -1
  157. package/_esm/actions/governance/getGovernanceTokenInfo.js.map +1 -1
  158. package/_esm/actions/governance/getStakingSnapshots.js.map +1 -1
  159. package/_esm/actions/governance/getUserVoteReceipt.js.map +1 -1
  160. package/_esm/actions/governance/proposals/common.js +3 -3
  161. package/_esm/actions/governance/proposals/common.js.map +1 -1
  162. package/_esm/actions/governance/proposals/getProposal.js.map +1 -1
  163. package/_esm/actions/governance/snapshot/common.js.map +1 -1
  164. package/_esm/actions/governance/snapshot/getSnapshotProposal.js.map +1 -1
  165. package/_esm/actions/morpho/getMorphoUserBalances.js.map +1 -1
  166. package/_esm/actions/morpho/markets/common.js +4 -4
  167. package/_esm/actions/morpho/markets/common.js.map +1 -1
  168. package/_esm/actions/morpho/markets/getMorphoMarket.js.map +1 -1
  169. package/_esm/actions/morpho/user-positions/getMorphoMarketUserPosition.js.map +1 -1
  170. package/_esm/actions/morpho/user-positions/getMorphoVaultUserPosition.js.map +1 -1
  171. package/_esm/actions/morpho/user-positions/getMorphoVaultUserPositionSnapshots.js.map +1 -1
  172. package/_esm/actions/morpho/user-rewards/common.js.map +1 -1
  173. package/_esm/actions/morpho/utils/accrueInterests.js.map +1 -1
  174. package/_esm/actions/morpho/utils/graphql.js.map +1 -1
  175. package/_esm/actions/morpho/vaults/common.js.map +1 -1
  176. package/_esm/actions/morpho/vaults/getMorphoVault.js.map +1 -1
  177. package/_esm/actions/morpho/vaults/getMorphoVaultSnapshots.js.map +1 -1
  178. package/_esm/actions/morpho/vaults/getMorphoVaultStakingSnapshots.js.map +1 -1
  179. package/_esm/client/createActions.js +6 -0
  180. package/_esm/client/createActions.js.map +1 -1
  181. package/_esm/common/amount.js.map +1 -1
  182. package/_esm/common/fetch-headers.js +2 -1
  183. package/_esm/common/fetch-headers.js.map +1 -1
  184. package/_esm/common/index.js.map +1 -1
  185. package/_esm/environments/definitions/arbitrum/environment.js +6 -1
  186. package/_esm/environments/definitions/arbitrum/environment.js.map +1 -1
  187. package/_esm/environments/definitions/avalanche/environment.js +6 -1
  188. package/_esm/environments/definitions/avalanche/environment.js.map +1 -1
  189. package/_esm/environments/definitions/base/environment.js +6 -1
  190. package/_esm/environments/definitions/base/environment.js.map +1 -1
  191. package/_esm/environments/definitions/ethereum/environment.js +6 -1
  192. package/_esm/environments/definitions/ethereum/environment.js.map +1 -1
  193. package/_esm/environments/definitions/moonbeam/environment.js +6 -1
  194. package/_esm/environments/definitions/moonbeam/environment.js.map +1 -1
  195. package/_esm/environments/definitions/moonriver/environment.js +6 -1
  196. package/_esm/environments/definitions/moonriver/environment.js.map +1 -1
  197. package/_esm/environments/definitions/optimism/environment.js +6 -1
  198. package/_esm/environments/definitions/optimism/environment.js.map +1 -1
  199. package/_esm/environments/definitions/polygon/environment.js +6 -1
  200. package/_esm/environments/definitions/polygon/environment.js.map +1 -1
  201. package/_esm/environments/index.js.map +1 -1
  202. package/_esm/environments/types/config.js +1 -1
  203. package/_esm/environments/types/config.js.map +1 -1
  204. package/_esm/environments/utils/index.js.map +1 -1
  205. package/_esm/errors/version.js +1 -1
  206. package/_esm/errors/version.js.map +1 -1
  207. package/_esm/logger/console.js.map +1 -1
  208. package/_esm/types/beam.js +2 -0
  209. package/_esm/types/beam.js.map +1 -0
  210. package/_types/actions/beam/common.d.ts +5 -0
  211. package/_types/actions/beam/common.d.ts.map +1 -0
  212. package/_types/actions/beam/getBeamQuote.d.ts +88 -0
  213. package/_types/actions/beam/getBeamQuote.d.ts.map +1 -0
  214. package/_types/actions/beam/getBeamTokenLimits.d.ts +13 -0
  215. package/_types/actions/beam/getBeamTokenLimits.d.ts.map +1 -0
  216. package/_types/actions/beam/getBeamTokenRoutes.d.ts +10 -0
  217. package/_types/actions/beam/getBeamTokenRoutes.d.ts.map +1 -0
  218. package/_types/actions/governance/snapshot/common.d.ts.map +1 -1
  219. package/_types/client/createActions.d.ts +7 -10
  220. package/_types/client/createActions.d.ts.map +1 -1
  221. package/_types/client/createMoonwellClient.d.ts +4048 -4048
  222. package/_types/client/createMoonwellClient.d.ts.map +1 -1
  223. package/_types/common/fetch-headers.d.ts.map +1 -1
  224. package/_types/environments/definitions/arbitrum/environment.d.ts.map +1 -1
  225. package/_types/environments/definitions/arbitrum/tokens.d.ts +10 -10
  226. package/_types/environments/definitions/avalanche/environment.d.ts.map +1 -1
  227. package/_types/environments/definitions/avalanche/tokens.d.ts +10 -10
  228. package/_types/environments/definitions/base/contracts.d.ts +15 -15
  229. package/_types/environments/definitions/base/core-markets.d.ts +76 -76
  230. package/_types/environments/definitions/base/environment.d.ts +108 -107
  231. package/_types/environments/definitions/base/environment.d.ts.map +1 -1
  232. package/_types/environments/definitions/base/morpho-markets.d.ts +57 -57
  233. package/_types/environments/definitions/base/morpho-vaults.d.ts +12 -12
  234. package/_types/environments/definitions/base/tokens.d.ts +275 -275
  235. package/_types/environments/definitions/ethereum/environment.d.ts.map +1 -1
  236. package/_types/environments/definitions/ethereum/tokens.d.ts +10 -10
  237. package/_types/environments/definitions/governance.d.ts.map +1 -1
  238. package/_types/environments/definitions/moonbeam/contracts.d.ts +10 -10
  239. package/_types/environments/definitions/moonbeam/core-markets.d.ts +53 -53
  240. package/_types/environments/definitions/moonbeam/environment.d.ts +230 -230
  241. package/_types/environments/definitions/moonbeam/environment.d.ts.map +1 -1
  242. package/_types/environments/definitions/moonbeam/tokens.d.ts +167 -167
  243. package/_types/environments/definitions/moonriver/contracts.d.ts +8 -8
  244. package/_types/environments/definitions/moonriver/core-markets.d.ts +25 -25
  245. package/_types/environments/definitions/moonriver/environment.d.ts +140 -140
  246. package/_types/environments/definitions/moonriver/environment.d.ts.map +1 -1
  247. package/_types/environments/definitions/moonriver/tokens.d.ts +101 -101
  248. package/_types/environments/definitions/optimism/contracts.d.ts +15 -15
  249. package/_types/environments/definitions/optimism/core-markets.d.ts +39 -39
  250. package/_types/environments/definitions/optimism/environment.d.ts +237 -237
  251. package/_types/environments/definitions/optimism/environment.d.ts.map +1 -1
  252. package/_types/environments/definitions/optimism/morpho-markets.d.ts +8 -8
  253. package/_types/environments/definitions/optimism/morpho-vaults.d.ts +4 -4
  254. package/_types/environments/definitions/optimism/tokens.d.ts +179 -179
  255. package/_types/environments/definitions/polygon/environment.d.ts.map +1 -1
  256. package/_types/environments/definitions/polygon/tokens.d.ts +10 -10
  257. package/_types/environments/index.d.ts +1250 -1242
  258. package/_types/environments/index.d.ts.map +1 -1
  259. package/_types/environments/types/config.d.ts +6 -6
  260. package/_types/environments/types/config.d.ts.map +1 -1
  261. package/_types/errors/version.d.ts +1 -1
  262. package/_types/errors/version.d.ts.map +1 -1
  263. package/_types/types/beam.d.ts +24 -0
  264. package/_types/types/beam.d.ts.map +1 -0
  265. package/actions/beam/common.ts +776 -0
  266. package/actions/beam/getBeamQuote.ts +107 -0
  267. package/actions/beam/getBeamTokenLimits.ts +89 -0
  268. package/actions/beam/getBeamTokenRoutes.ts +245 -0
  269. package/client/createActions.ts +29 -0
  270. package/common/fetch-headers.ts +4 -1
  271. package/environments/definitions/arbitrum/environment.ts +6 -1
  272. package/environments/definitions/avalanche/environment.ts +6 -1
  273. package/environments/definitions/base/environment.ts +6 -1
  274. package/environments/definitions/ethereum/environment.ts +6 -1
  275. package/environments/definitions/moonbeam/environment.ts +6 -1
  276. package/environments/definitions/moonriver/environment.ts +6 -1
  277. package/environments/definitions/optimism/environment.ts +6 -1
  278. package/environments/definitions/polygon/environment.ts +6 -1
  279. package/errors/version.ts +1 -1
  280. package/package.json +5 -2
  281. package/types/beam.ts +20 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @moonwell-fi/moonwell-sdk
2
2
 
3
+ ## 0.8.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#127](https://github.com/moonwell-fi/moonwell-sdk/pull/127) [`e1af835cf9e8984d58e2ebc22a4246004e21cda0`](https://github.com/moonwell-fi/moonwell-sdk/commit/e1af835cf9e8984d58e2ebc22a4246004e21cda0) Thanks [@x0s0l](https://github.com/x0s0l)! - Moonwell Beam - Deposit / Supply from multiple chains using Biconomy MEE and Across
8
+
9
+ ## 0.7.11
10
+
11
+ ### Patch Changes
12
+
13
+ - [#125](https://github.com/moonwell-fi/moonwell-sdk/pull/125) [`90bd92a22dc78f396617971d3b0c4de363382391`](https://github.com/moonwell-fi/moonwell-sdk/commit/90bd92a22dc78f396617971d3b0c4de363382391) Thanks [@hishboy](https://github.com/hishboy)! - Include User-Agent for only non-browser environment
14
+
3
15
  ## 0.7.10
4
16
 
5
17
  ### Patch Changes
@@ -0,0 +1,504 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getQuote = getQuote;
7
+ const app_sdk_1 = require("@across-protocol/app-sdk");
8
+ const abstractjs_1 = require("@biconomy/abstractjs");
9
+ const viem_1 = require("viem");
10
+ const index_js_1 = require("../../common/index.js");
11
+ const marketTokenAbi_js_1 = __importDefault(require("../../environments/abis/marketTokenAbi.js"));
12
+ const morphoBlueAbi_js_1 = __importDefault(require("../../environments/abis/morphoBlueAbi.js"));
13
+ const morphoVaultAbi_js_1 = __importDefault(require("../../environments/abis/morphoVaultAbi.js"));
14
+ const index_js_2 = require("../../environments/index.js");
15
+ const ACROSS_ABI = (0, viem_1.parseAbi)([
16
+ "function deposit(bytes32 depositor, bytes32 recipient, bytes32 inputToken, bytes32 outputToken, uint256 inputAmount, uint256 outputAmount, uint256 destinationChainId, bytes32 exclusiveRelayer, uint32 quoteTimestamp, uint32 fillDeadline, uint32 exclusivityParameter, bytes message)",
17
+ "function depositV3(address depositor,address recipient,address inputToken,address outputToken,uint256 inputAmount,uint256 outputAmount,uint256 destinationChainId,address exclusiveRelayer,uint32 quoteTimestamp,uint32 fillDeadline,uint32 exclusivityParameter,bytes message)",
18
+ ]);
19
+ const WRAP_ABI = (0, viem_1.parseAbi)(["function deposit()"]);
20
+ const MEE_CLIENT_API_KEY = "mee_3ZkX3T823ZDfwsNiFsqj5oZS";
21
+ const ACROSS_INTEGRATOR_ID = "0x008e";
22
+ const findMarketToken = (environments, chainId, underlyingTokenAddress) => {
23
+ const originEnvironment = environments.find((env) => chainId === env.chainId);
24
+ if (originEnvironment) {
25
+ const underlyingTokenConfig = Object.keys(originEnvironment.config.tokens)
26
+ .map((token) => {
27
+ const marketToken = originEnvironment.config.tokens[token];
28
+ return {
29
+ ...marketToken,
30
+ key: token,
31
+ };
32
+ })
33
+ .find((token) => token.address === underlyingTokenAddress);
34
+ if (underlyingTokenConfig) {
35
+ const originMarket = Object.values(originEnvironment.config.markets).find((market) => market.underlyingToken === underlyingTokenConfig.key);
36
+ if (originMarket) {
37
+ return {
38
+ underlyingToken: originEnvironment.config.tokens[originMarket.underlyingToken],
39
+ marketToken: originEnvironment.config.tokens[originMarket.marketToken],
40
+ };
41
+ }
42
+ }
43
+ }
44
+ return undefined;
45
+ };
46
+ const findIsolatedMarketToken = (environments, chainId, underlyingTokenAddress) => {
47
+ const originEnvironment = environments.find((env) => chainId === env.chainId);
48
+ if (originEnvironment) {
49
+ const underlyingTokenConfig = Object.keys(originEnvironment.config.tokens)
50
+ .map((token) => {
51
+ const marketToken = originEnvironment.config.tokens[token];
52
+ return {
53
+ ...marketToken,
54
+ key: token,
55
+ };
56
+ })
57
+ .find((token) => token.address === underlyingTokenAddress);
58
+ if (underlyingTokenConfig) {
59
+ const originMarket = Object.values(originEnvironment.config.morphoMarkets).find((market) => market.collateralToken === underlyingTokenConfig.key);
60
+ if (originMarket) {
61
+ return {
62
+ underlyingToken: originEnvironment.config.tokens[originMarket.collateralToken],
63
+ marketToken: originEnvironment.config.tokens[originMarket.loanToken],
64
+ };
65
+ }
66
+ }
67
+ }
68
+ return undefined;
69
+ };
70
+ const findVaultToken = (environments, chainId, underlyingTokenAddress) => {
71
+ const originEnvironment = environments.find((env) => chainId === env.chainId);
72
+ if (originEnvironment) {
73
+ const underlyingTokenConfig = Object.keys(originEnvironment.config.tokens)
74
+ .map((token) => {
75
+ const marketToken = originEnvironment.config.tokens[token];
76
+ return {
77
+ ...marketToken,
78
+ key: token,
79
+ };
80
+ })
81
+ .find((token) => token.address === underlyingTokenAddress);
82
+ if (underlyingTokenConfig) {
83
+ const originMarket = Object.values(originEnvironment.config.vaults).find((market) => market.underlyingToken === underlyingTokenConfig.key);
84
+ if (originMarket) {
85
+ return {
86
+ underlyingToken: originEnvironment.config.tokens[originMarket.underlyingToken],
87
+ marketToken: originEnvironment.config.tokens[originMarket.vaultToken],
88
+ };
89
+ }
90
+ }
91
+ }
92
+ return undefined;
93
+ };
94
+ async function getQuote(client, args) {
95
+ const envs = (0, index_js_1.getEnvironmentsFromArgs)(client, undefined, false).filter((env) => env.chainId !== index_js_2.moonbeam.id && env.chainId !== index_js_2.moonriver.id);
96
+ const chains = Object.values(envs).map((env) => env.chain);
97
+ const transports = chains.map((chain) => (0, viem_1.http)(chain.rpcUrls.default.http[0]));
98
+ const smartAccount = await (0, abstractjs_1.toMultichainNexusAccount)({
99
+ signer: args.wallet,
100
+ chains,
101
+ transports,
102
+ });
103
+ const meeClient = await (0, abstractjs_1.createMeeClient)({
104
+ account: smartAccount,
105
+ apiKey: MEE_CLIENT_API_KEY,
106
+ });
107
+ const accrossClient = (0, app_sdk_1.createAcrossClient)({
108
+ integratorId: ACROSS_INTEGRATOR_ID,
109
+ chains,
110
+ useTestnet: false,
111
+ });
112
+ if (args.type === "supply" ||
113
+ args.type === "morpho-supply" ||
114
+ args.type === "vault-deposit") {
115
+ const tokenConfig = args.type === "supply"
116
+ ? findMarketToken(envs, args.destination.chainId, args.destination.address)
117
+ : args.type === "morpho-supply"
118
+ ? findIsolatedMarketToken(envs, args.destination.chainId, args.destination.address)
119
+ : findVaultToken(envs, args.destination.chainId, args.destination.address);
120
+ if (tokenConfig) {
121
+ const quotes = [];
122
+ const instructions = [];
123
+ const approvals = [];
124
+ const transfers = [];
125
+ let totalOutput = 0n;
126
+ const nativeAmounts = [];
127
+ const cleanUps = [];
128
+ for (const source of args.sources) {
129
+ const sourceChain = chains.find((r) => r.id === source.chainId);
130
+ const publicClient = (0, viem_1.createPublicClient)({
131
+ chain: sourceChain,
132
+ transport: (0, viem_1.http)(sourceChain.rpcUrls.default.http[0]),
133
+ });
134
+ const nativeBalance = await publicClient.getBalance({
135
+ address: args.wallet.account?.address,
136
+ });
137
+ nativeAmounts.push({
138
+ chainId: source.chainId,
139
+ amount: nativeBalance,
140
+ });
141
+ if (source.address === viem_1.zeroAddress) {
142
+ const nativeBalanceSmartAccount = await publicClient.getBalance({
143
+ address: smartAccount.addressOn(source.chainId),
144
+ });
145
+ if (nativeBalanceSmartAccount < source.amount) {
146
+ transfers.push({
147
+ amount: source.amount - nativeBalanceSmartAccount,
148
+ chainId: source.chainId,
149
+ to: smartAccount.addressOn(source.chainId),
150
+ });
151
+ }
152
+ cleanUps.push({
153
+ tokenAddress: source.address,
154
+ chainId: source.chainId,
155
+ recipientAddress: args.wallet.account.address,
156
+ });
157
+ }
158
+ else {
159
+ const erc20Abi = (0, viem_1.parseAbi)([
160
+ "function allowance(address owner, address spender) view returns (uint256)",
161
+ ]);
162
+ const erc20Contract = (0, viem_1.getContract)({
163
+ address: source.routeTokenAddress,
164
+ abi: erc20Abi,
165
+ client: publicClient,
166
+ });
167
+ const allowance = await erc20Contract.read.allowance([
168
+ args.wallet.account?.address,
169
+ smartAccount.addressOn(source.chainId),
170
+ ]);
171
+ if (allowance < source.amount) {
172
+ approvals.push({
173
+ spender: smartAccount.addressOn(source.chainId),
174
+ tokenAddress: source.routeTokenAddress,
175
+ chainId: source.chainId,
176
+ amount: source.amount,
177
+ });
178
+ }
179
+ }
180
+ let transferOrWrapInstruction = [];
181
+ if (source.address === viem_1.zeroAddress) {
182
+ const wrapData = (0, viem_1.encodeFunctionData)({
183
+ abi: WRAP_ABI,
184
+ functionName: "deposit",
185
+ args: [],
186
+ });
187
+ transferOrWrapInstruction = await smartAccount.buildComposable({
188
+ type: "rawCalldata",
189
+ data: {
190
+ calldata: wrapData,
191
+ to: source.routeTokenAddress,
192
+ chainId: source.chainId,
193
+ value: source.amount,
194
+ },
195
+ });
196
+ }
197
+ else {
198
+ transferOrWrapInstruction = await smartAccount.buildComposable({
199
+ type: "transferFrom",
200
+ data: {
201
+ sender: args.wallet.account?.address,
202
+ recipient: smartAccount.addressOn(source.chainId),
203
+ tokenAddress: source.routeTokenAddress,
204
+ amount: source.amount,
205
+ chainId: source.chainId,
206
+ },
207
+ });
208
+ }
209
+ if (source.chainId !== args.destination.chainId) {
210
+ const acrossQuote = await accrossClient.getQuote({
211
+ route: {
212
+ originChainId: source.chainId,
213
+ inputToken: source.routeTokenAddress,
214
+ destinationChainId: args.destination.chainId,
215
+ outputToken: args.destination.routeTokenAddress,
216
+ },
217
+ inputAmount: source.amount.toString(),
218
+ recipient: smartAccount.addressOn(args.destination.chainId),
219
+ });
220
+ const acrossChainInfo = await accrossClient.getChainInfo(source.chainId);
221
+ const approveAcrossSpendInstructions = await smartAccount.buildComposable({
222
+ type: "approve",
223
+ data: {
224
+ tokenAddress: source.routeTokenAddress,
225
+ amount: source.amount,
226
+ chainId: source.chainId,
227
+ spender: acrossChainInfo.spokePool,
228
+ },
229
+ });
230
+ const bridgeData = (0, viem_1.encodeFunctionData)({
231
+ abi: ACROSS_ABI,
232
+ functionName: "depositV3",
233
+ args: [
234
+ smartAccount.addressOn(source.chainId),
235
+ smartAccount.addressOn(args.destination.chainId),
236
+ acrossQuote.deposit.inputToken,
237
+ acrossQuote.deposit.outputToken,
238
+ acrossQuote.deposit.inputAmount,
239
+ acrossQuote.deposit.outputAmount,
240
+ acrossQuote.deposit.destinationChainId,
241
+ acrossQuote.deposit.exclusiveRelayer,
242
+ acrossQuote.deposit.quoteTimestamp,
243
+ acrossQuote.deposit.fillDeadline,
244
+ acrossQuote.deposit.exclusivityDeadline,
245
+ acrossQuote.deposit.message,
246
+ ],
247
+ });
248
+ totalOutput += acrossQuote.deposit.outputAmount;
249
+ const bridgeInstructions = await smartAccount.buildComposable({
250
+ type: "rawCalldata",
251
+ data: {
252
+ calldata: bridgeData,
253
+ to: acrossChainInfo.spokePool,
254
+ chainId: source.chainId,
255
+ },
256
+ });
257
+ quotes.push(acrossQuote);
258
+ instructions.push(await smartAccount.buildComposable({
259
+ type: "batch",
260
+ data: {
261
+ instructions: [
262
+ transferOrWrapInstruction,
263
+ approveAcrossSpendInstructions,
264
+ bridgeInstructions,
265
+ ],
266
+ },
267
+ }));
268
+ }
269
+ else {
270
+ totalOutput += source.amount;
271
+ instructions.push(transferOrWrapInstruction);
272
+ }
273
+ }
274
+ const approveSupplyInstructions = await smartAccount.buildComposable({
275
+ type: "approve",
276
+ data: {
277
+ tokenAddress: args.destination.routeTokenAddress,
278
+ amount: (0, abstractjs_1.runtimeERC20BalanceOf)({
279
+ tokenAddress: args.destination.routeTokenAddress,
280
+ targetAddress: smartAccount.addressOn(args.destination.chainId, true),
281
+ constraints: [(0, abstractjs_1.greaterThanOrEqualTo)(totalOutput)],
282
+ }),
283
+ chainId: args.destination.chainId,
284
+ spender: args.type === "morpho-supply"
285
+ ? args.destination.morphoBlue
286
+ : tokenConfig.marketToken.address,
287
+ },
288
+ });
289
+ if (args.type === "supply") {
290
+ const supplyInstructions = await smartAccount.buildComposable({
291
+ type: "default",
292
+ data: {
293
+ to: tokenConfig.marketToken.address,
294
+ abi: marketTokenAbi_js_1.default,
295
+ functionName: "mint",
296
+ args: [
297
+ (0, abstractjs_1.runtimeEncodeAbiParameters)([{ name: "amount", type: "uint256" }], [
298
+ (0, abstractjs_1.runtimeERC20BalanceOf)({
299
+ targetAddress: smartAccount.addressOn(args.destination.chainId, true),
300
+ tokenAddress: args.destination
301
+ .routeTokenAddress,
302
+ constraints: [(0, abstractjs_1.greaterThanOrEqualTo)(totalOutput)],
303
+ }),
304
+ ]),
305
+ ],
306
+ chainId: args.destination.chainId,
307
+ },
308
+ });
309
+ const transferBack = await smartAccount.buildComposable({
310
+ type: "transfer",
311
+ data: {
312
+ amount: (0, abstractjs_1.runtimeERC20BalanceOf)({
313
+ tokenAddress: tokenConfig.marketToken.address,
314
+ targetAddress: smartAccount.addressOn(args.destination.chainId, true),
315
+ constraints: [(0, abstractjs_1.greaterThanOrEqualTo)(1n)],
316
+ }),
317
+ chainId: args.destination.chainId,
318
+ recipient: args.wallet.account.address,
319
+ tokenAddress: tokenConfig.marketToken.address,
320
+ },
321
+ });
322
+ const batchedInstructions = await smartAccount.buildComposable({
323
+ type: "batch",
324
+ data: {
325
+ instructions: [
326
+ approveSupplyInstructions,
327
+ supplyInstructions,
328
+ transferBack,
329
+ ],
330
+ },
331
+ });
332
+ instructions.push(batchedInstructions);
333
+ }
334
+ else if (args.type === "morpho-supply") {
335
+ const supplyCollateralData = (0, viem_1.encodeFunctionData)({
336
+ abi: morphoBlueAbi_js_1.default,
337
+ functionName: "supplyCollateral",
338
+ args: [
339
+ {
340
+ loanToken: args.destination.marketParams?.loanToken,
341
+ collateralToken: args.destination.marketParams?.collateralToken,
342
+ oracle: args.destination.marketParams?.oracle,
343
+ irm: args.destination.marketParams?.irm,
344
+ lltv: args.destination.marketParams?.lltv,
345
+ },
346
+ totalOutput,
347
+ args.wallet.account.address,
348
+ "0x",
349
+ ],
350
+ });
351
+ const supplyInstructions = await smartAccount.buildComposable({
352
+ type: "rawCalldata",
353
+ data: {
354
+ calldata: supplyCollateralData,
355
+ to: args.destination.morphoBlue,
356
+ chainId: args.destination.chainId,
357
+ value: 0n,
358
+ },
359
+ });
360
+ const batchedInstructions = await smartAccount.buildComposable({
361
+ type: "batch",
362
+ data: {
363
+ instructions: [approveSupplyInstructions, supplyInstructions],
364
+ },
365
+ });
366
+ instructions.push(batchedInstructions);
367
+ }
368
+ else if (args.type === "vault-deposit") {
369
+ const depositData = (0, viem_1.encodeFunctionData)({
370
+ abi: morphoVaultAbi_js_1.default,
371
+ functionName: "deposit",
372
+ args: [totalOutput, args.wallet.account.address],
373
+ });
374
+ const depositInstructions = await smartAccount.buildComposable({
375
+ type: "rawCalldata",
376
+ data: {
377
+ calldata: depositData,
378
+ to: tokenConfig.marketToken.address,
379
+ chainId: args.destination.chainId,
380
+ value: 0n,
381
+ },
382
+ });
383
+ const batchedInstructions = await smartAccount.buildComposable({
384
+ type: "batch",
385
+ data: {
386
+ instructions: [approveSupplyInstructions, depositInstructions],
387
+ },
388
+ });
389
+ instructions.push(batchedInstructions);
390
+ }
391
+ const fusionQuote = await meeClient.getFusionQuote({
392
+ trigger: {
393
+ tokenAddress: viem_1.zeroAddress,
394
+ chainId: args.destination.chainId,
395
+ amount: 1n,
396
+ },
397
+ feeToken: {
398
+ address: viem_1.zeroAddress,
399
+ chainId: args.destination.chainId,
400
+ },
401
+ instructions,
402
+ cleanUps: [
403
+ ...cleanUps,
404
+ {
405
+ tokenAddress: args.destination.routeTokenAddress,
406
+ chainId: args.destination.chainId,
407
+ recipientAddress: args.wallet.account.address,
408
+ },
409
+ ],
410
+ });
411
+ return {
412
+ status: "success",
413
+ checks: {
414
+ approvals,
415
+ transfers,
416
+ },
417
+ account: args.wallet.account,
418
+ instructions,
419
+ quote: {
420
+ hash: fusionQuote.quote.hash,
421
+ node: fusionQuote.quote.node,
422
+ commitment: fusionQuote.quote.commitment,
423
+ fee: {
424
+ tokenAmount: fusionQuote.quote.paymentInfo.tokenAmount,
425
+ tokenWeiAmount: fusionQuote.quote.paymentInfo.tokenWeiAmount,
426
+ tokenValue: fusionQuote.quote.paymentInfo.tokenValue,
427
+ },
428
+ userOps: fusionQuote.quote.userOps.map((operation) => ({
429
+ sender: operation.userOp.sender,
430
+ nonce: operation.userOp.nonce,
431
+ initCode: operation.userOp.initCode,
432
+ callData: operation.userOp.callData,
433
+ })),
434
+ fusionQuote,
435
+ },
436
+ execute: async () => {
437
+ try {
438
+ const superTx = await meeClient.executeFusionQuote({
439
+ fusionQuote,
440
+ });
441
+ return {
442
+ hash: superTx.hash,
443
+ wait: async (confirmations) => {
444
+ await meeClient.waitForSupertransactionReceipt({
445
+ hash: superTx.hash,
446
+ confirmations,
447
+ });
448
+ return;
449
+ },
450
+ status: async () => {
451
+ const receipt = await meeClient.getSupertransactionReceipt({
452
+ hash: superTx.hash,
453
+ });
454
+ if (args.type === "supply" ||
455
+ args.type === "morpho-supply" ||
456
+ args.type === "vault-deposit") {
457
+ try {
458
+ receipt.userOps.splice(receipt.userOps.length - (1 + cleanUps.length));
459
+ const supplyOp = receipt.userOps.splice(receipt.userOps.length - 1);
460
+ const acrossOps = [...receipt.userOps];
461
+ const acrossOpsPending = acrossOps.filter((op) => op.executionStatus === "MINING" ||
462
+ op.executionStatus === "PENDING").length > 0;
463
+ const acrossOpsFailed = acrossOps.filter((op) => op.executionStatus === "FAILED" ||
464
+ op.executionStatus === "MINED_FAIL").length > 0;
465
+ const acrossOpsSucceed = acrossOps.filter((op) => op.executionStatus === "MINED_SUCCESS" ||
466
+ op.executionStatus === "SUCCESS").length === acrossOps.length;
467
+ const supplyOpPending = supplyOp.filter((op) => op.executionStatus === "MINING" ||
468
+ op.executionStatus === "PENDING").length > 0;
469
+ const supplyOpFailed = supplyOp.filter((op) => op.executionStatus === "FAILED" ||
470
+ op.executionStatus === "MINED_FAIL").length > 0;
471
+ const supplyOpSucceed = supplyOp.filter((op) => op.executionStatus === "MINED_SUCCESS" ||
472
+ op.executionStatus === "SUCCESS").length === supplyOp.length;
473
+ if (acrossOpsFailed || supplyOpFailed) {
474
+ return "reverted";
475
+ }
476
+ if (acrossOpsPending || supplyOpPending) {
477
+ return "processing";
478
+ }
479
+ if (acrossOpsSucceed || supplyOpSucceed) {
480
+ return "success";
481
+ }
482
+ }
483
+ catch (ex) {
484
+ return "pending";
485
+ }
486
+ }
487
+ return "pending";
488
+ },
489
+ };
490
+ }
491
+ catch (ex) {
492
+ console.log(ex);
493
+ throw ex;
494
+ }
495
+ },
496
+ };
497
+ }
498
+ }
499
+ return {
500
+ status: "error",
501
+ error: "Token not found",
502
+ };
503
+ }
504
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../actions/beam/common.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getBeamQuote = getBeamQuote;
4
+ const common_js_1 = require("./common.js");
5
+ async function getBeamQuote(client, args) {
6
+ const quote = await (0, common_js_1.getQuote)(client, args);
7
+ return quote;
8
+ }
9
+ //# sourceMappingURL=getBeamQuote.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getBeamQuote.js","sourceRoot":"","sources":["../../../actions/beam/getBeamQuote.ts"],"names":[],"mappings":";;AAiGA,oCASC;AAnGD,2CAAuC;AA0FhC,KAAK,UAAU,YAAY,CAIhC,MAAsB,EACtB,IAAmD;IAEnD,MAAM,KAAK,GAAG,MAAM,IAAA,oBAAQ,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC3C,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getBeamTokenLimits = getBeamTokenLimits;
7
+ const axios_1 = __importDefault(require("axios"));
8
+ const index_js_1 = require("../../common/index.js");
9
+ async function getBeamTokenLimits(args) {
10
+ const { direction, route } = args;
11
+ const limits = [];
12
+ for (const path of args.route.routes) {
13
+ const inputToken = direction === "withdraw"
14
+ ? route.routeTokenAddress
15
+ : path.routeTokenAddress;
16
+ const outputToken = direction === "withdraw"
17
+ ? path.routeTokenAddress
18
+ : route.routeTokenAddress;
19
+ const inputChainId = direction === "withdraw" ? route.chainId : path.chainId;
20
+ const outputChainId = direction === "withdraw" ? path.chainId : route.chainId;
21
+ try {
22
+ const acrossLimitsResponse = await axios_1.default.get(`https://app.across.to/api/limits?inputToken=${inputToken}&outputToken=${outputToken}&originChainId=${inputChainId}&destinationChainId=${outputChainId}`);
23
+ limits.push({
24
+ from: {
25
+ address: direction === "withdraw" ? route.address : path.address,
26
+ chainId: direction === "withdraw" ? route.chainId : path.chainId,
27
+ decimals: direction === "withdraw" ? route.decimals : path.decimals,
28
+ name: direction === "withdraw" ? route.name : path.name,
29
+ routeTokenAddress: direction === "withdraw"
30
+ ? route.routeTokenAddress
31
+ : path.routeTokenAddress,
32
+ symbol: direction === "withdraw" ? route.symbol : path.symbol,
33
+ },
34
+ to: {
35
+ address: direction === "withdraw" ? path.address : route.address,
36
+ chainId: direction === "withdraw" ? path.chainId : route.chainId,
37
+ decimals: direction === "withdraw" ? path.decimals : route.decimals,
38
+ name: direction === "withdraw" ? path.name : route.name,
39
+ routeTokenAddress: direction === "withdraw"
40
+ ? path.routeTokenAddress
41
+ : route.routeTokenAddress,
42
+ symbol: direction === "withdraw" ? path.symbol : route.symbol,
43
+ },
44
+ max: new index_js_1.Amount(BigInt(acrossLimitsResponse.data.maxDepositInstant), route.decimals),
45
+ min: new index_js_1.Amount(BigInt(acrossLimitsResponse.data.minDeposit), route.decimals),
46
+ });
47
+ }
48
+ catch (ex) {
49
+ console.log({
50
+ error: ex,
51
+ });
52
+ }
53
+ }
54
+ return limits;
55
+ }
56
+ //# sourceMappingURL=getBeamTokenLimits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getBeamTokenLimits.js","sourceRoot":"","sources":["../../../actions/beam/getBeamTokenLimits.ts"],"names":[],"mappings":"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"}