cantonjs 0.2.0 → 0.3.0

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 (117) hide show
  1. package/README.md +149 -59
  2. package/dist/cjs/auth/index.d.ts +2 -0
  3. package/dist/cjs/auth/index.d.ts.map +1 -0
  4. package/dist/cjs/auth/index.js +3 -0
  5. package/dist/cjs/auth/index.js.map +1 -0
  6. package/dist/cjs/auth/types.d.ts +27 -0
  7. package/dist/cjs/auth/types.d.ts.map +1 -0
  8. package/dist/cjs/auth/types.js +3 -0
  9. package/dist/cjs/auth/types.js.map +1 -0
  10. package/dist/cjs/chains/definitions.d.ts +5 -11
  11. package/dist/cjs/chains/definitions.d.ts.map +1 -1
  12. package/dist/cjs/chains/definitions.js +59 -13
  13. package/dist/cjs/chains/definitions.js.map +1 -1
  14. package/dist/cjs/chains/index.d.ts +2 -1
  15. package/dist/cjs/chains/index.d.ts.map +1 -1
  16. package/dist/cjs/chains/index.js +19 -6
  17. package/dist/cjs/chains/index.js.map +1 -1
  18. package/dist/cjs/chains/presets.d.ts +59 -0
  19. package/dist/cjs/chains/presets.d.ts.map +1 -0
  20. package/dist/cjs/chains/presets.js +55 -0
  21. package/dist/cjs/chains/presets.js.map +1 -0
  22. package/dist/cjs/errors/auth.d.ts +6 -0
  23. package/dist/cjs/errors/auth.d.ts.map +1 -1
  24. package/dist/cjs/errors/auth.js +17 -1
  25. package/dist/cjs/errors/auth.js.map +1 -1
  26. package/dist/cjs/errors/index.d.ts +1 -1
  27. package/dist/cjs/errors/index.d.ts.map +1 -1
  28. package/dist/cjs/errors/index.js +2 -1
  29. package/dist/cjs/errors/index.js.map +1 -1
  30. package/dist/cjs/index.d.ts +5 -4
  31. package/dist/cjs/index.d.ts.map +1 -1
  32. package/dist/cjs/index.js +9 -6
  33. package/dist/cjs/index.js.map +1 -1
  34. package/dist/cjs/testing/setupSandbox.d.ts +11 -1
  35. package/dist/cjs/testing/setupSandbox.d.ts.map +1 -1
  36. package/dist/cjs/testing/setupSandbox.js +25 -13
  37. package/dist/cjs/testing/setupSandbox.js.map +1 -1
  38. package/dist/cjs/transport/grpc.d.ts +2 -4
  39. package/dist/cjs/transport/grpc.d.ts.map +1 -1
  40. package/dist/cjs/transport/grpc.js +28 -16
  41. package/dist/cjs/transport/grpc.js.map +1 -1
  42. package/dist/cjs/transport/index.d.ts +1 -1
  43. package/dist/cjs/transport/index.d.ts.map +1 -1
  44. package/dist/cjs/transport/json-api.d.ts +1 -1
  45. package/dist/cjs/transport/json-api.d.ts.map +1 -1
  46. package/dist/cjs/transport/json-api.js +19 -5
  47. package/dist/cjs/transport/json-api.js.map +1 -1
  48. package/dist/cjs/transport/types.d.ts +13 -3
  49. package/dist/cjs/transport/types.d.ts.map +1 -1
  50. package/dist/cjs/transport/types.js +40 -0
  51. package/dist/cjs/transport/types.js.map +1 -1
  52. package/dist/esm/auth/index.d.ts +2 -0
  53. package/dist/esm/auth/index.d.ts.map +1 -0
  54. package/dist/esm/auth/index.js +2 -0
  55. package/dist/esm/auth/index.js.map +1 -0
  56. package/dist/esm/auth/types.d.ts +27 -0
  57. package/dist/esm/auth/types.d.ts.map +1 -0
  58. package/dist/esm/auth/types.js +2 -0
  59. package/dist/esm/auth/types.js.map +1 -0
  60. package/dist/esm/chains/definitions.d.ts +5 -11
  61. package/dist/esm/chains/definitions.d.ts.map +1 -1
  62. package/dist/esm/chains/definitions.js +59 -13
  63. package/dist/esm/chains/definitions.js.map +1 -1
  64. package/dist/esm/chains/index.d.ts +2 -1
  65. package/dist/esm/chains/index.d.ts.map +1 -1
  66. package/dist/esm/chains/index.js +2 -1
  67. package/dist/esm/chains/index.js.map +1 -1
  68. package/dist/esm/chains/presets.d.ts +59 -0
  69. package/dist/esm/chains/presets.d.ts.map +1 -0
  70. package/dist/esm/chains/presets.js +51 -0
  71. package/dist/esm/chains/presets.js.map +1 -0
  72. package/dist/esm/errors/auth.d.ts +6 -0
  73. package/dist/esm/errors/auth.d.ts.map +1 -1
  74. package/dist/esm/errors/auth.js +15 -0
  75. package/dist/esm/errors/auth.js.map +1 -1
  76. package/dist/esm/errors/index.d.ts +1 -1
  77. package/dist/esm/errors/index.d.ts.map +1 -1
  78. package/dist/esm/errors/index.js +1 -1
  79. package/dist/esm/errors/index.js.map +1 -1
  80. package/dist/esm/index.d.ts +5 -4
  81. package/dist/esm/index.d.ts.map +1 -1
  82. package/dist/esm/index.js +2 -2
  83. package/dist/esm/index.js.map +1 -1
  84. package/dist/esm/testing/setupSandbox.d.ts +11 -1
  85. package/dist/esm/testing/setupSandbox.d.ts.map +1 -1
  86. package/dist/esm/testing/setupSandbox.js +25 -14
  87. package/dist/esm/testing/setupSandbox.js.map +1 -1
  88. package/dist/esm/transport/grpc.d.ts +2 -4
  89. package/dist/esm/transport/grpc.d.ts.map +1 -1
  90. package/dist/esm/transport/grpc.js +28 -16
  91. package/dist/esm/transport/grpc.js.map +1 -1
  92. package/dist/esm/transport/index.d.ts +1 -1
  93. package/dist/esm/transport/index.d.ts.map +1 -1
  94. package/dist/esm/transport/json-api.d.ts +1 -1
  95. package/dist/esm/transport/json-api.d.ts.map +1 -1
  96. package/dist/esm/transport/json-api.js +19 -5
  97. package/dist/esm/transport/json-api.js.map +1 -1
  98. package/dist/esm/transport/types.d.ts +13 -3
  99. package/dist/esm/transport/types.d.ts.map +1 -1
  100. package/dist/esm/transport/types.js +38 -1
  101. package/dist/esm/transport/types.js.map +1 -1
  102. package/dist/tsconfig.build.tsbuildinfo +1 -1
  103. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  104. package/package.json +12 -2
  105. package/src/auth/index.ts +7 -0
  106. package/src/auth/types.ts +30 -0
  107. package/src/chains/definitions.ts +77 -22
  108. package/src/chains/index.ts +2 -1
  109. package/src/chains/presets.ts +121 -0
  110. package/src/errors/auth.ts +16 -0
  111. package/src/errors/index.ts +1 -1
  112. package/src/index.ts +34 -7
  113. package/src/testing/setupSandbox.ts +45 -17
  114. package/src/transport/grpc.ts +33 -19
  115. package/src/transport/index.ts +7 -1
  116. package/src/transport/json-api.ts +24 -7
  117. package/src/transport/types.ts +63 -3
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/transport/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,6DAA6D;AAC7D,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,CAAC,SAAS,GAAG,OAAO,EAAE,IAAI,EAAE,gBAAgB,KAAK,OAAO,CAAC,SAAS,CAAC,CAAA;CAC7E,CAAA;AAED,0CAA0C;AAC1C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAA;IAC3C,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,mDAAmD;AACnD,MAAM,MAAM,eAAe,GAAG;IAC5B,mCAAmC;IACnC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,2CAA2C;IAC3C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,uDAAuD;IACvD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,sFAAsF;IACtF,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,CAAA;CAChC,CAAA;AAED,qDAAqD;AACrD,MAAM,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,eAAe,KAAK,SAAS,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/transport/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAI/F,6DAA6D;AAC7D,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,CAAC,SAAS,GAAG,OAAO,EAAE,IAAI,EAAE,gBAAgB,KAAK,OAAO,CAAC,SAAS,CAAC,CAAA;CAC7E,CAAA;AAED,0CAA0C;AAC1C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAA;IAC3C,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,8DAA8D;AAC9D,MAAM,MAAM,mBAAmB,GAAG;IAChC,kDAAkD;IAClD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,yCAAyC;IACzC,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAA;IAC5B,uEAAuE;IACvE,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,CAAA;CACnC,CAAA;AAED,mDAAmD;AACnD,MAAM,MAAM,eAAe,GAAG,mBAAmB,GAAG;IAClD,mCAAmC;IACnC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,uDAAuD;IACvD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,sFAAsF;IACtF,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,CAAA;CAChC,CAAA;AAED,qDAAqD;AACrD,MAAM,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,eAAe,KAAK,SAAS,CAAA;AAErE,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,mBAAmB,EAC3B,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAmBlC;AAED,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,mBAAmB,EAC3B,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CASjC"}
@@ -7,4 +7,44 @@
7
7
  * client logic from communication concerns.
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.resolveTransportSession = resolveTransportSession;
11
+ exports.resolveTransportHeaders = resolveTransportHeaders;
12
+ const auth_js_1 = require("../errors/auth.js");
13
+ const base_js_1 = require("../errors/base.js");
14
+ async function resolveTransportSession(config, context) {
15
+ if (config.session !== undefined) {
16
+ try {
17
+ return await config.session(context);
18
+ }
19
+ catch (error) {
20
+ throw toAuthProviderError(context, error);
21
+ }
22
+ }
23
+ if (config.auth !== undefined) {
24
+ try {
25
+ const token = await config.auth(context);
26
+ return token === undefined ? undefined : { token };
27
+ }
28
+ catch (error) {
29
+ throw toAuthProviderError(context, error);
30
+ }
31
+ }
32
+ return config.token === undefined ? undefined : { token: config.token };
33
+ }
34
+ async function resolveTransportHeaders(config, context) {
35
+ const session = await resolveTransportSession(config, context);
36
+ const headers = session?.headers === undefined ? {} : { ...session.headers };
37
+ if (session?.token !== undefined) {
38
+ headers['Authorization'] = `Bearer ${session.token}`;
39
+ }
40
+ return headers;
41
+ }
42
+ function toAuthProviderError(context, error) {
43
+ if (error instanceof base_js_1.CantonjsError) {
44
+ return error;
45
+ }
46
+ return new auth_js_1.AuthProviderError(context.transport, context.request.path, {
47
+ cause: error instanceof Error ? error : new Error(String(error)),
48
+ });
49
+ }
10
50
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/transport/types.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/transport/types.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AA8CH,0DAsBC;AAED,0DAYC;AA/ED,+CAAqD;AACrD,+CAAiD;AA0C1C,KAAK,UAAU,uBAAuB,CAC3C,MAA2B,EAC3B,OAAoB;IAEpB,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,OAAO,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAC3C,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACxC,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAA;QACpD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAC3C,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAA;AACzE,CAAC;AAEM,KAAK,UAAU,uBAAuB,CAC3C,MAA2B,EAC3B,OAAoB;IAEpB,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9D,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAA;IAE5E,IAAI,OAAO,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,OAAO,CAAC,KAAK,EAAE,CAAA;IACtD,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAoB,EAAE,KAAc;IAC/D,IAAI,KAAK,YAAY,uBAAa,EAAE,CAAC;QACnC,OAAO,KAAK,CAAA;IACd,CAAC;IAED,OAAO,IAAI,2BAAiB,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE;QACpE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KACjE,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export type { MaybePromise, AuthContext, AuthSession, AuthProvider, SessionProvider, } from './types.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/auth/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,YAAY,EACZ,WAAW,EACX,WAAW,EACX,YAAY,EACZ,eAAe,GAChB,MAAM,YAAY,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/auth/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,27 @@
1
+ export type MaybePromise<T> = T | Promise<T>;
2
+ /** Request metadata exposed to auth/session providers. */
3
+ export type AuthContext = {
4
+ /** Transport type making the request, e.g. json-api or grpc. */
5
+ readonly transport: string;
6
+ /** Base URL for the target Canton endpoint. */
7
+ readonly url: string;
8
+ /** HTTP-style request metadata for the current transport call. */
9
+ readonly request: {
10
+ readonly method: 'GET' | 'POST' | 'PATCH' | 'DELETE';
11
+ readonly path: string;
12
+ readonly headers?: Readonly<Record<string, string>>;
13
+ readonly signal?: AbortSignal;
14
+ };
15
+ };
16
+ /** A resolved auth session for a single request. */
17
+ export type AuthSession = {
18
+ /** Bearer token to attach as Authorization header. */
19
+ readonly token?: string;
20
+ /** Additional headers to attach for the current request. */
21
+ readonly headers?: Readonly<Record<string, string>>;
22
+ };
23
+ /** Per-request bearer token provider. */
24
+ export type AuthProvider = (context: AuthContext) => MaybePromise<string | undefined>;
25
+ /** Per-request session provider for auth headers and bearer tokens. */
26
+ export type SessionProvider = (context: AuthContext) => MaybePromise<AuthSession | undefined>;
27
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/auth/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;AAE5C,0DAA0D;AAC1D,MAAM,MAAM,WAAW,GAAG;IACxB,gEAAgE;IAChE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,+CAA+C;IAC/C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,kEAAkE;IAClE,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAA;QACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;QACrB,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;QACnD,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAC9B,CAAA;CACF,CAAA;AAED,oDAAoD;AACpD,MAAM,MAAM,WAAW,GAAG;IACxB,sDAAsD;IACtD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,4DAA4D;IAC5D,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CACpD,CAAA;AAED,yCAAyC;AACzC,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,WAAW,KAAK,YAAY,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;AAErF,uEAAuE;AACvE,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,WAAW,KAAK,YAAY,CAAC,WAAW,GAAG,SAAS,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/auth/types.ts"],"names":[],"mappings":""}
@@ -1,18 +1,12 @@
1
1
  /**
2
2
  * Canton network chain definitions.
3
3
  *
4
- * Pre-configured connection details for Canton network environments.
5
- * Similar to viem's chain definitions (mainnet, sepolia, etc.).
4
+ * Public environments default to discovery-first metadata. Consumers can
5
+ * layer in deployment-specific participant, Scan, or validator URLs with
6
+ * `withChainOverrides()` without committing operator-specific endpoints.
6
7
  */
