@peerbit/rpc 3.0.25 → 4.0.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.
@@ -1,7 +1,8 @@
1
1
  import { AbstractType } from "@dao-xyz/borsh";
2
2
  import { PublicSignKey } from "@peerbit/crypto";
3
- import { RPCOptions, RPCResponse, PublishOptions } from "./io.js";
3
+ import { RPCResponse, EncryptionOptions, RPCRequestOptions } from "./io.js";
4
4
  import { Program } from "@peerbit/program";
5
+ import { PriorityOptions, WithMode } from "@peerbit/stream-interface";
5
6
  export type RPCSetupOptions<Q, R> = {
6
7
  topic: string;
7
8
  queryType: AbstractType<Q>;
@@ -39,7 +40,7 @@ export declare class RPC<Q, R> extends Program<RPCSetupOptions<Q, R>> {
39
40
  * @param message
40
41
  * @param options
41
42
  */
42
- send(message: Q, options?: PublishOptions): Promise<void>;
43
+ send(message: Q, options?: EncryptionOptions & WithMode & PriorityOptions): Promise<void>;
43
44
  private createResponseHandler;
44
45
  /**
45
46
  * Send a request and expect a response
@@ -47,7 +48,7 @@ export declare class RPC<Q, R> extends Program<RPCSetupOptions<Q, R>> {
47
48
  * @param options
48
49
  * @returns
49
50
  */
50
- request(request: Q, options?: RPCOptions<R>): Promise<RPCResponse<R>[]>;
51
+ request(request: Q, options?: RPCRequestOptions<R>): Promise<RPCResponse<R>[]>;
51
52
  get topic(): string;
52
53
  getTopics(): string[];
53
54
  }
@@ -110,6 +110,7 @@ let RPC = class RPC extends Program {
110
110
  requestId: message.id
111
111
  })), {
112
112
  topics: [this.topic],
113
+ priority: message.header.priority, // send back with same priority. TODO, make this better in the future
113
114
  /// TODO make redundancy parameter configurable?
114
115
  mode: new SilentDelivery({
115
116
  to: [message.header.signatures.publicKeys[0]],
@@ -165,6 +166,7 @@ let RPC = class RPC extends Program {
165
166
  }
166
167
  getPublishOptions(options) {
167
168
  return {
169
+ priority: options?.priority,
168
170
  mode: options?.mode,
169
171
  topics: [this.topic]
170
172
  };
@@ -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/lib/esm/io.d.ts CHANGED
@@ -1,20 +1,19 @@
1
1
  import { X25519PublicKey, Ed25519PublicKey, PublicSignKey, X25519Keypair } from "@peerbit/crypto";
2
- import { DeliveryMode } from "@peerbit/stream-interface";
2
+ import { PriorityOptions, WithMode } from "@peerbit/stream-interface";
3
3
  export declare const logger: import("pino").Logger<never>;
4
- export type RPCOptions<R> = {
4
+ export type RPCRequestResponseOptions<R> = {
5
5
  amount?: number;
6
6
  timeout?: number;
7
7
  isTrusted?: (publicKey: PublicSignKey) => Promise<boolean>;
8
8
  onResponse?: (response: R, from?: PublicSignKey) => void;
9
9
  signal?: AbortSignal;
10
- } & PublishOptions;
11
- export type PublishOptions = {
10
+ };
11
+ export type RPCRequestOptions<R> = RPCRequestResponseOptions<R> & EncryptionOptions & WithMode & PriorityOptions;
12
+ export type EncryptionOptions = {
12
13
  encryption?: {
13
14
  key: X25519Keypair;
14
15
  responders?: (X25519PublicKey | Ed25519PublicKey)[];
15
16
  };
16
- strict?: boolean;
17
- mode?: DeliveryMode;
18
17
  };
19
18
  export type RPCResponse<R> = {
20
19
  response: R;
@@ -1,6 +1,11 @@
1
+ import { DeliveryMode, PriorityOptions } from "@peerbit/stream-interface";
1
2
  import { RPC } from "./controller";
2
- import { RPCOptions, RPCResponse } from "./io";
3
+ import { EncryptionOptions, RPCRequestResponseOptions, RPCResponse } from "./io";
4
+ import { Constructor } from "@dao-xyz/borsh";
3
5
  export declare class MissingResponsesError extends Error {
4
6
  constructor(message: string);
5
7
  }
6
- export declare const queryAll: <Q, R>(rpc: RPC<Q, R>, groups: string[][], request: Q, responseHandler: (response: RPCResponse<R>[]) => Promise<void> | void, options?: RPCOptions<R> | undefined) => Promise<void>;
8
+ export type RPCRequestAllOptions<R> = RPCRequestResponseOptions<R> & EncryptionOptions & {
9
+ mode?: Constructor<DeliveryMode>;
10
+ } & PriorityOptions;
11
+ export declare const queryAll: <Q, R>(rpc: RPC<Q, R>, groups: string[][], request: Q, responseHandler: (response: RPCResponse<R>[]) => Promise<void> | void, options?: RPCRequestAllOptions<R> | undefined) => Promise<void>;
package/lib/esm/utils.js CHANGED
@@ -7,6 +7,7 @@ export class MissingResponsesError extends Error {
7
7
  export const queryAll = (rpc, groups, request, responseHandler, options) => {
8
8
  // In each shard/group only query a subset
9
9
  groups = [...groups].filter((x) => !x.find((y) => y === rpc.node.identity.publicKey.hashcode()));
10
+ const sendModeType = options?.mode || SilentDelivery;
10
11
  let rng = Math.round(Math.random() * groups.length);
11
12
  const startRng = rng;
12
13
  const fn = async () => {
@@ -24,7 +25,7 @@ export const queryAll = (rpc, groups, request, responseHandler, options) => {
24
25
  if (peersToQuery.length > 0) {
25
26
  const results = await rpc.request(request, {
26
27
  ...options,
27
- mode: new SilentDelivery({ to: peersToQuery, redundancy: 1 }) // TODO configuration redundancy?
28
+ mode: new sendModeType({ to: peersToQuery, redundancy: 1 }) // TODO configuration redundancy?
28
29
  });
29
30
  for (const result of results) {
30
31
  if (!result.from) {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
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.0.25",
3
+ "version": "4.0.1",
4
4
  "description": "RPC calls for peers",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -34,11 +34,11 @@
34
34
  "@dao-xyz/borsh": "^5.2.1",
35
35
  "@peerbit/crypto": "2.1.7",
36
36
  "@peerbit/logger": "1.0.2",
37
- "@peerbit/program": "3.0.20",
37
+ "@peerbit/program": "4.0.1",
38
38
  "@peerbit/time": "2.0.6"
39
39
  },
40
40
  "devDependencies": {
41
- "@peerbit/test-utils": "^2.0.25"
41
+ "@peerbit/test-utils": "^2.0.27"
42
42
  },
43
- "gitHead": "a4da18ebc1b18e79693f96a79f2d7a83a35b0d29"
43
+ "gitHead": "7773e64f29e90e145eed87d06228a1178dc1e2e5"
44
44
  }
package/src/controller.ts CHANGED
@@ -15,7 +15,12 @@ import {
15
15
  X25519Keypair
16
16
  } from "@peerbit/crypto";
17
17
  import { RequestV0, ResponseV0, RPCMessage } from "./encoding.js";
18
- import { RPCOptions, logger, RPCResponse, PublishOptions } from "./io.js";
18
+ import {
19
+ logger,
20
+ RPCResponse,
21
+ EncryptionOptions,
22
+ RPCRequestOptions
23
+ } from "./io.js";
19
24
  import {
20
25
  DataEvent,
21
26
  PublishOptions as PubSubPublishOptions
@@ -23,7 +28,10 @@ import {
23
28
  import { Program } from "@peerbit/program";
24
29
  import {
25
30
  DataMessage,
31
+ DeliveryMode,
32
+ PriorityOptions,
26
33
  SilentDelivery,
34
+ WithMode,
27
35
  deliveryModeHasReceiver
28
36
  } from "@peerbit/stream-interface";
29
37
  import pDefer, { DeferredPromise } from "p-defer";
@@ -181,6 +189,7 @@ export class RPC<Q, R> extends Program<RPCSetupOptions<Q, R>> {
181
189
  ),
182
190
  {
183
191
  topics: [this.topic],
192
+ priority: message.header.priority, // send back with same priority. TODO, make this better in the future
184
193
 
185
194
  /// TODO make redundancy parameter configurable?
186
195
  mode: new SilentDelivery({
@@ -224,7 +233,7 @@ export class RPC<Q, R> extends Program<RPCSetupOptions<Q, R>> {
224
233
  private async seal(
225
234
  request: Q,
226
235
  respondTo?: X25519PublicKey,
227
- options?: PublishOptions
236
+ options?: EncryptionOptions
228
237
  ) {
229
238
  const requestData = this._requestTypeIsUint8Array
230
239
  ? (request as Uint8Array)
@@ -254,8 +263,11 @@ export class RPC<Q, R> extends Program<RPCSetupOptions<Q, R>> {
254
263
  return requestMessage;
255
264
  }
256
265
 
257
- private getPublishOptions(options?: PublishOptions): PubSubPublishOptions {
266
+ private getPublishOptions(
267
+ options?: EncryptionOptions & WithMode & PriorityOptions
268
+ ): PubSubPublishOptions {
258
269
  return {
270
+ priority: options?.priority,
259
271
  mode: options?.mode,
260
272
  topics: [this.topic]
261
273
  };
@@ -266,7 +278,10 @@ export class RPC<Q, R> extends Program<RPCSetupOptions<Q, R>> {
266
278
  * @param message
267
279
  * @param options
268
280
  */
269
- public async send(message: Q, options?: PublishOptions): Promise<void> {
281
+ public async send(
282
+ message: Q,
283
+ options?: EncryptionOptions & WithMode & PriorityOptions
284
+ ): Promise<void> {
270
285
  await this.node.services.pubsub.publish(
271
286
  serialize(await this.seal(message, undefined, options)),
272
287
  this.getPublishOptions(options)
@@ -279,7 +294,7 @@ export class RPC<Q, R> extends Program<RPCSetupOptions<Q, R>> {
279
294
  allResults: RPCResponse<R>[],
280
295
  responders: Set<string>,
281
296
  expectedResponders?: Set<string>,
282
- options?: RPCOptions<R>
297
+ options?: RPCRequestOptions<R>
283
298
  ) {
284
299
  return async (properties: {
285
300
  response: ResponseV0;
@@ -340,7 +355,7 @@ export class RPC<Q, R> extends Program<RPCSetupOptions<Q, R>> {
340
355
  */
341
356
  public async request(
342
357
  request: Q,
343
- options?: RPCOptions<R>
358
+ options?: RPCRequestOptions<R>
344
359
  ): Promise<RPCResponse<R>[]> {
345
360
  // 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
346
361
  // this allows us to easily disregard a bunch of message just beacuse they are for a different receiver!
package/src/io.ts CHANGED
@@ -5,24 +5,27 @@ import {
5
5
  X25519Keypair
6
6
  } from "@peerbit/crypto";
7
7
  import { logger as loggerFn } from "@peerbit/logger";
8
- import { DeliveryMode } from "@peerbit/stream-interface";
8
+ import { PriorityOptions, WithMode } from "@peerbit/stream-interface";
9
9
 
10
10
  export const logger = loggerFn({ module: "rpc" });
11
- export type RPCOptions<R> = {
11
+ export type RPCRequestResponseOptions<R> = {
12
12
  amount?: number;
13
13
  timeout?: number;
14
14
  isTrusted?: (publicKey: PublicSignKey) => Promise<boolean>;
15
15
  onResponse?: (response: R, from?: PublicSignKey) => void;
16
16
  signal?: AbortSignal;
17
- } & PublishOptions;
17
+ };
18
+
19
+ export type RPCRequestOptions<R> = RPCRequestResponseOptions<R> &
20
+ EncryptionOptions &
21
+ WithMode &
22
+ PriorityOptions;
18
23
 
19
- export type PublishOptions = {
24
+ export type EncryptionOptions = {
20
25
  encryption?: {
21
26
  key: X25519Keypair;
22
27
  responders?: (X25519PublicKey | Ed25519PublicKey)[];
23
28
  };
24
- strict?: boolean;
25
- mode?: DeliveryMode;
26
29
  };
27
30
 
28
31
  export type RPCResponse<R> = { response: R; from?: PublicSignKey };
package/src/utils.ts CHANGED
@@ -1,23 +1,36 @@
1
- import { SilentDelivery } from "@peerbit/stream-interface";
1
+ import {
2
+ DeliveryMode,
3
+ PriorityOptions,
4
+ SilentDelivery
5
+ } from "@peerbit/stream-interface";
2
6
  import { RPC } from "./controller";
3
- import { RPCOptions, RPCResponse } from "./io";
7
+ import {
8
+ EncryptionOptions,
9
+ RPCRequestResponseOptions,
10
+ RPCResponse
11
+ } from "./io";
12
+ import { Constructor } from "@dao-xyz/borsh";
4
13
  export class MissingResponsesError extends Error {
5
14
  constructor(message: string) {
6
15
  super(message);
7
16
  }
8
17
  }
18
+ export type RPCRequestAllOptions<R> = RPCRequestResponseOptions<R> &
19
+ EncryptionOptions & { mode?: Constructor<DeliveryMode> } & PriorityOptions;
20
+
9
21
  export const queryAll = <Q, R>(
10
22
  rpc: RPC<Q, R>,
11
23
  groups: string[][],
12
24
  request: Q,
13
25
  responseHandler: (response: RPCResponse<R>[]) => Promise<void> | void,
14
- options?: RPCOptions<R> | undefined
26
+ options?: RPCRequestAllOptions<R> | undefined
15
27
  ) => {
16
28
  // In each shard/group only query a subset
17
29
  groups = [...groups].filter(
18
30
  (x) => !x.find((y) => y === rpc.node.identity.publicKey.hashcode())
19
31
  );
20
32
 
33
+ const sendModeType = options?.mode || SilentDelivery;
21
34
  let rng = Math.round(Math.random() * groups.length);
22
35
  const startRng = rng;
23
36
  const fn = async () => {
@@ -35,7 +48,7 @@ export const queryAll = <Q, R>(
35
48
  if (peersToQuery.length > 0) {
36
49
  const results = await rpc.request(request, {
37
50
  ...options,
38
- mode: new SilentDelivery({ to: peersToQuery, redundancy: 1 }) // TODO configuration redundancy?
51
+ mode: new sendModeType({ to: peersToQuery, redundancy: 1 }) // TODO configuration redundancy?
39
52
  });
40
53
 
41
54
  for (const result of results) {