@allbridge/bridge-core-sdk 3.19.1-alpha.1 → 3.20.0-alpha.1

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 (197) hide show
  1. package/dist/browser/index.js +5 -5
  2. package/dist/browser/index.js.map +4 -4
  3. package/dist/cjs/index.js +3 -3
  4. package/dist/cjs/index.js.map +4 -4
  5. package/dist/esm/index.js +2 -2
  6. package/dist/esm/index.js.map +4 -4
  7. package/dist/src/chains/chain.enums.js +2 -2
  8. package/dist/src/chains/chain.enums.js.map +1 -1
  9. package/dist/src/chains/index.js.map +1 -1
  10. package/dist/src/chains/models.js.map +1 -1
  11. package/dist/src/client/core-api/api-client-caching.js +5 -0
  12. package/dist/src/client/core-api/api-client-caching.js.map +1 -1
  13. package/dist/src/client/core-api/api-client.js +1 -0
  14. package/dist/src/client/core-api/api-client.js.map +1 -1
  15. package/dist/src/client/core-api/core-api-mapper.js +6 -8
  16. package/dist/src/client/core-api/core-api-mapper.js.map +1 -1
  17. package/dist/src/client/core-api/core-api.model.js +3 -3
  18. package/dist/src/client/core-api/core-api.model.js.map +1 -1
  19. package/dist/src/client/core-api/core-client-base.js +1 -0
  20. package/dist/src/client/core-api/core-client-base.js.map +1 -1
  21. package/dist/src/client/core-api/core-client-filtered.js +2 -0
  22. package/dist/src/client/core-api/core-client-filtered.js.map +1 -1
  23. package/dist/src/client/core-api/core-client-pool-info-caching.js +3 -1
  24. package/dist/src/client/core-api/core-client-pool-info-caching.js.map +1 -1
  25. package/dist/src/configs/index.js.map +1 -1
  26. package/dist/src/configs/mainnet.d.ts +1 -1
  27. package/dist/src/configs/mainnet.js +1 -1
  28. package/dist/src/configs/mainnet.js.map +1 -1
  29. package/dist/src/exceptions/exceptions.js +2 -1
  30. package/dist/src/exceptions/exceptions.js.map +1 -1
  31. package/dist/src/exceptions/index.js.map +1 -1
  32. package/dist/src/index.d.ts +7 -7
  33. package/dist/src/index.js +11 -6
  34. package/dist/src/index.js.map +1 -1
  35. package/dist/src/models/index.js +2 -2
  36. package/dist/src/models/index.js.map +1 -1
  37. package/dist/src/services/bridge/evm/index.d.ts +6 -8
  38. package/dist/src/services/bridge/evm/index.js +14 -12
  39. package/dist/src/services/bridge/evm/index.js.map +1 -1
  40. package/dist/src/services/bridge/index.d.ts +3 -4
  41. package/dist/src/services/bridge/index.js +16 -11
  42. package/dist/src/services/bridge/index.js.map +1 -1
  43. package/dist/src/services/bridge/models/bridge.d.ts +1 -1
  44. package/dist/src/services/bridge/models/bridge.js.map +1 -1
  45. package/dist/src/services/bridge/models/bridge.model.d.ts +18 -10
  46. package/dist/src/services/bridge/models/bridge.model.js.map +1 -1
  47. package/dist/src/services/bridge/models/index.js.map +1 -1
  48. package/dist/src/services/bridge/raw-bridge-transaction-builder.js +4 -0
  49. package/dist/src/services/bridge/raw-bridge-transaction-builder.js.map +1 -1
  50. package/dist/src/services/bridge/sol/index.d.ts +2 -2
  51. package/dist/src/services/bridge/sol/index.js +5 -5
  52. package/dist/src/services/bridge/sol/index.js.map +1 -1
  53. package/dist/src/services/bridge/sol/jupiter.js +2 -0
  54. package/dist/src/services/bridge/sol/jupiter.js.map +1 -1
  55. package/dist/src/services/bridge/srb/index.d.ts +3 -3
  56. package/dist/src/services/bridge/srb/index.js +4 -1
  57. package/dist/src/services/bridge/srb/index.js.map +1 -1
  58. package/dist/src/services/bridge/trx/index.d.ts +6 -6
  59. package/dist/src/services/bridge/trx/index.js +5 -3
  60. package/dist/src/services/bridge/trx/index.js.map +1 -1
  61. package/dist/src/services/bridge/utils.d.ts +12 -3
  62. package/dist/src/services/bridge/utils.js +22 -40
  63. package/dist/src/services/bridge/utils.js.map +1 -1
  64. package/dist/src/services/index.js +7 -3
  65. package/dist/src/services/index.js.map +1 -1
  66. package/dist/src/services/liquidity-pool/evm/index.d.ts +4 -6
  67. package/dist/src/services/liquidity-pool/evm/index.js +102 -47
  68. package/dist/src/services/liquidity-pool/evm/index.js.map +1 -1
  69. package/dist/src/services/liquidity-pool/index.d.ts +1 -1
  70. package/dist/src/services/liquidity-pool/index.js +14 -7
  71. package/dist/src/services/liquidity-pool/index.js.map +1 -1
  72. package/dist/src/services/liquidity-pool/models/index.js.map +1 -1
  73. package/dist/src/services/liquidity-pool/models/pool.js.map +1 -1
  74. package/dist/src/services/liquidity-pool/models/pool.model.js +2 -0
  75. package/dist/src/services/liquidity-pool/models/pool.model.js.map +1 -1
  76. package/dist/src/services/liquidity-pool/raw-pool-transaction-builder.js +4 -0
  77. package/dist/src/services/liquidity-pool/raw-pool-transaction-builder.js.map +1 -1
  78. package/dist/src/services/liquidity-pool/sol/index.js +7 -5
  79. package/dist/src/services/liquidity-pool/sol/index.js.map +1 -1
  80. package/dist/src/services/liquidity-pool/srb/index.js +5 -2
  81. package/dist/src/services/liquidity-pool/srb/index.js.map +1 -1
  82. package/dist/src/services/liquidity-pool/trx/index.d.ts +4 -5
  83. package/dist/src/services/liquidity-pool/trx/index.js +94 -38
  84. package/dist/src/services/liquidity-pool/trx/index.js.map +1 -1
  85. package/dist/src/services/models/abi/Bridge.d.ts +715 -0
  86. package/dist/src/services/models/abi/Bridge.js +925 -0
  87. package/dist/src/services/models/abi/Bridge.js.map +1 -0
  88. package/dist/src/services/models/abi/CctpBridge.d.ts +446 -0
  89. package/dist/src/services/models/abi/CctpBridge.js +575 -0
  90. package/dist/src/services/models/abi/CctpBridge.js.map +1 -0
  91. package/dist/src/services/models/abi/ERC20.d.ts +222 -0
  92. package/dist/src/services/models/abi/ERC20.js +294 -0
  93. package/dist/src/services/models/abi/ERC20.js.map +1 -0
  94. package/dist/src/services/models/abi/Pool.d.ts +746 -0
  95. package/dist/src/services/models/abi/Pool.js +965 -0
  96. package/dist/src/services/models/abi/Pool.js.map +1 -0
  97. package/dist/src/services/models/index.d.ts +35 -9
  98. package/dist/src/services/models/index.js.map +1 -1
  99. package/dist/src/services/models/sol/index.d.ts +2 -4
  100. package/dist/src/services/models/sol/index.js +1 -1
  101. package/dist/src/services/models/sol/index.js.map +1 -1
  102. package/dist/src/services/models/sol/types/bridge.js.map +1 -1
  103. package/dist/src/services/models/sol/types/cctp_bridge.js.map +1 -1
  104. package/dist/src/services/models/sol/types/gas_oracle.js.map +1 -1
  105. package/dist/src/services/models/srb/bridge-contract.d.ts +0 -1
  106. package/dist/src/services/models/srb/bridge-contract.js +32 -31
  107. package/dist/src/services/models/srb/bridge-contract.js.map +1 -1
  108. package/dist/src/services/models/srb/gas-oracle-contract.d.ts +0 -1
  109. package/dist/src/services/models/srb/gas-oracle-contract.js +13 -12
  110. package/dist/src/services/models/srb/gas-oracle-contract.js.map +1 -1
  111. package/dist/src/services/models/srb/messenger-contract.d.ts +0 -1
  112. package/dist/src/services/models/srb/messenger-contract.js +23 -22
  113. package/dist/src/services/models/srb/messenger-contract.js.map +1 -1
  114. package/dist/src/services/models/srb/pool-contract.d.ts +0 -1
  115. package/dist/src/services/models/srb/pool-contract.js +28 -27
  116. package/dist/src/services/models/srb/pool-contract.js.map +1 -1
  117. package/dist/src/services/models/srb/token-contract.js +19 -18
  118. package/dist/src/services/models/srb/token-contract.js.map +1 -1
  119. package/dist/src/services/models/srb/utils.js +3 -4
  120. package/dist/src/services/models/srb/utils.js.map +1 -1
  121. package/dist/src/services/token/evm/index.d.ts +5 -7
  122. package/dist/src/services/token/evm/index.js +24 -23
  123. package/dist/src/services/token/evm/index.js.map +1 -1
  124. package/dist/src/services/token/index.js +7 -8
  125. package/dist/src/services/token/index.js.map +1 -1
  126. package/dist/src/services/token/models/index.js.map +1 -1
  127. package/dist/src/services/token/models/token.js.map +1 -1
  128. package/dist/src/services/token/models/token.model.js.map +1 -1
  129. package/dist/src/services/token/sol/index.js +3 -2
  130. package/dist/src/services/token/sol/index.js.map +1 -1
  131. package/dist/src/services/token/srb/index.js +4 -1
  132. package/dist/src/services/token/srb/index.js.map +1 -1
  133. package/dist/src/services/token/trx/index.d.ts +3 -3
  134. package/dist/src/services/token/trx/index.js +7 -5
  135. package/dist/src/services/token/trx/index.js.map +1 -1
  136. package/dist/src/services/utils/calculation/index.js +2 -3
  137. package/dist/src/services/utils/calculation/index.js.map +1 -1
  138. package/dist/src/services/utils/index.js +5 -9
  139. package/dist/src/services/utils/index.js.map +1 -1
  140. package/dist/src/services/utils/sol/accounts.d.ts +0 -1
  141. package/dist/src/services/utils/sol/accounts.js +19 -20
  142. package/dist/src/services/utils/sol/accounts.js.map +1 -1
  143. package/dist/src/services/utils/sol/anchor-provider.js +1 -2
  144. package/dist/src/services/utils/sol/anchor-provider.js.map +1 -1
  145. package/dist/src/services/utils/sol/compute-budget.js +2 -3
  146. package/dist/src/services/utils/sol/compute-budget.js.map +1 -1
  147. package/dist/src/services/utils/sol/index.d.ts +0 -1
  148. package/dist/src/services/utils/sol/index.js +8 -9
  149. package/dist/src/services/utils/sol/index.js.map +1 -1
  150. package/dist/src/services/utils/trx/index.d.ts +1 -1
  151. package/dist/src/services/utils/trx/index.js +3 -6
  152. package/dist/src/services/utils/trx/index.js.map +1 -1
  153. package/dist/src/tokens-info/index.js +4 -0
  154. package/dist/src/tokens-info/index.js.map +1 -1
  155. package/dist/src/tokens-info/tokens-info.model.d.ts +1 -1
  156. package/dist/src/tokens-info/tokens-info.model.js.map +1 -1
  157. package/dist/src/utils/calculation/constants.js.map +1 -1
  158. package/dist/src/utils/calculation/index.js +17 -18
  159. package/dist/src/utils/calculation/index.js.map +1 -1
  160. package/dist/src/utils/calculation/swap-and-bridge-details.js +1 -2
  161. package/dist/src/utils/calculation/swap-and-bridge-details.js.map +1 -1
  162. package/dist/src/utils/calculation/swap-and-bridge-fee-calc.js +2 -3
  163. package/dist/src/utils/calculation/swap-and-bridge-fee-calc.js.map +1 -1
  164. package/dist/src/utils/index.js +3 -0
  165. package/dist/src/utils/index.js.map +1 -1
  166. package/dist/src/utils/sol/index.js +2 -0
  167. package/dist/src/utils/sol/index.js.map +1 -1
  168. package/dist/src/utils/sol/utils.js +1 -2
  169. package/dist/src/utils/sol/utils.js.map +1 -1
  170. package/dist/src/utils/srb/index.d.ts +1 -1
  171. package/dist/src/utils/srb/index.js +7 -5
  172. package/dist/src/utils/srb/index.js.map +1 -1
  173. package/dist/src/utils/utils.js +7 -9
  174. package/dist/src/utils/utils.js.map +1 -1
  175. package/dist/src/version.d.ts +1 -1
  176. package/dist/src/version.js +1 -1
  177. package/dist/src/version.js.map +1 -1
  178. package/package.json +55 -53
  179. package/dist/src/services/models/abi/Bridge.json +0 -919
  180. package/dist/src/services/models/abi/CctpBridge.json +0 -569
  181. package/dist/src/services/models/abi/ERC20.json +0 -288
  182. package/dist/src/services/models/abi/Pool.json +0 -959
  183. package/dist/src/services/models/abi/types/Bridge.d.ts +0 -145
  184. package/dist/src/services/models/abi/types/Bridge.js +0 -6
  185. package/dist/src/services/models/abi/types/Bridge.js.map +0 -1
  186. package/dist/src/services/models/abi/types/CctpBridge.d.ts +0 -117
  187. package/dist/src/services/models/abi/types/CctpBridge.js +0 -6
  188. package/dist/src/services/models/abi/types/CctpBridge.js.map +0 -1
  189. package/dist/src/services/models/abi/types/Pool.d.ts +0 -164
  190. package/dist/src/services/models/abi/types/Pool.js +0 -6
  191. package/dist/src/services/models/abi/types/Pool.js.map +0 -1
  192. package/dist/src/services/models/abi/types/index.d.ts +0 -2
  193. package/dist/src/services/models/abi/types/index.js +0 -3
  194. package/dist/src/services/models/abi/types/index.js.map +0 -1
  195. package/dist/src/services/models/abi/types/types.d.ts +0 -54
  196. package/dist/src/services/models/abi/types/types.js +0 -3
  197. package/dist/src/services/models/abi/types/types.js.map +0 -1
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.verifyTx = exports.sendRawTransaction = void 0;
3
+ exports.sendRawTransaction = sendRawTransaction;
4
+ exports.verifyTx = verifyTx;
4
5
  const exceptions_1 = require("../../../exceptions");