7
- export type CantonChain = {
8
- readonly id: string;
9
- readonly name: string;
10
- readonly network: 'localnet' | 'devnet' | 'testnet' | 'mainnet';
11
- readonly jsonApiUrl?: string;
12
- readonly grpcUrl?: string;
13
- readonly scanUrl?: string;
14
- readonly resetCycle?: string;
15
- };
8
+ import { type CantonChain } from './presets.js';
9
+ export type { CantonAuthAudienceHints, CantonChain, CantonChainOverrides, CantonChainPresetInput, CantonNetwork, CantonParticipantEndpoints, CantonScanEndpoints, CantonSpliceMetadata, CantonValidatorEndpoints, } from './presets.js';
16
10
  export declare const localNet: CantonChain;
17
11
  export declare const devNet: CantonChain;
18
12
  export declare const testNet: CantonChain;
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../../src/chains/definitions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAA;IAC/D,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAC7B,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,WAMtB,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,WAKpB,CAAA;AAED,eAAO,MAAM,OAAO,EAAE,WAIrB,CAAA;AAED,eAAO,MAAM,OAAO,EAAE,WAIrB,CAAA"}
1
+ {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../../src/chains/definitions.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,cAAc,CAAA;AAElE,YAAY,EACV,uBAAuB,EACvB,WAAW,EACX,oBAAoB,EACpB,sBAAsB,EACtB,aAAa,EACb,0BAA0B,EAC1B,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,cAAc,CAAA;AAWrB,eAAO,MAAM,QAAQ,EAAE,WAWrB,CAAA;AAEF,eAAO,MAAM,MAAM,EAAE,WAiBnB,CAAA;AAEF,eAAO,MAAM,OAAO,EAAE,WAiBpB,CAAA;AAEF,eAAO,MAAM,OAAO,EAAE,WAepB,CAAA"}
@@ -1,30 +1,76 @@
1
1
  /**
2
2
  * Canton network chain definitions.
3
3
  *
4
- * Pre-configured connection details for Canton network environments.
5
- * Similar to viem's chain definitions (mainnet, sepolia, etc.).
4
+ * Public environments default to discovery-first metadata. Consumers can
5
+ * layer in deployment-specific participant, Scan, or validator URLs with
6
+ * `withChainOverrides()` without committing operator-specific endpoints.
6
7
  */
7
- export const localNet = {
8
+ import { defineChainPreset } from './presets.js';
9
+ const SPLICE_DISCOVERY_ROOT = 'https://docs.global.canton.network.sync.global';
10
+ const SPLICE_RELEASE_LINE = '0.5';
11
+ const PARTICIPANT_AUDIENCE_HINT = 'https://daml.com/participant/jwt/aud/participant/<participant-id>';
12
+ const PUBLIC_SCAN_AUDIENCE_HINT = 'Public Scan is often anonymous; if a token is required, use the operator-published audience.';
13
+ const VALIDATOR_AUDIENCE_HINT = 'Validator API audiences are operator-specific and should come from your validator or wallet provider.';
14
+ export const localNet = defineChainPreset({
8
15
  id: 'canton-localnet',
9
16
  name: 'Canton LocalNet',
10
17
  network: 'localnet',
11
- jsonApiUrl: 'http://localhost:7575',
12
- grpcUrl: 'http://localhost:6865',
13
- };
14
- export const devNet = {
18
+ participant: {
19
+ jsonApiUrl: 'http://localhost:7575',
20
+ grpcUrl: 'http://localhost:6865',
21
+ },
22
+ authAudiences: {
23
+ participant: PARTICIPANT_AUDIENCE_HINT,
24
+ },
25
+ });
26
+ export const devNet = defineChainPreset({
15
27
  id: 'canton-devnet',
16
28
  name: 'Canton DevNet',
17
29
  network: 'devnet',
18
- resetCycle: 'Every 3 months',
19
- };
20
- export const testNet = {
30
+ scan: {
31
+ discoveryRoot: SPLICE_DISCOVERY_ROOT,
32
+ },
33
+ authAudiences: {
34
+ participant: PARTICIPANT_AUDIENCE_HINT,
35
+ scan: PUBLIC_SCAN_AUDIENCE_HINT,
36
+ validator: VALIDATOR_AUDIENCE_HINT,
37
+ },
38
+ splice: {
39
+ releaseLine: SPLICE_RELEASE_LINE,
40
+ resetCycleNote: 'Public dev deployments may reset during release-line rollovers or operator maintenance.',
41
+ },
42
+ });
43
+ export const testNet = defineChainPreset({
21
44
  id: 'canton-testnet',
22
45
  name: 'Canton TestNet',
23
46
  network: 'testnet',
24
- };
25
- export const mainNet = {
47
+ scan: {
48
+ discoveryRoot: SPLICE_DISCOVERY_ROOT,
49
+ },
50
+ authAudiences: {
51
+ participant: PARTICIPANT_AUDIENCE_HINT,
52
+ scan: PUBLIC_SCAN_AUDIENCE_HINT,
53
+ validator: VALIDATOR_AUDIENCE_HINT,
54
+ },
55
+ splice: {
56
+ releaseLine: SPLICE_RELEASE_LINE,
57
+ resetCycleNote: 'Treat public test environments as resettable and resolve live endpoints from operator docs.',
58
+ },
59
+ });
60
+ export const mainNet = defineChainPreset({
26
61
  id: 'canton-mainnet',
27
62
  name: 'Canton MainNet',
28
63
  network: 'mainnet',
29
- };
64
+ scan: {
65
+ discoveryRoot: SPLICE_DISCOVERY_ROOT,
66
+ },
67
+ authAudiences: {
68
+ participant: PARTICIPANT_AUDIENCE_HINT,
69
+ scan: PUBLIC_SCAN_AUDIENCE_HINT,
70
+ validator: VALIDATOR_AUDIENCE_HINT,
71
+ },
72
+ splice: {
73
+ releaseLine: SPLICE_RELEASE_LINE,
74
+ },
75
+ });
30
76
  //# sourceMappingURL=definitions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../../src/chains/definitions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH,MAAM,CAAC,MAAM,QAAQ,GAAgB;IACnC,EAAE,EAAE,iBAAiB;IACrB,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,UAAU;IACnB,UAAU,EAAE,uBAAuB;IACnC,OAAO,EAAE,uBAAuB;CACjC,CAAA;AAED,MAAM,CAAC,MAAM,MAAM,GAAgB;IACjC,EAAE,EAAE,eAAe;IACnB,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,QAAQ;IACjB,UAAU,EAAE,gBAAgB;CAC7B,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAgB;IAClC,EAAE,EAAE,gBAAgB;IACpB,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,SAAS;CACnB,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAgB;IAClC,EAAE,EAAE,gBAAgB;IACpB,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,SAAS;CACnB,CAAA"}
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../../src/chains/definitions.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,iBAAiB,EAAoB,MAAM,cAAc,CAAA;AAclE,MAAM,qBAAqB,GAAG,gDAAgD,CAAA;AAC9E,MAAM,mBAAmB,GAAG,KAAK,CAAA;AACjC,MAAM,yBAAyB,GAC7B,mEAAmE,CAAA;AACrE,MAAM,yBAAyB,GAC7B,8FAA8F,CAAA;AAChG,MAAM,uBAAuB,GAC3B,uGAAuG,CAAA;AAEzG,MAAM,CAAC,MAAM,QAAQ,GAAgB,iBAAiB,CAAC;IACrD,EAAE,EAAE,iBAAiB;IACrB,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,UAAU;IACnB,WAAW,EAAE;QACX,UAAU,EAAE,uBAAuB;QACnC,OAAO,EAAE,uBAAuB;KACjC;IACD,aAAa,EAAE;QACb,WAAW,EAAE,yBAAyB;KACvC;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,MAAM,GAAgB,iBAAiB,CAAC;IACnD,EAAE,EAAE,eAAe;IACnB,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,QAAQ;IACjB,IAAI,EAAE;QACJ,aAAa,EAAE,qBAAqB;KACrC;IACD,aAAa,EAAE;QACb,WAAW,EAAE,yBAAyB;QACtC,IAAI,EAAE,yBAAyB;QAC/B,SAAS,EAAE,uBAAuB;KACnC;IACD,MAAM,EAAE;QACN,WAAW,EAAE,mBAAmB;QAChC,cAAc,EACZ,yFAAyF;KAC5F;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,OAAO,GAAgB,iBAAiB,CAAC;IACpD,EAAE,EAAE,gBAAgB;IACpB,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE;QACJ,aAAa,EAAE,qBAAqB;KACrC;IACD,aAAa,EAAE;QACb,WAAW,EAAE,yBAAyB;QACtC,IAAI,EAAE,yBAAyB;QAC/B,SAAS,EAAE,uBAAuB;KACnC;IACD,MAAM,EAAE;QACN,WAAW,EAAE,mBAAmB;QAChC,cAAc,EACZ,6FAA6F;KAChG;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,OAAO,GAAgB,iBAAiB,CAAC;IACpD,EAAE,EAAE,gBAAgB;IACpB,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE;QACJ,aAAa,EAAE,qBAAqB;KACrC;IACD,aAAa,EAAE;QACb,WAAW,EAAE,yBAAyB;QACtC,IAAI,EAAE,yBAAyB;QAC/B,SAAS,EAAE,uBAAuB;KACnC;IACD,MAAM,EAAE;QACN,WAAW,EAAE,mBAAmB;KACjC;CACF,CAAC,CAAA"}
@@ -1,2 +1,3 @@
1
- export { localNet, devNet, testNet, mainNet, type CantonChain } from './definitions.js';
1
+ export * from './definitions.js';
2
+ export { defineChainPreset, withChainOverrides } from './presets.js';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/chains/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/chains/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA"}
@@ -1,2 +1,3 @@
1
- export { localNet, devNet, testNet, mainNet } from './definitions.js';
1
+ export * from './definitions.js';
2
+ export { defineChainPreset, withChainOverrides } from './presets.js';
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chains/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAoB,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chains/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA"}
@@ -0,0 +1,59 @@
1
+ export type CantonNetwork = 'localnet' | 'devnet' | 'testnet' | 'mainnet';
2
+ export type CantonParticipantEndpoints = {
3
+ readonly jsonApiUrl?: string;
4
+ readonly grpcUrl?: string;
5
+ };
6
+ export type CantonScanEndpoints = {
7
+ readonly url?: string;
8
+ readonly discoveryRoot?: string;
9
+ };
10
+ export type CantonValidatorEndpoints = {
11
+ readonly apiBaseUrl?: string;
12
+ readonly scanProxyBaseUrl?: string;
13
+ };
14
+ export type CantonAuthAudienceHints = {
15
+ readonly participant?: string;
16
+ readonly scan?: string;
17
+ readonly validator?: string;
18
+ };
19
+ export type CantonSpliceMetadata = {
20
+ readonly releaseLine?: string;
21
+ readonly resetCycleNote?: string;
22
+ };
23
+ export type CantonChain = {
24
+ readonly id: string;
25
+ readonly name: string;
26
+ readonly network: CantonNetwork;
27
+ readonly participant: CantonParticipantEndpoints;
28
+ readonly scan: CantonScanEndpoints;
29
+ readonly validator: CantonValidatorEndpoints;
30
+ readonly authAudiences: CantonAuthAudienceHints;
31
+ readonly splice: CantonSpliceMetadata;
32
+ readonly jsonApiUrl?: string;
33
+ readonly grpcUrl?: string;
34
+ readonly scanUrl?: string;
35
+ readonly validatorApiUrl?: string;
36
+ readonly scanProxyUrl?: string;
37
+ readonly resetCycle?: string;
38
+ };
39
+ export type CantonChainPresetInput = {
40
+ readonly id: string;
41
+ readonly name: string;
42
+ readonly network: CantonNetwork;
43
+ readonly participant?: CantonParticipantEndpoints;
44
+ readonly scan?: CantonScanEndpoints;
45
+ readonly validator?: CantonValidatorEndpoints;
46
+ readonly authAudiences?: CantonAuthAudienceHints;
47
+ readonly splice?: CantonSpliceMetadata;
48
+ };
49
+ export type CantonChainOverrides = {
50
+ readonly name?: string;
51
+ readonly participant?: Partial<CantonParticipantEndpoints>;
52
+ readonly scan?: Partial<CantonScanEndpoints>;
53
+ readonly validator?: Partial<CantonValidatorEndpoints>;
54
+ readonly authAudiences?: Partial<CantonAuthAudienceHints>;
55
+ readonly splice?: Partial<CantonSpliceMetadata>;
56
+ };
57
+ export declare function defineChainPreset(input: CantonChainPresetInput): CantonChain;
58
+ export declare function withChainOverrides(chain: CantonChain, overrides?: CantonChainOverrides): CantonChain;
59
+ //# sourceMappingURL=presets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../../src/chains/presets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ export function defineChainPreset(input) {
2
+ const participant = { ...(input.participant ?? {}) };
3
+ const scan = { ...(input.scan ?? {}) };
4
+ const validator = { ...(input.validator ?? {}) };
5
+ const authAudiences = { ...(input.authAudiences ?? {}) };
6
+ const splice = { ...(input.splice ?? {}) };
7
+ return {
8
+ id: input.id,
9
+ name: input.name,
10
+ network: input.network,
11
+ participant,
12
+ scan,
13
+ validator,
14
+ authAudiences,
15
+ splice,
16
+ jsonApiUrl: participant.jsonApiUrl,
17
+ grpcUrl: participant.grpcUrl,
18
+ scanUrl: scan.url,
19
+ validatorApiUrl: validator.apiBaseUrl,
20
+ scanProxyUrl: validator.scanProxyBaseUrl,
21
+ resetCycle: splice.resetCycleNote,
22
+ };
23
+ }
24
+ export function withChainOverrides(chain, overrides = {}) {
25
+ return defineChainPreset({
26
+ id: chain.id,
27
+ name: overrides.name ?? chain.name,
28
+ network: chain.network,
29
+ participant: {
30
+ ...chain.participant,
31
+ ...overrides.participant,
32
+ },
33
+ scan: {
34
+ ...chain.scan,
35
+ ...overrides.scan,
36
+ },
37
+ validator: {
38
+ ...chain.validator,
39
+ ...overrides.validator,
40
+ },
41
+ authAudiences: {
42
+ ...chain.authAudiences,
43
+ ...overrides.authAudiences,
44
+ },
45
+ splice: {
46
+ ...chain.splice,
47
+ ...overrides.splice,
48
+ },
49
+ });
50
+ }
51
+ //# sourceMappingURL=presets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presets.js","sourceRoot":"","sources":["../../../src/chains/presets.ts"],"names":[],"mappings":"AAkEA,MAAM,UAAU,iBAAiB,CAAC,KAA6B;IAC7D,MAAM,WAAW,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,CAAA;IACpD,MAAM,IAAI,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAA;IACtC,MAAM,SAAS,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,CAAA;IAChD,MAAM,aAAa,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,aAAa,IAAI,EAAE,CAAC,EAAE,CAAA;IACxD,MAAM,MAAM,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAA;IAE1C,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,WAAW;QACX,IAAI;QACJ,SAAS;QACT,aAAa;QACb,MAAM;QACN,UAAU,EAAE,WAAW,CAAC,UAAU;QAClC,OAAO,EAAE,WAAW,CAAC,OAAO;QAC5B,OAAO,EAAE,IAAI,CAAC,GAAG;QACjB,eAAe,EAAE,SAAS,CAAC,UAAU;QACrC,YAAY,EAAE,SAAS,CAAC,gBAAgB;QACxC,UAAU,EAAE,MAAM,CAAC,cAAc;KAClC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,KAAkB,EAClB,YAAkC,EAAE;IAEpC,OAAO,iBAAiB,CAAC;QACvB,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI;QAClC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,WAAW,EAAE;YACX,GAAG,KAAK,CAAC,WAAW;YACpB,GAAG,SAAS,CAAC,WAAW;SACzB;QACD,IAAI,EAAE;YACJ,GAAG,KAAK,CAAC,IAAI;YACb,GAAG,SAAS,CAAC,IAAI;SAClB;QACD,SAAS,EAAE;YACT,GAAG,KAAK,CAAC,SAAS;YAClB,GAAG,SAAS,CAAC,SAAS;SACvB;QACD,aAAa,EAAE;YACb,GAAG,KAAK,CAAC,aAAa;YACtB,GAAG,SAAS,CAAC,aAAa;SAC3B;QACD,MAAM,EAAE;YACN,GAAG,KAAK,CAAC,MAAM;YACf,GAAG,SAAS,CAAC,MAAM;SACpB;KACF,CAAC,CAAA;AACJ,CAAC"}
@@ -10,4 +10,10 @@ export declare class InvalidTokenError extends CantonjsError {
10
10
  cause?: Error;
11
11
  });
