@canton-network/core-splice-provider 1.2.0 → 1.2.1

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/dist/index.cjs CHANGED
@@ -4,7 +4,7 @@ var __defProp = Object.defineProperty;
4
4
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
5
5
  var __publicField = (obj, key, value) => __defNormalProp(obj, key + "" , value);
6
6
 
7
- // src/provider.ts
7
+ // src/index.ts
8
8
  var AbstractProvider = class {
9
9
  constructor() {
10
10
  __publicField(this, "listeners");
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/provider.ts"],"names":[],"mappings":";;;;;;;AA6BO,IAAe,mBAAf,MAEkB;AAAA,EAGrB,WAAA,GAAc;AAFd,IAAA,aAAA,CAAA,IAAA,EAAA,WAAA,CAAA;AAGI,IAAA,IAAA,CAAK,YAAY,EAAC;AAAA,EACtB;AAAA;AAAA,EAOO,EAAA,CAAM,OAAe,QAAA,EAAyC;AACjE,IAAA,IAAI,CAAC,IAAA,CAAK,SAAA,CAAU,KAAK,CAAA,EAAG;AACxB,MAAA,IAAA,CAAK,SAAA,CAAU,KAAK,CAAA,GAAI,EAAC;AAAA,IAC7B;AACA,IAAA,MAAM,SAAA,GAAY,IAAA,CAAK,SAAA,CAAU,KAAK,CAAA;AACtC,IAAA,SAAA,CAAU,KAAK,QAAQ,CAAA;AAEvB,IAAA,OAAO,IAAA;AAAA,EACX;AAAA,EAEO,IAAA,CAAQ,UAAkB,IAAA,EAAoB;AACjD,IAAA,IAAI,IAAA,CAAK,SAAA,CAAU,KAAK,CAAA,EAAG;AACvB,MAAA,IAAA,CAAK,SAAA,CAAU,KAAK,CAAA,CAAE,OAAA,CAAQ,CAAC,QAAA,KAAa,QAAA,CAAS,GAAG,IAAI,CAAC,CAAA;AAC7D,MAAA,OAAO,IAAA;AAAA,IACX;AACA,IAAA,OAAO,KAAA;AAAA,EACX;AAAA,EAEO,cAAA,CACH,OACA,gBAAA,EACW;AACX,IAAA,IAAI,CAAC,IAAA,CAAK,SAAA,CAAU,KAAK,GAAG,OAAO,IAAA;AAEnC,IAAA,IAAA,CAAK,UAAU,KAAK,CAAA,GAAI,IAAA,CAAK,SAAA,CAAU,KAAK,CAAA,CAAE,MAAA;AAAA,MAC1C,CAAC,aAAa,QAAA,KAAa;AAAA,KAC/B;AAEA,IAAA,OAAO,IAAA;AAAA,EACX;AACJ","file":"index.cjs","sourcesContent":["// Copyright (c) 2025-2026 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { RequestArgs, UnknownRpcTypes } from '@canton-network/core-types'\n\nexport type EventListener<T> = (...args: T[]) => void\n\n/**\n * The Provider interface is generic over a type `T` that defines a mapping between supported methods\n * and their corresponding request and response types. The request method takes an argument of type RequestArgs<T, M>,\n * where `M` is a key of `T` representing the method being called.\n *\n * The type of the params body for a method `M` is derived from T[M]['params']\n * The type of the result of calling a method `M` is derived from T[M]['result']\n */\nexport interface Provider<T extends UnknownRpcTypes> {\n request<M extends keyof T>(args: RequestArgs<T, M>): Promise<T[M]['result']>\n\n on<E>(event: string, listener: EventListener<E>): Provider<T>\n emit<E>(event: string, ...args: E[]): boolean\n removeListener<E>(\n event: string,\n listenerToRemove: EventListener<E>\n ): Provider<T>\n}\n\n/**\n * An abstract base class for Providers that implements the event handling logic. It maintains a mapping of event names to arrays of listeners and provides methods to register, emit, and remove listeners. The request method is left abstract for subclasses to implement according to their specific RPC transport mechanism.\n */\nexport abstract class AbstractProvider<\n T extends UnknownRpcTypes,\n> implements Provider<T> {\n listeners: { [event: string]: EventListener<unknown>[] }\n\n constructor() {\n this.listeners = {} // Event listeners\n }\n\n abstract request<M extends keyof T>(\n args: RequestArgs<T, M>\n ): Promise<T[M]['result']>\n\n // Event handling\n public on<E>(event: string, listener: EventListener<E>): Provider<T> {\n if (!this.listeners[event]) {\n this.listeners[event] = []\n }\n const listeners = this.listeners[event] as EventListener<E>[]\n listeners.push(listener)\n\n return this\n }\n\n public emit<E>(event: string, ...args: E[]): boolean {\n if (this.listeners[event]) {\n this.listeners[event].forEach((listener) => listener(...args))\n return true\n }\n return false\n }\n\n public removeListener<E>(\n event: string,\n listenerToRemove: EventListener<E>\n ): Provider<T> {\n if (!this.listeners[event]) return this\n\n this.listeners[event] = this.listeners[event].filter(\n (listener) => listener !== listenerToRemove\n )\n\n return this\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;AA6BO,IAAe,mBAAf,MAEkB;AAAA,EAGrB,WAAA,GAAc;AAFd,IAAA,aAAA,CAAA,IAAA,EAAA,WAAA,CAAA;AAGI,IAAA,IAAA,CAAK,YAAY,EAAC;AAAA,EACtB;AAAA;AAAA,EAOO,EAAA,CAAM,OAAe,QAAA,EAAyC;AACjE,IAAA,IAAI,CAAC,IAAA,CAAK,SAAA,CAAU,KAAK,CAAA,EAAG;AACxB,MAAA,IAAA,CAAK,SAAA,CAAU,KAAK,CAAA,GAAI,EAAC;AAAA,IAC7B;AACA,IAAA,MAAM,SAAA,GAAY,IAAA,CAAK,SAAA,CAAU,KAAK,CAAA;AACtC,IAAA,SAAA,CAAU,KAAK,QAAQ,CAAA;AAEvB,IAAA,OAAO,IAAA;AAAA,EACX;AAAA,EAEO,IAAA,CAAQ,UAAkB,IAAA,EAAoB;AACjD,IAAA,IAAI,IAAA,CAAK,SAAA,CAAU,KAAK,CAAA,EAAG;AACvB,MAAA,IAAA,CAAK,SAAA,CAAU,KAAK,CAAA,CAAE,OAAA,CAAQ,CAAC,QAAA,KAAa,QAAA,CAAS,GAAG,IAAI,CAAC,CAAA;AAC7D,MAAA,OAAO,IAAA;AAAA,IACX;AACA,IAAA,OAAO,KAAA;AAAA,EACX;AAAA,EAEO,cAAA,CACH,OACA,gBAAA,EACW;AACX,IAAA,IAAI,CAAC,IAAA,CAAK,SAAA,CAAU,KAAK,GAAG,OAAO,IAAA;AAEnC,IAAA,IAAA,CAAK,UAAU,KAAK,CAAA,GAAI,IAAA,CAAK,SAAA,CAAU,KAAK,CAAA,CAAE,MAAA;AAAA,MAC1C,CAAC,aAAa,QAAA,KAAa;AAAA,KAC/B;AAEA,IAAA,OAAO,IAAA;AAAA,EACX;AACJ","file":"index.cjs","sourcesContent":["// Copyright (c) 2025-2026 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { RequestArgs, UnknownRpcTypes } from '@canton-network/core-types'\n\nexport type EventListener<T> = (...args: T[]) => void\n\n/**\n * The Provider interface is generic over a type `T` that defines a mapping between supported methods\n * and their corresponding request and response types. The request method takes an argument of type RequestArgs<T, M>,\n * where `M` is a key of `T` representing the method being called.\n *\n * The type of the params body for a method `M` is derived from T[M]['params']\n * The type of the result of calling a method `M` is derived from T[M]['result']\n */\nexport interface Provider<T extends UnknownRpcTypes> {\n request<M extends keyof T>(args: RequestArgs<T, M>): Promise<T[M]['result']>\n\n on<E>(event: string, listener: EventListener<E>): Provider<T>\n emit<E>(event: string, ...args: E[]): boolean\n removeListener<E>(\n event: string,\n listenerToRemove: EventListener<E>\n ): Provider<T>\n}\n\n/**\n * An abstract base class for Providers that implements the event handling logic. It maintains a mapping of event names to arrays of listeners and provides methods to register, emit, and remove listeners. The request method is left abstract for subclasses to implement according to their specific RPC transport mechanism.\n */\nexport abstract class AbstractProvider<\n T extends UnknownRpcTypes,\n> implements Provider<T> {\n listeners: { [event: string]: EventListener<unknown>[] }\n\n constructor() {\n this.listeners = {} // Event listeners\n }\n\n abstract request<M extends keyof T>(\n args: RequestArgs<T, M>\n ): Promise<T[M]['result']>\n\n // Event handling\n public on<E>(event: string, listener: EventListener<E>): Provider<T> {\n if (!this.listeners[event]) {\n this.listeners[event] = []\n }\n const listeners = this.listeners[event] as EventListener<E>[]\n listeners.push(listener)\n\n return this\n }\n\n public emit<E>(event: string, ...args: E[]): boolean {\n if (this.listeners[event]) {\n this.listeners[event].forEach((listener) => listener(...args))\n return true\n }\n return false\n }\n\n public removeListener<E>(\n event: string,\n listenerToRemove: EventListener<E>\n ): Provider<T> {\n if (!this.listeners[event]) return this\n\n this.listeners[event] = this.listeners[event].filter(\n (listener) => listener !== listenerToRemove\n )\n\n return this\n }\n}\n"]}
package/dist/index.d.ts CHANGED
@@ -1,2 +1,30 @@
1
- export * from './provider';
1
+ import { RequestArgs, UnknownRpcTypes } from '@canton-network/core-types';
2
+ export type EventListener<T> = (...args: T[]) => void;
3
+ /**
4
+ * The Provider interface is generic over a type `T` that defines a mapping between supported methods
5
+ * and their corresponding request and response types. The request method takes an argument of type RequestArgs<T, M>,
6
+ * where `M` is a key of `T` representing the method being called.
7
+ *
8
+ * The type of the params body for a method `M` is derived from T[M]['params']
9
+ * The type of the result of calling a method `M` is derived from T[M]['result']
10
+ */
11
+ export interface Provider<T extends UnknownRpcTypes> {
12
+ request<M extends keyof T>(args: RequestArgs<T, M>): Promise<T[M]['result']>;
13
+ on<E>(event: string, listener: EventListener<E>): Provider<T>;
14
+ emit<E>(event: string, ...args: E[]): boolean;
15
+ removeListener<E>(event: string, listenerToRemove: EventListener<E>): Provider<T>;
16
+ }
17
+ /**
18
+ * An abstract base class for Providers that implements the event handling logic. It maintains a mapping of event names to arrays of listeners and provides methods to register, emit, and remove listeners. The request method is left abstract for subclasses to implement according to their specific RPC transport mechanism.
19
+ */
20
+ export declare abstract class AbstractProvider<T extends UnknownRpcTypes> implements Provider<T> {
21
+ listeners: {
22
+ [event: string]: EventListener<unknown>[];
23
+ };
24
+ constructor();
25
+ abstract request<M extends keyof T>(args: RequestArgs<T, M>): Promise<T[M]['result']>;
26
+ on<E>(event: string, listener: EventListener<E>): Provider<T>;
27
+ emit<E>(event: string, ...args: E[]): boolean;
28
+ removeListener<E>(event: string, listenerToRemove: EventListener<E>): Provider<T>;
29
+ }
2
30
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAEzE,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,KAAK,IAAI,CAAA;AAErD;;;;;;;GAOG;AACH,MAAM,WAAW,QAAQ,CAAC,CAAC,SAAS,eAAe;IAC/C,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;IAE5E,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC7D,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,GAAG,OAAO,CAAA;IAC7C,cAAc,CAAC,CAAC,EACZ,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,aAAa,CAAC,CAAC,CAAC,GACnC,QAAQ,CAAC,CAAC,CAAC,CAAA;CACjB;AAED;;GAEG;AACH,8BAAsB,gBAAgB,CAClC,CAAC,SAAS,eAAe,CAC3B,YAAW,QAAQ,CAAC,CAAC,CAAC;IACpB,SAAS,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,EAAE,CAAA;KAAE,CAAA;;IAMxD,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,EAC9B,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,GACxB,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAGnB,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;IAU7D,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,GAAG,OAAO;IAQ7C,cAAc,CAAC,CAAC,EACnB,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,aAAa,CAAC,CAAC,CAAC,GACnC,QAAQ,CAAC,CAAC,CAAC;CASjB"}
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@ var __defProp = Object.defineProperty;
2
2
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
3
  var __publicField = (obj, key, value) => __defNormalProp(obj, key + "" , value);
4
4
 
5
- // src/provider.ts
5
+ // src/index.ts
6
6
  var AbstractProvider = class {
7
7
  constructor() {
8
8
  __publicField(this, "listeners");
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/provider.ts"],"names":[],"mappings":";;;;;AA6BO,IAAe,mBAAf,MAEkB;AAAA,EAGrB,WAAA,GAAc;AAFd,IAAA,aAAA,CAAA,IAAA,EAAA,WAAA,CAAA;AAGI,IAAA,IAAA,CAAK,YAAY,EAAC;AAAA,EACtB;AAAA;AAAA,EAOO,EAAA,CAAM,OAAe,QAAA,EAAyC;AACjE,IAAA,IAAI,CAAC,IAAA,CAAK,SAAA,CAAU,KAAK,CAAA,EAAG;AACxB,MAAA,IAAA,CAAK,SAAA,CAAU,KAAK,CAAA,GAAI,EAAC;AAAA,IAC7B;AACA,IAAA,MAAM,SAAA,GAAY,IAAA,CAAK,SAAA,CAAU,KAAK,CAAA;AACtC,IAAA,SAAA,CAAU,KAAK,QAAQ,CAAA;AAEvB,IAAA,OAAO,IAAA;AAAA,EACX;AAAA,EAEO,IAAA,CAAQ,UAAkB,IAAA,EAAoB;AACjD,IAAA,IAAI,IAAA,CAAK,SAAA,CAAU,KAAK,CAAA,EAAG;AACvB,MAAA,IAAA,CAAK,SAAA,CAAU,KAAK,CAAA,CAAE,OAAA,CAAQ,CAAC,QAAA,KAAa,QAAA,CAAS,GAAG,IAAI,CAAC,CAAA;AAC7D,MAAA,OAAO,IAAA;AAAA,IACX;AACA,IAAA,OAAO,KAAA;AAAA,EACX;AAAA,EAEO,cAAA,CACH,OACA,gBAAA,EACW;AACX,IAAA,IAAI,CAAC,IAAA,CAAK,SAAA,CAAU,KAAK,GAAG,OAAO,IAAA;AAEnC,IAAA,IAAA,CAAK,UAAU,KAAK,CAAA,GAAI,IAAA,CAAK,SAAA,CAAU,KAAK,CAAA,CAAE,MAAA;AAAA,MAC1C,CAAC,aAAa,QAAA,KAAa;AAAA,KAC/B;AAEA,IAAA,OAAO,IAAA;AAAA,EACX;AACJ","file":"index.js","sourcesContent":["// Copyright (c) 2025-2026 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { RequestArgs, UnknownRpcTypes } from '@canton-network/core-types'\n\nexport type EventListener<T> = (...args: T[]) => void\n\n/**\n * The Provider interface is generic over a type `T` that defines a mapping between supported methods\n * and their corresponding request and response types. The request method takes an argument of type RequestArgs<T, M>,\n * where `M` is a key of `T` representing the method being called.\n *\n * The type of the params body for a method `M` is derived from T[M]['params']\n * The type of the result of calling a method `M` is derived from T[M]['result']\n */\nexport interface Provider<T extends UnknownRpcTypes> {\n request<M extends keyof T>(args: RequestArgs<T, M>): Promise<T[M]['result']>\n\n on<E>(event: string, listener: EventListener<E>): Provider<T>\n emit<E>(event: string, ...args: E[]): boolean\n removeListener<E>(\n event: string,\n listenerToRemove: EventListener<E>\n ): Provider<T>\n}\n\n/**\n * An abstract base class for Providers that implements the event handling logic. It maintains a mapping of event names to arrays of listeners and provides methods to register, emit, and remove listeners. The request method is left abstract for subclasses to implement according to their specific RPC transport mechanism.\n */\nexport abstract class AbstractProvider<\n T extends UnknownRpcTypes,\n> implements Provider<T> {\n listeners: { [event: string]: EventListener<unknown>[] }\n\n constructor() {\n this.listeners = {} // Event listeners\n }\n\n abstract request<M extends keyof T>(\n args: RequestArgs<T, M>\n ): Promise<T[M]['result']>\n\n // Event handling\n public on<E>(event: string, listener: EventListener<E>): Provider<T> {\n if (!this.listeners[event]) {\n this.listeners[event] = []\n }\n const listeners = this.listeners[event] as EventListener<E>[]\n listeners.push(listener)\n\n return this\n }\n\n public emit<E>(event: string, ...args: E[]): boolean {\n if (this.listeners[event]) {\n this.listeners[event].forEach((listener) => listener(...args))\n return true\n }\n return false\n }\n\n public removeListener<E>(\n event: string,\n listenerToRemove: EventListener<E>\n ): Provider<T> {\n if (!this.listeners[event]) return this\n\n this.listeners[event] = this.listeners[event].filter(\n (listener) => listener !== listenerToRemove\n )\n\n return this\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;AA6BO,IAAe,mBAAf,MAEkB;AAAA,EAGrB,WAAA,GAAc;AAFd,IAAA,aAAA,CAAA,IAAA,EAAA,WAAA,CAAA;AAGI,IAAA,IAAA,CAAK,YAAY,EAAC;AAAA,EACtB;AAAA;AAAA,EAOO,EAAA,CAAM,OAAe,QAAA,EAAyC;AACjE,IAAA,IAAI,CAAC,IAAA,CAAK,SAAA,CAAU,KAAK,CAAA,EAAG;AACxB,MAAA,IAAA,CAAK,SAAA,CAAU,KAAK,CAAA,GAAI,EAAC;AAAA,IAC7B;AACA,IAAA,MAAM,SAAA,GAAY,IAAA,CAAK,SAAA,CAAU,KAAK,CAAA;AACtC,IAAA,SAAA,CAAU,KAAK,QAAQ,CAAA;AAEvB,IAAA,OAAO,IAAA;AAAA,EACX;AAAA,EAEO,IAAA,CAAQ,UAAkB,IAAA,EAAoB;AACjD,IAAA,IAAI,IAAA,CAAK,SAAA,CAAU,KAAK,CAAA,EAAG;AACvB,MAAA,IAAA,CAAK,SAAA,CAAU,KAAK,CAAA,CAAE,OAAA,CAAQ,CAAC,QAAA,KAAa,QAAA,CAAS,GAAG,IAAI,CAAC,CAAA;AAC7D,MAAA,OAAO,IAAA;AAAA,IACX;AACA,IAAA,OAAO,KAAA;AAAA,EACX;AAAA,EAEO,cAAA,CACH,OACA,gBAAA,EACW;AACX,IAAA,IAAI,CAAC,IAAA,CAAK,SAAA,CAAU,KAAK,GAAG,OAAO,IAAA;AAEnC,IAAA,IAAA,CAAK,UAAU,KAAK,CAAA,GAAI,IAAA,CAAK,SAAA,CAAU,KAAK,CAAA,CAAE,MAAA;AAAA,MAC1C,CAAC,aAAa,QAAA,KAAa;AAAA,KAC/B;AAEA,IAAA,OAAO,IAAA;AAAA,EACX;AACJ","file":"index.js","sourcesContent":["// Copyright (c) 2025-2026 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { RequestArgs, UnknownRpcTypes } from '@canton-network/core-types'\n\nexport type EventListener<T> = (...args: T[]) => void\n\n/**\n * The Provider interface is generic over a type `T` that defines a mapping between supported methods\n * and their corresponding request and response types. The request method takes an argument of type RequestArgs<T, M>,\n * where `M` is a key of `T` representing the method being called.\n *\n * The type of the params body for a method `M` is derived from T[M]['params']\n * The type of the result of calling a method `M` is derived from T[M]['result']\n */\nexport interface Provider<T extends UnknownRpcTypes> {\n request<M extends keyof T>(args: RequestArgs<T, M>): Promise<T[M]['result']>\n\n on<E>(event: string, listener: EventListener<E>): Provider<T>\n emit<E>(event: string, ...args: E[]): boolean\n removeListener<E>(\n event: string,\n listenerToRemove: EventListener<E>\n ): Provider<T>\n}\n\n/**\n * An abstract base class for Providers that implements the event handling logic. It maintains a mapping of event names to arrays of listeners and provides methods to register, emit, and remove listeners. The request method is left abstract for subclasses to implement according to their specific RPC transport mechanism.\n */\nexport abstract class AbstractProvider<\n T extends UnknownRpcTypes,\n> implements Provider<T> {\n listeners: { [event: string]: EventListener<unknown>[] }\n\n constructor() {\n this.listeners = {} // Event listeners\n }\n\n abstract request<M extends keyof T>(\n args: RequestArgs<T, M>\n ): Promise<T[M]['result']>\n\n // Event handling\n public on<E>(event: string, listener: EventListener<E>): Provider<T> {\n if (!this.listeners[event]) {\n this.listeners[event] = []\n }\n const listeners = this.listeners[event] as EventListener<E>[]\n listeners.push(listener)\n\n return this\n }\n\n public emit<E>(event: string, ...args: E[]): boolean {\n if (this.listeners[event]) {\n this.listeners[event].forEach((listener) => listener(...args))\n return true\n }\n return false\n }\n\n public removeListener<E>(\n event: string,\n listenerToRemove: EventListener<E>\n ): Provider<T> {\n if (!this.listeners[event]) return this\n\n this.listeners[event] = this.listeners[event].filter(\n (listener) => listener !== listenerToRemove\n )\n\n return this\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@canton-network/core-splice-provider",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "type": "module",
5
5
  "description": "A JavaScript Splice Provider API (EIP-1193 compliant).",
6
6
  "license": "Apache-2.0",
@@ -34,10 +34,10 @@
34
34
  "vitest": "^4.1.2"
35
35
  },
36
36
  "dependencies": {
37
- "@canton-network/core-rpc-transport": "^1.2.0",
38
- "@canton-network/core-types": "^1.2.0",
39
- "@canton-network/core-wallet-dapp-remote-rpc-client": "^1.2.0",
40
- "@canton-network/core-wallet-dapp-rpc-client": "^1.2.0"
37
+ "@canton-network/core-rpc-transport": "^1.2.1",
38
+ "@canton-network/core-types": "^1.2.1",
39
+ "@canton-network/core-wallet-dapp-remote-rpc-client": "^1.2.1",
40
+ "@canton-network/core-wallet-dapp-rpc-client": "^1.2.1"
41
41
  },
42
42
  "files": [
43
43
  "dist/**"
@@ -47,7 +47,7 @@
47
47
  },
48
48
  "repository": {
49
49
  "type": "git",
50
- "url": "git+https://github.com/hyperledger-labs/splice-wallet-kernel.git",
50
+ "url": "git+https://github.com/canton-network/wallet-gateway.git",
51
51
  "directory": "core/splice-provider"
52
52
  }
53
53
  }
@@ -1,15 +0,0 @@
1
- import { RpcTypes as DappAsyncRpcTypes } from '@canton-network/core-wallet-dapp-remote-rpc-client';
2
- import { AbstractProvider } from './provider';
3
- import { RequestArgs } from '@canton-network/core-types';
4
- export declare class DappAsyncProvider extends AbstractProvider<DappAsyncRpcTypes> {
5
- private url;
6
- private sessionToken?;
7
- private client;
8
- private status?;
9
- private readonly sseForwarder;
10
- private createClient;
11
- private openSSE;
12
- constructor(url: URL, sessionToken?: string);
13
- request<M extends keyof DappAsyncRpcTypes>(args: RequestArgs<DappAsyncRpcTypes, M>): Promise<DappAsyncRpcTypes[M]['result']>;
14
- }
15
- //# sourceMappingURL=DappAsyncProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DappAsyncProvider.d.ts","sourceRoot":"","sources":["../src/DappAsyncProvider.ts"],"names":[],"mappings":"AAGA,OAAyC,EACrC,QAAQ,IAAI,iBAAiB,EAEhC,MAAM,oDAAoD,CAAA;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAE7C,OAAO,EAEH,WAAW,EAEd,MAAM,4BAA4B,CAAA;AAsBnC,qBAAa,iBAAkB,SAAQ,gBAAgB,CAAC,iBAAiB,CAAC;IA6ElE,OAAO,CAAC,GAAG;IA5Ef,OAAO,CAAC,YAAY,CAAC,CAAQ;IAC7B,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,MAAM,CAAC,CAAqB;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAE5B;IAED,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,OAAO;gBA8DH,GAAG,EAAE,GAAG,EAChB,YAAY,CAAC,EAAE,MAAM;IA8CZ,OAAO,CAAC,CAAC,SAAS,MAAM,iBAAiB,EAClD,IAAI,EAAE,WAAW,CAAC,iBAAiB,EAAE,CAAC,CAAC,GACxC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;CAG7C"}
@@ -1,10 +0,0 @@
1
- import { RpcTypes as DappRpcTypes } from '@canton-network/core-wallet-dapp-rpc-client';
2
- import { AbstractProvider } from './provider';
3
- import { RequestArgs } from '@canton-network/core-types';
4
- import { RpcTransport } from '@canton-network/core-rpc-transport';
5
- export declare class DappProvider extends AbstractProvider<DappRpcTypes> {
6
- private client;
7
- constructor(transport?: RpcTransport);
8
- request<M extends keyof DappRpcTypes>(args: RequestArgs<DappRpcTypes, M>): Promise<DappRpcTypes[M]['result']>;
9
- }
10
- //# sourceMappingURL=DappProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DappProvider.d.ts","sourceRoot":"","sources":["../src/DappProvider.ts"],"names":[],"mappings":"AAGA,OAAmC,EAC/B,QAAQ,IAAI,YAAY,EAC3B,MAAM,6CAA6C,CAAA;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EACH,YAAY,EAEf,MAAM,oCAAoC,CAAA;AAE3C,qBAAa,YAAa,SAAQ,gBAAgB,CAAC,YAAY,CAAC;IAC5D,OAAO,CAAC,MAAM,CAA4B;gBAE9B,SAAS,CAAC,EAAE,YAAY;IAOvB,OAAO,CAAC,CAAC,SAAS,MAAM,YAAY,EAC7C,IAAI,EAAE,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC,GACnC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;CAGxC"}
@@ -1,30 +0,0 @@
1
- import { RequestArgs, UnknownRpcTypes } from '@canton-network/core-types';
2
- export type EventListener<T> = (...args: T[]) => void;
3
- /**
4
- * The Provider interface is generic over a type `T` that defines a mapping between supported methods
5
- * and their corresponding request and response types. The request method takes an argument of type RequestArgs<T, M>,
6
- * where `M` is a key of `T` representing the method being called.
7
- *
8
- * The type of the params body for a method `M` is derived from T[M]['params']
9
- * The type of the result of calling a method `M` is derived from T[M]['result']
10
- */
11
- export interface Provider<T extends UnknownRpcTypes> {
12
- request<M extends keyof T>(args: RequestArgs<T, M>): Promise<T[M]['result']>;
13
- on<E>(event: string, listener: EventListener<E>): Provider<T>;
14
- emit<E>(event: string, ...args: E[]): boolean;
15
- removeListener<E>(event: string, listenerToRemove: EventListener<E>): Provider<T>;
16
- }
17
- /**
18
- * An abstract base class for Providers that implements the event handling logic. It maintains a mapping of event names to arrays of listeners and provides methods to register, emit, and remove listeners. The request method is left abstract for subclasses to implement according to their specific RPC transport mechanism.
19
- */
20
- export declare abstract class AbstractProvider<T extends UnknownRpcTypes> implements Provider<T> {
21
- listeners: {
22
- [event: string]: EventListener<unknown>[];
23
- };
24
- constructor();
25
- abstract request<M extends keyof T>(args: RequestArgs<T, M>): Promise<T[M]['result']>;
26
- on<E>(event: string, listener: EventListener<E>): Provider<T>;
27
- emit<E>(event: string, ...args: E[]): boolean;
28
- removeListener<E>(event: string, listenerToRemove: EventListener<E>): Provider<T>;
29
- }
30
- //# sourceMappingURL=provider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAEzE,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,KAAK,IAAI,CAAA;AAErD;;;;;;;GAOG;AACH,MAAM,WAAW,QAAQ,CAAC,CAAC,SAAS,eAAe;IAC/C,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;IAE5E,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC7D,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,GAAG,OAAO,CAAA;IAC7C,cAAc,CAAC,CAAC,EACZ,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,aAAa,CAAC,CAAC,CAAC,GACnC,QAAQ,CAAC,CAAC,CAAC,CAAA;CACjB;AAED;;GAEG;AACH,8BAAsB,gBAAgB,CAClC,CAAC,SAAS,eAAe,CAC3B,YAAW,QAAQ,CAAC,CAAC,CAAC;IACpB,SAAS,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,EAAE,CAAA;KAAE,CAAA;;IAMxD,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,EAC9B,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,GACxB,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAGnB,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;IAU7D,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,GAAG,OAAO;IAQ7C,cAAc,CAAC,CAAC,EACnB,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,aAAa,CAAC,CAAC,CAAC,GACnC,QAAQ,CAAC,CAAC,CAAC;CASjB"}