5
6
  const index_1 = require("../index");
6
7
  async function sendRawTransaction(tronWeb, rawTransaction) {
@@ -9,14 +10,12 @@ async function sendRawTransaction(tronWeb, rawTransaction) {
9
10
  throw new exceptions_1.InvalidTxError("Transaction was not signed properly");
10
11
  }
11
12
  const receipt = await tronWeb.trx.sendRawTransaction(signedTx);
12
- const transactionHash = receipt.txid;
13
+ const transactionHash = receipt.transaction.txID;
13
14
  await verifyTx(tronWeb, transactionHash);
14
15
  return { txId: transactionHash };
15
16
  }
16
- exports.sendRawTransaction = sendRawTransaction;
17
17
  async function verifyTx(tronWeb, txId, timeout = 10000) {
18
18
  const start = Date.now();
19
- /* eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, no-constant-condition */
20
19
  while (true) {
21
20
  if (Date.now() - start > timeout) {
22
21
  throw new exceptions_1.VerifyTxError("Transaction not found");
@@ -30,10 +29,8 @@ async function verifyTx(tronWeb, txId, timeout = 10000) {
30
29
  return result;
31
30
  }
32
31
  else {
33
- /* eslint-disable-next-line @typescript-eslint/restrict-template-expressions */
34
32
  throw new exceptions_1.VerifyTxError(`Transaction status is ${result.receipt.result}`);
35
33
  }
36
34
  }
37
35
  }
38
- exports.verifyTx = verifyTx;
39
36
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/utils/trx/index.ts"],"names":[],"mappings":";;;AAEA,oDAAoE;AAEpE,oCAAiC;AAE1B,KAAK,UAAU,kBAAkB,CAAC,OAAgB,EAAE,cAA8B;IACvF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAExD,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;QACvB,MAAM,IAAI,2BAAc,CAAC,qCAAqC,CAAC,CAAC;KACjE;IAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC/D,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IACrC,MAAM,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACzC,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;AACnC,CAAC;AAXD,gDAWC;AAEM,KAAK,UAAU,QAAQ,CAAC,OAAgB,EAAE,IAAY,EAAE,OAAO,GAAG,KAAK;IAC5E,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,iGAAiG;IACjG,OAAO,IAAI,EAAE;QACX,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,OAAO,EAAE;YAChC,MAAM,IAAI,0BAAa,CAAC,uBAAuB,CAAC,CAAC;SAClD;QACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC;QACrE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE;YACpB,MAAM,IAAA,aAAK,EAAC,IAAI,CAAC,CAAC;YAClB,SAAS;SACV;QACD,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE;YACvC,OAAO,MAAM,CAAC;SACf;aAAM;YACL,+EAA+E;YAC/E,MAAM,IAAI,0BAAa,CAAC,yBAAyB,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;SAC3E;KACF;AACH,CAAC;AAnBD,4BAmBC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/utils/trx/index.ts"],"names":[],"mappings":";;AAMA,gDAWC;AAED,4BAkBC;AAnCD,oDAAoE;AAEpE,oCAAiC;AAE1B,KAAK,UAAU,kBAAkB,CAAC,OAAgB,EAAE,cAA8B;IACvF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,cAAqB,CAAC,CAAC;IAE/D,IAAI,CAAE,QAA8B,CAAC,SAAS,EAAE,CAAC;QAC/C,MAAM,IAAI,2BAAc,CAAC,qCAAqC,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC/D,MAAM,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC;IACjD,MAAM,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACzC,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;AACnC,CAAC;AAEM,KAAK,UAAU,QAAQ,CAAC,OAAgB,EAAE,IAAY,EAAE,OAAO,GAAG,KAAK;IAC5E,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEzB,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,OAAO,EAAE,CAAC;YACjC,MAAM,IAAI,0BAAa,CAAC,uBAAuB,CAAC,CAAC;QACnD,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC;QACrE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;YACrB,MAAM,IAAA,aAAK,EAAC,IAAI,CAAC,CAAC;YAClB,SAAS;QACX,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACxC,OAAO,MAAM,CAAC;QAChB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,0BAAa,CAAC,yBAAyB,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;AACH,CAAC","sourcesContent":["import { TronWeb } from \"tronweb\";\nimport { SignedTransaction } from \"tronweb/src/types/Transaction\";\nimport { InvalidTxError, VerifyTxError } from \"../../../exceptions\";\nimport { RawTransaction } from \"../../models\";\nimport { sleep } from \"../index\";\n\nexport async function sendRawTransaction(tronWeb: TronWeb, rawTransaction: RawTransaction): Promise<{ txId: string }> {\n const signedTx = await tronWeb.trx.sign(rawTransaction as any);\n\n if (!(signedTx as SignedTransaction).signature) {\n throw new InvalidTxError(\"Transaction was not signed properly\");\n }\n\n const receipt = await tronWeb.trx.sendRawTransaction(signedTx);\n const transactionHash = receipt.transaction.txID;\n await verifyTx(tronWeb, transactionHash);\n return { txId: transactionHash };\n}\n\nexport async function verifyTx(tronWeb: TronWeb, txId: string, timeout = 10000): Promise<any> {\n const start = Date.now();\n\n while (true) {\n if (Date.now() - start > timeout) {\n throw new VerifyTxError(\"Transaction not found\");\n }\n const result = await tronWeb.trx.getUnconfirmedTransactionInfo(txId);\n if (!result?.receipt) {\n await sleep(2000);\n continue;\n }\n if (result.receipt.result === \"SUCCESS\") {\n return result;\n } else {\n throw new VerifyTxError(`Transaction status is ${result.receipt.result}`);\n }\n }\n}\n"]}
@@ -18,6 +18,10 @@ exports.TokensInfo = void 0;
18
18
  const exceptions_1 = require("../exceptions");
19
19
  __exportStar(require("./tokens-info.model"), exports);
20
20
  class TokensInfo {
21
+ /**
22
+ * @internal
23
+ */
24
+ _map;
21
25
  /**
22
26
  * @internal
23
27
  * @param map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tokens-info/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,8CAAyC;AAGzC,sDAAoC;AAEpC,MAAa,UAAU;IAMrB;;;OAGG;IACH,YAAY,GAAoB;QAC9B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACjF,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,WAAmB;QAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5C,IAAI,CAAC,YAAY,EAAE;YACjB,MAAM,IAAI,qBAAQ,CAAC,6CAA6C,WAAW,EAAE,CAAC,CAAC;SAChF;QACD,OAAO,YAAY,CAAC,MAAM,CAAC;IAC7B,CAAC;CACF;AAtCD,gCAsCC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tokens-info/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,8CAAyC;AAGzC,sDAAoC;AAEpC,MAAa,UAAU;IACrB;;OAEG;IACc,IAAI,CAAkB;IAEvC;;;OAGG;IACH,YAAY,GAAoB;QAC9B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACjF,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,WAAmB;QAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5C,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,qBAAQ,CAAC,6CAA6C,WAAW,EAAE,CAAC,CAAC;QACjF,CAAC;QACD,OAAO,YAAY,CAAC,MAAM,CAAC;IAC7B,CAAC;CACF;AAtCD,gCAsCC","sourcesContent":["import { SdkError } from \"../exceptions\";\nimport { ChainDetailsMap, TokenWithChainDetails } from \"./tokens-info.model\";\n\nexport * from \"./tokens-info.model\";\n\nexport class TokensInfo {\n /**\n * @internal\n */\n private readonly _map: ChainDetailsMap;\n\n /**\n * @internal\n * @param map\n */\n constructor(map: ChainDetailsMap) {\n this._map = map;\n }\n\n /**\n * Returns {@link ChainDetailsMap} containing a list of supported tokens groped by chain.\n */\n chainDetailsMap(): ChainDetailsMap {\n return this._map;\n }\n\n /**\n * Returns a list of supported {@link TokenWithChainDetails | tokens}.\n */\n tokens(): TokenWithChainDetails[] {\n return Object.values(this._map).flatMap((chainDetails) => chainDetails.tokens);\n }\n\n /**\n * Returns a list of supported {@link TokenWithChainDetails | tokens} on the selected chain.\n */\n tokensByChain(chainSymbol: string): TokenWithChainDetails[] {\n const chainDetails = this._map[chainSymbol];\n if (!chainDetails) {\n throw new SdkError(`Chain details not found for chain symbol: ${chainSymbol}`);\n }\n return chainDetails.tokens;\n }\n}\n"]}