12
12
  }
13
+ /** A request-scoped auth/session provider failed before the request was sent. */
14
+ export declare class AuthProviderError extends CantonjsError {
15
+ constructor(transport: string, path: string, options?: {
16
+ cause?: Error;
17
+ });
18
+ }
13
19
  //# sourceMappingURL=auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/errors/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAkB,MAAM,WAAW,CAAA;AAEzD,6BAA6B;AAC7B,qBAAa,iBAAkB,SAAQ,aAAa;IAClD,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAA;gBAEZ,SAAS,EAAE,IAAI;CAW5B;AAED,yCAAyC;AACzC,qBAAa,iBAAkB,SAAQ,aAAa;gBACtC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE;CAWxD"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/errors/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAkB,MAAM,WAAW,CAAA;AAEzD,6BAA6B;AAC7B,qBAAa,iBAAkB,SAAQ,aAAa;IAClD,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAA;gBAEZ,SAAS,EAAE,IAAI;CAW5B;AAED,yCAAyC;AACzC,qBAAa,iBAAkB,SAAQ,aAAa;gBACtC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE;CAWxD;AAED,iFAAiF;AACjF,qBAAa,iBAAkB,SAAQ,aAAa;gBACtC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE;CAYzE"}
@@ -28,4 +28,19 @@ export class InvalidTokenError extends CantonjsError {
28
28
  this.name = 'InvalidTokenError';
29
29
  }
