@peerbit/trusted-network 2.0.4 → 2.0.5
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/lib/esm/controller.js +11 -11
- package/lib/esm/controller.js.map +1 -1
- package/lib/esm/identity-graph.js +13 -13
- package/lib/esm/identity-graph.js.map +1 -1
- package/package.json +6 -6
- package/src/controller.ts +11 -11
- package/src/identity-graph.ts +13 -13
package/lib/esm/controller.js
CHANGED
|
@@ -8,10 +8,10 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
8
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
9
|
};
|
|
10
10
|
import { field, serialize, variant } from "@dao-xyz/borsh";
|
|
11
|
-
import { SearchRequest, Documents, PutOperation, Replicator
|
|
11
|
+
import { SearchRequest, Documents, PutOperation, Replicator } from "@peerbit/document";
|
|
12
12
|
import { PublicSignKey, getPublicKeyFromPeerId } from "@peerbit/crypto";
|
|
13
13
|
import { DeleteOperation } from "@peerbit/document";
|
|
14
|
-
import { IdentityRelation, createIdentityGraphStore, getPathGenerator, hasPath, getFromByTo, getToByFrom, getRelation
|
|
14
|
+
import { IdentityRelation, createIdentityGraphStore, getPathGenerator, hasPath, getFromByTo, getToByFrom, getRelation } from "./identity-graph.js";
|
|
15
15
|
import { Program } from "@peerbit/program";
|
|
16
16
|
import { sha256Base64Sync } from "@peerbit/crypto";
|
|
17
17
|
const coercePublicKey = (publicKey) => {
|
|
@@ -79,17 +79,17 @@ export let IdentityGraph = class IdentityGraph extends Program {
|
|
|
79
79
|
fields: (obj, _entry) => {
|
|
80
80
|
return {
|
|
81
81
|
from: obj.from.hashcode(),
|
|
82
|
-
to: obj.to.hashcode()
|
|
82
|
+
to: obj.to.hashcode()
|
|
83
83
|
};
|
|
84
|
-
}
|
|
85
|
-
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
86
|
});
|
|
87
87
|
}
|
|
88
88
|
async addRelation(to, options) {
|
|
89
89
|
/* trustee = PublicKey.from(trustee); */
|
|
90
90
|
await this.relationGraph.put(new IdentityRelation({
|
|
91
91
|
to: coercePublicKey(to),
|
|
92
|
-
from: options?.identity?.publicKey || this.node.identity.publicKey
|
|
92
|
+
from: options?.identity?.publicKey || this.node.identity.publicKey
|
|
93
93
|
}), options);
|
|
94
94
|
}
|
|
95
95
|
};
|
|
@@ -119,10 +119,10 @@ export let TrustedNetwork = class TrustedNetwork extends Program {
|
|
|
119
119
|
fields: (obj, _entry) => {
|
|
120
120
|
return {
|
|
121
121
|
from: obj.from.hashcode(),
|
|
122
|
-
to: obj.to.hashcode()
|
|
122
|
+
to: obj.to.hashcode()
|
|
123
123
|
};
|
|
124
|
-
}
|
|
125
|
-
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
126
|
}); // self referencing access controller
|
|
127
127
|
}
|
|
128
128
|
async canPerform(operation, context) {
|
|
@@ -139,7 +139,7 @@ export let TrustedNetwork = class TrustedNetwork extends Program {
|
|
|
139
139
|
if (!existingRelation) {
|
|
140
140
|
const relation = new IdentityRelation({
|
|
141
141
|
to: key,
|
|
142
|
-
from: this.node.identity.publicKey
|
|
142
|
+
from: this.node.identity.publicKey
|
|
143
143
|
});
|
|
144
144
|
await this.trustGraph.put(relation);
|
|
145
145
|
return relation;
|
|
@@ -171,7 +171,7 @@ export let TrustedNetwork = class TrustedNetwork extends Program {
|
|
|
171
171
|
}
|
|
172
172
|
else {
|
|
173
173
|
this.trustGraph.index.search(new SearchRequest({ query: [] }), {
|
|
174
|
-
remote: { sync: true }
|
|
174
|
+
remote: { sync: true }
|
|
175
175
|
});
|
|
176
176
|
return this._isTrustedLocal(trustee, truster);
|
|
177
177
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/controller.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAe,KAAK,EAAE,SAAS,EAAE,OAAO,EAAO,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EACN,aAAa,EACb,SAAS,EAET,YAAY,EACZ,UAAU,
|
|
1
|
+
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
};
|
|
10
10
|
var IdentityRelation_1;
|
|
11
11
|
import { field, fixedArray, serialize, variant } from "@dao-xyz/borsh";
|
|
12
|
-
import { Documents, DocumentIndex, SearchRequest, StringMatch
|
|
12
|
+
import { Documents, DocumentIndex, SearchRequest, StringMatch } from "@peerbit/document";
|
|
13
13
|
import { PublicSignKey } from "@peerbit/crypto";
|
|
14
14
|
import { concat } from "uint8arrays";
|
|
15
15
|
import { RPC } from "@peerbit/rpc";
|
|
@@ -20,15 +20,15 @@ export const getFromByTo = {
|
|
|
20
20
|
query: [
|
|
21
21
|
new StringMatch({
|
|
22
22
|
key: "to",
|
|
23
|
-
value: to.hashcode()
|
|
24
|
-
})
|
|
25
|
-
]
|
|
23
|
+
value: to.hashcode()
|
|
24
|
+
})
|
|
25
|
+
]
|
|
26
26
|
}), {
|
|
27
27
|
local: true,
|
|
28
|
-
remote: false
|
|
28
|
+
remote: false
|
|
29
29
|
}));
|
|
30
30
|
},
|
|
31
|
-
next: (relation) => relation.from
|
|
31
|
+
next: (relation) => relation.from
|
|
32
32
|
};
|
|
33
33
|
export const getToByFrom = {
|
|
34
34
|
resolve: async (from, db) => {
|
|
@@ -36,15 +36,15 @@ export const getToByFrom = {
|
|
|
36
36
|
query: [
|
|
37
37
|
new StringMatch({
|
|
38
38
|
key: "from",
|
|
39
|
-
value: from.hashcode()
|
|
40
|
-
})
|
|
41
|
-
]
|
|
39
|
+
value: from.hashcode()
|
|
40
|
+
})
|
|
41
|
+
]
|
|
42
42
|
}), {
|
|
43
43
|
local: true,
|
|
44
|
-
remote: false
|
|
44
|
+
remote: false
|
|
45
45
|
}));
|
|
46
46
|
},
|
|
47
|
-
next: (relation) => relation.to
|
|
47
|
+
next: (relation) => relation.to
|
|
48
48
|
};
|
|
49
49
|
export async function* getPathGenerator(from, db, resolver) {
|
|
50
50
|
let iter = [from];
|
|
@@ -144,8 +144,8 @@ export const getRelation = async (from, to, db) => {
|
|
|
144
144
|
};
|
|
145
145
|
export const createIdentityGraphStore = (id) => new Documents({
|
|
146
146
|
index: new DocumentIndex({
|
|
147
|
-
query: new RPC()
|
|
147
|
+
query: new RPC()
|
|
148
148
|
}),
|
|
149
|
-
id
|
|
149
|
+
id
|
|
150
150
|
});
|
|
151
151
|
//# sourceMappingURL=identity-graph.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity-graph.js","sourceRoot":"","sources":["../../src/identity-graph.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EACN,SAAS,EACT,aAAa,EACb,aAAa,EACb,WAAW,
|
|
1
|
+
{"version":3,"file":"identity-graph.js","sourceRoot":"","sources":["../../src/identity-graph.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@peerbit/trusted-network",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.5",
|
|
4
4
|
"description": "Access controller that operates on a DB",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -31,13 +31,13 @@
|
|
|
31
31
|
"license": "MIT",
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"@dao-xyz/borsh": "^5.1.5",
|
|
34
|
-
"@peerbit/crypto": "1.0.
|
|
35
|
-
"@peerbit/document": "3.0.
|
|
34
|
+
"@peerbit/crypto": "1.0.6",
|
|
35
|
+
"@peerbit/document": "3.0.5"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@ethersproject/wallet": "^5.7.0",
|
|
39
|
-
"@peerbit/test-utils": "^1.0.
|
|
40
|
-
"@peerbit/time": "1.0.
|
|
39
|
+
"@peerbit/test-utils": "^1.0.20",
|
|
40
|
+
"@peerbit/time": "1.0.3"
|
|
41
41
|
},
|
|
42
|
-
"gitHead": "
|
|
42
|
+
"gitHead": "0cfa376bc90c31e1063ddaf5435c828b490e0228"
|
|
43
43
|
}
|
package/src/controller.ts
CHANGED
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
Replicator,
|
|
8
8
|
Role,
|
|
9
9
|
CanRead,
|
|
10
|
-
TransactionContext
|
|
10
|
+
TransactionContext
|
|
11
11
|
} from "@peerbit/document";
|
|
12
12
|
import { AppendOptions, Entry } from "@peerbit/log";
|
|
13
13
|
import { PublicSignKey, getPublicKeyFromPeerId } from "@peerbit/crypto";
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
getFromByTo,
|
|
21
21
|
getToByFrom,
|
|
22
22
|
getRelation,
|
|
23
|
-
AbstractRelation
|
|
23
|
+
AbstractRelation
|
|
24
24
|
} from "./identity-graph.js";
|
|
25
25
|
import { Program } from "@peerbit/program";
|
|
26
26
|
import { sha256Base64Sync } from "@peerbit/crypto";
|
|
@@ -112,10 +112,10 @@ export class IdentityGraph extends Program<IdentityGraphArgs> {
|
|
|
112
112
|
fields: (obj, _entry) => {
|
|
113
113
|
return {
|
|
114
114
|
from: obj.from.hashcode(),
|
|
115
|
-
to: obj.to.hashcode()
|
|
115
|
+
to: obj.to.hashcode()
|
|
116
116
|
};
|
|
117
|
-
}
|
|
118
|
-
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
119
|
});
|
|
120
120
|
}
|
|
121
121
|
|
|
@@ -127,7 +127,7 @@ export class IdentityGraph extends Program<IdentityGraphArgs> {
|
|
|
127
127
|
await this.relationGraph.put(
|
|
128
128
|
new IdentityRelation({
|
|
129
129
|
to: coercePublicKey(to),
|
|
130
|
-
from: options?.identity?.publicKey || this.node.identity.publicKey
|
|
130
|
+
from: options?.identity?.publicKey || this.node.identity.publicKey
|
|
131
131
|
}),
|
|
132
132
|
options
|
|
133
133
|
);
|
|
@@ -164,10 +164,10 @@ export class TrustedNetwork extends Program<TrustedNetworkArgs> {
|
|
|
164
164
|
fields: (obj, _entry) => {
|
|
165
165
|
return {
|
|
166
166
|
from: obj.from.hashcode(),
|
|
167
|
-
to: obj.to.hashcode()
|
|
167
|
+
to: obj.to.hashcode()
|
|
168
168
|
};
|
|
169
|
-
}
|
|
170
|
-
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
171
|
}); // self referencing access controller
|
|
172
172
|
}
|
|
173
173
|
|
|
@@ -199,7 +199,7 @@ export class TrustedNetwork extends Program<TrustedNetworkArgs> {
|
|
|
199
199
|
if (!existingRelation) {
|
|
200
200
|
const relation = new IdentityRelation({
|
|
201
201
|
to: key,
|
|
202
|
-
from: this.node.identity.publicKey
|
|
202
|
+
from: this.node.identity.publicKey
|
|
203
203
|
});
|
|
204
204
|
await this.trustGraph.put(relation);
|
|
205
205
|
return relation;
|
|
@@ -245,7 +245,7 @@ export class TrustedNetwork extends Program<TrustedNetworkArgs> {
|
|
|
245
245
|
return this._isTrustedLocal(trustee, truster);
|
|
246
246
|
} else {
|
|
247
247
|
this.trustGraph.index.search(new SearchRequest({ query: [] }), {
|
|
248
|
-
remote: { sync: true }
|
|
248
|
+
remote: { sync: true }
|
|
249
249
|
});
|
|
250
250
|
return this._isTrustedLocal(trustee, truster);
|
|
251
251
|
}
|
package/src/identity-graph.ts
CHANGED
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
Documents,
|
|
4
4
|
DocumentIndex,
|
|
5
5
|
SearchRequest,
|
|
6
|
-
StringMatch
|
|
6
|
+
StringMatch
|
|
7
7
|
} from "@peerbit/document";
|
|
8
8
|
import { PublicSignKey } from "@peerbit/crypto";
|
|
9
9
|
import { concat } from "uint8arrays";
|
|
@@ -26,18 +26,18 @@ export const getFromByTo: RelationResolver = {
|
|
|
26
26
|
query: [
|
|
27
27
|
new StringMatch({
|
|
28
28
|
key: "to",
|
|
29
|
-
value: to.hashcode()
|
|
30
|
-
})
|
|
31
|
-
]
|
|
29
|
+
value: to.hashcode()
|
|
30
|
+
})
|
|
31
|
+
]
|
|
32
32
|
}),
|
|
33
33
|
{
|
|
34
34
|
local: true,
|
|
35
|
-
remote: false
|
|
35
|
+
remote: false
|
|
36
36
|
}
|
|
37
37
|
)
|
|
38
38
|
);
|
|
39
39
|
},
|
|
40
|
-
next: (relation) => relation.from
|
|
40
|
+
next: (relation) => relation.from
|
|
41
41
|
};
|
|
42
42
|
|
|
43
43
|
export const getToByFrom: RelationResolver = {
|
|
@@ -48,18 +48,18 @@ export const getToByFrom: RelationResolver = {
|
|
|
48
48
|
query: [
|
|
49
49
|
new StringMatch({
|
|
50
50
|
key: "from",
|
|
51
|
-
value: from.hashcode()
|
|
52
|
-
})
|
|
53
|
-
]
|
|
51
|
+
value: from.hashcode()
|
|
52
|
+
})
|
|
53
|
+
]
|
|
54
54
|
}),
|
|
55
55
|
{
|
|
56
56
|
local: true,
|
|
57
|
-
remote: false
|
|
57
|
+
remote: false
|
|
58
58
|
}
|
|
59
59
|
)
|
|
60
60
|
);
|
|
61
61
|
},
|
|
62
|
-
next: (relation) => relation.to
|
|
62
|
+
next: (relation) => relation.to
|
|
63
63
|
};
|
|
64
64
|
|
|
65
65
|
export async function* getPathGenerator(
|
|
@@ -183,7 +183,7 @@ export const getRelation = async (
|
|
|
183
183
|
export const createIdentityGraphStore = (id?: Uint8Array) =>
|
|
184
184
|
new Documents<IdentityRelation>({
|
|
185
185
|
index: new DocumentIndex({
|
|
186
|
-
query: new RPC()
|
|
186
|
+
query: new RPC()
|
|
187
187
|
}),
|
|
188
|
-
id
|
|
188
|
+
id
|
|
189
189
|
});
|