@relayprotocol/relay-sdk 2.4.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 (308) hide show
  1. package/LICENSE +21 -0
  2. package/_cjs/package.json +1 -0
  3. package/_cjs/src/actions/claimAppFees.js +53 -0
  4. package/_cjs/src/actions/claimAppFees.js.map +1 -0
  5. package/_cjs/src/actions/execute.js +76 -0
  6. package/_cjs/src/actions/execute.js.map +1 -0
  7. package/_cjs/src/actions/getAppFees.js +24 -0
  8. package/_cjs/src/actions/getAppFees.js.map +1 -0
  9. package/_cjs/src/actions/getPrice.js +51 -0
  10. package/_cjs/src/actions/getPrice.js.map +1 -0
  11. package/_cjs/src/actions/getQuote.js +91 -0
  12. package/_cjs/src/actions/getQuote.js.map +1 -0
  13. package/_cjs/src/actions/getSolverCapacity.js +21 -0
  14. package/_cjs/src/actions/getSolverCapacity.js.map +1 -0
  15. package/_cjs/src/actions/index.js +10 -0
  16. package/_cjs/src/actions/index.js.map +1 -0
  17. package/_cjs/src/client.js +207 -0
  18. package/_cjs/src/client.js.map +1 -0
  19. package/_cjs/src/constants/address.js +48 -0
  20. package/_cjs/src/constants/address.js.map +1 -0
  21. package/_cjs/src/constants/bvm.js +5 -0
  22. package/_cjs/src/constants/bvm.js.map +1 -0
  23. package/_cjs/src/constants/index.js +6 -0
  24. package/_cjs/src/constants/index.js.map +1 -0
  25. package/_cjs/src/constants/servers.js +9 -0
  26. package/_cjs/src/constants/servers.js.map +1 -0
  27. package/_cjs/src/errors/DepositTransactionTimeoutError.js +18 -0
  28. package/_cjs/src/errors/DepositTransactionTimeoutError.js.map +1 -0
  29. package/_cjs/src/errors/SolverStatusTimeoutError.js +18 -0
  30. package/_cjs/src/errors/SolverStatusTimeoutError.js.map +1 -0
  31. package/_cjs/src/errors/TransactionConfirmationError.js +25 -0
  32. package/_cjs/src/errors/TransactionConfirmationError.js.map +1 -0
  33. package/_cjs/src/errors/index.js +10 -0
  34. package/_cjs/src/errors/index.js.map +1 -0
  35. package/_cjs/src/index.js +10 -0
  36. package/_cjs/src/index.js.map +1 -0
  37. package/_cjs/src/routes/index.js +46 -0
  38. package/_cjs/src/routes/index.js.map +1 -0
  39. package/_cjs/src/types/AdaptedWallet.js +3 -0
  40. package/_cjs/src/types/AdaptedWallet.js.map +1 -0
  41. package/_cjs/src/types/Execute.js +3 -0
  42. package/_cjs/src/types/Execute.js.map +1 -0
  43. package/_cjs/src/types/Progress.js +3 -0
  44. package/_cjs/src/types/Progress.js.map +1 -0
  45. package/_cjs/src/types/RelayChain.js +3 -0
  46. package/_cjs/src/types/RelayChain.js.map +1 -0
  47. package/_cjs/src/types/SignatureStepItem.js +3 -0
  48. package/_cjs/src/types/SignatureStepItem.js.map +1 -0
  49. package/_cjs/src/types/TransactionStepItem.js +3 -0
  50. package/_cjs/src/types/TransactionStepItem.js.map +1 -0
  51. package/_cjs/src/types/api.js +3 -0
  52. package/_cjs/src/types/api.js.map +1 -0
  53. package/_cjs/src/types/index.js +11 -0
  54. package/_cjs/src/types/index.js.map +1 -0
  55. package/_cjs/src/utils/axios.js +18 -0
  56. package/_cjs/src/utils/axios.js.map +1 -0
  57. package/_cjs/src/utils/chain.js +91 -0
  58. package/_cjs/src/utils/chain.js.map +1 -0
  59. package/_cjs/src/utils/executeSteps/index.js +298 -0
  60. package/_cjs/src/utils/executeSteps/index.js.map +1 -0
  61. package/_cjs/src/utils/executeSteps/signatureStep.js +186 -0
  62. package/_cjs/src/utils/executeSteps/signatureStep.js.map +1 -0
  63. package/_cjs/src/utils/executeSteps/transactionStep.js +74 -0
  64. package/_cjs/src/utils/executeSteps/transactionStep.js.map +1 -0
  65. package/_cjs/src/utils/executeSteps/websocketHandlers.js +112 -0
  66. package/_cjs/src/utils/executeSteps/websocketHandlers.js.map +1 -0
  67. package/_cjs/src/utils/fetchChainConfigs.js +20 -0
  68. package/_cjs/src/utils/fetchChainConfigs.js.map +1 -0
  69. package/_cjs/src/utils/getCurrentStepData.js +28 -0
  70. package/_cjs/src/utils/getCurrentStepData.js.map +1 -0
  71. package/_cjs/src/utils/getTenderlyDetails.js +24 -0
  72. package/_cjs/src/utils/getTenderlyDetails.js.map +1 -0
  73. package/_cjs/src/utils/hyperliquid.js +95 -0
  74. package/_cjs/src/utils/hyperliquid.js.map +1 -0
  75. package/_cjs/src/utils/index.js +39 -0
  76. package/_cjs/src/utils/index.js.map +1 -0
  77. package/_cjs/src/utils/logger.js +38 -0
  78. package/_cjs/src/utils/logger.js.map +1 -0
  79. package/_cjs/src/utils/params.js +21 -0
  80. package/_cjs/src/utils/params.js.map +1 -0
  81. package/_cjs/src/utils/pollApi.js +40 -0
  82. package/_cjs/src/utils/pollApi.js.map +1 -0
  83. package/_cjs/src/utils/prepareBatchTransaction.js +35 -0
  84. package/_cjs/src/utils/prepareBatchTransaction.js.map +1 -0
  85. package/_cjs/src/utils/prepareCallTransaction.js +14 -0
  86. package/_cjs/src/utils/prepareCallTransaction.js.map +1 -0
  87. package/_cjs/src/utils/repeatUntilOk.js +19 -0
  88. package/_cjs/src/utils/repeatUntilOk.js.map +1 -0
  89. package/_cjs/src/utils/request.js +48 -0
  90. package/_cjs/src/utils/request.js.map +1 -0
  91. package/_cjs/src/utils/simulateContract.js +8 -0
  92. package/_cjs/src/utils/simulateContract.js.map +1 -0
  93. package/_cjs/src/utils/structuredClone.js +11 -0
  94. package/_cjs/src/utils/structuredClone.js.map +1 -0
  95. package/_cjs/src/utils/transaction.js +351 -0
  96. package/_cjs/src/utils/transaction.js.map +1 -0
  97. package/_cjs/src/utils/viemWallet.js +211 -0
  98. package/_cjs/src/utils/viemWallet.js.map +1 -0
  99. package/_cjs/src/utils/websocket.js +76 -0
  100. package/_cjs/src/utils/websocket.js.map +1 -0
  101. package/_cjs/src/version.js +5 -0
  102. package/_cjs/src/version.js.map +1 -0
  103. package/_cjs/tsconfig.build.tsbuildinfo +1 -0
  104. package/_esm/package.json +1 -0
  105. package/_esm/src/actions/claimAppFees.js +54 -0
  106. package/_esm/src/actions/claimAppFees.js.map +1 -0
  107. package/_esm/src/actions/execute.js +83 -0
  108. package/_esm/src/actions/execute.js.map +1 -0
  109. package/_esm/src/actions/getAppFees.js +25 -0
  110. package/_esm/src/actions/getAppFees.js.map +1 -0
  111. package/_esm/src/actions/getPrice.js +53 -0
  112. package/_esm/src/actions/getPrice.js.map +1 -0
  113. package/_esm/src/actions/getQuote.js +92 -0
  114. package/_esm/src/actions/getQuote.js.map +1 -0
  115. package/_esm/src/actions/getSolverCapacity.js +18 -0
  116. package/_esm/src/actions/getSolverCapacity.js.map +1 -0
  117. package/_esm/src/actions/index.js +7 -0
  118. package/_esm/src/actions/index.js.map +1 -0
  119. package/_esm/src/client.js +217 -0
  120. package/_esm/src/client.js.map +1 -0
  121. package/_esm/src/constants/address.js +43 -0
  122. package/_esm/src/constants/address.js.map +1 -0
  123. package/_esm/src/constants/bvm.js +2 -0
  124. package/_esm/src/constants/bvm.js.map +1 -0
  125. package/_esm/src/constants/index.js +3 -0
  126. package/_esm/src/constants/index.js.map +1 -0
  127. package/_esm/src/constants/servers.js +7 -0
  128. package/_esm/src/constants/servers.js.map +1 -0
  129. package/_esm/src/errors/DepositTransactionTimeoutError.js +14 -0
  130. package/_esm/src/errors/DepositTransactionTimeoutError.js.map +1 -0
  131. package/_esm/src/errors/SolverStatusTimeoutError.js +14 -0
  132. package/_esm/src/errors/SolverStatusTimeoutError.js.map +1 -0
  133. package/_esm/src/errors/TransactionConfirmationError.js +21 -0
  134. package/_esm/src/errors/TransactionConfirmationError.js.map +1 -0
  135. package/_esm/src/errors/index.js +4 -0
  136. package/_esm/src/errors/index.js.map +1 -0
  137. package/_esm/src/index.js +7 -0
  138. package/_esm/src/index.js.map +1 -0
  139. package/_esm/src/routes/index.js +43 -0
  140. package/_esm/src/routes/index.js.map +1 -0
  141. package/_esm/src/types/AdaptedWallet.js +2 -0
  142. package/_esm/src/types/AdaptedWallet.js.map +1 -0
  143. package/_esm/src/types/Execute.js +2 -0
  144. package/_esm/src/types/Execute.js.map +1 -0
  145. package/_esm/src/types/Progress.js +2 -0
  146. package/_esm/src/types/Progress.js.map +1 -0
  147. package/_esm/src/types/RelayChain.js +2 -0
  148. package/_esm/src/types/RelayChain.js.map +1 -0
  149. package/_esm/src/types/SignatureStepItem.js +2 -0
  150. package/_esm/src/types/SignatureStepItem.js.map +1 -0
  151. package/_esm/src/types/TransactionStepItem.js +2 -0
  152. package/_esm/src/types/TransactionStepItem.js.map +1 -0
  153. package/_esm/src/types/api.js +6 -0
  154. package/_esm/src/types/api.js.map +1 -0
  155. package/_esm/src/types/index.js +8 -0
  156. package/_esm/src/types/index.js.map +1 -0
  157. package/_esm/src/utils/axios.js +15 -0
  158. package/_esm/src/utils/axios.js.map +1 -0
  159. package/_esm/src/utils/chain.js +86 -0
  160. package/_esm/src/utils/chain.js.map +1 -0
  161. package/_esm/src/utils/executeSteps/index.js +347 -0
  162. package/_esm/src/utils/executeSteps/index.js.map +1 -0
  163. package/_esm/src/utils/executeSteps/signatureStep.js +191 -0
  164. package/_esm/src/utils/executeSteps/signatureStep.js.map +1 -0
  165. package/_esm/src/utils/executeSteps/transactionStep.js +76 -0
  166. package/_esm/src/utils/executeSteps/transactionStep.js.map +1 -0
  167. package/_esm/src/utils/executeSteps/websocketHandlers.js +124 -0
  168. package/_esm/src/utils/executeSteps/websocketHandlers.js.map +1 -0
  169. package/_esm/src/utils/fetchChainConfigs.js +16 -0
  170. package/_esm/src/utils/fetchChainConfigs.js.map +1 -0
  171. package/_esm/src/utils/getCurrentStepData.js +24 -0
  172. package/_esm/src/utils/getCurrentStepData.js.map +1 -0
  173. package/_esm/src/utils/getTenderlyDetails.js +20 -0
  174. package/_esm/src/utils/getTenderlyDetails.js.map +1 -0
  175. package/_esm/src/utils/hyperliquid.js +90 -0
  176. package/_esm/src/utils/hyperliquid.js.map +1 -0
  177. package/_esm/src/utils/index.js +16 -0
  178. package/_esm/src/utils/index.js.map +1 -0
  179. package/_esm/src/utils/logger.js +34 -0
  180. package/_esm/src/utils/logger.js.map +1 -0
  181. package/_esm/src/utils/params.js +40 -0
  182. package/_esm/src/utils/params.js.map +1 -0
  183. package/_esm/src/utils/pollApi.js +57 -0
  184. package/_esm/src/utils/pollApi.js.map +1 -0
  185. package/_esm/src/utils/prepareBatchTransaction.js +31 -0
  186. package/_esm/src/utils/prepareBatchTransaction.js.map +1 -0
  187. package/_esm/src/utils/prepareCallTransaction.js +11 -0
  188. package/_esm/src/utils/prepareCallTransaction.js.map +1 -0
  189. package/_esm/src/utils/repeatUntilOk.js +23 -0
  190. package/_esm/src/utils/repeatUntilOk.js.map +1 -0
  191. package/_esm/src/utils/request.js +42 -0
  192. package/_esm/src/utils/request.js.map +1 -0
  193. package/_esm/src/utils/simulateContract.js +5 -0
  194. package/_esm/src/utils/simulateContract.js.map +1 -0
  195. package/_esm/src/utils/structuredClone.js +8 -0
  196. package/_esm/src/utils/structuredClone.js.map +1 -0
  197. package/_esm/src/utils/transaction.js +374 -0
  198. package/_esm/src/utils/transaction.js.map +1 -0
  199. package/_esm/src/utils/viemWallet.js +207 -0
  200. package/_esm/src/utils/viemWallet.js.map +1 -0
  201. package/_esm/src/utils/websocket.js +78 -0
  202. package/_esm/src/utils/websocket.js.map +1 -0
  203. package/_esm/src/version.js +2 -0
  204. package/_esm/src/version.js.map +1 -0
  205. package/_esm/tsconfig.build.tsbuildinfo +1 -0
  206. package/_types/src/actions/claimAppFees.d.ts +21 -0
  207. package/_types/src/actions/claimAppFees.d.ts.map +1 -0
  208. package/_types/src/actions/execute.d.ts +23 -0
  209. package/_types/src/actions/execute.d.ts.map +1 -0
  210. package/_types/src/actions/getAppFees.d.ts +12 -0
  211. package/_types/src/actions/getAppFees.d.ts.map +1 -0
  212. package/_types/src/actions/getPrice.d.ts +23 -0
  213. package/_types/src/actions/getPrice.d.ts.map +1 -0
  214. package/_types/src/actions/getQuote.d.ts +24 -0
  215. package/_types/src/actions/getQuote.d.ts.map +1 -0
  216. package/_types/src/actions/getSolverCapacity.d.ts +8 -0
  217. package/_types/src/actions/getSolverCapacity.d.ts.map +1 -0
  218. package/_types/src/actions/index.d.ts +7 -0
  219. package/_types/src/actions/index.d.ts.map +1 -0
  220. package/_types/src/client.d.ts +8039 -0
  221. package/_types/src/client.d.ts.map +1 -0
  222. package/_types/src/constants/address.d.ts +11 -0
  223. package/_types/src/constants/address.d.ts.map +1 -0
  224. package/_types/src/constants/bvm.d.ts +2 -0
  225. package/_types/src/constants/bvm.d.ts.map +1 -0
  226. package/_types/src/constants/index.d.ts +3 -0
  227. package/_types/src/constants/index.d.ts.map +1 -0
  228. package/_types/src/constants/servers.d.ts +6 -0
  229. package/_types/src/constants/servers.d.ts.map +1 -0
  230. package/_types/src/errors/DepositTransactionTimeoutError.d.ts +5 -0
  231. package/_types/src/errors/DepositTransactionTimeoutError.d.ts.map +1 -0
  232. package/_types/src/errors/SolverStatusTimeoutError.d.ts +5 -0
  233. package/_types/src/errors/SolverStatusTimeoutError.d.ts.map +1 -0
  234. package/_types/src/errors/TransactionConfirmationError.d.ts +9 -0
  235. package/_types/src/errors/TransactionConfirmationError.d.ts.map +1 -0
  236. package/_types/src/errors/index.d.ts +4 -0
  237. package/_types/src/errors/index.d.ts.map +1 -0
  238. package/_types/src/index.d.ts +7 -0
  239. package/_types/src/index.d.ts.map +1 -0
  240. package/_types/src/routes/index.d.ts +2 -0
  241. package/_types/src/routes/index.d.ts.map +1 -0
  242. package/_types/src/types/AdaptedWallet.d.ts +27 -0
  243. package/_types/src/types/AdaptedWallet.d.ts.map +1 -0
  244. package/_types/src/types/Execute.d.ts +64 -0
  245. package/_types/src/types/Execute.d.ts.map +1 -0
  246. package/_types/src/types/Progress.d.ts +17 -0
  247. package/_types/src/types/Progress.d.ts.map +1 -0
  248. package/_types/src/types/RelayChain.d.ts +47 -0
  249. package/_types/src/types/RelayChain.d.ts.map +1 -0
  250. package/_types/src/types/SignatureStepItem.d.ts +21 -0
  251. package/_types/src/types/SignatureStepItem.d.ts.map +1 -0
  252. package/_types/src/types/TransactionStepItem.d.ts +25 -0
  253. package/_types/src/types/TransactionStepItem.d.ts.map +1 -0
  254. package/_types/src/types/api.d.ts +4911 -0
  255. package/_types/src/types/api.d.ts.map +1 -0
  256. package/_types/src/types/index.d.ts +8 -0
  257. package/_types/src/types/index.d.ts.map +1 -0
  258. package/_types/src/utils/axios.d.ts +2 -0
  259. package/_types/src/utils/axios.d.ts.map +1 -0
  260. package/_types/src/utils/chain.d.ts +7 -0
  261. package/_types/src/utils/chain.d.ts.map +1 -0
  262. package/_types/src/utils/executeSteps/index.d.ts +34 -0
  263. package/_types/src/utils/executeSteps/index.d.ts.map +1 -0
  264. package/_types/src/utils/executeSteps/signatureStep.d.ts +21 -0
  265. package/_types/src/utils/executeSteps/signatureStep.d.ts.map +1 -0
  266. package/_types/src/utils/executeSteps/transactionStep.d.ts +25 -0
  267. package/_types/src/utils/executeSteps/transactionStep.d.ts.map +1 -0
  268. package/_types/src/utils/executeSteps/websocketHandlers.d.ts +21 -0
  269. package/_types/src/utils/executeSteps/websocketHandlers.d.ts.map +1 -0
  270. package/_types/src/utils/fetchChainConfigs.d.ts +3 -0
  271. package/_types/src/utils/fetchChainConfigs.d.ts.map +1 -0
  272. package/_types/src/utils/getCurrentStepData.d.ts +80 -0
  273. package/_types/src/utils/getCurrentStepData.d.ts.map +1 -0
  274. package/_types/src/utils/getTenderlyDetails.d.ts +6 -0
  275. package/_types/src/utils/getTenderlyDetails.d.ts.map +1 -0
  276. package/_types/src/utils/hyperliquid.d.ts +49 -0
  277. package/_types/src/utils/hyperliquid.d.ts.map +1 -0
  278. package/_types/src/utils/index.d.ts +16 -0
  279. package/_types/src/utils/index.d.ts.map +1 -0
  280. package/_types/src/utils/logger.d.ts +9 -0
  281. package/_types/src/utils/logger.d.ts.map +1 -0
  282. package/_types/src/utils/params.d.ts +27 -0
  283. package/_types/src/utils/params.d.ts.map +1 -0
  284. package/_types/src/utils/pollApi.d.ts +22 -0
  285. package/_types/src/utils/pollApi.d.ts.map +1 -0
  286. package/_types/src/utils/prepareBatchTransaction.d.ts +41 -0
  287. package/_types/src/utils/prepareBatchTransaction.d.ts.map +1 -0
  288. package/_types/src/utils/prepareCallTransaction.d.ts +6 -0
  289. package/_types/src/utils/prepareCallTransaction.d.ts.map +1 -0
  290. package/_types/src/utils/repeatUntilOk.d.ts +10 -0
  291. package/_types/src/utils/repeatUntilOk.d.ts.map +1 -0
  292. package/_types/src/utils/request.d.ts +11 -0
  293. package/_types/src/utils/request.d.ts.map +1 -0
  294. package/_types/src/utils/simulateContract.d.ts +4 -0
  295. package/_types/src/utils/simulateContract.d.ts.map +1 -0
  296. package/_types/src/utils/structuredClone.d.ts +2 -0
  297. package/_types/src/utils/structuredClone.d.ts.map +1 -0
  298. package/_types/src/utils/transaction.d.ts +12 -0
  299. package/_types/src/utils/transaction.d.ts.map +1 -0
  300. package/_types/src/utils/viemWallet.d.ts +5 -0
  301. package/_types/src/utils/viemWallet.d.ts.map +1 -0
  302. package/_types/src/utils/websocket.d.ts +30 -0
  303. package/_types/src/utils/websocket.d.ts.map +1 -0
  304. package/_types/src/version.d.ts +2 -0
  305. package/_types/src/version.d.ts.map +1 -0
  306. package/_types/tsconfig.build.tsbuildinfo +1 -0
  307. package/package.json +57 -0
  308. package/readme.md +37 -0