30
30
  }
31
+ /** A request-scoped auth/session provider failed before the request was sent. */
32
+ export class AuthProviderError extends CantonjsError {
33
+ constructor(transport, path, options) {
34
+ super('Failed to resolve authentication for request', {
35
+ code: 'CJ2003',
36
+ cause: options?.cause,
37
+ metaMessages: [
38
+ `Transport: ${transport}`,
39
+ `Path: ${path}`,
40
+ 'Ensure your auth/session provider returns a token or throws a CantonjsError.',
41
+ ],
42
+ });
43
+ this.name = 'AuthProviderError';
44
+ }
45
+ }
31
46
  //# sourceMappingURL=auth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/errors/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAkB,MAAM,WAAW,CAAA;AAEzD,6BAA6B;AAC7B,MAAM,OAAO,iBAAkB,SAAQ,aAAa;IACzC,SAAS,CAAM;IAExB,YAAY,SAAe;QACzB,KAAK,CAAC,uBAAuB,EAAE;YAC7B,IAAI,EAAE,QAAqB;YAC3B,YAAY,EAAE;gBACZ,qBAAqB,SAAS,CAAC,WAAW,EAAE,EAAE;gBAC9C,sEAAsE;aACvE;SACF,CAAC,CAAA;QACF,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAA;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;CACF;AAED,yCAAyC;AACzC,MAAM,OAAO,iBAAkB,SAAQ,aAAa;IAClD,YAAY,MAAc,EAAE,OAA2B;QACrD,KAAK,CAAC,sBAAsB,MAAM,EAAE,EAAE;YACpC,IAAI,EAAE,QAAqB;YAC3B,KAAK,EAAE,OAAO,EAAE,KAAK;YACrB,YAAY,EAAE;gBACZ,kEAAkE;gBAClE,iCAAiC;aAClC;SACF,CAAC,CAAA;QACF,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAA;IACjC,CAAC;CACF"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/errors/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAkB,MAAM,WAAW,CAAA;AAEzD,6BAA6B;AAC7B,MAAM,OAAO,iBAAkB,SAAQ,aAAa;IACzC,SAAS,CAAM;IAExB,YAAY,SAAe;QACzB,KAAK,CAAC,uBAAuB,EAAE;YAC7B,IAAI,EAAE,QAAqB;YAC3B,YAAY,EAAE;gBACZ,qBAAqB,SAAS,CAAC,WAAW,EAAE,EAAE;gBAC9C,sEAAsE;aACvE;SACF,CAAC,CAAA;QACF,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAA;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;CACF;AAED,yCAAyC;AACzC,MAAM,OAAO,iBAAkB,SAAQ,aAAa;IAClD,YAAY,MAAc,EAAE,OAA2B;QACrD,KAAK,CAAC,sBAAsB,MAAM,EAAE,EAAE;YACpC,IAAI,EAAE,QAAqB;YAC3B,KAAK,EAAE,OAAO,EAAE,KAAK;YACrB,YAAY,EAAE;gBACZ,kEAAkE;gBAClE,iCAAiC;aAClC;SACF,CAAC,CAAA;QACF,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAA;IACjC,CAAC;CACF;AAED,iFAAiF;AACjF,MAAM,OAAO,iBAAkB,SAAQ,aAAa;IAClD,YAAY,SAAiB,EAAE,IAAY,EAAE,OAA2B;QACtE,KAAK,CAAC,8CAA8C,EAAE;YACpD,IAAI,EAAE,QAAqB;YAC3B,KAAK,EAAE,OAAO,EAAE,KAAK;YACrB,YAAY,EAAE;gBACZ,cAAc,SAAS,EAAE;gBACzB,SAAS,IAAI,EAAE;gBACf,8EAA8E;aAC/E;SACF,CAAC,CAAA;QACF,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAA;IACjC,CAAC;CACF"}
