@peerbit/trusted-network 4.1.142 → 4.1.144

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.
@@ -35,7 +35,7 @@ export declare class TrustedNetwork extends Program<TrustedNetworkArgs> {
35
35
  open(options?: TrustedNetworkArgs): Promise<void>;
36
36
  canPerform(properties: CanPerformOperations<IdentityRelation>): Promise<boolean>;
37
37
  canRead(relation: any, publicKey?: PublicSignKey): Promise<boolean>;
38
- add(trustee: PublicSignKey | PeerId): Promise<IdentityRelation | undefined>;
38
+ add(trustee: PublicSignKey | PeerId, options?: AppendOptions<Operation>): Promise<IdentityRelation>;
39
39
  hasRelation(trustee: PublicSignKey | PeerId, truster?: PublicSignKey | PeerId): Promise<boolean>;
40
40
  getRelation(trustee: PublicSignKey | PeerId, truster?: PublicSignKey | PeerId): Promise<IdentityRelation>;
41
41
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACN,aAAa,EAGb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACN,KAAK,oBAAoB,EACzB,KAAK,OAAO,EACZ,SAAS,EACT,KAAK,SAAS,EAEd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EACN,MAAM,EACN,gBAAgB,EAOhB,MAAM,qBAAqB,CAAC;AA2C7B,KAAK,iBAAiB,GAAG;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1B,SAAS,CAAC,EAAE,kBAAkB,CAAC;CAC/B,CAAC;AAEF,qBACa,aAAc,SAAQ,OAAO,CAAC,iBAAiB,CAAC;IAE5D,aAAa,EAAE,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;gBAEvC,KAAK,CAAC,EAAE;QACnB,EAAE,CAAC,EAAE,UAAU,CAAC;QAChB,aAAa,CAAC,EAAE,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;KACpD;IAQK,UAAU,CACf,UAAU,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,GAChD,OAAO,CAAC,OAAO,CAAC;IAIb,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB;IAYhC,WAAW,CAChB,EAAE,EAAE,aAAa,GAAG,MAAM,EAC1B,OAAO,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC;CAWnC;AAED;;GAEG;AAEH,KAAK,kBAAkB,GAAG;IAAE,SAAS,CAAC,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAE7D,qBACa,cAAe,SAAQ,OAAO,CAAC,kBAAkB,CAAC;IAE9D,SAAS,EAAE,aAAa,CAAC;IAGzB,UAAU,EAAE,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;gBAEpC,KAAK,EAAE;QAAE,EAAE,CAAC,EAAE,UAAU,CAAC;QAAC,SAAS,EAAE,aAAa,GAAG,MAAM,CAAA;KAAE;IAMnE,IAAI,CAAC,OAAO,CAAC,EAAE,kBAAkB;IAcjC,UAAU,CACf,UAAU,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,GAChD,OAAO,CAAC,OAAO,CAAC;IAIb,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAInE,GAAG,CACR,OAAO,EAAE,aAAa,GAAG,MAAM,GAC7B,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAqBlC,WAAW,CAChB,OAAO,EAAE,aAAa,GAAG,MAAM,EAC/B,OAAO,GAAE,aAAa,GAAG,MAAuB;IAIjD,WAAW,CACV,OAAO,EAAE,aAAa,GAAG,MAAM,EAC/B,OAAO,GAAE,aAAa,GAAG,MAAuB;IASjD;;;;;;;;;OASG;IACG,SAAS,CACd,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE,aAA8B,GACrC,OAAO,CAAC,OAAO,CAAC;IAcb,eAAe,CACpB,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE,aAA8B,GACrC,OAAO,CAAC,OAAO,CAAC;IAUb,UAAU,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAU5C,QAAQ,IAAI,MAAM;CAGlB"}
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACN,aAAa,EAGb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACN,KAAK,oBAAoB,EACzB,KAAK,OAAO,EACZ,SAAS,EACT,KAAK,SAAS,EAEd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EACN,MAAM,EACN,gBAAgB,EAOhB,MAAM,qBAAqB,CAAC;AA2C7B,KAAK,iBAAiB,GAAG;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1B,SAAS,CAAC,EAAE,kBAAkB,CAAC;CAC/B,CAAC;AAEF,qBACa,aAAc,SAAQ,OAAO,CAAC,iBAAiB,CAAC;IAE5D,aAAa,EAAE,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;gBAEvC,KAAK,CAAC,EAAE;QACnB,EAAE,CAAC,EAAE,UAAU,CAAC;QAChB,aAAa,CAAC,EAAE,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;KACpD;IAQK,UAAU,CACf,UAAU,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,GAChD,OAAO,CAAC,OAAO,CAAC;IAIb,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB;IAYhC,WAAW,CAChB,EAAE,EAAE,aAAa,GAAG,MAAM,EAC1B,OAAO,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC;CAWnC;AAED;;GAEG;AAEH,KAAK,kBAAkB,GAAG;IAAE,SAAS,CAAC,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAE7D,qBACa,cAAe,SAAQ,OAAO,CAAC,kBAAkB,CAAC;IAE9D,SAAS,EAAE,aAAa,CAAC;IAGzB,UAAU,EAAE,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;gBAEpC,KAAK,EAAE;QAAE,EAAE,CAAC,EAAE,UAAU,CAAC;QAAC,SAAS,EAAE,aAAa,GAAG,MAAM,CAAA;KAAE;IAMnE,IAAI,CAAC,OAAO,CAAC,EAAE,kBAAkB;IAejC,UAAU,CACf,UAAU,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,GAChD,OAAO,CAAC,OAAO,CAAC;IAIb,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAInE,GAAG,CACR,OAAO,EAAE,aAAa,GAAG,MAAM,EAC/B,OAAO,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC;IAsB7B,WAAW,CAChB,OAAO,EAAE,aAAa,GAAG,MAAM,EAC/B,OAAO,GAAE,aAAa,GAAG,MAAuB;IAIjD,WAAW,CACV,OAAO,EAAE,aAAa,GAAG,MAAM,EAC/B,OAAO,GAAE,aAAa,GAAG,MAAuB;IASjD;;;;;;;;;OASG;IACG,SAAS,CACd,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE,aAA8B,GACrC,OAAO,CAAC,OAAO,CAAC;IAcb,eAAe,CACpB,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE,aAA8B,GACrC,OAAO,CAAC,OAAO,CAAC;IAUb,UAAU,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAU5C,QAAQ,IAAI,MAAM;CAGlB"}
@@ -14,7 +14,7 @@ import { Documents, SearchRequest, } from "@peerbit/document";
14
14
  import {} from "@peerbit/log";
15
15
  import { Program } from "@peerbit/program";
16
16
  import {} from "@peerbit/shared-log";
17
- import { FromTo, IdentityRelation, createIdentityGraphStore, getFromByTo, getPathGenerator, getRelation, getToByFrom, hasPath, } from "./identity-graph.js";
17
+ import { FromTo, IdentityRelation, createIdentityGraphStore, getFromByTo, getPathGenerator, getToByFrom, hasPath, getRelation as resolveRelation, } from "./identity-graph.js";
18
18
  const coercePublicKey = (publicKey) => {
19
19
  return publicKey instanceof PublicSignKey
20
20
  ? publicKey
@@ -96,10 +96,11 @@ let TrustedNetwork = class TrustedNetwork extends Program {
96
96
  trustGraph;
97
97
  constructor(props) {
98
98
  super();
99
- this.trustGraph = createIdentityGraphStore(props.id);
100
99
  this.rootTrust = coercePublicKey(props.rootTrust);
100
+ this.trustGraph = createIdentityGraphStore(props.id);
101
101
  }
102
102
  async open(options) {
103
+ this.trustGraph = this.trustGraph || createIdentityGraphStore();
103
104
  await this.trustGraph.open({
104
105
  type: IdentityRelation,
105
106
  canPerform: this.canPerform.bind(this),
@@ -118,7 +119,7 @@ let TrustedNetwork = class TrustedNetwork extends Program {
118
119
  async canRead(relation, publicKey) {
119
120
  return true; // TODO should we have read access control?
120
121
  }
121
- async add(trustee) {
122
+ async add(trustee, options) {
122
123
  const key = trustee instanceof PublicSignKey
123
124
  ? trustee
124
125
  : getPublicKeyFromPeerId(trustee);
@@ -137,7 +138,7 @@ let TrustedNetwork = class TrustedNetwork extends Program {
137
138
  return !!(await this.getRelation(trustee, truster));
138
139
  }
139
140
  getRelation(trustee, truster = this.rootTrust) {
140
- return getRelation(coercePublicKey(truster), coercePublicKey(trustee), this.trustGraph);
141
+ return resolveRelation(coercePublicKey(trustee), coercePublicKey(truster), this.trustGraph);
141
142
  }
142
143
  /**
143
144
  * Follow trust path back to trust root.
@@ -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/package.json CHANGED
@@ -1,70 +1,76 @@
1
1
  {
2
- "name": "@peerbit/trusted-network",
3
- "version": "4.1.142",
4
- "description": "Access controller that operates on a DB",
5
- "sideEffects": false,
6
- "type": "module",
7
- "types": "./dist/src/index.d.ts",
8
- "typesVersions": {
9
- "*": {
10
- "*": [
11
- "*",
12
- "dist/*",
13
- "dist/src/*",
14
- "dist/src/*/index"
15
- ],
16
- "src/*": [
17
- "*",
18
- "dist/*",
19
- "dist/src/*",
20
- "dist/src/*/index"
21
- ]
22
- }
23
- },
24
- "files": [
25
- "src",
26
- "dist",
27
- "!dist/e2e",
28
- "!dist/test",
29
- "!**/*.tsbuildinfo"
30
- ],
31
- "exports": {
32
- ".": {
33
- "types": "./dist/src/index.d.ts",
34
- "import": "./dist/src/index.js"
35
- }
36
- },
37
- "eslintConfig": {
38
- "extends": "peerbit",
39
- "parserOptions": {
40
- "project": true,
41
- "sourceType": "module"
42
- },
43
- "ignorePatterns": [
44
- "!.aegir.js",
45
- "test/ts-use",
46
- "*.d.ts"
47
- ]
48
- },
49
- "publishConfig": {
50
- "access": "public"
51
- },
52
- "scripts": {
53
- "clean": "aegir clean",
54
- "build": "aegir build --no-bundle",
55
- "test": "aegir test --target node",
56
- "lint": "aegir lint"
57
- },
58
- "author": "dao.xyz",
59
- "license": "MIT",
60
- "dependencies": {
61
- "@dao-xyz/borsh": "^5.2.3",
62
- "@peerbit/crypto": "2.3.11",
63
- "@peerbit/document": "10.0.0"
64
- },
65
- "devDependencies": {
66
- "@peerbit/time": "2.2.0",
67
- "@ethersproject/wallet": "^5.8.0",
68
- "@peerbit/test-utils": "^2.2.8"
69
- }
70
- }
2
+ "name": "@peerbit/trusted-network",
3
+ "version": "4.1.144",
4
+ "description": "Access controller that operates on a DB",
5
+ "sideEffects": false,
6
+ "type": "module",
7
+ "types": "./dist/src/index.d.ts",
8
+ "typesVersions": {
9
+ "*": {
10
+ "*": [
11
+ "*",
12
+ "dist/*",
13
+ "dist/src/*",
14
+ "dist/src/*/index"
15
+ ],
16
+ "src/*": [
17
+ "*",
18
+ "dist/*",
19
+ "dist/src/*",
20
+ "dist/src/*/index"
21
+ ]
22
+ }
23
+ },
24
+ "files": [
25
+ "src",
26
+ "dist",
27
+ "!dist/e2e",
28
+ "!dist/test",
29
+ "!**/*.tsbuildinfo"
30
+ ],
31
+ "exports": {
32
+ ".": {
33
+ "types": "./dist/src/index.d.ts",
34
+ "import": "./dist/src/index.js"
35
+ }
36
+ },
37
+ "eslintConfig": {
38
+ "extends": "peerbit",
39
+ "parserOptions": {
40
+ "project": true,
41
+ "sourceType": "module"
42
+ },
43
+ "ignorePatterns": [
44
+ "!.aegir.js",
45
+ "test/ts-use",
46
+ "*.d.ts"
47
+ ]
48
+ },
49
+ "publishConfig": {
50
+ "access": "public"
51
+ },
52
+ "author": "dao.xyz",
53
+ "license": "MIT",
54
+ "dependencies": {
55
+ "@dao-xyz/borsh": "^5.2.3",
56
+ "@libp2p/interface": "^3.0.0",
57
+ "uint8arrays": "^5.1.0",
58
+ "@peerbit/crypto": "2.3.13",
59
+ "@peerbit/document": "10.0.2",
60
+ "@peerbit/log": "4.1.10",
61
+ "@peerbit/program": "5.3.5",
62
+ "@peerbit/shared-log": "11.5.7",
63
+ "peerbit": "4.3.9"
64
+ },
65
+ "devDependencies": {
66
+ "@ethersproject/wallet": "^5.8.0",
67
+ "@peerbit/test-utils": "2.2.10",
68
+ "@peerbit/time": "2.2.0"
69
+ },
70
+ "scripts": {
71
+ "clean": "aegir clean",
72
+ "build": "aegir build --no-bundle",
73
+ "test": "aegir test --target node",
74
+ "lint": "aegir lint"
75
+ }
76
+ }
package/src/controller.ts CHANGED
@@ -21,9 +21,9 @@ import {
21
21
  createIdentityGraphStore,
22
22
  getFromByTo,
23
23
  getPathGenerator,
24
- getRelation,
25
24
  getToByFrom,
26
25
  hasPath,
26
+ getRelation as resolveRelation,
27
27
  } from "./identity-graph.js";
28
28
 
29
29
  const coercePublicKey = (publicKey: PublicSignKey | PeerId) => {
@@ -137,11 +137,12 @@ export class TrustedNetwork extends Program<TrustedNetworkArgs> {
137
137
 
138
138
  constructor(props: { id?: Uint8Array; rootTrust: PublicSignKey | PeerId }) {
139
139
  super();
140
- this.trustGraph = createIdentityGraphStore(props.id);
141
140
  this.rootTrust = coercePublicKey(props.rootTrust);
141
+ this.trustGraph = createIdentityGraphStore(props.id);
142
142
  }
143
143
 
144
144
  async open(options?: TrustedNetworkArgs) {
145
+ this.trustGraph = this.trustGraph || createIdentityGraphStore();
145
146
  await this.trustGraph.open({
146
147
  type: IdentityRelation,
147
148
  canPerform: this.canPerform.bind(this),
@@ -167,7 +168,8 @@ export class TrustedNetwork extends Program<TrustedNetworkArgs> {
167
168
 
168
169
  async add(
169
170
  trustee: PublicSignKey | PeerId,
170
- ): Promise<IdentityRelation | undefined> {
171
+ options?: AppendOptions<Operation>,
172
+ ) {
171
173
  const key =
172
174
  trustee instanceof PublicSignKey
173
175
  ? trustee
@@ -182,7 +184,7 @@ export class TrustedNetwork extends Program<TrustedNetworkArgs> {
182
184
  to: key,
183
185
  from: this.node.identity.publicKey,
184
186
  });
185
- await this.trustGraph.put(relation);
187
+ await this.trustGraph!.put(relation);
186
188
  return relation;
187
189
  }
188
190
  return existingRelation;
@@ -198,10 +200,10 @@ export class TrustedNetwork extends Program<TrustedNetworkArgs> {
198
200
  trustee: PublicSignKey | PeerId,
199
201
  truster: PublicSignKey | PeerId = this.rootTrust,
200
202
  ) {
201
- return getRelation(
202
- coercePublicKey(truster),
203
+ return resolveRelation(
203
204
  coercePublicKey(trustee),
204
- this.trustGraph,
205
+ coercePublicKey(truster),
206
+ this.trustGraph!,
205
207
  );
206
208
  }
207
209