@fairmint/canton-node-sdk 0.0.238 → 0.0.239

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 (163) hide show
  1. package/build/src/clients/ledger-json-api/LedgerJsonApiClient.generated.d.ts +51 -51
  2. package/build/src/clients/ledger-json-api/LedgerJsonApiClient.generated.d.ts.map +1 -1
  3. package/build/src/clients/ledger-json-api/LedgerJsonApiClient.generated.js +51 -51
  4. package/build/src/clients/ledger-json-api/LedgerJsonApiClient.generated.js.map +1 -1
  5. package/build/src/clients/ledger-json-api/operations/v2/commands/async/submit.d.ts +26 -26
  6. package/build/src/clients/ledger-json-api/operations/v2/commands/completions.d.ts +1 -2
  7. package/build/src/clients/ledger-json-api/operations/v2/commands/completions.d.ts.map +1 -1
  8. package/build/src/clients/ledger-json-api/operations/v2/commands/completions.js +2 -2
  9. package/build/src/clients/ledger-json-api/operations/v2/commands/completions.js.map +1 -1
  10. package/build/src/clients/ledger-json-api/operations/v2/commands/submit-and-wait-for-transaction.d.ts +26 -26
  11. package/build/src/clients/ledger-json-api/operations/v2/events/get-events-by-contract-id.d.ts.map +1 -1
  12. package/build/src/clients/ledger-json-api/operations/v2/events/get-events-by-contract-id.js +1 -0
  13. package/build/src/clients/ledger-json-api/operations/v2/events/get-events-by-contract-id.js.map +1 -1
  14. package/build/src/clients/ledger-json-api/operations/v2/interactive-submission/get-preferred-packages.d.ts.map +1 -1
  15. package/build/src/clients/ledger-json-api/operations/v2/interactive-submission/get-preferred-packages.js +1 -0
  16. package/build/src/clients/ledger-json-api/operations/v2/interactive-submission/get-preferred-packages.js.map +1 -1
  17. package/build/src/clients/ledger-json-api/operations/v2/interactive-submission/prepare.d.ts.map +1 -1
  18. package/build/src/clients/ledger-json-api/operations/v2/interactive-submission/prepare.js +1 -0
  19. package/build/src/clients/ledger-json-api/operations/v2/interactive-submission/prepare.js.map +1 -1
  20. package/build/src/clients/ledger-json-api/operations/v2/parties/aggregate-parties.d.ts +2 -2
  21. package/build/src/clients/ledger-json-api/operations/v2/parties/aggregate-parties.d.ts.map +1 -1
  22. package/build/src/clients/ledger-json-api/operations/v2/parties/aggregate-parties.js +25 -8
  23. package/build/src/clients/ledger-json-api/operations/v2/parties/aggregate-parties.js.map +1 -1
  24. package/build/src/clients/ledger-json-api/operations/v2/parties/external/generate-topology.d.ts.map +1 -1
  25. package/build/src/clients/ledger-json-api/operations/v2/parties/external/generate-topology.js +1 -0
  26. package/build/src/clients/ledger-json-api/operations/v2/parties/external/generate-topology.js.map +1 -1
  27. package/build/src/clients/ledger-json-api/operations/v2/parties/get.d.ts +2 -2
  28. package/build/src/clients/ledger-json-api/operations/v2/parties/get.d.ts.map +1 -1
  29. package/build/src/clients/ledger-json-api/operations/v2/parties/get.js +3 -2
  30. package/build/src/clients/ledger-json-api/operations/v2/parties/get.js.map +1 -1
  31. package/build/src/clients/ledger-json-api/operations/v2/parties/list.d.ts +2 -2
  32. package/build/src/clients/ledger-json-api/operations/v2/parties/list.d.ts.map +1 -1
  33. package/build/src/clients/ledger-json-api/operations/v2/parties/list.js +3 -2
  34. package/build/src/clients/ledger-json-api/operations/v2/parties/list.js.map +1 -1
  35. package/build/src/clients/ledger-json-api/operations/v2/updates/get-transaction-by-id.d.ts.map +1 -1
  36. package/build/src/clients/ledger-json-api/operations/v2/updates/get-transaction-by-id.js +1 -0
  37. package/build/src/clients/ledger-json-api/operations/v2/updates/get-transaction-by-id.js.map +1 -1
  38. package/build/src/clients/ledger-json-api/operations/v2/updates/get-transaction-by-offset.d.ts.map +1 -1
  39. package/build/src/clients/ledger-json-api/operations/v2/updates/get-transaction-by-offset.js +1 -0
  40. package/build/src/clients/ledger-json-api/operations/v2/updates/get-transaction-by-offset.js.map +1 -1
  41. package/build/src/clients/ledger-json-api/operations/v2/updates/get-update-by-id.d.ts.map +1 -1
  42. package/build/src/clients/ledger-json-api/operations/v2/updates/get-update-by-id.js +1 -0
  43. package/build/src/clients/ledger-json-api/operations/v2/updates/get-update-by-id.js.map +1 -1
  44. package/build/src/clients/ledger-json-api/operations/v2/updates/get-update-by-offset.d.ts.map +1 -1
  45. package/build/src/clients/ledger-json-api/operations/v2/updates/get-update-by-offset.js +1 -0
  46. package/build/src/clients/ledger-json-api/operations/v2/updates/get-update-by-offset.js.map +1 -1
  47. package/build/src/clients/scan-api/ScanApiClient.d.ts +7 -6
  48. package/build/src/clients/scan-api/ScanApiClient.d.ts.map +1 -1
  49. package/build/src/clients/scan-api/ScanApiClient.generated.d.ts +62 -62
  50. package/build/src/clients/scan-api/ScanApiClient.generated.d.ts.map +1 -1
  51. package/build/src/clients/scan-api/ScanApiClient.generated.js +62 -62
  52. package/build/src/clients/scan-api/ScanApiClient.generated.js.map +1 -1
  53. package/build/src/clients/scan-api/ScanApiClient.js +75 -35
  54. package/build/src/clients/scan-api/ScanApiClient.js.map +1 -1
  55. package/build/src/clients/scan-api/operations/v0/registry/allocation-instruction/v1/get-allocation-factory-from-registry.d.ts.map +1 -1
  56. package/build/src/clients/scan-api/operations/v0/registry/allocation-instruction/v1/get-allocation-factory-from-registry.js +1 -0
  57. package/build/src/clients/scan-api/operations/v0/registry/allocation-instruction/v1/get-allocation-factory-from-registry.js.map +1 -1
  58. package/build/src/clients/scan-api/operations/v0/scan.d.ts.map +1 -1
  59. package/build/src/clients/scan-api/operations/v0/scan.js +17 -0
  60. package/build/src/clients/scan-api/operations/v0/scan.js.map +1 -1
  61. package/build/src/clients/validator-api/ValidatorApiClient.generated.d.ts +61 -61
  62. package/build/src/clients/validator-api/ValidatorApiClient.generated.d.ts.map +1 -1
  63. package/build/src/clients/validator-api/ValidatorApiClient.generated.js +61 -61
  64. package/build/src/clients/validator-api/ValidatorApiClient.generated.js.map +1 -1
  65. package/build/src/clients/validator-api/operations/v0/admin/generate-external-party-topology.d.ts.map +1 -1
  66. package/build/src/clients/validator-api/operations/v0/admin/generate-external-party-topology.js +1 -0
  67. package/build/src/clients/validator-api/operations/v0/admin/generate-external-party-topology.js.map +1 -1
  68. package/build/src/clients/validator-api/operations/v0/admin/prepare-accept-external-party-setup-proposal.d.ts.map +1 -1
  69. package/build/src/clients/validator-api/operations/v0/admin/prepare-accept-external-party-setup-proposal.js +1 -0
  70. package/build/src/clients/validator-api/operations/v0/admin/prepare-accept-external-party-setup-proposal.js.map +1 -1
  71. package/build/src/clients/validator-api/operations/v0/admin/prepare-transfer-preapproval-send.d.ts.map +1 -1
  72. package/build/src/clients/validator-api/operations/v0/admin/prepare-transfer-preapproval-send.js +1 -0
  73. package/build/src/clients/validator-api/operations/v0/admin/prepare-transfer-preapproval-send.js.map +1 -1
  74. package/build/src/clients/validator-api/operations/v0/ans/get-rules.d.ts.map +1 -1
  75. package/build/src/clients/validator-api/operations/v0/ans/get-rules.js +1 -0
  76. package/build/src/clients/validator-api/operations/v0/ans/get-rules.js.map +1 -1
  77. package/build/src/clients/validator-api/operations/v0/scan-proxy/get-member-traffic-status.d.ts +2 -1
  78. package/build/src/clients/validator-api/operations/v0/scan-proxy/get-member-traffic-status.d.ts.map +1 -1
  79. package/build/src/clients/validator-api/operations/v0/scan-proxy/get-member-traffic-status.js +47 -9
  80. package/build/src/clients/validator-api/operations/v0/scan-proxy/get-member-traffic-status.js.map +1 -1
  81. package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/allocation-instruction/v1/get-allocation-factory.d.ts.map +1 -1
  82. package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/allocation-instruction/v1/get-allocation-factory.js +1 -0
  83. package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/allocation-instruction/v1/get-allocation-factory.js.map +1 -1
  84. package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/allocations/v1/get-allocation-cancel-context.d.ts.map +1 -1
  85. package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/allocations/v1/get-allocation-cancel-context.js +1 -0
  86. package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/allocations/v1/get-allocation-cancel-context.js.map +1 -1
  87. package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/allocations/v1/get-allocation-transfer-context.d.ts.map +1 -1
  88. package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/allocations/v1/get-allocation-transfer-context.js +1 -0
  89. package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/allocations/v1/get-allocation-transfer-context.js.map +1 -1
  90. package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/allocations/v1/get-allocation-withdraw-context.d.ts.map +1 -1
  91. package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/allocations/v1/get-allocation-withdraw-context.js +1 -0
  92. package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/allocations/v1/get-allocation-withdraw-context.js.map +1 -1
  93. package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/transfer-instruction/v1/get-transfer-factory.d.ts.map +1 -1
  94. package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/transfer-instruction/v1/get-transfer-factory.js +1 -0
  95. package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/transfer-instruction/v1/get-transfer-factory.js.map +1 -1
  96. package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/transfer-instruction/v1/get-transfer-instruction-accept-context.d.ts.map +1 -1
  97. package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/transfer-instruction/v1/get-transfer-instruction-accept-context.js +1 -0
  98. package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/transfer-instruction/v1/get-transfer-instruction-accept-context.js.map +1 -1
  99. package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/transfer-instruction/v1/get-transfer-instruction-reject-context.d.ts.map +1 -1
  100. package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/transfer-instruction/v1/get-transfer-instruction-reject-context.js +1 -0
  101. package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/transfer-instruction/v1/get-transfer-instruction-reject-context.js.map +1 -1
  102. package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/transfer-instruction/v1/get-transfer-instruction-withdraw-context.d.ts.map +1 -1
  103. package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/transfer-instruction/v1/get-transfer-instruction-withdraw-context.js +1 -0
  104. package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/transfer-instruction/v1/get-transfer-instruction-withdraw-context.js.map +1 -1
  105. package/build/src/clients/validator-api/operations/v0/wallet/buy-traffic-requests/get-status.d.ts.map +1 -1
  106. package/build/src/clients/validator-api/operations/v0/wallet/buy-traffic-requests/get-status.js +1 -0
  107. package/build/src/clients/validator-api/operations/v0/wallet/buy-traffic-requests/get-status.js.map +1 -1
  108. package/build/src/clients/validator-api/operations/v0/wallet/transfer-offers/get-status.d.ts.map +1 -1
  109. package/build/src/clients/validator-api/operations/v0/wallet/transfer-offers/get-status.js +1 -0
  110. package/build/src/clients/validator-api/operations/v0/wallet/transfer-offers/get-status.js.map +1 -1
  111. package/build/src/core/BaseClient.d.ts +5 -4
  112. package/build/src/core/BaseClient.d.ts.map +1 -1
  113. package/build/src/core/BaseClient.js +8 -8
  114. package/build/src/core/BaseClient.js.map +1 -1
  115. package/build/src/core/errors.d.ts +26 -1
  116. package/build/src/core/errors.d.ts.map +1 -1
  117. package/build/src/core/errors.js +30 -9
  118. package/build/src/core/errors.js.map +1 -1
  119. package/build/src/core/http/HttpClient.d.ts +41 -31
  120. package/build/src/core/http/HttpClient.d.ts.map +1 -1
  121. package/build/src/core/http/HttpClient.js +391 -118
  122. package/build/src/core/http/HttpClient.js.map +1 -1
  123. package/build/src/core/http/abort.d.ts +9 -0
  124. package/build/src/core/http/abort.d.ts.map +1 -0
  125. package/build/src/core/http/abort.js +54 -0
  126. package/build/src/core/http/abort.js.map +1 -0
  127. package/build/src/core/http/index.d.ts +1 -0
  128. package/build/src/core/http/index.d.ts.map +1 -1
  129. package/build/src/core/http/index.js +1 -0
  130. package/build/src/core/http/index.js.map +1 -1
  131. package/build/src/core/http/request-retry.d.ts +130 -0
  132. package/build/src/core/http/request-retry.d.ts.map +1 -0
  133. package/build/src/core/http/request-retry.js +14 -0
  134. package/build/src/core/http/request-retry.js.map +1 -0
  135. package/build/src/core/http/request-value.d.ts +5 -0
  136. package/build/src/core/http/request-value.d.ts.map +1 -0
  137. package/build/src/core/http/request-value.js +63 -0
  138. package/build/src/core/http/request-value.js.map +1 -0
  139. package/build/src/core/operations/ApiOperation.d.ts +7 -5
  140. package/build/src/core/operations/ApiOperation.d.ts.map +1 -1
  141. package/build/src/core/operations/ApiOperation.js +19 -11
  142. package/build/src/core/operations/ApiOperation.js.map +1 -1
  143. package/build/src/core/operations/ApiOperationFactory.d.ts +20 -4
  144. package/build/src/core/operations/ApiOperationFactory.d.ts.map +1 -1
  145. package/build/src/core/operations/ApiOperationFactory.js +48 -8
  146. package/build/src/core/operations/ApiOperationFactory.js.map +1 -1
  147. package/build/src/core/operations/index.d.ts +2 -0
  148. package/build/src/core/operations/index.d.ts.map +1 -1
  149. package/build/src/core/operations/index.js +2 -0
  150. package/build/src/core/operations/index.js.map +1 -1
  151. package/build/src/core/operations/operation-execute-options.d.ts +68 -0
  152. package/build/src/core/operations/operation-execute-options.d.ts.map +1 -0
  153. package/build/src/core/operations/operation-execute-options.js +36 -0
  154. package/build/src/core/operations/operation-execute-options.js.map +1 -0
  155. package/build/src/core/operations/operation-request-options.d.ts +15 -0
  156. package/build/src/core/operations/operation-request-options.d.ts.map +1 -0
  157. package/build/src/core/operations/operation-request-options.js +106 -0
  158. package/build/src/core/operations/operation-request-options.js.map +1 -0
  159. package/build/src/utils/mining/mining-rounds.d.ts +4 -3
  160. package/build/src/utils/mining/mining-rounds.d.ts.map +1 -1
  161. package/build/src/utils/mining/mining-rounds.js +4 -4
  162. package/build/src/utils/mining/mining-rounds.js.map +1 -1
  163. package/package.json +1 -1