@@ -1,6 +1,6 @@
1
1
  export { CantonjsError, type ErrorCode, type CantonjsErrorOptions } from './base.js';
2
2
  export { ConnectionError, HttpError, GrpcError, TimeoutError } from './transport.js';
3
3
  export { CommandRejectedError, ContractNotFoundError, AuthorizationError } from './ledger.js';
4
- export { TokenExpiredError, InvalidTokenError } from './auth.js';
4
+ export { TokenExpiredError, InvalidTokenError, AuthProviderError } from './auth.js';
5
5
  export { WebSocketError, StreamClosedError, ReconnectFailedError } from './streaming.js';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,SAAS,EAAE,KAAK,oBAAoB,EAAE,MAAM,WAAW,CAAA;AACpF,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACpF,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAC7F,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAChE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,SAAS,EAAE,KAAK,oBAAoB,EAAE,MAAM,WAAW,CAAA;AACpF,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACpF,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAC7F,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AACnF,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA"}
@@ -1,6 +1,6 @@
1
1
  export { CantonjsError } from './base.js';
2
2
  export { ConnectionError, HttpError, GrpcError, TimeoutError } from './transport.js';
3
3
  export { CommandRejectedError, ContractNotFoundError, AuthorizationError } from './ledger.js';
4
- export { TokenExpiredError, InvalidTokenError } from './auth.js';
4
+ export { TokenExpiredError, InvalidTokenError, AuthProviderError } from './auth.js';
5
5
  export { WebSocketError, StreamClosedError, ReconnectFailedError } from './streaming.js';
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA6C,MAAM,WAAW,CAAA;AACpF,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACpF,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAC7F,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAChE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA6C,MAAM,WAAW,CAAA;AACpF,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACpF,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAC7F,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AACnF,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA"}
@@ -4,14 +4,15 @@ export { createTestClient, type TestClient, type TestClientConfig, } from './cli
4
4
  export { jsonApi } from './transport/json-api.js';
