@fairmint/canton-node-sdk 0.0.115 → 0.0.117

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 (23) hide show
  1. package/README.md +45 -0
  2. package/build/src/clients/ledger-json-api/operations/v2/state/get-active-contracts.js +1 -1
  3. package/build/src/clients/ledger-json-api/operations/v2/state/get-active-contracts.js.map +1 -1
  4. package/build/src/clients/ledger-json-api/operations/v2/updates/subscribe-to-updates.js +1 -1
  5. package/build/src/clients/ledger-json-api/operations/v2/updates/subscribe-to-updates.js.map +1 -1
  6. package/build/src/clients/ledger-json-api/operations/v2/utils/event-format-builder.d.ts +22 -19
  7. package/build/src/clients/ledger-json-api/operations/v2/utils/event-format-builder.d.ts.map +1 -1
  8. package/build/src/clients/ledger-json-api/operations/v2/utils/event-format-builder.js +34 -24
  9. package/build/src/clients/ledger-json-api/operations/v2/utils/event-format-builder.js.map +1 -1
  10. package/build/src/core/http/HttpClient.d.ts +13 -5
  11. package/build/src/core/http/HttpClient.d.ts.map +1 -1
  12. package/build/src/core/http/HttpClient.js +50 -20
  13. package/build/src/core/http/HttpClient.js.map +1 -1
  14. package/build/src/utils/amulet/get-amulets-for-transfer.d.ts +28 -3
  15. package/build/src/utils/amulet/get-amulets-for-transfer.d.ts.map +1 -1
  16. package/build/src/utils/amulet/get-amulets-for-transfer.js +87 -45
  17. package/build/src/utils/amulet/get-amulets-for-transfer.js.map +1 -1
  18. package/build/src/utils/amulet/pre-approve-transfers.d.ts +2 -0
  19. package/build/src/utils/amulet/pre-approve-transfers.d.ts.map +1 -1
  20. package/build/src/utils/amulet/pre-approve-transfers.js +5 -3
  21. package/build/src/utils/amulet/pre-approve-transfers.js.map +1 -1
  22. package/example.env.localnet +103 -0
  23. package/package.json +9 -3
package/README.md CHANGED
@@ -24,3 +24,48 @@ const version = await client.getVersion();
24
24
 
25
25
  See [CONTRIBUTING.md](./CONTRIBUTING.md) for information about setting up the development
26
26
  environment.
27
+
28
+ ## Testing with LocalNet
29
+
30
+ The SDK includes comprehensive integration testing against a local Splice network (LocalNet). See
31
+ the [LocalNet Testing Guide](./docs/LOCALNET_TESTING.md) for detailed instructions.
32
+
33
+ ### Quick Start
34
+
35
+ ```bash
36
+ # Setup LocalNet
37
+ npm run localnet:setup
38
+
39
+ # Set environment variables (shown by setup script)
40
+ export LOCALNET_DIR="/tmp/splice-localnet/splice-node/docker-compose/localnet"
41
+ export IMAGE_TAG="0.4.22"
42
+
43
+ # Start LocalNet
44
+ npm run localnet:start
45
+
46
+ # Run regression tests
47
+ npm run test:regression
48
+
49
+ # Stop LocalNet
50
+ npm run localnet:stop
51
+ ```
52
+
53
+ ### Available Commands
54
+
55
+ - `npm run localnet:setup` - Download and setup LocalNet
56
+ - `npm run localnet:start` - Start LocalNet services
57
+ - `npm run localnet:stop` - Stop LocalNet services
58
+ - `npm run localnet:status` - Check LocalNet status
59
+ - `npm run test:localnet` - Run tests against LocalNet
60
+ - `npm run test:regression` - Alias for test:localnet
61
+
62
+ ## CI/CD
63
+
64
+ The project uses CircleCI for continuous integration:
65
+
66
+ - **Unit Tests**: Run on every commit
67
+ - **Linting**: Code quality checks on every commit
68
+ - **Integration Tests**: LocalNet regression tests on every commit
69
+ - **Nightly Regression**: Scheduled daily tests at 2 AM UTC
70
+
71
+ See [.circleci/config.yml](./.circleci/config.yml) for the complete CI configuration.
@@ -33,7 +33,7 @@ class GetActiveContracts {
33
33
  const ledgerEnd = await this.client.getLedgerEnd({});
34
34
  activeAtOffset = ledgerEnd.offset;
35
35
  }
36
- // Build party list
36
+ // Build party list - default to client's party list if not provided
37
37
  const partyList = validated.parties && validated.parties.length > 0 ? validated.parties : this.client.buildPartyList();
38
38
  // Build event format
