@allbridge/bridge-core-sdk 3.27.0-alpha.2 → 3.27.0-alpha.21

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 (115) hide show
  1. package/dist/browser/index.js +3 -3
  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 +3 -3
  6. package/dist/esm/index.js.map +4 -4
  7. package/dist/src/chains/chain.enums.d.ts +7 -2
  8. package/dist/src/chains/chain.enums.js +5 -0
  9. package/dist/src/chains/chain.enums.js.map +1 -1
  10. package/dist/src/chains/index.js +6 -0
  11. package/dist/src/chains/index.js.map +1 -1
  12. package/dist/src/client/core-api/api-client.js +1 -0
  13. package/dist/src/client/core-api/api-client.js.map +1 -1
  14. package/dist/src/client/core-api/core-api-mapper.js +32 -0
  15. package/dist/src/client/core-api/core-api-mapper.js.map +1 -1
  16. package/dist/src/client/core-api/core-api.model.d.ts +13 -2
  17. package/dist/src/client/core-api/core-api.model.js.map +1 -1
  18. package/dist/src/configs/mainnet.js +1 -0
  19. package/dist/src/configs/mainnet.js.map +1 -1
  20. package/dist/src/index.d.ts +12 -4
  21. package/dist/src/index.js +11 -11
  22. package/dist/src/index.js.map +1 -1
  23. package/dist/src/models/index.d.ts +12 -4
  24. package/dist/src/models/index.js +4 -0
  25. package/dist/src/models/index.js.map +1 -1
  26. package/dist/src/services/bridge/alg/index.d.ts +1 -0
  27. package/dist/src/services/bridge/alg/index.js +79 -43
  28. package/dist/src/services/bridge/alg/index.js.map +1 -1
  29. package/dist/src/services/bridge/evm/index.d.ts +1 -0
  30. package/dist/src/services/bridge/evm/index.js +103 -33
  31. package/dist/src/services/bridge/evm/index.js.map +1 -1
  32. package/dist/src/services/bridge/index.d.ts +2 -2
  33. package/dist/src/services/bridge/index.js +15 -4
  34. package/dist/src/services/bridge/index.js.map +1 -1
  35. package/dist/src/services/bridge/models/bridge.model.d.ts +12 -4
  36. package/dist/src/services/bridge/models/bridge.model.js.map +1 -1
  37. package/dist/src/services/bridge/raw-bridge-transaction-builder.js +1 -1
  38. package/dist/src/services/bridge/raw-bridge-transaction-builder.js.map +1 -1
  39. package/dist/src/services/bridge/sol/index.d.ts +2 -2
  40. package/dist/src/services/bridge/sol/index.js +19 -11
  41. package/dist/src/services/bridge/sol/index.js.map +1 -1
  42. package/dist/src/services/bridge/sol/jupiter.d.ts +1 -1
  43. package/dist/src/services/bridge/sol/jupiter.js +2 -1
  44. package/dist/src/services/bridge/sol/jupiter.js.map +1 -1
  45. package/dist/src/services/bridge/srb/index.js +36 -28
  46. package/dist/src/services/bridge/srb/index.js.map +1 -1
  47. package/dist/src/services/bridge/stx/index.d.ts +16 -0
  48. package/dist/src/services/bridge/stx/index.js +136 -0
  49. package/dist/src/services/bridge/stx/index.js.map +1 -0
  50. package/dist/src/services/bridge/sui/index.js +166 -138
  51. package/dist/src/services/bridge/sui/index.js.map +1 -1
  52. package/dist/src/services/bridge/trx/index.js +98 -70
  53. package/dist/src/services/bridge/trx/index.js.map +1 -1
  54. package/dist/src/services/bridge/utils.d.ts +3 -1
  55. package/dist/src/services/bridge/utils.js +92 -8
  56. package/dist/src/services/bridge/utils.js.map +1 -1
  57. package/dist/src/services/liquidity-pool/alg/index.js +10 -17
  58. package/dist/src/services/liquidity-pool/alg/index.js.map +1 -1
  59. package/dist/src/services/liquidity-pool/index.js +5 -0
  60. package/dist/src/services/liquidity-pool/index.js.map +1 -1
  61. package/dist/src/services/liquidity-pool/sol/index.js +6 -3
  62. package/dist/src/services/liquidity-pool/sol/index.js.map +1 -1
  63. package/dist/src/services/liquidity-pool/stx/index.d.ts +21 -0
  64. package/dist/src/services/liquidity-pool/stx/index.js +141 -0
  65. package/dist/src/services/liquidity-pool/stx/index.js.map +1 -0
  66. package/dist/src/services/models/abi/PayerWithAbr.d.ts +203 -0
  67. package/dist/src/services/models/abi/PayerWithAbr.js +266 -0
  68. package/dist/src/services/models/abi/PayerWithAbr.js.map +1 -0
  69. package/dist/src/services/models/alg/BridgeClient.d.ts +158 -133
  70. package/dist/src/services/models/alg/BridgeClient.js +182 -130
  71. package/dist/src/services/models/alg/BridgeClient.js.map +1 -1
  72. package/dist/src/services/models/alg/PaddingUtilClient.d.ts +639 -0
  73. package/dist/src/services/models/alg/PaddingUtilClient.js +425 -0
  74. package/dist/src/services/models/alg/PaddingUtilClient.js.map +1 -0
  75. package/dist/src/services/models/alg/PoolClient.d.ts +204 -201
  76. package/dist/src/services/models/alg/PoolClient.js +234 -215
  77. package/dist/src/services/models/alg/PoolClient.js.map +1 -1
  78. package/dist/src/services/models/index.d.ts +16 -3
  79. package/dist/src/services/models/index.js.map +1 -1
  80. package/dist/src/services/models/stx/clarigen-types.d.ts +657 -0
  81. package/dist/src/services/models/stx/clarigen-types.js +2296 -0
  82. package/dist/src/services/models/stx/clarigen-types.js.map +1 -0
  83. package/dist/src/services/token/index.js +7 -2
  84. package/dist/src/services/token/index.js.map +1 -1
  85. package/dist/src/services/token/models/token.model.d.ts +4 -4
  86. package/dist/src/services/token/models/token.model.js.map +1 -1
  87. package/dist/src/services/token/stx/index.d.ts +20 -0
  88. package/dist/src/services/token/stx/index.js +59 -0
  89. package/dist/src/services/token/stx/index.js.map +1 -0
  90. package/dist/src/services/utils/alg/index.d.ts +1 -10
  91. package/dist/src/services/utils/alg/index.js +0 -20
  92. package/dist/src/services/utils/alg/index.js.map +1 -1
  93. package/dist/src/services/utils/sol/compute-budget.d.ts +2 -1
  94. package/dist/src/services/utils/sol/compute-budget.js +36 -18
  95. package/dist/src/services/utils/sol/compute-budget.js.map +1 -1
  96. package/dist/src/services/utils/sol/index.d.ts +2 -0
  97. package/dist/src/services/utils/sol/index.js +12 -0
  98. package/dist/src/services/utils/sol/index.js.map +1 -1
  99. package/dist/src/services/utils/stx/get-token-name.d.ts +2 -0
  100. package/dist/src/services/utils/stx/get-token-name.js +15 -0
  101. package/dist/src/services/utils/stx/get-token-name.js.map +1 -0
  102. package/dist/src/services/utils/stx/post-conditions.d.ts +3 -0
  103. package/dist/src/services/utils/stx/post-conditions.js +27 -0
  104. package/dist/src/services/utils/stx/post-conditions.js.map +1 -0
  105. package/dist/src/services/yield/index.js +4 -0
  106. package/dist/src/services/yield/index.js.map +1 -1
  107. package/dist/src/tokens-info/tokens-info.model.d.ts +21 -0
  108. package/dist/src/tokens-info/tokens-info.model.js.map +1 -1
  109. package/dist/src/utils/utils.d.ts +2 -0
  110. package/dist/src/utils/utils.js +11 -0
  111. package/dist/src/utils/utils.js.map +1 -1
  112. package/dist/src/version.d.ts +1 -1
  113. package/dist/src/version.js +1 -1
  114. package/dist/src/version.js.map +1 -1
  115. package/package.json +6 -2