5
5
  export { grpc, type GrpcTransportConfig, type GrpcTransportLike } from './transport/grpc.js';
6
6
  export { fallback, type FallbackTransportConfig } from './transport/fallback.js';
7
- export type { Transport, TransportConfig, TransportRequest } from './transport/types.js';
8
- export { CantonjsError, ConnectionError, HttpError, GrpcError, TimeoutError, CommandRejectedError, ContractNotFoundError, AuthorizationError, TokenExpiredError, InvalidTokenError, WebSocketError, StreamClosedError, ReconnectFailedError, } from './errors/index.js';
7
+ export type { Transport, TransportAuthConfig, TransportConfig, TransportRequest, } from './transport/types.js';
8
+ export type { MaybePromise, AuthContext, AuthSession, AuthProvider, SessionProvider, } from './auth/index.js';
9
+ export { CantonjsError, ConnectionError, HttpError, GrpcError, TimeoutError, CommandRejectedError, ContractNotFoundError, AuthorizationError, TokenExpiredError, InvalidTokenError, AuthProviderError, WebSocketError, StreamClosedError, ReconnectFailedError, } from './errors/index.js';
9
10
  export type { ErrorCode, CantonjsErrorOptions } from './errors/base.js';
10
- export { localNet, devNet, testNet, mainNet, type CantonChain } from './chains/definitions.js';
11
+ export { defineChainPreset, withChainOverrides, localNet, devNet, testNet, mainNet, type CantonAuthAudienceHints, type CantonChain, type CantonChainOverrides, type CantonChainPresetInput, type CantonNetwork, type CantonParticipantEndpoints, type CantonScanEndpoints, type CantonSpliceMetadata, type CantonValidatorEndpoints, } from './chains/index.js';
11
12
  export type { ContractId, TemplateId, CreatedEvent, ArchivedEvent, ExercisedEvent, TaggedEvent, ActiveContract, ContractEntry, } from './types/contract.js';
