@fairmint/canton-node-sdk 0.0.238 → 0.0.240
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.
- package/build/src/clients/ledger-json-api/LedgerJsonApiClient.generated.d.ts +51 -51
- package/build/src/clients/ledger-json-api/LedgerJsonApiClient.generated.d.ts.map +1 -1
- package/build/src/clients/ledger-json-api/LedgerJsonApiClient.generated.js +51 -51
- package/build/src/clients/ledger-json-api/LedgerJsonApiClient.generated.js.map +1 -1
- package/build/src/clients/ledger-json-api/operations/v2/commands/async/submit.d.ts +26 -26
- package/build/src/clients/ledger-json-api/operations/v2/commands/completions.d.ts +1 -2
- package/build/src/clients/ledger-json-api/operations/v2/commands/completions.d.ts.map +1 -1
- package/build/src/clients/ledger-json-api/operations/v2/commands/completions.js +2 -2
- package/build/src/clients/ledger-json-api/operations/v2/commands/completions.js.map +1 -1
- package/build/src/clients/ledger-json-api/operations/v2/commands/submit-and-wait-for-transaction.d.ts +26 -26
- package/build/src/clients/ledger-json-api/operations/v2/events/get-events-by-contract-id.d.ts.map +1 -1
- package/build/src/clients/ledger-json-api/operations/v2/events/get-events-by-contract-id.js +1 -0
- package/build/src/clients/ledger-json-api/operations/v2/events/get-events-by-contract-id.js.map +1 -1
- package/build/src/clients/ledger-json-api/operations/v2/interactive-submission/get-preferred-packages.d.ts.map +1 -1
- package/build/src/clients/ledger-json-api/operations/v2/interactive-submission/get-preferred-packages.js +1 -0
- package/build/src/clients/ledger-json-api/operations/v2/interactive-submission/get-preferred-packages.js.map +1 -1
- package/build/src/clients/ledger-json-api/operations/v2/interactive-submission/prepare.d.ts.map +1 -1
- package/build/src/clients/ledger-json-api/operations/v2/interactive-submission/prepare.js +1 -0
- package/build/src/clients/ledger-json-api/operations/v2/interactive-submission/prepare.js.map +1 -1
- package/build/src/clients/ledger-json-api/operations/v2/parties/aggregate-parties.d.ts +2 -2
- package/build/src/clients/ledger-json-api/operations/v2/parties/aggregate-parties.d.ts.map +1 -1
- package/build/src/clients/ledger-json-api/operations/v2/parties/aggregate-parties.js +25 -8
- package/build/src/clients/ledger-json-api/operations/v2/parties/aggregate-parties.js.map +1 -1
- package/build/src/clients/ledger-json-api/operations/v2/parties/external/generate-topology.d.ts.map +1 -1
- package/build/src/clients/ledger-json-api/operations/v2/parties/external/generate-topology.js +1 -0
- package/build/src/clients/ledger-json-api/operations/v2/parties/external/generate-topology.js.map +1 -1
- package/build/src/clients/ledger-json-api/operations/v2/parties/get.d.ts +2 -2
- package/build/src/clients/ledger-json-api/operations/v2/parties/get.d.ts.map +1 -1
- package/build/src/clients/ledger-json-api/operations/v2/parties/get.js +3 -2
- package/build/src/clients/ledger-json-api/operations/v2/parties/get.js.map +1 -1
- package/build/src/clients/ledger-json-api/operations/v2/parties/list.d.ts +2 -2
- package/build/src/clients/ledger-json-api/operations/v2/parties/list.d.ts.map +1 -1
- package/build/src/clients/ledger-json-api/operations/v2/parties/list.js +3 -2
- package/build/src/clients/ledger-json-api/operations/v2/parties/list.js.map +1 -1
- package/build/src/clients/ledger-json-api/operations/v2/updates/get-transaction-by-id.d.ts.map +1 -1
- package/build/src/clients/ledger-json-api/operations/v2/updates/get-transaction-by-id.js +1 -0
- package/build/src/clients/ledger-json-api/operations/v2/updates/get-transaction-by-id.js.map +1 -1
- package/build/src/clients/ledger-json-api/operations/v2/updates/get-transaction-by-offset.d.ts.map +1 -1
- package/build/src/clients/ledger-json-api/operations/v2/updates/get-transaction-by-offset.js +1 -0
- package/build/src/clients/ledger-json-api/operations/v2/updates/get-transaction-by-offset.js.map +1 -1
- package/build/src/clients/ledger-json-api/operations/v2/updates/get-update-by-id.d.ts.map +1 -1
- package/build/src/clients/ledger-json-api/operations/v2/updates/get-update-by-id.js +1 -0
- package/build/src/clients/ledger-json-api/operations/v2/updates/get-update-by-id.js.map +1 -1
- package/build/src/clients/ledger-json-api/operations/v2/updates/get-update-by-offset.d.ts.map +1 -1
- package/build/src/clients/ledger-json-api/operations/v2/updates/get-update-by-offset.js +1 -0
- package/build/src/clients/ledger-json-api/operations/v2/updates/get-update-by-offset.js.map +1 -1
- package/build/src/clients/scan-api/ScanApiClient.d.ts +7 -6
- package/build/src/clients/scan-api/ScanApiClient.d.ts.map +1 -1
- package/build/src/clients/scan-api/ScanApiClient.generated.d.ts +62 -62
- package/build/src/clients/scan-api/ScanApiClient.generated.d.ts.map +1 -1
- package/build/src/clients/scan-api/ScanApiClient.generated.js +62 -62
- package/build/src/clients/scan-api/ScanApiClient.generated.js.map +1 -1
- package/build/src/clients/scan-api/ScanApiClient.js +75 -35
- package/build/src/clients/scan-api/ScanApiClient.js.map +1 -1
- package/build/src/clients/scan-api/operations/v0/registry/allocation-instruction/v1/get-allocation-factory-from-registry.d.ts.map +1 -1
- package/build/src/clients/scan-api/operations/v0/registry/allocation-instruction/v1/get-allocation-factory-from-registry.js +1 -0
- package/build/src/clients/scan-api/operations/v0/registry/allocation-instruction/v1/get-allocation-factory-from-registry.js.map +1 -1
- package/build/src/clients/scan-api/operations/v0/registry/allocation-instruction/v2/get-allocation-factory-v2-from-registry.d.ts.map +1 -1
- package/build/src/clients/scan-api/operations/v0/registry/allocation-instruction/v2/get-allocation-factory-v2-from-registry.js +4 -9
- package/build/src/clients/scan-api/operations/v0/registry/allocation-instruction/v2/get-allocation-factory-v2-from-registry.js.map +1 -1
- package/build/src/clients/scan-api/operations/v0/scan.d.ts.map +1 -1
- package/build/src/clients/scan-api/operations/v0/scan.js +17 -0
- package/build/src/clients/scan-api/operations/v0/scan.js.map +1 -1
- package/build/src/clients/validator-api/ValidatorApiClient.generated.d.ts +61 -61
- package/build/src/clients/validator-api/ValidatorApiClient.generated.d.ts.map +1 -1
- package/build/src/clients/validator-api/ValidatorApiClient.generated.js +61 -61
- package/build/src/clients/validator-api/ValidatorApiClient.generated.js.map +1 -1
- package/build/src/clients/validator-api/operations/v0/admin/generate-external-party-topology.d.ts.map +1 -1
- package/build/src/clients/validator-api/operations/v0/admin/generate-external-party-topology.js +1 -0
- package/build/src/clients/validator-api/operations/v0/admin/generate-external-party-topology.js.map +1 -1
- package/build/src/clients/validator-api/operations/v0/admin/prepare-accept-external-party-setup-proposal.d.ts.map +1 -1
- package/build/src/clients/validator-api/operations/v0/admin/prepare-accept-external-party-setup-proposal.js +1 -0
- package/build/src/clients/validator-api/operations/v0/admin/prepare-accept-external-party-setup-proposal.js.map +1 -1
- package/build/src/clients/validator-api/operations/v0/admin/prepare-transfer-preapproval-send.d.ts.map +1 -1
- package/build/src/clients/validator-api/operations/v0/admin/prepare-transfer-preapproval-send.js +1 -0
- package/build/src/clients/validator-api/operations/v0/admin/prepare-transfer-preapproval-send.js.map +1 -1
- package/build/src/clients/validator-api/operations/v0/ans/get-rules.d.ts.map +1 -1
- package/build/src/clients/validator-api/operations/v0/ans/get-rules.js +1 -0
- package/build/src/clients/validator-api/operations/v0/ans/get-rules.js.map +1 -1
- package/build/src/clients/validator-api/operations/v0/scan-proxy/get-member-traffic-status.d.ts +2 -1
- package/build/src/clients/validator-api/operations/v0/scan-proxy/get-member-traffic-status.d.ts.map +1 -1
- package/build/src/clients/validator-api/operations/v0/scan-proxy/get-member-traffic-status.js +47 -9
- package/build/src/clients/validator-api/operations/v0/scan-proxy/get-member-traffic-status.js.map +1 -1
- package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/allocation-instruction/v1/get-allocation-factory.d.ts.map +1 -1
- package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/allocation-instruction/v1/get-allocation-factory.js +1 -0
- package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/allocation-instruction/v1/get-allocation-factory.js.map +1 -1
- package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/allocations/v1/get-allocation-cancel-context.d.ts.map +1 -1
- package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/allocations/v1/get-allocation-cancel-context.js +1 -0
- package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/allocations/v1/get-allocation-cancel-context.js.map +1 -1
- package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/allocations/v1/get-allocation-transfer-context.d.ts.map +1 -1
- package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/allocations/v1/get-allocation-transfer-context.js +1 -0
- package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/allocations/v1/get-allocation-transfer-context.js.map +1 -1
- package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/allocations/v1/get-allocation-withdraw-context.d.ts.map +1 -1
- package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/allocations/v1/get-allocation-withdraw-context.js +1 -0
- package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/allocations/v1/get-allocation-withdraw-context.js.map +1 -1
- package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/transfer-instruction/v1/get-transfer-factory.d.ts.map +1 -1
- package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/transfer-instruction/v1/get-transfer-factory.js +1 -0
- package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/transfer-instruction/v1/get-transfer-factory.js.map +1 -1
- package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/transfer-instruction/v1/get-transfer-instruction-accept-context.d.ts.map +1 -1
- package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/transfer-instruction/v1/get-transfer-instruction-accept-context.js +1 -0
- package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/transfer-instruction/v1/get-transfer-instruction-accept-context.js.map +1 -1
- package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/transfer-instruction/v1/get-transfer-instruction-reject-context.d.ts.map +1 -1
- package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/transfer-instruction/v1/get-transfer-instruction-reject-context.js +1 -0
- package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/transfer-instruction/v1/get-transfer-instruction-reject-context.js.map +1 -1
- package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/transfer-instruction/v1/get-transfer-instruction-withdraw-context.d.ts.map +1 -1
- package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/transfer-instruction/v1/get-transfer-instruction-withdraw-context.js +1 -0
- package/build/src/clients/validator-api/operations/v0/scan-proxy/registry/transfer-instruction/v1/get-transfer-instruction-withdraw-context.js.map +1 -1
- package/build/src/clients/validator-api/operations/v0/wallet/buy-traffic-requests/get-status.d.ts.map +1 -1
- package/build/src/clients/validator-api/operations/v0/wallet/buy-traffic-requests/get-status.js +1 -0
- package/build/src/clients/validator-api/operations/v0/wallet/buy-traffic-requests/get-status.js.map +1 -1
- package/build/src/clients/validator-api/operations/v0/wallet/transfer-offers/get-status.d.ts.map +1 -1
- package/build/src/clients/validator-api/operations/v0/wallet/transfer-offers/get-status.js +1 -0
- package/build/src/clients/validator-api/operations/v0/wallet/transfer-offers/get-status.js.map +1 -1
- package/build/src/core/BaseClient.d.ts +5 -4
- package/build/src/core/BaseClient.d.ts.map +1 -1
- package/build/src/core/BaseClient.js +8 -8
- package/build/src/core/BaseClient.js.map +1 -1
- package/build/src/core/errors.d.ts +26 -1
- package/build/src/core/errors.d.ts.map +1 -1
- package/build/src/core/errors.js +30 -9
- package/build/src/core/errors.js.map +1 -1
- package/build/src/core/http/HttpClient.d.ts +41 -31
- package/build/src/core/http/HttpClient.d.ts.map +1 -1
- package/build/src/core/http/HttpClient.js +391 -118
- package/build/src/core/http/HttpClient.js.map +1 -1
- package/build/src/core/http/abort.d.ts +9 -0
- package/build/src/core/http/abort.d.ts.map +1 -0
- package/build/src/core/http/abort.js +54 -0
- package/build/src/core/http/abort.js.map +1 -0
- package/build/src/core/http/index.d.ts +1 -0
- package/build/src/core/http/index.d.ts.map +1 -1
- package/build/src/core/http/index.js +1 -0
- package/build/src/core/http/index.js.map +1 -1
- package/build/src/core/http/request-retry.d.ts +130 -0
- package/build/src/core/http/request-retry.d.ts.map +1 -0
- package/build/src/core/http/request-retry.js +14 -0
- package/build/src/core/http/request-retry.js.map +1 -0
- package/build/src/core/http/request-value.d.ts +5 -0
- package/build/src/core/http/request-value.d.ts.map +1 -0
- package/build/src/core/http/request-value.js +63 -0
- package/build/src/core/http/request-value.js.map +1 -0
- package/build/src/core/operations/ApiOperation.d.ts +7 -5
- package/build/src/core/operations/ApiOperation.d.ts.map +1 -1
- package/build/src/core/operations/ApiOperation.js +19 -11
- package/build/src/core/operations/ApiOperation.js.map +1 -1
- package/build/src/core/operations/ApiOperationFactory.d.ts +20 -4
- package/build/src/core/operations/ApiOperationFactory.d.ts.map +1 -1
- package/build/src/core/operations/ApiOperationFactory.js +48 -8
- package/build/src/core/operations/ApiOperationFactory.js.map +1 -1
- package/build/src/core/operations/index.d.ts +2 -0
- package/build/src/core/operations/index.d.ts.map +1 -1
- package/build/src/core/operations/index.js +2 -0
- package/build/src/core/operations/index.js.map +1 -1
- package/build/src/core/operations/operation-execute-options.d.ts +68 -0
- package/build/src/core/operations/operation-execute-options.d.ts.map +1 -0
- package/build/src/core/operations/operation-execute-options.js +36 -0
- package/build/src/core/operations/operation-execute-options.js.map +1 -0
- package/build/src/core/operations/operation-request-options.d.ts +15 -0
- package/build/src/core/operations/operation-request-options.d.ts.map +1 -0
- package/build/src/core/operations/operation-request-options.js +106 -0
- package/build/src/core/operations/operation-request-options.js.map +1 -0
- package/build/src/utils/mining/mining-rounds.d.ts +4 -3
- package/build/src/utils/mining/mining-rounds.d.ts.map +1 -1
- package/build/src/utils/mining/mining-rounds.js +4 -4
- package/build/src/utils/mining/mining-rounds.js.map +1 -1
- package/build/src/utils/token-standard/v2/allocation.d.ts.map +1 -1
- package/build/src/utils/token-standard/v2/allocation.js +5 -10
- package/build/src/utils/token-standard/v2/allocation.js.map +1 -1
- package/build/src/utils/token-standard/v2/holdings.d.ts +70 -0
- package/build/src/utils/token-standard/v2/holdings.d.ts.map +1 -0
- package/build/src/utils/token-standard/v2/holdings.js +458 -0
- package/build/src/utils/token-standard/v2/holdings.js.map +1 -0
- package/build/src/utils/token-standard/v2/index.d.ts +1 -0
- package/build/src/utils/token-standard/v2/index.d.ts.map +1 -1
- package/build/src/utils/token-standard/v2/index.js +1 -0
- package/build/src/utils/token-standard/v2/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"allocation.js","sourceRoot":"","sources":["../../../../../src/utils/token-standard/v2/allocation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"allocation.js","sourceRoot":"","sources":["../../../../../src/utils/token-standard/v2/allocation.ts"],"names":[],"mappings":";;;;;;;;;AAMA,iDAAsE;AACtE,+CAA+C;AAC/C,2CAA6D;AAGhD,QAAA,iDAAiD,GAC5D,wGAAwG,CAAC;AAE9F,QAAA,oDAAoD,GAAG,4BAA4B,CAAC;AAEpF,QAAA,kCAAkC,GAAG;IAChD,aAAa,EAAE,4CAA4C;IAC3D,wBAAwB,EAAE,uDAAuD;IACjF,cAAc,EAAE,6CAA6C;IAC7D,gBAAgB,EAAE,+CAA+C;CACzD,CAAC;AAKX,oCAA4C,SAAQ,oBAAW;IAG7D,YAAmB,IAAwC,EAAE,OAAe,EAAE,OAAsB;QAClG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,gCAAgC,CAAC;IAC/C,CAAC;CACF;;AAkJD,SAAS,eAAe,CAAC,KAAc,EAAE,SAAiB;IACxD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,8BAA8B,CACtC,QAAA,kCAAkC,CAAC,aAAa,EAChD,GAAG,SAAS,oBAAoB,EAChC,EAAE,KAAK,EAAE,SAAS,EAAE,CACrB,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,8BAA8B,CACtC,QAAA,kCAAkC,CAAC,aAAa,EAChD,GAAG,SAAS,qBAAqB,EACjC,EAAE,KAAK,EAAE,SAAS,EAAE,CACrB,CAAC;IACJ,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc,EAAE,SAAiB;IAC3D,IAAI,CAAC,IAAA,gBAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,8BAA8B,CACtC,QAAA,kCAAkC,CAAC,aAAa,EAChD,GAAG,SAAS,qBAAqB,EACjC,EAAE,KAAK,EAAE,SAAS,EAAE,CACrB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAc,EAAE,SAAiB;IACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,8BAA8B,CACtC,QAAA,kCAAkC,CAAC,aAAa,EAChD,GAAG,SAAS,gBAAgB,EAC5B,EAAE,KAAK,EAAE,SAAS,EAAE,CACrB,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAChC,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;AACxD,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAyB,EAAE,SAAiB,EAAE,UAAU,GAAG,KAAK;IACxF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,8BAA8B,CACtC,QAAA,kCAAkC,CAAC,aAAa,EAChD,GAAG,SAAS,oBAAoB,EAChC,EAAE,KAAK,EAAE,SAAS,EAAE,CACrB,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,8BAA8B,CACtC,QAAA,kCAAkC,CAAC,aAAa,EAChD,GAAG,SAAS,mCAAmC,EAC/C,EAAE,KAAK,EAAE,SAAS,EAAE,CACrB,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,SAAS,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;AACxF,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc,EAAE,SAAiB;IACzD,IAAI,CAAC,IAAA,gBAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,8BAA8B,CACtC,QAAA,kCAAkC,CAAC,aAAa,EAChD,GAAG,SAAS,wBAAwB,EACpC,EAAE,KAAK,EAAE,SAAS,EAAE,CACrB,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAA2B,CAAC;IAC7D,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,8BAA8B,CACtC,QAAA,kCAAkC,CAAC,aAAa,EAChD,GAAG,SAAS,IAAI,GAAG,oBAAoB,EACvC,EAAE,KAAK,EAAE,GAAG,SAAS,IAAI,GAAG,EAAE,EAAE,CACjC,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE;YACjC,KAAK,EAAE,KAAK;YACZ,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc,EAAE,SAAiB;IAC1D,IAAI,CAAC,IAAA,gBAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,8BAA8B,CACtC,QAAA,kCAAkC,CAAC,aAAa,EAChD,GAAG,SAAS,mCAAmC,EAC/C,EAAE,KAAK,EAAE,SAAS,EAAE,CACrB,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,GAAG,SAAS,SAAS,CAAC,EAAE,CAAC;AAC9E,CAAC;AAED,SAAS,sBAAsB,CAC7B,KAAc,EACd,SAAiB,EACjB,IAAI,GAAuC,QAAA,kCAAkC,CAAC,wBAAwB;IAEtG,IAAI,CAAC,IAAA,gBAAQ,EAAC,KAAK,CAAC,IAAI,CAAC,IAAA,gBAAQ,EAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,8BAA8B,CAAC,IAAI,EAAE,GAAG,SAAS,2CAA2C,EAAE;YACtG,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;IACL,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAA4B,CAAC;IAC9D,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QAC3D,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE;YACjC,KAAK,EAAE,KAAK;YACZ,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,CAAC;AACpB,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc,EAAE,SAAiB;IACzD,IAAI,CAAC,IAAA,gBAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,8BAA8B,CACtC,QAAA,kCAAkC,CAAC,aAAa,EAChD,GAAG,SAAS,uCAAuC,EACnD,EAAE,KAAK,EAAE,SAAS,EAAE,CACrB,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACtC,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC3B,MAAM,IAAI,8BAA8B,CACtC,QAAA,kCAAkC,CAAC,aAAa,EAChD,GAAG,SAAS,uCAAuC,EACnD,EAAE,KAAK,EAAE,SAAS,EAAE,CACrB,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,MAAM,IAAI,8BAA8B,CACtC,QAAA,kCAAkC,CAAC,aAAa,EAChD,GAAG,SAAS,iCAAiC,EAC7C,EAAE,KAAK,EAAE,GAAG,SAAS,QAAQ,EAAE,CAChC,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,KAAK,IAAI,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACtD,MAAM,IAAI,8BAA8B,CACtC,QAAA,kCAAkC,CAAC,aAAa,EAChD,GAAG,SAAS,oCAAoC,EAChD,EAAE,KAAK,EAAE,GAAG,SAAS,WAAW,EAAE,CACnC,CAAC;IACJ,CAAC;IACD,OAAO;QACL,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,SAAS,QAAQ,CAAC;QAC3E,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,EAAE,GAAG,SAAS,WAAW,CAAC;QACvF,mEAAmE;QACnE,EAAE;KACH,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc,EAAE,SAAiB;IACzD,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,mCAAmC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,8BAA8B,CACtC,QAAA,kCAAkC,CAAC,aAAa,EAChD,GAAG,SAAS,uCAAuC,EACnD,EAAE,KAAK,EAAE,SAAS,EAAE,CACrB,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;IAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAc,EAAE,SAAiB;IACjE,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACnD,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,8BAA8B,CACtC,QAAA,kCAAkC,CAAC,aAAa,EAChD,GAAG,SAAS,oBAAoB,EAChC,EAAE,KAAK,EAAE,SAAS,EAAE,CACrB,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC;AACtB,CAAC;AAED,SAAS,gBAAgB,CACvB,KAA0D,EAC1D,SAAiB;IAEjB,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACvD,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAA2B,CAAC;IACjE,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACpD,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,GAAG,EAAE;YACrC,KAAK,EAAE,wBAAwB,CAAC,MAAM,EAAE,GAAG,SAAS,IAAI,GAAG,EAAE,CAAC;YAC9D,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,6BAA6B;IACpC,OAAO;QACL,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QACvB,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;KACrB,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAI,KAAoB,EAAE,QAAW;IAChE,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IACzC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAc,EAAE,SAAiB;IACnE,OAAO,iBAAiB,CAAC,oBAAoB,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;AACnF,CAAC;AAED,sDACE,MAA0D;IAE1D,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACrC,kBAAkB,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IACpD,kBAAkB,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IACpD,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS;QAAE,kBAAkB,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACtF,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,CAAC,SAAS,EAAE,6BAA6B,EAAE,CAAC,CAAC;IAC1F,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,8BAA8B,CACtC,QAAA,kCAAkC,CAAC,aAAa,EAChD,+CAA+C,EAC/C,EAAE,KAAK,EAAE,6BAA6B,EAAE,CACzC,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACrD,MAAM,IAAI,8BAA8B,CACtC,QAAA,kCAAkC,CAAC,aAAa,EAChD,yCAAyC,EACzC,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAClC,CAAC;IACJ,CAAC;IACD,MAAM,gBAAgB,GACpB,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,eAAe,EAAE,KAAK,EAAE,EAAE;QAChE,MAAM,SAAS,GAAG,+BAA+B,KAAK,GAAG,CAAC;QAC1D,IAAI,CAAC,IAAA,gBAAQ,EAAC,eAAe,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,8BAA8B,CACtC,QAAA,kCAAkC,CAAC,aAAa,EAChD,GAAG,SAAS,+BAA+B,EAC3C,EAAE,KAAK,EAAE,SAAS,EAAE,CACrB,CAAC;QACJ,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,eAAe,CAAC;QACjF,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;YACrD,MAAM,IAAI,8BAA8B,CACtC,QAAA,kCAAkC,CAAC,aAAa,EAChD,GAAG,SAAS,2CAA2C,EACvD,EAAE,KAAK,EAAE,GAAG,SAAS,OAAO,EAAE,CAC/B,CAAC;QACJ,CAAC;QACD,OAAO;YACL,aAAa,EAAE,WAAW,CAAC,aAAa,EAAE,GAAG,SAAS,gBAAgB,CAAC;YACvE,IAAI;YACJ,SAAS,EAAE,gBAAgB,CAAC,SAAS,EAAE,GAAG,SAAS,YAAY,CAAC;YAChE,MAAM,EAAE,wBAAwB,CAAC,MAAM,EAAE,GAAG,SAAS,SAAS,CAAC;YAC/D,YAAY,EAAE,WAAW,CAAC,YAAY,EAAE,GAAG,SAAS,eAAe,CAAC;YACpE,IAAI,EAAE,0BAA0B,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,GAAG,SAAS,OAAO,CAAC;SAC/E,CAAC;IACJ,CAAC,CAAC,CAAC;IACL,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACrH,IAAI,IAAI,GAAG,CAAC,mBAAmB,CAAC,CAAC,IAAI,KAAK,mBAAmB,CAAC,MAAM,EAAE,CAAC;QACrE,MAAM,IAAI,8BAA8B,CACtC,QAAA,kCAAkC,CAAC,aAAa,EAChD,4EAA4E,EAC5E,EAAE,KAAK,EAAE,6BAA6B,EAAE,CACzC,CAAC;IACJ,CAAC;IACD,MAAM,oBAAoB,GAAG,gBAAgB,CAC3C,MAAM,CAAC,UAAU,CAAC,oBAAoB,EACtC,iCAAiC,CAClC,CAAC;IACF,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,IAAI,oBAAoB,KAAK,IAAI,EAAE,CAAC;QACnE,MAAM,IAAI,8BAA8B,CACtC,QAAA,kCAAkC,CAAC,aAAa,EAChD,oFAAoF,EACpF,EAAE,KAAK,EAAE,6BAA6B,EAAE,CACzC,CAAC;IACJ,CAAC;IACD,OAAO;QACL,UAAU,EAAE;YACV,SAAS,EAAE,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,sBAAsB,CAAC;YAChF,EAAE,EAAE,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,eAAe,CAAC;YACtD,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,gBAAgB,CAAC;YACrG,IAAI,EAAE,0BAA0B,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,iBAAiB,CAAC;SAC5E;QACD,UAAU,EAAE;YACV,KAAK,EAAE,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,kBAAkB,CAAC;YACnE,UAAU,EAAE,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,uBAAuB,CAAC;YACnF,gBAAgB;YAChB,kBAAkB,EAChB,MAAM,CAAC,UAAU,CAAC,kBAAkB,KAAK,IAAI;gBAC3C,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,kBAAkB,EAAE,+BAA+B,CAAC;YAC5F,oBAAoB;YACpB,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,SAAS;YACtC,IAAI,EAAE,0BAA0B,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,iBAAiB,CAAC;SAC5E;QACD,WAAW,EAAE,eAAe,CAAC,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC;QAC/D,gBAAgB,EAAE,gBAAgB,CAAC,MAAM,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,IAAI,CAAC;QACrF,SAAS,EAAE;YACT,OAAO,EAAE,sBAAsB,CAC7B,SAAS,CAAC,OAAO,EACjB,mBAAmB,EACnB,QAAA,kCAAkC,CAAC,aAAa,CACjD;YACD,IAAI,EAAE,iBAAiB,CAAC,SAAS,CAAC,IAAI,EAAE,gBAAgB,CAAC;SAC1D;QACD,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;KAClD,CAAC;AACJ,CAAC;AAED,SAAS,uDAAuD,CAAC,MAIhE;IACC,MAAM,UAAU,GACd,MAAM,CAAC,4BAA4B,KAAK,SAAS;QAC/C,CAAC,CAAC,QAAA,iDAAiD;QACnD,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,4BAA4B,EAAE,8BAA8B,CAAC,CAAC;IAC3F,OAAO;QACL,eAAe,EAAE;YACf,UAAU;YACV,UAAU,EAAE,eAAe,CAAC,MAAM,CAAC,2BAA2B,EAAE,6BAA6B,CAAC;YAC9F,MAAM,EAAE,QAAA,oDAAoD;YAC5D,cAAc,EAAE,MAAM,CAAC,cAAiF;SACzG;KACF,CAAC;AACJ,CAAC;AAED,+CAAsD,MAAmD;IACvG,OAAO,uDAAuD,CAAC;QAC7D,2BAA2B,EAAE,MAAM,CAAC,2BAA2B;QAC/D,GAAG,CAAC,MAAM,CAAC,4BAA4B,KAAK,SAAS;YACnD,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,4BAA4B,EAAE,MAAM,CAAC,4BAA4B,EAAE,CAAC;QAC1E,cAAc,EAAE,4CAA4C,CAAC,MAAM,CAAC;KACrE,CAAC,CAAC;AACL,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc;IAC5C,MAAM,MAAM,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACnD,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAC9D,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC1E,MAAM,cAAc,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACtE,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,IAAI,CAAC,gBAAgB,IAAI,CAAC,cAAc,EAAE,CAAC;QACvE,MAAM,IAAI,8BAA8B,CACtC,QAAA,kCAAkC,CAAC,wBAAwB,EAC3D,+EAA+E,EAC/E,EAAE,KAAK,EAAE,CACV,CAAC;IACJ,CAAC;IACD,OAAO;QACL,UAAU;QACV,UAAU;QACV,gBAAgB;QAChB,cAAc;KACf,CAAC;AACJ,CAAC;AAED,SAAS,8BAA8B,CAAC,KAAc;IAKpD,MAAM,QAAQ,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACrD,MAAM,aAAa,GAAG,IAAA,gBAAQ,EAAC,QAAQ,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACpG,MAAM,iBAAiB,GAAG,aAAa,EAAE,CAAC,mBAAmB,CAAC,CAAC;IAC/D,MAAM,kBAAkB,GAAG,aAAa,EAAE,CAAC,oBAAoB,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,kBAAkB,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAC9D,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,8BAA8B,CACtC,QAAA,kCAAkC,CAAC,wBAAwB,EAC3D,mFAAmF,EACnF,EAAE,KAAK,EAAE,CACV,CAAC;IACJ,CAAC;IACD,OAAO;QACL,SAAS;QACT,iBAAiB,EAAE,sBAAsB,CAAC,iBAAiB,EAAE,iCAAiC,CAAC;QAC/F,kBAAkB,EAAE,kBAAkB,CAAC,GAAG,CAAC,sBAAsB,CAAC;KACnE,CAAC;AACJ,CAAC;AAEM,KAAK,kDACV,MAAqD;IAErD,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACrC,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxC,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,kCAAkC,KAAK,UAAU,EAAE,CAAC;QACzE,MAAM,IAAI,8BAA8B,CACtC,QAAA,kCAAkC,CAAC,aAAa,EAChD,6DAA6D,EAC7D,EAAE,KAAK,EAAE,yCAAyC,EAAE,CACrD,CAAC;IACJ,CAAC;IACD,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACvE,MAAM,sBAAsB,GAAG,4CAA4C,CAAC;QAC1E,GAAG,MAAM;QACT,SAAS,EAAE,6BAA6B,EAAE;KAC3C,CAAC,CAAC;IACH,MAAM,OAAO,GAA6C;QACxD,WAAW;QACX,eAAe,EAAE,sBAAgG;QACjH,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,IAAI,IAAI;KACtD,CAAC;IACF,MAAM,OAAO,GAAG,8BAA8B,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9G,MAAM,cAAc,GAA4C;QAC9D,GAAG,sBAAsB;QACzB,SAAS,EAAE;YACT,OAAO,EAAE,OAAO,CAAC,iBAAiB;YAClC,IAAI,EAAE,iBAAiB,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,UAAU,CAAC;SAC3F;KACF,CAAC;IACF,OAAO;QACL,2BAA2B,EAAE,OAAO,CAAC,SAAS;QAC9C,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC9C,cAAc;QACd,OAAO,EAAE,uDAAuD,CAAC;YAC/D,2BAA2B,EAAE,OAAO,CAAC,SAAS;YAC9C,GAAG,CAAC,MAAM,CAAC,4BAA4B,KAAK,SAAS;gBACnD,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,4BAA4B,EAAE,MAAM,CAAC,4BAA4B,EAAE,CAAC;YAC1E,cAAc;SACf,CAAC;KACH,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,IAAI,CAAC,IAAA,gBAAQ,EAAC,KAAK,CAAC,IAAI,CAAC,IAAA,gBAAQ,EAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACrE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAA2B,CAAC;IAC7D,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QAC3D,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QAChD,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE;YACjC,KAAK,EAAE,KAAK;YACZ,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,CAAC;AACpB,CAAC;AAED,SAAS,2BAA2B,CAAC,KAAc;IACjD,IAAI,CAAC,IAAA,gBAAQ,EAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAsC,CAAC;IACxE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACrB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,EAC5F,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE;YACjC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YACnD,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,kDAAkD,CACzD,KAAc;IAEd,MAAM,MAAM,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACnD,MAAM,MAAM,GAAG,IAAA,gBAAQ,EAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3E,MAAM,GAAG,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAChD,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,MAAM,OAAO,GAAG,IAAA,gBAAQ,EAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1E,MAAM,oBAAoB,GAAG,2BAA2B,CAAC,MAAM,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAC3F,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/C,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IACrD,MAAM,MAAM,GAAG,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;IAC9C,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,uCAAuC,EAAE,CAAC;YAC7C,MAAM,aAAa,GAAG,kBAAkB,CAAC,OAAO,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;YACrE,OAAO,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACrF,CAAC;QACD,KAAK,qCAAqC,EAAE,CAAC;YAC3C,MAAM,wBAAwB,GAAG,kBAAkB,CAAC,OAAO,EAAE,CAAC,0BAA0B,CAAC,CAAC,CAAC;YAC3F,OAAO,wBAAwB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,wBAAwB,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACzG,CAAC;QACD,KAAK,oCAAoC;YACvC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC;QACvC;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,yDACE,KAAc;IAEd,MAAM,MAAM,GAAG,kDAAkD,CAAC,KAAK,CAAC,CAAC;IACzE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,8BAA8B,CACtC,QAAA,kCAAkC,CAAC,cAAc,EACjD,6DAA6D,EAC7D,EAAE,KAAK,EAAE,CACV,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,wDACE,KAAc,EACd,2BAAoC;IAEpC,MAAM,MAAM,GAAG,kDAAkD,CAAC,KAAK,CAAC,CAAC;IACzE,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,sCAA4B,EAAC,KAAK,CAAC,CAAC;IAC1D,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,QAAA,oDAAoD;YAAE,SAAS;QACpF,IAAI,2BAA2B,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,KAAK,2BAA2B;YAAE,SAAS;QAC5G,MAAM,MAAM,GAAG,kDAAkD,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACxF,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;IAC5B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,2BAA2B,CAAC,QAAiB;IACpD,IAAI,CAAC,IAAA,gBAAQ,EAAC,QAAQ,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,eAAe,GAAG,IAAA,gBAAQ,EAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxG,OAAO,kBAAkB,CAAC,eAAe,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;AAC3D,CAAC;AAEM,KAAK,kDACV,MAAqD;IAErD,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACrC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAChD,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5C,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,+BAA+B,KAAK,UAAU,EAAE,CAAC;QACxE,MAAM,IAAI,8BAA8B,CACtC,QAAA,kCAAkC,CAAC,aAAa,EAChD,4DAA4D,EAC5D,EAAE,KAAK,EAAE,wCAAwC,EAAE,CACpD,CAAC;IACJ,CAAC;IACD,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;IAChE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,8BAA8B,CACtC,QAAA,kCAAkC,CAAC,aAAa,EAChD,+CAA+C,EAC/C,EAAE,KAAK,EAAE,6BAA6B,EAAE,CACzC,CAAC;IACJ,CAAC;IACD,MAAM,2BAA2B,GAAG,eAAe,CACjD,MAAM,CAAC,QAAQ,CAAC,2BAA2B,EAC3C,sCAAsC,CACvC,CAAC;IACF,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAClG,MAAM,YAAY,GAA0C;QAC1D,QAAQ,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;QACnC,KAAK;QACL,SAAS,EAAE,eAAe,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC;QACzD,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,kBAAkB,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAC3D,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS;YACnC,CAAC,CAAC,EAAE,YAAY,EAAE,eAAe,CAAC,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,EAAE;YACxE,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,MAAM,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxG,GAAG,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS;YACrC,CAAC,CAAC,EAAE,cAAc,EAAE,eAAe,CAAC,MAAM,CAAC,cAAc,EAAE,gBAAgB,CAAC,EAAE;YAC9E,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5F,GAAG,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7G,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,+BAA+B,CAAC,YAAY,CAAC,CAAC;IACnF,MAAM,MAAM,GAAG,8CAA8C,CAAC,QAAQ,EAAE,2BAA2B,CAAC,CAAC;IACrG,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,8BAA8B,CACtC,QAAA,kCAAkC,CAAC,gBAAgB,EACnD,GAAG,QAAA,oDAAoD,gDAAgD,EACvG,EAAE,QAAQ,EAAE,2BAA2B,CAAC,QAAQ,CAAC,EAAE,CACpD,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IACvD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,8BAA8B,CACtC,QAAA,kCAAkC,CAAC,cAAc,EACjD,4FAA4F,EAC5F,EAAE,QAAQ,EAAE,CACb,CAAC;IACJ,CAAC;IACD,OAAO;QACL,QAAQ;QACR,MAAM;QACN,QAAQ;KACT,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import type { GetActiveContractsParams } from '../../../clients/ledger-json-api/operations/v2/state/get-active-contracts';
|
|
2
|
+
import type { JsGetActiveContractsResponse } from '../../../clients/ledger-json-api/schemas';
|
|
3
|
+
import { CantonError, type ErrorContext } from '../../../core/errors';
|
|
4
|
+
import type { TokenStandardV2Account, TokenStandardV2InstrumentId, TokenStandardV2Metadata } from './types';
|
|
5
|
+
export declare const TOKEN_STANDARD_V2_HOLDING_INTERFACE_ID = "#splice-api-token-holding-v2:Splice.Api.Token.HoldingV2:Holding";
|
|
6
|
+
export declare const TOKEN_STANDARD_V2_AMOUNT_DECIMALS = 10;
|
|
7
|
+
export declare const TokenStandardV2HoldingErrorCode: {
|
|
8
|
+
readonly INPUT_INVALID: 'TOKEN_STANDARD_V2_HOLDING_INPUT_INVALID';
|
|
9
|
+
readonly INTERFACE_VIEW_INVALID: 'TOKEN_STANDARD_V2_HOLDING_INTERFACE_VIEW_INVALID';
|
|
10
|
+
readonly BALANCE_INSUFFICIENT: 'TOKEN_STANDARD_V2_HOLDING_BALANCE_INSUFFICIENT';
|
|
11
|
+
};
|
|
12
|
+
export type TokenStandardV2HoldingErrorCode = (typeof TokenStandardV2HoldingErrorCode)[keyof typeof TokenStandardV2HoldingErrorCode];
|
|
13
|
+
export declare class TokenStandardV2HoldingError extends CantonError {
|
|
14
|
+
readonly name: string;
|
|
15
|
+
constructor(code: TokenStandardV2HoldingErrorCode, message: string, context?: ErrorContext);
|
|
16
|
+
}
|
|
17
|
+
export interface TokenStandardV2HoldingActiveContractsClient {
|
|
18
|
+
getActiveContracts(params: GetActiveContractsParams): Promise<JsGetActiveContractsResponse>;
|
|
19
|
+
}
|
|
20
|
+
export interface TokenStandardV2Lock {
|
|
21
|
+
readonly holders: readonly string[];
|
|
22
|
+
readonly expiresAt: string | null;
|
|
23
|
+
/** Duration from the holding's createdAt ledger time after which the lock expires. */
|
|
24
|
+
readonly expiresAfter: {
|
|
25
|
+
readonly microseconds: string;
|
|
26
|
+
} | null;
|
|
27
|
+
readonly context: string | null;
|
|
28
|
+
}
|
|
29
|
+
export interface TokenStandardV2Holding {
|
|
30
|
+
readonly contractId: string;
|
|
31
|
+
readonly templateId: string;
|
|
32
|
+
readonly synchronizerId: string;
|
|
33
|
+
/** ISO 8601 ledger effective time at which the active holding was created. */
|
|
34
|
+
readonly createdAt: string;
|
|
35
|
+
readonly account: TokenStandardV2Account;
|
|
36
|
+
readonly instrumentId: TokenStandardV2InstrumentId;
|
|
37
|
+
readonly amount: string;
|
|
38
|
+
readonly amountBaseUnits: string;
|
|
39
|
+
readonly lock: TokenStandardV2Lock | null;
|
|
40
|
+
readonly meta: TokenStandardV2Metadata;
|
|
41
|
+
}
|
|
42
|
+
export interface ListTokenStandardV2HoldingsParams {
|
|
43
|
+
readonly ledger: TokenStandardV2HoldingActiveContractsClient;
|
|
44
|
+
readonly parties: readonly string[];
|
|
45
|
+
readonly account: TokenStandardV2Account;
|
|
46
|
+
readonly instrumentId: TokenStandardV2InstrumentId;
|
|
47
|
+
readonly instrumentDecimals: number;
|
|
48
|
+
readonly synchronizerId?: string;
|
|
49
|
+
readonly activeAtOffset?: number;
|
|
50
|
+
readonly holdingInterfaceId?: string;
|
|
51
|
+
}
|
|
52
|
+
export interface SelectTokenStandardV2HoldingsParams extends Omit<ListTokenStandardV2HoldingsParams, 'synchronizerId' | 'activeAtOffset'> {
|
|
53
|
+
readonly synchronizerId: string;
|
|
54
|
+
/** ACS snapshot offset. Requiring it keeps selection to one Canton network read. */
|
|
55
|
+
readonly activeAtOffset: number;
|
|
56
|
+
readonly amountBaseUnits: string;
|
|
57
|
+
/**
|
|
58
|
+
* Token-specific spendability policy. Use holding.createdAt with lock.expiresAfter to derive a relative lock's
|
|
59
|
+
* absolute expiry. Defaults to holdings whose HoldingV2 lock is None.
|
|
60
|
+
*/
|
|
61
|
+
readonly isSpendable?: (holding: TokenStandardV2Holding) => boolean;
|
|
62
|
+
}
|
|
63
|
+
export interface SelectedTokenStandardV2Holdings {
|
|
64
|
+
readonly holdings: readonly TokenStandardV2Holding[];
|
|
65
|
+
readonly contractIds: readonly string[];
|
|
66
|
+
readonly totalBaseUnits: string;
|
|
67
|
+
}
|
|
68
|
+
export declare function listTokenStandardV2Holdings(params: ListTokenStandardV2HoldingsParams): Promise<readonly TokenStandardV2Holding[]>;
|
|
69
|
+
export declare function selectTokenStandardV2Holdings(params: SelectTokenStandardV2HoldingsParams): Promise<SelectedTokenStandardV2Holdings>;
|
|
70
|
+
//# sourceMappingURL=holdings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"holdings.d.ts","sourceRoot":"","sources":["../../../../../src/utils/token-standard/v2/holdings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,458 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TokenStandardV2HoldingError = exports.TokenStandardV2HoldingErrorCode = exports.TOKEN_STANDARD_V2_AMOUNT_DECIMALS = exports.TOKEN_STANDARD_V2_HOLDING_INTERFACE_ID = void 0;
|
|
4
|
+
exports.listTokenStandardV2Holdings = listTokenStandardV2Holdings;
|
|
5
|
+
exports.selectTokenStandardV2Holdings = selectTokenStandardV2Holdings;
|
|
6
|
+
const errors_1 = require("../../../core/errors");
|
|
7
|
+
const utils_1 = require("../../../core/utils");
|
|
8
|
+
const contracts_1 = require("../../contracts");
|
|
9
|
+
exports.TOKEN_STANDARD_V2_HOLDING_INTERFACE_ID = '#splice-api-token-holding-v2:Splice.Api.Token.HoldingV2:Holding';
|
|
10
|
+
exports.TOKEN_STANDARD_V2_AMOUNT_DECIMALS = 10;
|
|
11
|
+
const ISO_8601_TIMESTAMP_PATTERN = /^(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d{1,9})?(?:Z|[+-](?:[01]\d|2[0-3]):[0-5]\d)$/;
|
|
12
|
+
const SIGNED_INTEGER_PATTERN = /^-?\d+$/;
|
|
13
|
+
const DECIMAL_AMOUNT_PATTERN = /^(\d+)(?:\.(\d+))?$/;
|
|
14
|
+
const TRAILING_ZEROS_PATTERN = /0+$/;
|
|
15
|
+
const NON_NEGATIVE_INTEGER_PATTERN = /^\d+$/;
|
|
16
|
+
exports.TokenStandardV2HoldingErrorCode = {
|
|
17
|
+
INPUT_INVALID: 'TOKEN_STANDARD_V2_HOLDING_INPUT_INVALID',
|
|
18
|
+
INTERFACE_VIEW_INVALID: 'TOKEN_STANDARD_V2_HOLDING_INTERFACE_VIEW_INVALID',
|
|
19
|
+
BALANCE_INSUFFICIENT: 'TOKEN_STANDARD_V2_HOLDING_BALANCE_INSUFFICIENT',
|
|
20
|
+
};
|
|
21
|
+
class TokenStandardV2HoldingError extends errors_1.CantonError {
|
|
22
|
+
constructor(code, message, context) {
|
|
23
|
+
super(message, code, context);
|
|
24
|
+
this.name = 'TokenStandardV2HoldingError';
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
exports.TokenStandardV2HoldingError = TokenStandardV2HoldingError;
|
|
28
|
+
function inputInvalid(message, context) {
|
|
29
|
+
throw new TokenStandardV2HoldingError(exports.TokenStandardV2HoldingErrorCode.INPUT_INVALID, message, context);
|
|
30
|
+
}
|
|
31
|
+
function interfaceViewInvalid(message, context) {
|
|
32
|
+
throw new TokenStandardV2HoldingError(exports.TokenStandardV2HoldingErrorCode.INTERFACE_VIEW_INVALID, message, context);
|
|
33
|
+
}
|
|
34
|
+
function normalizeRequiredString(value, field) {
|
|
35
|
+
if (typeof value !== 'string' || value.trim().length === 0) {
|
|
36
|
+
inputInvalid(`${field} must be a non-empty string.`, { field });
|
|
37
|
+
}
|
|
38
|
+
return value.trim();
|
|
39
|
+
}
|
|
40
|
+
function normalizeParties(parties) {
|
|
41
|
+
if (!Array.isArray(parties)) {
|
|
42
|
+
inputInvalid('parties must be an array of explicit read parties.', {
|
|
43
|
+
field: 'parties',
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
const normalized = new Set();
|
|
47
|
+
for (const [index, party] of parties.entries()) {
|
|
48
|
+
if (typeof party !== 'string') {
|
|
49
|
+
inputInvalid('parties must contain only strings.', {
|
|
50
|
+
field: 'parties',
|
|
51
|
+
index,
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
if (party.trim().length > 0)
|
|
55
|
+
normalized.add(party.trim());
|
|
56
|
+
}
|
|
57
|
+
if (normalized.size === 0) {
|
|
58
|
+
inputInvalid('parties must contain at least one read party.', {
|
|
59
|
+
field: 'parties',
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
return [...normalized];
|
|
63
|
+
}
|
|
64
|
+
function normalizeInstrumentDecimals(value) {
|
|
65
|
+
if (!Number.isSafeInteger(value) || value < 0 || value > exports.TOKEN_STANDARD_V2_AMOUNT_DECIMALS) {
|
|
66
|
+
inputInvalid(`instrumentDecimals must be a safe integer between 0 and ${exports.TOKEN_STANDARD_V2_AMOUNT_DECIMALS}.`, {
|
|
67
|
+
field: 'instrumentDecimals',
|
|
68
|
+
instrumentDecimals: value,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
return value;
|
|
72
|
+
}
|
|
73
|
+
function normalizeActiveAtOffset(value) {
|
|
74
|
+
if (!Number.isSafeInteger(value) || value < 0) {
|
|
75
|
+
inputInvalid('activeAtOffset must be a non-negative safe integer.', {
|
|
76
|
+
field: 'activeAtOffset',
|
|
77
|
+
activeAtOffset: value,
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
return value;
|
|
81
|
+
}
|
|
82
|
+
function normalizeRequiredActiveAtOffset(value) {
|
|
83
|
+
if (value === undefined) {
|
|
84
|
+
inputInvalid('activeAtOffset is required for Token Standard V2 holding selection.', {
|
|
85
|
+
field: 'activeAtOffset',
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
if (typeof value !== 'number') {
|
|
89
|
+
inputInvalid('activeAtOffset must be a non-negative safe integer.', {
|
|
90
|
+
field: 'activeAtOffset',
|
|
91
|
+
activeAtOffset: value,
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
return normalizeActiveAtOffset(value);
|
|
95
|
+
}
|
|
96
|
+
function validateAccount(account) {
|
|
97
|
+
if (!(0, utils_1.isRecord)(account) ||
|
|
98
|
+
(account.owner !== null && !(0, utils_1.isNonEmptyString)(account.owner)) ||
|
|
99
|
+
(account.provider !== null && !(0, utils_1.isNonEmptyString)(account.provider)) ||
|
|
100
|
+
typeof account.id !== 'string') {
|
|
101
|
+
inputInvalid('account must be a valid Token Standard V2 Account.', {
|
|
102
|
+
field: 'account',
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
function validateInstrumentId(instrumentId) {
|
|
107
|
+
if (!(0, utils_1.isRecord)(instrumentId) || !(0, utils_1.isNonEmptyString)(instrumentId.admin) || !(0, utils_1.isNonEmptyString)(instrumentId.id)) {
|
|
108
|
+
inputInvalid('instrumentId must be a valid Token Standard V2 InstrumentId.', { field: 'instrumentId' });
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
function readNullableString(value) {
|
|
112
|
+
if (value === null)
|
|
113
|
+
return null;
|
|
114
|
+
return (0, utils_1.isNonEmptyString)(value) ? value : undefined;
|
|
115
|
+
}
|
|
116
|
+
function readCreatedAt(value) {
|
|
117
|
+
if (typeof value !== 'string')
|
|
118
|
+
return undefined;
|
|
119
|
+
const match = ISO_8601_TIMESTAMP_PATTERN.exec(value);
|
|
120
|
+
if (!match || Number.isNaN(Date.parse(value)))
|
|
121
|
+
return undefined;
|
|
122
|
+
const year = Number(match[1]);
|
|
123
|
+
const month = Number(match[2]);
|
|
124
|
+
const day = Number(match[3]);
|
|
125
|
+
const isLeapYear = year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);
|
|
126
|
+
const daysInMonth = month === 2 ? (isLeapYear ? 29 : 28) : [4, 6, 9, 11].includes(month) ? 30 : 31;
|
|
127
|
+
return day <= daysInMonth ? value : undefined;
|
|
128
|
+
}
|
|
129
|
+
function requireCreatedAt(value, context) {
|
|
130
|
+
const createdAt = readCreatedAt(value);
|
|
131
|
+
if (createdAt === undefined) {
|
|
132
|
+
interfaceViewInvalid('Active Holding contract is missing a valid createdAt ledger timestamp.', {
|
|
133
|
+
...context,
|
|
134
|
+
createdAt: value,
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
return createdAt;
|
|
138
|
+
}
|
|
139
|
+
function readRawActiveContract(item) {
|
|
140
|
+
if (!(0, utils_1.isRecord)(item))
|
|
141
|
+
return undefined;
|
|
142
|
+
const { contractEntry } = item;
|
|
143
|
+
if (!(0, utils_1.isRecord)(contractEntry))
|
|
144
|
+
return undefined;
|
|
145
|
+
const activeContract = contractEntry['JsActiveContract'];
|
|
146
|
+
return (0, utils_1.isRecord)(activeContract) ? activeContract : undefined;
|
|
147
|
+
}
|
|
148
|
+
function readAccount(value) {
|
|
149
|
+
if (!(0, utils_1.isRecord)(value))
|
|
150
|
+
return undefined;
|
|
151
|
+
const owner = readNullableString(value['owner']);
|
|
152
|
+
const provider = readNullableString(value['provider']);
|
|
153
|
+
const id = typeof value['id'] === 'string' ? value['id'] : undefined;
|
|
154
|
+
if (owner === undefined || provider === undefined || id === undefined) {
|
|
155
|
+
return undefined;
|
|
156
|
+
}
|
|
157
|
+
return { owner, provider, id };
|
|
158
|
+
}
|
|
159
|
+
function readInstrumentId(value) {
|
|
160
|
+
if (!(0, utils_1.isRecord)(value))
|
|
161
|
+
return undefined;
|
|
162
|
+
const admin = (0, utils_1.isNonEmptyString)(value['admin']) ? value['admin'] : undefined;
|
|
163
|
+
const id = (0, utils_1.isNonEmptyString)(value['id']) ? value['id'] : undefined;
|
|
164
|
+
return admin && id ? { admin, id } : undefined;
|
|
165
|
+
}
|
|
166
|
+
function readMetadata(value) {
|
|
167
|
+
if (!(0, utils_1.isRecord)(value) || !(0, utils_1.isRecord)(value['values']))
|
|
168
|
+
return undefined;
|
|
169
|
+
const values = Object.create(null);
|
|
170
|
+
for (const [key, metadataValue] of Object.entries(value['values'])) {
|
|
171
|
+
if (typeof metadataValue !== 'string')
|
|
172
|
+
return undefined;
|
|
173
|
+
Object.defineProperty(values, key, {
|
|
174
|
+
value: metadataValue,
|
|
175
|
+
enumerable: true,
|
|
176
|
+
configurable: true,
|
|
177
|
+
writable: false,
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
return { values };
|
|
181
|
+
}
|
|
182
|
+
function readLock(value) {
|
|
183
|
+
if (value === null)
|
|
184
|
+
return null;
|
|
185
|
+
if (!(0, utils_1.isRecord)(value) || !Array.isArray(value['holders']))
|
|
186
|
+
return undefined;
|
|
187
|
+
const { holders } = value;
|
|
188
|
+
if (!holders.every(utils_1.isNonEmptyString))
|
|
189
|
+
return undefined;
|
|
190
|
+
const expiresAt = readNullableString(value['expiresAt']);
|
|
191
|
+
const context = readNullableString(value['context']);
|
|
192
|
+
const rawExpiresAfter = value['expiresAfter'];
|
|
193
|
+
let expiresAfter;
|
|
194
|
+
if (rawExpiresAfter === null) {
|
|
195
|
+
expiresAfter = null;
|
|
196
|
+
}
|
|
197
|
+
else if ((0, utils_1.isRecord)(rawExpiresAfter) &&
|
|
198
|
+
typeof rawExpiresAfter['microseconds'] === 'string' &&
|
|
199
|
+
SIGNED_INTEGER_PATTERN.test(rawExpiresAfter['microseconds'])) {
|
|
200
|
+
expiresAfter = { microseconds: rawExpiresAfter['microseconds'] };
|
|
201
|
+
}
|
|
202
|
+
else {
|
|
203
|
+
return undefined;
|
|
204
|
+
}
|
|
205
|
+
if (expiresAt === undefined || context === undefined)
|
|
206
|
+
return undefined;
|
|
207
|
+
return { holders, expiresAt, expiresAfter, context };
|
|
208
|
+
}
|
|
209
|
+
function accountsEqual(left, right) {
|
|
210
|
+
return left.owner === right.owner && left.provider === right.provider && left.id === right.id;
|
|
211
|
+
}
|
|
212
|
+
function instrumentIdsEqual(left, right) {
|
|
213
|
+
return left.admin === right.admin && left.id === right.id;
|
|
214
|
+
}
|
|
215
|
+
function locksEqual(left, right) {
|
|
216
|
+
if (left === null || right === null)
|
|
217
|
+
return left === right;
|
|
218
|
+
return (left.expiresAt === right.expiresAt &&
|
|
219
|
+
left.expiresAfter?.microseconds === right.expiresAfter?.microseconds &&
|
|
220
|
+
left.context === right.context &&
|
|
221
|
+
left.holders.length === right.holders.length &&
|
|
222
|
+
left.holders.every((holder, index) => holder === right.holders[index]));
|
|
223
|
+
}
|
|
224
|
+
function metadataEqual(left, right) {
|
|
225
|
+
const leftEntries = Object.entries(left.values);
|
|
226
|
+
return (leftEntries.length === Object.keys(right.values).length &&
|
|
227
|
+
leftEntries.every(([key, value]) => right.values[key] === value));
|
|
228
|
+
}
|
|
229
|
+
function identifierModuleEntitySuffix(identifier) {
|
|
230
|
+
const separator = identifier.indexOf(':');
|
|
231
|
+
return separator === -1 ? undefined : identifier.slice(separator + 1);
|
|
232
|
+
}
|
|
233
|
+
function interfaceIdsMatch(left, right) {
|
|
234
|
+
return identifierModuleEntitySuffix(left) === identifierModuleEntitySuffix(right);
|
|
235
|
+
}
|
|
236
|
+
function failedInterfaceView(params) {
|
|
237
|
+
interfaceViewInvalid('HoldingV2 interface view request failed.', {
|
|
238
|
+
itemIndex: params.itemIndex,
|
|
239
|
+
contractId: params.contractId,
|
|
240
|
+
interfaceId: params.interfaceId,
|
|
241
|
+
viewStatusCode: params.statusCode,
|
|
242
|
+
viewStatusMessage: params.statusMessage,
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
function decimalAmountToBaseUnits(amount, decimals) {
|
|
246
|
+
const match = DECIMAL_AMOUNT_PATTERN.exec(amount.trim());
|
|
247
|
+
if (!match)
|
|
248
|
+
throw new Error('amount must be a non-negative decimal');
|
|
249
|
+
const whole = match[1] ?? '0';
|
|
250
|
+
const fractional = (match[2] ?? '').replace(TRAILING_ZEROS_PATTERN, '');
|
|
251
|
+
if (fractional.length > decimals) {
|
|
252
|
+
throw new Error(`amount exceeds ${decimals} decimal places`);
|
|
253
|
+
}
|
|
254
|
+
const scale = 10n ** BigInt(decimals);
|
|
255
|
+
return (BigInt(whole) * scale + BigInt(fractional.padEnd(decimals, '0') || '0')).toString();
|
|
256
|
+
}
|
|
257
|
+
function normalizeBaseUnitAmount(value) {
|
|
258
|
+
if (typeof value !== 'string' || !NON_NEGATIVE_INTEGER_PATTERN.test(value.trim())) {
|
|
259
|
+
inputInvalid('amountBaseUnits must be a non-negative integer string.', {
|
|
260
|
+
field: 'amountBaseUnits',
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
return BigInt(value.trim()).toString();
|
|
264
|
+
}
|
|
265
|
+
function readHolding(params) {
|
|
266
|
+
const activeContract = params.item.contractEntry.JsActiveContract;
|
|
267
|
+
if (params.synchronizerId !== undefined && activeContract.synchronizerId !== params.synchronizerId) {
|
|
268
|
+
return undefined;
|
|
269
|
+
}
|
|
270
|
+
const { createdEvent } = activeContract;
|
|
271
|
+
const matchingViews = createdEvent.interfaceViews.filter((view) => interfaceIdsMatch(view.interfaceId, params.holdingInterfaceId));
|
|
272
|
+
if (matchingViews.length !== 1) {
|
|
273
|
+
interfaceViewInvalid('Active Holding contract must contain exactly one HoldingV2 interface view.', {
|
|
274
|
+
itemIndex: params.itemIndex,
|
|
275
|
+
contractId: createdEvent.contractId,
|
|
276
|
+
matchingViewCount: matchingViews.length,
|
|
277
|
+
});
|
|
278
|
+
}
|
|
279
|
+
const interfaceView = matchingViews[0];
|
|
280
|
+
if (!interfaceView) {
|
|
281
|
+
interfaceViewInvalid('HoldingV2 interface view is missing.', {
|
|
282
|
+
itemIndex: params.itemIndex,
|
|
283
|
+
contractId: createdEvent.contractId,
|
|
284
|
+
});
|
|
285
|
+
}
|
|
286
|
+
const viewValue = (0, utils_1.isRecord)(interfaceView.viewValue) ? interfaceView.viewValue : undefined;
|
|
287
|
+
const account = viewValue ? readAccount(viewValue['account']) : undefined;
|
|
288
|
+
const instrumentId = viewValue ? readInstrumentId(viewValue['instrumentId']) : undefined;
|
|
289
|
+
if ((account && !accountsEqual(account, params.account)) ||
|
|
290
|
+
(instrumentId && !instrumentIdsEqual(instrumentId, params.instrumentId))) {
|
|
291
|
+
return undefined;
|
|
292
|
+
}
|
|
293
|
+
if (interfaceView.viewStatus.code !== 0) {
|
|
294
|
+
failedInterfaceView({
|
|
295
|
+
itemIndex: params.itemIndex,
|
|
296
|
+
contractId: createdEvent.contractId,
|
|
297
|
+
interfaceId: interfaceView.interfaceId,
|
|
298
|
+
statusCode: interfaceView.viewStatus.code,
|
|
299
|
+
statusMessage: interfaceView.viewStatus.message,
|
|
300
|
+
});
|
|
301
|
+
}
|
|
302
|
+
if (!viewValue) {
|
|
303
|
+
interfaceViewInvalid('HoldingV2 interface view is missing viewValue.', {
|
|
304
|
+
itemIndex: params.itemIndex,
|
|
305
|
+
contractId: createdEvent.contractId,
|
|
306
|
+
});
|
|
307
|
+
}
|
|
308
|
+
if (!account || !instrumentId) {
|
|
309
|
+
interfaceViewInvalid('HoldingV2 interface view is missing a valid account or instrumentId.', {
|
|
310
|
+
itemIndex: params.itemIndex,
|
|
311
|
+
contractId: createdEvent.contractId,
|
|
312
|
+
});
|
|
313
|
+
}
|
|
314
|
+
const createdAt = requireCreatedAt(createdEvent.createdAt, {
|
|
315
|
+
itemIndex: params.itemIndex,
|
|
316
|
+
contractId: createdEvent.contractId,
|
|
317
|
+
});
|
|
318
|
+
const lock = readLock(viewValue['lock']);
|
|
319
|
+
const meta = readMetadata(viewValue['meta']);
|
|
320
|
+
if (lock === undefined || !meta) {
|
|
321
|
+
interfaceViewInvalid('HoldingV2 interface view has an invalid lock or metadata value.', {
|
|
322
|
+
itemIndex: params.itemIndex,
|
|
323
|
+
contractId: createdEvent.contractId,
|
|
324
|
+
});
|
|
325
|
+
}
|
|
326
|
+
const { amount } = viewValue;
|
|
327
|
+
if (!(0, utils_1.isNonEmptyString)(amount)) {
|
|
328
|
+
interfaceViewInvalid('HoldingV2 interface view is missing amount.', {
|
|
329
|
+
itemIndex: params.itemIndex,
|
|
330
|
+
contractId: createdEvent.contractId,
|
|
331
|
+
});
|
|
332
|
+
}
|
|
333
|
+
let amountBaseUnits;
|
|
334
|
+
try {
|
|
335
|
+
amountBaseUnits = decimalAmountToBaseUnits(amount, params.instrumentDecimals);
|
|
336
|
+
}
|
|
337
|
+
catch {
|
|
338
|
+
interfaceViewInvalid('HoldingV2 amount is invalid for the configured instrument decimals.', {
|
|
339
|
+
itemIndex: params.itemIndex,
|
|
340
|
+
contractId: createdEvent.contractId,
|
|
341
|
+
amount,
|
|
342
|
+
instrumentDecimals: params.instrumentDecimals,
|
|
343
|
+
});
|
|
344
|
+
}
|
|
345
|
+
return {
|
|
346
|
+
contractId: createdEvent.contractId,
|
|
347
|
+
templateId: createdEvent.templateId,
|
|
348
|
+
synchronizerId: activeContract.synchronizerId,
|
|
349
|
+
createdAt,
|
|
350
|
+
account,
|
|
351
|
+
instrumentId,
|
|
352
|
+
amount,
|
|
353
|
+
amountBaseUnits,
|
|
354
|
+
lock,
|
|
355
|
+
meta,
|
|
356
|
+
};
|
|
357
|
+
}
|
|
358
|
+
async function listTokenStandardV2Holdings(params) {
|
|
359
|
+
if (!(0, utils_1.isRecord)(params.ledger) || typeof params.ledger.getActiveContracts !== 'function') {
|
|
360
|
+
inputInvalid('ledger must provide getActiveContracts.', { field: 'ledger' });
|
|
361
|
+
}
|
|
362
|
+
validateAccount(params.account);
|
|
363
|
+
validateInstrumentId(params.instrumentId);
|
|
364
|
+
const parties = normalizeParties(params.parties);
|
|
365
|
+
const instrumentDecimals = normalizeInstrumentDecimals(params.instrumentDecimals);
|
|
366
|
+
const holdingInterfaceId = normalizeRequiredString(params.holdingInterfaceId ?? exports.TOKEN_STANDARD_V2_HOLDING_INTERFACE_ID, 'holdingInterfaceId');
|
|
367
|
+
const synchronizerId = params.synchronizerId === undefined ? undefined : normalizeRequiredString(params.synchronizerId, 'synchronizerId');
|
|
368
|
+
const activeAtOffset = params.activeAtOffset === undefined ? undefined : normalizeActiveAtOffset(params.activeAtOffset);
|
|
369
|
+
const response = await params.ledger.getActiveContracts({
|
|
370
|
+
parties,
|
|
371
|
+
interfaceIds: [holdingInterfaceId],
|
|
372
|
+
includeInterfaceView: true,
|
|
373
|
+
includeCreatedEventBlob: false,
|
|
374
|
+
...(activeAtOffset === undefined ? {} : { activeAtOffset }),
|
|
375
|
+
});
|
|
376
|
+
const holdings = new Map();
|
|
377
|
+
for (const [itemIndex, item] of response.entries()) {
|
|
378
|
+
if (!(0, contracts_1.isJsActiveContractItem)(item)) {
|
|
379
|
+
const activeContract = readRawActiveContract(item);
|
|
380
|
+
if (activeContract && (synchronizerId === undefined || activeContract['synchronizerId'] === synchronizerId)) {
|
|
381
|
+
const { createdEvent } = activeContract;
|
|
382
|
+
requireCreatedAt((0, utils_1.isRecord)(createdEvent) ? createdEvent['createdAt'] : undefined, {
|
|
383
|
+
itemIndex,
|
|
384
|
+
contractId: (0, utils_1.isRecord)(createdEvent) ? createdEvent['contractId'] : undefined,
|
|
385
|
+
});
|
|
386
|
+
}
|
|
387
|
+
continue;
|
|
388
|
+
}
|
|
389
|
+
const holding = readHolding({
|
|
390
|
+
item,
|
|
391
|
+
itemIndex,
|
|
392
|
+
holdingInterfaceId,
|
|
393
|
+
account: params.account,
|
|
394
|
+
instrumentId: params.instrumentId,
|
|
395
|
+
instrumentDecimals,
|
|
396
|
+
...(synchronizerId === undefined ? {} : { synchronizerId }),
|
|
397
|
+
});
|
|
398
|
+
if (!holding)
|
|
399
|
+
continue;
|
|
400
|
+
const existing = holdings.get(holding.contractId);
|
|
401
|
+
if (existing &&
|
|
402
|
+
(existing.templateId !== holding.templateId ||
|
|
403
|
+
existing.synchronizerId !== holding.synchronizerId ||
|
|
404
|
+
existing.createdAt !== holding.createdAt ||
|
|
405
|
+
existing.amount !== holding.amount ||
|
|
406
|
+
existing.amountBaseUnits !== holding.amountBaseUnits ||
|
|
407
|
+
!locksEqual(existing.lock, holding.lock) ||
|
|
408
|
+
!metadataEqual(existing.meta, holding.meta))) {
|
|
409
|
+
interfaceViewInvalid('Duplicate HoldingV2 contract rows contain inconsistent data.', {
|
|
410
|
+
contractId: holding.contractId,
|
|
411
|
+
});
|
|
412
|
+
}
|
|
413
|
+
if (!existing)
|
|
414
|
+
holdings.set(holding.contractId, holding);
|
|
415
|
+
}
|
|
416
|
+
return [...holdings.values()];
|
|
417
|
+
}
|
|
418
|
+
async function selectTokenStandardV2Holdings(params) {
|
|
419
|
+
const activeAtOffset = normalizeRequiredActiveAtOffset(params.activeAtOffset);
|
|
420
|
+
const required = BigInt(normalizeBaseUnitAmount(params.amountBaseUnits));
|
|
421
|
+
if (required <= 0n) {
|
|
422
|
+
inputInvalid('amountBaseUnits must be positive.', {
|
|
423
|
+
field: 'amountBaseUnits',
|
|
424
|
+
amountBaseUnits: params.amountBaseUnits,
|
|
425
|
+
});
|
|
426
|
+
}
|
|
427
|
+
const isSpendable = params.isSpendable ?? ((holding) => holding.lock === null);
|
|
428
|
+
const holdings = [...(await listTokenStandardV2Holdings({ ...params, activeAtOffset }))]
|
|
429
|
+
.filter((holding) => isSpendable(holding) && BigInt(holding.amountBaseUnits) > 0n)
|
|
430
|
+
.sort((left, right) => {
|
|
431
|
+
const difference = BigInt(right.amountBaseUnits) - BigInt(left.amountBaseUnits);
|
|
432
|
+
if (difference !== 0n)
|
|
433
|
+
return difference > 0n ? 1 : -1;
|
|
434
|
+
return left.contractId.localeCompare(right.contractId);
|
|
435
|
+
});
|
|
436
|
+
const selected = [];
|
|
437
|
+
let total = 0n;
|
|
438
|
+
for (const holding of holdings) {
|
|
439
|
+
selected.push(holding);
|
|
440
|
+
total += BigInt(holding.amountBaseUnits);
|
|
441
|
+
if (total >= required)
|
|
442
|
+
break;
|
|
443
|
+
}
|
|
444
|
+
if (total < required) {
|
|
445
|
+
throw new TokenStandardV2HoldingError(exports.TokenStandardV2HoldingErrorCode.BALANCE_INSUFFICIENT, 'Available spendable Token Standard V2 holdings do not cover the requested amount.', {
|
|
446
|
+
requiredBaseUnits: required.toString(),
|
|
447
|
+
availableBaseUnits: total.toString(),
|
|
448
|
+
account: params.account,
|
|
449
|
+
instrumentId: params.instrumentId,
|
|
450
|
+
});
|
|
451
|
+
}
|
|
452
|
+
return {
|
|
453
|
+
holdings: selected,
|
|
454
|
+
contractIds: selected.map((holding) => holding.contractId),
|
|
455
|
+
totalBaseUnits: total.toString(),
|
|
456
|
+
};
|
|
457
|
+
}
|
|
458
|
+
//# sourceMappingURL=holdings.js.map
|