@@ -1,13 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.assertNever = assertNever;
3
4
  exports.getPoolInfoByToken = getPoolInfoByToken;
4
5
  exports.validateAmountGtZero = validateAmountGtZero;
6
+ exports.validateAmountGteZero = validateAmountGteZero;
5
7
  exports.validateAmountDecimals = validateAmountDecimals;
6
8
  exports.promiseWithTimeout = promiseWithTimeout;
7
9
  exports.promiseWithTimeoutAndRetries = promiseWithTimeoutAndRetries;
8
10
  exports.withExponentialBackoff = withExponentialBackoff;
9
11
  const big_js_1 = require("big.js");
10
12
  const exceptions_1 = require("../exceptions");
13
+ function assertNever(x, message) {
14
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
15
+ throw new Error(message ?? `Unexpected value: ${x}`);
16
+ }
11
17
  async function getPoolInfoByToken(api, sourceChainToken) {
12
18
  return await api.getPoolInfoByKey({
13
19
  chainSymbol: sourceChainToken.chainSymbol,
@@ -19,6 +25,11 @@ function validateAmountGtZero(amount) {
19
25
  throw new exceptions_1.InvalidAmountError("Amount must be greater than zero");
20
26
  }
21
27
  }
28
+ function validateAmountGteZero(amount) {
29
+ if ((0, big_js_1.Big)(amount).lt(0)) {
30
+ throw new exceptions_1.InvalidAmountError("Amount must be greater or equal than zero");
31
+ }
32
+ }
22
33
  function validateAmountDecimals(argName, amountFloat, decimalRequired) {
23
34
  const amount = (0, big_js_1.Big)(amountFloat).toFixed();
24
35
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/utils/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { Big, BigSource } from \"big.js\";\nimport { AllbridgeCoreClientPoolsExt } from \"../client/core-api/core-client-pool-info-caching\";\nimport { ArgumentInvalidDecimalsError, InvalidAmountError, TimeoutError } from \"../exceptions\";\nimport { PoolInfo, TokenWithChainDetails } from \"../tokens-info\";\n\nexport async function getPoolInfoByToken(\n api: AllbridgeCoreClientPoolsExt,\n sourceChainToken: TokenWithChainDetails\n): Promise<PoolInfo> {\n return await api.getPoolInfoByKey({\n chainSymbol: sourceChainToken.chainSymbol,\n poolAddress: sourceChainToken.poolAddress,\n });\n}\n\nexport function validateAmountGtZero(amount: BigSource) {\n if (Big(amount).lte(0)) {\n throw new InvalidAmountError(\"Amount must be greater than zero\");\n }\n}\n\nexport function validateAmountDecimals(argName: string, amountFloat: number | string | Big, decimalRequired: number) {\n const amount = Big(amountFloat).toFixed();\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [integerPart, fractionalPart] = amount.split(\".\");\n\n if (fractionalPart && fractionalPart.length > decimalRequired) {\n throw new ArgumentInvalidDecimalsError(argName, fractionalPart.length, decimalRequired);\n }\n}\n\nexport async function promiseWithTimeout<T>(promise: Promise<T>, msg: string, timeoutMs: number): Promise<T> {\n return (await Promise.race([\n promise,\n new Promise((resolve, reject) => {\n setTimeout(() => reject(new TimeoutError(msg)), timeoutMs);\n }),\n ])) as any as T;\n}\n\nexport async function promiseWithTimeoutAndRetries<T>(\n toTry: () => Promise<T>,\n msg: string,\n maxRetries: number,\n timeoutMs: number\n): Promise<T> {\n if (maxRetries < 1)\n throw new Error(`Bad argument: 'maxRetries' must be greater than 0, but ${maxRetries} was received.`);\n let attemptCount = 0;\n while (true) {\n try {\n return await promiseWithTimeout(toTry(), msg, timeoutMs);\n } catch (ignoreError) {\n if (++attemptCount >= maxRetries) throw new TimeoutError(msg);\n }\n }\n}\n\n/**\n * Keep calling a `fn` for `secondsToWait` seconds, if `keepWaitingIf` is true.\n * Returns an array of all attempts to call the function.\n */\nexport async function withExponentialBackoff<T>(\n fn: (previousFailure?: T) => Promise<T>,\n keepWaitingIf: (result: T) => boolean,\n secondsToWait: number,\n exponentialFactor = 1.5,\n verbose = false\n): Promise<T[]> {\n const attempts: T[] = [];\n\n let count = 0;\n const initialAttempt = await fn();\n attempts.push(initialAttempt);\n if (!keepWaitingIf(initialAttempt)) return attempts;\n\n const waitUntil = new Date(Date.now() + secondsToWait * 1000).valueOf();\n let waitTime = 1000;\n let totalWaitTime = waitTime;\n\n while (Date.now() < waitUntil) {\n const lastAttempt = attempts[attempts.length - 1];\n if (lastAttempt === undefined || !keepWaitingIf(lastAttempt)) break;\n\n count++;\n // Wait a beat\n if (verbose) {\n console.info(\n `Waiting ${waitTime}ms before trying again (bringing the total wait time to ${totalWaitTime}ms so far, of total ${\n secondsToWait * 1000\n }ms)`\n );\n }\n await new Promise((res) => setTimeout(res, waitTime));\n // Exponential backoff\n waitTime = waitTime * exponentialFactor;\n if (new Date(Date.now() + waitTime).valueOf() > waitUntil) {\n waitTime = waitUntil - Date.now();\n if (verbose) {\n console.info(`was gonna wait too long; new waitTime: ${waitTime}ms`);\n }\n }\n totalWaitTime = waitTime + totalWaitTime;\n // Try again\n const nextAttempt = await fn(lastAttempt);\n attempts.push(nextAttempt);\n if (verbose && keepWaitingIf(nextAttempt)) {\n console.info(\n `${count}. Called ${fn.name}; ${attempts.length} prev attempts. Most recent: ${JSON.stringify(\n attempts[attempts.length - 1],\n null,\n 2\n )}`\n );\n }\n }\n\n return attempts;\n}\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/utils/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { Big, BigSource } from \"big.js\";\nimport { AllbridgeCoreClientPoolsExt } from \"../client/core-api/core-client-pool-info-caching\";\nimport { ArgumentInvalidDecimalsError, InvalidAmountError, TimeoutError } from \"../exceptions\";\nimport { PoolInfo, TokenWithChainDetails } from \"../tokens-info\";\n\nexport function assertNever(x: never, message?: string): never {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n throw new Error(message ?? `Unexpected value: ${x}`);\n}\n\nexport async function getPoolInfoByToken(\n api: AllbridgeCoreClientPoolsExt,\n sourceChainToken: TokenWithChainDetails\n): Promise<PoolInfo> {\n return await api.getPoolInfoByKey({\n chainSymbol: sourceChainToken.chainSymbol,\n poolAddress: sourceChainToken.poolAddress,\n });\n}\n\nexport function validateAmountGtZero(amount: BigSource) {\n if (Big(amount).lte(0)) {\n throw new InvalidAmountError(\"Amount must be greater than zero\");\n }\n}\n\nexport function validateAmountGteZero(amount: BigSource) {\n if (Big(amount).lt(0)) {\n throw new InvalidAmountError(\"Amount must be greater or equal than zero\");\n }\n}\n\nexport function validateAmountDecimals(argName: string, amountFloat: number | string | Big, decimalRequired: number) {\n const amount = Big(amountFloat).toFixed();\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [integerPart, fractionalPart] = amount.split(\".\");\n\n if (fractionalPart && fractionalPart.length > decimalRequired) {\n throw new ArgumentInvalidDecimalsError(argName, fractionalPart.length, decimalRequired);\n }\n}\n\nexport async function promiseWithTimeout<T>(promise: Promise<T>, msg: string, timeoutMs: number): Promise<T> {\n return (await Promise.race([\n promise,\n new Promise((resolve, reject) => {\n setTimeout(() => reject(new TimeoutError(msg)), timeoutMs);\n }),\n ])) as any as T;\n}\n\nexport async function promiseWithTimeoutAndRetries<T>(\n toTry: () => Promise<T>,\n msg: string,\n maxRetries: number,\n timeoutMs: number\n): Promise<T> {\n if (maxRetries < 1)\n throw new Error(`Bad argument: 'maxRetries' must be greater than 0, but ${maxRetries} was received.`);\n let attemptCount = 0;\n while (true) {\n try {\n return await promiseWithTimeout(toTry(), msg, timeoutMs);\n } catch (ignoreError) {\n if (++attemptCount >= maxRetries) throw new TimeoutError(msg);\n }\n }\n}\n\n/**\n * Keep calling a `fn` for `secondsToWait` seconds, if `keepWaitingIf` is true.\n * Returns an array of all attempts to call the function.\n */\nexport async function withExponentialBackoff<T>(\n fn: (previousFailure?: T) => Promise<T>,\n keepWaitingIf: (result: T) => boolean,\n secondsToWait: number,\n exponentialFactor = 1.5,\n verbose = false\n): Promise<T[]> {\n const attempts: T[] = [];\n\n let count = 0;\n const initialAttempt = await fn();\n attempts.push(initialAttempt);\n if (!keepWaitingIf(initialAttempt)) return attempts;\n\n const waitUntil = new Date(Date.now() + secondsToWait * 1000).valueOf();\n let waitTime = 1000;\n let totalWaitTime = waitTime;\n\n while (Date.now() < waitUntil) {\n const lastAttempt = attempts[attempts.length - 1];\n if (lastAttempt === undefined || !keepWaitingIf(lastAttempt)) break;\n\n count++;\n // Wait a beat\n if (verbose) {\n console.info(\n `Waiting ${waitTime}ms before trying again (bringing the total wait time to ${totalWaitTime}ms so far, of total ${\n secondsToWait * 1000\n }ms)`\n );\n }\n await new Promise((res) => setTimeout(res, waitTime));\n // Exponential backoff\n waitTime = waitTime * exponentialFactor;\n if (new Date(Date.now() + waitTime).valueOf() > waitUntil) {\n waitTime = waitUntil - Date.now();\n if (verbose) {\n console.info(`was gonna wait too long; new waitTime: ${waitTime}ms`);\n }\n }\n totalWaitTime = waitTime + totalWaitTime;\n // Try again\n const nextAttempt = await fn(lastAttempt);\n attempts.push(nextAttempt);\n if (verbose && keepWaitingIf(nextAttempt)) {\n console.info(\n `${count}. Called ${fn.name}; ${attempts.length} prev attempts. Most recent: ${JSON.stringify(\n attempts[attempts.length - 1],\n null,\n 2\n )}`\n );\n }\n }\n\n return attempts;\n}\n"]}
@@ -1 +1 @@
1
- export declare const VERSION = "3.27.0-alpha.2";
1
+ export declare const VERSION = "3.27.0-alpha.21";
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = void 0;
4
- exports.VERSION = "3.27.0-alpha.2";
4
+ exports.VERSION = "3.27.0-alpha.21";
5
5
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAG,gBAAgB,CAAC","sourcesContent":["export const VERSION = \"3.27.0-alpha.2\";\n"]}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAG,iBAAiB,CAAC","sourcesContent":["export const VERSION = \"3.27.0-alpha.21\";\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@allbridge/bridge-core-sdk",
3
- "version": "3.27.0-alpha.2",
3
+ "version": "3.27.0-alpha.21",
4
4
  "main": "./dist/cjs/index.js",