@@ -96,7 +96,7 @@ export interface Token {
96
96
  */
97
97
  feeShare: string;
98
98
  /**
99
- * @Deprecated use {@link apr7d}</br>
99
+ * @deprecated use {@link apr7d}</br>
100
100
  * Token APR
101
101
  */
102
102
  apr: string;
@@ -1 +1 @@
1
- {"version":3,"file":"tokens-info.model.js","sourceRoot":"","sources":["../../../src/tokens-info/tokens-info.model.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"tokens-info.model.js","sourceRoot":"","sources":["../../../src/tokens-info/tokens-info.model.ts"],"names":[],"mappings":"","sourcesContent":["import { ChainSymbol } from \"../chains/chain.enums\";\nimport { BasicChainProperties } from \"../chains/models\";\nimport { Messenger } from \"../client/core-api/core-api.model\";\n\n/**\n * Type representing a map of blockchain chain symbols to their corresponding details, including token information.\n *\n * @typedef {Record<string, ChainDetailsWithTokens>} ChainDetailsMap\n * @property {string} chainSymbol - The symbol of the chain representing one of the supported blockchain networks (e.g., \"ETH\" for Ethereum). For more details, see: {@link ChainSymbol}.\n * @property {ChainDetailsWithTokens} chainDetails - The detailed information of the specified chain, including token information.\n */\nexport type ChainDetailsMap = Record<string, ChainDetailsWithTokens>;\n\nexport type ChainDetailsMapWithFlags = Record<string, ChainDetailsWithTokensWithFlags>;\n\n/**\n * Contains some blockchain details\n */\nexport interface ChainDetails extends BasicChainProperties {\n /**\n * Allbridge's Id\n */\n allbridgeChainId: number;\n /**\n * Bridge contract address\n */\n bridgeAddress: string;\n /**\n * Average transfer time to other blockchains\n */\n transferTime: TransferTime;\n /**\n * Transfers costs\n */\n txCostAmount: TxCostAmount;\n /**\n * Number of confirmations required\n */\n confirmations: number;\n}\n\n/**\n * Contains tokens list\n */\nexport interface ChainDetailsWithTokens extends ChainDetails {\n /**\n * Tokens\n */\n tokens: TokenWithChainDetails[];\n}\n\n/**\n * Contains tokens list\n */\nexport interface ChainDetailsWithTokensWithFlags extends ChainDetails {\n /**\n * Tokens\n */\n tokens: TokenWithChainDetailsWithFlags[];\n}\n\n/**\n * Contains token information\n */\nexport interface Token {\n /**\n * Token symbol\n */\n symbol: string;\n /**\n * Token name\n */\n name: string;\n /**\n * Token decimals\n */\n decimals: number;\n /**\n * Token pool address\n */\n poolAddress: string;\n /**\n * Token address\n */\n tokenAddress: string;\n /**\n * Token origin address\n */\n originTokenAddress?: string;\n /**\n * Token CCTP address</br>\n * Optional. Defined if CCTP supported by token\n */\n cctpAddress?: string;\n /**\n * Token CCTP address</br>\n * Optional. Defined if CCTP supported by token\n */\n cctpFeeShare?: string;\n /**\n * Token fee share\n */\n feeShare: string;\n /**\n * @deprecated use {@link apr7d}</br>\n * Token APR\n */\n apr: string;\n /**\n * Token APR based on last 7 days\n */\n apr7d: string;\n /**\n * Token APR based on last 30 days\n */\n apr30d: string;\n /**\n * Token LP rate\n */\n lpRate: string;\n}\n\n/**\n * General Token Interface\n */\nexport interface TokenWithChainDetails extends Token, Omit<ChainDetails, \"name\"> {\n /**\n * Blockchain network name\n */\n chainName: string;\n}\n\nexport interface TokenWithChainDetailsWithFlags extends TokenWithChainDetails {\n flags: { swap: boolean; pool: boolean };\n}\n\n/**\n * General Pool Interface\n */\nexport interface PoolInfo {\n /**\n * Pool A value\n */\n aValue: string;\n /**\n * Pool D value\n */\n dValue: string;\n /**\n * Pool token balance\n */\n tokenBalance: string;\n /**\n * Pool virtual USD balance\n */\n vUsdBalance: string;\n /**\n * Pool total liquidity amount\n */\n totalLpAmount: string;\n /**\n * Current accumulated reward per share shifted by P bits\n */\n accRewardPerShareP: string;\n /**\n * P value, needed for accRewardPerShareP\n */\n p: number;\n /**\n * Pool imbalance\n */\n imbalance: string;\n}\n\n/**\n * Type representing transfer times for various blockchain chains.\n *\n * @typedef {Record<string, MessengerTransferTime>} TransferTime\n * @property {chain} chainSymbol\n * @property {MessengerTransferTime} transferTime - The average transfer time details for the specified chain.\n */\nexport type TransferTime = {\n [chain in ChainSymbol]?: MessengerTransferTime;\n};\n\n/**\n * Contains Avg transaction time withing different messenger protocols\n */\nexport type MessengerTransferTime = {\n [messenger in Messenger]?: number;\n};\n\nexport interface PoolKeyObject {\n chainSymbol: string;\n poolAddress: string;\n}\n\n/**\n * Contains transfer costs\n */\nexport interface TxCostAmount {\n /**\n * The maximum gas amount that can be received as extra gas for one transfer\n */\n maxAmount: string;\n /**\n * Swap cost\n */\n swap: string;\n /**\n * Transfer cost\n */\n transfer: string;\n}\n\nexport type PoolInfoMap = Record<string, PoolInfo>;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/utils/calculation/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,gBAAgB,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/utils/calculation/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,gBAAgB,GAAG,CAAC,CAAC","sourcesContent":["export const SYSTEM_PRECISION = 3;\n"]}
@@ -3,7 +3,23 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getD = exports.aprInPercents = exports.getEarned = exports.getY = exports.swapFromVUsdReverse = exports.swapToVUsdReverse = exports.getSwapFromVUsdPoolInfo = exports.swapFromVUsd = exports.swapToVUsd = exports.calculatePoolInfoImbalance = exports.convertIntAmountToFloat = exports.convertFloatAmountToInt = exports.toPowBase10 = exports.convertAmountPrecision = exports.fromSystemPrecision = exports.toSystemPrecision = exports.getFeePercent = void 0;
6
+ exports.getFeePercent = getFeePercent;
7
+ exports.toSystemPrecision = toSystemPrecision;
8
+ exports.fromSystemPrecision = fromSystemPrecision;
9
+ exports.convertAmountPrecision = convertAmountPrecision;
10
+ exports.toPowBase10 = toPowBase10;
11
+ exports.convertFloatAmountToInt = convertFloatAmountToInt;
12
+ exports.convertIntAmountToFloat = convertIntAmountToFloat;
13
+ exports.calculatePoolInfoImbalance = calculatePoolInfoImbalance;
14
+ exports.swapToVUsd = swapToVUsd;
15
+ exports.swapFromVUsd = swapFromVUsd;
16
+ exports.getSwapFromVUsdPoolInfo = getSwapFromVUsdPoolInfo;
17
+ exports.swapToVUsdReverse = swapToVUsdReverse;
18
+ exports.swapFromVUsdReverse = swapFromVUsdReverse;
19
+ exports.getY = getY;
20
+ exports.getEarned = getEarned;
21
+ exports.aprInPercents = aprInPercents;
22
+ exports.getD = getD;
7
23
  const big_js_1 = require("big.js");
8
24
  const bn_js_1 = __importDefault(require("bn.js"));
9
25
  const exceptions_1 = require("../../exceptions");
@@ -11,28 +27,22 @@ const constants_1 = require("./constants");
11
27
  function getFeePercent(input, output) {
12
28
  return (0, big_js_1.Big)(100).minus((0, big_js_1.Big)(100).times(output).div(input)).toNumber();
13
29
  }
14
- exports.getFeePercent = getFeePercent;
15
30
  function toSystemPrecision(amount, decimals) {
16
31
  return convertAmountPrecision(amount, decimals, constants_1.SYSTEM_PRECISION).round(0, big_js_1.Big.roundDown);
17
32
  }
18
- exports.toSystemPrecision = toSystemPrecision;
19
33
  function fromSystemPrecision(amount, decimals) {
20
34
  return convertAmountPrecision(amount, constants_1.SYSTEM_PRECISION, decimals);
21
35
  }
22
- exports.fromSystemPrecision = fromSystemPrecision;
23
36
  function convertAmountPrecision(amount, decimalsFrom, decimalsTo) {
24
37
  const dif = (0, big_js_1.Big)(decimalsTo).minus(decimalsFrom).toNumber();
25
38
  return (0, big_js_1.Big)(amount).times(toPowBase10(dif));
26
39
  }
27
- exports.convertAmountPrecision = convertAmountPrecision;
28
40
  function toPowBase10(decimals) {
29
41
  return (0, big_js_1.Big)(10).pow(decimals);
30
42
  }
31
- exports.toPowBase10 = toPowBase10;
32
43
  function convertFloatAmountToInt(amountFloat, decimals) {
33
44
  return (0, big_js_1.Big)(amountFloat).times(toPowBase10(decimals));
34
45
  }
35
- exports.convertFloatAmountToInt = convertFloatAmountToInt;
36
46
  function convertIntAmountToFloat(amountInt, decimals) {
37
47
  const amountValue = (0, big_js_1.Big)(amountInt);
38
48
  if (amountValue.eq(0)) {
@@ -40,13 +50,11 @@ function convertIntAmountToFloat(amountInt, decimals) {
40
50
  }
41
51
  return (0, big_js_1.Big)(amountValue).div(toPowBase10(decimals));
42
52
  }
43
- exports.convertIntAmountToFloat = convertIntAmountToFloat;
44
53
  function calculatePoolInfoImbalance(poolInfo) {
45
54
  return convertIntAmountToFloat((0, big_js_1.Big)(poolInfo.tokenBalance).minus(poolInfo.vUsdBalance).toFixed(), constants_1.SYSTEM_PRECISION)
46
55
  .div(2)
47
56
  .toFixed();
48
57
  }
49
- exports.calculatePoolInfoImbalance = calculatePoolInfoImbalance;
50
58
  function swapToVUsd(amount, { feeShare, decimals }, poolInfo) {
51
59
  const amountValue = (0, big_js_1.Big)(amount);
52
60
  if (amountValue.lte(0)) {
@@ -59,7 +67,6 @@ function swapToVUsd(amount, { feeShare, decimals }, poolInfo) {
59
67
  const vUsdNewAmount = getY(tokenBalance, poolInfo.aValue, poolInfo.dValue);
60
68
  return (0, big_js_1.Big)(poolInfo.vUsdBalance).minus(vUsdNewAmount).round(0, big_js_1.Big.roundDown).toFixed();
61
69
  }
62
- exports.swapToVUsd = swapToVUsd;
63
70
  function swapFromVUsd(amount, { feeShare, decimals }, poolInfo) {
64
71
  const amountValue = (0, big_js_1.Big)(amount);
65
72
  if (amountValue.lte(0)) {
@@ -71,7 +78,6 @@ function swapFromVUsd(amount, { feeShare, decimals }, poolInfo) {
71
78
  const fee = (0, big_js_1.Big)(result).times(feeShare);
72
79
  return (0, big_js_1.Big)(result).minus(fee).round(0, big_js_1.Big.roundDown).toFixed();
73
80
  }
74
- exports.swapFromVUsd = swapFromVUsd;
75
81
  function getSwapFromVUsdPoolInfo(vUsdAmount, poolInfo) {
76
82
  const amountValue = (0, big_js_1.Big)(vUsdAmount);
77
83
  if (amountValue.lte(0)) {
@@ -86,7 +92,6 @@ function getSwapFromVUsdPoolInfo(vUsdAmount, poolInfo) {
86
92
  vUsdBalance: vUsdBalance.toFixed(0),
87
93
  };
88
94
  }
89
- exports.getSwapFromVUsdPoolInfo = getSwapFromVUsdPoolInfo;
90
95
  /**
91
96
  * @param amount - vUsd amount should be received
92
97
  * @param feeShare
@@ -108,7 +113,6 @@ function swapToVUsdReverse(amount, { feeShare, decimals }, poolInfo) {
108
113
  const fee = (0, big_js_1.Big)(amountWithoutFee).times(reversedFeeShare).round(0, big_js_1.Big.roundUp);
109
114
  return (0, big_js_1.Big)(amountWithoutFee).plus(fee).round(0, big_js_1.Big.roundDown);
110
115
  }
111
- exports.swapToVUsdReverse = swapToVUsdReverse;
112
116
  /**
113
117
  * @param amount - amount should be received
114
118
  * @param feeShare
@@ -130,7 +134,6 @@ function swapFromVUsdReverse(amount, { feeShare, decimals }, poolInfo) {
130
134
  const vUsdNewAmount = getY(tokenBalance, poolInfo.aValue, poolInfo.dValue);
131
135
  return (0, big_js_1.Big)(vUsdNewAmount).minus(poolInfo.vUsdBalance).round(0, big_js_1.Big.roundDown);
132
136
  }
133
- exports.swapFromVUsdReverse = swapFromVUsdReverse;
134
137
  // y = (sqrt(x(4ad³ + x (4a(d - x) - d )²)) + x (4a(d - x) - d ))/8ax
135
138
  // commonPart = 4a(d - x) - d
136
139
  // sqrt = sqrt(x * (4ad³ + x * commonPart²)
@@ -150,7 +153,6 @@ function getY(x, a, d) {
150
153
  }
151
154
  return result.plus(1); // +1 to offset rounding errors
152
155
  }
153
- exports.getY = getY;
154
156
  function getEarned(userLpAmount, userRewardDebt, accRewardPerShareP, p) {
155
157
  const userLpAmountBN = new bn_js_1.default(userLpAmount);
156
158
  const accRewardPerSharePBN = new bn_js_1.default(accRewardPerShareP);
@@ -158,11 +160,9 @@ function getEarned(userLpAmount, userRewardDebt, accRewardPerShareP, p) {
158
160
  const rewards = userLpAmountBN.mul(accRewardPerSharePBN).shrn(p);
159
161
  return rewards.sub(userRewardDebtBN).toString();
160
162
  }
161
- exports.getEarned = getEarned;
162
163
  function aprInPercents(apr) {
163
164
  return (0, big_js_1.Big)(apr).gt(0) ? `${Number((0, big_js_1.Big)(apr).times(100).toFixed(2)).toLocaleString()}%` : "N/A";
164
165
  }
165
- exports.aprInPercents = aprInPercents;
166
166
  // a = 8Axy(x+y)
167
167
  // b = xy(16A - 4) / 3
168
168
  // c = sqrt(a² + b³)
@@ -180,5 +180,4 @@ function getD(aValue, x, y) {
180
180
  const cbrtAMinusC = (0, big_js_1.Big)(Math.cbrt(+a.minus(c).toFixed()));
181
181
  return cbrtAPlusC.plus(cbrtAMinusC).toFixed();
182
182
  }
183
- exports.getD = getD;
184
183
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/calculation/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/calculation/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { Big, BigSource } from \"big.js\";\nimport BN from \"bn.js\";\nimport { InsufficientPoolLiquidityError } from \"../../exceptions\";\nimport { PoolInfo, Token } from \"../../tokens-info\";\nimport { SYSTEM_PRECISION } from \"./constants\";\n\nexport function getFeePercent(input: BigSource, output: BigSource): number {\n return Big(100).minus(Big(100).times(output).div(input)).toNumber();\n}\n\nexport function toSystemPrecision(amount: BigSource, decimals: number): Big {\n return convertAmountPrecision(amount, decimals, SYSTEM_PRECISION).round(0, Big.roundDown);\n}\n\nexport function fromSystemPrecision(amount: BigSource, decimals: number): Big {\n return convertAmountPrecision(amount, SYSTEM_PRECISION, decimals);\n}\n\nexport function convertAmountPrecision(amount: BigSource, decimalsFrom: number, decimalsTo: number): Big {\n const dif = Big(decimalsTo).minus(decimalsFrom).toNumber();\n return Big(amount).times(toPowBase10(dif));\n}\n\nexport function toPowBase10(decimals: number): Big {\n return Big(10).pow(decimals);\n}\n\nexport function convertFloatAmountToInt(amountFloat: BigSource, decimals: number): Big {\n return Big(amountFloat).times(toPowBase10(decimals));\n}\n\nexport function convertIntAmountToFloat(amountInt: BigSource, decimals: number): Big {\n const amountValue = Big(amountInt);\n if (amountValue.eq(0)) {\n return Big(0);\n }\n return Big(amountValue).div(toPowBase10(decimals));\n}\n\nexport function calculatePoolInfoImbalance(poolInfo: Pick<PoolInfo, \"tokenBalance\" | \"vUsdBalance\">): string {\n return convertIntAmountToFloat(Big(poolInfo.tokenBalance).minus(poolInfo.vUsdBalance).toFixed(), SYSTEM_PRECISION)\n .div(2)\n .toFixed();\n}\n\nexport function swapToVUsd(\n amount: BigSource,\n { feeShare, decimals }: Pick<Token, \"feeShare\" | \"decimals\">,\n poolInfo: Omit<PoolInfo, \"p\" | \"imbalance\">,\n): string {\n const amountValue = Big(amount);\n if (amountValue.lte(0)) {\n return \"0\";\n }\n const fee = amountValue.times(feeShare);\n const amountWithoutFee = amountValue.minus(fee);\n const inSystemPrecision = toSystemPrecision(amountWithoutFee, decimals);\n const tokenBalance = Big(poolInfo.tokenBalance).plus(inSystemPrecision);\n const vUsdNewAmount = getY(tokenBalance, poolInfo.aValue, poolInfo.dValue);\n return Big(poolInfo.vUsdBalance).minus(vUsdNewAmount).round(0, Big.roundDown).toFixed();\n}\n\nexport function swapFromVUsd(\n amount: BigSource,\n { feeShare, decimals }: Pick<Token, \"feeShare\" | \"decimals\">,\n poolInfo: Pick<PoolInfo, \"vUsdBalance\" | \"aValue\" | \"dValue\" | \"tokenBalance\">,\n): string {\n const amountValue = Big(amount);\n if (amountValue.lte(0)) {\n return Big(0).toFixed();\n }\n const vUsdBalance = amountValue.plus(poolInfo.vUsdBalance);\n const newAmount = getY(vUsdBalance, poolInfo.aValue, poolInfo.dValue);\n const result = fromSystemPrecision(Big(poolInfo.tokenBalance).minus(newAmount), decimals);\n const fee = Big(result).times(feeShare);\n return Big(result).minus(fee).round(0, Big.roundDown).toFixed();\n}\n\nexport function getSwapFromVUsdPoolInfo(\n vUsdAmount: BigSource,\n poolInfo: Omit<PoolInfo, \"imbalance\">,\n): Pick<PoolInfo, \"vUsdBalance\" | \"aValue\" | \"dValue\" | \"tokenBalance\"> {\n const amountValue = Big(vUsdAmount);\n if (amountValue.lte(0)) {\n return poolInfo;\n }\n const vUsdBalance = amountValue.plus(poolInfo.vUsdBalance);\n const newAmount = getY(vUsdBalance, poolInfo.aValue, poolInfo.dValue);\n return {\n aValue: poolInfo.aValue,\n dValue: poolInfo.dValue,\n tokenBalance: newAmount.toFixed(0),\n vUsdBalance: vUsdBalance.toFixed(0),\n };\n}\n\n/**\n * @param amount - vUsd amount should be received\n * @param feeShare\n * @param decimals\n * @param poolInfo\n */\nexport function swapToVUsdReverse(\n amount: BigSource,\n { feeShare, decimals }: Pick<Token, \"feeShare\" | \"decimals\">,\n poolInfo: Omit<PoolInfo, \"imbalance\">,\n): Big {\n if (Big(amount).lte(0)) {\n return Big(0);\n }\n const vUsdNewAmount = Big(poolInfo.vUsdBalance).minus(amount);\n if (vUsdNewAmount.lte(0)) {\n throw new InsufficientPoolLiquidityError();\n }\n const tokenBalance = getY(vUsdNewAmount, poolInfo.aValue, poolInfo.dValue);\n const inSystemPrecision = Big(tokenBalance).minus(poolInfo.tokenBalance);\n const amountWithoutFee = fromSystemPrecision(inSystemPrecision, decimals);\n const reversedFeeShare = Big(feeShare).div(Big(1).minus(feeShare));\n const fee = Big(amountWithoutFee).times(reversedFeeShare).round(0, Big.roundUp);\n return Big(amountWithoutFee).plus(fee).round(0, Big.roundDown);\n}\n\n/**\n * @param amount - amount should be received\n * @param feeShare\n * @param decimals\n * @param poolInfo\n */\nexport function swapFromVUsdReverse(\n amount: BigSource,\n { feeShare, decimals }: Pick<Token, \"feeShare\" | \"decimals\">,\n poolInfo: Omit<PoolInfo, \"imbalance\">,\n): Big {\n if (Big(amount).lte(0)) {\n return Big(0);\n }\n const reversedFeeShare = Big(feeShare).div(Big(1).minus(feeShare));\n const fee = Big(amount).times(reversedFeeShare).round(0, Big.roundUp);\n const amountWithFee = Big(amount).plus(fee);\n const inSystemPrecision = toSystemPrecision(amountWithFee, decimals);\n const tokenBalance = Big(poolInfo.tokenBalance).minus(inSystemPrecision);\n if (tokenBalance.lte(0)) {\n throw new InsufficientPoolLiquidityError();\n }\n const vUsdNewAmount = getY(tokenBalance, poolInfo.aValue, poolInfo.dValue);\n return Big(vUsdNewAmount).minus(poolInfo.vUsdBalance).round(0, Big.roundDown);\n}\n\n// y = (sqrt(x(4ad³ + x (4a(d - x) - d )²)) + x (4a(d - x) - d ))/8ax\n// commonPart = 4a(d - x) - d\n// sqrt = sqrt(x * (4ad³ + x * commonPart²)\n// y = (sqrt + x * commonPart) / divider\nexport function getY(x: BigSource, a: BigSource, d: BigSource): Big {\n const commonPartBig = Big(4).times(a).times(Big(d).minus(x)).minus(d);\n const dCubed = Big(d).pow(3);\n const commonPartSquared = commonPartBig.pow(2);\n const sqrtBig = Big(x)\n .times(Big(x).times(commonPartSquared).plus(Big(4).times(a).times(dCubed)))\n .sqrt()\n .round(0, Big.roundDown);\n const dividerBig = Big(8).times(a).times(x);\n const result = commonPartBig.times(x).plus(sqrtBig).div(dividerBig).round(0, Big.roundDown);\n if (result.eq(0)) {\n return Big(0);\n }\n return result.plus(1); // +1 to offset rounding errors\n}\n\nexport function getEarned(userLpAmount: string, userRewardDebt: string, accRewardPerShareP: string, p: number): string {\n const userLpAmountBN = new BN(userLpAmount);\n const accRewardPerSharePBN = new BN(accRewardPerShareP);\n const userRewardDebtBN = new BN(userRewardDebt);\n const rewards = userLpAmountBN.mul(accRewardPerSharePBN).shrn(p);\n return rewards.sub(userRewardDebtBN).toString();\n}\n\nexport function aprInPercents(apr: string): string {\n return Big(apr).gt(0) ? `${Number(Big(apr).times(100).toFixed(2)).toLocaleString()}%` : \"N/A\";\n}\n\n// a = 8Axy(x+y)\n// b = xy(16A - 4) / 3\n// c = sqrt(a² + b³)\n// D = cbrt(a + c) + cbrt(a - c)\nexport function getD(aValue: string, x: string, y: string): string {\n const xy = Big(x).times(y);\n const xPlusY = Big(x).plus(y);\n const a = Big(8).times(aValue).times(xy).times(xPlusY);\n const b = xy.times(Big(16).times(aValue).minus(4)).div(3);\n const aSquared = a.times(a);\n const bCubed = b.times(b).times(b);\n const a2b3 = aSquared.plus(bCubed);\n const c = Big(a2b3).sqrt();\n const cbrtAPlusC = Big(Math.cbrt(+a.plus(c).toFixed()));\n const cbrtAMinusC = Big(Math.cbrt(+a.minus(c).toFixed()));\n return cbrtAPlusC.plus(cbrtAMinusC).toFixed();\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getSendAmountDetails = void 0;
3
+ exports.getSendAmountDetails = getSendAmountDetails;
4
4
  const big_js_1 = require("big.js");
5
5
  const index_1 = require("./index");
6
6
  function getSendAmountDetails(amountInTokenPrecision, sourceToken, sourcePool, destToken, destPool) {
@@ -32,5 +32,4 @@ function getSendAmountDetails(amountInTokenPrecision, sourceToken, sourcePool, d
32
32
  },
33
33
  };
34
34
  }
35
- exports.getSendAmountDetails = getSendAmountDetails;
36
35
  //# sourceMappingURL=swap-and-bridge-details.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"swap-and-bridge-details.js","sourceRoot":"","sources":["../../../../src/utils/calculation/swap-and-bridge-details.ts"],"names":[],"mappings":";;;AAAA,mCAA6B;AAE7B,mCAAiG;AAYjG,SAAgB,oBAAoB,CAClC,sBAA8B,EAC9B,WAAkC,EAClC,UAAoB,EACpB,SAAgC,EAChC,QAAkB;IAElB,MAAM,IAAI,GAAG,IAAA,kBAAU,EAAC,sBAAsB,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IACzE,MAAM,oBAAoB,GAAG,IAAA,2BAAmB,EAAC,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,IAAA,oBAAY,EAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAEvD,MAAM,YAAY,GAAG,IAAA,YAAG,EAAC,sBAAsB,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC7E,MAAM,cAAc,GAAG,IAAA,YAAG,EAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAA,YAAG,EAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACvF,OAAO;QACL,YAAY,EAAE;YACZ,GAAG,EAAE,IAAA,+BAAuB,EAAC,YAAY,EAAE,WAAW,CAAC,QAAQ,CAAC;iBAC7D,GAAG,EAAE;iBACL,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,YAAG,CAAC,OAAO,CAAC;iBACxC,OAAO,EAAE;YACZ,IAAI,EAAE,IAAA,+BAAuB,EAC3B,IAAA,YAAG,EAAC,sBAAsB,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,EAC3E,WAAW,CAAC,QAAQ,CACrB;iBACE,GAAG,EAAE;iBACL,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,YAAG,CAAC,OAAO,CAAC;iBACxC,OAAO,EAAE;SACb;QACD,UAAU,EAAE;YACV,GAAG,EAAE,IAAA,+BAAuB,EAAC,cAAc,EAAE,SAAS,CAAC,QAAQ,CAAC;iBAC7D,GAAG,EAAE;iBACL,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,YAAG,CAAC,OAAO,CAAC;iBACtC,OAAO,EAAE;YACZ,IAAI,EAAE,IAAA,+BAAuB,EAC3B,IAAA,2BAAmB,EAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,EACjF,SAAS,CAAC,QAAQ,CACnB;iBACE,GAAG,EAAE;iBACL,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,YAAG,CAAC,OAAO,CAAC;iBACtC,OAAO,EAAE;SACb;KACF,CAAC;AACJ,CAAC;AAzCD,oDAyCC"}
1
+ {"version":3,"file":"swap-and-bridge-details.js","sourceRoot":"","sources":["../../../../src/utils/calculation/swap-and-bridge-details.ts"],"names":[],"mappings":";;AAcA,oDAyCC;AAvDD,mCAA6B;AAE7B,mCAAiG;AAYjG,SAAgB,oBAAoB,CAClC,sBAA8B,EAC9B,WAAkC,EAClC,UAAoB,EACpB,SAAgC,EAChC,QAAkB;IAElB,MAAM,IAAI,GAAG,IAAA,kBAAU,EAAC,sBAAsB,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IACzE,MAAM,oBAAoB,GAAG,IAAA,2BAAmB,EAAC,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,IAAA,oBAAY,EAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAEvD,MAAM,YAAY,GAAG,IAAA,YAAG,EAAC,sBAAsB,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC7E,MAAM,cAAc,GAAG,IAAA,YAAG,EAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAA,YAAG,EAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACvF,OAAO;QACL,YAAY,EAAE;YACZ,GAAG,EAAE,IAAA,+BAAuB,EAAC,YAAY,EAAE,WAAW,CAAC,QAAQ,CAAC;iBAC7D,GAAG,EAAE;iBACL,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,YAAG,CAAC,OAAO,CAAC;iBACxC,OAAO,EAAE;YACZ,IAAI,EAAE,IAAA,+BAAuB,EAC3B,IAAA,YAAG,EAAC,sBAAsB,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,EAC3E,WAAW,CAAC,QAAQ,CACrB;iBACE,GAAG,EAAE;iBACL,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,YAAG,CAAC,OAAO,CAAC;iBACxC,OAAO,EAAE;SACb;QACD,UAAU,EAAE;YACV,GAAG,EAAE,IAAA,+BAAuB,EAAC,cAAc,EAAE,SAAS,CAAC,QAAQ,CAAC;iBAC7D,GAAG,EAAE;iBACL,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,YAAG,CAAC,OAAO,CAAC;iBACtC,OAAO,EAAE;YACZ,IAAI,EAAE,IAAA,+BAAuB,EAC3B,IAAA,2BAAmB,EAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,EACjF,SAAS,CAAC,QAAQ,CACnB;iBACE,GAAG,EAAE;iBACL,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,YAAG,CAAC,OAAO,CAAC;iBACtC,OAAO,EAAE;SACb;KACF,CAAC;AACJ,CAAC","sourcesContent":["import { Big } from \"big.js\";\nimport { PoolInfo, TokenWithChainDetails } from \"../../tokens-info\";\nimport { convertIntAmountToFloat, fromSystemPrecision, swapFromVUsd, swapToVUsd } from \"./index\";\n\nexport interface SendAmountDetails {\n sourceLPSwap: AmountImpact;\n destLPSwap: AmountImpact;\n}\n\nexport interface AmountImpact {\n fee: string;\n swap: string;\n}\n\nexport function getSendAmountDetails(\n amountInTokenPrecision: string,\n sourceToken: TokenWithChainDetails,\n sourcePool: PoolInfo,\n destToken: TokenWithChainDetails,\n destPool: PoolInfo,\n): SendAmountDetails {\n const vUsd = swapToVUsd(amountInTokenPrecision, sourceToken, sourcePool);\n const vUsdInTokenPrecision = fromSystemPrecision(vUsd, sourceToken.decimals);\n const result = swapFromVUsd(vUsd, destToken, destPool);\n\n const swapToFeeInt = Big(amountInTokenPrecision).times(sourceToken.feeShare);\n const swapFromFeeInt = Big(result).div(Big(1).minus(destToken.feeShare)).minus(result);\n return {\n sourceLPSwap: {\n fee: convertIntAmountToFloat(swapToFeeInt, sourceToken.decimals)\n .neg()\n .round(sourceToken.decimals, Big.roundUp)\n .toFixed(),\n swap: convertIntAmountToFloat(\n Big(amountInTokenPrecision).minus(vUsdInTokenPrecision).minus(swapToFeeInt),\n sourceToken.decimals,\n )\n .neg()\n .round(sourceToken.decimals, Big.roundUp)\n .toFixed(),\n },\n destLPSwap: {\n fee: convertIntAmountToFloat(swapFromFeeInt, destToken.decimals)\n .neg()\n .round(destToken.decimals, Big.roundUp)\n .toFixed(),\n swap: convertIntAmountToFloat(\n fromSystemPrecision(vUsd, destToken.decimals).minus(result).minus(swapFromFeeInt),\n destToken.decimals,\n )\n .neg()\n .round(destToken.decimals, Big.roundUp)\n .toFixed(),\n },\n };\n}\n"]}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.swapAndBridgeFeeCalculationReverse = exports.swapAndBridgeFeeCalculation = void 0;
3
+ exports.swapAndBridgeFeeCalculation = swapAndBridgeFeeCalculation;
4
+ exports.swapAndBridgeFeeCalculationReverse = swapAndBridgeFeeCalculationReverse;
4
5
  const big_js_1 = require("big.js");
5
6
  const index_1 = require("./index");
6
7
  function swapAndBridgeFeeCalculation(amountInTokenPrecision, sourcePoolInfo, destinationPoolInfo) {
@@ -8,7 +9,6 @@ function swapAndBridgeFeeCalculation(amountInTokenPrecision, sourcePoolInfo, des
8
9
  const swapFromVUsdCalcResult = swapFromVUsd(swapToVUsdCalcResult.amountIncludingCommissionInSystemPrecision, { decimals: destinationPoolInfo.decimals, feeShare: destinationPoolInfo.feeShare }, destinationPoolInfo.poolInfo);
9
10
  return { swapToVUsdCalcResult, swapFromVUsdCalcResult };
10
11
  }
11
- exports.swapAndBridgeFeeCalculation = swapAndBridgeFeeCalculation;
12
12
  function swapAndBridgeFeeCalculationReverse(amountInTokenPrecision, sourcePoolInfo, destinationPoolInfo) {
13
13
  const swapToVUsdCalcResult = swapToVUsdReverse(amountInTokenPrecision, { decimals: destinationPoolInfo.decimals, feeShare: destinationPoolInfo.feeShare }, destinationPoolInfo.poolInfo);
14
14
  const swapFromVUsdCalcResult = swapFromVUsdReverse(swapToVUsdCalcResult.amountIncludingCommissionInSystemPrecision, { decimals: sourcePoolInfo.decimals, feeShare: sourcePoolInfo.feeShare }, sourcePoolInfo.poolInfo);
@@ -17,7 +17,6 @@ function swapAndBridgeFeeCalculationReverse(amountInTokenPrecision, sourcePoolIn
17
17
  swapFromVUsdCalcResult,
18
18
  };
19
19
  }
20
- exports.swapAndBridgeFeeCalculationReverse = swapAndBridgeFeeCalculationReverse;
21
20
  function swapToVUsd(amount, { feeShare, decimals }, poolInfo) {
22
21
  const amountValue = (0, big_js_1.Big)(amount);
23
22
  const fee = amountValue.times(feeShare);
@@ -1 +1 @@
1
- {"version":3,"file":"swap-and-bridge-fee-calc.js","sourceRoot":"","sources":["../../../../src/utils/calculation/swap-and-bridge-fee-calc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"swap-and-bridge-fee-calc.js","sourceRoot":"","sources":["../../../../src/utils/calculation/swap-and-bridge-fee-calc.ts"],"names":[],"mappings":"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","sourcesContent":["import { Big, BigSource } from \"big.js\";\nimport { PoolInfo, Token } from \"../../tokens-info\";\nimport { fromSystemPrecision, getY, toSystemPrecision } from \"./index\";\n\nexport interface SwapPoolInfo {\n decimals: number;\n feeShare: string;\n poolInfo: PoolInfo;\n}\n\nexport interface SwapAndBridgeCalculationData {\n swapToVUsdCalcResult: SwapToVUsdCalcResult;\n swapFromVUsdCalcResult: SwapFromVUsdCalcResult;\n}\n\nexport interface SwapToVUsdCalcResult {\n bridgeFeeInTokenPrecision: string;\n amountIncludingCommissionInSystemPrecision: string;\n amountExcludingCommissionInSystemPrecision: string;\n}\nexport interface SwapFromVUsdCalcResult {\n bridgeFeeInTokenPrecision: string;\n amountIncludingCommissionInTokenPrecision: string;\n amountExcludingCommissionInTokenPrecision: string;\n}\n\nexport function swapAndBridgeFeeCalculation(\n amountInTokenPrecision: string,\n sourcePoolInfo: SwapPoolInfo,\n destinationPoolInfo: SwapPoolInfo,\n): SwapAndBridgeCalculationData {\n const swapToVUsdCalcResult = swapToVUsd(\n amountInTokenPrecision,\n { decimals: sourcePoolInfo.decimals, feeShare: sourcePoolInfo.feeShare },\n sourcePoolInfo.poolInfo,\n );\n const swapFromVUsdCalcResult = swapFromVUsd(\n swapToVUsdCalcResult.amountIncludingCommissionInSystemPrecision,\n { decimals: destinationPoolInfo.decimals, feeShare: destinationPoolInfo.feeShare },\n destinationPoolInfo.poolInfo,\n );\n return { swapToVUsdCalcResult, swapFromVUsdCalcResult };\n}\n\nexport function swapAndBridgeFeeCalculationReverse(\n amountInTokenPrecision: string,\n sourcePoolInfo: SwapPoolInfo,\n destinationPoolInfo: SwapPoolInfo,\n): SwapAndBridgeCalculationData {\n const swapToVUsdCalcResult = swapToVUsdReverse(\n amountInTokenPrecision,\n { decimals: destinationPoolInfo.decimals, feeShare: destinationPoolInfo.feeShare },\n destinationPoolInfo.poolInfo,\n );\n const swapFromVUsdCalcResult = swapFromVUsdReverse(\n swapToVUsdCalcResult.amountIncludingCommissionInSystemPrecision,\n { decimals: sourcePoolInfo.decimals, feeShare: sourcePoolInfo.feeShare },\n sourcePoolInfo.poolInfo,\n );\n return {\n swapToVUsdCalcResult,\n swapFromVUsdCalcResult,\n };\n}\n\nfunction swapToVUsd(\n amount: BigSource,\n { feeShare, decimals }: Pick<Token, \"feeShare\" | \"decimals\">,\n poolInfo: Omit<PoolInfo, \"p\" | \"imbalance\">,\n): SwapToVUsdCalcResult {\n const amountValue = Big(amount);\n const fee = amountValue.times(feeShare);\n const amountWithoutFee = amountValue.minus(fee);\n return {\n bridgeFeeInTokenPrecision: fee.round().toFixed(),\n amountIncludingCommissionInSystemPrecision: calcSwapToVUsd(toSystemPrecision(amountWithoutFee, decimals), poolInfo),\n amountExcludingCommissionInSystemPrecision: calcSwapToVUsd(toSystemPrecision(amountValue, decimals), poolInfo),\n };\n}\n\nfunction calcSwapToVUsd(amountInSystemPrecision: Big, poolInfo: Omit<PoolInfo, \"p\" | \"imbalance\">): string {\n if (amountInSystemPrecision.eq(0)) {\n return \"0\";\n }\n const tokenBalance = Big(poolInfo.tokenBalance).plus(amountInSystemPrecision);\n const vUsdNewAmount = getY(tokenBalance.toFixed(), poolInfo.aValue, poolInfo.dValue);\n return Big(poolInfo.vUsdBalance).minus(vUsdNewAmount).round().toFixed();\n}\n\nfunction swapFromVUsd(\n amount: BigSource,\n { feeShare, decimals }: Pick<Token, \"feeShare\" | \"decimals\">,\n poolInfo: Omit<PoolInfo, \"imbalance\">,\n): SwapFromVUsdCalcResult {\n if (Big(amount).eq(0)) {\n return {\n bridgeFeeInTokenPrecision: \"0\",\n amountIncludingCommissionInTokenPrecision: \"0\",\n amountExcludingCommissionInTokenPrecision: \"0\",\n };\n }\n const amountValue = Big(amount);\n const vUsdBalance = amountValue.plus(poolInfo.vUsdBalance);\n const newAmount = getY(vUsdBalance, poolInfo.aValue, poolInfo.dValue);\n const result = fromSystemPrecision(Big(poolInfo.tokenBalance).minus(newAmount), decimals);\n const fee = Big(result).times(feeShare);\n const resultWithoutFee = Big(result).minus(fee).round();\n return {\n bridgeFeeInTokenPrecision: fee.round().toFixed(),\n amountIncludingCommissionInTokenPrecision: resultWithoutFee.toFixed(),\n amountExcludingCommissionInTokenPrecision: result.toFixed(),\n };\n}\n\nfunction swapToVUsdReverse(\n amountInTokenPrecision: BigSource,\n { feeShare, decimals }: Pick<Token, \"feeShare\" | \"decimals\">,\n poolInfo: PoolInfo,\n): SwapToVUsdCalcResult {\n const reversedFeeShare = Big(feeShare).div(Big(1).minus(feeShare));\n const fee = Big(amountInTokenPrecision).times(reversedFeeShare);\n const amountWithFee = Big(amountInTokenPrecision).plus(fee);\n return {\n bridgeFeeInTokenPrecision: fee.round().toFixed(),\n amountIncludingCommissionInSystemPrecision: calcSwapToVUsdReverse(\n toSystemPrecision(amountWithFee, decimals),\n poolInfo,\n ),\n amountExcludingCommissionInSystemPrecision: calcSwapToVUsdReverse(\n toSystemPrecision(amountInTokenPrecision, decimals),\n poolInfo,\n ),\n };\n}\n\nfunction calcSwapToVUsdReverse(amountInSystemPrecision: Big, poolInfo: PoolInfo): string {\n const tokenBalance = Big(poolInfo.tokenBalance).minus(amountInSystemPrecision);\n const vUsdNewAmount = getY(tokenBalance.toFixed(), poolInfo.aValue, poolInfo.dValue);\n return Big(vUsdNewAmount).minus(poolInfo.vUsdBalance).round().toFixed();\n}\n\nfunction swapFromVUsdReverse(\n amountInSystemPrecision: BigSource,\n { feeShare, decimals }: Pick<Token, \"feeShare\" | \"decimals\">,\n poolInfo: PoolInfo,\n): SwapFromVUsdCalcResult {\n if (Big(amountInSystemPrecision).eq(0)) {\n return {\n bridgeFeeInTokenPrecision: \"0\",\n amountIncludingCommissionInTokenPrecision: \"0\",\n amountExcludingCommissionInTokenPrecision: \"0\",\n };\n }\n const vUsdNewAmount = Big(poolInfo.vUsdBalance).minus(amountInSystemPrecision);\n const tokenBalance = getY(vUsdNewAmount.toFixed(), poolInfo.aValue, poolInfo.dValue);\n const inSystemPrecision = Big(tokenBalance).minus(poolInfo.tokenBalance);\n const amountWithoutFee = fromSystemPrecision(inSystemPrecision.toFixed(), decimals);\n const reversedFeeShare = Big(feeShare).div(Big(1).minus(feeShare));\n const fee = Big(amountWithoutFee).times(reversedFeeShare);\n const amount = Big(amountWithoutFee).plus(fee);\n return {\n bridgeFeeInTokenPrecision: fee.round().toFixed(),\n amountIncludingCommissionInTokenPrecision: amount.round().toFixed(),\n amountExcludingCommissionInTokenPrecision: amountWithoutFee.toFixed(),\n };\n}\n"]}
@@ -4,6 +4,9 @@ exports.DefaultUtils = void 0;
4
4
  const sol_1 = require("./sol");
5
5
  const srb_1 = require("./srb");
6
6
  class DefaultUtils {
7
+ nodeRpcUrlsConfig;
8
+ srb;
9
+ sol;
7
10
  constructor(nodeRpcUrlsConfig, params) {
8
11
  this.nodeRpcUrlsConfig = nodeRpcUrlsConfig;
9
12
  this.srb = new srb_1.DefaultSrbUtils(nodeRpcUrlsConfig, params);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;AAEA,+BAAkD;AAClD,+BAAkD;AAUlD,MAAa,YAAY;IAIvB,YAAqB,iBAAoC,EAAE,MAA+B;QAArE,sBAAiB,GAAjB,iBAAiB,CAAmB;QACvD,IAAI,CAAC,GAAG,GAAG,IAAI,qBAAe,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;QAC1D,IAAI,CAAC,GAAG,GAAG,IAAI,qBAAe,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;IAC5D,CAAC;CACF;AARD,oCAQC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;AAEA,+BAAkD;AAClD,+BAAkD;AAUlD,MAAa,YAAY;IAKZ;IAJX,GAAG,CAAW;IACd,GAAG,CAAW;IAEd,YACW,iBAAoC,EAC7C,MAA+B;QADtB,sBAAiB,GAAjB,iBAAiB,CAAmB;QAG7C,IAAI,CAAC,GAAG,GAAG,IAAI,qBAAe,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;QAC1D,IAAI,CAAC,GAAG,GAAG,IAAI,qBAAe,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;IAC5D,CAAC;CACF;AAXD,oCAWC","sourcesContent":["import { AllbridgeCoreSdkOptions } from \"../index\";\nimport { NodeRpcUrlsConfig } from \"../services\";\nimport { DefaultSolUtils, SolUtils } from \"./sol\";\nimport { DefaultSrbUtils, SrbUtils } from \"./srb\";\n\n/**\n * Contains usefully methods\n */\nexport interface Utils {\n srb: SrbUtils;\n sol: SolUtils;\n}\n\nexport class DefaultUtils implements Utils {\n srb: SrbUtils;\n sol: SolUtils;\n\n constructor(\n readonly nodeRpcUrlsConfig: NodeRpcUrlsConfig,\n params: AllbridgeCoreSdkOptions,\n ) {\n this.srb = new DefaultSrbUtils(nodeRpcUrlsConfig, params);\n this.sol = new DefaultSolUtils(nodeRpcUrlsConfig, params);\n }\n}\n"]}
@@ -6,6 +6,8 @@ const chain_enums_1 = require("../../chains/chain.enums");
6
6
  const index_1 = require("../../index");
7
7
  const utils_1 = require("./utils");
8
8
  class DefaultSolUtils {
9
+ nodeRpcUrlsConfig;
10
+ params;
9
11
  constructor(nodeRpcUrlsConfig, params) {
10
12
  this.nodeRpcUrlsConfig = nodeRpcUrlsConfig;
11
13
  this.params = params;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/sol/index.ts"],"names":[],"mappings":";;;AAAA,6CAAkG;AAClG,0DAAuD;AACvD,uCAAgE;AAEhE,mCAAgE;AAchE,MAAa,eAAe;IAC1B,YAAqB,iBAAoC,EAAW,MAA+B;QAA9E,sBAAiB,GAAjB,iBAAiB,CAAmB;QAAW,WAAM,GAAN,MAAM,CAAyB;IAAG,CAAC;IAEvG,KAAK,CAAC,WAAW,CAAC,WAAiC,EAAE,IAAY;QAC/D,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE;YACpB,MAAM,IAAI,gBAAQ,CAAC,iEAAiE,CAAC,CAAC;SACvF;QACD,MAAM,UAAU,GAAG,IAAI,oBAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,yBAAW,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC;QACtG,MAAM,0BAA0B,GAAG,MAAM,IAAA,6CAAqC,EAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACxG,MAAM,OAAO,GAAG,4BAAkB,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE;YAChE,0BAA0B,EAAE,0BAA0B;SACvD,CAAC,CAAC;QACH,MAAM,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC9E,IAAI,CAAC,eAAe,EAAE,IAAI,EAAE;YAC1B,MAAM,IAAI,gBAAQ,CAAC,2CAA2C,CAAC,CAAC;SACjE;QAED,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;YACxB,MAAM,EAAE,IAAI,mBAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;QACH,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,CAAC;IAC/E,CAAC;CACF;AAxBD,0CAwBC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/sol/index.ts"],"names":[],"mappings":";;;AAAA,6CAAkG;AAClG,0DAAuD;AACvD,uCAAgE;AAEhE,mCAAgE;AAchE,MAAa,eAAe;IAEf;IACA;IAFX,YACW,iBAAoC,EACpC,MAA+B;QAD/B,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,WAAM,GAAN,MAAM,CAAyB;IACvC,CAAC;IAEJ,KAAK,CAAC,WAAW,CAAC,WAAiC,EAAE,IAAY;QAC/D,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YACrB,MAAM,IAAI,gBAAQ,CAAC,iEAAiE,CAAC,CAAC;QACxF,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,oBAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,yBAAW,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC;QACtG,MAAM,0BAA0B,GAAG,MAAM,IAAA,6CAAqC,EAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACxG,MAAM,OAAO,GAAG,4BAAkB,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE;YAChE,0BAA0B,EAAE,0BAA0B;SACvD,CAAC,CAAC;QACH,MAAM,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC9E,IAAI,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC;YAC3B,MAAM,IAAI,gBAAQ,CAAC,2CAA2C,CAAC,CAAC;QAClE,CAAC;QAED,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;YACxB,MAAM,EAAE,IAAI,mBAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;QACH,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,CAAC;IAC/E,CAAC;CACF;AA3BD,0CA2BC","sourcesContent":["import { Connection, PublicKey, TransactionMessage, VersionedTransaction } from \"@solana/web3.js\";\nimport { ChainSymbol } from \"../../chains/chain.enums\";\nimport { AllbridgeCoreSdkOptions, SdkError } from \"../../index\";\nimport { NodeRpcUrlsConfig } from \"../../services\";\nimport { fetchAddressLookupTableAccountsFromTx } from \"./utils\";\n\n/**\n * Contains usefully Solana methods\n */\nexport interface SolUtils {\n /**\n * Add memo to solana's transaction\n * @param transaction transaction to add memo\n * @param memo memo to add (28 char max)\n */\n addMemoToTx(transaction: VersionedTransaction, memo: string): Promise<void>;\n}\n\nexport class DefaultSolUtils implements SolUtils {\n constructor(\n readonly nodeRpcUrlsConfig: NodeRpcUrlsConfig,\n readonly params: AllbridgeCoreSdkOptions,\n ) {}\n\n async addMemoToTx(transaction: VersionedTransaction, memo: string): Promise<void> {\n if (memo.length > 28) {\n throw new SdkError(\"InvalidArgumentException memo cannot be more than 28 characters\");\n }\n const connection = new Connection(this.nodeRpcUrlsConfig.getNodeRpcUrl(ChainSymbol.SOL), \"confirmed\");\n const addressLookupTableAccounts = await fetchAddressLookupTableAccountsFromTx(transaction, connection);\n const message = TransactionMessage.decompile(transaction.message, {\n addressLookupTableAccounts: addressLookupTableAccounts,\n });\n const lastInstruction = message.instructions[message.instructions.length - 1];\n if (!lastInstruction?.keys) {\n throw new SdkError(\"Last instruction or its keys are invalid.\");\n }\n\n lastInstruction.keys.push({\n pubkey: new PublicKey(Buffer.from(memo)),\n isSigner: false,\n isWritable: false,\n });\n transaction.message = message.compileToV0Message(addressLookupTableAccounts);\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fetchAddressLookupTableAccountsFromTx = void 0;
3
+ exports.fetchAddressLookupTableAccountsFromTx = fetchAddressLookupTableAccountsFromTx;
4
4
  const web3_js_1 = require("@solana/web3.js");
5
5
  const exceptions_1 = require("../../exceptions");
6
6
  async function fetchAddressLookupTableAccountsFromTx(transaction, connection) {
@@ -16,5 +16,4 @@ async function fetchAddressLookupTableAccountsFromTx(transaction, connection) {
16
16
  });
17
17
  }));
18
18
  }
19
- exports.fetchAddressLookupTableAccountsFromTx = fetchAddressLookupTableAccountsFromTx;
20
19
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/utils/sol/utils.ts"],"names":[],"mappings":";;;AAAA,6CAA8F;AAC9F,iDAA4C;AAErC,KAAK,UAAU,qCAAqC,CACzD,WAAiC,EACjC,UAAsB;IAEtB,OAAO,MAAM,OAAO,CAAC,GAAG,CACtB,WAAW,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC3D,OAAO,IAAI,mCAAyB,CAAC;YACnC,GAAG,EAAE,MAAM,CAAC,UAAU;YACtB,KAAK,EAAE,mCAAyB,CAAC,WAAW,CAC1C,MAAM,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC9D,IAAI,CAAC,GAAG,EAAE;oBACR,MAAM,IAAI,qBAAQ,CAAC,wBAAwB,CAAC,CAAC;iBAC9C;gBACD,OAAO,GAAG,CAAC,IAAI,CAAC;YAClB,CAAC,CAAC,CACH;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAnBD,sFAmBC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/utils/sol/utils.ts"],"names":[],"mappings":";;AAGA,sFAmBC;AAtBD,6CAA8F;AAC9F,iDAA4C;AAErC,KAAK,UAAU,qCAAqC,CACzD,WAAiC,EACjC,UAAsB;IAEtB,OAAO,MAAM,OAAO,CAAC,GAAG,CACtB,WAAW,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC3D,OAAO,IAAI,mCAAyB,CAAC;YACnC,GAAG,EAAE,MAAM,CAAC,UAAU;YACtB,KAAK,EAAE,mCAAyB,CAAC,WAAW,CAC1C,MAAM,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC9D,IAAI,CAAC,GAAG,EAAE,CAAC;oBACT,MAAM,IAAI,qBAAQ,CAAC,wBAAwB,CAAC,CAAC;gBAC/C,CAAC;gBACD,OAAO,GAAG,CAAC,IAAI,CAAC;YAClB,CAAC,CAAC,CACH;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CACH,CAAC;AACJ,CAAC","sourcesContent":["import { AddressLookupTableAccount, Connection, VersionedTransaction } from \"@solana/web3.js\";\nimport { SdkError } from \"../../exceptions\";\n\nexport async function fetchAddressLookupTableAccountsFromTx(\n transaction: VersionedTransaction,\n connection: Connection,\n): Promise<AddressLookupTableAccount[]> {\n return await Promise.all(\n transaction.message.addressTableLookups.map(async (lookup) => {\n return new AddressLookupTableAccount({\n key: lookup.accountKey,\n state: AddressLookupTableAccount.deserialize(\n await connection.getAccountInfo(lookup.accountKey).then((res) => {\n if (!res) {\n throw new SdkError(\"Cannot get AccountInfo\");\n }\n return res.data;\n }),\n ),\n });\n }),\n );\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { Horizon, SorobanRpc } from "@stellar/stellar-sdk";
1
+ import { Horizon, rpc as SorobanRpc } from "@stellar/stellar-sdk";
2
2
  import { AllbridgeCoreSdkOptions } from "../../index";
3
3
  import { NodeRpcUrlsConfig } from "../../services";
4
4
  /**
@@ -9,6 +9,8 @@ const utils_1 = require("../utils");
9
9
  const FEE = 100;
10
10
  const SEND_TRANSACTION_TIMEOUT = 180;
11
11
  class DefaultSrbUtils {
12
+ nodeRpcUrlsConfig;
13
+ params;
12
14
  constructor(nodeRpcUrlsConfig, params) {
13
15
  this.nodeRpcUrlsConfig = nodeRpcUrlsConfig;
14
16
  this.params = params;
@@ -54,11 +56,11 @@ class DefaultSrbUtils {
54
56
  return await stellar.submitTransaction(transaction);
55
57
  }
56
58
  async simulateAndCheckRestoreTxRequiredSoroban(xdrTx, sourceAccount) {
57
- const server = new stellar_sdk_1.SorobanRpc.Server(this.nodeRpcUrlsConfig.getNodeRpcUrl(chain_enums_1.ChainSymbol.SRB));
59
+ const server = new stellar_sdk_1.rpc.Server(this.nodeRpcUrlsConfig.getNodeRpcUrl(chain_enums_1.ChainSymbol.SRB));
58
60
  const account = await server.getAccount(sourceAccount);
59
61
  const transaction = stellar_sdk_1.TransactionBuilder.fromXDR(xdrTx, this.params.sorobanNetworkPassphrase);
60
62
  const simulation = await server.simulateTransaction(transaction);
61
- if (stellar_sdk_1.SorobanRpc.Api.isSimulationRestore(simulation)) {
63
+ if (stellar_sdk_1.rpc.Api.isSimulationRestore(simulation)) {
62
64
  return new stellar_sdk_1.TransactionBuilder(account, {
63
65
  fee: (+stellar_sdk_1.BASE_FEE + +simulation.restorePreamble.minResourceFee).toString(),
64
66
  networkPassphrase: this.params.sorobanNetworkPassphrase,
@@ -72,13 +74,13 @@ class DefaultSrbUtils {
72
74
  return undefined;
73
75
  }
74
76
  async sendTransactionSoroban(xdrTx) {
75
- const server = new stellar_sdk_1.SorobanRpc.Server(this.nodeRpcUrlsConfig.getNodeRpcUrl(chain_enums_1.ChainSymbol.SRB));
77
+ const server = new stellar_sdk_1.rpc.Server(this.nodeRpcUrlsConfig.getNodeRpcUrl(chain_enums_1.ChainSymbol.SRB));
76
78
  const transaction = stellar_sdk_1.TransactionBuilder.fromXDR(xdrTx, this.params.sorobanNetworkPassphrase);
77
79
  return server.sendTransaction(transaction);
78
80
  }
79
81
  async confirmTx(hash, secondsToWait = 15) {
80
- const server = new stellar_sdk_1.SorobanRpc.Server(this.nodeRpcUrlsConfig.getNodeRpcUrl(chain_enums_1.ChainSymbol.SRB));
81
- const getTransactionResponseAll = await (0, utils_1.withExponentialBackoff)(() => server.getTransaction(hash), (resp) => resp.status === stellar_sdk_1.SorobanRpc.Api.GetTransactionStatus.NOT_FOUND, secondsToWait);
82
+ const server = new stellar_sdk_1.rpc.Server(this.nodeRpcUrlsConfig.getNodeRpcUrl(chain_enums_1.ChainSymbol.SRB));
83
+ const getTransactionResponseAll = await (0, utils_1.withExponentialBackoff)(() => server.getTransaction(hash), (resp) => resp.status === stellar_sdk_1.rpc.Api.GetTransactionStatus.NOT_FOUND, secondsToWait);
82
84
  if (getTransactionResponseAll.length === 0) {
83
85
  throw new index_1.SdkError("No transaction responses found.");
84
86
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/srb/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/srb/index.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Asset as StellarAsset,\n BASE_FEE,\n contract,\n Horizon,\n Operation,\n Operation as StellarOperation,\n rpc as SorobanRpc,\n TimeoutInfinite,\n Transaction,\n TransactionBuilder,\n TransactionBuilder as StellarTransactionBuilder,\n} from \"@stellar/stellar-sdk\";\nimport { ChainSymbol } from \"../../chains/chain.enums\";\nimport { AllbridgeCoreSdkOptions, SdkError } from \"../../index\";\nimport { NodeRpcUrlsConfig } from \"../../services\";\nimport { TokenContract } from \"../../services/models/srb/token-contract\";\nimport { withExponentialBackoff } from \"../utils\";\nimport ContractClientOptions = contract.ClientOptions;\nimport BalanceLineAsset = Horizon.HorizonApi.BalanceLineAsset;\n\n/**\n * Contains usefully Soroban methods\n */\nexport interface SrbUtils {\n /**\n * Build change Trust line Tx\n * @param params see {@link TrustLineParams}\n * @returns xdr Tx\n */\n buildChangeTrustLineXdrTx(params: TrustLineParams): Promise<string>;\n\n /**\n * Get Balance Line information if exists\n * @param sender\n * @param tokenAddress\n */\n getBalanceLine(sender: string, tokenAddress: string): Promise<Horizon.HorizonApi.BalanceLineAsset | undefined>;\n\n /**\n * Submit tx\n * @param xdrTx\n */\n submitTransactionStellar(xdrTx: string): Promise<Horizon.HorizonApi.SubmitTransactionResponse>;\n\n /**\n * Simulate and check if Restore needed\n * @param xdrTx - restore\n * @param sourceAccount\n * @returns xdrTx restore transaction if it required after check\n */\n simulateAndCheckRestoreTxRequiredSoroban(xdrTx: string, sourceAccount: string): Promise<string | undefined>;\n\n /**\n * Submit tx\n * @param xdrTx\n */\n sendTransactionSoroban(xdrTx: string): Promise<SorobanRpc.Api.SendTransactionResponse>;\n\n /**\n * Confirm tx\n */\n confirmTx(hash: string, secondsToWait?: number): Promise<SorobanRpc.Api.GetTransactionResponse>;\n}\n\nexport interface TrustLineParams {\n /**\n * Float amount of tokens, default is Number.MAX_SAFE_INTEGER\n */\n limit?: string;\n sender: string;\n tokenAddress: string;\n}\n\nconst FEE = 100;\nconst SEND_TRANSACTION_TIMEOUT = 180;\n\nexport class DefaultSrbUtils implements SrbUtils {\n constructor(\n readonly nodeRpcUrlsConfig: NodeRpcUrlsConfig,\n readonly params: AllbridgeCoreSdkOptions,\n ) {}\n\n async buildChangeTrustLineXdrTx(params: TrustLineParams): Promise<string> {\n const stellar = new Horizon.Server(this.nodeRpcUrlsConfig.getNodeRpcUrl(ChainSymbol.STLR));\n const stellarAccount = await stellar.loadAccount(params.sender);\n const tokenContract = this.getContract(TokenContract, params.tokenAddress);\n const tokenName = (await tokenContract.name()).result;\n const [symbol, srbTokenAddress] = tokenName.split(\":\");\n if (symbol === undefined || srbTokenAddress === undefined) {\n throw new SdkError(`Invalid token name format. Expected format 'symbol:srbTokenAddress'`);\n }\n const asset = new StellarAsset(symbol, srbTokenAddress);\n const changeTrust = StellarOperation.changeTrust({\n asset: asset,\n limit: params.limit,\n });\n\n return new StellarTransactionBuilder(stellarAccount, {\n fee: FEE.toString(10),\n networkPassphrase: this.params.sorobanNetworkPassphrase,\n })\n .addOperation(changeTrust)\n .setTimeout(SEND_TRANSACTION_TIMEOUT)\n .build()\n .toXDR();\n }\n\n async getBalanceLine(sender: string, tokenAddress: string): Promise<Horizon.HorizonApi.BalanceLineAsset | undefined> {\n const tokenContract = this.getContract(TokenContract, tokenAddress);\n const tokenName = (await tokenContract.name()).result;\n const [symbol, srbTokenAddress] = tokenName.split(\":\");\n const nodeRpcUrl = this.nodeRpcUrlsConfig.getNodeRpcUrl(ChainSymbol.STLR);\n const stellar = new Horizon.Server(nodeRpcUrl);\n const stellarAccount = await stellar.loadAccount(sender);\n const balanceInfo = stellarAccount.balances;\n\n return balanceInfo.find(\n (balance): balance is BalanceLineAsset =>\n (balance.asset_type === \"credit_alphanum4\" || balance.asset_type === \"credit_alphanum12\") &&\n balance.asset_code == symbol &&\n balance.asset_issuer == srbTokenAddress,\n );\n }\n\n async submitTransactionStellar(xdrTx: string): Promise<Horizon.HorizonApi.SubmitTransactionResponse> {\n const stellar = new Horizon.Server(this.nodeRpcUrlsConfig.getNodeRpcUrl(ChainSymbol.STLR));\n const transaction = StellarTransactionBuilder.fromXDR(\n xdrTx,\n this.nodeRpcUrlsConfig.getNodeRpcUrl(ChainSymbol.STLR),\n );\n return await stellar.submitTransaction(transaction);\n }\n\n async simulateAndCheckRestoreTxRequiredSoroban(xdrTx: string, sourceAccount: string): Promise<string | undefined> {\n const server = new SorobanRpc.Server(this.nodeRpcUrlsConfig.getNodeRpcUrl(ChainSymbol.SRB));\n const account = await server.getAccount(sourceAccount);\n const transaction = TransactionBuilder.fromXDR(xdrTx, this.params.sorobanNetworkPassphrase) as Transaction;\n const simulation = await server.simulateTransaction(transaction);\n if (SorobanRpc.Api.isSimulationRestore(simulation)) {\n return new TransactionBuilder(account, {\n fee: (+BASE_FEE + +simulation.restorePreamble.minResourceFee).toString(),\n networkPassphrase: this.params.sorobanNetworkPassphrase,\n })\n .setSorobanData(simulation.restorePreamble.transactionData.build())\n .addOperation(Operation.restoreFootprint({}))\n .setTimeout(TimeoutInfinite)\n .build()\n .toXDR();\n }\n return undefined;\n }\n\n async sendTransactionSoroban(xdrTx: string): Promise<SorobanRpc.Api.SendTransactionResponse> {\n const server = new SorobanRpc.Server(this.nodeRpcUrlsConfig.getNodeRpcUrl(ChainSymbol.SRB));\n const transaction = TransactionBuilder.fromXDR(xdrTx, this.params.sorobanNetworkPassphrase) as Transaction;\n return server.sendTransaction(transaction);\n }\n\n async confirmTx(hash: string, secondsToWait = 15): Promise<SorobanRpc.Api.GetTransactionResponse> {\n const server = new SorobanRpc.Server(this.nodeRpcUrlsConfig.getNodeRpcUrl(ChainSymbol.SRB));\n const getTransactionResponseAll = await withExponentialBackoff(\n () => server.getTransaction(hash),\n (resp) => resp.status === SorobanRpc.Api.GetTransactionStatus.NOT_FOUND,\n secondsToWait,\n );\n\n if (getTransactionResponseAll.length === 0) {\n throw new SdkError(\"No transaction responses found.\");\n }\n\n const lastResponse = getTransactionResponseAll[getTransactionResponseAll.length - 1];\n if (!lastResponse) {\n throw new SdkError(\"Unexpected error: last response is undefined.\");\n }\n\n return lastResponse;\n }\n\n private getContract<T>(contract: new (args: ContractClientOptions) => T, address: string): T {\n const config: ContractClientOptions = {\n contractId: address,\n networkPassphrase: this.params.sorobanNetworkPassphrase,\n rpcUrl: this.nodeRpcUrlsConfig.getNodeRpcUrl(ChainSymbol.SRB),\n };\n return new contract(config);\n }\n}\n"]}
@@ -1,6 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.withExponentialBackoff = exports.promiseWithTimeoutAndRetries = exports.promiseWithTimeout = exports.validateAmountDecimals = exports.validateAmountGtZero = exports.getPoolInfoByToken = void 0;
3
+ exports.getPoolInfoByToken = getPoolInfoByToken;
4
+ exports.validateAmountGtZero = validateAmountGtZero;
5
+ exports.validateAmountDecimals = validateAmountDecimals;
6
+ exports.promiseWithTimeout = promiseWithTimeout;
7
+ exports.promiseWithTimeoutAndRetries = promiseWithTimeoutAndRetries;
8
+ exports.withExponentialBackoff = withExponentialBackoff;
4
9
  const big_js_1 = require("big.js");
5
10
  const exceptions_1 = require("../exceptions");
6
11
  async function getPoolInfoByToken(api, sourceChainToken) {
@@ -9,13 +14,11 @@ async function getPoolInfoByToken(api, sourceChainToken) {
9
14
  poolAddress: sourceChainToken.poolAddress,
10
15
  });
11
16
  }
12
- exports.getPoolInfoByToken = getPoolInfoByToken;
13
17
  function validateAmountGtZero(amount) {
14
18
  if ((0, big_js_1.Big)(amount).lte(0)) {
15
19
  throw new exceptions_1.InvalidAmountError("Amount must be greater than zero");
16
20
  }
17
21
  }
18
- exports.validateAmountGtZero = validateAmountGtZero;
19
22
  function validateAmountDecimals(argName, amountFloat, decimalRequired) {
20
23
  const amount = (0, big_js_1.Big)(amountFloat).toFixed();
21
24
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
@@ -24,7 +27,6 @@ function validateAmountDecimals(argName, amountFloat, decimalRequired) {
24
27
  throw new exceptions_1.ArgumentInvalidDecimalsError(argName, fractionalPart.length, decimalRequired);
25
28
  }
26
29
  }
27
- exports.validateAmountDecimals = validateAmountDecimals;
28
30
  async function promiseWithTimeout(promise, msg, timeoutMs) {
29
31
  return (await Promise.race([
30
32
  promise,
@@ -33,23 +35,20 @@ async function promiseWithTimeout(promise, msg, timeoutMs) {
33
35
  }),
34
36
  ]));
35
37
  }
36
- exports.promiseWithTimeout = promiseWithTimeout;
37
38
  async function promiseWithTimeoutAndRetries(toTry, msg, maxRetries, timeoutMs) {
38
39
  if (maxRetries < 1)
39
40
  throw new Error(`Bad argument: 'maxRetries' must be greater than 0, but ${maxRetries} was received.`);
40
41
  let attemptCount = 0;
41
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition,no-constant-condition
42
42
  while (true) {
43
43
  try {
44
44
  return await promiseWithTimeout(toTry(), msg, timeoutMs);
45
45
  }
46
- catch (error) {
46
+ catch (ignoreError) {
47
47
  if (++attemptCount >= maxRetries)
48
48
  throw new exceptions_1.TimeoutError(msg);
49
49
  }
50
50
  }
51
51
  }
52
- exports.promiseWithTimeoutAndRetries = promiseWithTimeoutAndRetries;
53
52
  /**
54
53
  * Keep calling a `fn` for `secondsToWait` seconds, if `keepWaitingIf` is true.
55
54
  * Returns an array of all attempts to call the function.
@@ -92,5 +91,4 @@ async function withExponentialBackoff(fn, keepWaitingIf, secondsToWait, exponent
92
91
  }
93
92
  return attempts;
94
93
  }
95
- exports.withExponentialBackoff = withExponentialBackoff;
96
94
  //# sourceMappingURL=utils.js.map