@beclab/olaresid 0.1.13 → 0.2.1

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 (182) hide show
  1. package/CLI-TREE.md +107 -0
  2. package/CLI.md +122 -1340
  3. package/README.md +30 -12
  4. package/SDK-TREE.md +151 -0
  5. package/TAG.md +95 -41
  6. package/config.json +6 -4
  7. package/dist/abi/TerminusDIDQueryABI.d.ts +397 -0
  8. package/dist/abi/TerminusDIDQueryABI.d.ts.map +1 -0
  9. package/dist/abi/TerminusDIDQueryABI.js +519 -0
  10. package/dist/abi/TerminusDIDQueryABI.js.map +1 -0
  11. package/dist/business/index.d.ts.map +1 -1
  12. package/dist/business/index.js +9 -23
  13. package/dist/business/index.js.map +1 -1
  14. package/dist/business/tag-context.d.ts +1 -0
  15. package/dist/business/tag-context.d.ts.map +1 -1
  16. package/dist/business/tag-context.js +13 -7
  17. package/dist/business/tag-context.js.map +1 -1
  18. package/dist/cli.js +177 -76
  19. package/dist/cli.js.map +1 -1
  20. package/dist/config/index.d.ts +16 -4
  21. package/dist/config/index.d.ts.map +1 -1
  22. package/dist/config/index.js +28 -14
  23. package/dist/config/index.js.map +1 -1
  24. package/dist/domain/core.d.ts +65 -0
  25. package/dist/domain/core.d.ts.map +1 -0
  26. package/dist/domain/core.js +317 -0
  27. package/dist/domain/core.js.map +1 -0
  28. package/dist/domain/index.d.ts +104 -57
  29. package/dist/domain/index.d.ts.map +1 -1
  30. package/dist/domain/index.js +188 -428
  31. package/dist/domain/index.js.map +1 -1
  32. package/dist/domain/types.d.ts +56 -0
  33. package/dist/domain/types.d.ts.map +1 -0
  34. package/dist/domain/types.js +3 -0
  35. package/dist/domain/types.js.map +1 -0
  36. package/dist/index.d.ts +81 -23
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +158 -143
  39. package/dist/index.js.map +1 -1
  40. package/dist/utils/crypto-utils.d.ts +110 -0
  41. package/dist/utils/crypto-utils.d.ts.map +1 -1
  42. package/dist/utils/crypto-utils.js +127 -8
  43. package/dist/utils/crypto-utils.js.map +1 -1
  44. package/dist/utils/error-parser.d.ts.map +1 -1
  45. package/dist/utils/error-parser.js +2 -1
  46. package/dist/utils/error-parser.js.map +1 -1
  47. package/dist/utils/event-parser.d.ts +161 -0
  48. package/dist/utils/event-parser.d.ts.map +1 -0
  49. package/dist/utils/event-parser.js +140 -0
  50. package/dist/utils/event-parser.js.map +1 -0
  51. package/dist/utils/tag-type-builder.d.ts +43 -0
  52. package/dist/utils/tag-type-builder.d.ts.map +1 -1
  53. package/dist/utils/tag-type-builder.js +122 -0
  54. package/dist/utils/tag-type-builder.js.map +1 -1
  55. package/dist/utils/tag-type-parser.d.ts +70 -0
  56. package/dist/utils/tag-type-parser.d.ts.map +1 -0
  57. package/dist/utils/tag-type-parser.js +190 -0
  58. package/dist/utils/tag-type-parser.js.map +1 -0
  59. package/examples/create-with-rpc-demo.ts +142 -0
  60. package/examples/fetch-all-flat-demo.ts +159 -0
  61. package/examples/fetch-by-indices-demo.ts +235 -0
  62. package/examples/fetch-domain-demo.ts +137 -0
  63. package/examples/fetch-domains-demo.ts +221 -0
  64. package/examples/frontend-demo/index.html +2 -2
  65. package/examples/frontend-demo/package-lock.json +4 -1
  66. package/examples/index.ts +3 -5
  67. package/jest.config.js +25 -0
  68. package/package.json +6 -2
  69. package/src/abi/TerminusDIDQueryABI.ts +516 -0
  70. package/src/business/index.ts +9 -33
  71. package/src/business/tag-context.ts +35 -7
  72. package/src/cli.ts +253 -90
  73. package/src/config/index.ts +34 -19
  74. package/src/domain/core.ts +382 -0
  75. package/src/domain/index.ts +271 -641
  76. package/src/domain/types.ts +59 -0
  77. package/src/index.ts +230 -207
  78. package/src/utils/crypto-utils.ts +205 -2
  79. package/src/utils/error-parser.ts +2 -1
  80. package/src/utils/event-parser.ts +353 -0
  81. package/src/utils/tag-type-builder.ts +138 -0
  82. package/src/utils/tag-type-parser.ts +246 -0
  83. package/tests/unit/crypto-utils.test.ts +338 -0
  84. package/tests/unit/ed25519-jwk.test.ts +201 -0
  85. package/tests/unit/event-parser.test.ts +690 -0
  86. package/tests/unit/generate-mnemonic.test.ts +268 -0
  87. package/tests/unit/olares-id-format.test.ts +321 -0
  88. package/tests/unit/tag-type-parser.test.ts +802 -0
  89. package/tests/unit/tag-types.test.ts +821 -0
  90. package/tests/unit/version.test.ts +14 -0
  91. package/tsconfig.json +3 -2
  92. package/dist/abi/ABITypeABI.d.ts +0 -88
  93. package/dist/abi/ABITypeABI.d.ts.map +0 -1
  94. package/dist/abi/ABITypeABI.js +0 -382
  95. package/dist/abi/ABITypeABI.js.map +0 -1
  96. package/dist/abi/RegistryABI.d.ts +0 -77
  97. package/dist/abi/RegistryABI.d.ts.map +0 -1
  98. package/dist/abi/RegistryABI.js +0 -462
  99. package/dist/abi/RegistryABI.js.map +0 -1
  100. package/dist/tag/address.d.ts +0 -11
  101. package/dist/tag/address.d.ts.map +0 -1
  102. package/dist/tag/address.js +0 -44
  103. package/dist/tag/address.js.map +0 -1
  104. package/dist/tag/array.d.ts +0 -14
  105. package/dist/tag/array.d.ts.map +0 -1
  106. package/dist/tag/array.js +0 -72
  107. package/dist/tag/array.js.map +0 -1
  108. package/dist/tag/bool.d.ts +0 -11
  109. package/dist/tag/bool.d.ts.map +0 -1
  110. package/dist/tag/bool.js +0 -43
  111. package/dist/tag/bool.js.map +0 -1
  112. package/dist/tag/bytes.d.ts +0 -11
  113. package/dist/tag/bytes.d.ts.map +0 -1
  114. package/dist/tag/bytes.js +0 -37
  115. package/dist/tag/bytes.js.map +0 -1
  116. package/dist/tag/flarray.d.ts +0 -15
  117. package/dist/tag/flarray.d.ts.map +0 -1
  118. package/dist/tag/flarray.js +0 -81
  119. package/dist/tag/flarray.js.map +0 -1
  120. package/dist/tag/flbytes.d.ts +0 -11
  121. package/dist/tag/flbytes.d.ts.map +0 -1
  122. package/dist/tag/flbytes.js +0 -47
  123. package/dist/tag/flbytes.js.map +0 -1
  124. package/dist/tag/index.d.ts +0 -32
  125. package/dist/tag/index.d.ts.map +0 -1
  126. package/dist/tag/index.js +0 -121
  127. package/dist/tag/index.js.map +0 -1
  128. package/dist/tag/int.d.ts +0 -12
  129. package/dist/tag/int.d.ts.map +0 -1
  130. package/dist/tag/int.js +0 -49
  131. package/dist/tag/int.js.map +0 -1
  132. package/dist/tag/string.d.ts +0 -11
  133. package/dist/tag/string.d.ts.map +0 -1
  134. package/dist/tag/string.js +0 -37
  135. package/dist/tag/string.js.map +0 -1
  136. package/dist/tag/tag.d.ts +0 -67
  137. package/dist/tag/tag.d.ts.map +0 -1
  138. package/dist/tag/tag.js +0 -157
  139. package/dist/tag/tag.js.map +0 -1
  140. package/dist/tag/tuple.d.ts +0 -17
  141. package/dist/tag/tuple.d.ts.map +0 -1
  142. package/dist/tag/tuple.js +0 -162
  143. package/dist/tag/tuple.js.map +0 -1
  144. package/dist/tag/uint.d.ts +0 -12
  145. package/dist/tag/uint.d.ts.map +0 -1
  146. package/dist/tag/uint.js +0 -49
  147. package/dist/tag/uint.js.map +0 -1
  148. package/dist/test/did.d.ts +0 -2
  149. package/dist/test/did.d.ts.map +0 -1
  150. package/dist/test/did.js +0 -177
  151. package/dist/test/did.js.map +0 -1
  152. package/dist/utils/tag-abi-codec.d.ts +0 -69
  153. package/dist/utils/tag-abi-codec.d.ts.map +0 -1
  154. package/dist/utils/tag-abi-codec.js +0 -144
  155. package/dist/utils/tag-abi-codec.js.map +0 -1
  156. package/examples/crypto-utilities.ts +0 -140
  157. package/examples/ed25519-jwk.ts +0 -73
  158. package/examples/generate-mnemonic.ts +0 -149
  159. package/examples/legacy.ts +0 -33
  160. package/examples/olares-id-format.ts +0 -197
  161. package/examples/tag-builder.ts +0 -235
  162. package/examples/tag-nested-tuple.ts +0 -190
  163. package/examples/tag-simple.ts +0 -149
  164. package/examples/tag-tagger.ts +0 -217
  165. package/examples/test-nested-tuple-conversion.ts +0 -143
  166. package/examples/test-type-bytes-parser.ts +0 -70
  167. package/src/abi/ABITypeABI.ts +0 -379
  168. package/src/abi/RegistryABI.ts +0 -459
  169. package/src/tag/address.ts +0 -48
  170. package/src/tag/array.ts +0 -80
  171. package/src/tag/bool.ts +0 -43
  172. package/src/tag/bytes.ts +0 -38
  173. package/src/tag/flarray.ts +0 -99
  174. package/src/tag/flbytes.ts +0 -48
  175. package/src/tag/index.ts +0 -170
  176. package/src/tag/int.ts +0 -51
  177. package/src/tag/string.ts +0 -38
  178. package/src/tag/tag.ts +0 -229
  179. package/src/tag/tuple.ts +0 -193
  180. package/src/tag/uint.ts +0 -51
  181. package/src/test/did.ts +0 -346
  182. package/src/utils/tag-abi-codec.ts +0 -158