5
5
  "module": "./dist/esm/index.js",
6
6
  "types": "./dist/src/index.d.ts",
@@ -58,6 +58,7 @@
58
58
  "@semantic-release/changelog": "^6.0.3",
59
59
  "@semantic-release/commit-analyzer": "^13.0.1",
60
60
  "@semantic-release/github": "^11.0.3",
61
+ "@semantic-release/gitlab": "^13.2.9",
61
62
  "@semantic-release/npm": "^12.0.2",
62
63
  "@semantic-release/release-notes-generator": "^14.0.3",
63
64
  "@types/big.js": "^6.2.2",
@@ -101,12 +102,15 @@
101
102
  },
102
103
  "dependencies": {
103
104
  "@algorandfoundation/algokit-utils": "^9.1.2",
105
+ "@clarigen/core": "^3.1.0",
104
106
  "@mysten/sui": "1.18.0",
105
107
  "@project-serum/anchor": "^0.25.0",
106
108
  "@solana/spl-token": "^0.3.8",
107
109
  "@solana/web3.js": "^1.98.0",
110
+ "@stacks/network": "^7.2.0",
111
+ "@stacks/transactions": "^7.2.0",
108
112
  "@stellar/stellar-sdk": "^14.0.0",
109
- "algosdk": "^3.5.0",
113
+ "algosdk": "^3.5.2",
110
114
  "assert": "^2.1.0",
111
115
  "axios": "^1.7.9",
112
116
  "big.js": "^6.2.2",