39
39
  const eventFormat = (0, event_format_builder_1.buildEventFormat)({
@@ -1 +1 @@
1
- {"version":3,"file":"get-active-contracts.js","sourceRoot":"","sources":["../../../../../../../src/clients/ledger-json-api/operations/v2/state/get-active-contracts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-active-contracts.js","sourceRoot":"","sources":["../../../../../../../src/clients/ledger-json-api/operations/v2/state/get-active-contracts.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,4EAAyE;AAIzE,wEAAiE;AAEjE,MAAM,IAAI,GAAG,4BAAqC,CAAC;AAEnD;;;;;GAKG;AAEH,MAAM,2BAA2B,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3C,oDAAoD;IACpD,OAAO,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACvC,qDAAqD;IACrD,WAAW,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC3C,4EAA4E;IAC5E,uBAAuB,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/C,uEAAuE;IACvE,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAC;AAOH,MAAa,kBAAkB;IAC7B,YAA6B,MAA2B;QAA3B,WAAM,GAAN,MAAM,CAAqB;IAAG,CAAC;IAErD,KAAK,CAAC,OAAO,CAAC,MAAgC;QACnD,MAAM,SAAS,GAAG,2BAA2B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAE5D,oEAAoE;QACpE,IAAI,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;QACnC,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YACrD,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC;QACpC,CAAC;QAED,oEAAoE;QACpE,MAAM,SAAS,GACb,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QAEvG,qBAAqB;QACrB,MAAM,WAAW,GAAG,IAAA,uCAAgB,EAAC;YACnC,OAAO,EAAE,SAAS;YAClB,GAAG,CAAC,SAAS,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC;YAClF,GAAG,CAAC,SAAS,CAAC,uBAAuB,KAAK,SAAS,IAAI;gBACrD,uBAAuB,EAAE,SAAS,CAAC,uBAAuB;aAC3D,CAAC;SACH,CAAC,CAAC;QAEH,wBAAwB;QACxB,MAAM,cAAc,GAAG;YACrB,MAAM,EAAE,SAAoB;YAC5B,OAAO,EAAE,KAAK;YACd,cAAc;YACd,WAAW;SACH,CAAC;QAEX,MAAM,QAAQ,GAAG,IAAI,iCAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAElD,OAAO,IAAI,OAAO,CAA+B,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnE,MAAM,OAAO,GAAiC,EAAE,CAAC;YACjD,IAAI,OAAO,GAAG,KAAK,CAAC;YAEpB,KAAK,QAAQ;iBACV,OAAO,CAAiC,IAAI,EAAE,cAAc,EAAE;gBAC7D,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;oBACjB,IAAI,CAAC;wBACH,wEAAwE;wBACxE,6DAA6D;wBAC7D,MAAM,MAAM,GAAG,GAGwB,CAAC;wBAExC,0CAA0C;wBAC1C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,eAAe,IAAI,MAAM,EAAE,CAAC;4BAC5D,MAAM,IAAI,GAAG,MAAM,CAAC;4BACpB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BACnB,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gCACxC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;4BACtB,CAAC;wBACH,CAAC;6BAAM,IAAI,CAAC,OAAO,EAAE,CAAC;4BACpB,yCAAyC;4BACzC,OAAO,GAAG,IAAI,CAAC;4BACf,MAAM,CAAC,MAA0B,CAAC,CAAC;wBACrC,CAAC;oBACH,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,IAAI,CAAC,OAAO,EAAE,CAAC;4BACb,OAAO,GAAG,IAAI,CAAC;4BACf,MAAM,CAAC,CAAU,CAAC,CAAC;wBACrB,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;oBACf,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,OAAO,GAAG,IAAI,CAAC;wBACf,MAAM,CAAC,GAAY,CAAC,CAAC;oBACvB,CAAC;gBACH,CAAC;gBACD,OAAO,EAAE,GAAG,EAAE;oBACZ,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,OAAO,GAAG,IAAI,CAAC;wBACf,OAAO,CAAC,OAAO,CAAC,CAAC;oBACnB,CAAC;gBACH,CAAC;aACF,CAAC;iBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACb,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO,GAAG,IAAI,CAAC;oBACf,MAAM,CAAC,GAAY,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AA3FD,gDA2FC"}
@@ -62,7 +62,7 @@ class SubscribeToUpdates {
62
62
  const ledgerEnd = await this.client.getLedgerEnd({});
63
63
  beginExclusive = ledgerEnd.offset;
64
64
  }
65
- // Build party list
65
+ // Build party list - default to client's party list if not provided
66
66
  const partyList = validated.parties && validated.parties.length > 0 ? validated.parties : this.client.buildPartyList();
67
67
  // Build event format
68
68
  const eventFormat = (0, event_format_builder_1.buildEventFormat)({
@@ -1 +1 @@
1
- {"version":3,"file":"subscribe-to-updates.js","sourceRoot":"","sources":["../../../../../../../src/clients/ledger-json-api/operations/v2/updates/subscribe-to-updates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subscribe-to-updates.js","sourceRoot":"","sources":["../../../../../../../src/clients/ledger-json-api/operations/v2/updates/subscribe-to-updates.ts"],"names":[],"mappings":"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"}
@@ -3,41 +3,44 @@
3
3
  * provides a consistent way to construct the complex eventFormat structure from simple parameters.
4
4
  */
5
5
  export interface EventFormatBuilderParams {
6
- /** List of parties to scope the filter. */
6
+ /** List of parties to scope the filter. At least one party is required. */
7
7
  parties: string[];
8
8
  /** Optional template filters applied server-side. */
9
9
  templateIds?: string[] | undefined;
10
10
  /** Include created event blob in TemplateFilter results (default false). */
11
11
  includeCreatedEventBlob?: boolean | undefined;
12
12
  }
13
+ type FilterCumulative = Array<{
14
+ identifierFilter: {
15
+ TemplateFilter: {
16
+ value: {
17
+ templateId: string;
18
+ includeCreatedEventBlob: boolean;
19
+ };
20
+ };
21
+ };
22
+ } | {
23
+ identifierFilter: {
24
+ WildcardFilter: {
25
+ value: {
26
+ includeCreatedEventBlob: boolean;
27
+ };
28
+ };
29
+ };
30
+ }>;
13
31
  /**
14
32
  * Builds the eventFormat object structure used in various Ledger JSON API operations. This centralizes the logic for
15
33
  * creating filtersByParty configurations from simple parameters.
16
34
  *
17
35
  * @param params - Configuration parameters for building the event format
18
36
  * @returns An eventFormat object ready to be used in API requests
37
+ * @throws Error if no parties are provided
19
38
  */
20
39
  export declare function buildEventFormat(params: EventFormatBuilderParams): {
21
40
  verbose: boolean;
22
41
  filtersByParty: Record<string, {
23
- cumulative: Array<{
24
- identifierFilter: {
25
- TemplateFilter: {
26
- value: {
27
- templateId: string;
28
- includeCreatedEventBlob: boolean;
29
- };
30
- };
31
- };
32
- } | {
33
- identifierFilter: {
34
- WildcardFilter: {
35
- value: {
36
- includeCreatedEventBlob: boolean;
37
- };
38
- };
39
- };
40
- }>;
42
+ cumulative: FilterCumulative;
41
43
  }>;
42
44
  };
45
+ export {};
43
46
  //# sourceMappingURL=event-format-builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-format-builder.d.ts","sourceRoot":"","sources":["../../../../../../../src/clients/ledger-json-api/operations/v2/utils/event-format-builder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,wBAAwB;IACvC,2CAA2C;IAC3C,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACnC,4EAA4E;IAC5E,uBAAuB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/C;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,wBAAwB,GAAG;IAClE,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,MAAM,CACpB,MAAM,EACN;QACE,UAAU,EAAE,KAAK,CACb;YACE,gBAAgB,EAAE;gBAChB,cAAc,EAAE;oBACd,KAAK,EAAE;wBACL,UAAU,EAAE,MAAM,CAAC;wBACnB,uBAAuB,EAAE,OAAO,CAAC;qBAClC,CAAC;iBACH,CAAC;aACH,CAAC;SACH,GACD;YACE,gBAAgB,EAAE;gBAChB,cAAc,EAAE;oBACd,KAAK,EAAE;wBACL,uBAAuB,EAAE,OAAO,CAAC;qBAClC,CAAC;iBACH,CAAC;aACH,CAAC;SACH,CACJ,CAAC;KACH,CACF,CAAC;CACH,CAoCA"}
1
+ {"version":3,"file":"event-format-builder.d.ts","sourceRoot":"","sources":["../../../../../../../src/clients/ledger-json-api/operations/v2/utils/event-format-builder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,wBAAwB;IACvC,2EAA2E;IAC3E,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACnC,4EAA4E;IAC5E,uBAAuB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/C;AAED,KAAK,gBAAgB,GAAG,KAAK,CACzB;IACE,gBAAgB,EAAE;QAChB,cAAc,EAAE;YACd,KAAK,EAAE;gBACL,UAAU,EAAE,MAAM,CAAC;gBACnB,uBAAuB,EAAE,OAAO,CAAC;aAClC,CAAC;SACH,CAAC;KACH,CAAC;CACH,GACD;IACE,gBAAgB,EAAE;QAChB,cAAc,EAAE;YACd,KAAK,EAAE;gBACL,uBAAuB,EAAE,OAAO,CAAC;aAClC,CAAC;SACH,CAAC;KACH,CAAC;CACH,CACJ,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,wBAAwB,GAAG;IAClE,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,UAAU,EAAE,gBAAgB,CAAA;KAAE,CAAC,CAAC;CAClE,CA8CA"}
@@ -11,37 +11,47 @@ exports.buildEventFormat = buildEventFormat;
11
11
  *
12
12
  * @param params - Configuration parameters for building the event format
13
13
  * @returns An eventFormat object ready to be used in API requests
14
+ * @throws Error if no parties are provided
14
15
  */
15
16
  function buildEventFormat(params) {
17
+ if (params.parties.length === 0) {
18
+ throw new Error('At least one party is required for event format filters');
19
+ }
20
+ // Build the cumulative filter array
21
+ const buildCumulative = () => {
22
+ if (params.templateIds && params.templateIds.length > 0) {
23
+ return params.templateIds.map((templateId) => ({
24
+ identifierFilter: {
25
+ TemplateFilter: {
26
+ value: {
27
+ templateId,
28
+ includeCreatedEventBlob: params.includeCreatedEventBlob ?? false,
29
+ },
30
+ },
31
+ },
32
+ }));
33
+ }
34
+ if (params.includeCreatedEventBlob) {
35
+ return [
36
+ {
37
+ identifierFilter: {
38
+ WildcardFilter: {
39
+ value: {
40
+ includeCreatedEventBlob: true,
41
+ },
42
+ },
43
+ },
44
+ },
45
+ ];
46
+ }
47
+ return [];
48
+ };
16
49
  return {
17
50
  verbose: false,
18
51
  filtersByParty: Object.fromEntries(params.parties.map((p) => [
19
52
  p,
20
53
  {
21
- cumulative: params.templateIds && params.templateIds.length > 0
22
- ? params.templateIds.map((templateId) => ({
23
- identifierFilter: {
24
- TemplateFilter: {
25
- value: {
26
- templateId,
27
- includeCreatedEventBlob: params.includeCreatedEventBlob ?? false,
28
- },
29
- },
30
- },
31
- }))
32
- : params.includeCreatedEventBlob
33
- ? [
34
- {
35
- identifierFilter: {
36
- WildcardFilter: {
37
- value: {
38
- includeCreatedEventBlob: true,
39
- },
40
- },
41
- },
42
- },
43
- ]
44
- : [],
54
+ cumulative: buildCumulative(),
45
55
  },
46
56
  ])),
47
57
  };
@@ -1 +1 @@
1
- {"version":3,"file":"event-format-builder.js","sourceRoot":"","sources":["../../../../../../../src/clients/ledger-json-api/operations/v2/utils/event-format-builder.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAkBH,4CAgEC;AAvED;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAAC,MAAgC;IA6B/D,OAAO;QACL,OAAO,EAAE,KAAK;QACd,cAAc,EAAE,MAAM,CAAC,WAAW,CAChC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACxB,CAAC;YACD;gBACE,UAAU,EACR,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;oBACjD,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;wBACtC,gBAAgB,EAAE;4BAChB,cAAc,EAAE;gCACd,KAAK,EAAE;oCACL,UAAU;oCACV,uBAAuB,EAAE,MAAM,CAAC,uBAAuB,IAAI,KAAK;iCACjE;6BACF;yBACF;qBACF,CAAC,CAAC;oBACL,CAAC,CAAC,MAAM,CAAC,uBAAuB;wBAC9B,CAAC,CAAC;4BACE;gCACE,gBAAgB,EAAE;oCAChB,cAAc,EAAE;wCACd,KAAK,EAAE;4CACL,uBAAuB,EAAE,IAAI;yCAC9B;qCACF;iCACF;6BACF;yBACF;wBACH,CAAC,CAAC,EAAE;aACX;SACF,CAAC,CACH;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"event-format-builder.js","sourceRoot":"","sources":["../../../../../../../src/clients/ledger-json-api/operations/v2/utils/event-format-builder.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAyCH,4CAiDC;AAzDD;;;;;;;GAOG;AACH,SAAgB,gBAAgB,CAAC,MAAgC;IAI/D,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IAED,oCAAoC;IACpC,MAAM,eAAe,GAAG,GAAqB,EAAE;QAC7C,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxD,OAAO,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;gBAC7C,gBAAgB,EAAE;oBAChB,cAAc,EAAE;wBACd,KAAK,EAAE;4BACL,UAAU;4BACV,uBAAuB,EAAE,MAAM,CAAC,uBAAuB,IAAI,KAAK;yBACjE;qBACF;iBACF;aACF,CAAC,CAAC,CAAC;QACN,CAAC;QACD,IAAI,MAAM,CAAC,uBAAuB,EAAE,CAAC;YACnC,OAAO;gBACL;oBACE,gBAAgB,EAAE;wBAChB,cAAc,EAAE;4BACd,KAAK,EAAE;gCACL,uBAAuB,EAAE,IAAI;6BAC9B;yBACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IAEF,OAAO;QACL,OAAO,EAAE,KAAK;QACd,cAAc,EAAE,MAAM,CAAC,WAAW,CAChC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACxB,CAAC;YACD;gBACE,UAAU,EAAE,eAAe,EAAE;aAC9B;SACF,CAAC,CACH;KACF,CAAC;AACJ,CAAC"}
@@ -5,17 +5,25 @@ export declare class HttpClient {
5
5
  private readonly axiosInstance;
6
6
  private readonly logger;
7
7
  constructor(logger?: Logger);
8
- makeGetRequest<T>(url: string, config?: RequestConfig, _isRetry?: boolean): Promise<T>;
9
- makePostRequest<T>(url: string, data: unknown, config?: RequestConfig, _isRetry?: boolean): Promise<T>;
10
- makeDeleteRequest<T>(url: string, config?: RequestConfig, _isRetry?: boolean): Promise<T>;
11
- makePatchRequest<T>(url: string, data: unknown, config?: RequestConfig, _isRetry?: boolean): Promise<T>;
8
+ makeGetRequest<T>(url: string, config?: RequestConfig, _retryCount?: number): Promise<T>;
9
+ makePostRequest<T>(url: string, data: unknown, config?: RequestConfig, _retryCount?: number): Promise<T>;
10
+ makeDeleteRequest<T>(url: string, config?: RequestConfig, _retryCount?: number): Promise<T>;
11
+ makePatchRequest<T>(url: string, data: unknown, config?: RequestConfig, _retryCount?: number): Promise<T>;
12
12
  private buildHeaders;
13
13
  setBearerToken(token: string): void;
14
14
  clearBearerToken(): void;
15
15
  private logRequestResponse;
16
16
  private handleRequestError;
17
- /** Determines whether a request error is retryable (HTTP 5xx or network error) */
17
+ /**
18
+ * Determines whether a request error is retryable. Retries on:
19
+ *
20
+ * - HTTP 5xx server errors
21
+ * - Network errors
22
+ * - Canton-specific transient errors: UNKNOWN_CONTRACT_SYNCHRONIZERS (400), SEQUENCER_BACKPRESSURE (409), HTTP 503
23
+ */
18
24
  private isRetryableError;
25
+ /** Sleep for the specified number of milliseconds */
26
+ private sleep;
19
27
  /**
20
28
  * Prepares request data for retry by updating commandId fields to avoid duplicate command rejection. If the data
21
29
  * contains a commandId field, appends a retry suffix with timestamp to make it unique.
@@ -1 +1 @@
1
- {"version":3,"file":"HttpClient.d.ts","sourceRoot":"","sources":["../../../../src/core/http/HttpClient.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,6EAA6E;AAC7E,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;gBAEhC,MAAM,CAAC,EAAE,MAAM;IAKd,cAAc,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,aAAkB,EAAE,QAAQ,UAAQ,GAAG,OAAO,CAAC,CAAC,CAAC;IA0BxF,eAAe,CAAC,CAAC,EAC5B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,OAAO,EACb,MAAM,GAAE,aAAkB,EAC1B,QAAQ,UAAQ,GACf,OAAO,CAAC,CAAC,CAAC;IA0BA,iBAAiB,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,aAAkB,EAAE,QAAQ,UAAQ,GAAG,OAAO,CAAC,CAAC,CAAC;IAyB3F,gBAAgB,CAAC,CAAC,EAC7B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,OAAO,EACb,MAAM,GAAE,aAAkB,EAC1B,QAAQ,UAAQ,GACf,OAAO,CAAC,CAAC,CAAC;IA0Bb,OAAO,CAAC,YAAY;IAiBb,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAInC,gBAAgB,IAAI,IAAI;YAIjB,kBAAkB;IAMhC,OAAO,CAAC,kBAAkB;IAa1B,kFAAkF;IAClF,OAAO,CAAC,gBAAgB;IAUxB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;CAQ5B"}
1
+ {"version":3,"file":"HttpClient.d.ts","sourceRoot":"","sources":["../../../../src/core/http/HttpClient.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,6EAA6E;AAC7E,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;gBAEhC,MAAM,CAAC,EAAE,MAAM;IAKd,cAAc,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,aAAkB,EAAE,WAAW,SAAI,GAAG,OAAO,CAAC,CAAC,CAAC;IA2BvF,eAAe,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAAE,aAAkB,EAAE,WAAW,SAAI,GAAG,OAAO,CAAC,CAAC,CAAC;IA2BvG,iBAAiB,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,aAAkB,EAAE,WAAW,SAAI,GAAG,OAAO,CAAC,CAAC,CAAC;IA0B1F,gBAAgB,CAAC,CAAC,EAC7B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,OAAO,EACb,MAAM,GAAE,aAAkB,EAC1B,WAAW,SAAI,GACd,OAAO,CAAC,CAAC,CAAC;IA2Bb,OAAO,CAAC,YAAY;IAiBb,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAInC,gBAAgB,IAAI,IAAI;YAIjB,kBAAkB;IAMhC,OAAO,CAAC,kBAAkB;IAa1B;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;IA+BxB,qDAAqD;YACvC,KAAK;IAInB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;CAQ5B"}
@@ -12,7 +12,7 @@ class HttpClient {
12
12
  this.axiosInstance = axios_1.default.create();
13
13
  this.logger = logger;
14
14
  }
15
- async makeGetRequest(url, config = {}, _isRetry = false) {
15
+ async makeGetRequest(url, config = {}, _retryCount = 0) {
16
16
  try {
17
17
  const headers = this.buildHeaders(config);
18
18
  const response = await this.axiosInstance.get(url, { headers });
@@ -20,10 +20,11 @@ class HttpClient {
20
20
  return response.data;
21
21
  }
22
22
  catch (error) {
23
- // Attempt one automatic retry for transient errors
24
- if (!_isRetry && this.isRetryableError(error)) {
25
- await this.logRequestResponse(url, { method: 'GET', retry: true }, `Retrying after error: ${axios_1.default.isAxiosError(error) ? (error.response?.status ?? 'network error') : String(error)}`);
26
- return this.makeGetRequest(url, config, true);
23
+ // Attempt up to 3 retries for transient errors
24
+ if (_retryCount < 3 && this.isRetryableError(error)) {
25
+ await this.logRequestResponse(url, { method: 'GET', retry: _retryCount + 1 }, `Retrying after error (attempt ${_retryCount + 1}/3): ${axios_1.default.isAxiosError(error) ? (error.response?.status ?? 'network error') : String(error)}`);
26
+ await this.sleep(6000);
27
+ return this.makeGetRequest(url, config, _retryCount + 1);
27
28
  }
28
29
  // Log the error response before throwing
29
30
  if (axios_1.default.isAxiosError(error)) {
@@ -32,7 +33,7 @@ class HttpClient {
32
33
  throw this.handleRequestError(error);
33
34
  }
34
35
  }
35
- async makePostRequest(url, data, config = {}, _isRetry = false) {
36
+ async makePostRequest(url, data, config = {}, _retryCount = 0) {
36
37
  try {
37
38
  const headers = this.buildHeaders(config);
38
39
  const response = await this.axiosInstance.post(url, data, { headers });
@@ -40,10 +41,11 @@ class HttpClient {
40
41
  return response.data;
41
42
  }
42
43
  catch (error) {
43
- if (!_isRetry && this.isRetryableError(error)) {
44
- await this.logRequestResponse(url, { method: 'POST', retry: true, data }, `Retrying after error: ${axios_1.default.isAxiosError(error) ? (error.response?.status ?? 'network error') : String(error)}`);
44
+ if (_retryCount < 3 && this.isRetryableError(error)) {
45
+ await this.logRequestResponse(url, { method: 'POST', retry: _retryCount + 1, data }, `Retrying after error (attempt ${_retryCount + 1}/3): ${axios_1.default.isAxiosError(error) ? (error.response?.status ?? 'network error') : String(error)}`);
46
+ await this.sleep(6000);
45
47
  const retryData = this.prepareDataForRetry(data);
46
- return this.makePostRequest(url, retryData, config, true);
48
+ return this.makePostRequest(url, retryData, config, _retryCount + 1);
47
49
  }
48
50
  // Log the error response before throwing
49
51
  if (axios_1.default.isAxiosError(error)) {
@@ -52,7 +54,7 @@ class HttpClient {
52
54
  throw this.handleRequestError(error);
53
55
  }
54
56
  }
55
- async makeDeleteRequest(url, config = {}, _isRetry = false) {
57
+ async makeDeleteRequest(url, config = {}, _retryCount = 0) {
56
58
  try {
57
59
  const headers = this.buildHeaders(config);
58
60
  const response = await this.axiosInstance.delete(url, { headers });
@@ -60,9 +62,10 @@ class HttpClient {
60
62
  return response.data;
61
63
  }
62
64
  catch (error) {
63
- if (!_isRetry && this.isRetryableError(error)) {
64
- await this.logRequestResponse(url, { method: 'DELETE', retry: true }, `Retrying after error: ${axios_1.default.isAxiosError(error) ? (error.response?.status ?? 'network error') : String(error)}`);
65
- return this.makeDeleteRequest(url, config, true);
65
+ if (_retryCount < 3 && this.isRetryableError(error)) {
66
+ await this.logRequestResponse(url, { method: 'DELETE', retry: _retryCount + 1 }, `Retrying after error (attempt ${_retryCount + 1}/3): ${axios_1.default.isAxiosError(error) ? (error.response?.status ?? 'network error') : String(error)}`);
67
+ await this.sleep(6000);
68
+ return this.makeDeleteRequest(url, config, _retryCount + 1);
66
69
  }
67
70
  // Log the error response before throwing
68
71
  if (axios_1.default.isAxiosError(error)) {
@@ -71,7 +74,7 @@ class HttpClient {
71
74
  throw this.handleRequestError(error);
72
75
  }
73
76
  }
74
- async makePatchRequest(url, data, config = {}, _isRetry = false) {
77
+ async makePatchRequest(url, data, config = {}, _retryCount = 0) {
75
78
  try {
76
79
  const headers = this.buildHeaders(config);
77
80
  const response = await this.axiosInstance.patch(url, data, { headers });
@@ -79,10 +82,11 @@ class HttpClient {
79
82
  return response.data;
80
83
  }
81
84
  catch (error) {
82
- if (!_isRetry && this.isRetryableError(error)) {
83
- await this.logRequestResponse(url, { method: 'PATCH', retry: true, data }, `Retrying after error: ${axios_1.default.isAxiosError(error) ? (error.response?.status ?? 'network error') : String(error)}`);
85
+ if (_retryCount < 3 && this.isRetryableError(error)) {
86
+ await this.logRequestResponse(url, { method: 'PATCH', retry: _retryCount + 1, data }, `Retrying after error (attempt ${_retryCount + 1}/3): ${axios_1.default.isAxiosError(error) ? (error.response?.status ?? 'network error') : String(error)}`);
87
+ await this.sleep(6000);
84
88
  const retryData = this.prepareDataForRetry(data);
85
- return this.makePatchRequest(url, retryData, config, true);
89
+ return this.makePatchRequest(url, retryData, config, _retryCount + 1);
86
90
  }
87
91
  // Log the error response before throwing
88
92
  if (axios_1.default.isAxiosError(error)) {
@@ -128,16 +132,42 @@ class HttpClient {
128
132
  }
129
133
  return new errors_1.NetworkError(`Request failed: ${error instanceof Error ? error.message : String(error)}`);
130
134
  }
131
- /** Determines whether a request error is retryable (HTTP 5xx or network error) */
135
+ /**
136
+ * Determines whether a request error is retryable. Retries on:
137
+ *
138
+ * - HTTP 5xx server errors
139
+ * - Network errors
140
+ * - Canton-specific transient errors: UNKNOWN_CONTRACT_SYNCHRONIZERS (400), SEQUENCER_BACKPRESSURE (409), HTTP 503
141
+ */
132
142
  isRetryableError(error) {
133
143
  if (axios_1.default.isAxiosError(error)) {
134
144
  const status = error.response?.status;
135
- // Retry on 5xx server errors and undefined status (network error)
136
- return status === undefined || (status >= 500 && status < 600);
145
+ const data = error.response?.data ?? {};
146
+ const { code } = data;
147
+ // Retry on undefined status (network error)
148
+ if (status === undefined) {
149
+ return true;
150
+ }
151
+ // Retry on 5xx server errors
152
+ if (status >= 500 && status < 600) {
153
+ return true;
154
+ }
155
+ // Retry on Canton-specific transient errors
156
+ if (status === 400 && code === 'UNKNOWN_CONTRACT_SYNCHRONIZERS') {
157
+ return true;
158
+ }
159
+ if (status === 409 && code === 'SEQUENCER_BACKPRESSURE') {
160
+ return true;
161
+ }
162
+ return false;
137
163
  }
138
164
  // Only retry non-Axios errors that are instances of NetworkError
139
165
  return error instanceof errors_1.NetworkError;
140
166
  }
167
+ /** Sleep for the specified number of milliseconds */
168
+ async sleep(ms) {
169
+ return new Promise((resolve) => setTimeout(resolve, ms));
170
+ }
141
171
  /**
142
172
  * Prepares request data for retry by updating commandId fields to avoid duplicate command rejection. If the data
143
173
  * contains a commandId field, appends a retry suffix with timestamp to make it unique.
@@ -1 +1 @@
1
- {"version":3,"file":"HttpClient.js","sourceRoot":"","sources":["../../../../src/core/http/HttpClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HttpClient.js","sourceRoot":"","sources":["../../../../src/core/http/HttpClient.ts"],"names":[],"mappings":"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"}
@@ -5,17 +5,42 @@ export interface AmuletForTransfer {
5
5
  effectiveAmount: string;
6
6
  owner: string;
7
7
  }
8
+ export type TransferInputForTransfer = {
9
+ tag: 'InputAmulet';
10
+ contractId: string;
11
+ templateId: string;
12
+ effectiveAmount: string;
13
+ owner: string;
14
+ } | {
15
+ tag: 'InputAppRewardCoupon';
16
+ contractId: string;
17
+ templateId: string;
18
+ effectiveAmount: string;
19
+ beneficiary: string;
20
+ } | {
21
+ tag: 'InputValidatorRewardCoupon';
22
+ contractId: string;
23
+ templateId: string;
24
+ effectiveAmount: string;
25
+ beneficiary: string;
26
+ };
8
27
  export interface GetAmuletsForTransferParams {
9
28
  /** Ledger JSON API client for querying active contracts */
10
29
  jsonApiClient: LedgerJsonApiClient;
11
30
  /** Party IDs to read as (first one is used as sender) */
12
31
  readAs?: string[];
32
+ /**
33
+ * If true, returns all valid transfer inputs (Amulet, AppRewardCoupon, ValidatorRewardCoupon). Defaults to false
34
+ * (only Amulet).
35
+ */
36
+ includeAllTransferInputs?: boolean;
13
37
  }
14
38
  /**
15
- * Gets unlocked amulets owned by the sender party that can be used for transfers
39
+ * Gets unlocked amulets owned by the sender party that can be used for transfers. Optionally returns all valid transfer
40
+ * inputs (Amulet, AppRewardCoupon, ValidatorRewardCoupon).
16
41
  *
17
- * @param params - Parameters for getting amulets
18
- * @returns Promise resolving to array of amulets suitable for transfer
42
+ * @param params - Parameters for getting transfer inputs
43
+ * @returns Promise resolving to array of transfer inputs suitable for transfer
19
44
  */
20
45
  export declare function getAmuletsForTransfer(params: GetAmuletsForTransferParams): Promise<AmuletForTransfer[]>;
21
46
  //# sourceMappingURL=get-amulets-for-transfer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-amulets-for-transfer.d.ts","sourceRoot":"","sources":["../../../../src/utils/amulet/get-amulets-for-transfer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAGzE,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,2BAA2B;IAC1C,2DAA2D;IAC3D,aAAa,EAAE,mBAAmB,CAAC;IACnC,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AA0BD;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,2BAA2B,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAwG7G"}
1
+ {"version":3,"file":"get-amulets-for-transfer.d.ts","sourceRoot":"","sources":["../../../../src/utils/amulet/get-amulets-for-transfer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAGzE,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,wBAAwB,GAChC;IAAE,GAAG,EAAE,aAAa,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACtG;IACE,GAAG,EAAE,sBAAsB,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;CACrB,GACD;IACE,GAAG,EAAE,4BAA4B,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEN,MAAM,WAAW,2BAA2B;IAC1C,2DAA2D;IAC3D,aAAa,EAAE,mBAAmB,CAAC;IACnC,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB;;;OAGG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC;AA0BD;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,2BAA2B,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CA+I7G"}
@@ -2,23 +2,32 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getAmuletsForTransfer = getAmuletsForTransfer;
4
4
  /**
5
- * Gets unlocked amulets owned by the sender party that can be used for transfers
5
+ * Gets unlocked amulets owned by the sender party that can be used for transfers. Optionally returns all valid transfer
6
+ * inputs (Amulet, AppRewardCoupon, ValidatorRewardCoupon).
6
7
  *
7
- * @param params - Parameters for getting amulets
8
- * @returns Promise resolving to array of amulets suitable for transfer
8
+ * @param params - Parameters for getting transfer inputs
9
+ * @returns Promise resolving to array of transfer inputs suitable for transfer
9
10
  */
10
11
  async function getAmuletsForTransfer(params) {
11
- const { jsonApiClient, readAs } = params;
12
- // Query ledger for active contracts for this party (unlocked amulets)
12
+ const { jsonApiClient, readAs, includeAllTransferInputs } = params;
13
+ // Query ledger for active contracts for this party
13
14
  if (!readAs?.[0]) {
14
15
  return [];
15
16
  }
16
17
  const senderParty = readAs[0];
18
+ // Build template IDs to query based on includeAllTransferInputs flag
19
+ const templateIds = includeAllTransferInputs
20
+ ? [
21
+ '#splice-amulet:Splice.Amulet:Amulet',
22
+ '#splice-amulet:Splice.Amulet:AppRewardCoupon',
23
+ '#splice-amulet:Splice.Amulet:ValidatorRewardCoupon',
24
+ ]
25
+ : ['#splice-amulet:Splice.Amulet:Amulet'];
17
26
  const activeContracts = await jsonApiClient.getActiveContracts({
18
27
  parties: [senderParty],
19
- templateIds: ['#splice-amulet:Splice.Amulet:Amulet'],
28
+ templateIds,
20
29
  });
21
- const allAmulets = [];
30
+ const allContracts = [];
22
31
  const contractsArr = Array.isArray(activeContracts) ? activeContracts : [];
23
32
  contractsArr.forEach((ctr) => {
24
33
  const typedCtr = ctr;
@@ -38,56 +47,89 @@ async function getAmuletsForTransfer(params) {
38
47
  }
39
48
  if (!payload || !templateId || !contractId)
40
49
  return;
50
+ // Filter for valid transfer input contracts
41
51
  const isUnlockedAmulet = templateId.includes('Splice.Amulet:Amulet') && !templateId.includes('LockedAmulet');
42
- if (!isUnlockedAmulet)
52
+ const isAppRewardCoupon = templateId.includes('AppRewardCoupon');
53
+ const isValidatorRewardCoupon = templateId.includes('ValidatorRewardCoupon');
54
+ if (!isUnlockedAmulet && !isAppRewardCoupon && !isValidatorRewardCoupon)
43
55
  return;
44
- allAmulets.push({ contractId, templateId, payload });
56
+ allContracts.push({ contractId, templateId, payload });
45
57
  });
46
- // Helper to extract owner and numeric amount from diverse amulet shapes
47
- const extract = (amulet) => {
48
- const amuletPayload = 'payload' in amulet ? amulet.payload : undefined;
49
- const payload = amuletPayload ?? amulet.contract?.contract?.payload ?? {};
50
- const amuletRecord = amulet;
51
- const ownerFull = payload['owner'] ??
52
- amuletRecord['owner'] ??
53
- amuletRecord['partyId'] ??
54
- amuletRecord['party_id'] ??
55
- '';
56
- const rawAmountCandidate = payload['amount'] ??
57
- amuletRecord['amount'] ??
58
- amuletRecord['effective_amount'] ??
59
- amuletRecord['effectiveAmount'] ??
60
- amuletRecord['initialAmount'] ??
61
- '0';
62
- let rawAmount = rawAmountCandidate;
63
- if (typeof rawAmountCandidate === 'object') {
64
- rawAmount = rawAmountCandidate['initialAmount'] ?? '0';
58
+ // Helper to extract owner/beneficiary and numeric amount from diverse contract shapes
59
+ const extract = (contract) => {
60
+ const contractPayload = 'payload' in contract ? contract.payload : undefined;
61
+ const payload = contractPayload ?? contract.contract?.contract?.payload ?? {};
62
+ const contractRecord = contract;
63
+ const templateId = 'templateId' in contract ? contract.templateId : undefined;
64
+ // Extract owner/beneficiary based on contract type
65
+ let ownerFull = '';
66
+ if (templateId?.includes('AppRewardCoupon') || templateId?.includes('ValidatorRewardCoupon')) {
67
+ // For coupons, beneficiary is optional and falls back to provider
68
+ const beneficiary = payload['beneficiary'];
69
+ const provider = payload['provider'];
70
+ ownerFull = beneficiary ?? provider ?? '';
71
+ }
72
+ else {
73
+ // For amulets, use owner field
74
+ ownerFull =
75
+ payload['owner'] ??
76
+ contractRecord['owner'] ??
77
+ contractRecord['partyId'] ??
78
+ contractRecord['party_id'] ??
79
+ '';
80
+ }
81
+ // Extract amount based on contract type
82
+ let rawAmount = '0';
83
+ if (templateId?.includes('AppRewardCoupon') || templateId?.includes('ValidatorRewardCoupon')) {
84
+ // For coupons, amount is directly in payload
85
+ rawAmount = payload['amount'] ?? '0';
86
+ }
87
+ else {
88
+ // For amulets, amount might be nested
89
+ const rawAmountCandidate = payload['amount'] ??
90
+ contractRecord['amount'] ??
91
+ contractRecord['effective_amount'] ??
92
+ contractRecord['effectiveAmount'] ??
93
+ contractRecord['initialAmount'] ??
94
+ '0';
95
+ rawAmount = rawAmountCandidate;
96
+ if (typeof rawAmountCandidate === 'object') {
97
+ rawAmount = rawAmountCandidate['initialAmount'] ?? '0';
98
+ }
65
99
  }
66
100
  const numericAmount = parseFloat(rawAmount);
67
101
  return { owner: ownerFull, numericAmount };
68
102
  };
69
- // Note: Processing amulets to extract contract information
70
- // Keep amulets owned by sender (readAs[0]) and with positive balance
71
- const partyAmulets = allAmulets.filter((a) => {
72
- const { owner, numericAmount } = extract(a);
103
+ // Filter contracts owned by sender (readAs[0]) and with positive balance
104
+ const partyContracts = allContracts.filter((c) => {
105
+ const { owner, numericAmount } = extract(c);
73
106
  return numericAmount > 0 && owner === senderParty;
74
107
  });
75
- if (partyAmulets.length === 0) {
108
+ if (partyContracts.length === 0) {
76
109
  return [];
77
110
  }
78
- // Sort biggest → smallest so we pick high-value amulets first
79
- partyAmulets.sort((a, b) => extract(b).numericAmount - extract(a).numericAmount);
80
- // Note: partyAmulets is now sorted by amount (biggest first)
81
- // Map to the structure expected by buildAmuletInputs
82
- const result = partyAmulets.map((a) => {
83
- const { payload } = a;
84
- const amtObj = payload['amount'] ?? {};
85
- const intAmount = typeof amtObj === 'object' ? amtObj['initialAmount'] : amtObj;
111
+ // Sort biggest → smallest so we pick high-value contracts first
112
+ partyContracts.sort((a, b) => extract(b).numericAmount - extract(a).numericAmount);
113
+ // Map to the structure expected by buildAmuletInputs (maintaining backward compatibility)
114
+ const result = partyContracts.map((c) => {
115
+ const { payload, templateId } = c;
116
+ // Extract amount based on contract type
117
+ let effectiveAmount = '0';
118
+ if (templateId.includes('AppRewardCoupon') || templateId.includes('ValidatorRewardCoupon')) {
119
+ // For coupons, amount is directly in payload
120
+ effectiveAmount = payload['amount'] ?? '0';
121
+ }
122
+ else {
123
+ // For amulets, amount might be nested
124
+ const amtObj = payload['amount'] ?? {};
125
+ const intAmount = typeof amtObj === 'object' ? amtObj['initialAmount'] : amtObj;
126
+ effectiveAmount = intAmount ?? '0';
127
+ }
86
128
  return {
87
- contractId: a.contractId,
88
- templateId: a.templateId,
89
- effectiveAmount: intAmount ?? '0',
90
- owner: payload['owner'] ?? extract(a).owner,
129
+ contractId: c.contractId,
130
+ templateId: c.templateId,
131
+ effectiveAmount,
132
+ owner: extract(c).owner,
91
133
  };
92
134
  });
93
135
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"get-amulets-for-transfer.js","sourceRoot":"","sources":["../../../../src/utils/amulet/get-amulets-for-transfer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-amulets-for-transfer.js","sourceRoot":"","sources":["../../../../src/utils/amulet/get-amulets-for-transfer.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,8 @@ import { type ValidatorApiClient } from '../../clients/validator-api';
3
3
  export interface PreApproveTransfersParams {
4
4
  /** Party ID to enable pre-approved transfers for (receiver) */
5
5
  receiverPartyId: string;
6
+ /** Party ID of the provider (defaults to receiverPartyId if not specified) */
7
+ providerPartyId?: string;
6
8
  /** When the pre-approval expires (defaults to 1 day from now) */
7
9
  expiresAt?: Date;
8
10
  /** Contract details for disclosed contracts (optional - will be fetched if not provided) */
@@ -1 +1 @@
1
- {"version":3,"file":"pre-approve-transfers.d.ts","sourceRoot":"","sources":["../../../../src/utils/amulet/pre-approve-transfers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAGzE,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAItE,MAAM,WAAW,yBAAyB;IACxC,+DAA+D;IAC/D,eAAe,EAAE,MAAM,CAAC;IACxB,iEAAiE;IACjE,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,4FAA4F;IAC5F,eAAe,CAAC,EAAE;QAChB,WAAW,CAAC,EAAE;YAAE,gBAAgB,EAAE,MAAM,CAAC;YAAC,cAAc,EAAE,MAAM,CAAA;SAAE,CAAC;QACnE,eAAe,CAAC,EAAE;YAAE,gBAAgB,EAAE,MAAM,CAAC;YAAC,cAAc,EAAE,MAAM,CAAA;SAAE,CAAC;QACvE,mBAAmB,CAAC,EAAE,KAAK,CAAC;YAAE,gBAAgB,EAAE,MAAM,CAAC;YAAC,cAAc,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAClF,gBAAgB,CAAC,EAAE;YAAE,gBAAgB,EAAE,MAAM,CAAC;YAAC,cAAc,EAAE,MAAM,CAAA;SAAE,CAAC;KACzE,CAAC;CACH;AAED,MAAM,WAAW,yBAAyB;IACxC,8DAA8D;IAC9D,UAAU,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,YAAY,EAAE,mBAAmB,EACjC,eAAe,EAAE,kBAAkB,EACnC,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,yBAAyB,CAAC,CAwHpC"}
1
+ {"version":3,"file":"pre-approve-transfers.d.ts","sourceRoot":"","sources":["../../../../src/utils/amulet/pre-approve-transfers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAGzE,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAItE,MAAM,WAAW,yBAAyB;IACxC,+DAA+D;IAC/D,eAAe,EAAE,MAAM,CAAC;IACxB,8EAA8E;IAC9E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iEAAiE;IACjE,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,4FAA4F;IAC5F,eAAe,CAAC,EAAE;QAChB,WAAW,CAAC,EAAE;YAAE,gBAAgB,EAAE,MAAM,CAAC;YAAC,cAAc,EAAE,MAAM,CAAA;SAAE,CAAC;QACnE,eAAe,CAAC,EAAE;YAAE,gBAAgB,EAAE,MAAM,CAAC;YAAC,cAAc,EAAE,MAAM,CAAA;SAAE,CAAC;QACvE,mBAAmB,CAAC,EAAE,KAAK,CAAC;YAAE,gBAAgB,EAAE,MAAM,CAAC;YAAC,cAAc,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAClF,gBAAgB,CAAC,EAAE;YAAE,gBAAgB,EAAE,MAAM,CAAC;YAAC,cAAc,EAAE,MAAM,CAAA;SAAE,CAAC;KACzE,CAAC;CACH;AAED,MAAM,WAAW,yBAAyB;IACxC,8DAA8D;IAC9D,UAAU,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,YAAY,EAAE,mBAAmB,EACjC,eAAe,EAAE,kBAAkB,EACnC,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,yBAAyB,CAAC,CA2HpC"}
@@ -12,8 +12,10 @@ const get_amulets_for_transfer_1 = require("./get-amulets-for-transfer");
12
12
  * @returns Promise resolving to the pre-approval result
13
13
  */
14
14
  async function preApproveTransfers(ledgerClient, validatorClient, params) {
15
- // Set default expiration to 1 day from now if not provided
16
- const expiresAt = params.expiresAt ?? new Date(Date.now() + 24 * 60 * 60 * 1000);
15
+ // Set default expiration to 1 year from now if not provided
16
+ const expiresAt = params.expiresAt ?? new Date(Date.now() + 365 * 24 * 60 * 60 * 1000);
17
+ // Use receiverPartyId as provider if not specified
18
+ const providerPartyId = params.providerPartyId ?? params.receiverPartyId;
17
19
  // Get network information
18
20
  const [amuletRules, dsoPartyId, miningRoundContext, featuredAppRight] = await Promise.all([
19
21
  validatorClient.getAmuletRules(),
@@ -80,7 +82,7 @@ async function preApproveTransfers(ledgerClient, validatorClient, params) {
80
82
  },
81
83
  inputs,
82
84
  receiver: params.receiverPartyId,
83
- provider: params.receiverPartyId,
85
+ provider: providerPartyId,
84
86
  expiresAt: expiresAt.toISOString(),
85
87
  expectedDso: dsoPartyId.dso_party_id,
86
88
  },
@@ -1 +1 @@
1
- {"version":3,"file":"pre-approve-transfers.js","sourceRoot":"","sources":["../../../../src/utils/amulet/pre-approve-transfers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pre-approve-transfers.js","sourceRoot":"","sources":["../../../../src/utils/amulet/pre-approve-transfers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,103 @@
1
+ DOTENV_CONFIG_QUIET=true
2
+
3
+ # ============================================================================
4
+ # Canton Node SDK LocalNet Configuration
5
+ # ============================================================================
6
+ # This configuration is used for testing against a local Splice network
7
+ # Copy this file to .env when running tests locally against LocalNet
8
+
9
+ # =============================================================================
10
+ # CURRENT SELECTION
11
+ # =============================================================================
12
+ CANTON_CURRENT_NETWORK=localnet
13
+ CANTON_CURRENT_PROVIDER=app-provider
14
+
15
+ # =============================================================================
16
+ # LOCALNET - APP-PROVIDER CONFIGURATION
17
+ # =============================================================================
18
+ # LocalNet uses predictable ports based on the pattern: {validator_prefix}${port_suffix}
19
+ # App Provider uses prefix "3", so:
20
+ # - JSON API: 39750 (3 + 9750)
21
+ # - Validator API: 39030 (3 + 9030)
22
+ # - Admin API: 39020 (3 + 9020)
23
+ # - Ledger API: 39010 (3 + 9010)
24
+ # - Healthcheck: 39000 (3 + 9000)
25
+
26
+ # Ledger JSON API Configuration
27
+ CANTON_LOCALNET_APP_PROVIDER_LEDGER_JSON_API_URI=http://localhost:39750
28
+ CANTON_LOCALNET_APP_PROVIDER_LEDGER_JSON_API_CLIENT_ID=admin
29
+ CANTON_LOCALNET_APP_PROVIDER_LEDGER_JSON_API_CLIENT_SECRET=admin
30
+
31
+ # Validator API Configuration
32
+ CANTON_LOCALNET_APP_PROVIDER_VALIDATOR_API_URI=http://localhost:39030
33
+ CANTON_LOCALNET_APP_PROVIDER_VALIDATOR_API_CLIENT_ID=admin
34
+ CANTON_LOCALNET_APP_PROVIDER_VALIDATOR_API_CLIENT_SECRET=admin
35
+
36
+ # Scan API Configuration
37
+ CANTON_LOCALNET_APP_PROVIDER_SCAN_API_URI=http://localhost:4000/api/scan
38
+ CANTON_LOCALNET_APP_PROVIDER_SCAN_API_CLIENT_ID=admin
39
+ CANTON_LOCALNET_APP_PROVIDER_SCAN_API_CLIENT_SECRET=admin
40
+
41
+ # Auth URL (LocalNet uses simple auth, not OAuth)
42
+ CANTON_LOCALNET_APP_PROVIDER_AUTH_URL=http://localhost:3000/auth
43
+
44
+ # Party and User IDs
45
+ # Note: These need to be discovered from your LocalNet instance
46
+ # You can find them by accessing the Canton Console or wallet UI
47
+ CANTON_LOCALNET_APP_PROVIDER_PARTY_ID=
48
+ CANTON_LOCALNET_APP_PROVIDER_USER_ID=app-provider
49
+
50
+ # =============================================================================
51
+ # LOCALNET - APP-USER CONFIGURATION (Optional)
52
+ # =============================================================================
53
+ # App User uses prefix "2", so:
54
+ # - JSON API: 29750 (2 + 9750)
55
+ # - Validator API: 29030 (2 + 9030)
56
+
57
+ CANTON_LOCALNET_APP_USER_LEDGER_JSON_API_URI=http://localhost:29750
58
+ CANTON_LOCALNET_APP_USER_LEDGER_JSON_API_CLIENT_ID=admin
59
+ CANTON_LOCALNET_APP_USER_LEDGER_JSON_API_CLIENT_SECRET=admin
60
+
61
+ CANTON_LOCALNET_APP_USER_VALIDATOR_API_URI=http://localhost:29030
62
+ CANTON_LOCALNET_APP_USER_VALIDATOR_API_CLIENT_ID=admin
63
+ CANTON_LOCALNET_APP_USER_VALIDATOR_API_CLIENT_SECRET=admin
64
+
65
+ CANTON_LOCALNET_APP_USER_AUTH_URL=http://localhost:2000/auth
66
+ CANTON_LOCALNET_APP_USER_PARTY_ID=
67
+ CANTON_LOCALNET_APP_USER_USER_ID=app-user
68
+
69
+ # =============================================================================
70
+ # LOCALNET - SUPER VALIDATOR CONFIGURATION (Optional)
71
+ # =============================================================================
72
+ # Super Validator uses prefix "4", so:
73
+ # - JSON API: 49750 (4 + 9750)
74
+ # - Validator API: 49030 (4 + 9030)
75
+
76
+ CANTON_LOCALNET_SV_LEDGER_JSON_API_URI=http://localhost:49750
77
+ CANTON_LOCALNET_SV_LEDGER_JSON_API_CLIENT_ID=admin
78
+ CANTON_LOCALNET_SV_LEDGER_JSON_API_CLIENT_SECRET=admin
79
+
80
+ CANTON_LOCALNET_SV_VALIDATOR_API_URI=http://localhost:49030
81
+ CANTON_LOCALNET_SV_VALIDATOR_API_CLIENT_ID=admin
82
+ CANTON_LOCALNET_SV_VALIDATOR_API_CLIENT_SECRET=admin
83
+
84
+ CANTON_LOCALNET_SV_AUTH_URL=http://localhost:4000/auth
85
+ CANTON_LOCALNET_SV_PARTY_ID=
86
+ CANTON_LOCALNET_SV_USER_ID=sv
87
+
88
+ # =============================================================================
89
+ # LIGHTHOUSE API CONFIGURATION
90
+ # =============================================================================
91
+ # Lighthouse API is typically not available in LocalNet
92
+ # CANTON_LOCALNET_LIGHTHOUSE_API_URI=http://localhost:8080/api
93
+
94
+ # =============================================================================
95
+ # Contract IDs
96
+ # =============================================================================
97
+ # These contract IDs need to be discovered from your LocalNet instance
98
+ # You can find them through the Scan UI or by querying the ledger
99
+ CANTON_VALIDATOR_WALLET_APP_INSTALL_CONTRACT_ID_LOCALNET=
100
+ CANTON_AMULET_RULES_CONTRACT_ID_LOCALNET=
101
+ CANTON_WALLET_TEMPLATE_ID_LOCALNET=
102
+ CANTON_PREAPPROVAL_TEMPLATE_ID_LOCALNET=
103
+
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fairmint/canton-node-sdk",
3
- "version": "0.0.115",
3
+ "version": "0.0.117",
4
4
  "description": "Canton Node SDK",
5
5
  "keywords": [
6
6
  "canton",
@@ -36,16 +36,22 @@
36
36
  "format": "prettier --check .",
37
37
  "format:fix": "prettier --write .",
38
38
  "generate:openapi-types": "tsx scripts/generate-openapi-types.ts",
39
- "lint": "eslint . --max-warnings=0",
40
- "lint:fix": "eslint . --fix --max-warnings=0",
39
+ "lint": "eslint .",
40
+ "lint:fix": "eslint . --fix",
41
41
  "lint:npm": "npmPkgJsonLint . --fix",
42
42
  "lint:npm:check": "npmPkgJsonLint .",
43
+ "localnet:setup": "./scripts/setup-localnet.sh",
44
+ "localnet:start": "./scripts/start-localnet.sh",
45
+ "localnet:status": "./scripts/localnet-status.sh",
46
+ "localnet:stop": "./scripts/stop-localnet.sh",
43
47
  "prepack": "npm run clean && npm run build:core",
44
48
  "prepare-release": "tsx scripts/prepare-release.ts",
45
49
  "prepublishOnly": "npm run prepack",
46
50
  "simulate": "tsx --tsconfig tsconfig.lint.json scripts/run-simulations.ts",
47
51
  "simulate:events": "tsx --tsconfig tsconfig.lint.json scripts/run-events-simulation.ts",
48
52
  "test": "jest",
53
+ "test:localnet": "npm run build:core && npm run simulate",
54
+ "test:regression": "npm run test:localnet",
49
55
  "test:watch": "jest --watch"
50
56
  },
51
57
  "dependencies": {