@kynesyslabs/demosdk 1.3.0 → 1.4.0

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.
Files changed (74) hide show
  1. package/build/demoswork/executor/index.d.ts +2 -0
  2. package/build/demoswork/executor/index.js +21 -0
  3. package/build/demoswork/executor/index.js.map +1 -0
  4. package/build/demoswork/executor/stepexecutor.d.ts +18 -0
  5. package/build/demoswork/executor/stepexecutor.js +53 -0
  6. package/build/demoswork/executor/stepexecutor.js.map +1 -0
  7. package/build/demoswork/index.d.ts +8 -0
  8. package/build/demoswork/index.js +27 -0
  9. package/build/demoswork/index.js.map +1 -0
  10. package/build/demoswork/operations/baseoperation.d.ts +9 -0
  11. package/build/demoswork/operations/baseoperation.js +24 -0
  12. package/build/demoswork/operations/baseoperation.js.map +1 -0
  13. package/build/demoswork/operations/conditional/condition.d.ts +27 -0
  14. package/build/demoswork/operations/conditional/condition.js +54 -0
  15. package/build/demoswork/operations/conditional/condition.js.map +1 -0
  16. package/build/demoswork/operations/conditional/index.d.ts +31 -0
  17. package/build/demoswork/operations/conditional/index.js +108 -0
  18. package/build/demoswork/operations/conditional/index.js.map +1 -0
  19. package/build/demoswork/operations/index.d.ts +21 -0
  20. package/build/demoswork/operations/index.js +52 -0
  21. package/build/demoswork/operations/index.js.map +1 -0
  22. package/build/demoswork/utils/createTestWorkScript.d.ts +2 -0
  23. package/build/demoswork/utils/createTestWorkScript.js +55 -0
  24. package/build/demoswork/utils/createTestWorkScript.js.map +1 -0
  25. package/build/demoswork/utils/index.d.ts +21 -0
  26. package/build/demoswork/utils/index.js +61 -0
  27. package/build/demoswork/utils/index.js.map +1 -0
  28. package/build/demoswork/validator/index.d.ts +7 -0
  29. package/build/demoswork/validator/index.js +16 -0
  30. package/build/demoswork/validator/index.js.map +1 -0
  31. package/build/demoswork/validator/steps.validator.d.ts +8 -0
  32. package/build/demoswork/validator/steps.validator.js +77 -0
  33. package/build/demoswork/validator/steps.validator.js.map +1 -0
  34. package/build/demoswork/work.d.ts +14 -0
  35. package/build/demoswork/work.js +81 -0
  36. package/build/demoswork/work.js.map +1 -0
  37. package/build/demoswork/workstep.d.ts +82 -0
  38. package/build/demoswork/workstep.js +133 -0
  39. package/build/demoswork/workstep.js.map +1 -0
  40. package/build/index.d.ts +7 -6
  41. package/build/index.js +2 -1
  42. package/build/index.js.map +1 -1
  43. package/build/multichain/core/ibc.js +2 -0
  44. package/build/multichain/core/ibc.js.map +1 -1
  45. package/build/types/blockchain/Transaction.d.ts +9 -22
  46. package/build/types/blockchain/ValidityData.js +2 -6
  47. package/build/types/blockchain/ValidityData.js.map +1 -1
  48. package/build/types/communication/demosWork.d.ts +6 -6
  49. package/build/types/demoswork/datatypes.d.ts +6 -0
  50. package/build/types/demoswork/datatypes.js +10 -0
  51. package/build/types/demoswork/datatypes.js.map +1 -0
  52. package/build/types/demoswork/index.d.ts +16 -0
  53. package/build/types/demoswork/index.js +3 -0
  54. package/build/types/demoswork/index.js.map +1 -0
  55. package/build/types/demoswork/operations.d.ts +48 -0
  56. package/build/types/demoswork/operations.js +3 -0
  57. package/build/types/demoswork/operations.js.map +1 -0
  58. package/build/types/demoswork/steps.d.ts +71 -0
  59. package/build/types/demoswork/steps.js +21 -0
  60. package/build/types/demoswork/steps.js.map +1 -0
  61. package/build/types/index.d.ts +13 -11
  62. package/build/types/index.js +6 -1
  63. package/build/types/index.js.map +1 -1
  64. package/build/types/native/index.d.ts +9 -0
  65. package/build/types/native/index.js +3 -0
  66. package/build/types/native/index.js.map +1 -0
  67. package/build/utils/pprint.d.ts +5 -0
  68. package/build/utils/pprint.js +17 -0
  69. package/build/utils/pprint.js.map +1 -0
  70. package/build/websdk/XMTransactions.js +1 -3
  71. package/build/websdk/XMTransactions.js.map +1 -1
  72. package/build/websdk/utils/skeletons.js +2 -0
  73. package/build/websdk/utils/skeletons.js.map +1 -1
  74. package/package.json +5 -5
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getNewUID = getNewUID;
4
+ exports.getValue = getValue;
5
+ exports.compare = compare;
6
+ function getNewUID() {
7
+ return crypto.randomUUID().replaceAll("-", "");
8
+ }
9
+ /**
10
+ * Get the value of a property given a path in an object.
11
+ * The path should be a string of property names separated by dots.
12
+ *
13
+ * @param obj The object to traverse
14
+ * @param path The path of the property to get
15
+ * @returns The value of the property at the path
16
+ *
17
+ * @example getValue(myObject, "nested.property")
18
+ */
19
+ function getValue(obj, path) {
20
+ // Split the path string into an array of property names
21
+ const properties = path.split(".");
22
+ // Traverse the object using the property names
23
+ let value = obj;
24
+ for (const prop of properties) {
25
+ if (value && typeof value === "object") {
26
+ value = value[prop];
27
+ }
28
+ else {
29
+ return undefined; // Return undefined if the property doesn't exist
30
+ }
31
+ }
32
+ return value;
33
+ }
34
+ /**
35
+ * Compare two values using the specified operator
36
+ *
37
+ * @param a First value
38
+ * @param b Second value
39
+ * @param operator Comparison operator
40
+ * @returns The result of the comparison (boolean)
41
+ */
42
+ function compare(a, b, operator, validate_only = false) {
43
+ const operations = {
44
+ ">": (a, b) => a > b,
45
+ ">=": (a, b) => a >= b,
46
+ "<": (a, b) => a < b,
47
+ "<=": (a, b) => a <= b,
48
+ "==": (a, b) => a == b,
49
+ "===": (a, b) => a === b,
50
+ "!=": (a, b) => a != b,
51
+ "!==": (a, b) => a !== b,
52
+ };
53
+ if (!operations.hasOwnProperty(operator)) {
54
+ throw new Error("Invalid operator:" + operator);
55
+ }
56
+ if (validate_only) {
57
+ return true;
58
+ }
59
+ return operations[operator](a, b);
60
+ }
61
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/demoswork/utils/index.ts"],"names":[],"mappings":";;AAAA,8BAEC;AAYD,4BAgBC;AAUD,0BA0BC;AAlED,SAAgB,SAAS;IACrB,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;AAClD,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,QAAQ,CAAC,GAAW,EAAE,IAAY;IAC9C,wDAAwD;IACxD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAElC,+CAA+C;IAC/C,IAAI,KAAK,GAAG,GAAG,CAAA;IAEf,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC5B,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;QACvB,CAAC;aAAM,CAAC;YACJ,OAAO,SAAS,CAAA,CAAC,iDAAiD;QACtE,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAA;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,OAAO,CACnB,CAAM,EACN,CAAM,EACN,QAAgB,EAChB,gBAAyB,KAAK;IAE9B,MAAM,UAAU,GAAG;QACf,GAAG,EAAE,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC;QAC9B,IAAI,EAAE,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;QAChC,GAAG,EAAE,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC;QAC9B,IAAI,EAAE,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;QAChC,IAAI,EAAE,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;QAChC,KAAK,EAAE,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC;QAClC,IAAI,EAAE,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;QAChC,KAAK,EAAE,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC;KACrC,CAAA;IAED,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,QAAQ,CAAC,CAAA;IACnD,CAAC;IAED,IAAI,aAAa,EAAE,CAAC;QAChB,OAAO,IAAI,CAAA;IACf,CAAC;IAED,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AACrC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { DemoScript } from "../../types/demoswork";
2
+ /**
3
+ * Validates a work script. Checks for common errors.
4
+ *
5
+ * @param work The work script to validate
6
+ */
7
+ export declare function runSanityChecks(script: DemoScript): void;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runSanityChecks = runSanityChecks;
4
+ const steps_validator_1 = require("./steps.validator");
5
+ /**
6
+ * Validates a work script. Checks for common errors.
7
+ *
8
+ * @param work The work script to validate
9
+ */
10
+ function runSanityChecks(script) {
11
+ (0, steps_validator_1.noUnusedSteps)(script);
12
+ // TODO: Add check to ensure operation reference order does not conflict with
13
+ // defined operations order in the final script
14
+ // TODO: Check for circular references!
15
+ }
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/demoswork/validator/index.ts"],"names":[],"mappings":";;AAQA,0CAKC;AAZD,uDAAkD;AAElD;;;;GAIG;AACH,SAAgB,eAAe,CAAC,MAAkB;IAC9C,IAAA,+BAAa,EAAC,MAAM,CAAC,CAAA;IACrB,6EAA6E;IAC7E,+CAA+C;IAC/C,uCAAuC;AAC3C,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { DemoScript } from "../../types/demoswork";
2
+ /**
3
+ * Assert that all steps in the script are consumed by operations
4
+ *
5
+ * @param script The work script to validate
6
+ * @returns true if all steps are used, false otherwise
7
+ */
8
+ export declare function noUnusedSteps(script: DemoScript): void;
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.noUnusedSteps = noUnusedSteps;
4
+ const types_1 = require("../../types");
5
+ function getMappedScriptSteps(script) {
6
+ // return a map of step ids mapped to their descriptions
7
+ return new Map(Object.keys(script.steps).map(step => [
8
+ step,
9
+ script.steps[step].description,
10
+ ]));
11
+ }
12
+ function getConditionalScriptSteps(script) {
13
+ let steps = new Set();
14
+ // INFO: Loop through all conditions and add the step to the set
15
+ script.conditions.forEach(condition => {
16
+ const parseValue = (value) => {
17
+ if (value &&
18
+ value.type === types_1.DataTypes.internal &&
19
+ value.workUID.startsWith("step_")) {
20
+ steps.add(value.workUID);
21
+ }
22
+ };
23
+ parseValue(condition.value_a);
24
+ parseValue(condition.value_b);
25
+ if (condition.work && condition.work.startsWith("step_")) {
26
+ steps.add(condition.work);
27
+ }
28
+ });
29
+ return steps;
30
+ }
31
+ function catchNotIncluded(steps, scriptSteps, message = "") {
32
+ let diff = new Set(Array.from(steps).filter(x => !scriptSteps.has(x)));
33
+ if (diff.size > 0) {
34
+ throw new Error(`Steps ${[...diff]} not included in final script - ${message}`);
35
+ }
36
+ }
37
+ function extractStepsFromOperation(operation, scriptSteps) {
38
+ let steps = new Set();
39
+ switch (operation.operationType) {
40
+ case "conditional":
41
+ let conditionalSteps = getConditionalScriptSteps(operation);
42
+ steps = new Set([...steps, ...conditionalSteps]);
43
+ break;
44
+ case "base":
45
+ let baseSteps = new Set(operation.work.filter(step => step.startsWith("step_")));
46
+ steps = new Set([...steps, ...baseSteps]);
47
+ break;
48
+ }
49
+ catchNotIncluded(steps, scriptSteps, `${operation.operationType} - ${operation.id}`);
50
+ return steps;
51
+ }
52
+ function collectAllSteps(script, scriptSteps) {
53
+ let steps = new Set();
54
+ Object.keys(script.operations).forEach(opUID => {
55
+ let operation = script.operations[opUID];
56
+ steps = extractStepsFromOperation(operation, scriptSteps);
57
+ });
58
+ return steps;
59
+ }
60
+ /**
61
+ * Assert that all steps in the script are consumed by operations
62
+ *
63
+ * @param script The work script to validate
64
+ * @returns true if all steps are used, false otherwise
65
+ */
66
+ function noUnusedSteps(script) {
67
+ // NOTES: Collect all steps in the script
68
+ // and compare them to the script steps
69
+ let scriptSteps = getMappedScriptSteps(script);
70
+ let steps = collectAllSteps(script, scriptSteps);
71
+ for (const id of scriptSteps.keys()) {
72
+ if (!steps.has(id)) {
73
+ throw new Error(`Step ${scriptSteps.get(id) || id} not used in script`);
74
+ }
75
+ }
76
+ }
77
+ //# sourceMappingURL=steps.validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"steps.validator.js","sourceRoot":"","sources":["../../../../src/demoswork/validator/steps.validator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { Transaction } from "../types";
2
+ import { DemoScript } from "../types/demoswork";
3
+ import { DemosWorkOperation } from "./operations";
4
+ import { IKeyPair } from "../websdk/types/KeyPair";
5
+ export declare class DemosWork {
6
+ script: DemoScript;
7
+ results: Record<string, any>;
8
+ push(operation: DemosWorkOperation): void;
9
+ validate(script: DemoScript): void;
10
+ fromJSON(script: DemoScript): this;
11
+ execute(): Promise<Record<string, any>>;
12
+ toJSON(): DemoScript;
13
+ }
14
+ export declare function prepareDemosWorkPayload(work: DemosWork, keypair: IKeyPair): Promise<Transaction>;
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.DemosWork = void 0;
7
+ exports.prepareDemosWorkPayload = prepareDemosWorkPayload;
8
+ const websdk_1 = require("../websdk");
9
+ const executor_1 = __importDefault(require("./executor"));
10
+ const validator_1 = require("./validator");
11
+ class DemosWork {
12
+ constructor() {
13
+ this.script = {
14
+ operationOrder: new Set(),
15
+ operations: {},
16
+ steps: {},
17
+ };
18
+ // INFO: Step results indexed by stepUID
19
+ this.results = {};
20
+ // TODO: Add static methods for adding and retrieving step results
21
+ }
22
+ push(operation) {
23
+ // @ts-expect-error
24
+ // INFO: Add operation to the script
25
+ this.script.operations[operation.operationScript.id] =
26
+ operation.operationScript;
27
+ this.script.operationOrder.add(operation.operationScript.id);
28
+ // INFO: Add steps used by the operation to the script
29
+ for (const stepUID in operation.steps) {
30
+ this.script.steps[stepUID] = operation.steps[stepUID];
31
+ }
32
+ // INFO: Add operations used by the operation to the script
33
+ for (const op of operation.operations) {
34
+ // @ts-expect-error
35
+ this.script.operations[op.operationScript.id] = op.operationScript;
36
+ }
37
+ }
38
+ validate(script) {
39
+ (0, validator_1.runSanityChecks)(script);
40
+ }
41
+ fromJSON(script) {
42
+ let newscript = script;
43
+ newscript.operationOrder = new Set(script.operationOrder);
44
+ this.script = script;
45
+ return this;
46
+ }
47
+ async execute() {
48
+ return await (0, executor_1.default)(this);
49
+ }
50
+ toJSON() {
51
+ let script = this.script;
52
+ // @ts-expect-error
53
+ // convert set to array
54
+ script.operationOrder = [...script.operationOrder];
55
+ // remove all step outputs
56
+ for (const stepUID in script.steps) {
57
+ delete script.steps[stepUID].output;
58
+ delete script.steps[stepUID].id;
59
+ }
60
+ // remove all operation uids
61
+ for (const opUID in script.operations) {
62
+ delete script.operations[opUID].id;
63
+ }
64
+ this.validate(script);
65
+ // return JSON.stringify(script)
66
+ return script;
67
+ }
68
+ }
69
+ exports.DemosWork = DemosWork;
70
+ async function prepareDemosWorkPayload(work, keypair) {
71
+ const script = work.toJSON();
72
+ let tx = websdk_1.DemosTransactions.empty();
73
+ tx.content.from = keypair.publicKey;
74
+ tx.content.to = tx.content.from;
75
+ tx.content.type = "demoswork";
76
+ tx.content.data = ["demoswork", script];
77
+ tx.content.timestamp = Date.now();
78
+ tx = await websdk_1.DemosTransactions.sign(tx, keypair);
79
+ return tx;
80
+ }
81
+ //# sourceMappingURL=work.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"work.js","sourceRoot":"","sources":["../../../src/demoswork/work.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ import forge from "node-forge";
2
+ import { IWeb2Request, XMScript } from "../types";
3
+ import { INativePayload } from "../types/native";
4
+ import { DataTypes } from "../types/demoswork/datatypes";
5
+ import { StepOutputKey, WorkStepInput } from "../types/demoswork/steps";
6
+ export declare class WorkStep {
7
+ id: string;
8
+ context: string;
9
+ content: WorkStepInput;
10
+ output: {
11
+ [key: string]: StepOutputKey;
12
+ };
13
+ description: string;
14
+ signature: forge.pki.ed25519.BinaryBuffer;
15
+ timestamp: number;
16
+ constructor(payload: WorkStepInput);
17
+ get hash(): string;
18
+ /**
19
+ * Sign a work step using a private key
20
+ *
21
+ * @param privateKey The private key
22
+ * @returns The signature
23
+ */
24
+ sign(privateKey: forge.pki.ed25519.BinaryBuffer | any): forge.pki.ed25519.NativeBuffer;
25
+ execute(): void;
26
+ }
27
+ export declare class Web2WorkStep extends WorkStep {
28
+ context: string;
29
+ output: {
30
+ statusCode: {
31
+ type: DataTypes.work;
32
+ src: {
33
+ self: Web2WorkStep;
34
+ key: string;
35
+ };
36
+ };
37
+ payload: {
38
+ type: DataTypes.work;
39
+ src: {
40
+ key: string;
41
+ self: Web2WorkStep;
42
+ };
43
+ };
44
+ };
45
+ constructor(payload: IWeb2Request);
46
+ }
47
+ export declare class XmWorkStep extends WorkStep {
48
+ context: string;
49
+ output: {
50
+ result: {
51
+ type: DataTypes.work;
52
+ src: {
53
+ self: XmWorkStep;
54
+ key: string;
55
+ };
56
+ };
57
+ hash: {
58
+ type: DataTypes.work;
59
+ src: {
60
+ self: XmWorkStep;
61
+ key: string;
62
+ };
63
+ };
64
+ };
65
+ constructor(payload: XMScript);
66
+ }
67
+ export declare class NativeWorkStep extends WorkStep {
68
+ context: string;
69
+ output: {
70
+ result: {
71
+ type: DataTypes.work;
72
+ src: {
73
+ self: NativeWorkStep;
74
+ key: string;
75
+ };
76
+ };
77
+ };
78
+ constructor(payload: INativePayload);
79
+ }
80
+ export declare function prepareXMStep(xm_payload: XMScript): XmWorkStep;
81
+ export declare function prepareWeb2Step(action?: string, url?: string, parameters?: any[], requestedParameters?: any, headers?: any, minAttestations?: number): Web2WorkStep;
82
+ export declare function prepareNativeStep(native_payload: INativePayload): NativeWorkStep;
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.NativeWorkStep = exports.XmWorkStep = exports.Web2WorkStep = exports.WorkStep = void 0;
7
+ exports.prepareXMStep = prepareXMStep;
8
+ exports.prepareWeb2Step = prepareWeb2Step;
9
+ exports.prepareNativeStep = prepareNativeStep;
10
+ const node_forge_1 = __importDefault(require("node-forge"));
11
+ const Hashing_1 = require("../encryption/Hashing");
12
+ const dataManipulation_1 = require("../utils/dataManipulation");
13
+ const utils_1 = require("./utils");
14
+ const websdk_1 = require("../websdk");
15
+ const datatypes_1 = require("../types/demoswork/datatypes");
16
+ class WorkStep {
17
+ constructor(payload) {
18
+ this.timestamp = Date.now();
19
+ this.content = payload;
20
+ this.id = "step_" + (0, utils_1.getNewUID)();
21
+ }
22
+ get hash() {
23
+ // REVIEW: What fields should be hashed?
24
+ return Hashing_1.Hashing.sha256(JSON.stringify(this));
25
+ }
26
+ /**
27
+ * Sign a work step using a private key
28
+ *
29
+ * @param privateKey The private key
30
+ * @returns The signature
31
+ */
32
+ sign(privateKey) {
33
+ if (privateKey.type == "string") {
34
+ privateKey = (0, dataManipulation_1.HexToForge)(privateKey);
35
+ }
36
+ this.signature = node_forge_1.default.pki.ed25519.sign({
37
+ message: this.hash,
38
+ encoding: "utf8",
39
+ privateKey,
40
+ });
41
+ return this.signature;
42
+ }
43
+ execute() {
44
+ // INFO: Send payload or execute web2 request here
45
+ }
46
+ }
47
+ exports.WorkStep = WorkStep;
48
+ class Web2WorkStep extends WorkStep {
49
+ constructor(payload) {
50
+ super(payload);
51
+ this.context = "web2";
52
+ this.output = {
53
+ statusCode: {
54
+ type: datatypes_1.DataTypes.work,
55
+ src: {
56
+ self: this,
57
+ key: "output.statusCode",
58
+ },
59
+ },
60
+ payload: {
61
+ type: datatypes_1.DataTypes.work,
62
+ src: {
63
+ key: "output.payload",
64
+ self: this,
65
+ },
66
+ },
67
+ };
68
+ }
69
+ }
70
+ exports.Web2WorkStep = Web2WorkStep;
71
+ class XmWorkStep extends WorkStep {
72
+ constructor(payload) {
73
+ super(payload);
74
+ this.context = "xm";
75
+ this.output = {
76
+ // REVIEW: What result fields do developers need?
77
+ result: {
78
+ type: datatypes_1.DataTypes.work,
79
+ src: {
80
+ self: this,
81
+ key: "output.result",
82
+ },
83
+ },
84
+ hash: {
85
+ type: datatypes_1.DataTypes.work,
86
+ src: {
87
+ self: this,
88
+ key: "output.hash",
89
+ },
90
+ },
91
+ };
92
+ }
93
+ }
94
+ exports.XmWorkStep = XmWorkStep;
95
+ class NativeWorkStep extends WorkStep {
96
+ constructor(payload) {
97
+ super(payload);
98
+ this.context = "native";
99
+ this.output = {
100
+ result: {
101
+ type: datatypes_1.DataTypes.work,
102
+ src: {
103
+ self: this,
104
+ key: "output.result",
105
+ },
106
+ },
107
+ };
108
+ }
109
+ }
110
+ exports.NativeWorkStep = NativeWorkStep;
111
+ // SECTION: Prepare functions
112
+ function prepareXMStep(xm_payload) {
113
+ return new XmWorkStep(xm_payload);
114
+ }
115
+ function prepareWeb2Step(action = "GET", url = "https://icanhazip.com", parameters = [], requestedParameters = null, headers = null, minAttestations = 2) {
116
+ // Generating an empty request and filling it
117
+ const web2_payload = websdk_1.skeletons.web2_request;
118
+ web2_payload.raw.action = action;
119
+ web2_payload.raw.url = url;
120
+ web2_payload.raw.parameters = parameters;
121
+ web2_payload.raw.headers = headers;
122
+ web2_payload.raw.minAttestations = minAttestations;
123
+ // Ensuring content is a known property
124
+ web2_payload.attestations = new Map();
125
+ web2_payload.hash = "";
126
+ web2_payload.signature = "";
127
+ web2_payload.result = "";
128
+ return new Web2WorkStep(web2_payload);
129
+ }
130
+ function prepareNativeStep(native_payload) {
131
+ return new NativeWorkStep(native_payload);
132
+ }
133
+ //# sourceMappingURL=workstep.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workstep.js","sourceRoot":"","sources":["../../../src/demoswork/workstep.ts"],"names":[],"mappings":";;;;;;AAgIA,sCAEC;AAED,0CAqBC;AAED,8CAEC;AA7JD,4DAA8B;AAE9B,kDAA8C;AAC9C,+DAAqD;AACrD,mCAAmC;AAEnC,qCAAoC;AAGpC,2DAAuD;AAGvD,MAAa,QAAQ;IAcjB,YAAY,OAAsB;QAFlC,cAAS,GAAW,IAAI,CAAC,GAAG,EAAE,CAAA;QAG1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,EAAE,GAAG,OAAO,GAAG,IAAA,iBAAS,GAAE,CAAA;IACnC,CAAC;IAED,IAAI,IAAI;QACJ,wCAAwC;QACxC,OAAO,iBAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;IAC/C,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,UAAgD;QACjD,IAAI,UAAU,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC9B,UAAU,GAAG,IAAA,6BAAU,EAAC,UAAU,CAAC,CAAA;QACvC,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,oBAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;YACpC,OAAO,EAAE,IAAI,CAAC,IAAI;YAClB,QAAQ,EAAE,MAAM;YAChB,UAAU;SACb,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,SAAS,CAAA;IACzB,CAAC;IAED,OAAO;QACH,kDAAkD;IACtD,CAAC;CACJ;AA/CD,4BA+CC;AAED,MAAa,YAAa,SAAQ,QAAQ;IAmBtC,YAAY,OAAqB;QAC7B,KAAK,CAAC,OAAO,CAAC,CAAA;QAnBT,YAAO,GAAG,MAAM,CAAA;QAChB,WAAM,GAAG;YACd,UAAU,EAAE;gBACR,IAAI,EAAE,qBAAS,CAAC,IAAsB;gBACtC,GAAG,EAAE;oBACD,IAAI,EAAE,IAAoB;oBAC1B,GAAG,EAAE,mBAAmB;iBAC3B;aACJ;YACD,OAAO,EAAE;gBACL,IAAI,EAAE,qBAAS,CAAC,IAAsB;gBACtC,GAAG,EAAE;oBACD,GAAG,EAAE,gBAAgB;oBACrB,IAAI,EAAE,IAAoB;iBAC7B;aACJ;SACJ,CAAA;IAID,CAAC;CACJ;AAtBD,oCAsBC;AAED,MAAa,UAAW,SAAQ,QAAQ;IAoBpC,YAAY,OAAiB;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QApBT,YAAO,GAAG,IAAI,CAAA;QACd,WAAM,GAAG;YACd,iDAAiD;YACjD,MAAM,EAAE;gBACJ,IAAI,EAAE,qBAAS,CAAC,IAAsB;gBACtC,GAAG,EAAE;oBACD,IAAI,EAAE,IAAkB;oBACxB,GAAG,EAAE,eAAe;iBACvB;aACJ;YACD,IAAI,EAAE;gBACF,IAAI,EAAE,qBAAS,CAAC,IAAsB;gBACtC,GAAG,EAAE;oBACD,IAAI,EAAE,IAAkB;oBACxB,GAAG,EAAE,aAAa;iBACrB;aACJ;SACJ,CAAA;IAID,CAAC;CACJ;AAvBD,gCAuBC;AAED,MAAa,cAAe,SAAQ,QAAQ;IAYxC,YAAY,OAAuB;QAC/B,KAAK,CAAC,OAAO,CAAC,CAAA;QAZT,YAAO,GAAG,QAAQ,CAAA;QAClB,WAAM,GAAG;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,qBAAS,CAAC,IAAsB;gBACtC,GAAG,EAAE;oBACD,IAAI,EAAE,IAAsB;oBAC5B,GAAG,EAAE,eAAe;iBACvB;aACJ;SACJ,CAAA;IAID,CAAC;CACJ;AAfD,wCAeC;AAED,6BAA6B;AAC7B,SAAgB,aAAa,CAAC,UAAoB;IAC9C,OAAO,IAAI,UAAU,CAAC,UAAU,CAAC,CAAA;AACrC,CAAC;AAED,SAAgB,eAAe,CAC3B,MAAM,GAAG,KAAK,EACd,GAAG,GAAG,uBAAuB,EAC7B,UAAU,GAAG,EAAE,EACf,mBAAmB,GAAG,IAAI,EAC1B,OAAO,GAAG,IAAI,EACd,eAAe,GAAG,CAAC;IAEnB,6CAA6C;IAC7C,MAAM,YAAY,GAAiB,kBAAS,CAAC,YAAY,CAAA;IACzD,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/index.d.ts CHANGED
@@ -1,7 +1,8 @@
1
- export * as types from './types';
2
- export * as encryption from './encryption';
3
- export * as utils from './utils';
4
- export * as xmlocalsdk from './multichain/localsdk';
5
- export * as xmwebsdk from './multichain/websdk';
6
- export * as wallet from './wallet';
1
+ export * as types from "./types";
2
+ export * as encryption from "./encryption";
3
+ export * as utils from "./utils";
4
+ export * as xmlocalsdk from "./multichain/localsdk";
5
+ export * as xmwebsdk from "./multichain/websdk";
6
+ export * as wallet from "./wallet";
7
+ export * as demoswork from "./demoswork";
7
8
  export * as websdk from './websdk';
