@fairmint/canton-node-sdk 0.0.251 → 0.0.253

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 (50) hide show
  1. package/README.md +34 -7
  2. package/build/src/clients/ledger-json-api/operations/v2/commands/async/submit.d.ts +6 -0
  3. package/build/src/clients/ledger-json-api/operations/v2/commands/async/submit.d.ts.map +1 -1
  4. package/build/src/clients/ledger-json-api/operations/v2/commands/submit-and-wait-for-reassignment.d.ts +14 -3
  5. package/build/src/clients/ledger-json-api/operations/v2/commands/submit-and-wait-for-reassignment.d.ts.map +1 -1
  6. package/build/src/clients/ledger-json-api/operations/v2/commands/submit-and-wait-for-transaction-tree.d.ts +34 -28
  7. package/build/src/clients/ledger-json-api/operations/v2/commands/submit-and-wait-for-transaction-tree.d.ts.map +1 -1
  8. package/build/src/clients/ledger-json-api/operations/v2/commands/submit-and-wait-for-transaction.d.ts +6 -0
  9. package/build/src/clients/ledger-json-api/operations/v2/commands/submit-and-wait-for-transaction.d.ts.map +1 -1
  10. package/build/src/clients/ledger-json-api/operations/v2/commands/submit-and-wait.d.ts +58 -52
  11. package/build/src/clients/ledger-json-api/operations/v2/commands/submit-and-wait.d.ts.map +1 -1
  12. package/build/src/clients/ledger-json-api/operations/v2/updates/subscribe-to-updates.d.ts +268 -473
  13. package/build/src/clients/ledger-json-api/operations/v2/updates/subscribe-to-updates.d.ts.map +1 -1
  14. package/build/src/clients/ledger-json-api/operations/v2/updates/subscribe-to-updates.js +26 -6
  15. package/build/src/clients/ledger-json-api/operations/v2/updates/subscribe-to-updates.js.map +1 -1
  16. package/build/src/clients/ledger-json-api/schemas/api/completions.d.ts +75 -21
  17. package/build/src/clients/ledger-json-api/schemas/api/completions.d.ts.map +1 -1
  18. package/build/src/clients/ledger-json-api/schemas/api/completions.js +9 -4
  19. package/build/src/clients/ledger-json-api/schemas/api/completions.js.map +1 -1
  20. package/build/src/clients/ledger-json-api/schemas/api/event-details.d.ts +83 -8
  21. package/build/src/clients/ledger-json-api/schemas/api/event-details.d.ts.map +1 -1
  22. package/build/src/clients/ledger-json-api/schemas/api/event-details.js +65 -12
  23. package/build/src/clients/ledger-json-api/schemas/api/event-details.js.map +1 -1
  24. package/build/src/clients/ledger-json-api/schemas/api/reassignment.d.ts +86 -34
  25. package/build/src/clients/ledger-json-api/schemas/api/reassignment.d.ts.map +1 -1
  26. package/build/src/clients/ledger-json-api/schemas/api/reassignment.js +14 -3
  27. package/build/src/clients/ledger-json-api/schemas/api/reassignment.js.map +1 -1
  28. package/build/src/clients/ledger-json-api/schemas/api/state.d.ts +65 -41
  29. package/build/src/clients/ledger-json-api/schemas/api/state.d.ts.map +1 -1
  30. package/build/src/clients/ledger-json-api/schemas/api/updates.d.ts +2341 -1414
  31. package/build/src/clients/ledger-json-api/schemas/api/updates.d.ts.map +1 -1
  32. package/build/src/clients/ledger-json-api/schemas/api/updates.js +86 -42
  33. package/build/src/clients/ledger-json-api/schemas/api/updates.js.map +1 -1
  34. package/build/src/clients/ledger-json-api/schemas/common.d.ts +13 -6
  35. package/build/src/clients/ledger-json-api/schemas/common.d.ts.map +1 -1
  36. package/build/src/clients/ledger-json-api/schemas/common.js +16 -6
  37. package/build/src/clients/ledger-json-api/schemas/common.js.map +1 -1
  38. package/build/src/clients/ledger-json-api/schemas/operations/commands.d.ts +28 -20
  39. package/build/src/clients/ledger-json-api/schemas/operations/commands.d.ts.map +1 -1
  40. package/build/src/clients/ledger-json-api/schemas/wire.d.ts +23 -2
  41. package/build/src/clients/ledger-json-api/schemas/wire.d.ts.map +1 -1
  42. package/build/src/clients/ledger-json-api/schemas/wire.js +23 -3
  43. package/build/src/clients/ledger-json-api/schemas/wire.js.map +1 -1
  44. package/build/src/utils/traffic/paid-traffic-cost.d.ts +2 -2
  45. package/build/src/utils/traffic/paid-traffic-cost.d.ts.map +1 -1
  46. package/build/src/utils/traffic/paid-traffic-cost.js +2 -5
  47. package/build/src/utils/traffic/paid-traffic-cost.js.map +1 -1
  48. package/package.json +14 -15
  49. package/bin/canton-localnet +0 -213
  50. package/scripts/localnet-cloud.sh +0 -1178