@@ -1 +0,0 @@
1
- {"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../src/tag/tag.ts"],"names":[],"mappings":"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"}
package/dist/tag/tag.js DELETED
@@ -1,157 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Box = exports.TagBase = exports.parserHolder = exports.ParserHolder = exports.readByte = exports.read2Byte = exports.needLength = exports.TagType = void 0;
4
- const ethers_1 = require("ethers");
5
- var TagType;
6
- (function (TagType) {
7
- TagType["INT"] = "00";
8
- TagType["UINT"] = "01";
9
- TagType["BOOL"] = "02";
10
- TagType["STRING"] = "03";
11
- TagType["ARRAY"] = "04";
12
- TagType["FL_ARRAY"] = "05";
13
- TagType["TUPLE"] = "06";
14
- TagType["ADDRESS"] = "07";
15
- TagType["FL_BYTES"] = "08";
16
- TagType["BYTES"] = "09";
17
- })(TagType || (exports.TagType = TagType = {}));
18
- const needLength = (type) => {
19
- return type == TagType.INT;
20
- };
21
- exports.needLength = needLength;
22
- const read2Byte = (hex, index) => {
23
- return hex.substring(index, index + 4);
24
- };
25
- exports.read2Byte = read2Byte;
26
- const readByte = (hex, index) => {
27
- return hex.substring(index, index + 2);
28
- };
29
- exports.readByte = readByte;
30
- class ParserHolder {
31
- constructor() {
32
- this.parse = undefined;
33
- this.setParser = (parse) => {
34
- this.parse = parse;
35
- };
36
- }
37
- }
38
- exports.ParserHolder = ParserHolder;
39
- exports.parserHolder = new ParserHolder();
40
- class TagBase {
41
- constructor(typeBytes, index, builder) {
42
- this.getFieldNames = () => {
43
- if (this instanceof Box) {
44
- let a = this.getFieldName();
45
- return a;
46
- }
47
- else {
48
- let a = [];
49
- return a;
50
- }
51
- };
52
- this.typeName = () => {
53
- switch (this.type) {
54
- case TagType.INT:
55
- return `int${this.boxData.length}`;
56
- case TagType.UINT:
57
- return `uint${this.boxData.length}`;
58
- case TagType.BOOL:
59
- return `bool`;
60
- case TagType.STRING:
61
- return 'string';
62
- case TagType.ARRAY:
63
- return `array<${this.boxData.arrayTag.typeName()}>`;
64
- case TagType.FL_ARRAY:
65
- return `array<${this.boxData.arrayTag.typeName()}>(${this.boxData.length})`;
66
- case TagType.TUPLE:
67
- return 'tuple';
68
- case TagType.ADDRESS:
69
- return 'address';
70
- case TagType.FL_BYTES:
71
- return `bytes${this.boxData.length}`;
72
- case TagType.BYTES:
73
- return 'bytes';
74
- default:
75
- return 'error';
76
- }
77
- };
78
- this.boxData = {};
79
- if (builder) {
80
- }
81
- else {
82
- if (typeBytes == undefined || index == undefined) {
83
- throw new Error("constructor value error, typeBytes and index can't be undefined");
84
- }
85
- let typeFlag = (0, exports.readByte)(typeBytes, index);
86
- switch (typeFlag) {
87
- case TagType.INT:
88
- this.type = TagType.INT;
89
- this.cursor = this.formatType((0, exports.readByte)(typeBytes, index + 2), index);
90
- break;
91
- case TagType.UINT:
92
- this.type = TagType.UINT;
93
- this.cursor = this.formatType((0, exports.readByte)(typeBytes, index + 2), index);
94
- break;
95
- case TagType.BOOL:
96
- this.type = TagType.BOOL;
97
- this.cursor = this.formatType(typeBytes, index);
98
- break;
99
- case TagType.STRING:
100
- this.type = TagType.STRING;
101
- this.cursor = this.formatType(typeBytes, index);
102
- break;
103
- case TagType.ARRAY:
104
- this.type = TagType.ARRAY;
105
- this.cursor = this.formatType(typeBytes, index);
106
- break;
107
- case TagType.FL_ARRAY:
108
- this.type = TagType.FL_ARRAY;
109
- this.cursor = this.formatType(typeBytes, index);
110
- break;
111
- case TagType.TUPLE:
112
- this.type = TagType.TUPLE;
113
- this.cursor = this.formatType(typeBytes, index);
114
- break;
115
- case TagType.ADDRESS:
116
- this.type = TagType.ADDRESS;
117
- this.cursor = this.formatType(typeBytes, index);
118
- break;
119
- case TagType.FL_BYTES:
120
- this.type = TagType.FL_BYTES;
121
- this.cursor = this.formatType(typeBytes, index);
122
- break;
123
- case TagType.BYTES:
124
- this.type = TagType.BYTES;
125
- this.cursor = this.formatType(typeBytes, index);
126
- break;
127
- default:
128
- throw new Error('formatType error');
129
- break;
130
- }
131
- // // console.log('cursor', this)
132
- }
133
- }
134
- parseValue(data) {
135
- let abiCoder = new ethers_1.ethers.AbiCoder();
136
- // // console.log('AbiTypeString', this.getAbiTypeString());
137
- // // console.dir(this, { depth: null });
138
- return abiCoder.decode([this.getAbiTypeString()], data, false);
139
- }
140
- hydration(data) {
141
- let d = this.parseValue(data);
142
- return this.doHydration(d[0]);
143
- }
144
- doHydration(d) {
145
- return d;
146
- }
147
- }
148
- exports.TagBase = TagBase;
149
- class Box extends TagBase {
150
- formatChild(typeBytes, index) {
151
- if (!exports.parserHolder.parse)
152
- throw new Error('not found parse');
153
- return exports.parserHolder.parse(typeBytes, index);
154
- }
155
- }
156
- exports.Box = Box;
157
- //# sourceMappingURL=tag.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tag.js","sourceRoot":"","sources":["../../src/tag/tag.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- import { TagBase, Box, ProviderHolder } from './tag';
2
- export declare class Tuple extends Box {
3
- constructor(typeBytes: string | undefined, index: number | undefined, builder: boolean);
4
- formatType(typeBytes: any, index: number): number;
5
- getAbiTypeString(): string;
6
- setFieldNames(names: string[] | string[][], index: number): number;
7
- doHydration(d: any): {
8
- [key: string]: any;
9
- };
10
- setField(name: string, type: TagBase): void;
11
- getAbiType: (providerHolder: ProviderHolder) => Promise<void>;
12
- getFieldName(): string[][];
13
- getParamTypes(): string;
14
- getParameters(data: any): any[];
15
- }
16
- export default Tuple;
17
- //# sourceMappingURL=tuple.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tuple.d.ts","sourceRoot":"","sources":["../../src/tag/tuple.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,OAAO,EAAE,GAAG,EAAa,cAAc,EAAE,MAAM,OAAO,CAAC;AAGrE,qBAAa,KAAM,SAAQ,GAAG;gBAE5B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,EAAE,OAAO;IAKjB,UAAU,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAwBjD,gBAAgB,IAAI,MAAM;IAc1B,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAwClE,WAAW,CAAC,CAAC,EAAE,GAAG;;;IAkBlB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO;IASpC,UAAU,GAAI,gBAAgB,cAAc,mBAkBxC;IAEJ,YAAY,IAAI,MAAM,EAAE,EAAE;IAsB1B,aAAa,IAAI,MAAM;IAkBvB,aAAa,CAAC,IAAI,EAAE,GAAG;CAavB;AAED,eAAe,KAAK,CAAC"}
package/dist/tag/tuple.js DELETED
@@ -1,162 +0,0 @@
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.Tuple = void 0;
7
- const tag_1 = require("./tag");
8
- const ethers_1 = require("ethers");
9
- const ABITypeABI_1 = __importDefault(require("../abi/ABITypeABI"));
10
- class Tuple extends tag_1.Box {
11
- constructor(typeBytes, index, builder) {
12
- super(typeBytes, index, builder);
13
- this.getAbiType = (providerHolder) => new Promise(async (resolve, reject) => {
14
- const c = new ethers_1.ethers.Contract(providerHolder.contractAbiType, ABITypeABI_1.default.abi, providerHolder.getProvider());
15
- let arr = '0x';
16
- for (const tag of this.boxData.tags) {
17
- let r = await tag.getAbiType(providerHolder);
18
- arr += r.substring(2);
19
- }
20
- // console.log('arr', arr);
21
- const resp = await c.tupleT(arr);
22
- // console.log('getAbiType', 'Tuple', resp);
23
- resolve(resp);
24
- });
25
- }
26
- formatType(typeBytes, index) {
27
- let lt = (0, tag_1.read2Byte)(typeBytes, index + 2);
28
- let length = parseInt(lt, 16);
29
- let parsedLen = index + 6;
30
- let tagArr = [];
31
- for (let k = 0; k < length; k++) {
32
- let { cursor, tag } = this.formatChild(typeBytes, parsedLen);
33
- parsedLen = cursor;
34
- if (tag == undefined) {
35
- throw new Error('formatType error in tuple');
36
- }
37
- tagArr.push(tag);
38
- }
39
- this.boxData = {
40
- tags: tagArr
41
- };
42
- // this.boxData.tags = tagArr as TagBase[]
43
- // console.log('this.boxData', this.boxData);
44
- return parsedLen;
45
- }
46
- getAbiTypeString() {
47
- let str = '';
48
- for (const tag of this.boxData.tags) {
49
- // // console.log (tag)
50
- if (tag.fieldName == undefined) {
51
- str = str + ',' + tag.getAbiTypeString();
52
- }
53
- else {
54
- str = str + ',' + `${tag.getAbiTypeString()} ${tag.fieldName}`;
55
- }
56
- }
57
- return `tuple(${str.substring(1)})`;
58
- }
59
- setFieldNames(names, index) {
60
- // console.log('setFieldNames');
61
- // console.log(names);
62
- // console.log(this.boxData.tags);
63
- let fieldNames = names[index];
64
- index++;
65
- let indexInBox = 0;
66
- for (const tag of this.boxData.tags) {
67
- tag.fieldName = fieldNames[indexInBox];
68
- indexInBox++;
69
- // console.log('set FieldNames');
70
- // console.log(tag);
71
- // console.log('indexInBox', indexInBox);
72
- if (tag instanceof tag_1.Box) {
73
- // // console.log('in Box')
74
- // // console.log(names [index])
75
- // // console.log(tag)
76
- // // console.log(names)
77
- // fix build
78
- // if (indexInBox >= names.length) {
79
- // indexInBox = index
80
- // }
81
- const nextIndex = tag.setFieldNames(names, index);
82
- index = nextIndex;
83
- }
84
- // if (tag instanceof Box) {
85
- // // console.log(tag)
86
- // // console.log(this)
87
- // throw new Error('tuple not support 2 level and more')
88
- // }
89
- }
90
- return index;
91
- }
92
- doHydration(d) {
93
- // console.log('doHydration');
94
- // console.log(d);
95
- // console.log(this);
96
- let i = 0;
97
- let data = {};
98
- for (const tag of this.boxData.tags) {
99
- // console.log(tag);
100
- // console.log(d);
101
- // console.log(i);
102
- data[`${tag.fieldName}`] = tag.doHydration(d[i]);
103
- i++;
104
- }
105
- return data;
106
- }
107
- setField(name, type) {
108
- type.fieldName = name;
109
- if (this.boxData.tags == undefined) {
110
- this.boxData.tags = [];
111
- }
112
- this.boxData.tags.push(type);
113
- }
114
- getFieldName() {
115
- let arr = [];
116
- let names = [];
117
- for (const tag of this.boxData.tags) {
118
- let tagFieldNames = tag.getFieldNames();
119
- if (tagFieldNames.length > 0) {
120
- arr.push(...tagFieldNames);
121
- // arr = Object.assign(arr, tagFieldNames)
122
- }
123
- names.push(tag.fieldName);
124
- }
125
- let arr2 = [];
126
- arr2.push(names);
127
- // arr2 = Object.assign(arr2, arr)
128
- arr2.push(...arr);
129
- // console.log('arr', arr2);
130
- return arr2;
131
- }
132
- getParamTypes() {
133
- let paramTypes = 'tuple(';
134
- let i = 0;
135
- for (const t of this.boxData.tags) {
136
- paramTypes += t.getParamTypes();
137
- i++;
138
- if (i >= this.boxData.tags.length) {
139
- }
140
- else {
141
- paramTypes += ',';
142
- }
143
- }
144
- paramTypes += ')';
145
- return paramTypes;
146
- }
147
- getParameters(data) {
148
- const values = [];
149
- let i = 0;
150
- // console.log('data', data);
151
- // console.log('this.boxData.tags', this.boxData.tags);
152
- for (const t of this.boxData.tags) {
153
- // console.log(t, t.fieldName, data[t.fieldName]);
154
- values.push(t.getParameters(data[t.fieldName]));
155
- i++;
156
- }
157
- return values;
158
- }
159
- }
160
- exports.Tuple = Tuple;
161
- exports.default = Tuple;
162
- //# sourceMappingURL=tuple.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tuple.js","sourceRoot":"","sources":["../../src/tag/tuple.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import { TagBase, ProviderHolder } from './tag';
2
- export declare class Uint extends TagBase {
3
- formatType(typeBytes: any, index: number): number;
4
- getAbiTypeString(): string;
5
- setSize: (size: number) => void;
6
- getAbiType: (providerHolder: ProviderHolder) => Promise<void>;
7
- getParamTypes(): string;
8
- getParameters(data: any): any;
9
- doHydration(d: any): string;
10
- }
11
- export default Uint;
12
- //# sourceMappingURL=uint.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"uint.d.ts","sourceRoot":"","sources":["../../src/tag/uint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAGrD,qBAAa,IAAK,SAAQ,OAAO;IAChC,UAAU,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAYjD,gBAAgB,IAAI,MAAM;IAI1B,OAAO,GAAI,MAAM,MAAM,UAErB;IAEF,UAAU,GAAI,gBAAgB,cAAc,mBAWxC;IAEJ,aAAa,IAAI,MAAM;IAIvB,aAAa,CAAC,IAAI,EAAE,GAAG;IAIvB,WAAW,CAAC,CAAC,EAAE,GAAG;CAGlB;AAED,eAAe,IAAI,CAAC"}
package/dist/tag/uint.js DELETED
@@ -1,49 +0,0 @@
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.Uint = void 0;
7
- const tag_1 = require("./tag");
8
- const ethers_1 = require("ethers");
9
- const ABITypeABI_1 = __importDefault(require("../abi/ABITypeABI"));
10
- class Uint extends tag_1.TagBase {
11
- constructor() {
12
- super(...arguments);
13
- this.setSize = (size) => {
14
- this.boxData.size = size;
15
- };
16
- this.getAbiType = (providerHolder) => new Promise(async (resolve, reject) => {
17
- const c = new ethers_1.ethers.Contract(providerHolder.contractAbiType, ABITypeABI_1.default.abi, providerHolder.getProvider());
18
- const resp = await c.uintT(this.boxData.size);
19
- // console.log('getAbiType', 'uint', resp);
20
- resolve(resp);
21
- });
22
- }
23
- formatType(typeBytes, index) {
24
- let bit = parseInt(typeBytes, 16);
25
- bit = bit * 2 * 2 * 2;
26
- if (bit < 8 || bit % 8 !== 0 || bit > 256) {
27
- throw new Error(`input is not a valid int type`);
28
- }
29
- this.boxData = {
30
- length: bit
31
- };
32
- return index + 4;
33
- }
34
- getAbiTypeString() {
35
- return `uint${this.boxData.length}`;
36
- }
37
- getParamTypes() {
38
- return `uint${this.boxData.length}`;
39
- }
40
- getParameters(data) {
41
- return data;
42
- }
43
- doHydration(d) {
44
- return d.toString();
45
- }
46
- }
47
- exports.Uint = Uint;
48
- exports.default = Uint;
49
- //# sourceMappingURL=uint.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"uint.js","sourceRoot":"","sources":["../../src/tag/uint.ts"],"names":[],"mappings":";;;;;;AAAA,+BAAqD;AACrD,mCAAgC;AAChC,mEAA2C;AAC3C,MAAa,IAAK,SAAQ,aAAO;IAAjC;;QAiBC,YAAO,GAAG,CAAC,IAAY,EAAE,EAAE;YAC1B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QAC1B,CAAC,CAAC;QAEF,eAAU,GAAG,CAAC,cAA8B,EAAE,EAAE,CAC/C,IAAI,OAAO,CAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,CAAC,GAAG,IAAI,eAAM,CAAC,QAAQ,CAC5B,cAAc,CAAC,eAAe,EAC9B,oBAAU,CAAC,GAAG,EACd,cAAc,CAAC,WAAW,EAAE,CAC5B,CAAC;YAEF,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC9C,2CAA2C;YAC3C,OAAO,CAAC,IAAI,CAAC,CAAC;QACf,CAAC,CAAC,CAAC;IAaL,CAAC;IA5CA,UAAU,CAAC,SAAc,EAAE,KAAa;QACvC,IAAI,GAAG,GAAG,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAClC,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,CAAC,OAAO,GAAG;YACd,MAAM,EAAE,GAAG;SACX,CAAC;QACF,OAAO,KAAK,GAAG,CAAC,CAAC;IAClB,CAAC;IAED,gBAAgB;QACf,OAAO,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IACrC,CAAC;IAmBD,aAAa;QACZ,OAAO,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IACrC,CAAC;IAED,aAAa,CAAC,IAAS;QACtB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,WAAW,CAAC,CAAM;QACjB,OAAQ,CAAY,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;CACD;AA7CD,oBA6CC;AAED,kBAAe,IAAI,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=did.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"did.d.ts","sourceRoot":"","sources":["../../src/test/did.ts"],"names":[],"mappings":""}
package/dist/test/did.js DELETED
@@ -1,177 +0,0 @@
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
- const ethers_1 = require("ethers");
7
- const index_1 = __importDefault(require("../index"));
8
- const RPC = 'https://sepolia.optimism.io';
9
- const CONTRACT_DID = '0x4c8c98e652d6a01494971a8faF5d3b68338f9ED4';
10
- const CONTRACT_ROOT_RESOLVER = '0xaA5bE49799b6A71Eda74d22D01F7A808aFf41b3f';
11
- const CONTRACT_ABI_TYPE = '0xdc9e8faDe38eE9E2Eb43761f1553CD2360ecAEac';
12
- const testDIDFetchAll = async () => {
13
- const did = index_1.default.createConsole(RPC, CONTRACT_DID, CONTRACT_ROOT_RESOLVER, CONTRACT_ABI_TYPE);
14
- const domains = await did.fetchAll();
15
- console.log('domains', domains);
16
- console.log('domains', await did.formatDatas(domains));
17
- };
18
- const testFetchDomainNoCache = async () => {
19
- const did = index_1.default.createConsole(RPC, CONTRACT_DID, CONTRACT_ROOT_RESOLVER, CONTRACT_ABI_TYPE);
20
- const domain = await did.fetchDomain('jksdgb.snowinning.com');
21
- console.log('domain', domain);
22
- };
23
- const testFetchDomain = async () => {
24
- const did = index_1.default.createConsole(RPC, CONTRACT_DID, CONTRACT_ROOT_RESOLVER, CONTRACT_ABI_TYPE);
25
- const domains = await did.fetchAll();
26
- const domain = await did.fetchDomain('saitttt2.snowinning.com');
27
- console.log('domain', domain);
28
- };
29
- const testUpdateDomain = async () => {
30
- const did = index_1.default.createConsole(RPC, CONTRACT_DID, CONTRACT_ROOT_RESOLVER, CONTRACT_ABI_TYPE);
31
- const domain = await did.fetchDomain('saitttt2.snowinning.com');
32
- const domain2 = await did.updateDomain('wanglulu503.t2.xlu112234.asia');
33
- const domain3 = await did.updateDomain('t2.xlu112234.asia');
34
- const domain4 = await did.updateDomain('xlu112234.asia');
35
- const domain5 = await did.updateDomain('asia');
36
- console.dir(did.treesCache, { depth: null });
37
- };
38
- const testFetchAllTagType = async () => {
39
- const did = index_1.default.createConsole(RPC, CONTRACT_DID, CONTRACT_ROOT_RESOLVER, CONTRACT_ABI_TYPE);
40
- const domain = await did.fetchDomain('saitttt2.snowinning.com');
41
- if (domain == undefined) {
42
- throw new Error('not found');
43
- }
44
- const tags = await index_1.default.Domain.fetchAllTagType(domain, did.getContractDID());
45
- console.log('tags', tags);
46
- };
47
- const testFetchAllTag = async () => {
48
- const did = index_1.default.createConsole(RPC, CONTRACT_DID, CONTRACT_ROOT_RESOLVER, CONTRACT_ABI_TYPE);
49
- const domain = await did.fetchDomain('saitttt2.snowinning.com');
50
- if (domain == undefined) {
51
- throw new Error('not found');
52
- }
53
- await index_1.default.Domain.fetchAllTagType(domain, did.getContractDID());
54
- const tags = await index_1.default.Domain.fetchAllTagValue(domain, did.getContractDID());
55
- console.dir(tags, { depth: null });
56
- };
57
- const testDefineTag = async () => {
58
- // tag name: simpleTag
59
- const tagName = 'simpleTag';
60
- // tuple
61
- const testTuple = new index_1.default.Tag.TagValueTypeTuple(undefined, undefined, true);
62
- // uint
63
- const testUint = new index_1.default.Tag.TagValueTypeUint(undefined, undefined, true);
64
- testUint.setSize(8);
65
- // address
66
- const testAddress = new index_1.default.Tag.TagValueTypeAddress(undefined, undefined, true);
67
- // array<address>
68
- const testArrayAddress = new index_1.default.Tag.TagValueTypeArray(undefined, undefined, true);
69
- testArrayAddress.setBuliderType(testAddress);
70
- // bool
71
- const testBool = new index_1.default.Tag.TagValueTypeBool(undefined, undefined, true);
72
- // bytes
73
- const testBytes = new index_1.default.Tag.TagValueTypeBytes(undefined, undefined, true);
74
- // int
75
- const testInt = new index_1.default.Tag.TagValueTypeInt(undefined, undefined, true);
76
- testInt.setSize(256);
77
- // flarray<int>
78
- const testFlarrayInt = new index_1.default.Tag.TagValueTypeFlarray(undefined, undefined, true);
79
- testFlarrayInt.setBuliderType(testInt);
80
- testFlarrayInt.setSize(3);
81
- // flbytes
82
- const testFlbytes = new index_1.default.Tag.TagValueTypeFlbytes(undefined, undefined, true);
83
- testFlbytes.setSize(5);
84
- // string
85
- const testString = new index_1.default.Tag.TagValueTypeString(undefined, undefined, true);
86
- testTuple.setField('testUint', testUint);
87
- testTuple.setField('testArrayAddress', testArrayAddress);
88
- testTuple.setField('testBool', testBool);
89
- testTuple.setField('testBytes', testBytes);
90
- testTuple.setField('testFlarrayInt', testFlarrayInt);
91
- testTuple.setField('testFlbytes', testFlbytes);
92
- testTuple.setField('testString', testString);
93
- const did = index_1.default.createConsole(RPC, CONTRACT_DID, CONTRACT_ROOT_RESOLVER, CONTRACT_ABI_TYPE);
94
- const domain = await did.fetchDomain('saitttt2.snowinning.com');
95
- await index_1.default.Domain.defineTag(domain, tagName, testTuple, did.getContractDIDByPrivateKey('b3d2790b58f6dea822ca40c5772005bb05055339e912852ab8d0ab161fd8e2ee'), did);
96
- };
97
- const testDefineTagBox = async () => {
98
- const tagName = 'simpleTagBox4'; // tag name: simpleTag
99
- const testTuple = new index_1.default.Tag.TagValueTypeTuple(undefined, undefined, true); // tuple
100
- const testTuple2 = new index_1.default.Tag.TagValueTypeTuple(undefined, undefined, true);
101
- const testUint = new index_1.default.Tag.TagValueTypeUint(undefined, undefined, true); // uint
102
- testUint.setSize(8);
103
- const testAddress = new index_1.default.Tag.TagValueTypeAddress(undefined, undefined, true); // address
104
- const testArrayAddress = new index_1.default.Tag.TagValueTypeArray(undefined, undefined, true); // array<address>
105
- testArrayAddress.setBuliderType(testAddress);
106
- const testBool = new index_1.default.Tag.TagValueTypeBool(undefined, undefined, true); // bool
107
- const testBytes = new index_1.default.Tag.TagValueTypeBytes(undefined, undefined, true); // bytes
108
- const testInt = new index_1.default.Tag.TagValueTypeInt(undefined, undefined, true); // int
109
- testInt.setSize(256);
110
- const testFlarrayInt = new index_1.default.Tag.TagValueTypeFlarray(undefined, undefined, true); // flarray<int>
111
- testFlarrayInt.setBuliderType(testInt);
112
- testFlarrayInt.setSize(3);
113
- const testFlbytes = new index_1.default.Tag.TagValueTypeFlbytes(undefined, undefined, true); // flbytes
114
- testFlbytes.setSize(5);
115
- const testString = new index_1.default.Tag.TagValueTypeString(undefined, undefined, true); // string
116
- testTuple.setField('testUint', testUint);
117
- testTuple.setField('testArrayAddress', testArrayAddress);
118
- testTuple.setField('testBool', testBool);
119
- testTuple.setField('testBytes', testBytes);
120
- testTuple.setField('testFlarrayInt', testFlarrayInt);
121
- testTuple.setField('testFlbytes', testFlbytes);
122
- testTuple.setField('testString', testString);
123
- testTuple2.setField('testbox', testTuple);
124
- const did = index_1.default.createConsole(RPC, CONTRACT_DID, CONTRACT_ROOT_RESOLVER, CONTRACT_ABI_TYPE);
125
- const domain = await did.fetchDomain('saitttt2.snowinning.com');
126
- await index_1.default.Domain.defineTag(domain, tagName, testTuple2, did.getContractDIDByPrivateKey('b3d2790b58f6dea822ca40c5772005bb05055339e912852ab8d0ab161fd8e2ee'), did);
127
- };
128
- const testAddTag = async () => {
129
- const did = index_1.default.createConsole(RPC, CONTRACT_DID, CONTRACT_ROOT_RESOLVER, CONTRACT_ABI_TYPE);
130
- const domain = await did.fetchDomain('saitttt2.snowinning.com');
131
- if (domain == undefined) {
132
- throw new Error('not found');
133
- }
134
- console.log(domain);
135
- const [tag] = domain.tags.filter((tag) => tag.name == 'simpleTagBox4');
136
- const tagType = await index_1.default.Domain.fetchTagStructure(tag, did.getContractDID());
137
- console.dir(tagType, { depth: null });
138
- const ba1 = ethers_1.ethers.hexlify(Uint8Array.from([1, 2, 3]));
139
- const ba2 = ethers_1.ethers.hexlify(Uint8Array.from([10, 18, 19]));
140
- const newData = {
141
- testbox: {
142
- testUint: 1,
143
- testArrayAddress: [
144
- '0xF18B2Ea28c722CA87f951F5bF5327b66a7dd72A3',
145
- '0xecBA1d33b889f66ad426535f970d1E033ba5c79C'
146
- ],
147
- testBool: true,
148
- testBytes: '0x0102030405',
149
- testFlarrayInt: [2, 3, 4],
150
- testFlbytes: '0x0a0b0c0d0e',
151
- testString: 'ok'
152
- }
153
- };
154
- console.log('newData', newData);
155
- const call = await index_1.default.Tag.doEncode(tagType, newData);
156
- console.log('call', call);
157
- //set
158
- const resp = await index_1.default.Domain.setValue(tag, call, did.getContractDIDByPrivateKey('b3d2790b58f6dea822ca40c5772005bb05055339e912852ab8d0ab161fd8e2ee'));
159
- };
160
- const testSetTagger = async () => {
161
- const did = index_1.default.createConsole(RPC, CONTRACT_DID, CONTRACT_ROOT_RESOLVER, CONTRACT_ABI_TYPE);
162
- const domain = await did.fetchDomain('saitttt2.snowinning.com');
163
- if (domain == undefined) {
164
- throw new Error('not found');
165
- }
166
- const [tag] = domain.tags.filter((tag) => tag.name == 'simpleTagBox4');
167
- index_1.default.Domain.setTagger(tag, '0xF18B2Ea28c722CA87f951F5bF5327b66a7dd72A3', did.getContractDIDByPrivateKey('b3d2790b58f6dea822ca40c5772005bb05055339e912852ab8d0ab161fd8e2ee'));
168
- };
169
- const testUpdateTag = async () => { };
170
- const testRemoveTag = async () => { };
171
- const testSaveAndLoad = async () => { };
172
- // testAddTag()
173
- // testSetTagger()
174
- // testDefineTagBox()
175
- // testFetchAllTagType()
176
- // testFetchAllTag()
177
- //# sourceMappingURL=did.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"did.js","sourceRoot":"","sources":["../../src/test/did.ts"],"names":[],"mappings":"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"}