@gala-chain/gswap-sdk 2.0.0 → 2.1.0-beta.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 (76) hide show
  1. package/README.md +8 -2
  2. package/dist/browser/classes/apply_results.js.map +1 -1
  3. package/dist/browser/classes/assets.js.map +1 -1
  4. package/dist/browser/classes/dex_fees.js +1 -1
  5. package/dist/browser/classes/dex_fees.js.map +1 -1
  6. package/dist/browser/classes/gateway.js +1 -1
  7. package/dist/browser/classes/gateway.js.map +1 -1
  8. package/dist/browser/classes/gdex_stream.js +1 -1
  9. package/dist/browser/classes/gdex_stream.js.map +1 -1
  10. package/dist/browser/classes/gswap.js +1 -1
  11. package/dist/browser/classes/gswap.js.map +1 -1
  12. package/dist/browser/classes/gswap_error_catalog.js +1 -1
  13. package/dist/browser/classes/gswap_error_catalog.js.map +1 -1
  14. package/dist/browser/classes/gswap_error_phase_table.js +1 -1
  15. package/dist/browser/classes/gswap_error_phase_table.js.map +1 -1
  16. package/dist/browser/classes/gswap_sdk_error.js +1 -1
  17. package/dist/browser/classes/gswap_sdk_error.js.map +1 -1
  18. package/dist/browser/classes/http_client.js.map +1 -1
  19. package/dist/browser/classes/leaderboard.js.map +1 -1
  20. package/dist/browser/classes/market.js.map +1 -1
  21. package/dist/browser/classes/onramper.js.map +1 -1
  22. package/dist/browser/classes/pending_swap_fate.js.map +1 -1
  23. package/dist/browser/classes/pending_swaps.js +1 -1
  24. package/dist/browser/classes/pending_swaps.js.map +1 -1
  25. package/dist/browser/classes/pools.js +1 -1
  26. package/dist/browser/classes/pools.js.map +1 -1
  27. package/dist/browser/classes/positions.js +1 -1
  28. package/dist/browser/classes/positions.js.map +1 -1
  29. package/dist/browser/classes/quoting.js +1 -1
  30. package/dist/browser/classes/quoting.js.map +1 -1
  31. package/dist/browser/classes/shadow_submit.js.map +1 -1
  32. package/dist/browser/classes/storage_adapters.js.map +1 -1
  33. package/dist/browser/classes/submitted_transaction.js +1 -1
  34. package/dist/browser/classes/submitted_transaction.js.map +1 -1
  35. package/dist/browser/classes/swaps.js +1 -1
  36. package/dist/browser/classes/swaps.js.map +1 -1
  37. package/dist/browser/classes/symbols.js +1 -1
  38. package/dist/browser/classes/symbols.js.map +1 -1
  39. package/dist/browser/types/env.js.map +1 -1
  40. package/dist/browser/types/fees.js.map +1 -1
  41. package/dist/browser/types/market.js.map +1 -1
  42. package/dist/browser/utils/chain_contract.js +2 -0
  43. package/dist/browser/utils/chain_contract.js.map +1 -0
  44. package/dist/browser/utils/classification.js.map +1 -1
  45. package/dist/browser/utils/confirmation_schedule.js.map +1 -1
  46. package/dist/browser/utils/confirmation_state.js.map +1 -1
  47. package/dist/browser/utils/debug.js.map +1 -1
  48. package/dist/browser/utils/dto_builders.js.map +1 -1
  49. package/dist/browser/utils/failure_classification.js +1 -1
  50. package/dist/browser/utils/failure_classification.js.map +1 -1
  51. package/dist/browser/utils/failure_guards.js +1 -1
  52. package/dist/browser/utils/failure_guards.js.map +1 -1
  53. package/dist/browser/utils/lenient.js.map +1 -1
  54. package/dist/browser/utils/ordering.js.map +1 -1
  55. package/dist/browser/utils/reconnection.js +1 -1
  56. package/dist/browser/utils/reconnection.js.map +1 -1
  57. package/dist/browser/utils/resolve_pre_send.js.map +1 -1
  58. package/dist/browser/utils/server_message.js.map +1 -1
  59. package/dist/browser/utils/shadow_errors.js.map +1 -1
  60. package/dist/browser/utils/submit_state.js.map +1 -1
  61. package/dist/browser/utils/tick_align.js.map +1 -1
  62. package/dist/browser/utils/tick_math.js.map +1 -1
  63. package/dist/browser/utils/tick_range.js.map +1 -1
  64. package/dist/browser/utils/ticks.js.map +1 -1
  65. package/dist/browser/utils/validation.js.map +1 -1
  66. package/dist/index.cjs +23 -6
  67. package/dist/index.cjs.map +1 -1
  68. package/dist/index.d.cts +13 -5
  69. package/dist/index.d.ts +13 -5
  70. package/dist/index.mjs +23 -6
  71. package/dist/index.mjs.map +1 -1
  72. package/package.json +3 -3
  73. /package/dist/browser/_virtual/{_@oxc-project_runtime@0.153.0 → _@oxc-project_runtime@0.154.0}/helpers/esm/defineProperty.js +0 -0
  74. /package/dist/browser/_virtual/{_@oxc-project_runtime@0.153.0 → _@oxc-project_runtime@0.154.0}/helpers/esm/toPrimitive.js +0 -0
  75. /package/dist/browser/_virtual/{_@oxc-project_runtime@0.153.0 → _@oxc-project_runtime@0.154.0}/helpers/esm/toPropertyKey.js +0 -0
  76. /package/dist/browser/_virtual/{_@oxc-project_runtime@0.153.0 → _@oxc-project_runtime@0.154.0}/helpers/esm/typeof.js +0 -0