@@ -0,0 +1 @@
1
+ {"type": "module","sideEffects":false}
@@ -0,0 +1,54 @@
1
+ import { getClient } from '../client.js';
2
+ import { executeSteps, adaptViemWallet, safeStructuredClone, APIError } from '../utils/index.js';
3
+ import {} from 'viem';
4
+ import { isViemWalletClient } from '../utils/viemWallet.js';
5
+ /**
6
+ * Claim app fees for a wallet and execute the returned steps
7
+ * @param parameters - {@link ClaimAppFeesParameters}
8
+ */
9
+ export async function claimAppFees(parameters) {
10
+ const { wallet, chainId, currency, recipient, onProgress } = parameters;
11
+ const client = getClient();
12
+ if (!client.baseApiUrl || !client.baseApiUrl.length) {
13
+ throw new ReferenceError('RelayClient missing api url configuration');
14
+ }
15
+ let adaptedWallet;
16
+ if (wallet) {
17
+ adaptedWallet = isViemWalletClient(wallet)
18
+ ? adaptViemWallet(wallet)
19
+ : wallet;
20
+ }
21
+ if (!adaptedWallet) {
22
+ throw new Error('AdaptedWallet is required to execute claim steps');
23
+ }
24
+ const address = await adaptedWallet.address();
25
+ const abortController = new AbortController();
26
+ const request = {
27
+ url: `${client.baseApiUrl}/app-fees/${address}/claim`,
28
+ method: 'post',
29
+ data: { chainId, currency, recipient: recipient || address },
30
+ signal: abortController.signal
31
+ };
32
+ try {
33
+ const res = await client.utils.axios.request(request);
34
+ if (res.status !== 200) {
35
+ throw new APIError(res?.data?.message, res.status, res.data);
36
+ }
37
+ const steps = res.data.steps || [];
38
+ const executeJson = safeStructuredClone({
39
+ steps
40
+ });
41
+ const result = await executeSteps(chainId, request, adaptedWallet, (data) => {
42
+ if (abortController.signal.aborted) {
43
+ return;
44
+ }
45
+ onProgress?.(data);
46
+ }, executeJson);
47
+ return { data: result, abortController };
48
+ }
49
+ catch (err) {
50
+ console.error(err);
51
+ throw err;
52
+ }
53
+ }
54
+ //# sourceMappingURL=claimAppFees.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claimAppFees.js","sourceRoot":"","sources":["../../../src/actions/claimAppFees.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EACL,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,QAAQ,EACT,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAqB,MAAM,MAAM,CAAA;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAmB3D;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,UAAkC;IAKlC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,UAAU,CAAA;IACvE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAE1B,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QACpD,MAAM,IAAI,cAAc,CAAC,2CAA2C,CAAC,CAAA;IACvE,CAAC;IAED,IAAI,aAAwC,CAAA;IAC5C,IAAI,MAAM,EAAE,CAAC;QACX,aAAa,GAAG,kBAAkB,CAAC,MAAM,CAAC;YACxC,CAAC,CAAC,eAAe,CAAC,MAAsB,CAAC;YACzC,CAAC,CAAC,MAAM,CAAA;IACZ,CAAC;IAED,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;IACrE,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,CAAA;IAE7C,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAA;IAE7C,MAAM,OAAO,GAAuB;QAClC,GAAG,EAAE,GAAG,MAAM,CAAC,UAAU,aAAa,OAAO,QAAQ;QACrD,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,IAAI,OAAO,EAAE;QAC5D,MAAM,EAAE,eAAe,CAAC,MAAM;KAC/B,CAAA;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACrD,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACvB,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;QAC9D,CAAC;QACD,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAA;QAClC,MAAM,WAAW,GAAY,mBAAmB,CAAC;YAC/C,KAAK;SACN,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,MAAM,YAAY,CAC/B,OAAO,EACP,OAAO,EACP,aAAa,EACb,CAAC,IAAI,EAAE,EAAE;YACP,IAAI,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnC,OAAM;YACR,CAAC;YACD,UAAU,EAAE,CAAC,IAAI,CAAC,CAAA;QACpB,CAAC,EACD,WAAW,CACZ,CAAA;QACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,CAAA;IAC1C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAClB,MAAM,GAAG,CAAA;IACX,CAAC;AACH,CAAC"}
@@ -0,0 +1,83 @@
1
+ import { getClient } from '../client.js';
2
+ import { executeSteps, adaptViemWallet, getCurrentStepData, safeStructuredClone } from '../utils/index.js';
3
+ import {} from 'viem';
4
+ import { isViemWalletClient } from '../utils/viemWallet.js';
5
+ import { isDeadAddress } from '../constants/address.js';
6
+ /**
7
+ * Execute crosschain using Relay
8
+ * @param data.quote A Relay quote retrieved using {@link getQuote}
9
+ * @param data.depositGasLimit A gas limit to use in base units (wei, etc)
10
+ * @param data.wallet Wallet object that adheres to the AdaptedWakket interface or a viem WalletClient
11
+ * @param data.onProgress Callback to update UI state as execution progresses
12
+ * @param abortController Optional AbortController to cancel the execution
13
+ */
14
+ export function execute(data) {
15
+ const { quote, wallet, depositGasLimit, onProgress } = data;
16
+ const client = getClient();
17
+ if (!client.baseApiUrl || !client.baseApiUrl.length) {
18
+ throw new ReferenceError('RelayClient missing api url configuration');
19
+ }
20
+ let adaptedWallet;
21
+ if (wallet) {
22
+ adaptedWallet = isViemWalletClient(wallet)
23
+ ? adaptViemWallet(wallet)
24
+ : wallet;
25
+ }
26
+ try {
27
+ if (!adaptedWallet) {
28
+ throw new Error('AdaptedWallet is required to execute steps');
29
+ }
30
+ // Instantiate a new abort controller
31
+ const abortController = new AbortController();
32
+ const chainId = quote.details?.currencyIn?.currency?.chainId;
33
+ if (chainId === undefined) {
34
+ throw new Error('Missing chainId from quote');
35
+ }
36
+ if (isDeadAddress(quote?.details?.recipient)) {
37
+ throw new Error('Recipient should never be burn address');
38
+ }
39
+ if (isDeadAddress(quote?.details?.sender)) {
40
+ throw new Error('Sender should never be burn address');
41
+ }
42
+ const { request, ...restOfQuote } = quote;
43
+ const _quote = safeStructuredClone(restOfQuote);
44
+ // Build the promise that carries out the execution
45
+ const executionPromise = new Promise((resolve, reject) => {
46
+ executeSteps(chainId, request, adaptedWallet, ({ steps, fees, breakdown, details, refunded, error }) => {
47
+ if (abortController.signal.aborted) {
48
+ console.log('Relay SDK: Execution aborted, skipping progress callback');
49
+ return;
50
+ }
51
+ const { currentStep, currentStepItem, txHashes } = getCurrentStepData(steps);
52
+ onProgress?.({
53
+ steps,
54
+ fees,
55
+ breakdown,
56
+ details,
57
+ currentStep,
58
+ currentStepItem,
59
+ txHashes,
60
+ refunded,
61
+ error
62
+ });
63
+ }, _quote, depositGasLimit
64
+ ? {
65
+ deposit: {
66
+ gasLimit: depositGasLimit
67
+ }
68
+ }
69
+ : undefined)
70
+ .then((data) => {
71
+ resolve({ data, abortController });
72
+ })
73
+ .catch(reject);
74
+ });
75
+ executionPromise.abortController = abortController;
76
+ return executionPromise;
77
+ }
78
+ catch (err) {
79
+ console.error(err);
80
+ throw err;
81
+ }
82
+ }
83
+ //# sourceMappingURL=execute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../src/actions/execute.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import {} from 'axios';
2
+ import { axios } from '../utils/axios.js';
3
+ import { getClient } from '../client.js';
4
+ import { APIError } from '../utils/index.js';
5
+ /**
6
+ * Method to get app fee balances for a wallet
7
+ * @param parameters - {@link GetAppFeesParameters}
8
+ */
9
+ export async function getAppFees(parameters) {
10
+ const { wallet } = parameters;
11
+ const client = getClient();
12
+ if (!client.baseApiUrl || !client.baseApiUrl.length) {
13
+ throw new ReferenceError('RelayClient missing api url configuration');
14
+ }
15
+ const request = {
16
+ url: `${client.baseApiUrl}/app-fees/${wallet}/balances`,
17
+ method: 'get'
18
+ };
19
+ const res = await axios.request(request);
20
+ if (res.status !== 200) {
21
+ throw new APIError(res?.data?.message, res.status, res.data);
22
+ }
23
+ return res.data.balances || [];
24
+ }
25
+ //# sourceMappingURL=getAppFees.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAppFees.js","sourceRoot":"","sources":["../../../src/actions/getAppFees.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,MAAM,OAAO,CAAA;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAe5C;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,UAAgC;IAEhC,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAA;IAC7B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAE1B,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QACpD,MAAM,IAAI,cAAc,CAAC,2CAA2C,CAAC,CAAA;IACvE,CAAC;IAED,MAAM,OAAO,GAAuB;QAClC,GAAG,EAAE,GAAG,MAAM,CAAC,UAAU,aAAa,MAAM,WAAW;QACvD,MAAM,EAAE,KAAK;KACd,CAAA;IAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACxC,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACvB,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;IAC9D,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAA;AAChC,CAAC"}
@@ -0,0 +1,53 @@
1
+ import {} from 'axios';
2
+ import { axios } from '../utils/axios.js';
3
+ import {} from 'viem';
4
+ import prepareCallTransaction from '../utils/prepareCallTransaction.js';
5
+ import { isSimulateContractRequest, APIError } from '../utils/index.js';
6
+ import { getClient } from '../client.js';
7
+ import { getDeadAddress } from '../constants/address.js';
8
+ /**
9
+ * Method to get the price
10
+ * @param data - {@link GetPriceParameters}
11
+ */
12
+ export async function getPrice(parameters) {
13
+ const { destinationChainId, destinationCurrency, originChainId, originCurrency, tradeType, amount = '0', user, recipient, options, txs } = parameters;
14
+ const client = getClient();
15
+ if (!client.baseApiUrl || !client.baseApiUrl.length) {
16
+ throw new ReferenceError('RelayClient missing api url configuration');
17
+ }
18
+ let preparedTransactions;
19
+ if (txs && txs.length > 0) {
20
+ preparedTransactions = txs.map((tx) => {
21
+ if (isSimulateContractRequest(tx)) {
22
+ return prepareCallTransaction(tx);
23
+ }
24
+ return tx;
25
+ });
26
+ }
27
+ const originChain = client.chains.find((chain) => chain.id === originChainId);
28
+ const deadAddress = getDeadAddress(originChain?.vmType, originChain?.id);
29
+ const query = {
30
+ user: user ?? deadAddress,
31
+ destinationCurrency,
32
+ destinationChainId,
33
+ originCurrency,
34
+ originChainId,
35
+ amount,
36
+ recipient: recipient ? recipient : user ?? deadAddress,
37
+ tradeType,
38
+ referrer: client.source || undefined,
39
+ txs: preparedTransactions,
40
+ ...options
41
+ };
42
+ const request = {
43
+ url: `${client.baseApiUrl}/price`,
44
+ method: 'post',
45
+ data: query
46
+ };
47
+ const res = await axios.request(request);
48
+ if (res.status !== 200) {
49
+ throw new APIError(res?.data?.message, res.status, res.data);
50
+ }
51
+ return { ...res.data, request };
52
+ }
53
+ //# sourceMappingURL=getPrice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPrice.js","sourceRoot":"","sources":["../../../src/actions/getPrice.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,MAAM,OAAO,CAAA;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAgB,MAAM,MAAM,CAAA;AACnC,OAAO,sBAAsB,MAAM,oCAAoC,CAAA;AACvE,OAAO,EACL,yBAAyB,EACzB,QAAQ,EAET,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AA4BxD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,UAA8B;IAE9B,MAAM,EACJ,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,SAAS,EACT,MAAM,GAAG,GAAG,EACZ,IAAI,EACJ,SAAS,EACT,OAAO,EACP,GAAG,EACJ,GAAG,UAAU,CAAA;IAEd,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAE1B,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QACpD,MAAM,IAAI,cAAc,CAAC,2CAA2C,CAAC,CAAA;IACvE,CAAC;IAED,IAAI,oBAAsC,CAAA;IAC1C,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,oBAAoB,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YACpC,IAAI,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC;gBAClC,OAAO,sBAAsB,CAC3B,EAAoD,CACrD,CAAA;YACH,CAAC;YACD,OAAO,EAAE,CAAA;QACX,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,aAAa,CAAC,CAAA;IAC7E,MAAM,WAAW,GAAG,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC,CAAA;IAExE,MAAM,KAAK,GAAc;QACvB,IAAI,EAAE,IAAI,IAAI,WAAW;QACzB,mBAAmB;QACnB,kBAAkB;QAClB,cAAc;QACd,aAAa;QACb,MAAM;QACN,SAAS,EAAE,SAAS,CAAC,CAAC,CAAE,SAAoB,CAAC,CAAC,CAAC,IAAI,IAAI,WAAW;QAClE,SAAS;QACT,QAAQ,EAAE,MAAM,CAAC,MAAM,IAAI,SAAS;QACpC,GAAG,EAAE,oBAAoB;QACzB,GAAG,OAAO;KACX,CAAA;IAED,MAAM,OAAO,GAAuB;QAClC,GAAG,EAAE,GAAG,MAAM,CAAC,UAAU,QAAQ;QACjC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,KAAK;KACZ,CAAA;IAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACxC,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACvB,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;IAC9D,CAAC;IACD,OAAO,EAAE,GAAG,GAAG,CAAC,IAAI,EAAE,OAAO,EAAa,CAAA;AAC5C,CAAC"}
@@ -0,0 +1,92 @@
1
+ import {} from 'axios';
2
+ import { axios } from '../utils/axios.js';
3
+ import { zeroAddress } from 'viem';
4
+ import prepareCallTransaction from '../utils/prepareCallTransaction.js';
5
+ import { isSimulateContractRequest, APIError, adaptViemWallet } from '../utils/index.js';
6
+ import { isViemWalletClient } from '../utils/viemWallet.js';
7
+ import { getClient, RelayClient } from '../client.js';
8
+ import { getDeadAddress } from '../constants/address.js';
9
+ const getDefaultQuoteParameters = async (client, toChainId, chainId, recipient, adaptedWallet) => {
10
+ const fromChain = client.chains.find((chain) => chain.id === chainId);
11
+ const toChain = client.chains.find((chain) => chain.id === toChainId);
12
+ const originDeadAddress = fromChain
13
+ ? getDeadAddress(fromChain.vmType, fromChain.id)
14
+ : undefined;
15
+ const destinationDeadAddress = toChain
16
+ ? getDeadAddress(toChain.vmType, toChain.id)
17
+ : undefined;
18
+ let caller;
19
+ if (adaptedWallet) {
20
+ caller = await adaptedWallet.address();
21
+ }
22
+ return {
23
+ user: caller || originDeadAddress || zeroAddress,
24
+ recipient: recipient
25
+ ? recipient
26
+ : caller || destinationDeadAddress || zeroAddress
27
+ };
28
+ };
29
+ /**
30
+ * Method to get a quote
31
+ * @param data - {@link GetQuoteParameters}
32
+ */
33
+ export async function getQuote(parameters, includeDefaultParameters) {
34
+ const { toChainId, toCurrency, wallet, chainId, currency, tradeType, amount = '0', recipient, options, txs, user } = parameters;
35
+ const client = getClient();
36
+ if (!client.baseApiUrl || !client.baseApiUrl.length) {
37
+ throw new ReferenceError('RelayClient missing api url configuration');
38
+ }
39
+ let adaptedWallet;
40
+ if (wallet) {
41
+ adaptedWallet = isViemWalletClient(wallet)
42
+ ? adaptViemWallet(wallet)
43
+ : wallet;
44
+ }
45
+ let preparedTransactions;
46
+ if (txs && txs.length > 0) {
47
+ preparedTransactions = txs.map((tx) => {
48
+ if (isSimulateContractRequest(tx)) {
49
+ return prepareCallTransaction(tx);
50
+ }
51
+ return tx;
52
+ });
53
+ }
54
+ let defaultParameters = undefined;
55
+ if (includeDefaultParameters) {
56
+ defaultParameters = await getDefaultQuoteParameters(client, toChainId, chainId, recipient, adaptedWallet);
57
+ }
58
+ if (!user && !defaultParameters?.user) {
59
+ throw new Error('User is required');
60
+ }
61
+ if (!recipient && !defaultParameters?.recipient) {
62
+ throw new Error('Recipient is required');
63
+ }
64
+ const query = {
65
+ user: includeDefaultParameters
66
+ ? defaultParameters?.user
67
+ : user,
68
+ destinationCurrency: toCurrency,
69
+ destinationChainId: toChainId,
70
+ originCurrency: currency,
71
+ originChainId: chainId,
72
+ amount,
73
+ recipient: includeDefaultParameters
74
+ ? defaultParameters?.recipient
75
+ : recipient,
76
+ tradeType,
77
+ referrer: client.source || undefined,
78
+ txs: preparedTransactions,
79
+ ...options
80
+ };
81
+ const request = {
82
+ url: `${client.baseApiUrl}/quote`,
83
+ method: 'post',
84
+ data: query
85
+ };
86
+ const res = await axios.request(request);
87
+ if (res.status !== 200) {
88
+ throw new APIError(res?.data?.message, res.status, res.data);
89
+ }
90
+ return { ...res.data, request };
91
+ }
92
+ //# sourceMappingURL=getQuote.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getQuote.js","sourceRoot":"","sources":["../../../src/actions/getQuote.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,MAAM,OAAO,CAAA;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAE,WAAW,EAAqB,MAAM,MAAM,CAAA;AACrD,OAAO,sBAAsB,MAAM,oCAAoC,CAAA;AACvE,OAAO,EACL,yBAAyB,EACzB,QAAQ,EACR,eAAe,EAEhB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AA6BxD,MAAM,yBAAyB,GAAG,KAAK,EACrC,MAAmB,EACnB,SAAiB,EACjB,OAAe,EACf,SAAkB,EAClB,aAA6B,EACS,EAAE;IACxC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,CAAA;IACrE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,SAAS,CAAC,CAAA;IACrE,MAAM,iBAAiB,GAAG,SAAS;QACjC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC;QAChD,CAAC,CAAC,SAAS,CAAA;IACb,MAAM,sBAAsB,GAAG,OAAO;QACpC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;QAC5C,CAAC,CAAC,SAAS,CAAA;IAEb,IAAI,MAA0B,CAAA;IAE9B,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,CAAA;IACxC,CAAC;IAED,OAAO;QACL,IAAI,EAAE,MAAM,IAAI,iBAAiB,IAAI,WAAW;QAChD,SAAS,EAAE,SAAS;YAClB,CAAC,CAAE,SAAoB;YACvB,CAAC,CAAC,MAAM,IAAI,sBAAsB,IAAI,WAAW;KACpD,CAAA;AACH,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,UAA8B,EAC9B,wBAAkC;IAElC,MAAM,EACJ,SAAS,EACT,UAAU,EACV,MAAM,EACN,OAAO,EACP,QAAQ,EACR,SAAS,EACT,MAAM,GAAG,GAAG,EACZ,SAAS,EACT,OAAO,EACP,GAAG,EACH,IAAI,EACL,GAAG,UAAU,CAAA;IAEd,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAE1B,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QACpD,MAAM,IAAI,cAAc,CAAC,2CAA2C,CAAC,CAAA;IACvE,CAAC;IAED,IAAI,aAAwC,CAAA;IAC5C,IAAI,MAAM,EAAE,CAAC;QACX,aAAa,GAAG,kBAAkB,CAAC,MAAM,CAAC;YACxC,CAAC,CAAC,eAAe,CAAC,MAAsB,CAAC;YACzC,CAAC,CAAC,MAAM,CAAA;IACZ,CAAC;IAED,IAAI,oBAAsC,CAAA;IAC1C,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,oBAAoB,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YACpC,IAAI,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC;gBAClC,OAAO,sBAAsB,CAC3B,EAAoD,CACrD,CAAA;YACH,CAAC;YACD,OAAO,EAAE,CAAA;QACX,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,iBAAiB,GAA4C,SAAS,CAAA;IAE1E,IAAI,wBAAwB,EAAE,CAAC;QAC7B,iBAAiB,GAAG,MAAM,yBAAyB,CACjD,MAAM,EACN,SAAS,EACT,OAAO,EACP,SAAS,EACT,aAAa,CACd,CAAA;IACH,CAAC;IAED,IAAI,CAAC,IAAI,IAAI,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;IACrC,CAAC;IAED,IAAI,CAAC,SAAS,IAAI,CAAC,iBAAiB,EAAE,SAAS,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;IAC1C,CAAC;IAED,MAAM,KAAK,GAAc;QACvB,IAAI,EAAE,wBAAwB;YAC5B,CAAC,CAAE,iBAAiB,EAAE,IAAe;YACrC,CAAC,CAAE,IAAe;QACpB,mBAAmB,EAAE,UAAU;QAC/B,kBAAkB,EAAE,SAAS;QAC7B,cAAc,EAAE,QAAQ;QACxB,aAAa,EAAE,OAAO;QACtB,MAAM;QACN,SAAS,EAAE,wBAAwB;YACjC,CAAC,CAAE,iBAAiB,EAAE,SAAoB;YAC1C,CAAC,CAAE,SAAoB;QACzB,SAAS;QACT,QAAQ,EAAE,MAAM,CAAC,MAAM,IAAI,SAAS;QACpC,GAAG,EAAE,oBAAoB;QACzB,GAAG,OAAO;KACX,CAAA;IAED,MAAM,OAAO,GAAuB;QAClC,GAAG,EAAE,GAAG,MAAM,CAAC,UAAU,QAAQ;QACjC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,KAAK;KACZ,CAAA;IAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACxC,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACvB,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;IAC9D,CAAC;IACD,OAAO,EAAE,GAAG,GAAG,CAAC,IAAI,EAAE,OAAO,EAAa,CAAA;AAC5C,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { axios } from '../utils/axios.js';
2
+ import { getClient } from '../client.js';
3
+ import { zeroAddress } from 'viem';
4
+ export async function getSolverCapacity(data, axiosInstance = axios) {
5
+ const client = getClient();
6
+ if (!client) {
7
+ throw new Error('Client not initialized');
8
+ }
9
+ // Fallback to zero address if user is not provided
10
+ data.user = data.user || zeroAddress;
11
+ data.currency = data.currency;
12
+ const response = await axiosInstance.get(`${client.baseApiUrl}/config/v2`, { params: data });
13
+ if (response.data) {
14
+ return response.data;
15
+ }
16
+ throw 'No solver capacity data';
17
+ }
18
+ //# sourceMappingURL=getSolverCapacity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getSolverCapacity.js","sourceRoot":"","sources":["../../../src/actions/getSolverCapacity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAiBlC,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAA0B,EAC1B,gBAA+B,KAAK;IAEpC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAE1B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;IAC3C,CAAC;IAED,mDAAmD;IACnD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,WAAW,CAAA;IACpC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;IAE7B,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,GAAG,CACtC,GAAG,MAAM,CAAC,UAAU,YAAY,EAChC,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB,CAAA;IAED,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;QAClB,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;IACD,MAAM,yBAAyB,CAAA;AACjC,CAAC"}
@@ -0,0 +1,7 @@
1
+ export * from './execute.js';
2
+ export * from './getQuote.js';
3
+ export * from './getPrice.js';
4
+ export * from './getSolverCapacity.js';
5
+ export * from './getAppFees.js';
6
+ export * from './claimAppFees.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/actions/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA"}
@@ -0,0 +1,217 @@
1
+ import { arbitrum, arbitrumNova, base, baseGoerli, mainnet, optimism, sepolia, zora } from 'viem/chains';
2
+ import { LogLevel, log as logUtil } from './utils/logger.js';
3
+ import * as actions from './actions/index.js';
4
+ import * as utils from './utils/index.js';
5
+ import { MAINNET_RELAY_API, MAINNET_RELAY_WS } from './constants/servers.js';
6
+ import { SDK_VERSION } from './version.js';
7
+ let _client;
8
+ const _backupChains = [
9
+ mainnet,
10
+ base,
11
+ zora,
12
+ optimism,
13
+ arbitrum,
14
+ arbitrumNova
15
+ ].map((chain) => utils.convertViemChainToRelayChain(chain));
16
+ const _backupTestnetChains = [sepolia, baseGoerli].map((chain) => utils.convertViemChainToRelayChain(chain));
17
+ export class RelayClient {
18
+ log(message, level = LogLevel.Info) {
19
+ return logUtil(message, level, this.logLevel);
20
+ }
21
+ constructor(options) {
22
+ Object.defineProperty(this, "version", {
23
+ enumerable: true,
24
+ configurable: true,
25
+ writable: true,
26
+ value: void 0
27
+ });
28
+ Object.defineProperty(this, "uiVersion", {
29
+ enumerable: true,
30
+ configurable: true,
31
+ writable: true,
32
+ value: void 0
33
+ });
34
+ Object.defineProperty(this, "baseApiUrl", {
35
+ enumerable: true,
36
+ configurable: true,
37
+ writable: true,
38
+ value: void 0
39
+ });
40
+ Object.defineProperty(this, "source", {
41
+ enumerable: true,
42
+ configurable: true,
43
+ writable: true,
44
+ value: void 0
45
+ });
46
+ Object.defineProperty(this, "logLevel", {
47
+ enumerable: true,
48
+ configurable: true,
49
+ writable: true,
50
+ value: void 0
51
+ });
52
+ Object.defineProperty(this, "pollingInterval", {
53
+ enumerable: true,
54
+ configurable: true,
55
+ writable: true,
56
+ value: void 0
57
+ });
58
+ Object.defineProperty(this, "confirmationPollingInterval", {
59
+ enumerable: true,
60
+ configurable: true,
61
+ writable: true,
62
+ value: void 0
63
+ });
64
+ Object.defineProperty(this, "maxPollingAttemptsBeforeTimeout", {
65
+ enumerable: true,
66
+ configurable: true,
67
+ writable: true,
68
+ value: void 0
69
+ });
70
+ Object.defineProperty(this, "useGasFeeEstimations", {
71
+ enumerable: true,
72
+ configurable: true,
73
+ writable: true,
74
+ value: void 0
75
+ });
76
+ Object.defineProperty(this, "chains", {
77
+ enumerable: true,
78
+ configurable: true,
79
+ writable: true,
80
+ value: void 0
81
+ });
82
+ Object.defineProperty(this, "websocketEnabled", {
83
+ enumerable: true,
84
+ configurable: true,
85
+ writable: true,
86
+ value: void 0
87
+ });
88
+ Object.defineProperty(this, "websocketUrl", {
89
+ enumerable: true,
90
+ configurable: true,
91
+ writable: true,
92
+ value: void 0
93
+ });
94
+ Object.defineProperty(this, "utils", {
95
+ enumerable: true,
96
+ configurable: true,
97
+ writable: true,
98
+ value: { ...utils }
99
+ });
100
+ Object.defineProperty(this, "actions", {
101
+ enumerable: true,
102
+ configurable: true,
103
+ writable: true,
104
+ value: actions
105
+ });
106
+ this.version = SDK_VERSION;
107
+ this.uiVersion = options.uiVersion;
108
+ this.baseApiUrl = options.baseApiUrl ?? MAINNET_RELAY_API;
109
+ this.logLevel =
110
+ options.logLevel !== undefined ? options.logLevel : LogLevel.None;
111
+ this.pollingInterval = options.pollingInterval;
112
+ this.maxPollingAttemptsBeforeTimeout =
113
+ options.maxPollingAttemptsBeforeTimeout;
114
+ this.useGasFeeEstimations = options.useGasFeeEstimations ?? true;
115
+ this.websocketEnabled = options.websocket?.enabled ?? false;
116
+ this.websocketUrl = options.websocket?.url ?? MAINNET_RELAY_WS;
117
+ if (options.chains) {
118
+ this.chains = options.chains;
119
+ }
120
+ else if (options.baseApiUrl?.includes('testnets')) {
121
+ this.chains = _backupTestnetChains;
122
+ }
123
+ else {
124
+ this.chains = _backupChains;
125
+ }
126
+ if (!options.source) {
127
+ if (typeof window !== 'undefined') {
128
+ let host = location.hostname;
129
+ if (host.indexOf('www.') === 0) {
130
+ host = host.replace('www.', '');
131
+ }
132
+ this.source = host;
133
+ console.warn('RelaySDK automatically generated a source based on the url, we recommend providing a source when initializing the sdk. Refer to our docs for steps on how to do this: https://docs.relay.link/references/sdk/getting-started#configuration');
134
+ }
135
+ }
136
+ else {
137
+ this.source = options.source;
138
+ }
139
+ }
140
+ configure(options) {
141
+ this.baseApiUrl = options.baseApiUrl ? options.baseApiUrl : this.baseApiUrl;
142
+ this.source = options.source ? options.source : this.source;
143
+ this.logLevel =
144
+ options.logLevel !== undefined ? options.logLevel : LogLevel.None;
145
+ this.pollingInterval = options.pollingInterval
146
+ ? options.pollingInterval
147
+ : this.pollingInterval;
148
+ this.confirmationPollingInterval = options.confirmationPollingInterval
149
+ ? options.confirmationPollingInterval
150
+ : this.confirmationPollingInterval;
151
+ this.maxPollingAttemptsBeforeTimeout =
152
+ options.maxPollingAttemptsBeforeTimeout
153
+ ? options.maxPollingAttemptsBeforeTimeout
154
+ : this.maxPollingAttemptsBeforeTimeout;
155
+ this.useGasFeeEstimations =
156
+ options.useGasFeeEstimations !== undefined
157
+ ? options.useGasFeeEstimations
158
+ : this.useGasFeeEstimations;
159
+ this.websocketEnabled =
160
+ options.websocket?.enabled !== undefined
161
+ ? options.websocket.enabled
162
+ : this.websocketEnabled;
163
+ this.websocketUrl = options.websocket?.url || this.websocketUrl;
164
+ if (options.logger) {
165
+ this.log = options.logger;
166
+ }
167
+ else {
168
+ this.log = (message, level = LogLevel.Info) => {
169
+ logUtil(message, level, this.logLevel);
170
+ };
171
+ }
172
+ if (options.chains) {
173
+ this.chains = options.chains;
174
+ }
175
+ }
176
+ }
177
+ export async function configureDynamicChains() {
178
+ try {
179
+ const chains = await utils.fetchChainConfigs(_client.baseApiUrl, _client.source);
180
+ _client.chains = chains;
181
+ return chains;
182
+ }
183
+ catch (e) {
184
+ _client.log(['Failed to fetch remote chain configuration, falling back', e], LogLevel.Error);
185
+ throw e;
186
+ }
187
+ }
188
+ export function getClient() {
189
+ return _client;
190
+ }
191
+ /**
192
+ * Creates a Relay Client
193
+ *
194
+ * - Docs: https://docs.relay.link/references/sdk/createClient
195
+ *
196
+ * @param options - {@link RelayClientOptions}
197
+ * @returns A Relay Client. {@link RelayClient}
198
+ *
199
+ * @example
200
+ * import { createClient, LogLevel, MAINNET_RELAY_API } from '@relayprotocol/relay-sdk'
201
+ *
202
+ * const relayClient = createClient({
203
+ * baseApiUrl: MAINNET_RELAY_API,
204
+ * source: "YOUR-SOURCE",
205
+ * logLevel: LogLevel.Verbose,
206
+ * })
207
+ */
208
+ export function createClient(options) {
209
+ if (!_client) {
210
+ _client = new RelayClient({ ...options });
211
+ }
212
+ else {
213
+ _client.configure(options);
214
+ }
215
+ return _client;
216
+ }
217
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,IAAI,EACJ,UAAU,EACV,OAAO,EACP,QAAQ,EACR,OAAO,EACP,IAAI,EACL,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAoC1C,IAAI,OAAoB,CAAA;AACxB,MAAM,aAAa,GAAiB;IAClC,OAAO;IACP,IAAI;IACJ,IAAI;IACJ,QAAQ;IACR,QAAQ;IACR,YAAY;CACb,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC,CAAA;AAC3D,MAAM,oBAAoB,GAAiB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC7E,KAAK,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAC1C,CAAA;AAED,MAAM,OAAO,WAAW;IAatB,GAAG,CACD,OAAwC,EACxC,QAAkB,QAAQ,CAAC,IAAI;QAE/B,OAAO,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC/C,CAAC;IAKD,YAAY,OAA2B;QAtBvC;;;;;WAAe;QACf;;;;;WAAkB;QAClB;;;;;WAAkB;QAClB;;;;;WAAe;QACf;;;;;WAAkB;QAClB;;;;;WAAwB;QACxB;;;;;WAAoC;QACpC;;;;;WAAwC;QACxC;;;;;WAA6B;QAC7B;;;;;WAAoB;QACpB;;;;;WAAyB;QACzB;;;;;WAAoB;QAQX;;;;mBAAQ,EAAE,GAAG,KAAK,EAAE;WAAA;QACpB;;;;mBAAU,OAAO;WAAA;QAGxB,IAAI,CAAC,OAAO,GAAG,WAAW,CAAA;QAC1B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;QAClC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,iBAAiB,CAAA;QACzD,IAAI,CAAC,QAAQ;YACX,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAA;QACnE,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAA;QAC9C,IAAI,CAAC,+BAA+B;YAClC,OAAO,CAAC,+BAA+B,CAAA;QACzC,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,IAAI,IAAI,CAAA;QAChE,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,SAAS,EAAE,OAAO,IAAI,KAAK,CAAA;QAC3D,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,gBAAgB,CAAA;QAC9D,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QAC9B,CAAC;aAAM,IAAI,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,MAAM,GAAG,oBAAoB,CAAA;QACpC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,aAAa,CAAA;QAC7B,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClC,IAAI,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAA;gBAC5B,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC/B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;gBACjC,CAAC;gBACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;gBAClB,OAAO,CAAC,IAAI,CACV,4OAA4O,CAC7O,CAAA;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QAC9B,CAAC;IACH,CAAC;IAED,SAAS,CAAC,OAAoC;QAC5C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAA;QAC3E,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAA;QAC3D,IAAI,CAAC,QAAQ;YACX,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAA;QACnE,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe;YAC5C,CAAC,CAAC,OAAO,CAAC,eAAe;YACzB,CAAC,CAAC,IAAI,CAAC,eAAe,CAAA;QACxB,IAAI,CAAC,2BAA2B,GAAG,OAAO,CAAC,2BAA2B;YACpE,CAAC,CAAC,OAAO,CAAC,2BAA2B;YACrC,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAA;QACpC,IAAI,CAAC,+BAA+B;YAClC,OAAO,CAAC,+BAA+B;gBACrC,CAAC,CAAC,OAAO,CAAC,+BAA+B;gBACzC,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAA;QAC1C,IAAI,CAAC,oBAAoB;YACvB,OAAO,CAAC,oBAAoB,KAAK,SAAS;gBACxC,CAAC,CAAC,OAAO,CAAC,oBAAoB;gBAC9B,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAA;QAC/B,IAAI,CAAC,gBAAgB;YACnB,OAAO,CAAC,SAAS,EAAE,OAAO,KAAK,SAAS;gBACtC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO;gBAC3B,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAA;QAC3B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,IAAI,CAAC,YAAY,CAAA;QAE/D,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,MAAM,CAAA;QAC3B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,GAAG,CACT,OAAwC,EACxC,QAAkB,QAAQ,CAAC,IAAI,EAC/B,EAAE;gBACF,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;YACxC,CAAC,CAAA;QACH,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QAC9B,CAAC;IACH,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB;IAC1C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAC1C,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,MAAM,CACf,CAAA;QACD,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;QACvB,OAAO,MAAM,CAAA;IACf,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CACT,CAAC,0DAA0D,EAAE,CAAC,CAAC,EAC/D,QAAQ,CAAC,KAAK,CACf,CAAA;QACD,MAAM,CAAC,CAAA;IACT,CAAC;AACH,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,YAAY,CAAC,OAA2B;IACtD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,IAAI,WAAW,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAA;IAC3C,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IAC5B,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -0,0 +1,43 @@
1
+ export const evmDeadAddress = '0x000000000000000000000000000000000000dead';
2
+ export const solDeadAddress = 'CbKGgVKLJFb8bBrf58DnAkdryX6ubewVytn7X957YwNr';
3
+ export const eclipseDeadAddress = 'CrfbABN2sSvmoZLu9eDDfXpaC2nHg42R7AXbHs9eg4S9';
4
+ export const bitcoinDeadAddress = 'bc1q4vxn43l44h30nkluqfxd9eckf45vr2awz38lwa';
5
+ export const tronDeadAddress = 'THa7BwoPfacfiELa63pbmm3g5PGKYmtJyt';
6
+ export const zeroDeadAddress = '0x00000000000000000000000000000000000dead0';
7
+ export const suiDeadAddress = '0x000000000000000000000000000000000000000000000000000000000000dead';
8
+ const eclipseId = 9286185;
9
+ const zeroChainId = 543210;
10
+ export const getDeadAddress = (vmType, chainId) => {
11
+ if (vmType === 'svm') {
12
+ return chainId === eclipseId ? eclipseDeadAddress : solDeadAddress;
13
+ }
14
+ else if (vmType === 'bvm') {
15
+ return bitcoinDeadAddress;
16
+ }
17
+ else if (chainId === zeroChainId) {
18
+ return zeroDeadAddress;
19
+ }
20
+ else if (vmType === 'tvm') {
21
+ return tronDeadAddress;
22
+ }
23
+ else if (vmType === 'suivm') {
24
+ return suiDeadAddress;
25
+ }
26
+ else {
27
+ return evmDeadAddress;
28
+ }
29
+ };
30
+ export const isDeadAddress = (address) => {
31
+ if (!address) {
32
+ return false;
33
+ }
34
+ if (address === eclipseDeadAddress ||
35
+ address === solDeadAddress ||
36
+ address === bitcoinDeadAddress ||
37
+ address === evmDeadAddress ||
38
+ address === suiDeadAddress) {
39
+ return true;
40
+ }
41
+ return false;
42
+ };
43
+ //# sourceMappingURL=address.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address.js","sourceRoot":"","sources":["../../../src/constants/address.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GACzB,4CAAqD,CAAA;AACvD,MAAM,CAAC,MAAM,cAAc,GACzB,8CAAuD,CAAA;AACzD,MAAM,CAAC,MAAM,kBAAkB,GAC7B,8CAAuD,CAAA;AACzD,MAAM,CAAC,MAAM,kBAAkB,GAAG,4CAA4C,CAAA;AAC9E,MAAM,CAAC,MAAM,eAAe,GAAG,oCAAoC,CAAA;AACnE,MAAM,CAAC,MAAM,eAAe,GAAG,4CAA4C,CAAA;AAC3E,MAAM,CAAC,MAAM,cAAc,GACzB,oEAAoE,CAAA;AAEtE,MAAM,SAAS,GAAG,OAAO,CAAA;AACzB,MAAM,WAAW,GAAG,MAAM,CAAA;AAE1B,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAgB,EAAE,OAAgB,EAAE,EAAE;IACnE,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrB,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,cAAc,CAAA;IACpE,CAAC;SAAM,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QAC5B,OAAO,kBAAkB,CAAA;IAC3B,CAAC;SAAM,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QACnC,OAAO,eAAe,CAAA;IACxB,CAAC;SAAM,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QAC5B,OAAO,eAAe,CAAA;IACxB,CAAC;SAAM,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QAC9B,OAAO,cAAc,CAAA;IACvB,CAAC;SAAM,CAAC;QACN,OAAO,cAAc,CAAA;IACvB,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAAgB,EAAE,EAAE;IAChD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IACE,OAAO,KAAK,kBAAkB;QAC9B,OAAO,KAAK,cAAc;QAC1B,OAAO,KAAK,kBAAkB;QAC9B,OAAO,KAAK,cAAc;QAC1B,OAAO,KAAK,cAAc,EAC1B,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export const bvmChainIds = [8253038, 9092725];
2
+ //# sourceMappingURL=bvm.js.map