@@ -3,7 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createRequestSchema = createRequestSchema;
4
4
  exports.createApiOperation = createApiOperation;
5
5
  const zod_1 = require("zod");
6
+ const errors_1 = require("../errors");
7
+ const abort_1 = require("../http/abort");
6
8
  const ApiOperation_1 = require("./ApiOperation");
9
+ const operation_execute_options_1 = require("./operation-execute-options");
10
+ const operation_request_options_1 = require("./operation-request-options");
7
11
  /**
8
12
  * Creates an exact runtime schema for a generated JSON request object.
9
13
  *
@@ -32,29 +36,65 @@ function createRequestSchema() {
32
36
  */
33
37
  function createApiOperation(config) {
34
38
  return class extends ApiOperation_1.ApiOperation {
35
- async execute(params) {
39
+ async execute(params, options) {
40
+ const operationOptions = (0, operation_execute_options_1.snapshotOperationExecuteOptions)(options);
41
+ const effectiveOperationOptions = operationOptions ?? Object.freeze({});
36
42
  // Validate parameters
37
- const validatedParams = this.validateParams(params, config.paramsSchema);
38
- const url = config.buildUrl(validatedParams, this.getApiUrl(), this.client);
43
+ const currentParams = this.validateParams(params, config.paramsSchema);
44
+ const apiUrl = this.getApiUrl();
45
+ const url = config.buildUrl(currentParams, apiUrl, this.client);
46
+ const requestSemantics = config.requestSemantics ?? (config.method === 'GET' ? 'read' : 'mutation');
47
+ if ((config.method === 'DELETE' || config.method === 'PATCH') && requestSemantics !== 'mutation') {
48
+ throw new errors_1.ConfigurationError(`Factory-created ${config.method} operations must use mutation semantics`);
49
+ }
39
50
  const requestConfig = config.requestConfig ?? {
40
51
  contentType: 'application/json',
41
52
  includeBearerToken: true,
42
53
  };
54
+ const buildRequestData = async (attemptParams) => {
55
+ if (config.method !== 'POST' && config.method !== 'PATCH')
56
+ return undefined;
57
+ return config.buildRequestData?.(attemptParams, this.client);
58
+ };
59
+ const buildHttpRequestOptions = (semantics, snapshottedOptions, buildBody) => (0, operation_request_options_1.createOperationHttpRequestOptions)({
60
+ initialParams: currentParams,
61
+ options: snapshottedOptions,
62
+ requestSemantics: semantics,
63
+ initialUrl: url,
64
+ validateParams: (derivedParams) => this.validateParams(derivedParams, config.paramsSchema),
65
+ buildUrl: (derivedParams) => config.buildUrl(derivedParams, apiUrl, this.client),
66
+ buildBody,
67
+ });
43
68
  let response;
44
69
  if (config.method === 'GET') {
45
- response = await this.makeGetRequest(url, requestConfig);
70
+ if (requestSemantics !== 'read') {
71
+ throw new errors_1.ConfigurationError('Factory-created GET operations must use read semantics');
72
+ }
73
+ const httpOptions = operationOptions === undefined && config.requestSemantics === undefined
74
+ ? undefined
75
+ : buildHttpRequestOptions('read', effectiveOperationOptions, () => undefined);
76
+ response = await this.makeGetRequest(url, requestConfig, httpOptions);
46
77
  }
47
78
  else if (config.method === 'DELETE') {
48
- response = await this.makeDeleteRequest(url, requestConfig);
79
+ const httpOptions = operationOptions === undefined && config.requestSemantics === undefined
80
+ ? undefined
81
+ : buildHttpRequestOptions(requestSemantics, effectiveOperationOptions, () => undefined);
82
+ response = await this.makeDeleteRequest(url, requestConfig, httpOptions);
49
83
  }
50
84
  else {
51
- const data = await config.buildRequestData?.(validatedParams, this.client);
85
+ const data = await (0, abort_1.awaitWithAbort)(async () => {
86
+ const requestData = await buildRequestData(currentParams);
87
+ return requestData;
88
+ }, operationOptions?.signal);
89
+ const httpOptions = operationOptions === undefined && config.requestSemantics === undefined
90
+ ? undefined
91
+ : buildHttpRequestOptions(requestSemantics, effectiveOperationOptions, buildRequestData);
52
92
  if (config.method === 'POST') {
53
- response = await this.makePostRequest(url, data, requestConfig);
93
+ response = await this.makePostRequest(url, data, requestConfig, httpOptions);
54
94
  }
55
95
  else {
56
96
  // config.method === 'PATCH'
57
- response = await this.makePatchRequest(url, data, requestConfig);
97
+ response = await this.makePatchRequest(url, data, requestConfig, httpOptions);
58
98
  }
59
99
  }
60
100
  // Transform response if needed
@@ -1 +1 @@
1
- {"version":3,"file":"ApiOperationFactory.js","sourceRoot":"","sources":["../../../../src/core/operations/ApiOperationFactory.ts"],"names":[],"mappings":";;;;AAAA,6BAAwB;AAGxB,iDAA8C;AA0B9C;;;;;;GAMG;AACH;IACE,MAAM,YAAY,GAA4B,CAAC,KAAK,EAAE,EAAE,CACtD,OAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,EAAK,EAAE;QAC3C,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CACjD,CAAC,KAAK,EAA8B,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,CAC9D,CAAC;QACF,OAAO,MAAM,CAAC,WAAW,CAAC,cAAc,CAAM,CAAC;IACjD,CAAC,CAAC,CAAC;IAEL,OAAO,YAAY,CAAC;AACtB,CAAC;AAgCD;;;;;;;;;;;GAWG;AACH,4BACE,MAA4C;IAE5C,OAAO,KAAM,SAAQ,2BAA8B;QACjD,KAAK,CAAC,OAAO,CAAC,MAAc;YAC1B,sBAAsB;YACtB,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;YAEzE,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5E,MAAM,aAAa,GAAkB,MAAM,CAAC,aAAa,IAAI;gBAC3D,WAAW,EAAE,kBAAkB;gBAC/B,kBAAkB,EAAE,IAAI;aACzB,CAAC;YAEF,IAAI,QAAkB,CAAC;YAEvB,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBAC5B,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAW,GAAG,EAAE,aAAa,CAAC,CAAC;YACrE,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACtC,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAW,GAAG,EAAE,aAAa,CAAC,CAAC;YACxE,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,gBAAgB,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC3E,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBAC7B,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAW,GAAG,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;gBAC5E,CAAC;qBAAM,CAAC;oBACN,4BAA4B;oBAC5B,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAW,GAAG,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;gBAC7E,CAAC;YACH,CAAC;YAED,+BAA+B;YAC/B,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBAC7B,OAAO,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAC5C,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ApiOperationFactory.js","sourceRoot":"","sources":["../../../../src/core/operations/ApiOperationFactory.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  export * from './ApiOperation';
2
2
  export * from './ApiOperationFactory';
3
+ export * from './operation-execute-options';
4
+ export * from './operation-request-options';
3
5
  export * from './WebSocketOperationFactory';
4
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/operations/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/operations/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC"}
@@ -16,5 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./ApiOperation"), exports);
18
18
  __exportStar(require("./ApiOperationFactory"), exports);
19
+ __exportStar(require("./operation-execute-options"), exports);
20
+ __exportStar(require("./operation-request-options"), exports);
19
21
  __exportStar(require("./WebSocketOperationFactory"), exports);
20
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/operations/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,wDAAsC;AACtC,8DAA4C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/operations/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,wDAAsC;AACtC,8DAA4C;AAC5C,8DAA4C;AAC5C,8DAA4C"}
@@ -0,0 +1,68 @@
1
+ import { type DeepReadonly, type MaybePromise, type RequestAttemptSummary, type RequestErrorClassification, type RequestOutcomeCertainty } from '../http/request-retry';
2
+ /** Context supplied before an operation request attempt is dispatched. */
3
+ export interface OperationAttemptContext<Params> {
4
+ /** One-based request attempt number. */
5
+ readonly attempt: number;
6
+ /** Immutable, validated operation parameters for the current attempt. */
7
+ readonly params: DeepReadonly<Params>;
8
+ /** Redacted summaries of failed attempts that preceded this one. */
9
+ readonly previousAttempts: readonly RequestAttemptSummary[];
10
+ /** Cancellation signal supplied for the operation, when present. */
11
+ readonly signal?: AbortSignal;
12
+ }
13
+ /** Context supplied after an operation request attempt fails. */
14
+ export interface OperationRetryContext<Params> extends OperationAttemptContext<Params> {
15
+ /** Normalized transport error for the failed attempt. */
16
+ readonly error: Error;
17
+ /** Classification of the failed attempt. */
18
+ readonly errorClassification: RequestErrorClassification;
19
+ /** Certainty of the server-side outcome, independently from whether the error is transient. */
20
+ readonly outcomeCertainty: RequestOutcomeCertainty;
21
+ /** Whether the transport error is normally transient. */
22
+ readonly retryable: boolean;
23
+ }
24
+ /** Shared hooks for an operation that explicitly opts into retry. */
25
+ export interface RequestRetryHooks<Params> {
26
+ /** Maximum number of attempts, including the initial request. */
27
+ readonly maxAttempts: number;
28
+ /**
29
+ * Optional retry predicate. Without one, reads retry transient failures while mutations retry only definite transient
30
+ * rejections. Ambiguous mutation outcomes require an explicit predicate override.
31
+ */
32
+ readonly shouldRetry?: (context: OperationRetryContext<Params>) => MaybePromise<boolean>;
33
+ /** Optional delay, or delay calculator, evaluated between attempts. */
34
+ readonly backoffMs?: number | ((context: OperationRetryContext<Params>) => MaybePromise<number>);
35
+ /** Hook awaited immediately before every attempt, including the first. */
36
+ readonly beforeAttempt?: (context: OperationAttemptContext<Params>) => MaybePromise<void>;
37
+ /** Returns a redacted identifier, such as a command ID, that is safe to expose if the mutation outcome is unknown. */
38
+ readonly getAttemptIdentifier?: (context: OperationAttemptContext<Params>) => MaybePromise<string | undefined>;
39
+ }
40
+ /** Disable automatic retry. This is the default for every mutating operation. */
41
+ export interface NoRequestRetryStrategy {
42
+ readonly kind: 'none';
43
+ }
44
+ /** Replay the exact immutable HTTP body built for the first operation attempt. */
45
+ export interface ExactBodyRequestRetryStrategy<Params> extends RequestRetryHooks<Params> {
46
+ readonly kind: 'exact-body';
47
+ }
48
+ /** Revalidate parameters and rebuild the HTTP body before each retry. */
49
+ export interface DerivedBodyRequestRetryStrategy<Params> extends RequestRetryHooks<Params> {
50
+ readonly kind: 'derived-body';
51
+ /** Produce the operation parameters for the next attempt. The operation endpoint may not change. */
52
+ readonly deriveParams: (context: OperationRetryContext<Params>) => MaybePromise<DeepReadonly<Params>>;
53
+ }
54
+ /** Immutable retry behavior for one operation execution. */
55
+ export type RequestRetryStrategy<Params> = NoRequestRetryStrategy | ExactBodyRequestRetryStrategy<Params> | DerivedBodyRequestRetryStrategy<Params>;
56
+ /** Transport and retry controls for one operation execution. */
57
+ export interface OperationExecuteOptions<Params> {
58
+ readonly signal?: AbortSignal;
59
+ readonly retry?: RequestRetryStrategy<Params>;
60
+ }
61
+ /**
62
+ * Capture caller-owned execution options before an operation crosses an asynchronous boundary.
63
+ *
64
+ * The returned objects retain the original signal and hook function references but cannot be redirected by replacing
65
+ * properties on the caller's options or retry objects while request data is being built.
66
+ */
67
+ export declare function snapshotOperationExecuteOptions<Params>(options: OperationExecuteOptions<Params> | undefined): Readonly<OperationExecuteOptions<Params>> | undefined;
68
+ //# sourceMappingURL=operation-execute-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-execute-options.d.ts","sourceRoot":"","sources":["../../../../src/core/operations/operation-execute-options.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.snapshotOperationExecuteOptions = snapshotOperationExecuteOptions;
4
+ /**
5
+ * Capture caller-owned execution options before an operation crosses an asynchronous boundary.
6
+ *
7
+ * The returned objects retain the original signal and hook function references but cannot be redirected by replacing
8
+ * properties on the caller's options or retry objects while request data is being built.
9
+ */
10
+ function snapshotOperationExecuteOptions(options) {
11
+ if (options === undefined)
12
+ return undefined;
13
+ const { signal, retry } = options;
14
+ const retrySnapshot = retry === undefined ? undefined : snapshotRequestRetryStrategy(retry);
15
+ return Object.freeze({
16
+ ...(signal !== undefined ? { signal } : {}),
17
+ ...(retrySnapshot !== undefined ? { retry: retrySnapshot } : {}),
18
+ });
19
+ }
20
+ function snapshotRequestRetryStrategy(retry) {
21
+ if (retry.kind === 'none')
22
+ return Object.freeze({ kind: 'none' });
23
+ const { maxAttempts, shouldRetry, backoffMs, beforeAttempt, getAttemptIdentifier } = retry;
24
+ const hooks = {
25
+ maxAttempts,
26
+ ...(shouldRetry !== undefined ? { shouldRetry } : {}),
27
+ ...(backoffMs !== undefined ? { backoffMs } : {}),
28
+ ...(beforeAttempt !== undefined ? { beforeAttempt } : {}),
29
+ ...(getAttemptIdentifier !== undefined ? { getAttemptIdentifier } : {}),
30
+ };
31
+ if (retry.kind === 'exact-body')
32
+ return Object.freeze({ kind: 'exact-body', ...hooks });
33
+ const { deriveParams } = retry;
34
+ return Object.freeze({ kind: 'derived-body', ...hooks, deriveParams });
35
+ }
36
+ //# sourceMappingURL=operation-execute-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-execute-options.js","sourceRoot":"","sources":["../../../../src/core/operations/operation-execute-options.ts"],"names":[],"mappings":";;;AA8EA;;;;;GAKG;AACH,yCACE,OAAoD;IAEpD,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAE5C,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAClC,MAAM,aAAa,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC;IAC5F,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjE,CAAC,CAAC;AACL,CAAC;AAED,SAAS,4BAA4B,CAAS,KAAmC;IAC/E,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAElE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,oBAAoB,EAAE,GAAG,KAAK,CAAC;IAC3F,MAAM,KAAK,GAAG;QACZ,WAAW;QACX,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,GAAG,CAAC,oBAAoB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxE,CAAC;IACF,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IAExF,MAAM,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IAC/B,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;AACzE,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { type HttpRequestOptionsForSemantics, type MaybePromise, type RequestSemantics } from '../http/request-retry';
2
+ import { type OperationExecuteOptions } from './operation-execute-options';
3
+ /** Inputs needed to map one operation's typed retry controls onto a fixed HTTP endpoint. */
4
+ export interface OperationRequestOptionsConfig<Params, Body, Semantics extends RequestSemantics> {
5
+ readonly initialParams: Params;
6
+ readonly options: OperationExecuteOptions<Params>;
7
+ readonly requestSemantics: Semantics;
8
+ readonly initialUrl: string;
9
+ readonly validateParams: (params: Params) => Params;
10
+ readonly buildUrl: (params: Params) => MaybePromise<string>;
11
+ readonly buildBody: (params: Params) => MaybePromise<Body>;
12
+ }
13
+ /** Map operation-level params/hooks to transport-level body/hooks without exposing unsound caller subtypes. */
14
+ export declare function createOperationHttpRequestOptions<Params, Body, Semantics extends RequestSemantics>(config: OperationRequestOptionsConfig<Params, Body, Semantics>): HttpRequestOptionsForSemantics<Body, Semantics>;
15
+ //# sourceMappingURL=operation-request-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-request-options.d.ts","sourceRoot":"","sources":["../../../../src/core/operations/operation-request-options.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,8BAA8B,EAInC,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAEL,KAAK,uBAAuB,EAI7B,MAAM,6BAA6B,CAAC;AAErC,4FAA4F;AAC5F,MAAM,WAAW,6BAA6B,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,SAAS,gBAAgB;IAC7F,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAClD,QAAQ,CAAC,gBAAgB,EAAE,SAAS,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IACpD,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,YAAY,CAAC,MAAM,CAAC,CAAC;IAC5D,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;CAC5D;AAED,+GAA+G;AAC/G,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,SAAS,gBAAgB,EAChG,MAAM,EAAE,6BAA6B,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,GAC7D,8BAA8B,CAAC,IAAI,EAAE,SAAS,CAAC,CA+CjD"}
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createOperationHttpRequestOptions = createOperationHttpRequestOptions;
4
+ const errors_1 = require("../errors");
5
+ const request_value_1 = require("../http/request-value");
6
+ /** Map operation-level params/hooks to transport-level body/hooks without exposing unsound caller subtypes. */
7
+ function createOperationHttpRequestOptions(config) {
8
+ let currentParams = config.initialParams;
9
+ const toOperationAttemptContext = (context) => Object.freeze({
10
+ attempt: context.attempt,
11
+ params: createReadonlyParams(currentParams),
12
+ previousAttempts: context.previousAttempts,
13
+ ...(context.signal !== undefined ? { signal: context.signal } : {}),
14
+ });
15
+ const toOperationRetryContext = (context) => Object.freeze({
16
+ ...toOperationAttemptContext(context),
17
+ error: context.error,
18
+ errorClassification: context.errorClassification,
19
+ outcomeCertainty: context.outcomeCertainty,
20
+ retryable: context.retryable,
21
+ });
22
+ const operationRetry = config.options.retry;
23
+ const deriveBody = operationRetry?.kind === 'derived-body'
24
+ ? async (context) => {
25
+ const readonlyDerivedParams = await operationRetry.deriveParams(toOperationRetryContext(context));
26
+ const derivedParams = cloneDerivedParams(readonlyDerivedParams);
27
+ const validatedDerivedParams = config.validateParams(derivedParams);
28
+ const derivedUrl = await config.buildUrl(validatedDerivedParams);
29
+ if (derivedUrl !== config.initialUrl) {
30
+ throw new errors_1.ValidationError('Derived retry parameters must resolve to the same HTTP endpoint as the initial request');
31
+ }
32
+ currentParams = validatedDerivedParams;
33
+ return (await config.buildBody(currentParams));
34
+ }
35
+ : undefined;
36
+ const retry = operationRetry === undefined
37
+ ? undefined
38
+ : mapOperationRetryStrategy(operationRetry, toOperationAttemptContext, toOperationRetryContext, deriveBody);
39
+ return {
40
+ ...(config.options.signal !== undefined ? { signal: config.options.signal } : {}),
41
+ ...(retry !== undefined ? { retry } : {}),
42
+ requestSemantics: config.requestSemantics,
43
+ };
44
+ }
45
+ function mapOperationRetryStrategy(retry, toAttemptContext, toRetryContext, deriveBody) {
46
+ if (retry.kind === 'none')
47
+ return Object.freeze({ kind: 'none' });
48
+ const hooks = mapRetryHooks(retry, toAttemptContext, toRetryContext);
49
+ if (retry.kind === 'exact-body')
50
+ return Object.freeze({ kind: 'exact-body', ...hooks });
51
+ if (deriveBody === undefined) {
52
+ throw new errors_1.ConfigurationError('A derived-body retry strategy requires a body derivation callback');
53
+ }
54
+ return Object.freeze({ kind: 'derived-body', ...hooks, deriveBody });
55
+ }
56
+ function mapRetryHooks(hooks, toAttemptContext, toRetryContext) {
57
+ const { shouldRetry, backoffMs, beforeAttempt, getAttemptIdentifier } = hooks;
58
+ return {
59
+ maxAttempts: hooks.maxAttempts,
60
+ ...(shouldRetry !== undefined
61
+ ? {
62
+ shouldRetry: async (context) => shouldRetry(toRetryContext(context)),
63
+ }
64
+ : {}),
65
+ ...(typeof backoffMs === 'function'
66
+ ? {
67
+ backoffMs: async (context) => backoffMs(toRetryContext(context)),
68
+ }
69
+ : backoffMs !== undefined
70
+ ? { backoffMs }
71
+ : {}),
72
+ ...(beforeAttempt !== undefined
73
+ ? {
74
+ beforeAttempt: async (context) => beforeAttempt(toAttemptContext(context)),
75
+ }
76
+ : {}),
77
+ ...(getAttemptIdentifier !== undefined
78
+ ? {
79
+ getAttemptIdentifier: async (context) => getAttemptIdentifier(toAttemptContext(context)),
80
+ }
81
+ : {}),
82
+ };
83
+ }
84
+ function createReadonlyParams(params) {
85
+ if (params === null || typeof params !== 'object')
86
+ return params;
87
+ try {
88
+ return (0, request_value_1.deepFreezeRequestValue)((0, request_value_1.cloneRequestValue)(params));
89
+ }
90
+ catch (error) {
91
+ throw new errors_1.ConfigurationError('Retryable operation parameters must be structured-cloneable', {
92
+ cause: error instanceof Error ? error.message : 'unknown clone failure',
93
+ });
94
+ }
95
+ }
96
+ function cloneDerivedParams(params) {
97
+ try {
98
+ return (0, request_value_1.cloneRequestValue)(params);
99
+ }
100
+ catch (error) {
101
+ throw new errors_1.ConfigurationError('Derived retry parameters must be structured-cloneable', {
102
+ cause: error instanceof Error ? error.message : 'unknown clone failure',
103
+ });
104
+ }
105
+ }
106
+ //# sourceMappingURL=operation-request-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-request-options.js","sourceRoot":"","sources":["../../../../src/core/operations/operation-request-options.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import { type DisclosedContract } from '../../clients/ledger-json-api/schemas';
2
2
  import { type GetOpenAndIssuingMiningRoundsResponse } from '../../clients/validator-api/schemas/api';
3
+ import { type OperationExecuteOptions } from '../../core/operations';
3
4
  /** Minimal Validator/client operations dependency surface required by mining helper utilities. */
4
5
  export interface MiningRoundClient {
5
- getOpenAndIssuingMiningRounds: () => Promise<GetOpenAndIssuingMiningRoundsResponse>;
6
+ getOpenAndIssuingMiningRounds: (options?: OperationExecuteOptions<void>) => Promise<GetOpenAndIssuingMiningRoundsResponse>;
6
7
  }
7
8
  /** Context information derived from open / issuing mining rounds. */
8
9
  export interface MiningRoundContext {
@@ -22,7 +23,7 @@ export interface MiningRoundContext {
22
23
  *
23
24
  * @throws Error if no mining round satisfies the criteria
24
25
  */
25
- export declare function getCurrentMiningRoundContext(validatorClient: MiningRoundClient): Promise<MiningRoundContext>;
26
+ export declare function getCurrentMiningRoundContext(validatorClient: MiningRoundClient, options?: OperationExecuteOptions<void>): Promise<MiningRoundContext>;
26
27
  /**
27
28
  * Gets the domain ID from the current mining round context. This is useful for operations that need to automatically
28
29
  * determine the domain ID.
@@ -31,7 +32,7 @@ export declare function getCurrentMiningRoundContext(validatorClient: MiningRoun
31
32
  * @returns Promise resolving to the domain ID string
32
33
  * @throws Error if no mining round satisfies the criteria
33
34
  */
34
- export declare function getCurrentMiningRoundDomainId(validatorClient: MiningRoundClient): Promise<string>;
35
+ export declare function getCurrentMiningRoundDomainId(validatorClient: MiningRoundClient, options?: OperationExecuteOptions<void>): Promise<string>;
35
36
  /**
36
37
  * Gets the current mining round number by fetching the latest open mining round
37
38
  *
@@ -1 +1 @@
1
- {"version":3,"file":"mining-rounds.d.ts","sourceRoot":"","sources":["../../../../src/utils/mining/mining-rounds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EACL,KAAK,qCAAqC,EAG3C,MAAM,yCAAyC,CAAC;AAGjD,kGAAkG;AAClG,MAAM,WAAW,iBAAiB;IAChC,6BAA6B,EAAE,MAAM,OAAO,CAAC,qCAAqC,CAAC,CAAC;CACrF;AA0BD,qEAAqE;AACrE,MAAM,WAAW,kBAAkB;IACjC,qEAAqE;IACrE,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,+EAA+E;IAC/E,QAAQ,CAAC,uBAAuB,EAAE,iBAAiB,CAAC;IACpD,6DAA6D;IAC7D,QAAQ,CAAC,mBAAmB,EAAE,aAAa,CAAC;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtG;AAED;;;;;GAKG;AACH,wBAAsB,4BAA4B,CAAC,eAAe,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAmDlH;AAED;;;;;;;GAOG;AACH,wBAAsB,6BAA6B,CAAC,eAAe,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAGvG;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CAAC,eAAe,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAgB/F;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,eAAe,EAAE,iBAAiB,EAClC,WAAW,GAAE,MAAuB,GACnC,OAAO,CAAC,IAAI,CAAC,CAyCf"}
1
+ {"version":3,"file":"mining-rounds.d.ts","sourceRoot":"","sources":["../../../../src/utils/mining/mining-rounds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EACL,KAAK,qCAAqC,EAG3C,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAErE,kGAAkG;AAClG,MAAM,WAAW,iBAAiB;IAChC,6BAA6B,EAAE,CAC7B,OAAO,CAAC,EAAE,uBAAuB,CAAC,IAAI,CAAC,KACpC,OAAO,CAAC,qCAAqC,CAAC,CAAC;CACrD;AA0BD,qEAAqE;AACrE,MAAM,WAAW,kBAAkB;IACjC,qEAAqE;IACrE,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,+EAA+E;IAC/E,QAAQ,CAAC,uBAAuB,EAAE,iBAAiB,CAAC;IACpD,6DAA6D;IAC7D,QAAQ,CAAC,mBAAmB,EAAE,aAAa,CAAC;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtG;AAED;;;;;GAKG;AACH,wBAAsB,4BAA4B,CAChD,eAAe,EAAE,iBAAiB,EAClC,OAAO,CAAC,EAAE,uBAAuB,CAAC,IAAI,CAAC,GACtC,OAAO,CAAC,kBAAkB,CAAC,CAmD7B;AAED;;;;;;;GAOG;AACH,wBAAsB,6BAA6B,CACjD,eAAe,EAAE,iBAAiB,EAClC,OAAO,CAAC,EAAE,uBAAuB,CAAC,IAAI,CAAC,GACtC,OAAO,CAAC,MAAM,CAAC,CAGjB;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CAAC,eAAe,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAgB/F;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,eAAe,EAAE,iBAAiB,EAClC,WAAW,GAAE,MAAuB,GACnC,OAAO,CAAC,IAAI,CAAC,CAyCf"}
@@ -31,8 +31,8 @@ function findLatestMiningRound(openMiningRounds) {
31
31
  *
32
32
  * @throws Error if no mining round satisfies the criteria
33
33
  */
34
- async function getCurrentMiningRoundContext(validatorClient) {
35
- const miningRoundsResponse = await validatorClient.getOpenAndIssuingMiningRounds();
34
+ async function getCurrentMiningRoundContext(validatorClient, options) {
35
+ const miningRoundsResponse = await validatorClient.getOpenAndIssuingMiningRounds(options);
36
36
  // Filter for rounds that have opened already (opensAt <= now)
37
37
  const now = new Date();
38
38
  const validOpenRounds = miningRoundsResponse.open_mining_rounds.filter((round) => {
@@ -81,8 +81,8 @@ async function getCurrentMiningRoundContext(validatorClient) {
81
81
  * @returns Promise resolving to the domain ID string
82
82
  * @throws Error if no mining round satisfies the criteria
83
83
  */
84
- async function getCurrentMiningRoundDomainId(validatorClient) {
85
- const miningRoundContext = await getCurrentMiningRoundContext(validatorClient);
84
+ async function getCurrentMiningRoundDomainId(validatorClient, options) {
85
+ const miningRoundContext = await getCurrentMiningRoundContext(validatorClient, options);
86
86
  return miningRoundContext.openMiningRoundContract.synchronizerId;
87
87
  }
88
88
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"mining-rounds.js","sourceRoot":"","sources":["../../../../src/utils/mining/mining-rounds.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mining-rounds.js","sourceRoot":"","sources":["../../../../src/utils/mining/mining-rounds.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fairmint/canton-node-sdk",
3
- "version": "0.0.238",
3
+ "version": "0.0.239",
4
4
  "description": "Canton Node SDK",
5
5
  "keywords": [
6
6
  "canton",