@canton-network/core-rpc-transport 0.2.3 → 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.
- package/dist/index.cjs +8 -13
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -13
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -65,21 +65,16 @@ var HttpTransport = class {
|
|
|
65
65
|
try {
|
|
66
66
|
if (coreTypes.ErrorResponse.safeParse(JSON.parse(body)).success) {
|
|
67
67
|
throw JSON.parse(body);
|
|
68
|
-
} else {
|
|
69
|
-
throw new Error(
|
|
70
|
-
`HTTP request failed: ${response.status}, text: ${body} `
|
|
71
|
-
);
|
|
72
68
|
}
|
|
73
|
-
} catch
|
|
74
|
-
console.error(e);
|
|
75
|
-
throw {
|
|
76
|
-
error: {
|
|
77
|
-
code: response.status,
|
|
78
|
-
message: response.statusText,
|
|
79
|
-
data: body
|
|
80
|
-
}
|
|
81
|
-
};
|
|
69
|
+
} catch {
|
|
82
70
|
}
|
|
71
|
+
throw {
|
|
72
|
+
error: {
|
|
73
|
+
code: response.status,
|
|
74
|
+
message: response.statusText,
|
|
75
|
+
data: body
|
|
76
|
+
}
|
|
77
|
+
};
|
|
83
78
|
}
|
|
84
79
|
async submit(payload) {
|
|
85
80
|
const request = {
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":["uuidv4","WalletEvent","isSpliceMessageEvent","ErrorResponse","ResponsePayload"],"mappings":";;;;;;;;AAgBO,IAAM,cAAA,GAAiB,CAC1B,EAAA,EACA,OAAA,KACiB;AACjB,EAAA,OAAO;AAAA,IACH,OAAA,EAAS,KAAA;AAAA,IACT,EAAA;AAAA;AAAA,IACA,GAAG;AAAA,GACP;AACJ;AAEO,IAAM,eAAA,GAAkB,CAC3B,EAAA,EACA,OAAA,KACkB;AAClB,EAAA,OAAO;AAAA,IACH,OAAA,EAAS,KAAA;AAAA,IACT,EAAA;AAAA;AAAA,IACA,GAAG;AAAA,GACP;AACJ;AAMO,IAAM,kBAAN,MAA8C;AAAA,EACjD,YAAoB,GAAA,EAAa;AAAb,IAAA,IAAA,CAAA,GAAA,GAAA,GAAA;AAEpB,IAAA,aAAA,CAAA,IAAA,EAAA,QAAA,EAAS,OAAO,OAAA,KAA4B;AACxC,MAAA,MAAM,OAAA,GAAyB;AAAA,QAC3B,OAAA,EAAS,cAAA,CAAeA,OAAA,EAAO,EAAG,OAAO,CAAA;AAAA,QACzC,MAAMC,qBAAA,CAAY;AAAA,OACtB;AAEA,MAAA,IAAA,CAAK,GAAA,CAAI,WAAA,CAAY,OAAA,EAAS,GAAG,CAAA;AAEjC,MAAA,OAAO,IAAI,OAAA,CAAyB,CAAC,OAAA,EAAS,MAAA,KAAW;AACrD,QAAA,MAAM,QAAA,GAAW,CAAC,KAAA,KAAwB;AACtC,UAAA,IACI,CAACC,8BAAA,CAAqB,KAAK,CAAA,IAC3B,MAAM,IAAA,CAAK,IAAA,KAASD,qBAAA,CAAY,sBAAA,IAChC,MAAM,IAAA,CAAK,QAAA,CAAS,EAAA,KAAO,OAAA,CAAQ,QAAQ,EAAA,EAC7C;AACE,YAAA;AAAA,UACJ;AAEA,UAAA,MAAA,CAAO,mBAAA,CAAoB,WAAW,QAAQ,CAAA;AAC9C,UAAA,IAAI,OAAA,IAAW,KAAA,CAAM,IAAA,CAAK,QAAA,EAAU;AAChC,YAAA,MAAA,CAAO,KAAA,CAAM,IAAA,CAAK,QAAA,CAAS,KAAK,CAAA;AAAA,UACpC,CAAA,MAAO;AACH,YAAA,OAAA,CAAQ,KAAA,CAAM,KAAK,QAAQ,CAAA;AAAA,UAC/B;AAAA,QACJ,CAAA;AAEA,QAAA,MAAA,CAAO,gBAAA,CAAiB,WAAW,QAAQ,CAAA;AAAA,MAC/C,CAAC,CAAA;AAAA,IACL,CAAA,CAAA;AAEA,IAAA,aAAA,CAAA,IAAA,EAAA,gBAAA,EAAiB,CAAC,IAA4B,OAAA,KAA6B;AACvE,MAAA,MAAM,OAAA,GAAyB;AAAA,QAC3B,QAAA,EAAU,eAAA,CAAgB,EAAA,EAAI,OAAO,CAAA;AAAA,QACrC,MAAMA,qBAAA,CAAY;AAAA,OACtB;AACA,MAAA,IAAA,CAAK,GAAA,CAAI,WAAA,CAAY,OAAA,EAAS,GAAG,CAAA;AAAA,IACrC,CAAA,CAAA;AAAA,EAtCkC;AAuCtC;AAEO,IAAM,gBAAN,MAA4C;AAAA,EAC/C,WAAA,CACY,KACA,WAAA,EACV;AAFU,IAAA,IAAA,CAAA,GAAA,GAAA,GAAA;AACA,IAAA,IAAA,CAAA,WAAA,GAAA,WAAA;AAAA,EACT;AAAA,EAEH,MAAgB,oBAAoB,QAAA,EAAoC;AACpE,IAAA,MAAM,IAAA,GAAO,MAAM,QAAA,CAAS,IAAA,EAAK;
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":["uuidv4","WalletEvent","isSpliceMessageEvent","ErrorResponse","ResponsePayload"],"mappings":"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","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 { v4 as uuidv4 } from 'uuid'\nimport {\n RequestPayload,\n ResponsePayload,\n JsonRpcRequest,\n SpliceMessage,\n WalletEvent,\n isSpliceMessageEvent,\n SuccessResponse,\n ErrorResponse,\n JsonRpcResponse,\n} from '@canton-network/core-types'\n\nexport const jsonRpcRequest = (\n id: string | number | null,\n payload: RequestPayload\n): JsonRpcRequest => {\n return {\n jsonrpc: '2.0',\n id, // id should be set based on the request context\n ...payload,\n }\n}\n\nexport const jsonRpcResponse = (\n id: string | number | null,\n payload: ResponsePayload\n): JsonRpcResponse => {\n return {\n jsonrpc: '2.0',\n id, // id should be set based on the request context\n ...payload,\n }\n}\n\nexport interface RpcTransport {\n submit: (payload: RequestPayload) => Promise<ResponsePayload>\n}\n\nexport class WindowTransport implements RpcTransport {\n constructor(private win: Window) {}\n\n submit = async (payload: RequestPayload) => {\n const message: SpliceMessage = {\n request: jsonRpcRequest(uuidv4(), payload),\n type: WalletEvent.SPLICE_WALLET_REQUEST,\n }\n\n this.win.postMessage(message, '*')\n\n return new Promise<SuccessResponse>((resolve, reject) => {\n const listener = (event: MessageEvent) => {\n if (\n !isSpliceMessageEvent(event) ||\n event.data.type !== WalletEvent.SPLICE_WALLET_RESPONSE ||\n event.data.response.id !== message.request.id\n ) {\n return\n }\n\n window.removeEventListener('message', listener)\n if ('error' in event.data.response) {\n reject(event.data.response.error)\n } else {\n resolve(event.data.response)\n }\n }\n\n window.addEventListener('message', listener)\n })\n }\n\n submitResponse = (id: string | number | null, payload: ResponsePayload) => {\n const message: SpliceMessage = {\n response: jsonRpcResponse(id, payload),\n type: WalletEvent.SPLICE_WALLET_RESPONSE,\n }\n this.win.postMessage(message, '*')\n }\n}\n\nexport class HttpTransport implements RpcTransport {\n constructor(\n private url: URL,\n private accessToken?: string\n ) {}\n\n protected async handleErrorResponse(response: Response): Promise<never> {\n const body = await response.text()\n\n // if the response uses the RPC error format, throw it as is\n try {\n if (ErrorResponse.safeParse(JSON.parse(body)).success) {\n throw JSON.parse(body)\n }\n } catch {\n // ignore JSON parse errors\n }\n\n throw {\n error: {\n code: response.status,\n message: response.statusText,\n data: body,\n },\n }\n }\n\n async submit(payload: RequestPayload): Promise<ResponsePayload> {\n const request: JsonRpcRequest = {\n jsonrpc: '2.0',\n method: payload.method,\n params: payload.params,\n id: uuidv4(),\n }\n\n const header = this.accessToken\n ? { Authorization: `Bearer ${this.accessToken}` }\n : undefined\n\n const response = await fetch(this.url.href, {\n method: 'POST',\n headers: {\n ...header,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(request),\n })\n\n if (!response.ok) {\n return this.handleErrorResponse(response)\n }\n\n const json = await response.json()\n const parsed = ResponsePayload.parse(json)\n\n if ('error' in parsed) {\n throw parsed\n }\n\n return parsed\n }\n}\n"]}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACH,cAAc,EACd,eAAe,EACf,cAAc,EAMd,eAAe,EAClB,MAAM,4BAA4B,CAAA;AAEnC,eAAO,MAAM,cAAc,GACvB,IAAI,MAAM,GAAG,MAAM,GAAG,IAAI,EAC1B,SAAS,cAAc,KACxB,cAMF,CAAA;AAED,eAAO,MAAM,eAAe,GACxB,IAAI,MAAM,GAAG,MAAM,GAAG,IAAI,EAC1B,SAAS,eAAe,KACzB,eAMF,CAAA;AAED,MAAM,WAAW,YAAY;IACzB,MAAM,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,eAAe,CAAC,CAAA;CAChE;AAED,qBAAa,eAAgB,YAAW,YAAY;IACpC,OAAO,CAAC,GAAG;gBAAH,GAAG,EAAE,MAAM;IAE/B,MAAM,GAAU,SAAS,cAAc;;OA4BtC;IAED,cAAc,GAAI,IAAI,MAAM,GAAG,MAAM,GAAG,IAAI,EAAE,SAAS,eAAe,UAMrE;CACJ;AAED,qBAAa,aAAc,YAAW,YAAY;IAE1C,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,WAAW,CAAC;gBADZ,GAAG,EAAE,GAAG,EACR,WAAW,CAAC,EAAE,MAAM,YAAA;cAGhB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACH,cAAc,EACd,eAAe,EACf,cAAc,EAMd,eAAe,EAClB,MAAM,4BAA4B,CAAA;AAEnC,eAAO,MAAM,cAAc,GACvB,IAAI,MAAM,GAAG,MAAM,GAAG,IAAI,EAC1B,SAAS,cAAc,KACxB,cAMF,CAAA;AAED,eAAO,MAAM,eAAe,GACxB,IAAI,MAAM,GAAG,MAAM,GAAG,IAAI,EAC1B,SAAS,eAAe,KACzB,eAMF,CAAA;AAED,MAAM,WAAW,YAAY;IACzB,MAAM,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,eAAe,CAAC,CAAA;CAChE;AAED,qBAAa,eAAgB,YAAW,YAAY;IACpC,OAAO,CAAC,GAAG;gBAAH,GAAG,EAAE,MAAM;IAE/B,MAAM,GAAU,SAAS,cAAc;;OA4BtC;IAED,cAAc,GAAI,IAAI,MAAM,GAAG,MAAM,GAAG,IAAI,EAAE,SAAS,eAAe,UAMrE;CACJ;AAED,qBAAa,aAAc,YAAW,YAAY;IAE1C,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,WAAW,CAAC;gBADZ,GAAG,EAAE,GAAG,EACR,WAAW,CAAC,EAAE,MAAM,YAAA;cAGhB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC;IAqBjE,MAAM,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;CAkClE"}
|
package/dist/index.js
CHANGED
|
@@ -63,21 +63,16 @@ var HttpTransport = class {
|
|
|
63
63
|
try {
|
|
64
64
|
if (ErrorResponse.safeParse(JSON.parse(body)).success) {
|
|
65
65
|
throw JSON.parse(body);
|
|
66
|
-
} else {
|
|
67
|
-
throw new Error(
|
|
68
|
-
`HTTP request failed: ${response.status}, text: ${body} `
|
|
69
|
-
);
|
|
70
66
|
}
|
|
71
|
-
} catch
|
|
72
|
-
console.error(e);
|
|
73
|
-
throw {
|
|
74
|
-
error: {
|
|
75
|
-
code: response.status,
|
|
76
|
-
message: response.statusText,
|
|
77
|
-
data: body
|
|
78
|
-
}
|
|
79
|
-
};
|
|
67
|
+
} catch {
|
|
80
68
|
}
|
|
69
|
+
throw {
|
|
70
|
+
error: {
|
|
71
|
+
code: response.status,
|
|
72
|
+
message: response.statusText,
|
|
73
|
+
data: body
|
|
74
|
+
}
|
|
75
|
+
};
|
|
81
76
|
}
|
|
82
77
|
async submit(payload) {
|
|
83
78
|
const request = {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":["uuidv4"],"mappings":";;;;;;AAgBO,IAAM,cAAA,GAAiB,CAC1B,EAAA,EACA,OAAA,KACiB;AACjB,EAAA,OAAO;AAAA,IACH,OAAA,EAAS,KAAA;AAAA,IACT,EAAA;AAAA;AAAA,IACA,GAAG;AAAA,GACP;AACJ;AAEO,IAAM,eAAA,GAAkB,CAC3B,EAAA,EACA,OAAA,KACkB;AAClB,EAAA,OAAO;AAAA,IACH,OAAA,EAAS,KAAA;AAAA,IACT,EAAA;AAAA;AAAA,IACA,GAAG;AAAA,GACP;AACJ;AAMO,IAAM,kBAAN,MAA8C;AAAA,EACjD,YAAoB,GAAA,EAAa;AAAb,IAAA,IAAA,CAAA,GAAA,GAAA,GAAA;AAEpB,IAAA,aAAA,CAAA,IAAA,EAAA,QAAA,EAAS,OAAO,OAAA,KAA4B;AACxC,MAAA,MAAM,OAAA,GAAyB;AAAA,QAC3B,OAAA,EAAS,cAAA,CAAeA,EAAA,EAAO,EAAG,OAAO,CAAA;AAAA,QACzC,MAAM,WAAA,CAAY;AAAA,OACtB;AAEA,MAAA,IAAA,CAAK,GAAA,CAAI,WAAA,CAAY,OAAA,EAAS,GAAG,CAAA;AAEjC,MAAA,OAAO,IAAI,OAAA,CAAyB,CAAC,OAAA,EAAS,MAAA,KAAW;AACrD,QAAA,MAAM,QAAA,GAAW,CAAC,KAAA,KAAwB;AACtC,UAAA,IACI,CAAC,oBAAA,CAAqB,KAAK,CAAA,IAC3B,MAAM,IAAA,CAAK,IAAA,KAAS,WAAA,CAAY,sBAAA,IAChC,MAAM,IAAA,CAAK,QAAA,CAAS,EAAA,KAAO,OAAA,CAAQ,QAAQ,EAAA,EAC7C;AACE,YAAA;AAAA,UACJ;AAEA,UAAA,MAAA,CAAO,mBAAA,CAAoB,WAAW,QAAQ,CAAA;AAC9C,UAAA,IAAI,OAAA,IAAW,KAAA,CAAM,IAAA,CAAK,QAAA,EAAU;AAChC,YAAA,MAAA,CAAO,KAAA,CAAM,IAAA,CAAK,QAAA,CAAS,KAAK,CAAA;AAAA,UACpC,CAAA,MAAO;AACH,YAAA,OAAA,CAAQ,KAAA,CAAM,KAAK,QAAQ,CAAA;AAAA,UAC/B;AAAA,QACJ,CAAA;AAEA,QAAA,MAAA,CAAO,gBAAA,CAAiB,WAAW,QAAQ,CAAA;AAAA,MAC/C,CAAC,CAAA;AAAA,IACL,CAAA,CAAA;AAEA,IAAA,aAAA,CAAA,IAAA,EAAA,gBAAA,EAAiB,CAAC,IAA4B,OAAA,KAA6B;AACvE,MAAA,MAAM,OAAA,GAAyB;AAAA,QAC3B,QAAA,EAAU,eAAA,CAAgB,EAAA,EAAI,OAAO,CAAA;AAAA,QACrC,MAAM,WAAA,CAAY;AAAA,OACtB;AACA,MAAA,IAAA,CAAK,GAAA,CAAI,WAAA,CAAY,OAAA,EAAS,GAAG,CAAA;AAAA,IACrC,CAAA,CAAA;AAAA,EAtCkC;AAuCtC;AAEO,IAAM,gBAAN,MAA4C;AAAA,EAC/C,WAAA,CACY,KACA,WAAA,EACV;AAFU,IAAA,IAAA,CAAA,GAAA,GAAA,GAAA;AACA,IAAA,IAAA,CAAA,WAAA,GAAA,WAAA;AAAA,EACT;AAAA,EAEH,MAAgB,oBAAoB,QAAA,EAAoC;AACpE,IAAA,MAAM,IAAA,GAAO,MAAM,QAAA,CAAS,IAAA,EAAK;
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":["uuidv4"],"mappings":"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","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 { v4 as uuidv4 } from 'uuid'\nimport {\n RequestPayload,\n ResponsePayload,\n JsonRpcRequest,\n SpliceMessage,\n WalletEvent,\n isSpliceMessageEvent,\n SuccessResponse,\n ErrorResponse,\n JsonRpcResponse,\n} from '@canton-network/core-types'\n\nexport const jsonRpcRequest = (\n id: string | number | null,\n payload: RequestPayload\n): JsonRpcRequest => {\n return {\n jsonrpc: '2.0',\n id, // id should be set based on the request context\n ...payload,\n }\n}\n\nexport const jsonRpcResponse = (\n id: string | number | null,\n payload: ResponsePayload\n): JsonRpcResponse => {\n return {\n jsonrpc: '2.0',\n id, // id should be set based on the request context\n ...payload,\n }\n}\n\nexport interface RpcTransport {\n submit: (payload: RequestPayload) => Promise<ResponsePayload>\n}\n\nexport class WindowTransport implements RpcTransport {\n constructor(private win: Window) {}\n\n submit = async (payload: RequestPayload) => {\n const message: SpliceMessage = {\n request: jsonRpcRequest(uuidv4(), payload),\n type: WalletEvent.SPLICE_WALLET_REQUEST,\n }\n\n this.win.postMessage(message, '*')\n\n return new Promise<SuccessResponse>((resolve, reject) => {\n const listener = (event: MessageEvent) => {\n if (\n !isSpliceMessageEvent(event) ||\n event.data.type !== WalletEvent.SPLICE_WALLET_RESPONSE ||\n event.data.response.id !== message.request.id\n ) {\n return\n }\n\n window.removeEventListener('message', listener)\n if ('error' in event.data.response) {\n reject(event.data.response.error)\n } else {\n resolve(event.data.response)\n }\n }\n\n window.addEventListener('message', listener)\n })\n }\n\n submitResponse = (id: string | number | null, payload: ResponsePayload) => {\n const message: SpliceMessage = {\n response: jsonRpcResponse(id, payload),\n type: WalletEvent.SPLICE_WALLET_RESPONSE,\n }\n this.win.postMessage(message, '*')\n }\n}\n\nexport class HttpTransport implements RpcTransport {\n constructor(\n private url: URL,\n private accessToken?: string\n ) {}\n\n protected async handleErrorResponse(response: Response): Promise<never> {\n const body = await response.text()\n\n // if the response uses the RPC error format, throw it as is\n try {\n if (ErrorResponse.safeParse(JSON.parse(body)).success) {\n throw JSON.parse(body)\n }\n } catch {\n // ignore JSON parse errors\n }\n\n throw {\n error: {\n code: response.status,\n message: response.statusText,\n data: body,\n },\n }\n }\n\n async submit(payload: RequestPayload): Promise<ResponsePayload> {\n const request: JsonRpcRequest = {\n jsonrpc: '2.0',\n method: payload.method,\n params: payload.params,\n id: uuidv4(),\n }\n\n const header = this.accessToken\n ? { Authorization: `Bearer ${this.accessToken}` }\n : undefined\n\n const response = await fetch(this.url.href, {\n method: 'POST',\n headers: {\n ...header,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(request),\n })\n\n if (!response.ok) {\n return this.handleErrorResponse(response)\n }\n\n const json = await response.json()\n const parsed = ResponsePayload.parse(json)\n\n if ('error' in parsed) {\n throw parsed\n }\n\n return parsed\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@canton-network/core-rpc-transport",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "RPC transport implementations",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"clean": "tsc -b --clean; rm -rf dist"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@canton-network/core-types": "^0.
|
|
27
|
+
"@canton-network/core-types": "^0.17.0",
|
|
28
28
|
"uuid": "^11.1.0"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|