@beclab/olaresid 0.1.13 → 0.2.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 (181) 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 +80 -23
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +152 -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 +221 -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/tsconfig.json +3 -2
  91. package/dist/abi/ABITypeABI.d.ts +0 -88
  92. package/dist/abi/ABITypeABI.d.ts.map +0 -1
  93. package/dist/abi/ABITypeABI.js +0 -382
  94. package/dist/abi/ABITypeABI.js.map +0 -1
  95. package/dist/abi/RegistryABI.d.ts +0 -77
  96. package/dist/abi/RegistryABI.d.ts.map +0 -1
  97. package/dist/abi/RegistryABI.js +0 -462
  98. package/dist/abi/RegistryABI.js.map +0 -1
  99. package/dist/tag/address.d.ts +0 -11
  100. package/dist/tag/address.d.ts.map +0 -1
  101. package/dist/tag/address.js +0 -44
  102. package/dist/tag/address.js.map +0 -1
  103. package/dist/tag/array.d.ts +0 -14
  104. package/dist/tag/array.d.ts.map +0 -1
  105. package/dist/tag/array.js +0 -72
  106. package/dist/tag/array.js.map +0 -1
  107. package/dist/tag/bool.d.ts +0 -11
  108. package/dist/tag/bool.d.ts.map +0 -1
  109. package/dist/tag/bool.js +0 -43
  110. package/dist/tag/bool.js.map +0 -1
  111. package/dist/tag/bytes.d.ts +0 -11
  112. package/dist/tag/bytes.d.ts.map +0 -1
  113. package/dist/tag/bytes.js +0 -37
  114. package/dist/tag/bytes.js.map +0 -1
  115. package/dist/tag/flarray.d.ts +0 -15
  116. package/dist/tag/flarray.d.ts.map +0 -1
  117. package/dist/tag/flarray.js +0 -81
  118. package/dist/tag/flarray.js.map +0 -1
  119. package/dist/tag/flbytes.d.ts +0 -11
  120. package/dist/tag/flbytes.d.ts.map +0 -1
  121. package/dist/tag/flbytes.js +0 -47
  122. package/dist/tag/flbytes.js.map +0 -1
  123. package/dist/tag/index.d.ts +0 -32
  124. package/dist/tag/index.d.ts.map +0 -1
  125. package/dist/tag/index.js +0 -121
  126. package/dist/tag/index.js.map +0 -1
  127. package/dist/tag/int.d.ts +0 -12
  128. package/dist/tag/int.d.ts.map +0 -1
  129. package/dist/tag/int.js +0 -49
  130. package/dist/tag/int.js.map +0 -1
  131. package/dist/tag/string.d.ts +0 -11
  132. package/dist/tag/string.d.ts.map +0 -1
  133. package/dist/tag/string.js +0 -37
  134. package/dist/tag/string.js.map +0 -1
  135. package/dist/tag/tag.d.ts +0 -67
  136. package/dist/tag/tag.d.ts.map +0 -1
  137. package/dist/tag/tag.js +0 -157
  138. package/dist/tag/tag.js.map +0 -1
  139. package/dist/tag/tuple.d.ts +0 -17
  140. package/dist/tag/tuple.d.ts.map +0 -1
  141. package/dist/tag/tuple.js +0 -162
  142. package/dist/tag/tuple.js.map +0 -1
  143. package/dist/tag/uint.d.ts +0 -12
  144. package/dist/tag/uint.d.ts.map +0 -1
  145. package/dist/tag/uint.js +0 -49
  146. package/dist/tag/uint.js.map +0 -1
  147. package/dist/test/did.d.ts +0 -2
  148. package/dist/test/did.d.ts.map +0 -1
  149. package/dist/test/did.js +0 -177
  150. package/dist/test/did.js.map +0 -1
  151. package/dist/utils/tag-abi-codec.d.ts +0 -69
  152. package/dist/utils/tag-abi-codec.d.ts.map +0 -1
  153. package/dist/utils/tag-abi-codec.js +0 -144
  154. package/dist/utils/tag-abi-codec.js.map +0 -1
  155. package/examples/crypto-utilities.ts +0 -140
  156. package/examples/ed25519-jwk.ts +0 -73
  157. package/examples/generate-mnemonic.ts +0 -149
  158. package/examples/legacy.ts +0 -33
  159. package/examples/olares-id-format.ts +0 -197
  160. package/examples/tag-builder.ts +0 -235
  161. package/examples/tag-nested-tuple.ts +0 -190
  162. package/examples/tag-simple.ts +0 -149
  163. package/examples/tag-tagger.ts +0 -217
  164. package/examples/test-nested-tuple-conversion.ts +0 -143
  165. package/examples/test-type-bytes-parser.ts +0 -70
  166. package/src/abi/ABITypeABI.ts +0 -379
  167. package/src/abi/RegistryABI.ts +0 -459
  168. package/src/tag/address.ts +0 -48
  169. package/src/tag/array.ts +0 -80
  170. package/src/tag/bool.ts +0 -43
  171. package/src/tag/bytes.ts +0 -38
  172. package/src/tag/flarray.ts +0 -99
  173. package/src/tag/flbytes.ts +0 -48
  174. package/src/tag/index.ts +0 -170
  175. package/src/tag/int.ts +0 -51
  176. package/src/tag/string.ts +0 -38
  177. package/src/tag/tag.ts +0 -229
  178. package/src/tag/tuple.ts +0 -193
  179. package/src/tag/uint.ts +0 -51
  180. package/src/test/did.ts +0 -346
  181. package/src/utils/tag-abi-codec.ts +0 -158
