@guardian-network/policy-intermediate-representation 0.3.2

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 (137) hide show
  1. package/README.md +36 -0
  2. package/dist/index.d.ts +2 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +8 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/ir-notation/errors/ErrorFactory.d.ts +7 -0
  7. package/dist/ir-notation/errors/ErrorFactory.d.ts.map +1 -0
  8. package/dist/ir-notation/errors/ErrorFactory.js +17 -0
  9. package/dist/ir-notation/errors/ErrorFactory.js.map +1 -0
  10. package/dist/ir-notation/errors/index.d.ts +2 -0
  11. package/dist/ir-notation/errors/index.d.ts.map +1 -0
  12. package/dist/ir-notation/errors/index.js +18 -0
  13. package/dist/ir-notation/errors/index.js.map +1 -0
  14. package/dist/ir-notation/errors/validation-errors.d.ts +11 -0
  15. package/dist/ir-notation/errors/validation-errors.d.ts.map +1 -0
  16. package/dist/ir-notation/errors/validation-errors.js +26 -0
  17. package/dist/ir-notation/errors/validation-errors.js.map +1 -0
  18. package/dist/ir-notation/helpers/formatters.d.ts +18 -0
  19. package/dist/ir-notation/helpers/formatters.d.ts.map +1 -0
  20. package/dist/ir-notation/helpers/formatters.js +45 -0
  21. package/dist/ir-notation/helpers/formatters.js.map +1 -0
  22. package/dist/ir-notation/helpers/index.d.ts +5 -0
  23. package/dist/ir-notation/helpers/index.d.ts.map +1 -0
  24. package/dist/ir-notation/helpers/index.js +21 -0
  25. package/dist/ir-notation/helpers/index.js.map +1 -0
  26. package/dist/ir-notation/helpers/matchers.d.ts +4 -0
  27. package/dist/ir-notation/helpers/matchers.d.ts.map +1 -0
  28. package/dist/ir-notation/helpers/matchers.js +17 -0
  29. package/dist/ir-notation/helpers/matchers.js.map +1 -0
  30. package/dist/ir-notation/helpers/morphs.d.ts +4 -0
  31. package/dist/ir-notation/helpers/morphs.d.ts.map +1 -0
  32. package/dist/ir-notation/helpers/morphs.js +26 -0
  33. package/dist/ir-notation/helpers/morphs.js.map +1 -0
  34. package/dist/ir-notation/helpers/validation/index.d.ts +2 -0
  35. package/dist/ir-notation/helpers/validation/index.d.ts.map +1 -0
  36. package/dist/ir-notation/helpers/validation/index.js +18 -0
  37. package/dist/ir-notation/helpers/validation/index.js.map +1 -0
  38. package/dist/ir-notation/helpers/validation/typing.validation.d.ts +10 -0
  39. package/dist/ir-notation/helpers/validation/typing.validation.d.ts.map +1 -0
  40. package/dist/ir-notation/helpers/validation/typing.validation.js +41 -0
  41. package/dist/ir-notation/helpers/validation/typing.validation.js.map +1 -0
  42. package/dist/ir-notation/parser/index.d.ts +4 -0
  43. package/dist/ir-notation/parser/index.d.ts.map +1 -0
  44. package/dist/ir-notation/parser/index.js +14 -0
  45. package/dist/ir-notation/parser/index.js.map +1 -0
  46. package/dist/ir-notation/parser/parser-contracts/ParserWithValidation.d.ts +14 -0
  47. package/dist/ir-notation/parser/parser-contracts/ParserWithValidation.d.ts.map +1 -0
  48. package/dist/ir-notation/parser/parser-contracts/ParserWithValidation.js +44 -0
  49. package/dist/ir-notation/parser/parser-contracts/ParserWithValidation.js.map +1 -0
  50. package/dist/ir-notation/parser/parser-contracts/SimplifiedParser.d.ts +12 -0
  51. package/dist/ir-notation/parser/parser-contracts/SimplifiedParser.d.ts.map +1 -0
  52. package/dist/ir-notation/parser/parser-contracts/SimplifiedParser.js +27 -0
  53. package/dist/ir-notation/parser/parser-contracts/SimplifiedParser.js.map +1 -0
  54. package/dist/ir-notation/parser/parser-contracts/StaticParser.d.ts +7 -0
  55. package/dist/ir-notation/parser/parser-contracts/StaticParser.d.ts.map +1 -0
  56. package/dist/ir-notation/parser/parser-contracts/StaticParser.js +16 -0
  57. package/dist/ir-notation/parser/parser-contracts/StaticParser.js.map +1 -0
  58. package/dist/ir-notation/parser/parser-contracts/base/ParserBase.d.ts +7 -0
  59. package/dist/ir-notation/parser/parser-contracts/base/ParserBase.d.ts.map +1 -0
  60. package/dist/ir-notation/parser/parser-contracts/base/ParserBase.js +40 -0
  61. package/dist/ir-notation/parser/parser-contracts/base/ParserBase.js.map +1 -0
  62. package/dist/ir-notation/parser/parser-contracts/guards.d.ts +5 -0
  63. package/dist/ir-notation/parser/parser-contracts/guards.d.ts.map +1 -0
  64. package/dist/ir-notation/parser/parser-contracts/guards.js +14 -0
  65. package/dist/ir-notation/parser/parser-contracts/guards.js.map +1 -0
  66. package/dist/ir-notation/parser/parser-contracts/index.d.ts +5 -0
  67. package/dist/ir-notation/parser/parser-contracts/index.d.ts.map +1 -0
  68. package/dist/ir-notation/parser/parser-contracts/index.js +13 -0
  69. package/dist/ir-notation/parser/parser-contracts/index.js.map +1 -0
  70. package/dist/ir-notation/parser/parser-contracts/tools/ParamsExtractor.d.ts +19 -0
  71. package/dist/ir-notation/parser/parser-contracts/tools/ParamsExtractor.d.ts.map +1 -0
  72. package/dist/ir-notation/parser/parser-contracts/tools/ParamsExtractor.js +140 -0
  73. package/dist/ir-notation/parser/parser-contracts/tools/ParamsExtractor.js.map +1 -0
  74. package/dist/ir-notation/parser/parser-contracts/tools/TypesNormalizer.d.ts +7 -0
  75. package/dist/ir-notation/parser/parser-contracts/tools/TypesNormalizer.d.ts.map +1 -0
  76. package/dist/ir-notation/parser/parser-contracts/tools/TypesNormalizer.js +49 -0
  77. package/dist/ir-notation/parser/parser-contracts/tools/TypesNormalizer.js.map +1 -0
  78. package/dist/ir-notation/parser/parser-contracts/tools/index.d.ts +6 -0
  79. package/dist/ir-notation/parser/parser-contracts/tools/index.d.ts.map +1 -0
  80. package/dist/ir-notation/parser/parser-contracts/tools/index.js +25 -0
  81. package/dist/ir-notation/parser/parser-contracts/tools/index.js.map +1 -0
  82. package/dist/ir-notation/parser/parser-contracts/tools/tools.helper.d.ts +5 -0
  83. package/dist/ir-notation/parser/parser-contracts/tools/tools.helper.d.ts.map +1 -0
  84. package/dist/ir-notation/parser/parser-contracts/tools/tools.helper.js +26 -0
  85. package/dist/ir-notation/parser/parser-contracts/tools/tools.helper.js.map +1 -0
  86. package/dist/ir-notation/parser/parser-contracts/tools/types-source/DSLConfigArgsTypesSource.d.ts +10 -0
  87. package/dist/ir-notation/parser/parser-contracts/tools/types-source/DSLConfigArgsTypesSource.d.ts.map +1 -0
  88. package/dist/ir-notation/parser/parser-contracts/tools/types-source/DSLConfigArgsTypesSource.js +36 -0
  89. package/dist/ir-notation/parser/parser-contracts/tools/types-source/DSLConfigArgsTypesSource.js.map +1 -0
  90. package/dist/ir-notation/parser/parser-contracts/tools/types-source/OnchainDescriptorArgsTypesSource.d.ts +12 -0
  91. package/dist/ir-notation/parser/parser-contracts/tools/types-source/OnchainDescriptorArgsTypesSource.d.ts.map +1 -0
  92. package/dist/ir-notation/parser/parser-contracts/tools/types-source/OnchainDescriptorArgsTypesSource.js +39 -0
  93. package/dist/ir-notation/parser/parser-contracts/tools/types-source/OnchainDescriptorArgsTypesSource.js.map +1 -0
  94. package/dist/ir-notation/parser/parser-contracts/types.d.ts +59 -0
  95. package/dist/ir-notation/parser/parser-contracts/types.d.ts.map +1 -0
  96. package/dist/ir-notation/parser/parser-contracts/types.js +12 -0
  97. package/dist/ir-notation/parser/parser-contracts/types.js.map +1 -0
  98. package/dist/ir-notation/parser/parser.unvalidated.d.ts +6 -0
  99. package/dist/ir-notation/parser/parser.unvalidated.d.ts.map +1 -0
  100. package/dist/ir-notation/parser/parser.unvalidated.js +92 -0
  101. package/dist/ir-notation/parser/parser.unvalidated.js.map +1 -0
  102. package/dist/ir-notation/parser/parser.validated.d.ts +17 -0
  103. package/dist/ir-notation/parser/parser.validated.d.ts.map +1 -0
  104. package/dist/ir-notation/parser/parser.validated.js +37 -0
  105. package/dist/ir-notation/parser/parser.validated.js.map +1 -0
  106. package/dist/ir-notation/parser/types.d.ts +9 -0
  107. package/dist/ir-notation/parser/types.d.ts.map +1 -0
  108. package/dist/ir-notation/parser/types.js +11 -0
  109. package/dist/ir-notation/parser/types.js.map +1 -0
  110. package/package.json +71 -0
  111. package/src/index.ts +5 -0
  112. package/src/ir-notation/errors/ErrorFactory.ts +25 -0
  113. package/src/ir-notation/errors/index.ts +1 -0
  114. package/src/ir-notation/errors/validation-errors.ts +38 -0
  115. package/src/ir-notation/helpers/formatters.ts +63 -0
  116. package/src/ir-notation/helpers/index.ts +4 -0
  117. package/src/ir-notation/helpers/matchers.ts +12 -0
  118. package/src/ir-notation/helpers/morphs.ts +26 -0
  119. package/src/ir-notation/helpers/validation/index.ts +1 -0
  120. package/src/ir-notation/helpers/validation/typing.validation.ts +89 -0
  121. package/src/ir-notation/parser/index.ts +10 -0
  122. package/src/ir-notation/parser/parser-contracts/ParserWithValidation.ts +99 -0
  123. package/src/ir-notation/parser/parser-contracts/SimplifiedParser.ts +41 -0
  124. package/src/ir-notation/parser/parser-contracts/StaticParser.ts +25 -0
  125. package/src/ir-notation/parser/parser-contracts/base/ParserBase.ts +79 -0
  126. package/src/ir-notation/parser/parser-contracts/guards.ts +17 -0
  127. package/src/ir-notation/parser/parser-contracts/index.ts +7 -0
  128. package/src/ir-notation/parser/parser-contracts/tools/ParamsExtractor.ts +251 -0
  129. package/src/ir-notation/parser/parser-contracts/tools/TypesNormalizer.ts +78 -0
  130. package/src/ir-notation/parser/parser-contracts/tools/index.ts +5 -0
  131. package/src/ir-notation/parser/parser-contracts/tools/tools.helper.ts +33 -0
  132. package/src/ir-notation/parser/parser-contracts/tools/types-source/DSLConfigArgsTypesSource.ts +52 -0
  133. package/src/ir-notation/parser/parser-contracts/tools/types-source/OnchainDescriptorArgsTypesSource.ts +76 -0
  134. package/src/ir-notation/parser/parser-contracts/types.ts +78 -0
  135. package/src/ir-notation/parser/parser.unvalidated.ts +200 -0
  136. package/src/ir-notation/parser/parser.validated.ts +67 -0
  137. package/src/ir-notation/parser/types.ts +28 -0
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SimplifiedParser = void 0;
4
+ const ParserBase_1 = require("./base/ParserBase");
5
+ const tools_1 = require("./tools");
6
+ class SimplifiedParser {
7
+ getTypesSource;
8
+ intermediatePresentation;
9
+ static build = (intermediatePresentation, providerOrSource) => {
10
+ const getTypesSource = (0, tools_1.createOrInferTypesSource)(providerOrSource);
11
+ return new SimplifiedParser(getTypesSource, intermediatePresentation);
12
+ };
13
+ constructor(getTypesSource, intermediatePresentation) {
14
+ this.getTypesSource = getTypesSource;
15
+ this.intermediatePresentation = intermediatePresentation;
16
+ }
17
+ get unprocessedArtifacts() {
18
+ return (0, tools_1.toUnprocessedArtifactsList)(this.intermediatePresentation);
19
+ }
20
+ process = async () => {
21
+ const processPromises = this.unprocessedArtifacts.map((v, i) => ParserBase_1.ParserBase.processSingleWithId(v, i, this.getTypesSource));
22
+ const processedArtifacts = await Promise.all(processPromises);
23
+ return processedArtifacts;
24
+ };
25
+ }
26
+ exports.SimplifiedParser = SimplifiedParser;
27
+ //# sourceMappingURL=SimplifiedParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SimplifiedParser.js","sourceRoot":"","sources":["../../../../src/ir-notation/parser/parser-contracts/SimplifiedParser.ts"],"names":[],"mappings":";;;AAEA,kDAA+C;AAC/C,mCAA+E;AAG/E,MAAa,gBAAgB;IAaf;IACA;IAbZ,MAAM,CAAC,KAAK,GAAG,CACb,wBAAgC,EAChC,gBAAmD,EACjC,EAAE;QACpB,MAAM,cAAc,GAAG,IAAA,gCAAwB,EAAC,gBAAgB,CAAC,CAAC;QAElE,OAAO,IAAI,gBAAgB,CAAC,cAAc,EAAE,wBAAwB,CAAC,CAAC;IACxE,CAAC,CAAC;IAIF,YACY,cAA8B,EAC9B,wBAAgC;QADhC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,6BAAwB,GAAxB,wBAAwB,CAAQ;IACzC,CAAC;IAEJ,IAAc,oBAAoB;QAChC,OAAO,IAAA,kCAA0B,EAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACnE,CAAC;IAOD,OAAO,GAAG,KAAK,IAAmC,EAAE;QAClD,MAAM,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC7D,uBAAU,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAC1D,CAAC;QAEF,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC9D,OAAO,kBAAkB,CAAC;IAC5B,CAAC,CAAC;;AAjCJ,4CAkCC"}
@@ -0,0 +1,7 @@
1
+ import { ContractRunner } from 'ethers';
2
+ import { ParsingResult } from '../types';
3
+ import { IArgsTypesSource } from './types';
4
+ export declare class StaticParser {
5
+ static process: (intermediatePresentation: string, providerOrSource: ContractRunner | IArgsTypesSource) => Promise<Array<ParsingResult>>;
6
+ }
7
+ //# sourceMappingURL=StaticParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StaticParser.d.ts","sourceRoot":"","sources":["../../../../src/ir-notation/parser/parser-contracts/StaticParser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,qBAAa,YAAY;IACvB,MAAM,CAAC,OAAO,6BACc,MAAM,oBACd,cAAc,GAAG,gBAAgB,KAClD,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAa9B;CACH"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StaticParser = void 0;
4
+ const ParserBase_1 = require("./base/ParserBase");
5
+ const tools_1 = require("./tools");
6
+ class StaticParser {
7
+ static process = async (intermediatePresentation, providerOrSource) => {
8
+ const unprocessedArtifacts = (0, tools_1.toUnprocessedArtifactsList)(intermediatePresentation);
9
+ const getTypesSource = (0, tools_1.createOrInferTypesSource)(providerOrSource);
10
+ const processPromises = unprocessedArtifacts.map((v, i) => ParserBase_1.ParserBase.processSingleWithId(v, i, getTypesSource));
11
+ const processedArtifacts = await Promise.all(processPromises);
12
+ return processedArtifacts;
13
+ };
14
+ }
15
+ exports.StaticParser = StaticParser;
16
+ //# sourceMappingURL=StaticParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StaticParser.js","sourceRoot":"","sources":["../../../../src/ir-notation/parser/parser-contracts/StaticParser.ts"],"names":[],"mappings":";;;AAEA,kDAA+C;AAC/C,mCAA+E;AAG/E,MAAa,YAAY;IACvB,MAAM,CAAC,OAAO,GAAG,KAAK,EACpB,wBAAgC,EAChC,gBAAmD,EACpB,EAAE;QACjC,MAAM,oBAAoB,GAAG,IAAA,kCAA0B,EACrD,wBAAwB,CACzB,CAAC;QAEF,MAAM,cAAc,GAAG,IAAA,gCAAwB,EAAC,gBAAgB,CAAC,CAAC;QAElE,MAAM,eAAe,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACxD,uBAAU,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,CACrD,CAAC;QAEF,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC9D,OAAO,kBAAkB,CAAC;IAC5B,CAAC,CAAC;;AAjBJ,oCAkBC"}
@@ -0,0 +1,7 @@
1
+ import { ParsingResult } from '../../types';
2
+ import { GetTypesValues } from '../types';
3
+ export declare class ParserBase {
4
+ static processSingle: (unprocessedArtifact: string, getTypesSource: GetTypesValues, pos?: number) => Promise<Omit<import("@guardian-network/shared").NodeInitDataStruct, "id">>;
5
+ static processSingleWithId: (unprocessedArtifact: string, salt: number, getTypesSource: GetTypesValues) => Promise<ParsingResult>;
6
+ }
7
+ //# sourceMappingURL=ParserBase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParserBase.d.ts","sourceRoot":"","sources":["../../../../../src/ir-notation/parser/parser-contracts/base/ParserBase.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EACL,cAAc,EAGf,MAAM,UAAU,CAAC;AAElB,qBAAa,UAAU;IACrB,MAAM,CAAC,aAAa,wBACG,MAAM,kBACX,cAAc,QACxB,MAAM,gFAoCZ;IAEF,MAAM,CAAC,mBAAmB,wBACH,MAAM,QACrB,MAAM,kBACI,cAAc,KAC7B,OAAO,CAAC,aAAa,CAAC,CAYvB;CACH"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ParserBase = void 0;
4
+ const shared_1 = require("@guardian-network/shared");
5
+ const tools_1 = require("../tools");
6
+ class ParserBase {
7
+ static processSingle = async (unprocessedArtifact, getTypesSource, pos) => {
8
+ const getTypesSourceAtIndex = (param) => getTypesSource(param, pos);
9
+ const exctractionHandler = tools_1.ParamsExtractor.build(unprocessedArtifact, getTypesSourceAtIndex);
10
+ const extractedData = await exctractionHandler.artifactData();
11
+ const { artifactAddress, argsCount, execKnownParamsList, execRuntimeVariablesIndices, execRuntimeVariablesInjectionsWithIndices, execSubstitutionParamsList, initDataParamsSolidityPacked, needsInitialization, } = extractedData;
12
+ const processedArtifact = {
13
+ artifactAddress,
14
+ constantExecArgs: execKnownParamsList,
15
+ variableExecArgs: execRuntimeVariablesIndices,
16
+ injections: execRuntimeVariablesInjectionsWithIndices,
17
+ argsCount,
18
+ substitutedExecArgs: execSubstitutionParamsList.map(toRegularParam),
19
+ initData: initDataParamsSolidityPacked,
20
+ needsInitialization,
21
+ };
22
+ return processedArtifact;
23
+ };
24
+ static processSingleWithId = async (unprocessedArtifact, salt, getTypesSource) => {
25
+ const nodeId = shared_1.NodeId.fromNotation(unprocessedArtifact, salt);
26
+ const processed = await this.processSingle(unprocessedArtifact, getTypesSource, salt);
27
+ return {
28
+ id: nodeId,
29
+ ...processed,
30
+ };
31
+ };
32
+ }
33
+ exports.ParserBase = ParserBase;
34
+ const toRegularParam = ({ from, atPos, }) => {
35
+ return {
36
+ supplierNodeId: from,
37
+ index: atPos,
38
+ };
39
+ };
40
+ //# sourceMappingURL=ParserBase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParserBase.js","sourceRoot":"","sources":["../../../../../src/ir-notation/parser/parser-contracts/base/ParserBase.ts"],"names":[],"mappings":";;;AAAA,qDAAkD;AAElD,oCAA2C;AAO3C,MAAa,UAAU;IACrB,MAAM,CAAC,aAAa,GAAG,KAAK,EAC1B,mBAA2B,EAC3B,cAA8B,EAC9B,GAAY,EACZ,EAAE;QAGF,MAAM,qBAAqB,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAE5E,MAAM,kBAAkB,GAAG,uBAAe,CAAC,KAAK,CAC9C,mBAAmB,EACnB,qBAAqB,CACtB,CAAC;QAEF,MAAM,aAAa,GAAG,MAAM,kBAAkB,CAAC,YAAY,EAAE,CAAC;QAE9D,MAAM,EACJ,eAAe,EACf,SAAS,EACT,mBAAmB,EACnB,2BAA2B,EAC3B,yCAAyC,EACzC,0BAA0B,EAC1B,4BAA4B,EAC5B,mBAAmB,GACpB,GAAG,aAAa,CAAC;QAElB,MAAM,iBAAiB,GAA8B;YACnD,eAAe;YACf,gBAAgB,EAAE,mBAAmB;YACrC,gBAAgB,EAAE,2BAA2B;YAC7C,UAAU,EAAE,yCAAyC;YACrD,SAAS;YACT,mBAAmB,EAAE,0BAA0B,CAAC,GAAG,CAAC,cAAc,CAAC;YACnE,QAAQ,EAAE,4BAA4B;YACtC,mBAAmB;SACpB,CAAC;QAEF,OAAO,iBAAiB,CAAC;IAC3B,CAAC,CAAC;IAEF,MAAM,CAAC,mBAAmB,GAAG,KAAK,EAChC,mBAA2B,EAC3B,IAAY,EACZ,cAA8B,EACN,EAAE;QAC1B,MAAM,MAAM,GAAG,eAAM,CAAC,YAAY,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;QAC9D,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CACxC,mBAAmB,EACnB,cAAc,EACd,IAAI,CACL,CAAC;QAEF,OAAO;YACL,EAAE,EAAE,MAAM;YACV,GAAG,SAAS;SACb,CAAC;IACJ,CAAC,CAAC;;AA1DJ,gCA2DC;AAED,MAAM,cAAc,GAAG,CAAC,EACtB,IAAI,EACJ,KAAK,GACiB,EAA2B,EAAE;IACnD,OAAO;QACL,cAAc,EAAE,IAAI;QACpB,KAAK,EAAE,KAAK;KACb,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { ContractRunner } from 'ethers';
2
+ import { SupportedSolidityTypesEnum } from './types';
3
+ export declare const isSupportedSolidityType: (value: string) => value is SupportedSolidityTypesEnum;
4
+ export declare const isContractProviderType: (value: Object) => value is ContractRunner;
5
+ //# sourceMappingURL=guards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../../../../src/ir-notation/parser/parser-contracts/guards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAErD,eAAO,MAAM,uBAAuB,UAC3B,MAAM,KACZ,KAAK,IAAI,0BAKX,CAAC;AAEF,eAAO,MAAM,sBAAsB,UAC1B,MAAM,KACZ,KAAK,IAAI,cAEX,CAAC"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isContractProviderType = exports.isSupportedSolidityType = void 0;
4
+ const types_1 = require("./types");
5
+ const isSupportedSolidityType = (value) => {
6
+ const isType = Object.values(types_1.SupportedSolidityTypesEnum).includes(value);
7
+ return isType;
8
+ };
9
+ exports.isSupportedSolidityType = isSupportedSolidityType;
10
+ const isContractProviderType = (value) => {
11
+ return 'provider' in value;
12
+ };
13
+ exports.isContractProviderType = isContractProviderType;
14
+ //# sourceMappingURL=guards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guards.js","sourceRoot":"","sources":["../../../../src/ir-notation/parser/parser-contracts/guards.ts"],"names":[],"mappings":";;;AACA,mCAAqD;AAE9C,MAAM,uBAAuB,GAAG,CACrC,KAAa,EACwB,EAAE;IACvC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,kCAA0B,CAAC,CAAC,QAAQ,CAC/D,KAAY,CACb,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAPW,QAAA,uBAAuB,2BAOlC;AAEK,MAAM,sBAAsB,GAAG,CACpC,KAAa,EACY,EAAE;IAC3B,OAAO,UAAU,IAAI,KAAK,CAAC;AAC7B,CAAC,CAAC;AAJW,QAAA,sBAAsB,0BAIjC"}
@@ -0,0 +1,5 @@
1
+ export { ParserWithValidation } from './ParserWithValidation';
2
+ export { SimplifiedParser } from './SimplifiedParser';
3
+ export { StaticParser } from './StaticParser';
4
+ export { DSLConfigArgsTypesSource, OnchainDescriptorArgsTypesSource, } from './tools';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ir-notation/parser/parser-contracts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EACL,wBAAwB,EACxB,gCAAgC,GACjC,MAAM,SAAS,CAAC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OnchainDescriptorArgsTypesSource = exports.DSLConfigArgsTypesSource = exports.StaticParser = exports.SimplifiedParser = exports.ParserWithValidation = void 0;
4
+ var ParserWithValidation_1 = require("./ParserWithValidation");
5
+ Object.defineProperty(exports, "ParserWithValidation", { enumerable: true, get: function () { return ParserWithValidation_1.ParserWithValidation; } });
6
+ var SimplifiedParser_1 = require("./SimplifiedParser");
7
+ Object.defineProperty(exports, "SimplifiedParser", { enumerable: true, get: function () { return SimplifiedParser_1.SimplifiedParser; } });
8
+ var StaticParser_1 = require("./StaticParser");
9
+ Object.defineProperty(exports, "StaticParser", { enumerable: true, get: function () { return StaticParser_1.StaticParser; } });
10
+ var tools_1 = require("./tools");
11
+ Object.defineProperty(exports, "DSLConfigArgsTypesSource", { enumerable: true, get: function () { return tools_1.DSLConfigArgsTypesSource; } });
12
+ Object.defineProperty(exports, "OnchainDescriptorArgsTypesSource", { enumerable: true, get: function () { return tools_1.OnchainDescriptorArgsTypesSource; } });
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ir-notation/parser/parser-contracts/index.ts"],"names":[],"mappings":";;;AAAA,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA;AAC7B,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AACzB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,iCAGiB;AAFf,iHAAA,wBAAwB,OAAA;AACxB,yHAAA,gCAAgC,OAAA"}
@@ -0,0 +1,19 @@
1
+ import { ArtifactData, GetTypesValues, IParamsExtractor } from '../types';
2
+ export declare class ParamsExtractor implements IParamsExtractor {
3
+ private artifactDeclarationUnprocessed;
4
+ private descriptors;
5
+ static build: (artifactDeclarationUnprocessed: string, descriptors: GetTypesValues) => ParamsExtractor;
6
+ constructor(artifactDeclarationUnprocessed: string, descriptors: GetTypesValues);
7
+ private get artifact();
8
+ private get retrieveInstanceDescriptors();
9
+ artifactData: (artifact?: string) => Promise<ArtifactData>;
10
+ private toComponents;
11
+ private getAllArguments;
12
+ private getAllArgumentsWithIndices;
13
+ private getRuntimeVariables;
14
+ private getRuntimeVariablesIndices;
15
+ private getInjectionsWithIndices;
16
+ private getSubstitutionsWithIndices;
17
+ private getKnownParamsWithIndices;
18
+ }
19
+ //# sourceMappingURL=ParamsExtractor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParamsExtractor.d.ts","sourceRoot":"","sources":["../../../../../src/ir-notation/parser/parser-contracts/tools/ParamsExtractor.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,cAAc,EACd,gBAAgB,EAIjB,MAAM,UAAU,CAAC;AAKlB,qBAAa,eAAgB,YAAW,gBAAgB;IASpD,OAAO,CAAC,8BAA8B;IACtC,OAAO,CAAC,WAAW;IATrB,MAAM,CAAC,KAAK,mCACsB,MAAM,eACzB,cAAc,KAC1B,eAAe,CAEhB;gBAGQ,8BAA8B,EAAE,MAAM,EACtC,WAAW,EAAE,cAAc;IAGrC,OAAO,KAAK,QAAQ,GAEnB;IAED,OAAO,KAAK,2BAA2B,GAEtC;IAED,YAAY,cACA,MAAM,KACf,OAAO,CAAC,YAAY,CAAC,CAqDtB;IAGF,OAAO,CAAC,YAAY;IAyBpB,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,0BAA0B,CAQhC;IAEF,OAAO,CAAC,mBAAmB,CAczB;IAEF,OAAO,CAAC,0BAA0B,CAQhC;IAGF,OAAO,CAAC,wBAAwB,CA8B9B;IAEF,OAAO,CAAC,2BAA2B,CAgBjC;IAEF,OAAO,CAAC,yBAAyB,CAkC/B;CACH"}
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ParamsExtractor = void 0;
4
+ const ethers_1 = require("ethers");
5
+ const TypesNormalizer_1 = require("./TypesNormalizer");
6
+ class ParamsExtractor {
7
+ artifactDeclarationUnprocessed;
8
+ descriptors;
9
+ static build = (artifactDeclarationUnprocessed, descriptors) => {
10
+ return new ParamsExtractor(artifactDeclarationUnprocessed, descriptors);
11
+ };
12
+ constructor(artifactDeclarationUnprocessed, descriptors) {
13
+ this.artifactDeclarationUnprocessed = artifactDeclarationUnprocessed;
14
+ this.descriptors = descriptors;
15
+ }
16
+ get artifact() {
17
+ return this.artifactDeclarationUnprocessed;
18
+ }
19
+ get retrieveInstanceDescriptors() {
20
+ return this.descriptors;
21
+ }
22
+ artifactData = async (artifact = this.artifact) => {
23
+ const { addressClause: artifactAddress, initClause, paramsClause, } = this.toComponents(artifact);
24
+ const { execParamsTypes, initParamsTypes } = await this.retrieveInstanceDescriptors(artifactAddress);
25
+ const execParamsList = this.getAllArgumentsWithIndices(paramsClause);
26
+ const execSubstitutionParamsList = this.getSubstitutionsWithIndices(execParamsList);
27
+ const execKnownParamsList = this.getKnownParamsWithIndices(execParamsList, execParamsTypes);
28
+ const execRuntimeVariablesIndices = this.getRuntimeVariablesIndices(execParamsList);
29
+ const execRuntimeVariablesInjectionsWithIndices = this.getInjectionsWithIndices(execParamsList);
30
+ let initDataParams = [];
31
+ if (initClause) {
32
+ initDataParams = this.getAllArguments(initClause);
33
+ }
34
+ const initDataParamsSolidityPacked = TypesNormalizer_1.TypesNormalizer.toSolidityEncodedValueFromString(initParamsTypes, initDataParams);
35
+ return {
36
+ artifactAddress,
37
+ execKnownParamsList,
38
+ execSubstitutionParamsList,
39
+ execRuntimeVariablesIndices,
40
+ execRuntimeVariablesInjectionsWithIndices,
41
+ needsInitialization: initClause !== null,
42
+ argsCount: execParamsList.length,
43
+ initDataParamsSolidityPacked,
44
+ };
45
+ };
46
+ toComponents(artifact = this.artifact) {
47
+ const artifactMatcher = /\{([^}]+)\}\s*\(([^)]*)\)(?:\s*<([^>]*)>)?/;
48
+ const matched = artifact.match(artifactMatcher);
49
+ if (!!matched) {
50
+ const [, addressClause, paramsClause, initClause] = matched;
51
+ return {
52
+ addressClause: (0, ethers_1.getAddress)(addressClause),
53
+ initClause: initClause ?? null,
54
+ paramsClause,
55
+ };
56
+ }
57
+ throw new Error('Artifact intermediate presentation does not match the expected format.');
58
+ }
59
+ getAllArguments(clause) {
60
+ if (clause.trim() === '') {
61
+ return [];
62
+ }
63
+ const extractedParams = clause.split(',').map((value) => value.trim());
64
+ return extractedParams;
65
+ }
66
+ getAllArgumentsWithIndices = (clause) => {
67
+ const extracted = this.getAllArguments(clause);
68
+ const extractedWithIndex = extracted.map((v, i) => ({
69
+ value: v,
70
+ index: i,
71
+ }));
72
+ return extractedWithIndex;
73
+ };
74
+ getRuntimeVariables = (paramsList) => {
75
+ const isVariableFilter = (v) => {
76
+ const regex = /^var/;
77
+ return regex.test(v);
78
+ };
79
+ const runtimeVariables = paramsList.filter(({ value }) => isVariableFilter(value));
80
+ return runtimeVariables;
81
+ };
82
+ getRuntimeVariablesIndices = (paramsList) => {
83
+ const variableIndices = this.getRuntimeVariables(paramsList).map(({ index }) => index);
84
+ return variableIndices;
85
+ };
86
+ getInjectionsWithIndices = (paramsList) => {
87
+ const extractInjection = (input) => {
88
+ const matched = input.match(/\$"([^"]*)"$/);
89
+ if (!!matched)
90
+ return matched[1];
91
+ return '';
92
+ };
93
+ const injectionMapper = (v, indexOfValueInVariablesList) => {
94
+ const extracted = extractInjection(v.value);
95
+ if (!!extracted && extracted !== '') {
96
+ return {
97
+ value: v.value,
98
+ index: indexOfValueInVariablesList,
99
+ };
100
+ }
101
+ return undefined;
102
+ };
103
+ const injectionsListUnsafe = this.getRuntimeVariables(paramsList).map(injectionMapper);
104
+ const injectionsList = injectionsListUnsafe.filter((v) => !!v);
105
+ return injectionsList;
106
+ };
107
+ getSubstitutionsWithIndices = (paramsList) => {
108
+ const isSubstitutionFilter = (v) => {
109
+ return v.startsWith('|', 0) && v.endsWith('|');
110
+ };
111
+ const substitutions = paramsList
112
+ .filter(({ value }) => isSubstitutionFilter(value))
113
+ .map(({ value: filteredValue, index }) => ({
114
+ from: filteredValue.replace(/\|/g, ''),
115
+ atPos: index,
116
+ }));
117
+ return substitutions;
118
+ };
119
+ getKnownParamsWithIndices = (paramsList, argsTypes) => {
120
+ const isConstantFilter = (value) => {
121
+ const regex = /^(?!var)(?!\|.*\|$).*/;
122
+ return regex.test(value);
123
+ };
124
+ const knownParamsFiltered = paramsList.filter(({ value }) => isConstantFilter(value));
125
+ if (knownParamsFiltered.length > argsTypes.length) {
126
+ throw new Error(`Extraction error. Provided onchain types list length (${argsTypes.length})
127
+ is less than extracted constants list length (${knownParamsFiltered.length})`);
128
+ }
129
+ const knownParamsWithIndices = knownParamsFiltered.map(({ value: filteredValue, index }) => {
130
+ const encodedConstantWithIndex = {
131
+ value: TypesNormalizer_1.TypesNormalizer.toSolidityEncodedValueFromString([argsTypes[index]], [filteredValue]),
132
+ index,
133
+ };
134
+ return encodedConstantWithIndex;
135
+ });
136
+ return knownParamsWithIndices;
137
+ };
138
+ }
139
+ exports.ParamsExtractor = ParamsExtractor;
140
+ //# sourceMappingURL=ParamsExtractor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParamsExtractor.js","sourceRoot":"","sources":["../../../../../src/ir-notation/parser/parser-contracts/tools/ParamsExtractor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { KnownTSType, SolidityType } from '../types';
2
+ export declare class TypesNormalizer {
3
+ static toSolidityEncodedValueFromString(soldityTypes: string[], valuesAsStringList: string[]): string;
4
+ static toTsValueFromString(type: SolidityType, valueAsString: string): KnownTSType;
5
+ static toTsArrayFromStringArray: (soldityTypes: string[], valuesAsStringList: string[]) => Array<KnownTSType>;
6
+ }
7
+ //# sourceMappingURL=TypesNormalizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypesNormalizer.d.ts","sourceRoot":"","sources":["../../../../../src/ir-notation/parser/parser-contracts/tools/TypesNormalizer.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,WAAW,EACX,YAAY,EAEb,MAAM,UAAU,CAAC;AAElB,qBAAa,eAAe;IAE1B,MAAM,CAAC,gCAAgC,CACrC,YAAY,EAAE,MAAM,EAAE,EACtB,kBAAkB,EAAE,MAAM,EAAE,GAC3B,MAAM;IAYT,MAAM,CAAC,mBAAmB,CACxB,IAAI,EAAE,YAAY,EAClB,aAAa,EAAE,MAAM,GACpB,WAAW;IA0Bd,MAAM,CAAC,wBAAwB,iBACf,MAAM,EAAE,sBACF,MAAM,EAAE,KAC3B,KAAK,CAAC,WAAW,CAAC,CAkBnB;CACH"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TypesNormalizer = void 0;
4
+ const shared_1 = require("@guardian-network/shared");
5
+ const ethers_1 = require("ethers");
6
+ const guards_1 = require("../guards");
7
+ const types_1 = require("../types");
8
+ class TypesNormalizer {
9
+ static toSolidityEncodedValueFromString(soldityTypes, valuesAsStringList) {
10
+ const convertedValues = this.toTsArrayFromStringArray(soldityTypes, valuesAsStringList);
11
+ return (0, shared_1.solidityEncode)(soldityTypes, convertedValues);
12
+ }
13
+ static toTsValueFromString(type, valueAsString) {
14
+ const getBool = (value) => {
15
+ return value === 'true' ? true : false;
16
+ };
17
+ switch (type) {
18
+ case types_1.SupportedSolidityTypesEnum.Address:
19
+ return (0, ethers_1.getAddress)(valueAsString);
20
+ case types_1.SupportedSolidityTypesEnum.Bool:
21
+ return getBool(valueAsString);
22
+ case types_1.SupportedSolidityTypesEnum.String:
23
+ return valueAsString.replace(/^"(.*)"$/, '$1');
24
+ case types_1.SupportedSolidityTypesEnum.Bytes:
25
+ return (0, ethers_1.getBytes)(valueAsString);
26
+ case types_1.SupportedSolidityTypesEnum.Uint256:
27
+ return BigInt(valueAsString);
28
+ default:
29
+ throw new Error(`Can not normalize. Provided Solidity type ${type} is known yet unsupported`);
30
+ }
31
+ }
32
+ static toTsArrayFromStringArray = (soldityTypes, valuesAsStringList) => {
33
+ if (soldityTypes.length !== valuesAsStringList.length) {
34
+ throw new Error(`Can not convert to Typescript value: Solidity-Types ${soldityTypes.length} and Values ${valuesAsStringList.length} arrays lengths not match`);
35
+ }
36
+ const typedValuesList = valuesAsStringList.map((value, index) => {
37
+ const solidityTypeName = soldityTypes[index];
38
+ if ((0, guards_1.isSupportedSolidityType)(solidityTypeName)) {
39
+ return this.toTsValueFromString(solidityTypeName, value);
40
+ }
41
+ else {
42
+ throw new Error(`Supplied unknown Solidity type ${solidityTypeName}`);
43
+ }
44
+ });
45
+ return typedValuesList;
46
+ };
47
+ }
48
+ exports.TypesNormalizer = TypesNormalizer;
49
+ //# sourceMappingURL=TypesNormalizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypesNormalizer.js","sourceRoot":"","sources":["../../../../../src/ir-notation/parser/parser-contracts/tools/TypesNormalizer.ts"],"names":[],"mappings":";;;AAAA,qDAA0D;AAC1D,mCAA8C;AAC9C,sCAAoD;AACpD,oCAIkB;AAElB,MAAa,eAAe;IAE1B,MAAM,CAAC,gCAAgC,CACrC,YAAsB,EACtB,kBAA4B;QAG5B,MAAM,eAAe,GAAG,IAAI,CAAC,wBAAwB,CACnD,YAAY,EACZ,kBAAkB,CACnB,CAAC;QAGF,OAAO,IAAA,uBAAc,EAAC,YAAY,EAAE,eAAe,CAAC,CAAC;IACvD,CAAC;IAGD,MAAM,CAAC,mBAAmB,CACxB,IAAkB,EAClB,aAAqB;QAErB,MAAM,OAAO,GAAG,CAAC,KAAa,EAAW,EAAE;YACzC,OAAO,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QACzC,CAAC,CAAC;QAEF,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,kCAA0B,CAAC,OAAO;gBACrC,OAAO,IAAA,mBAAU,EAAC,aAAa,CAAC,CAAC;YACnC,KAAK,kCAA0B,CAAC,IAAI;gBAClC,OAAO,OAAO,CAAC,aAAa,CAAC,CAAC;YAChC,KAAK,kCAA0B,CAAC,MAAM;gBACpC,OAAO,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACjD,KAAK,kCAA0B,CAAC,KAAK;gBACnC,OAAO,IAAA,iBAAQ,EAAC,aAAa,CAAC,CAAC;YACjC,KAAK,kCAA0B,CAAC,OAAO;gBACrC,OAAO,MAAM,CAAC,aAAa,CAAC,CAAC;YAC/B;gBAEE,MAAM,IAAI,KAAK,CACb,6CAA6C,IAAI,2BAA2B,CAC7E,CAAC;QACN,CAAC;IACH,CAAC;IAID,MAAM,CAAC,wBAAwB,GAAG,CAChC,YAAsB,EACtB,kBAA4B,EACR,EAAE;QACtB,IAAI,YAAY,CAAC,MAAM,KAAK,kBAAkB,CAAC,MAAM,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CACb,uDAAuD,YAAY,CAAC,MAAM,eAAe,kBAAkB,CAAC,MAAM,2BAA2B,CAC9I,CAAC;QACJ,CAAC;QAED,MAAM,eAAe,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC9D,MAAM,gBAAgB,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,IAAA,gCAAuB,EAAC,gBAAgB,CAAC,EAAE,CAAC;gBAE9C,OAAO,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,kCAAkC,gBAAgB,EAAE,CAAC,CAAC;YACxE,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,eAAe,CAAC;IACzB,CAAC,CAAC;;AAnEJ,0CAoEC"}
@@ -0,0 +1,6 @@
1
+ export * from './ParamsExtractor';
2
+ export * from './tools.helper';
3
+ export { DSLConfigArgsTypesSource } from './types-source/DSLConfigArgsTypesSource';
4
+ export { OnchainDescriptorArgsTypesSource } from './types-source/OnchainDescriptorArgsTypesSource';
5
+ export * from './TypesNormalizer';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/ir-notation/parser/parser-contracts/tools/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,EAAE,gCAAgC,EAAE,MAAM,iDAAiD,CAAC;AACnG,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.OnchainDescriptorArgsTypesSource = exports.DSLConfigArgsTypesSource = void 0;
18
+ __exportStar(require("./ParamsExtractor"), exports);
19
+ __exportStar(require("./tools.helper"), exports);
20
+ var DSLConfigArgsTypesSource_1 = require("./types-source/DSLConfigArgsTypesSource");
21
+ Object.defineProperty(exports, "DSLConfigArgsTypesSource", { enumerable: true, get: function () { return DSLConfigArgsTypesSource_1.DSLConfigArgsTypesSource; } });
22
+ var OnchainDescriptorArgsTypesSource_1 = require("./types-source/OnchainDescriptorArgsTypesSource");
23
+ Object.defineProperty(exports, "OnchainDescriptorArgsTypesSource", { enumerable: true, get: function () { return OnchainDescriptorArgsTypesSource_1.OnchainDescriptorArgsTypesSource; } });
24
+ __exportStar(require("./TypesNormalizer"), exports);
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/ir-notation/parser/parser-contracts/tools/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,iDAA+B;AAC/B,oFAAmF;AAA1E,oIAAA,wBAAwB,OAAA;AACjC,oGAAmG;AAA1F,oJAAA,gCAAgC,OAAA;AACzC,oDAAkC"}
@@ -0,0 +1,5 @@
1
+ import { ContractRunner } from 'ethers';
2
+ import { GetTypesValues, IArgsTypesSource } from '../types';
3
+ export declare const toUnprocessedArtifactsList: (intermediatePresentation: string) => Array<string>;
4
+ export declare const createOrInferTypesSource: (providerOrSource: ContractRunner | IArgsTypesSource) => GetTypesValues;
5
+ //# sourceMappingURL=tools.helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.helper.d.ts","sourceRoot":"","sources":["../../../../../src/ir-notation/parser/parser-contracts/tools/tools.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAExC,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAI5D,eAAO,MAAM,0BAA0B,6BACX,MAAM,KAC/B,KAAK,CAAC,MAAM,CASd,CAAC;AAEF,eAAO,MAAM,wBAAwB,qBACjB,cAAc,GAAG,gBAAgB,KAClD,cAWF,CAAC"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createOrInferTypesSource = exports.toUnprocessedArtifactsList = void 0;
4
+ const guards_1 = require("../guards");
5
+ const OnchainDescriptorArgsTypesSource_1 = require("./types-source/OnchainDescriptorArgsTypesSource");
6
+ const toUnprocessedArtifactsList = (intermediatePresentation) => {
7
+ const list = intermediatePresentation
8
+ .trim()
9
+ .split(/\r?\n/)
10
+ .map((v) => v.trim());
11
+ return list;
12
+ };
13
+ exports.toUnprocessedArtifactsList = toUnprocessedArtifactsList;
14
+ const createOrInferTypesSource = (providerOrSource) => {
15
+ let getTypesSource;
16
+ if ((0, guards_1.isContractProviderType)(providerOrSource)) {
17
+ getTypesSource = new OnchainDescriptorArgsTypesSource_1.OnchainDescriptorArgsTypesSource(providerOrSource)
18
+ .getTypes;
19
+ }
20
+ else {
21
+ getTypesSource = providerOrSource.getTypes;
22
+ }
23
+ return getTypesSource;
24
+ };
25
+ exports.createOrInferTypesSource = createOrInferTypesSource;
26
+ //# sourceMappingURL=tools.helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.helper.js","sourceRoot":"","sources":["../../../../../src/ir-notation/parser/parser-contracts/tools/tools.helper.ts"],"names":[],"mappings":";;;AACA,sCAAmD;AAEnD,sGAAmG;AAG5F,MAAM,0BAA0B,GAAG,CACxC,wBAAgC,EACjB,EAAE;IAEjB,MAAM,IAAI,GAAG,wBAAwB;SAClC,IAAI,EAAE;SACN,KAAK,CAAC,OAAO,CAAC;SACd,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAGxB,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAXW,QAAA,0BAA0B,8BAWrC;AAEK,MAAM,wBAAwB,GAAG,CACtC,gBAAmD,EACnC,EAAE;IAClB,IAAI,cAA8B,CAAC;IAEnC,IAAI,IAAA,+BAAsB,EAAC,gBAAgB,CAAC,EAAE,CAAC;QAC7C,cAAc,GAAG,IAAI,mEAAgC,CAAC,gBAAgB,CAAC;aACpE,QAAQ,CAAC;IACd,CAAC;SAAM,CAAC;QACN,cAAc,GAAG,gBAAgB,CAAC,QAAQ,CAAC;IAC7C,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAbW,QAAA,wBAAwB,4BAanC"}
@@ -0,0 +1,10 @@
1
+ import { InstanceConfig } from '@guardian-network/shared';
2
+ import { ExecInitArtifactTypes, IArgsTypesSource } from '../../types';
3
+ export declare class DSLConfigArgsTypesSource implements IArgsTypesSource {
4
+ private configList;
5
+ static build: (ipArtifactInstanceConfigList: InstanceConfig[]) => DSLConfigArgsTypesSource;
6
+ constructor(configList: InstanceConfig[]);
7
+ private getArtifactConfiguration;
8
+ getTypes: (instanceAddress: string, posAtConfigList?: number) => Promise<ExecInitArtifactTypes>;
9
+ }
10
+ //# sourceMappingURL=DSLConfigArgsTypesSource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DSLConfigArgsTypesSource.d.ts","sourceRoot":"","sources":["../../../../../../src/ir-notation/parser/parser-contracts/tools/types-source/DSLConfigArgsTypesSource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEtE,qBAAa,wBAAyB,YAAW,gBAAgB;IAOnD,OAAO,CAAC,UAAU;IAN9B,MAAM,CAAC,KAAK,iCACoB,cAAc,EAAE,KAC7C,wBAAwB,CAEzB;gBAEkB,UAAU,EAAE,cAAc,EAAE;IAEhD,OAAO,CAAC,wBAAwB,CAoB9B;IAEF,QAAQ,oBACW,MAAM,oBACL,MAAM,KACvB,OAAO,CAAC,qBAAqB,CAAC,CAY/B;CACH"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DSLConfigArgsTypesSource = void 0;
4
+ const helpers_1 = require("../../../../helpers");
5
+ class DSLConfigArgsTypesSource {
6
+ configList;
7
+ static build = (ipArtifactInstanceConfigList) => {
8
+ return new DSLConfigArgsTypesSource(ipArtifactInstanceConfigList);
9
+ };
10
+ constructor(configList) {
11
+ this.configList = configList;
12
+ }
13
+ getArtifactConfiguration = (instanceAddress, pos) => {
14
+ const isPosProvided = typeof pos !== 'undefined';
15
+ if (!isPosProvided) {
16
+ throw new Error('Config index in index list is not provided');
17
+ }
18
+ const config = this.configList.find((value, index) => value.artifactAddress === instanceAddress && index == pos);
19
+ if (!config) {
20
+ throw new Error(`The artifact config of ${instanceAddress} is not found within config list at pos ${pos}`);
21
+ }
22
+ return config;
23
+ };
24
+ getTypes = async (instanceAddress, posAtConfigList) => {
25
+ const { initArguments: initArgsRaw, execArguments: execArgsRaw } = this.getArtifactConfiguration(instanceAddress, posAtConfigList);
26
+ const initParamsTypes = initArgsRaw
27
+ .map((v) => v.type)
28
+ .map(helpers_1.DSLTypesToIRTypes);
29
+ const execParamsTypes = execArgsRaw
30
+ .map((v) => v.type)
31
+ .map(helpers_1.DSLTypesToIRTypes);
32
+ return { initParamsTypes, execParamsTypes };
33
+ };
34
+ }
35
+ exports.DSLConfigArgsTypesSource = DSLConfigArgsTypesSource;
36
+ //# sourceMappingURL=DSLConfigArgsTypesSource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DSLConfigArgsTypesSource.js","sourceRoot":"","sources":["../../../../../../src/ir-notation/parser/parser-contracts/tools/types-source/DSLConfigArgsTypesSource.ts"],"names":[],"mappings":";;;AACA,iDAAwD;AAGxD,MAAa,wBAAwB;IAOf;IANpB,MAAM,CAAC,KAAK,GAAG,CACb,4BAA8C,EACpB,EAAE;QAC5B,OAAO,IAAI,wBAAwB,CAAC,4BAA4B,CAAC,CAAC;IACpE,CAAC,CAAC;IAEF,YAAoB,UAA4B;QAA5B,eAAU,GAAV,UAAU,CAAkB;IAAG,CAAC;IAE5C,wBAAwB,GAAG,CACjC,eAAuB,EACvB,GAAY,EACI,EAAE;QAClB,MAAM,aAAa,GAAG,OAAO,GAAG,KAAK,WAAW,CAAC;QACjD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CACjC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CACf,KAAK,CAAC,eAAe,KAAK,eAAe,IAAI,KAAK,IAAI,GAAG,CAC5D,CAAC;QAEF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CACb,0BAA0B,eAAe,2CAA2C,GAAG,EAAE,CAC1F,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,QAAQ,GAAG,KAAK,EACd,eAAuB,EACvB,eAAwB,EACQ,EAAE;QAClC,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,GAC9D,IAAI,CAAC,wBAAwB,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;QAElE,MAAM,eAAe,GAAG,WAAW;aAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;aAClB,GAAG,CAAC,2BAAiB,CAAC,CAAC;QAC1B,MAAM,eAAe,GAAG,WAAW;aAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;aAClB,GAAG,CAAC,2BAAiB,CAAC,CAAC;QAE1B,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC;IAC9C,CAAC,CAAC;;AA9CJ,4DA+CC"}
@@ -0,0 +1,12 @@
1
+ import { ContractRunner } from 'ethers';
2
+ import { ExecInitArtifactTypes, ExecInitArtifactTypesAndNames, IArgsTypesAndNamesSource, IArgsTypesSource } from '../../types';
3
+ export declare class OnchainDescriptorArgsTypesSource implements IArgsTypesAndNamesSource, IArgsTypesSource {
4
+ private provider;
5
+ private artifactInstance;
6
+ constructor(provider: ContractRunner);
7
+ protected connectInstance: (artifactAddress: string) => this;
8
+ private getTypesValues;
9
+ getTypes: (instanceAddress: string) => Promise<ExecInitArtifactTypes>;
10
+ getTypesAndNames: (instanceAddress: string) => Promise<ExecInitArtifactTypesAndNames>;
11
+ }
12
+ //# sourceMappingURL=OnchainDescriptorArgsTypesSource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OnchainDescriptorArgsTypesSource.d.ts","sourceRoot":"","sources":["../../../../../../src/ir-notation/parser/parser-contracts/tools/types-source/OnchainDescriptorArgsTypesSource.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EACL,qBAAqB,EACrB,6BAA6B,EAC7B,wBAAwB,EACxB,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAErB,qBAAa,gCACX,YAAW,wBAAwB,EAAE,gBAAgB;IAIzC,OAAO,CAAC,QAAQ;IAF5B,OAAO,CAAC,gBAAgB,CAA6B;gBAEjC,QAAQ,EAAE,cAAc;IAE5C,SAAS,CAAC,eAAe,oBAAqB,MAAM,UAOlD;IAEF,OAAO,CAAC,cAAc,CAQpB;IAEF,QAAQ,oBACW,MAAM,KACtB,OAAO,CAAC,qBAAqB,CAAC,CAW/B;IAEF,gBAAgB,oBACG,MAAM,KACtB,OAAO,CAAC,6BAA6B,CAAC,CAmBvC;CACH"}