package/dist/index.cjs CHANGED
@@ -252,6 +252,11 @@ const GSWAP_ERROR_CATALOG = {
252
252
  template: "The gateway rejected the DTO shape: {serverMessage}",
253
253
  params: { serverMessage: "string" }
254
254
  },
255
+ DTO_OPERATION_MISMATCH: {
256
+ phase: "post_send",
257
+ template: "The signed DTO has no dtoOperation, or one that is not the call it was sent to: {serverMessage}",
258
+ params: { serverMessage: "string" }
259
+ },
255
260
  BOUNDS_VIOLATION: {
256
261
  phase: "post_send",
257
262
  template: "The gateway rejected a numeric, tick, symbol or range bound: {serverMessage}",
@@ -761,6 +766,7 @@ const GSWAP_ERROR_PHASE_BY_CODE = {
761
766
  SIGNATURE_INVALID: "post_send",
762
767
  SIGNER_MISMATCH: "post_send",
763
768
  DTO_INVALID: "post_send",
769
+ DTO_OPERATION_MISMATCH: "post_send",
764
770
  BOUNDS_VIOLATION: "post_send",
765
771
  SYMBOL_CONFLICT: "post_send",
766
772
  RATE_LIMITED: "post_send",
@@ -936,6 +942,7 @@ var GSwapSDKError = class GSwapSDKError extends _gala_chain_gala_core_sdk.GalaSD
936
942
  case "SIGNATURE_INVALID": return new GSwapSDKError("SIGNATURE_INVALID", params, context);
937
943
  case "SIGNER_MISMATCH": return new GSwapSDKError("SIGNER_MISMATCH", params, context);
938
944
  case "DTO_INVALID": return new GSwapSDKError("DTO_INVALID", params, context);
945
+ case "DTO_OPERATION_MISMATCH": return new GSwapSDKError("DTO_OPERATION_MISMATCH", params, context);
939
946
  case "BOUNDS_VIOLATION": return new GSwapSDKError("BOUNDS_VIOLATION", params, context);
940
947
  case "SYMBOL_CONFLICT": return new GSwapSDKError("SYMBOL_CONFLICT", params, context);
941
948
  case "RATE_LIMITED": return new GSwapSDKError("RATE_LIMITED", params, context);
@@ -1745,8 +1752,8 @@ function toChainDto(message) {
1745
1752
  * recovers it (the gateway rejects it as REDUNDANT_SIGNER_PUBLIC_KEY). The wrapper carries its own
1746
1753
  * `uniqueKey`, distinct from the DTO's.
1747
1754
  */
1748
- function buildDryRunWrapper(signer, callerPublicKey, method, dto, uniqueKeyPrefix = DRY_RUN_UNIQUE_KEY_PREFIX) {
1749
- return (0, _gala_chain_gala_core_sdk.signPreSend)(signer, DRY_RUN_METHOD, {
1755
+ function buildDryRunWrapper(signer, callerPublicKey, method, dto, uniqueKeyPrefix = DRY_RUN_UNIQUE_KEY_PREFIX, contractPath = "asset/dexv3-contract") {
1756
+ return (0, _gala_chain_gala_core_sdk.signPreSend)(signer, contractPath, DRY_RUN_METHOD, {
1750
1757
  callerPublicKey,
1751
1758
  method,
1752
1759
  dto,
@@ -1801,7 +1808,7 @@ var DexFees = class {
1801
1808
  if (this.signer === void 0) throw GSwapSDKError.noSignerError();
1802
1809
  const channel = options.channel ?? "asset";
1803
1810
  const contract = options.contract ?? "dexv3-contract";
1804
- const wrapper = await buildDryRunWrapper(this.signer, callerPublicKey, method, toChainDto(message));
1811
+ const wrapper = await buildDryRunWrapper(this.signer, callerPublicKey, method, toChainDto(message), void 0, `asset/${contract}`);
1805
1812
  const url = `${this.baseUrl}/wallet/connect/galachain/api/${encodeURIComponent(channel)}/${encodeURIComponent(contract)}/${encodeURIComponent(method)}/fee`;
1806
1813
  let status;
1807
1814
  let ok;
@@ -1839,6 +1846,14 @@ function readQuote(body) {
1839
1846
  return body;
1840
1847
  }
1841
1848
 
1849
+ //#endregion
1850
+ //#region src/utils/chain_contract.ts
1851
+ /**
1852
+ * The contract every v2 write goes to: its route under `/v1/chain/` and (through core's table) the
1853
+ * `dtoOperation` each DTO is signed with. One constant for both, so they cannot disagree.
1854
+ */
1855
+ const DEX_CONTRACT_PATH = "asset/dex-contract";
1856
+
1842
1857
  //#endregion
1843
1858
  //#region src/utils/shadow_errors.ts
1844
1859
  /**
@@ -2200,7 +2215,7 @@ var ChainGateway = class {
2200
2215
  return (options === null || options === void 0 ? void 0 : options.walletAddress) === void 0 ? this.walletAddress : userRef(options.walletAddress, "walletAddress");
2201
2216
  }
2202
2217
  writeUrl(method) {
2203
- return `${this.dexBackendBaseUrl}/v1/chain/asset/dex-contract/${method}`;
2218
+ return `${this.dexBackendBaseUrl}/v1/chain/${DEX_CONTRACT_PATH}/${method}`;
2204
2219
  }
2205
2220
  /**
2206
2221
  * POSTs a signed body and reads the answer. Neither a timeout nor a transport failure proves the
@@ -4977,7 +4992,7 @@ var Positions = class {
4977
4992
  }
4978
4993
  async submit(method, dto, confirmation) {
4979
4994
  if (this.signer === void 0) throw GSwapSDKError.noSignerError();
4980
- const signed = await (0, _gala_chain_gala_core_sdk.signPreSend)(this.signer, method, dto);
4995
+ const signed = await (0, _gala_chain_gala_core_sdk.signPreSend)(this.signer, DEX_CONTRACT_PATH, method, dto);
4981
4996
  const submitOptions = this.walletAddress === void 0 ? {} : { walletAddress: this.walletAddress };
4982
4997
  const owner = this.walletAddress;
4983
4998
  const positionConfirmation = await this.buildPositionConfirmation(confirmation, owner);
@@ -5638,7 +5653,7 @@ var Swaps = class {
5638
5653
  async signRequestTrade(dto) {
5639
5654
  assertCanonicalV2Dto("RequestTrade", dto);
5640
5655
  if (this.signer === void 0) throw GSwapSDKError.noSignerError();
5641
- return (0, _gala_chain_gala_core_sdk.signPreSend)(this.signer, "RequestTrade", dto);
5656
+ return (0, _gala_chain_gala_core_sdk.signPreSend)(this.signer, DEX_CONTRACT_PATH, "RequestTrade", dto);
5642
5657
  }
5643
5658
  /** The pool's two symbols in contract order: the quote's own when pinned, else string order. */
5644
5659
  orientPool(tokenInSymbol, tokenOutSymbol, pool) {
@@ -5899,6 +5914,7 @@ const BY_CODE = {
5899
5914
  SIGNATURE_INVALID: NOT_QUEUED,
5900
5915
  SIGNER_MISMATCH: NOT_QUEUED,
5901
5916
  DTO_INVALID: NOT_QUEUED,
5917
+ DTO_OPERATION_MISMATCH: NOT_QUEUED,
5902
5918
  BOUNDS_VIOLATION: NOT_QUEUED,
5903
5919
  SYMBOL_CONFLICT: NOT_QUEUED,
5904
5920
  RATE_LIMITED: NOT_QUEUED,
@@ -6567,6 +6583,7 @@ const RELAYABLE_REFUSAL_CODES = [
6567
6583
  "SIGNATURE_INVALID",
6568
6584
  "SIGNER_MISMATCH",
6569
6585
  "DTO_INVALID",
6586
+ "DTO_OPERATION_MISMATCH",
6570
6587
  "BOUNDS_VIOLATION",
6571
6588
  "SYMBOL_CONFLICT",
6572
6589
  "RATE_LIMITED",