@peerbit/rpc 4.0.7-efee9d3 → 5.0.0-3a75d6e
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/src/controller.d.ts +1 -1
- package/dist/src/controller.d.ts.map +1 -1
- package/dist/src/controller.js +17 -17
- package/dist/src/controller.js.map +1 -1
- package/dist/src/io.d.ts +1 -1
- package/dist/src/io.d.ts.map +1 -1
- package/dist/src/io.js +0 -1
- package/dist/src/io.js.map +1 -1
- package/dist/src/utils.d.ts +3 -3
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/src/utils.js +4 -3
- package/dist/src/utils.js.map +1 -1
- package/package.json +10 -9
- package/src/controller.ts +50 -48
- package/src/io.ts +3 -3
- package/src/utils.ts +11 -9
package/dist/src/controller.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { type AbstractType } from "@dao-xyz/borsh";
|
|
2
2
|
import { PublicSignKey } from "@peerbit/crypto";
|
|
3
|
-
import { type RPCResponse, type EncryptionOptions, type RPCRequestOptions } from "./io.js";
|
|
4
3
|
import { Program } from "@peerbit/program";
|
|
5
4
|
import { type PriorityOptions, type WithMode } from "@peerbit/stream-interface";
|
|
5
|
+
import { type EncryptionOptions, type RPCRequestOptions, type RPCResponse } from "./io.js";
|
|
6
6
|
export type RPCSetupOptions<Q, R> = {
|
|
7
7
|
topic: string;
|
|
8
8
|
queryType: AbstractType<Q>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/controller.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,YAAY,EAKjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,
|
|
1
|
+
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/controller.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,YAAY,EAKjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAIN,aAAa,EAKb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAK3C,OAAO,EAEN,KAAK,eAAe,EAEpB,KAAK,QAAQ,EAEb,MAAM,2BAA2B,CAAC;AAInC,OAAO,EACN,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAEhB,MAAM,SAAS,CAAC;AAEjB,MAAM,MAAM,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAC3B,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAC9B,eAAe,CAAC,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CACxC,CAAC;AACF,MAAM,MAAM,cAAc,GAAG;IAC5B,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CAClB,CAAC;AACF,MAAM,MAAM,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CACnC,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,cAAc,KACnB,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;AAY5C,qBACa,GAAG,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,OAAO,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5D,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,gBAAgB,CAAC,CAA0C;IACnE,OAAO,CAAC,iBAAiB,CAGvB;IACF,OAAO,CAAC,YAAY,CAA2C;IAC/D,OAAO,CAAC,wBAAwB,CAAW;IAC3C,OAAO,CAAC,aAAa,CAAmB;IACxC,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,gBAAgB,CAA8C;IACtE,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,mBAAmB,CAAuC;IAClE,OAAO,CAAC,kBAAkB,CAAuC;IAE3D,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;YAcxC,MAAM;IAUP,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IASvC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IASnD,OAAO,CAAC,YAAY,CAAmC;IACjD,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;YAkBlB,UAAU;YAuFV,IAAI;IAiClB,OAAO,CAAC,iBAAiB;IAYzB;;;;OAIG;IACU,IAAI,CAChB,OAAO,EAAE,CAAC,EACV,OAAO,CAAC,EAAE,iBAAiB,GAAG,QAAQ,GAAG,eAAe,GACtD,OAAO,CAAC,IAAI,CAAC;IAOhB,OAAO,CAAC,qBAAqB;IA2D7B;;;;;OAKG;IACU,OAAO,CACnB,OAAO,EAAE,CAAC,EACV,OAAO,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAC5B,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IAkF5B,IAAW,KAAK,IAAI,MAAM,CAKzB;IAED,SAAS,IAAI,MAAM,EAAE;CAGrB"}
|
package/dist/src/controller.js
CHANGED
|
@@ -4,15 +4,15 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
-
import { BorshError, deserialize, serialize, variant } from "@dao-xyz/borsh";
|
|
8
|
-
import { DecryptedThing, MaybeEncrypted, PublicSignKey,
|
|
9
|
-
import { RequestV0, ResponseV0, RPCMessage } from "./encoding.js";
|
|
10
|
-
import { logger } from "./io.js";
|
|
11
|
-
import { DataEvent } from "@peerbit/pubsub-interface";
|
|
7
|
+
import { BorshError, deserialize, serialize, variant, } from "@dao-xyz/borsh";
|
|
8
|
+
import { AccessError, DecryptedThing, MaybeEncrypted, PublicSignKey, X25519Keypair, X25519PublicKey, randomBytes, toBase64, } from "@peerbit/crypto";
|
|
12
9
|
import { Program } from "@peerbit/program";
|
|
13
|
-
import {
|
|
14
|
-
import
|
|
10
|
+
import { DataEvent, } from "@peerbit/pubsub-interface";
|
|
11
|
+
import { DataMessage, SilentDelivery, deliveryModeHasReceiver, } from "@peerbit/stream-interface";
|
|
15
12
|
import { AbortError, TimeoutError } from "@peerbit/time";
|
|
13
|
+
import pDefer, {} from "p-defer";
|
|
14
|
+
import { RPCMessage, RequestV0, ResponseV0 } from "./encoding.js";
|
|
15
|
+
import { logger, } from "./io.js";
|
|
16
16
|
const createValueResolver = (type) => {
|
|
17
17
|
if (type === Uint8Array) {
|
|
18
18
|
return (decrypted) => decrypted._data;
|
|
@@ -92,7 +92,7 @@ let RPC = class RPC extends Program {
|
|
|
92
92
|
const decrypted = await maybeEncrypted.decrypt(this.node.services.keychain);
|
|
93
93
|
const response = await this._responseHandler(this._getRequestValueFn(decrypted), {
|
|
94
94
|
from: message.header.signatures.publicKeys[0],
|
|
95
|
-
timestamp: message.header.timestamp
|
|
95
|
+
timestamp: message.header.timestamp,
|
|
96
96
|
});
|
|
97
97
|
if (response && rpcMessage.respondTo) {
|
|
98
98
|
// send query and wait for replies in a generator like behaviour
|
|
@@ -102,21 +102,21 @@ let RPC = class RPC extends Program {
|
|
|
102
102
|
// that is now known in the .pubsub network, hence the message might not be delivired if we
|
|
103
103
|
// send with { to: [RECIEVER] } param
|
|
104
104
|
const decryptedMessage = new DecryptedThing({
|
|
105
|
-
data: serializedResponse
|
|
105
|
+
data: serializedResponse,
|
|
106
106
|
});
|
|
107
107
|
let maybeEncryptedMessage = decryptedMessage;
|
|
108
108
|
maybeEncryptedMessage = await decryptedMessage.encrypt(this._keypair, [rpcMessage.respondTo]);
|
|
109
109
|
await this.node.services.pubsub.publish(serialize(new ResponseV0({
|
|
110
110
|
response: maybeEncryptedMessage,
|
|
111
|
-
requestId: message.id
|
|
111
|
+
requestId: message.id,
|
|
112
112
|
})), {
|
|
113
113
|
topics: [this.topic],
|
|
114
114
|
priority: message.header.priority, // send back with same priority. TODO, make this better in the future
|
|
115
115
|
/// TODO make redundancy parameter configurable?
|
|
116
116
|
mode: new SilentDelivery({
|
|
117
117
|
to: [message.header.signatures.publicKeys[0]],
|
|
118
|
-
redundancy: 1
|
|
119
|
-
})
|
|
118
|
+
redundancy: 1,
|
|
119
|
+
}),
|
|
120
120
|
});
|
|
121
121
|
}
|
|
122
122
|
}
|
|
@@ -127,7 +127,7 @@ let RPC = class RPC extends Program {
|
|
|
127
127
|
// TODO evaluate when and how handler can be missing
|
|
128
128
|
handler?.({
|
|
129
129
|
message,
|
|
130
|
-
response: rpcMessage
|
|
130
|
+
response: rpcMessage,
|
|
131
131
|
});
|
|
132
132
|
}
|
|
133
133
|
}
|
|
@@ -150,7 +150,7 @@ let RPC = class RPC extends Program {
|
|
|
150
150
|
? request
|
|
151
151
|
: serialize(request);
|
|
152
152
|
const decryptedMessage = new DecryptedThing({
|
|
153
|
-
data: requestData
|
|
153
|
+
data: requestData,
|
|
154
154
|
});
|
|
155
155
|
let maybeEncryptedMessage = decryptedMessage;
|
|
156
156
|
if (options?.encryption?.responders &&
|
|
@@ -159,7 +159,7 @@ let RPC = class RPC extends Program {
|
|
|
159
159
|
}
|
|
160
160
|
const requestMessage = new RequestV0({
|
|
161
161
|
request: maybeEncryptedMessage,
|
|
162
|
-
respondTo
|
|
162
|
+
respondTo,
|
|
163
163
|
});
|
|
164
164
|
return requestMessage;
|
|
165
165
|
}
|
|
@@ -168,7 +168,7 @@ let RPC = class RPC extends Program {
|
|
|
168
168
|
id,
|
|
169
169
|
priority: options?.priority,
|
|
170
170
|
mode: options?.mode,
|
|
171
|
-
topics: [this.topic]
|
|
171
|
+
topics: [this.topic],
|
|
172
172
|
};
|
|
173
173
|
}
|
|
174
174
|
/**
|
|
@@ -217,7 +217,7 @@ let RPC = class RPC extends Program {
|
|
|
217
217
|
logger.debug("Namespace error");
|
|
218
218
|
return; // Name space conflict most likely
|
|
219
219
|
}
|
|
220
|
-
|
|
220
|
+
logger.error("failed ot deserialize query response: " + error?.message);
|
|
221
221
|
promise.reject(error);
|
|
222
222
|
}
|
|
223
223
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/controller.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/controller.ts"],"names":[],"mappings":"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"}
|
package/dist/src/io.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { Ed25519PublicKey, PublicSignKey, X25519Keypair, X25519PublicKey } from "@peerbit/crypto";
|
|
2
2
|
import type { PriorityOptions, WithMode } from "@peerbit/stream-interface";
|
|
3
3
|
export declare const logger: import("pino").Logger<never>;
|
|
4
4
|
export type RPCRequestResponseOptions<R> = {
|
package/dist/src/io.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"io.d.ts","sourceRoot":"","sources":["../../src/io.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"io.d.ts","sourceRoot":"","sources":["../../src/io.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,eAAe,EACf,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAE3E,eAAO,MAAM,MAAM,8BAA8B,CAAC;AAClD,MAAM,MAAM,yBAAyB,CAAC,CAAC,IAAI;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,aAAa,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3D,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;IACzD,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,yBAAyB,CAAC,CAAC,CAAC,GAC9D,iBAAiB,GACjB,QAAQ,GACR,eAAe,CAAC;AAEjB,MAAM,MAAM,iBAAiB,GAAG;IAC/B,UAAU,CAAC,EAAE;QACZ,GAAG,EAAE,aAAa,CAAC;QACnB,UAAU,CAAC,EAAE,CAAC,eAAe,GAAG,gBAAgB,CAAC,EAAE,CAAC;KACpD,CAAC;CACF,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IAAE,QAAQ,EAAE,CAAC,CAAC;IAAC,IAAI,CAAC,EAAE,aAAa,CAAA;CAAE,CAAC"}
|
package/dist/src/io.js
CHANGED
package/dist/src/io.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"io.js","sourceRoot":"","sources":["../../src/io.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"io.js","sourceRoot":"","sources":["../../src/io.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAGrD,MAAM,CAAC,MAAM,MAAM,GAAG,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC"}
|
package/dist/src/utils.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { DeliveryMode, type PriorityOptions } from "@peerbit/stream-interface";
|
|
2
|
-
import { RPC } from "./controller.js";
|
|
3
|
-
import type { EncryptionOptions, RPCRequestResponseOptions, RPCResponse } from "./io.js";
|
|
4
1
|
import { type Constructor } from "@dao-xyz/borsh";
|
|
2
|
+
import { type DeliveryMode, type PriorityOptions } from "@peerbit/stream-interface";
|
|
3
|
+
import { type RPC } from "./controller.js";
|
|
4
|
+
import type { EncryptionOptions, RPCRequestResponseOptions, RPCResponse } from "./io.js";
|
|
5
5
|
export declare class MissingResponsesError extends Error {
|
|
6
6
|
constructor(message: string);
|
|
7
7
|
}
|
package/dist/src/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,YAAY,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EACN,KAAK,YAAY,EACjB,KAAK,eAAe,EAEpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,EACX,iBAAiB,EACjB,yBAAyB,EACzB,WAAW,EACX,MAAM,SAAS,CAAC;AAEjB,qBAAa,qBAAsB,SAAQ,KAAK;gBACnC,OAAO,EAAE,MAAM;CAG3B;AACD,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI,yBAAyB,CAAC,CAAC,CAAC,GACjE,iBAAiB,GAAG;IAAE,IAAI,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,CAAA;CAAE,GAAG,eAAe,CAAC;AAE5E,eAAO,MAAM,QAAQ,GAAI,CAAC,EAAE,CAAC,OACvB,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,UACN,MAAM,EAAE,EAAE,WACT,CAAC,mBACO,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,YAC3D,oBAAoB,CAAC,CAAC,CAAC,GAAG,SAAS,kBA8D7C,CAAC"}
|
package/dist/src/utils.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { DeliveryMode, SilentDelivery } from "@peerbit/stream-interface";
|
|
2
|
-
import { RPC } from "./controller.js";
|
|
3
1
|
import {} from "@dao-xyz/borsh";
|
|
2
|
+
import { SilentDelivery, } from "@peerbit/stream-interface";
|
|
3
|
+
import {} from "./controller.js";
|
|
4
4
|
export class MissingResponsesError extends Error {
|
|
5
5
|
constructor(message) {
|
|
6
6
|
super(message);
|
|
@@ -27,7 +27,8 @@ export const queryAll = (rpc, groups, request, responseHandler, options) => {
|
|
|
27
27
|
if (peersToQuery.length > 0) {
|
|
28
28
|
const results = await rpc.request(request, {
|
|
29
29
|
...options,
|
|
30
|
-
|
|
30
|
+
// eslint-disable-next-line new-cap
|
|
31
|
+
mode: new sendModeType({ to: peersToQuery, redundancy: 1 }), // TODO configuration redundancy?
|
|
31
32
|
});
|
|
32
33
|
for (const result of results) {
|
|
33
34
|
if (!result.from) {
|
package/dist/src/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@peerbit/rpc",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.0.0-3a75d6e",
|
|
4
4
|
"description": "RPC calls for peers",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"type": "module",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
}
|
|
36
36
|
},
|
|
37
37
|
"eslintConfig": {
|
|
38
|
-
"extends": "
|
|
38
|
+
"extends": "peerbit",
|
|
39
39
|
"parserOptions": {
|
|
40
40
|
"project": true,
|
|
41
41
|
"sourceType": "module"
|
|
@@ -52,18 +52,19 @@
|
|
|
52
52
|
"scripts": {
|
|
53
53
|
"clean": "aegir clean",
|
|
54
54
|
"build": "aegir build --no-bundle",
|
|
55
|
-
"test": "aegir test --target=node"
|
|
55
|
+
"test": "aegir test --target=node",
|
|
56
|
+
"lint": "aegir lint"
|
|
56
57
|
},
|
|
57
58
|
"author": "dao.xyz",
|
|
58
59
|
"license": "MIT",
|
|
59
60
|
"dependencies": {
|
|
60
|
-
"@dao-xyz/borsh": "^5.2.
|
|
61
|
-
"@peerbit/crypto": "2.
|
|
62
|
-
"@peerbit/logger": "1.0.
|
|
63
|
-
"@peerbit/program": "
|
|
64
|
-
"@peerbit/time": "2.0.
|
|
61
|
+
"@dao-xyz/borsh": "^5.2.3",
|
|
62
|
+
"@peerbit/crypto": "2.3.0-3a75d6e",
|
|
63
|
+
"@peerbit/logger": "1.0.3-3a75d6e",
|
|
64
|
+
"@peerbit/program": "5.0.0-3a75d6e",
|
|
65
|
+
"@peerbit/time": "2.0.7-3a75d6e"
|
|
65
66
|
},
|
|
66
67
|
"devDependencies": {
|
|
67
|
-
"@peerbit/test-utils": "2.0.
|
|
68
|
+
"@peerbit/test-utils": "2.0.34-3a75d6e"
|
|
68
69
|
}
|
|
69
70
|
}
|
package/src/controller.ts
CHANGED
|
@@ -3,39 +3,39 @@ import {
|
|
|
3
3
|
BorshError,
|
|
4
4
|
deserialize,
|
|
5
5
|
serialize,
|
|
6
|
-
variant
|
|
6
|
+
variant,
|
|
7
7
|
} from "@dao-xyz/borsh";
|
|
8
8
|
import {
|
|
9
|
+
AccessError,
|
|
9
10
|
DecryptedThing,
|
|
10
11
|
MaybeEncrypted,
|
|
11
12
|
PublicSignKey,
|
|
12
|
-
toBase64,
|
|
13
|
-
AccessError,
|
|
14
|
-
X25519PublicKey,
|
|
15
13
|
X25519Keypair,
|
|
16
|
-
|
|
14
|
+
X25519PublicKey,
|
|
15
|
+
randomBytes,
|
|
16
|
+
toBase64,
|
|
17
17
|
} from "@peerbit/crypto";
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
logger,
|
|
21
|
-
type RPCResponse,
|
|
22
|
-
type EncryptionOptions,
|
|
23
|
-
type RPCRequestOptions
|
|
24
|
-
} from "./io.js";
|
|
18
|
+
import { Program } from "@peerbit/program";
|
|
25
19
|
import {
|
|
26
20
|
DataEvent,
|
|
27
|
-
type PublishOptions as PubSubPublishOptions
|
|
21
|
+
type PublishOptions as PubSubPublishOptions,
|
|
28
22
|
} from "@peerbit/pubsub-interface";
|
|
29
|
-
import { Program } from "@peerbit/program";
|
|
30
23
|
import {
|
|
31
24
|
DataMessage,
|
|
32
25
|
type PriorityOptions,
|
|
33
26
|
SilentDelivery,
|
|
34
27
|
type WithMode,
|
|
35
|
-
deliveryModeHasReceiver
|
|
28
|
+
deliveryModeHasReceiver,
|
|
36
29
|
} from "@peerbit/stream-interface";
|
|
37
|
-
import pDefer, { type DeferredPromise } from "p-defer";
|
|
38
30
|
import { AbortError, TimeoutError } from "@peerbit/time";
|
|
31
|
+
import pDefer, { type DeferredPromise } from "p-defer";
|
|
32
|
+
import { RPCMessage, RequestV0, ResponseV0 } from "./encoding.js";
|
|
33
|
+
import {
|
|
34
|
+
type EncryptionOptions,
|
|
35
|
+
type RPCRequestOptions,
|
|
36
|
+
type RPCResponse,
|
|
37
|
+
logger,
|
|
38
|
+
} from "./io.js";
|
|
39
39
|
|
|
40
40
|
export type RPCSetupOptions<Q, R> = {
|
|
41
41
|
topic: string;
|
|
@@ -49,11 +49,11 @@ export type RequestContext = {
|
|
|
49
49
|
};
|
|
50
50
|
export type ResponseHandler<Q, R> = (
|
|
51
51
|
query: Q,
|
|
52
|
-
context: RequestContext
|
|
52
|
+
context: RequestContext,
|
|
53
53
|
) => Promise<R | undefined> | R | undefined;
|
|
54
54
|
|
|
55
55
|
const createValueResolver = <T>(
|
|
56
|
-
type: AbstractType<T> | Uint8Array
|
|
56
|
+
type: AbstractType<T> | Uint8Array,
|
|
57
57
|
): ((decryptedThings: DecryptedThing<T>) => T) => {
|
|
58
58
|
if ((type as any) === Uint8Array) {
|
|
59
59
|
return (decrypted) => decrypted._data as T;
|
|
@@ -98,7 +98,7 @@ export class RPC<Q, R> extends Program<RPCSetupOptions<Q, R>> {
|
|
|
98
98
|
await this.node.services.pubsub.unsubscribe(this.topic);
|
|
99
99
|
await this.node.services.pubsub.removeEventListener(
|
|
100
100
|
"data",
|
|
101
|
-
this._onMessageBinded
|
|
101
|
+
this._onMessageBinded,
|
|
102
102
|
);
|
|
103
103
|
this._subscribed = false;
|
|
104
104
|
}
|
|
@@ -150,14 +150,14 @@ export class RPC<Q, R> extends Program<RPCSetupOptions<Q, R>> {
|
|
|
150
150
|
if (this._responseHandler) {
|
|
151
151
|
const maybeEncrypted = rpcMessage.request;
|
|
152
152
|
const decrypted = await maybeEncrypted.decrypt(
|
|
153
|
-
this.node.services.keychain
|
|
153
|
+
this.node.services.keychain,
|
|
154
154
|
);
|
|
155
155
|
const response = await this._responseHandler(
|
|
156
156
|
this._getRequestValueFn(decrypted),
|
|
157
157
|
{
|
|
158
158
|
from: message.header.signatures!.publicKeys[0],
|
|
159
|
-
timestamp: message.header.timestamp
|
|
160
|
-
}
|
|
159
|
+
timestamp: message.header.timestamp,
|
|
160
|
+
},
|
|
161
161
|
);
|
|
162
162
|
if (response && rpcMessage.respondTo) {
|
|
163
163
|
// send query and wait for replies in a generator like behaviour
|
|
@@ -169,22 +169,22 @@ export class RPC<Q, R> extends Program<RPCSetupOptions<Q, R>> {
|
|
|
169
169
|
// send with { to: [RECIEVER] } param
|
|
170
170
|
|
|
171
171
|
const decryptedMessage = new DecryptedThing<Uint8Array>({
|
|
172
|
-
data: serializedResponse
|
|
172
|
+
data: serializedResponse,
|
|
173
173
|
});
|
|
174
174
|
let maybeEncryptedMessage: MaybeEncrypted<Uint8Array> =
|
|
175
175
|
decryptedMessage;
|
|
176
176
|
|
|
177
177
|
maybeEncryptedMessage = await decryptedMessage.encrypt(
|
|
178
178
|
this._keypair,
|
|
179
|
-
[rpcMessage.respondTo]
|
|
179
|
+
[rpcMessage.respondTo],
|
|
180
180
|
);
|
|
181
181
|
|
|
182
182
|
await this.node.services.pubsub.publish(
|
|
183
183
|
serialize(
|
|
184
184
|
new ResponseV0({
|
|
185
185
|
response: maybeEncryptedMessage,
|
|
186
|
-
requestId: message.id
|
|
187
|
-
})
|
|
186
|
+
requestId: message.id,
|
|
187
|
+
}),
|
|
188
188
|
),
|
|
189
189
|
{
|
|
190
190
|
topics: [this.topic],
|
|
@@ -193,9 +193,9 @@ export class RPC<Q, R> extends Program<RPCSetupOptions<Q, R>> {
|
|
|
193
193
|
/// TODO make redundancy parameter configurable?
|
|
194
194
|
mode: new SilentDelivery({
|
|
195
195
|
to: [message.header.signatures!.publicKeys[0]],
|
|
196
|
-
redundancy: 1
|
|
197
|
-
})
|
|
198
|
-
}
|
|
196
|
+
redundancy: 1,
|
|
197
|
+
}),
|
|
198
|
+
},
|
|
199
199
|
);
|
|
200
200
|
}
|
|
201
201
|
}
|
|
@@ -205,7 +205,7 @@ export class RPC<Q, R> extends Program<RPCSetupOptions<Q, R>> {
|
|
|
205
205
|
// TODO evaluate when and how handler can be missing
|
|
206
206
|
handler?.({
|
|
207
207
|
message,
|
|
208
|
-
response: rpcMessage
|
|
208
|
+
response: rpcMessage,
|
|
209
209
|
});
|
|
210
210
|
}
|
|
211
211
|
} catch (error: any) {
|
|
@@ -221,7 +221,7 @@ export class RPC<Q, R> extends Program<RPCSetupOptions<Q, R>> {
|
|
|
221
221
|
|
|
222
222
|
logger.error(
|
|
223
223
|
"Error handling query: " +
|
|
224
|
-
|
|
224
|
+
(error?.message ? error?.message?.toString() : error),
|
|
225
225
|
);
|
|
226
226
|
}
|
|
227
227
|
}
|
|
@@ -230,14 +230,14 @@ export class RPC<Q, R> extends Program<RPCSetupOptions<Q, R>> {
|
|
|
230
230
|
private async seal(
|
|
231
231
|
request: Q,
|
|
232
232
|
respondTo?: X25519PublicKey,
|
|
233
|
-
options?: EncryptionOptions
|
|
233
|
+
options?: EncryptionOptions,
|
|
234
234
|
) {
|
|
235
235
|
const requestData = this._requestTypeIsUint8Array
|
|
236
236
|
? (request as Uint8Array)
|
|
237
237
|
: serialize(request);
|
|
238
238
|
|
|
239
239
|
const decryptedMessage = new DecryptedThing<Uint8Array>({
|
|
240
|
-
data: requestData
|
|
240
|
+
data: requestData,
|
|
241
241
|
});
|
|
242
242
|
|
|
243
243
|
let maybeEncryptedMessage: MaybeEncrypted<Uint8Array> = decryptedMessage;
|
|
@@ -248,13 +248,13 @@ export class RPC<Q, R> extends Program<RPCSetupOptions<Q, R>> {
|
|
|
248
248
|
) {
|
|
249
249
|
maybeEncryptedMessage = await decryptedMessage.encrypt(
|
|
250
250
|
options.encryption.key,
|
|
251
|
-
options.encryption.responders
|
|
251
|
+
options.encryption.responders,
|
|
252
252
|
);
|
|
253
253
|
}
|
|
254
254
|
|
|
255
255
|
const requestMessage = new RequestV0({
|
|
256
256
|
request: maybeEncryptedMessage,
|
|
257
|
-
respondTo
|
|
257
|
+
respondTo,
|
|
258
258
|
});
|
|
259
259
|
|
|
260
260
|
return requestMessage;
|
|
@@ -262,13 +262,13 @@ export class RPC<Q, R> extends Program<RPCSetupOptions<Q, R>> {
|
|
|
262
262
|
|
|
263
263
|
private getPublishOptions(
|
|
264
264
|
id?: Uint8Array,
|
|
265
|
-
options?: EncryptionOptions & WithMode & PriorityOptions
|
|
265
|
+
options?: EncryptionOptions & WithMode & PriorityOptions,
|
|
266
266
|
): PubSubPublishOptions {
|
|
267
267
|
return {
|
|
268
268
|
id,
|
|
269
269
|
priority: options?.priority,
|
|
270
270
|
mode: options?.mode,
|
|
271
|
-
topics: [this.topic]
|
|
271
|
+
topics: [this.topic],
|
|
272
272
|
};
|
|
273
273
|
}
|
|
274
274
|
|
|
@@ -279,11 +279,11 @@ export class RPC<Q, R> extends Program<RPCSetupOptions<Q, R>> {
|
|
|
279
279
|
*/
|
|
280
280
|
public async send(
|
|
281
281
|
message: Q,
|
|
282
|
-
options?: EncryptionOptions & WithMode & PriorityOptions
|
|
282
|
+
options?: EncryptionOptions & WithMode & PriorityOptions,
|
|
283
283
|
): Promise<void> {
|
|
284
284
|
await this.node.services.pubsub.publish(
|
|
285
285
|
serialize(await this.seal(message, undefined, options)),
|
|
286
|
-
this.getPublishOptions(undefined, options)
|
|
286
|
+
this.getPublishOptions(undefined, options),
|
|
287
287
|
);
|
|
288
288
|
}
|
|
289
289
|
|
|
@@ -293,7 +293,7 @@ export class RPC<Q, R> extends Program<RPCSetupOptions<Q, R>> {
|
|
|
293
293
|
allResults: RPCResponse<R>[],
|
|
294
294
|
responders: Set<string>,
|
|
295
295
|
expectedResponders?: Set<string>,
|
|
296
|
-
options?: RPCRequestOptions<R
|
|
296
|
+
options?: RPCRequestOptions<R>,
|
|
297
297
|
) {
|
|
298
298
|
return async (properties: {
|
|
299
299
|
response: ResponseV0;
|
|
@@ -330,7 +330,7 @@ export class RPC<Q, R> extends Program<RPCSetupOptions<Q, R>> {
|
|
|
330
330
|
promise.resolve();
|
|
331
331
|
}
|
|
332
332
|
}
|
|
333
|
-
} catch (error) {
|
|
333
|
+
} catch (error: any) {
|
|
334
334
|
if (error instanceof AccessError) {
|
|
335
335
|
return; // Ignore things we can not open
|
|
336
336
|
}
|
|
@@ -340,7 +340,7 @@ export class RPC<Q, R> extends Program<RPCSetupOptions<Q, R>> {
|
|
|
340
340
|
return; // Name space conflict most likely
|
|
341
341
|
}
|
|
342
342
|
|
|
343
|
-
|
|
343
|
+
logger.error("failed ot deserialize query response: " + error?.message);
|
|
344
344
|
promise.reject(error);
|
|
345
345
|
}
|
|
346
346
|
};
|
|
@@ -354,7 +354,7 @@ export class RPC<Q, R> extends Program<RPCSetupOptions<Q, R>> {
|
|
|
354
354
|
*/
|
|
355
355
|
public async request(
|
|
356
356
|
request: Q,
|
|
357
|
-
options?: RPCRequestOptions<R
|
|
357
|
+
options?: RPCRequestOptions<R>,
|
|
358
358
|
): Promise<RPCResponse<R>[]> {
|
|
359
359
|
// We are generatinga new encryption keypair for each send, so we now that when we get the responses, they are encrypted specifcally for me, and for this request
|
|
360
360
|
// this allows us to easily disregard a bunch of message just beacuse they are for a different receiver!
|
|
@@ -374,11 +374,13 @@ export class RPC<Q, R> extends Program<RPCSetupOptions<Q, R>> {
|
|
|
374
374
|
() => {
|
|
375
375
|
deferredPromise.resolve();
|
|
376
376
|
},
|
|
377
|
-
options?.timeout || 10 * 1000
|
|
377
|
+
options?.timeout || 10 * 1000,
|
|
378
378
|
);
|
|
379
379
|
|
|
380
380
|
const abortListener = (err: Event) => {
|
|
381
|
-
deferredPromise.reject(
|
|
381
|
+
deferredPromise.reject(
|
|
382
|
+
(err.target as any)?.["reason"] || new AbortError(),
|
|
383
|
+
);
|
|
382
384
|
};
|
|
383
385
|
options?.signal?.addEventListener("abort", abortListener);
|
|
384
386
|
|
|
@@ -409,14 +411,14 @@ export class RPC<Q, R> extends Program<RPCSetupOptions<Q, R>> {
|
|
|
409
411
|
allResults,
|
|
410
412
|
responders,
|
|
411
413
|
expectedResponders,
|
|
412
|
-
options
|
|
413
|
-
)
|
|
414
|
+
options,
|
|
415
|
+
),
|
|
414
416
|
);
|
|
415
417
|
|
|
416
418
|
try {
|
|
417
419
|
await this.node.services.pubsub.publish(
|
|
418
420
|
requestBytes,
|
|
419
|
-
this.getPublishOptions(messageId, options)
|
|
421
|
+
this.getPublishOptions(messageId, options),
|
|
420
422
|
);
|
|
421
423
|
await deferredPromise.promise;
|
|
422
424
|
} catch (error: any) {
|
package/src/io.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
X25519PublicKey,
|
|
1
|
+
import type {
|
|
3
2
|
Ed25519PublicKey,
|
|
4
3
|
PublicSignKey,
|
|
5
|
-
X25519Keypair
|
|
4
|
+
X25519Keypair,
|
|
5
|
+
X25519PublicKey,
|
|
6
6
|
} from "@peerbit/crypto";
|
|
7
7
|
import { logger as loggerFn } from "@peerbit/logger";
|
|
8
8
|
import type { PriorityOptions, WithMode } from "@peerbit/stream-interface";
|
package/src/utils.ts
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
|
+
import { type Constructor } from "@dao-xyz/borsh";
|
|
1
2
|
import {
|
|
2
|
-
DeliveryMode,
|
|
3
|
+
type DeliveryMode,
|
|
3
4
|
type PriorityOptions,
|
|
4
|
-
SilentDelivery
|
|
5
|
+
SilentDelivery,
|
|
5
6
|
} from "@peerbit/stream-interface";
|
|
6
|
-
import { RPC } from "./controller.js";
|
|
7
|
+
import { type RPC } from "./controller.js";
|
|
7
8
|
import type {
|
|
8
9
|
EncryptionOptions,
|
|
9
10
|
RPCRequestResponseOptions,
|
|
10
|
-
RPCResponse
|
|
11
|
+
RPCResponse,
|
|
11
12
|
} from "./io.js";
|
|
12
|
-
|
|
13
|
+
|
|
13
14
|
export class MissingResponsesError extends Error {
|
|
14
15
|
constructor(message: string) {
|
|
15
16
|
super(message);
|
|
@@ -23,11 +24,11 @@ export const queryAll = <Q, R>(
|
|
|
23
24
|
groups: string[][],
|
|
24
25
|
request: Q,
|
|
25
26
|
responseHandler: (response: RPCResponse<R>[]) => Promise<void> | void,
|
|
26
|
-
options?: RPCRequestAllOptions<R> | undefined
|
|
27
|
+
options?: RPCRequestAllOptions<R> | undefined,
|
|
27
28
|
) => {
|
|
28
29
|
// In each shard/group only query a subset
|
|
29
30
|
groups = [...groups].filter(
|
|
30
|
-
(x) => !x.find((y) => y === rpc.node.identity.publicKey.hashcode())
|
|
31
|
+
(x) => !x.find((y) => y === rpc.node.identity.publicKey.hashcode()),
|
|
31
32
|
);
|
|
32
33
|
|
|
33
34
|
const sendModeType = options?.mode || SilentDelivery;
|
|
@@ -48,7 +49,8 @@ export const queryAll = <Q, R>(
|
|
|
48
49
|
if (peersToQuery.length > 0) {
|
|
49
50
|
const results = await rpc.request(request, {
|
|
50
51
|
...options,
|
|
51
|
-
|
|
52
|
+
// eslint-disable-next-line new-cap
|
|
53
|
+
mode: new sendModeType({ to: peersToQuery, redundancy: 1 }), // TODO configuration redundancy?
|
|
52
54
|
});
|
|
53
55
|
|
|
54
56
|
for (const result of results) {
|
|
@@ -79,7 +81,7 @@ export const queryAll = <Q, R>(
|
|
|
79
81
|
}
|
|
80
82
|
if (missingReponses) {
|
|
81
83
|
throw new MissingResponsesError(
|
|
82
|
-
"Did not receive responses from all shards"
|
|
84
|
+
"Did not receive responses from all shards",
|
|
83
85
|
);
|
|
84
86
|
}
|
|
85
87
|
};
|