package/dist/tag/bool.js DELETED
@@ -1,43 +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.Bool = void 0;
7
- const tag_1 = require("./tag");
8
- const ethers_1 = require("ethers");
9
- const ABITypeABI_1 = __importDefault(require("../abi/ABITypeABI"));
10
- class Bool extends tag_1.TagBase {
11
- constructor() {
12
- super(...arguments);
13
- this.name = 'bool';
14
- this.getAbiType = (providerHolder) => new Promise(async (resolve, reject) => {
15
- const c = new ethers_1.ethers.Contract(providerHolder.contractAbiType, ABITypeABI_1.default.abi, providerHolder.getProvider());
16
- const resp = await c.boolT();
17
- // console.log('getAbiType', 'Bool', resp);
18
- resolve(resp);
19
- });
20
- }
21
- formatType(typeBytes, index) {
22
- this.name = 'bool';
23
- return index + 2;
24
- }
25
- getAbiTypeString() {
26
- return 'bool';
27
- }
28
- getParamTypes() {
29
- return 'bool';
30
- }
31
- getParameters(data) {
32
- // console.log('data', data);
33
- if (data == true || data == false) {
34
- return data;
35
- }
36
- else {
37
- throw new Error(`${data} is not a boolean`);
38
- }
39
- }
40
- }
41
- exports.Bool = Bool;
42
- exports.default = Bool;
43
- //# sourceMappingURL=bool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bool.js","sourceRoot":"","sources":["../../src/tag/bool.ts"],"names":[],"mappings":";;;;;;AAAA,+BAAqD;AACrD,mCAAgC;AAChC,mEAA2C;AAC3C,MAAa,IAAK,SAAQ,aAAO;IAAjC;;QACC,SAAI,GAAW,MAAM,CAAC;QAWtB,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,EAAE,CAAC;YAC7B,2CAA2C;YAC3C,OAAO,CAAC,IAAI,CAAC,CAAC;QACf,CAAC,CAAC,CAAC;IAcL,CAAC;IAlCA,UAAU,CAAC,SAAc,EAAE,KAAa;QACvC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;QACnB,OAAO,KAAK,GAAG,CAAC,CAAC;IAClB,CAAC;IAED,gBAAgB;QACf,OAAO,MAAM,CAAC;IACf,CAAC;IAeD,aAAa;QACZ,OAAO,MAAM,CAAC;IACf,CAAC;IAED,aAAa,CAAC,IAAS;QACtB,6BAA6B;QAC7B,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QACb,CAAC;aAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,mBAAmB,CAAC,CAAC;QAC7C,CAAC;IACF,CAAC;CACD;AArCD,oBAqCC;AAED,kBAAe,IAAI,CAAC"}
@@ -1,11 +0,0 @@
1
- import { TagBase, ProviderHolder } from './tag';
2
- export declare class Bytes extends TagBase {
3
- name: string;
4
- formatType(typeBytes: any, index: number): number;
5
- getAbiTypeString(): string;
6
- getAbiType: (providerHolder: ProviderHolder) => Promise<void>;
7
- getParamTypes(): string;
8
- getParameters(data: any): any;
9
- }
10
- export default Bytes;
11
- //# sourceMappingURL=bytes.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bytes.d.ts","sourceRoot":"","sources":["../../src/tag/bytes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAGrD,qBAAa,KAAM,SAAQ,OAAO;IACjC,IAAI,EAAE,MAAM,CAAW;IAEvB,UAAU,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAKjD,gBAAgB,IAAI,MAAM;IAI1B,UAAU,GAAI,gBAAgB,cAAc,mBAWxC;IAEJ,aAAa,IAAI,MAAM;IAIvB,aAAa,CAAC,IAAI,EAAE,GAAG;CAGvB;AAED,eAAe,KAAK,CAAC"}
package/dist/tag/bytes.js DELETED
@@ -1,37 +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.Bytes = void 0;
7
- const tag_1 = require("./tag");
8
- const ethers_1 = require("ethers");
9
- const ABITypeABI_1 = __importDefault(require("../abi/ABITypeABI"));
10
- class Bytes extends tag_1.TagBase {
11
- constructor() {
12
- super(...arguments);
13
- this.name = 'bytes';
14
- this.getAbiType = (providerHolder) => new Promise(async (resolve, reject) => {
15
- const c = new ethers_1.ethers.Contract(providerHolder.contractAbiType, ABITypeABI_1.default.abi, providerHolder.getProvider());
16
- const resp = await c.bytesT();
17
- // console.log('getAbiType', 'bytes', resp);
18
- resolve(resp);
19
- });
20
- }
21
- formatType(typeBytes, index) {
22
- this.name = 'bytes';
23
- return index + 2;
24
- }
25
- getAbiTypeString() {
26
- return 'bytes';
27
- }
28
- getParamTypes() {
29
- return 'bytes';
30
- }
31
- getParameters(data) {
32
- return data;
33
- }
34
- }
35
- exports.Bytes = Bytes;
36
- exports.default = Bytes;
37
- //# sourceMappingURL=bytes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bytes.js","sourceRoot":"","sources":["../../src/tag/bytes.ts"],"names":[],"mappings":";;;;;;AAAA,+BAAqD;AACrD,mCAAgC;AAChC,mEAA2C;AAC3C,MAAa,KAAM,SAAQ,aAAO;IAAlC;;QACC,SAAI,GAAW,OAAO,CAAC;QAWvB,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,MAAM,EAAE,CAAC;YAC9B,4CAA4C;YAC5C,OAAO,CAAC,IAAI,CAAC,CAAC;QACf,CAAC,CAAC,CAAC;IASL,CAAC;IA7BA,UAAU,CAAC,SAAc,EAAE,KAAa;QACvC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;QACpB,OAAO,KAAK,GAAG,CAAC,CAAC;IAClB,CAAC;IAED,gBAAgB;QACf,OAAO,OAAO,CAAC;IAChB,CAAC;IAeD,aAAa;QACZ,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,aAAa,CAAC,IAAS;QACtB,OAAO,IAAI,CAAC;IACb,CAAC;CACD;AAhCD,sBAgCC;AAED,kBAAe,KAAK,CAAC"}
@@ -1,15 +0,0 @@
1
- import { TagBase, Box, ProviderHolder } from './tag';
2
- export declare class FixedLengthArray extends Box {
3
- setBuliderType(type: TagBase): void;
4
- formatType(typeBytes: any, index: number): number;
5
- getAbiTypeString(): string;
6
- setFieldNames(names: string[] | string[][], index: number): number;
7
- doHydration(d: any): any[];
8
- setSize: (size: number) => void;
9
- getAbiType: (providerHolder: ProviderHolder) => Promise<void>;
10
- getFieldName(): string[][];
11
- getParamTypes(): string;
12
- getParameters(data: any): any[];
13
- }
14
- export default FixedLengthArray;
15
- //# sourceMappingURL=flarray.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flarray.d.ts","sourceRoot":"","sources":["../../src/tag/flarray.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,OAAO,EAAE,GAAG,EAAa,cAAc,EAAE,MAAM,OAAO,CAAC;AAGrE,qBAAa,gBAAiB,SAAQ,GAAG;IACxC,cAAc,CAAC,IAAI,EAAE,OAAO;IAI5B,UAAU,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAgBjD,gBAAgB,IAAI,MAAM;IAM1B,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAOlE,WAAW,CAAC,CAAC,EAAE,GAAG;IASlB,OAAO,GAAI,MAAM,MAAM,UAErB;IAEF,UAAU,GAAI,gBAAgB,cAAc,mBAexC;IAEJ,YAAY,IAAI,MAAM,EAAE,EAAE;IAQ1B,aAAa,IAAI,MAAM;IAMvB,aAAa,CAAC,IAAI,EAAE,GAAG;CAevB;AAED,eAAe,gBAAgB,CAAC"}
@@ -1,81 +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.FixedLengthArray = void 0;
7
- const tag_1 = require("./tag");
8
- const ethers_1 = require("ethers");
9
- const ABITypeABI_1 = __importDefault(require("../abi/ABITypeABI"));
10
- class FixedLengthArray extends tag_1.Box {
11
- constructor() {
12
- super(...arguments);
13
- this.setSize = (size) => {
14
- this.boxData.length = size;
15
- };
16
- this.getAbiType = (providerHolder) => new Promise(async (resolve, reject) => {
17
- const c = new ethers_1.ethers.Contract(providerHolder.contractAbiType, ABITypeABI_1.default.abiHaveCount, providerHolder.getProvider());
18
- const arrAbi = await this.boxData.arrayTag.getAbiType(providerHolder);
19
- const resp = await c.arrayT(arrAbi, this.boxData.length);
20
- // console.log('getAbiType', 'Address', resp);
21
- resolve(resp);
22
- });
23
- }
24
- setBuliderType(type) {
25
- this.boxData.arrayTag = type;
26
- }
27
- formatType(typeBytes, index) {
28
- let la = (0, tag_1.read2Byte)(typeBytes, index + 2);
29
- let length = parseInt(la, 16);
30
- let { cursor, tag } = this.formatChild(typeBytes, index + 6);
31
- if (tag == undefined) {
32
- throw new Error('formatType error in array');
33
- }
34
- this.boxData = {
35
- arrayTag: tag,
36
- length: length
37
- };
38
- return cursor;
39
- }
40
- getAbiTypeString() {
41
- return `${this.boxData.arrayTag.getAbiTypeString()}[${this.boxData.length}]`;
42
- }
43
- setFieldNames(names, index) {
44
- if (this.boxData.arrayTag instanceof tag_1.Box) {
45
- return this.boxData.arrayTag.setFieldNames(names, index);
46
- }
47
- return index;
48
- }
49
- doHydration(d) {
50
- let arr = [];
51
- for (const item of d) {
52
- arr.push(this.boxData.arrayTag.doHydration(item));
53
- }
54
- return arr;
55
- }
56
- getFieldName() {
57
- if (this.boxData.arrayTag instanceof tag_1.Box) {
58
- return this.boxData.arrayTag.getFieldName();
59
- }
60
- else {
61
- return [];
62
- }
63
- }
64
- getParamTypes() {
65
- return `${this.boxData.arrayTag.getAbiTypeString()}[${this.boxData.length}]`;
66
- }
67
- getParameters(data) {
68
- if (data.length != this.boxData.length) {
69
- throw new Error(`${this.fieldName} muse be length ${this.boxData.length}, but input data is length ${data.length}`);
70
- }
71
- const arr = [];
72
- for (const item of data) {
73
- const value = this.boxData.arrayTag.getParameters(item);
74
- arr.push(value);
75
- }
76
- return arr;
77
- }
78
- }
79
- exports.FixedLengthArray = FixedLengthArray;
80
- exports.default = FixedLengthArray;
81
- //# sourceMappingURL=flarray.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flarray.js","sourceRoot":"","sources":["../../src/tag/flarray.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import { TagBase, ProviderHolder } from './tag';
2
- export declare class FixedLengthBytes 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
- }
10
- export default FixedLengthBytes;
11
- //# sourceMappingURL=flbytes.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flbytes.d.ts","sourceRoot":"","sources":["../../src/tag/flbytes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,OAAO,EAAY,cAAc,EAAE,MAAM,OAAO,CAAC;AAG/D,qBAAa,gBAAiB,SAAQ,OAAO;IAE5C,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;CAGvB;AAED,eAAe,gBAAgB,CAAC"}
@@ -1,47 +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.FixedLengthBytes = void 0;
7
- const tag_1 = require("./tag");
8
- const ethers_1 = require("ethers");
9
- const ABITypeABI_1 = __importDefault(require("../abi/ABITypeABI"));
10
- class FixedLengthBytes extends tag_1.TagBase {
11
- constructor() {
12
- super(...arguments);
13
- this.setSize = (size) => {
14
- this.boxData.length = size;
15
- };
16
- this.getAbiType = (providerHolder) => new Promise(async (resolve, reject) => {
17
- const c = new ethers_1.ethers.Contract(providerHolder.contractAbiType, ABITypeABI_1.default.abiHaveCount, providerHolder.getProvider());
18
- const resp = await c.bytesT(this.boxData.length);
19
- // console.log('getAbiType', 'uint', resp);
20
- resolve(resp);
21
- });
22
- }
23
- // length: number = 0
24
- formatType(typeBytes, index) {
25
- let b = (0, tag_1.readByte)(typeBytes, index + 2);
26
- let length = parseInt(b, 16);
27
- if (length < 1 || length > 32) {
28
- throw new Error(`input is not a valid bytes type`);
29
- }
30
- this.boxData = {
31
- length: length
32
- };
33
- return index + 4;
34
- }
35
- getAbiTypeString() {
36
- return `bytes${this.boxData.length}`;
37
- }
38
- getParamTypes() {
39
- return `bytes${this.boxData.length}`;
40
- }
41
- getParameters(data) {
42
- return data;
43
- }
44
- }
45
- exports.FixedLengthBytes = FixedLengthBytes;
46
- exports.default = FixedLengthBytes;
47
- //# sourceMappingURL=flbytes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flbytes.js","sourceRoot":"","sources":["../../src/tag/flbytes.ts"],"names":[],"mappings":";;;;;;AAAA,+BAA+D;AAC/D,mCAAgC;AAChC,mEAA2C;AAC3C,MAAa,gBAAiB,SAAQ,aAAO;IAA7C;;QAkBC,YAAO,GAAG,CAAC,IAAY,EAAE,EAAE;YAC1B,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;QAC5B,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,YAAY,EACvB,cAAc,CAAC,WAAW,EAAE,CAC5B,CAAC;YAEF,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACjD,2CAA2C;YAC3C,OAAO,CAAC,IAAI,CAAC,CAAC;QACf,CAAC,CAAC,CAAC;IASL,CAAC;IAzCA,qBAAqB;IACrB,UAAU,CAAC,SAAc,EAAE,KAAa;QACvC,IAAI,CAAC,GAAG,IAAA,cAAQ,EAAC,SAAS,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACvC,IAAI,MAAM,GAAG,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,EAAE,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,CAAC,OAAO,GAAG;YACd,MAAM,EAAE,MAAM;SACd,CAAC;QACF,OAAO,KAAK,GAAG,CAAC,CAAC;IAClB,CAAC;IAED,gBAAgB;QACf,OAAO,QAAQ,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IACtC,CAAC;IAmBD,aAAa;QACZ,OAAO,QAAQ,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IACtC,CAAC;IAED,aAAa,CAAC,IAAS;QACtB,OAAO,IAAI,CAAC;IACb,CAAC;CACD;AA1CD,4CA0CC;AAED,kBAAe,gBAAgB,CAAC"}
@@ -1,32 +0,0 @@
1
- import { Tag, TagType, TagBase, Box, ProviderHolder } from './tag';
2
- import { Int } from './int';
3
- import Uint from './uint';
4
- import Bool from './bool';
5
- import Array from './array';
6
- import String from './string';
7
- import FixedLengthArray from './flarray';
8
- import Tuple from './tuple';
9
- import Address from './address';
10
- import FixedLengthBytes from './flbytes';
11
- import Bytes from './bytes';
12
- declare namespace DIDTag {
13
- type TagParser = Tag;
14
- type TagParserType = TagType;
15
- type TagParserBase = TagBase;
16
- type TagParserBox = Box;
17
- type ABITypeProviderHolder = ProviderHolder;
18
- const doFormatType: (typeBytes: string) => TagParser;
19
- const doEncode: (tag: TagParser, data: any) => string;
20
- const TagValueTypeInt: typeof Int;
21
- const TagValueTypeUint: typeof Uint;
22
- const TagValueTypeBool: typeof Bool;
23
- const TagValueTypeArray: typeof Array;
24
- const TagValueTypeString: typeof String;
25
- const TagValueTypeFlarray: typeof FixedLengthArray;
26
- const TagValueTypeTuple: typeof Tuple;
27
- const TagValueTypeAddress: typeof Address;
28
- const TagValueTypeFlbytes: typeof FixedLengthBytes;
29
- const TagValueTypeBytes: typeof Bytes;
30
- }
31
- export default DIDTag;
32
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tag/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,GAAG,EACH,OAAO,EACP,OAAO,EAIP,GAAG,EACH,cAAc,EACd,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,gBAAgB,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,gBAAgB,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,MAAM,SAAS,CAAC;AAwG5B,kBAAU,MAAM,CAAC;IAChB,KAAY,SAAS,GAAG,GAAG,CAAC;IAE5B,KAAY,aAAa,GAAG,OAAO,CAAC;IAEpC,KAAY,aAAa,GAAG,OAAO,CAAC;IAEpC,KAAY,YAAY,GAAG,GAAG,CAAC;IAE/B,KAAY,qBAAqB,GAAG,cAAc,CAAC;IAQ5C,MAAM,YAAY,GAAI,WAAW,MAAM,KAAG,SAEhD,CAAC;IAEK,MAAM,QAAQ,GAAI,KAAK,SAAS,EAAE,MAAM,GAAG,WAEjD,CAAC;IAEK,MAAM,eAAe,YAAM,CAAC;IAE5B,MAAM,gBAAgB,aAAO,CAAC;IAE9B,MAAM,gBAAgB,aAAO,CAAC;IAE9B,MAAM,iBAAiB,cAAQ,CAAC;IAEhC,MAAM,kBAAkB,eAAS,CAAC;IAElC,MAAM,mBAAmB,yBAAmB,CAAC;IAE7C,MAAM,iBAAiB,cAAQ,CAAC;IAEhC,MAAM,mBAAmB,gBAAU,CAAC;IAEpC,MAAM,mBAAmB,yBAAmB,CAAC;IAE7C,MAAM,iBAAiB,cAAQ,CAAC;CACvC;AAED,eAAe,MAAM,CAAC"}
package/dist/tag/index.js DELETED
@@ -1,121 +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 tag_1 = require("./tag");
7
- const int_1 = require("./int");
8
- const uint_1 = __importDefault(require("./uint"));
9
- const bool_1 = __importDefault(require("./bool"));
10
- const array_1 = __importDefault(require("./array"));
11
- const string_1 = __importDefault(require("./string"));
12
- const flarray_1 = __importDefault(require("./flarray"));
13
- const tuple_1 = __importDefault(require("./tuple"));
14
- const address_1 = __importDefault(require("./address"));
15
- const flbytes_1 = __importDefault(require("./flbytes"));
16
- const bytes_1 = __importDefault(require("./bytes"));
17
- const ethers_1 = require("ethers");
18
- const isHex = (hex) => {
19
- return (typeof hex === 'string' &&
20
- hex.length % 2 === 0 &&
21
- !isNaN(Number('0x' + hex)));
22
- };
23
- const formatType = (typeBytes) => {
24
- if (typeBytes.startsWith('0x')) {
25
- typeBytes = typeBytes.substring(2);
26
- }
27
- if (!isHex(typeBytes)) {
28
- throw new Error('input is not a valid hex string');
29
- }
30
- let { cursor, tag } = parse(typeBytes, 0);
31
- if (cursor !== typeBytes.length) {
32
- throw new Error(`input is not a valid typeBytes`);
33
- }
34
- if (tag == undefined) {
35
- throw new Error(`format type error, please check version`);
36
- }
37
- return tag;
38
- };
39
- const encode = (tag, data) => {
40
- const paramTypes = [];
41
- const parameters = [];
42
- paramTypes.push(tag.getParamTypes());
43
- parameters.push(tag.getParameters(data));
44
- const coder = new ethers_1.AbiCoder();
45
- // console.log('paramTypes', paramTypes);
46
- // console.dir(parameters, { depth: null });
47
- return coder.encode(paramTypes, parameters);
48
- };
49
- // {cursor: number, tag: Tag}
50
- const parse = (typeBytes, index) => {
51
- let cursor = 0;
52
- let tag = undefined;
53
- let typeFlag = (0, tag_1.readByte)(typeBytes, index);
54
- switch (typeFlag) {
55
- case tag_1.TagType.INT:
56
- tag = new int_1.Int(typeBytes, index, false);
57
- break;
58
- case tag_1.TagType.UINT:
59
- tag = new uint_1.default(typeBytes, index, false);
60
- break;
61
- case tag_1.TagType.BOOL:
62
- tag = new bool_1.default(typeBytes, index, false);
63
- break;
64
- case tag_1.TagType.STRING:
65
- tag = new string_1.default(typeBytes, index, false);
66
- break;
67
- case tag_1.TagType.ARRAY:
68
- tag = new array_1.default(typeBytes, index, false);
69
- break;
70
- case tag_1.TagType.FL_ARRAY:
71
- tag = new flarray_1.default(typeBytes, index, false);
72
- break;
73
- case tag_1.TagType.TUPLE:
74
- tag = new tuple_1.default(typeBytes, index, false);
75
- break;
76
- case tag_1.TagType.ADDRESS:
77
- tag = new address_1.default(typeBytes, index, false);
78
- break;
79
- case tag_1.TagType.FL_BYTES:
80
- tag = new flbytes_1.default(typeBytes, index, false);
81
- break;
82
- case tag_1.TagType.BYTES:
83
- tag = new bytes_1.default(typeBytes, index, false);
84
- break;
85
- default:
86
- break;
87
- }
88
- if (tag != undefined && tag.cursor != undefined) {
89
- // // console.log('cursor', tag)
90
- cursor = tag.cursor;
91
- }
92
- return {
93
- cursor,
94
- tag
95
- };
96
- };
97
- tag_1.parserHolder.setParser(parse);
98
- var DIDTag;
99
- (function (DIDTag) {
100
- isHex;
101
- tag_1.readByte;
102
- tag_1.read2Byte;
103
- DIDTag.doFormatType = (typeBytes) => {
104
- return formatType(typeBytes);
105
- };
106
- DIDTag.doEncode = (tag, data) => {
107
- return encode(tag, data);
108
- };
109
- DIDTag.TagValueTypeInt = int_1.Int;
110
- DIDTag.TagValueTypeUint = uint_1.default;
111
- DIDTag.TagValueTypeBool = bool_1.default;
112
- DIDTag.TagValueTypeArray = array_1.default;
113
- DIDTag.TagValueTypeString = string_1.default;
114
- DIDTag.TagValueTypeFlarray = flarray_1.default;
115
- DIDTag.TagValueTypeTuple = tuple_1.default;
116
- DIDTag.TagValueTypeAddress = address_1.default;
117
- DIDTag.TagValueTypeFlbytes = flbytes_1.default;
118
- DIDTag.TagValueTypeBytes = bytes_1.default;
119
- })(DIDTag || (DIDTag = {}));
120
- exports.default = DIDTag;
121
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tag/index.ts"],"names":[],"mappings":"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"}
package/dist/tag/int.d.ts DELETED
@@ -1,12 +0,0 @@
1
- import { TagBase, ProviderHolder } from './tag';
2
- export declare class Int 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 Int;
12
- //# sourceMappingURL=int.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"int.d.ts","sourceRoot":"","sources":["../../src/tag/int.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAGrD,qBAAa,GAAI,SAAQ,OAAO;IAC/B,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,GAAG,CAAC"}
package/dist/tag/int.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.Int = void 0;
7
- const tag_1 = require("./tag");
8
- const ethers_1 = require("ethers");
9
- const ABITypeABI_1 = __importDefault(require("../abi/ABITypeABI"));
10
- class Int 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.intT(this.boxData.size);
19
- // console.log('getAbiType', 'int', 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 `int${this.boxData.length}`;
36
- }
37
- getParamTypes() {
38
- return `int${this.boxData.length}`;
39
- }
40
- getParameters(data) {
41
- return data;
42
- }
43
- doHydration(d) {
44
- return d.toString();
45
- }
46
- }
47
- exports.Int = Int;
48
- exports.default = Int;
49
- //# sourceMappingURL=int.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"int.js","sourceRoot":"","sources":["../../src/tag/int.ts"],"names":[],"mappings":";;;;;;AAAA,+BAAqD;AACrD,mCAAgC;AAChC,mEAA2C;AAC3C,MAAa,GAAI,SAAQ,aAAO;IAAhC;;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,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC7C,0CAA0C;YAC1C,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,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IACpC,CAAC;IAmBD,aAAa;QACZ,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IACpC,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,kBA6CC;AAED,kBAAe,GAAG,CAAC"}
@@ -1,11 +0,0 @@
1
- import { TagBase, ProviderHolder } from './tag';
2
- export declare class String extends TagBase {
3
- name: string;
4
- formatType(typeBytes: any, index: number): number;
5
- getAbiTypeString(): string;
6
- getAbiType: (providerHolder: ProviderHolder) => Promise<void>;
7
- getParamTypes(): string;
8
- getParameters(data: any): any;
9
- }
10
- export default String;
11
- //# sourceMappingURL=string.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../src/tag/string.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAGrD,qBAAa,MAAO,SAAQ,OAAO;IAClC,IAAI,EAAE,MAAM,CAAY;IAExB,UAAU,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAKjD,gBAAgB,IAAI,MAAM;IAI1B,UAAU,GAAI,gBAAgB,cAAc,mBAWxC;IAEJ,aAAa,IAAI,MAAM;IAIvB,aAAa,CAAC,IAAI,EAAE,GAAG;CAGvB;AAED,eAAe,MAAM,CAAC"}
@@ -1,37 +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.String = void 0;
7
- const tag_1 = require("./tag");
8
- const ethers_1 = require("ethers");
9
- const ABITypeABI_1 = __importDefault(require("../abi/ABITypeABI"));
10
- class String extends tag_1.TagBase {
11
- constructor() {
12
- super(...arguments);
13
- this.name = 'string';
14
- this.getAbiType = (providerHolder) => new Promise(async (resolve, reject) => {
15
- const c = new ethers_1.ethers.Contract(providerHolder.contractAbiType, ABITypeABI_1.default.abi, providerHolder.getProvider());
16
- const resp = await c.stringT();
17
- // console.log('getAbiType', 'string', resp);
18
- resolve(resp);
19
- });
20
- }
21
- formatType(typeBytes, index) {
22
- this.name = 'string';
23
- return index + 2;
24
- }
25
- getAbiTypeString() {
26
- return 'string';
27
- }
28
- getParamTypes() {
29
- return 'string';
30
- }
31
- getParameters(data) {
32
- return data;
33
- }
34
- }
35
- exports.String = String;
36
- exports.default = String;
37
- //# sourceMappingURL=string.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"string.js","sourceRoot":"","sources":["../../src/tag/string.ts"],"names":[],"mappings":";;;;;;AAAA,+BAAqD;AACrD,mCAAgC;AAChC,mEAA2C;AAC3C,MAAa,MAAO,SAAQ,aAAO;IAAnC;;QACC,SAAI,GAAW,QAAQ,CAAC;QAWxB,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,OAAO,EAAE,CAAC;YAC/B,6CAA6C;YAC7C,OAAO,CAAC,IAAI,CAAC,CAAC;QACf,CAAC,CAAC,CAAC;IASL,CAAC;IA7BA,UAAU,CAAC,SAAc,EAAE,KAAa;QACvC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;QACrB,OAAO,KAAK,GAAG,CAAC,CAAC;IAClB,CAAC;IAED,gBAAgB;QACf,OAAO,QAAQ,CAAC;IACjB,CAAC;IAeD,aAAa;QACZ,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,aAAa,CAAC,IAAS;QACtB,OAAO,IAAI,CAAC;IACb,CAAC;CACD;AAhCD,wBAgCC;AAED,kBAAe,MAAM,CAAC"}
package/dist/tag/tag.d.ts DELETED
@@ -1,67 +0,0 @@
1
- import { ethers } from 'ethers';
2
- export declare enum TagType {
3
- INT = "00",
4
- UINT = "01",
5
- BOOL = "02",
6
- STRING = "03",
7
- ARRAY = "04",
8
- FL_ARRAY = "05",
9
- TUPLE = "06",
10
- ADDRESS = "07",
11
- FL_BYTES = "08",
12
- BYTES = "09"
13
- }
14
- export declare const needLength: (type: TagType) => type is TagType.INT;
15
- export declare const read2Byte: (hex: string, index: number) => string;
16
- export declare const readByte: (hex: string, index: number) => string;
17
- export interface ProviderHolder {
18
- contractAbiType: string;
19
- getProvider(): ethers.JsonRpcProvider;
20
- }
21
- export interface Tag {
22
- formatType(typeBytes: any, index: number | undefined): number;
23
- parseValue(data: any): any;
24
- getParamTypes(): string;
25
- getParameters(data: any): any;
26
- cursor: number | undefined;
27
- type: TagType | undefined;
28
- boxData: any;
29
- fieldName: string | undefined;
30
- }
31
- export type Parse = (typeBytes: string, index: number) => {
32
- cursor: number;
33
- tag: Tag | undefined;
34
- };
35
- export declare class ParserHolder {
36
- parse: Parse | undefined;
37
- setParser: (parse: Parse) => void;
38
- }
39
- export declare const parserHolder: ParserHolder;
40
- export declare abstract class TagBase implements Tag {
41
- type: TagType | undefined;
42
- cursor: number | undefined;
43
- boxData: any;
44
- fieldName: string | undefined;
45
- abstract getAbiType(providerHolder: ProviderHolder): Promise<any>;
46
- abstract getParamTypes(): string;
47
- abstract getParameters(data: any): any;
48
- getFieldNames: () => string[][];
49
- typeName: () => string;
50
- constructor(typeBytes: string | undefined, index: number | undefined, builder: boolean);
51
- abstract formatType(typeBytes: any, index: number | undefined): number;
52
- parseValue(data: any): ethers.Result;
53
- hydration(data: any): any;
54
- doHydration(d: any): any;
55
- abstract getAbiTypeString(): string;
56
- }
57
- export declare abstract class Box extends TagBase {
58
- abstract formatType(typeBytes: any, index: number | undefined): number;
59
- abstract setFieldNames(names: string[] | string[][], index: number): number;
60
- formatChild(typeBytes: any, index: number): {
61
- cursor: number;
62
- tag: Tag | undefined;
63
- };
64
- abstract getFieldName(): string[][];
65
- }
66
- export default Tag;
67
- //# sourceMappingURL=tag.d.ts.map