12
13
  export type { Party, ObjectMeta, PartyDetails, AllocatePartyRequest } from './types/party.js';
13
14
  export type { LedgerOffset, TaggedCommand, JsCommands, TransactionShape, EventFormat, TransactionFormat, } from './types/command.js';
14
- export type { JsTransaction, TaggedUpdate, UpdateFormat, } from './types/transaction.js';
15
+ export type { JsTransaction, TaggedUpdate, UpdateFormat } from './types/transaction.js';
15
16
  export type { User, Right, RightKind, CreateUserRequest } from './types/user.js';
16
17
  export type { PackageStatus, PackageDetails } from './types/package.js';
17
18
  export type { IdentityProviderConfig, CreateIdentityProviderRequest, UpdateIdentityProviderRequest, } from './types/idp.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,GACnB,MAAM,iCAAiC,CAAA;AAExC,OAAO,EACL,iBAAiB,EACjB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,eAAe,GACrB,MAAM,gCAAgC,CAAA;AAEvC,OAAO,EACL,gBAAgB,EAChB,KAAK,UAAU,EACf,KAAK,gBAAgB,GACtB,MAAM,+BAA+B,CAAA;AAGtC,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACjD,OAAO,EAAE,IAAI,EAAE,KAAK,mBAAmB,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAC5F,OAAO,EAAE,QAAQ,EAAE,KAAK,uBAAuB,EAAE,MAAM,yBAAyB,CAAA;AAChF,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAGxF,OAAO,EACL,aAAa,EACb,eAAe,EACf,SAAS,EACT,SAAS,EACT,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAGvE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAG9F,YAAY,EACV,UAAU,EACV,UAAU,EACV,YAAY,EACZ,aAAa,EACb,cAAc,EACd,WAAW,EACX,cAAc,EACd,aAAa,GACd,MAAM,qBAAqB,CAAA;AAE5B,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAE7F,YAAY,EACV,YAAY,EACZ,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,iBAAiB,GAClB,MAAM,oBAAoB,CAAA;AAE3B,YAAY,EACV,aAAa,EACb,YAAY,EACZ,YAAY,GACb,MAAM,wBAAwB,CAAA;AAE/B,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAChF,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACvE,YAAY,EACV,sBAAsB,EACtB,6BAA6B,EAC7B,6BAA6B,GAC9B,MAAM,gBAAgB,CAAA;AAEvB,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,aAAa,GACd,MAAM,yBAAyB,CAAA;AAEhC,YAAY,EACV,yBAAyB,EACzB,wBAAwB,EACxB,eAAe,EACf,SAAS,EACT,eAAe,GAChB,MAAM,wBAAwB,CAAA;AAG/B,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,KAAK,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AAC9F,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,YAAY,EACV,oBAAoB,EACpB,aAAa,EACb,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,eAAe,GAChB,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/esm/index.js CHANGED
@@ -7,9 +7,9 @@ export { jsonApi } from './transport/json-api.js';
7
7
  export { grpc } from './transport/grpc.js';
8
8
  export { fallback } from './transport/fallback.js';
9
9
  // Errors
10
- export { CantonjsError, ConnectionError, HttpError, GrpcError, TimeoutError, CommandRejectedError, ContractNotFoundError, AuthorizationError, TokenExpiredError, InvalidTokenError, WebSocketError, StreamClosedError, ReconnectFailedError, } from './errors/index.js';
10
+ export { CantonjsError, ConnectionError, HttpError, GrpcError, TimeoutError, CommandRejectedError, ContractNotFoundError, AuthorizationError, TokenExpiredError, InvalidTokenError, AuthProviderError, WebSocketError, StreamClosedError, ReconnectFailedError, } from './errors/index.js';
11
11
  // Chains