@@ -5,14 +5,11 @@ exports.getPaidTrafficCostFromCompletion = getPaidTrafficCostFromCompletion;
5
5
  * Reads `paidTrafficCost` from a Ledger API completion when the field is present (Canton emits this on the completions
6
6
  * stream and blocking completions query). Returns `undefined` if the server omits the field.
7
7
  *
8
- * For JSON numbers, only `Number.isSafeInteger` values are accepted (avoid misleading `bigint` from doubles). Decimal
9
- * strings (common int64 JSON encoding) are parsed with `BigInt(string)`.
8
+ * Completion schemas normalize wire number|string|null to a digit string (or omit). Decimal digit strings (int64 JSON
9
+ * encoding) are parsed with `BigInt(string)`.
10
10
  */
11
11
  function getPaidTrafficCostFromCompletion(completion) {
12
12
  const raw = completion.value.paidTrafficCost;
13
- if (typeof raw === 'number' && Number.isSafeInteger(raw)) {
14
- return BigInt(raw);
15
- }
16
13
  if (typeof raw === 'string' && /^\d+$/.test(raw)) {
17
14
  return BigInt(raw);
18
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"paid-traffic-cost.js","sourceRoot":"","sources":["../../../../src/utils/traffic/paid-traffic-cost.ts"],"names":[],"mappings":";;;AAEA;;;;;;GAMG;AACH,0CAAiD,UAAsB;IACrE,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC;IAC7C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;QACzD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACjD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"paid-traffic-cost.js","sourceRoot":"","sources":["../../../../src/utils/traffic/paid-traffic-cost.ts"],"names":[],"mappings":";;;AAEA;;;;;;GAMG;AACH,0CAAiD,UAAsB;IACrE,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC;IAC7C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACjD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fairmint/canton-node-sdk",
3
- "version": "0.0.251",
3
+ "version": "0.0.253",
4
4
  "description": "Canton Node SDK",
5
5
  "keywords": [
6
6
  "canton",
@@ -21,13 +21,8 @@
21
21
  "author": "Fairmint",
22
22
  "main": "build/src/index.js",
23
23
  "types": "build/src/index.d.ts",
24
- "bin": {
25
- "canton-localnet": "bin/canton-localnet"
26
- },
27
24
  "files": [
28
- "bin/canton-localnet",
29
- "scripts/localnet-cloud.sh",
30
- "build/**"
25
+ "build/src/**"
31
26
  ],
32
27
  "scripts": {
33
28
  "artifacts:manifest": "mkdir -p artifacts && npm pack --dry-run --json --ignore-scripts > /tmp/npm-pack.json 2>/dev/null && jq -r '.[0].files[].path' /tmp/npm-pack.json | sort | tsx scripts/collapse-manifest.ts > artifacts/npm-manifest.txt",
@@ -47,14 +42,17 @@
47
42
  "lint:fix": "eslint . --fix",
48
43
  "lint:npm": "npmPkgJsonLint . --fix",
49
44
  "lint:npm:check": "npmPkgJsonLint .",
50
- "localnet:logs": "bash ./bin/canton-localnet logs",
51
- "localnet:quickstart": "bash ./bin/canton-localnet setup",
52
- "localnet:setup": "bash ./bin/canton-localnet setup",
53
- "localnet:smoke": "bash ./bin/canton-localnet smoke",
54
- "localnet:start": "bash ./bin/canton-localnet start",
55
- "localnet:status": "bash ./bin/canton-localnet status",
56
- "localnet:stop": "bash ./bin/canton-localnet stop",
57
- "localnet:verify": "bash ./bin/canton-localnet verify",
45
+ "localnet:diagnostics": "canton-dev-tools diagnostics",
46
+ "localnet:logs": "canton-dev-tools logs",
47
+ "localnet:quickstart": "canton-dev-tools setup",
48
+ "localnet:readiness": "canton-dev-tools readiness",
49
+ "localnet:setup": "canton-dev-tools setup",
50
+ "localnet:smoke": "canton-dev-tools smoke",
51
+ "localnet:start": "canton-dev-tools start",
52
+ "localnet:status": "canton-dev-tools status",
53
+ "localnet:stop": "canton-dev-tools stop",
54
+ "localnet:teardown": "canton-dev-tools teardown",
55
+ "localnet:verify": "canton-dev-tools verify",
58
56
  "prepack": "npm run clean && npm run build:core",
59
57
  "prepare-release": "tsx scripts/prepare-release.ts",
60
58
  "prepublishOnly": "npm run prepack",
@@ -81,6 +79,7 @@
81
79
  "zod": "4.4.3"
82
80
  },
83
81
  "devDependencies": {
82
+ "@fairmint/canton-dev-tools": "0.1.1",
84
83
  "@types/jest": "30.0.0",
85
84
  "@types/node": "26.1.0",
86
85
  "@types/ws": "8.18.1",
@@ -1,213 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
-
4
- resolve_script_dir() {
5
- local source="$1"
6
- local dir=""
7
-
8
- while [[ -L "${source}" ]]; do
9
- dir="$(cd -P "$(dirname "${source}")" && pwd)"
10
- source="$(readlink "${source}")"
11
- if [[ "${source}" != /* ]]; then
12
- source="${dir}/${source}"
13
- fi
14
- done
15
-
16
- cd -P "$(dirname "${source}")" && pwd
17
- }
18
-
19
- PACKAGE_ROOT="$(cd "$(resolve_script_dir "${BASH_SOURCE[0]}")/.." && pwd)"
20
- LOCALNET_SCRIPT="${PACKAGE_ROOT}/scripts/localnet-cloud.sh"
21
- DEFAULT_QUICKSTART_REPO="https://github.com/digital-asset/cn-quickstart.git"
22
- DEFAULT_QUICKSTART_REF="2f4edfc17621a7dfb6d44357050c22f4b3914c89"
23
- DEFAULT_SPLICE_VERSION="0.6.8"
24
-
25
- log() {
26
- printf '[canton-localnet] %s\n' "$*"
27
- }
28
-
29
- usage() {
30
- cat <<'USAGE'
31
- Usage: canton-localnet <command>
32
-
33
- Commands:
34
- setup Prepare LocalNet prerequisites
35
- start Start lean LocalNet + Keycloak and wait for ready endpoints
36
- stop Stop LocalNet services
37
- logs Show LocalNet diagnostic logs
38
- status Show docker + endpoint status
39
- smoke Run endpoint smoke checks
40
- test Run project integration tests when configured
41
- verify Run setup + start + smoke + test
42
-
43
- One-liners:
44
- npx @fairmint/canton-node-sdk start
45
- npx @fairmint/canton-node-sdk verify
46
-
47
- Environment:
48
- CANTON_LOCALNET_QUICKSTART_DIR Use an existing cn-quickstart/quickstart directory
49
- CANTON_LOCALNET_CACHE_DIR Cache root for fetched cn-quickstart assets
50
- CANTON_LOCALNET_QUICKSTART_REF cn-quickstart git ref to fetch
51
- CANTON_LOCALNET_SPLICE_VERSION Splice image tag (defaults to the SDK's pinned API version)
52
- CANTON_LOCALNET_INFRA_ONLY Defaults to true for this package binary
53
- USAGE
54
- }
55
-
56
- require_command() {
57
- local cmd="$1"
58
- if ! command -v "${cmd}" >/dev/null 2>&1; then
59
- log "Missing required command: ${cmd}"
60
- exit 1
61
- fi
62
- }
63
-
64
- cache_root() {
65
- if [[ -n "${CANTON_LOCALNET_CACHE_DIR:-}" ]]; then
66
- printf '%s' "${CANTON_LOCALNET_CACHE_DIR}"
67
- return
68
- fi
69
-
70
- if [[ -n "${XDG_CACHE_HOME:-}" ]]; then
71
- printf '%s' "${XDG_CACHE_HOME}/fairmint/canton-localnet"
72
- return
73
- fi
74
-
75
- printf '%s' "${HOME}/.cache/fairmint/canton-localnet"
76
- }
77
-
78
- quickstart_ref() {
79
- printf '%s' "${CANTON_LOCALNET_QUICKSTART_REF:-${DEFAULT_QUICKSTART_REF}}"
80
- }
81
-
82
- quickstart_repo() {
83
- printf '%s' "${CANTON_LOCALNET_QUICKSTART_REPO:-${DEFAULT_QUICKSTART_REPO}}"
84
- }
85
-
86
- default_splice_version() {
87
- if [[ -f "${PACKAGE_ROOT}/libs/splice/VERSION" ]]; then
88
- local version=""
89
- version="$(tr -d '[:space:]' < "${PACKAGE_ROOT}/libs/splice/VERSION")"
90
- if [[ -n "${version}" ]]; then
91
- printf '%s' "${version}"
92
- return
93
- fi
94
- fi
95
-
96
- printf '%s' "${DEFAULT_SPLICE_VERSION}"
97
- }
98
-
99
- default_quickstart_root() {
100
- printf '%s/cn-quickstart-%s' "$(cache_root)" "$(quickstart_ref)"
101
- }
102
-
103
- repo_quickstart_dir() {
104
- printf '%s/libs/cn-quickstart/quickstart' "${PACKAGE_ROOT}"
105
- }
106
-
107
- use_repo_quickstart_default() {
108
- [[ -z "${CANTON_LOCALNET_QUICKSTART_DIR:-}" \
109
- && -f "${PACKAGE_ROOT}/.gitmodules" \
110
- && ( -d "${PACKAGE_ROOT}/.git" || -f "${PACKAGE_ROOT}/.git" ) ]]
111
- }
112
-
113
- quickstart_dir() {
114
- if [[ -n "${CANTON_LOCALNET_QUICKSTART_DIR:-}" ]]; then
115
- printf '%s' "${CANTON_LOCALNET_QUICKSTART_DIR}"
116
- return
117
- fi
118
-
119
- if use_repo_quickstart_default; then
120
- repo_quickstart_dir
121
- return
122
- fi
123
-
124
- printf '%s/quickstart' "$(default_quickstart_root)"
125
- }
126
-
127
- ensure_quickstart_checkout() {
128
- local dir=""
129
- local root=""
130
- local tmp=""
131
-
132
- if use_repo_quickstart_default; then
133
- return
134
- fi
135
-
136
- dir="$(quickstart_dir)"
137
- if [[ -d "${dir}/docker/modules/localnet" ]]; then
138
- return
139
- fi
140
-
141
- if [[ -n "${CANTON_LOCALNET_QUICKSTART_DIR:-}" ]]; then
142
- log "CANTON_LOCALNET_QUICKSTART_DIR is not a cn-quickstart quickstart directory: ${dir}"
143
- exit 1
144
- fi
145
-
146
- require_command git
147
-
148
- root="$(default_quickstart_root)"
149
- if [[ -e "${root}" ]]; then
150
- log "Cached cn-quickstart directory exists but is incomplete: ${root}"
151
- log "Remove it or set CANTON_LOCALNET_CACHE_DIR to use a fresh cache."
152
- exit 1
153
- fi
154
-
155
- mkdir -p "$(cache_root)"
156
- tmp="$(mktemp -d "$(cache_root)/cn-quickstart.XXXXXX")"
157
- trap 'rm -rf "${tmp}"' RETURN
158
-
159
- log "Fetching cn-quickstart $(quickstart_ref)..."
160
- git -C "${tmp}" init -q
161
- git -C "${tmp}" remote add origin "$(quickstart_repo)"
162
- if git -C "${tmp}" fetch --depth 1 origin "$(quickstart_ref)"; then
163
- git -C "${tmp}" checkout --detach FETCH_HEAD -q
164
- else
165
- log "Direct ref fetch failed; retrying with a blobless repository fetch."
166
- git -C "${tmp}" fetch --filter=blob:none origin
167
- git -C "${tmp}" checkout --detach "$(quickstart_ref)" -q
168
- fi
169
-
170
- if [[ ! -d "${tmp}/quickstart/docker/modules/localnet" ]]; then
171
- log "Fetched cn-quickstart does not contain quickstart/docker/modules/localnet."
172
- exit 1
173
- fi
174
-
175
- mv "${tmp}" "${root}"
176
- trap - RETURN
177
- log "Cached cn-quickstart at ${root}."
178
- }
179
-
180
- main() {
181
- local command="${1:-}"
182
- local dir=""
183
-
184
- case "${command}" in
185
- "" | -h | --help | help)
186
- usage
187
- if [[ -z "${command}" ]]; then
188
- exit 1
189
- fi
190
- exit 0
191
- ;;
192
- setup | start | verify)
193
- ensure_quickstart_checkout
194
- ;;
195
- logs | status | stop | smoke | test)
196
- ;;
197
- *)
198
- usage
199
- exit 1
200
- ;;
201
- esac
202
-
203
- dir="$(quickstart_dir)"
204
- if ! use_repo_quickstart_default; then
205
- export CANTON_LOCALNET_QUICKSTART_DIR="${dir}"
206
- fi
207
- export CANTON_LOCALNET_SPLICE_VERSION="${CANTON_LOCALNET_SPLICE_VERSION:-$(default_splice_version)}"
208
- export CANTON_LOCALNET_INFRA_ONLY="${CANTON_LOCALNET_INFRA_ONLY:-true}"
209
-
210
- exec bash "${LOCALNET_SCRIPT}" "$@"
211
- }
212
-
213
- main "$@"