@kynesyslabs/demosdk 1.4.7 → 1.4.9
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/README.md +0 -2
- package/build/demoswork/work.js +1 -1
- package/build/demoswork/work.js.map +1 -1
- package/build/demoswork/workstep.d.ts +4 -52
- package/build/demoswork/workstep.js +21 -66
- package/build/demoswork/workstep.js.map +1 -1
- package/build/l2ps/L2PS.d.ts +2 -0
- package/build/l2ps/L2PS.js +14 -1
- package/build/l2ps/L2PS.js.map +1 -1
- package/build/types/blockchain/blocks.d.ts +6 -1
- package/package.json +1 -1
package/README.md
CHANGED
package/build/demoswork/work.js
CHANGED
|
@@ -50,7 +50,7 @@ class DemosWork {
|
|
|
50
50
|
script.operationOrder = [...script.operationOrder];
|
|
51
51
|
// remove all step outputs
|
|
52
52
|
for (const stepUID in script.steps) {
|
|
53
|
-
|
|
53
|
+
console.log("stepUID", script.steps[stepUID]);
|
|
54
54
|
delete script.steps[stepUID].id;
|
|
55
55
|
}
|
|
56
56
|
// remove all operation uids
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"work.js","sourceRoot":"","sources":["../../../src/demoswork/work.ts"],"names":[],"mappings":";;;AA+EA,0DAcC;AA1FD,qCAA4C;AAG5C,2CAA6C;AAG7C,MAAa,SAAS;IAAtB;QACI,WAAM,GAAe;YACjB,cAAc,EAAE,IAAI,GAAG,EAAU;YACjC,UAAU,EAAE,EAAE;YACd,KAAK,EAAE,EAAE;SACZ,CAAA;QAED,wCAAwC;QACxC,YAAO,GAAwB,EAAE,CAAA;QA2DjC,kEAAkE;IACtE,CAAC;IA1DG,IAAI,CAAC,SAA6B;QAC9B,mBAAmB;QACnB,oCAAoC;QACpC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC;YAChD,SAAS,CAAC,eAAe,CAAA;QAC7B,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;QAE5D,sDAAsD;QACtD,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACzD,CAAC;QAED,2DAA2D;QAC3D,KAAK,MAAM,EAAE,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;YACpC,mBAAmB;YACnB,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,eAAe,CAAA;QACtE,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,MAAkB;QACvB,IAAA,2BAAe,EAAC,MAAM,CAAC,CAAA;IAC3B,CAAC;IAED,QAAQ,CAAC,MAAkB;QACvB,IAAI,SAAS,GAAG,MAAM,CAAA;QACtB,SAAS,CAAC,cAAc,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;QAEzD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,OAAO,IAAI,CAAA;IACf,CAAC;IAED,oBAAoB;IACpB,uCAAuC;IACvC,IAAI;IAEJ,MAAM;QACF,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACxB,mBAAmB;QACnB,uBAAuB;QACvB,MAAM,CAAC,cAAc,GAAG,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC,CAAA;QAElD,0BAA0B;QAC1B,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjC,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"work.js","sourceRoot":"","sources":["../../../src/demoswork/work.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,78 +1,30 @@
|
|
|
1
1
|
import { IWeb2Request, XMScript } from "../types";
|
|
2
2
|
import { INativePayload } from "../types/native";
|
|
3
|
-
import { DataTypes } from "../types/demoswork/datatypes";
|
|
4
3
|
import { StepOutputKey, WorkStepInput } from "../types/demoswork/steps";
|
|
5
4
|
export declare class WorkStep {
|
|
6
5
|
id: string;
|
|
7
6
|
context: string;
|
|
8
7
|
content: WorkStepInput;
|
|
9
|
-
output: {
|
|
10
|
-
[key: string]: StepOutputKey;
|
|
11
|
-
};
|
|
12
8
|
description: string;
|
|
13
9
|
timestamp: number;
|
|
14
10
|
critical: boolean;
|
|
15
11
|
depends_on: string[];
|
|
16
12
|
constructor(payload: WorkStepInput);
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
* @returns The signature
|
|
22
|
-
*/
|
|
23
|
-
execute(): void;
|
|
13
|
+
get output(): {
|
|
14
|
+
[key: string]: StepOutputKey;
|
|
15
|
+
};
|
|
16
|
+
get base_output(): StepOutputKey;
|
|
24
17
|
}
|
|
25
18
|
export declare class Web2WorkStep extends WorkStep {
|
|
26
19
|
context: string;
|
|
27
|
-
output: {
|
|
28
|
-
statusCode: {
|
|
29
|
-
type: DataTypes.work;
|
|
30
|
-
src: {
|
|
31
|
-
self: Web2WorkStep;
|
|
32
|
-
key: string;
|
|
33
|
-
};
|
|
34
|
-
};
|
|
35
|
-
payload: {
|
|
36
|
-
type: DataTypes.work;
|
|
37
|
-
src: {
|
|
38
|
-
key: string;
|
|
39
|
-
self: Web2WorkStep;
|
|
40
|
-
};
|
|
41
|
-
};
|
|
42
|
-
};
|
|
43
20
|
constructor(payload: IWeb2Request);
|
|
44
21
|
}
|
|
45
22
|
export declare class XmWorkStep extends WorkStep {
|
|
46
23
|
context: string;
|
|
47
|
-
output: {
|
|
48
|
-
result: {
|
|
49
|
-
type: DataTypes.work;
|
|
50
|
-
src: {
|
|
51
|
-
self: XmWorkStep;
|
|
52
|
-
key: string;
|
|
53
|
-
};
|
|
54
|
-
};
|
|
55
|
-
hash: {
|
|
56
|
-
type: DataTypes.work;
|
|
57
|
-
src: {
|
|
58
|
-
self: XmWorkStep;
|
|
59
|
-
key: string;
|
|
60
|
-
};
|
|
61
|
-
};
|
|
62
|
-
};
|
|
63
24
|
constructor(payload: XMScript);
|
|
64
25
|
}
|
|
65
26
|
export declare class NativeWorkStep extends WorkStep {
|
|
66
27
|
context: string;
|
|
67
|
-
output: {
|
|
68
|
-
result: {
|
|
69
|
-
type: DataTypes.work;
|
|
70
|
-
src: {
|
|
71
|
-
self: NativeWorkStep;
|
|
72
|
-
key: string;
|
|
73
|
-
};
|
|
74
|
-
};
|
|
75
|
-
};
|
|
76
28
|
constructor(payload: INativePayload);
|
|
77
29
|
}
|
|
78
30
|
export declare function prepareXMStep(xm_payload: XMScript): XmWorkStep;
|
|
@@ -15,30 +15,27 @@ class WorkStep {
|
|
|
15
15
|
this.content = payload;
|
|
16
16
|
this.id = "step_" + (0, utils_1.getNewUID)();
|
|
17
17
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
// }
|
|
40
|
-
execute() {
|
|
41
|
-
// INFO: Send payload or execute web2 request here
|
|
18
|
+
get output() {
|
|
19
|
+
return new Proxy({
|
|
20
|
+
type: datatypes_1.DataTypes.work,
|
|
21
|
+
src: {
|
|
22
|
+
self: this,
|
|
23
|
+
key: "output",
|
|
24
|
+
},
|
|
25
|
+
}, {
|
|
26
|
+
get: (target, prop) => {
|
|
27
|
+
return {
|
|
28
|
+
type: datatypes_1.DataTypes.work,
|
|
29
|
+
src: {
|
|
30
|
+
self: this,
|
|
31
|
+
key: `output.${String(prop)}`,
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
},
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
get base_output() {
|
|
38
|
+
return this.output;
|
|
42
39
|
}
|
|
43
40
|
}
|
|
44
41
|
exports.WorkStep = WorkStep;
|
|
@@ -46,22 +43,6 @@ class Web2WorkStep extends WorkStep {
|
|
|
46
43
|
constructor(payload) {
|
|
47
44
|
super(payload);
|
|
48
45
|
this.context = "web2";
|
|
49
|
-
this.output = {
|
|
50
|
-
statusCode: {
|
|
51
|
-
type: datatypes_1.DataTypes.work,
|
|
52
|
-
src: {
|
|
53
|
-
self: this,
|
|
54
|
-
key: "output.statusCode",
|
|
55
|
-
},
|
|
56
|
-
},
|
|
57
|
-
payload: {
|
|
58
|
-
type: datatypes_1.DataTypes.work,
|
|
59
|
-
src: {
|
|
60
|
-
key: "output.payload",
|
|
61
|
-
self: this,
|
|
62
|
-
},
|
|
63
|
-
},
|
|
64
|
-
};
|
|
65
46
|
}
|
|
66
47
|
}
|
|
67
48
|
exports.Web2WorkStep = Web2WorkStep;
|
|
@@ -69,23 +50,6 @@ class XmWorkStep extends WorkStep {
|
|
|
69
50
|
constructor(payload) {
|
|
70
51
|
super(payload);
|
|
71
52
|
this.context = "xm";
|
|
72
|
-
this.output = {
|
|
73
|
-
// REVIEW: What result fields do developers need?
|
|
74
|
-
result: {
|
|
75
|
-
type: datatypes_1.DataTypes.work,
|
|
76
|
-
src: {
|
|
77
|
-
self: this,
|
|
78
|
-
key: "output.result",
|
|
79
|
-
},
|
|
80
|
-
},
|
|
81
|
-
hash: {
|
|
82
|
-
type: datatypes_1.DataTypes.work,
|
|
83
|
-
src: {
|
|
84
|
-
self: this,
|
|
85
|
-
key: "output.hash",
|
|
86
|
-
},
|
|
87
|
-
},
|
|
88
|
-
};
|
|
89
53
|
}
|
|
90
54
|
}
|
|
91
55
|
exports.XmWorkStep = XmWorkStep;
|
|
@@ -93,15 +57,6 @@ class NativeWorkStep extends WorkStep {
|
|
|
93
57
|
constructor(payload) {
|
|
94
58
|
super(payload);
|
|
95
59
|
this.context = "native";
|
|
96
|
-
this.output = {
|
|
97
|
-
result: {
|
|
98
|
-
type: datatypes_1.DataTypes.work,
|
|
99
|
-
src: {
|
|
100
|
-
self: this,
|
|
101
|
-
key: "output.result",
|
|
102
|
-
},
|
|
103
|
-
},
|
|
104
|
-
};
|
|
105
60
|
}
|
|
106
61
|
}
|
|
107
62
|
exports.NativeWorkStep = NativeWorkStep;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workstep.js","sourceRoot":"","sources":["../../../src/demoswork/workstep.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"workstep.js","sourceRoot":"","sources":["../../../src/demoswork/workstep.ts"],"names":[],"mappings":";;;AA8EA,sCAEC;AAED,0CAqBC;AAED,8CAEC;AAvGD,mCAAmC;AAEnC,qCAAoC;AAGpC,2DAAuD;AAGvD,MAAa,QAAQ;IASjB,YAAY,OAAsB;QAJlC,cAAS,GAAW,IAAI,CAAC,GAAG,EAAE,CAAA;QAC9B,aAAQ,GAAY,KAAK,CAAA;QACzB,eAAU,GAAa,EAAE,CAAA;QAGrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,EAAE,GAAG,OAAO,GAAG,IAAA,iBAAS,GAAE,CAAA;IACnC,CAAC;IAED,IAAI,MAAM;QACN,OAAO,IAAI,KAAK,CACZ;YACI,IAAI,EAAE,qBAAS,CAAC,IAAI;YACpB,GAAG,EAAE;gBACD,IAAI,EAAE,IAAI;gBACV,GAAG,EAAE,QAAQ;aAChB;SACG,EACR;YACI,GAAG,EAAE,CAAC,MAAM,EAAE,IAAqB,EAAE,EAAE;gBACnC,OAAO;oBACH,IAAI,EAAE,qBAAS,CAAC,IAAI;oBACpB,GAAG,EAAE;wBACD,IAAI,EAAE,IAAI;wBACV,GAAG,EAAE,UAAU,MAAM,CAAC,IAAI,CAAC,EAAE;qBAChC;iBACJ,CAAA;YACL,CAAC;SACJ,CACJ,CAAA;IACL,CAAC;IACD,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,MAAkC,CAAA;IAClD,CAAC;CACJ;AAvCD,4BAuCC;AAED,MAAa,YAAa,SAAQ,QAAQ;IAGtC,YAAY,OAAqB;QAC7B,KAAK,CAAC,OAAO,CAAC,CAAA;QAHT,YAAO,GAAG,MAAM,CAAA;IAIzB,CAAC;CACJ;AAND,oCAMC;AAED,MAAa,UAAW,SAAQ,QAAQ;IAGpC,YAAY,OAAiB;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QAHT,YAAO,GAAG,IAAI,CAAA;IAIvB,CAAC;CACJ;AAND,gCAMC;AAED,MAAa,cAAe,SAAQ,QAAQ;IAGxC,YAAY,OAAuB;QAC/B,KAAK,CAAC,OAAO,CAAC,CAAA;QAHT,YAAO,GAAG,QAAQ,CAAA;IAI3B,CAAC;CACJ;AAND,wCAMC;AAED,6BAA6B;AAC7B,SAAgB,aAAa,CAAC,UAAoB;IAC9C,OAAO,IAAI,UAAU,CAAC,UAAU,CAAC,CAAA;AACrC,CAAC;AAED,SAAgB,eAAe,CAAC,EAC5B,MAAM,GAAG,KAAK,EACd,GAAG,GAAG,uBAAuB,EAC7B,UAAU,GAAG,EAAE,EACf,mBAAmB,GAAG,IAAI,EAC1B,OAAO,GAAG,IAAI,EACd,eAAe,GAAG,CAAC,GACtB;IACG,6CAA6C;IAC7C,MAAM,YAAY,GAAiB,eAAe,CAAC,kBAAS,CAAC,YAAY,CAAC,CAAA;IAC1E,YAAY,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAA;IAChC,YAAY,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAA;IAC1B,YAAY,CAAC,GAAG,CAAC,UAAU,GAAG,UAAU,CAAA;IACxC,YAAY,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAA;IAClC,YAAY,CAAC,GAAG,CAAC,eAAe,GAAG,eAAe,CAAA;IAClD,uCAAuC;IACvC,YAAY,CAAC,YAAY,GAAG,IAAI,GAAG,EAAE,CAAA;IACrC,YAAY,CAAC,IAAI,GAAG,EAAE,CAAA;IACtB,YAAY,CAAC,SAAS,GAAG,EAAE,CAAA;IAC3B,YAAY,CAAC,MAAM,GAAG,EAAE,CAAA;IACxB,OAAO,IAAI,YAAY,CAAC,YAAY,CAAC,CAAA;AACzC,CAAC;AAED,SAAgB,iBAAiB,CAAC,cAA8B;IAC5D,OAAO,IAAI,cAAc,CAAC,cAAc,CAAC,CAAA;AAC7C,CAAC"}
|
package/build/l2ps/L2PS.d.ts
CHANGED
|
@@ -6,8 +6,10 @@ export default class L2PS {
|
|
|
6
6
|
uid: forge.pki.rsa.PublicKey;
|
|
7
7
|
pam: string;
|
|
8
8
|
decryptionKey: forge.pki.rsa.PrivateKey;
|
|
9
|
+
partecipatingNodes: Map<string, string>;
|
|
9
10
|
encryptedTransactions: Map<string, EncryptedTransaction>;
|
|
10
11
|
constructor();
|
|
12
|
+
getPartecipatingNodes(): Promise<Map<string, string>>;
|
|
11
13
|
getEncryptedTransactions(blockNumber: number): Promise<EncryptedTransaction[]>;
|
|
12
14
|
getEncryptedTransaction(eHash: string): Promise<EncryptedTransaction>;
|
|
13
15
|
private encryptTx;
|
package/build/l2ps/L2PS.js
CHANGED
|
@@ -28,8 +28,9 @@ const forge = __importStar(require("node-forge"));
|
|
|
28
28
|
const encryption_1 = require("../encryption");
|
|
29
29
|
const websdk_1 = require("../websdk");
|
|
30
30
|
class L2PS {
|
|
31
|
-
// TODO Add encryptedTransactions to the Block class and edit the db consequently
|
|
32
31
|
constructor() {
|
|
32
|
+
// This will be retrieved from the db (blocks)
|
|
33
|
+
this.partecipatingNodes = new Map(); // ? Map<publicKey, connectionstring (as in Peer)>
|
|
33
34
|
// Transactions that belong to the L2PS (hash -> transaction)
|
|
34
35
|
this.encryptedTransactions = new Map();
|
|
35
36
|
let rsaKeyPair = forge.pki.rsa.generateKeyPair({ bits: 2048, e: 0x10001 });
|
|
@@ -38,6 +39,18 @@ class L2PS {
|
|
|
38
39
|
this.pam = forge.pki.publicKeyToRSAPublicKeyPem(this.uid);
|
|
39
40
|
this.decryptionKey = rsaKeyPair.privateKey;
|
|
40
41
|
}
|
|
42
|
+
// SECTION L2PS methods
|
|
43
|
+
async getPartecipatingNodes() {
|
|
44
|
+
var lastBlockResponse = await websdk_1.demos.nodeCall("getLastBlock", {});
|
|
45
|
+
var lastBlock = lastBlockResponse.response;
|
|
46
|
+
// REVIEW Is toString() the correct way to convert the public key to string?
|
|
47
|
+
this.partecipatingNodes = lastBlock.content.l2ps_partecipating_nodes[this.uid.toString()];
|
|
48
|
+
return this.partecipatingNodes;
|
|
49
|
+
}
|
|
50
|
+
// ! TODO Add a method to set the partecipating nodes
|
|
51
|
+
// The above method should be authorized through an encrypted message: if decryption succeeds, then the node is authorized to enter in the partecipating nodes
|
|
52
|
+
// ? The above method does not take into account the public key of the node, it should be added (bans and so on)
|
|
53
|
+
// ! TODO Add a method to create a new L2PS with a new set of partecipating nodes
|
|
41
54
|
// SECTION Control methods
|
|
42
55
|
// REVIEW See if it works based on the below // ?
|
|
43
56
|
async getEncryptedTransactions(blockNumber) {
|
package/build/l2ps/L2PS.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"L2PS.js","sourceRoot":"","sources":["../../../src/l2ps/L2PS.ts"],"names":[],"mappings":";AAAA,sCAAsC;;;;;;;;;;;;;;;;;;;;;;;;;AAEtC,kDAAmC;AAInC,6CAAuC;AACvC,qCAAiC;AAEjC,MAAqB,IAAI;
|
|
1
|
+
{"version":3,"file":"L2PS.js","sourceRoot":"","sources":["../../../src/l2ps/L2PS.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,12 +3,17 @@ import { EncryptedTransaction } from "./encryptedTransaction";
|
|
|
3
3
|
import { IPeer } from "../peers/Peer";
|
|
4
4
|
export interface BlockContent {
|
|
5
5
|
ordered_transactions: string[];
|
|
6
|
-
encrypted_transactions: EncryptedTransaction[];
|
|
7
6
|
per_address_transactions: Map<string, string[]>;
|
|
8
7
|
web2data: {};
|
|
9
8
|
previousHash: string;
|
|
10
9
|
timestamp: number;
|
|
11
10
|
peerlist: IPeer[];
|
|
11
|
+
l2ps_partecipating_nodes: Map<string, Map<string, string>>;
|
|
12
|
+
l2ps_banned_nodes: Map<string, string>;
|
|
13
|
+
encrypted_transactions_hashes: Map<string, string>;
|
|
14
|
+
}
|
|
15
|
+
export interface L2PSBlockExtension extends BlockContent {
|
|
16
|
+
l2ps_transactions: EncryptedTransaction[];
|
|
12
17
|
}
|
|
13
18
|
export interface Block {
|
|
14
19
|
number: number;
|