package/build/index.js CHANGED
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.websdk = exports.wallet = exports.xmwebsdk = exports.xmlocalsdk = exports.utils = exports.encryption = exports.types = void 0;
26
+ exports.websdk = exports.demoswork = exports.wallet = exports.xmwebsdk = exports.xmlocalsdk = exports.utils = exports.encryption = exports.types = void 0;
27
27
  // Common types and constants
28
28
  exports.types = __importStar(require("./types"));
29
29
  // Basic cryptographic and data manipulation functions
@@ -33,5 +33,6 @@ exports.utils = __importStar(require("./utils"));
33
33
  exports.xmlocalsdk = __importStar(require("./multichain/localsdk"));
34
34
  exports.xmwebsdk = __importStar(require("./multichain/websdk"));
35
35
  exports.wallet = __importStar(require("./wallet"));
36
+ exports.demoswork = __importStar(require("./demoswork"));
36
37
  exports.websdk = __importStar(require("./websdk"));
37
38
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6BAA6B;AAC7B,iDAAgC;AAChC,sDAAsD;AACtD,2DAA0C;AAC1C,iDAAgC;AAChC,gCAAgC;AAChC,oEAAmD;AACnD,gEAA+C;AAC/C,mDAAkC;AAClC,mDAAkC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6BAA6B;AAC7B,iDAAgC;AAChC,sDAAsD;AACtD,2DAA0C;AAC1C,iDAAgC;AAChC,gCAAgC;AAChC,oEAAmD;AACnD,gEAA+C;AAC/C,mDAAkC;AAClC,yDAAwC;AAExC,mDAAkC"}
@@ -152,7 +152,9 @@ class IBC extends defaultChain_1.DefaultChain {
152
152
  // NOTE: Sequence management happens here
153
153
  // INFO: Get account on network
154
154
  const address = this.getAddress();
155
+ console.log("address: ", address);
155
156
  const account = await this.wallet.getAccount(address);
157
+ console.log("account: ", account);
156
158
  if (!account) {
157
159
  throw new Error(`Account ${address} not found`);
158
160
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ibc.js","sourceRoot":"","sources":["../../../../src/multichain/core/ibc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ibc.js","sourceRoot":"","sources":["../../../../src/multichain/core/ibc.ts"],"names":[],"mappings":"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"}
@@ -1,29 +1,16 @@
1
- import * as forge from 'node-forge';
2
- import { ISignature } from './ISignature';
3
- import { TxFee } from './TxFee';
4
- import { IWeb2Request } from '../web2';
5
- import { XMScript } from '../xm';
6
- export type XMPayload = ["crosschainOperation", XMScript];
7
- export type Web2Payload = ["web2Request", IWeb2Request];
8
- export type NativePayload = ["native", any];
9
- export type StringifiedPayload = [string, string];
10
- import { demosWork } from '../communication/demosWork';
1
+ import * as forge from "node-forge";
2
+ import { ISignature } from "./ISignature";
3
+ import { TxFee } from "./TxFee";
4
+ import { DemoScript } from "../demoswork";
5
+ import { IWeb2Request } from "../web2";
6
+ import { XMScript } from "../xm";
7
+ export type TransactionContentData = ["web2Request", IWeb2Request] | ["crosschainOperation", XMScript] | ["demoswork", DemoScript];
11
8
  export interface TransactionContent {
12
- type: string;
9
+ type: "web2Request" | "crosschainOperation" | "demoswork";
13
10
  from: forge.pki.ed25519.BinaryBuffer | forge.pki.PublicKey | ISignature;
14
11
  to: forge.pki.ed25519.BinaryBuffer | forge.pki.PrivateKey | ISignature;
15
12
  amount: number;
16
- data: StringifiedPayload | XMPayload | Web2Payload | NativePayload;
17
- nonce: number;
18
- timestamp: number;
19
- transaction_fee: TxFee;
20
- }
21
- export interface _TransactionContent {
22
- type: string;
23
- from: forge.pki.ed25519.BinaryBuffer | forge.pki.PublicKey | ISignature;
24
- to: forge.pki.ed25519.BinaryBuffer | forge.pki.PrivateKey | ISignature;
25
- amount: number;
26
- data: demosWork;
13
+ data: TransactionContentData;
27
14
  nonce: number;
28
15
  timestamp: number;
29
16
  transaction_fee: TxFee;