12
- export { localNet, devNet, testNet, mainNet } from './chains/definitions.js';
12
+ export { defineChainPreset, withChainOverrides, localNet, devNet, testNet, mainNet, } from './chains/index.js';
13
13
  // Streaming
14
14
  export { streamUpdates } from './streaming/streamUpdates.js';
15
15
  export { streamContracts } from './streaming/streamContracts.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,OAAO,EACL,kBAAkB,GAOnB,MAAM,iCAAiC,CAAA;AAExC,OAAO,EACL,iBAAiB,GAKlB,MAAM,gCAAgC,CAAA;AAEvC,OAAO,EACL,gBAAgB,GAGjB,MAAM,+BAA+B,CAAA;AAEtC,YAAY;AACZ,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACjD,OAAO,EAAE,IAAI,EAAoD,MAAM,qBAAqB,CAAA;AAC5F,OAAO,EAAE,QAAQ,EAAgC,MAAM,yBAAyB,CAAA;AAGhF,SAAS;AACT,OAAO,EACL,aAAa,EACb,eAAe,EACf,SAAS,EACT,SAAS,EACT,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,mBAAmB,CAAA;AAG1B,SAAS;AACT,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAoB,MAAM,yBAAyB,CAAA;AAyD9F,YAAY;AACZ,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAgC,MAAM,gCAAgC,CAAA;AAC9F,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,OAAO,EACL,kBAAkB,GAOnB,MAAM,iCAAiC,CAAA;AAExC,OAAO,EACL,iBAAiB,GAKlB,MAAM,gCAAgC,CAAA;AAEvC,OAAO,EACL,gBAAgB,GAGjB,MAAM,+BAA+B,CAAA;AAEtC,YAAY;AACZ,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACjD,OAAO,EAAE,IAAI,EAAoD,MAAM,qBAAqB,CAAA;AAC5F,OAAO,EAAE,QAAQ,EAAgC,MAAM,yBAAyB,CAAA;AAiBhF,SAAS;AACT,OAAO,EACL,aAAa,EACb,eAAe,EACf,SAAS,EACT,SAAS,EACT,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,mBAAmB,CAAA;AAG1B,SAAS;AACT,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,QAAQ,EACR,MAAM,EACN,OAAO,EACP,OAAO,GAUR,MAAM,mBAAmB,CAAA;AAqD1B,YAAY;AACZ,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAgC,MAAM,gCAAgC,CAAA;AAC9F,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA"}
@@ -18,6 +18,7 @@
18
18
  * await sandbox.teardown()
19
19
  * ```
20
20
  */
21
+ import type { AuthProvider, SessionProvider } from '../auth/types.js';
21
22
  import { type TestClient } from '../clients/createTestClient.js';
22
23
  import type { Transport } from '../transport/types.js';
23
24
  import type { Party } from '../types/party.js';
@@ -29,7 +30,11 @@ export type SandboxConfig = {
29
30
  readonly timeout?: number;
30
31
  /** JWT token. If not provided, attempts to use cantonctl auth. */
31
32
  readonly token?: string;
32
- /** Party for the TestClient. Default: allocated via sandbox. */
33
+ /** Per-request bearer token provider for participant calls. */
34
+ readonly auth?: AuthProvider;
35
+ /** Per-request session provider for participant calls. */
36
+ readonly session?: SessionProvider;
37
+ /** Party for the TestClient. Default: `test-party`. */
33
38
  readonly party?: Party;
34
39
  /** Custom fetch implementation (for testing the fixture itself). */
35
40
  readonly fetchFn?: typeof fetch;
@@ -50,6 +55,11 @@ export type SandboxContext = {
50
55
  /** Tear down the sandbox. */
51
56
  readonly teardown: () => Promise<void>;
52
57
  };
58
+ /** Default exec using child_process (Node.js only). */
59
+ export declare function defaultExec(cmd: string): Promise<{
60
+ stdout: string;
61
+ stderr: string;
62
+ }>;
53
63
  /**
54
64
  * Set up a Canton sandbox for integration testing.
55
65
  *
@@ -1 +1 @@
1
- {"version":3,"file":"setupSandbox.d.ts","sourceRoot":"","sources":["../../../src/testing/setupSandbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAClF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAE9C,uCAAuC;AACvC,MAAM,MAAM,aAAa,GAAG;IAC1B,4CAA4C;IAC5C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,kEAAkE;IAClE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,gEAAgE;IAChE,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAA;IACtB,oEAAoE;IACpE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,CAAA;IAC/B,mEAAmE;IACnE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC/E,CAAA;AAED,wCAAwC;AACxC,MAAM,MAAM,cAAc,GAAG;IAC3B,oDAAoD;IACpD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,8CAA8C;IAC9C,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,qCAAqC;IACrC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;IAC3B,6BAA6B;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CACvC,CAAA;AAiDD;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,GAAE,aAAkB,GACzB,OAAO,CAAC,cAAc,CAAC,CAmDzB"}
1
+ {"version":3,"file":"setupSandbox.d.ts","sourceRoot":"","sources":["../../../src/testing/setupSandbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAErE,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAClF,OAAO,KAAK,EAAE,SAAS,EAAmB,MAAM,uBAAuB,CAAA;AACvE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAE9C,uCAAuC;AACvC,MAAM,MAAM,aAAa,GAAG;IAC1B,4CAA4C;IAC5C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,kEAAkE;IAClE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,+DAA+D;IAC/D,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAA;IAC5B,0DAA0D;IAC1D,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,CAAA;IAClC,uDAAuD;IACvD,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAA;IACtB,oEAAoE;IACpE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,CAAA;IAC/B,mEAAmE;IACnE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC/E,CAAA;AAED,wCAAwC;AACxC,MAAM,MAAM,cAAc,GAAG;IAC3B,oDAAoD;IACpD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,8CAA8C;IAC9C,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,qCAAqC;IACrC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;IAC3B,6BAA6B;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CACvC,CAAA;AAED,uDAAuD;AACvD,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAM1F;AAqED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,GAAE,aAAkB,GACzB,OAAO,CAAC,cAAc,CAAC,CA6CzB"}