@beclab/olaresid 0.1.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.
- package/LICENSE.md +49 -0
- package/README.md +93 -0
- package/dist/abi/ABITypeABI.d.ts +88 -0
- package/dist/abi/ABITypeABI.d.ts.map +1 -0
- package/dist/abi/ABITypeABI.js +382 -0
- package/dist/abi/ABITypeABI.js.map +1 -0
- package/dist/abi/RegistryABI.d.ts +77 -0
- package/dist/abi/RegistryABI.d.ts.map +1 -0
- package/dist/abi/RegistryABI.js +462 -0
- package/dist/abi/RegistryABI.js.map +1 -0
- package/dist/abi/RootResolverABI.d.ts +78 -0
- package/dist/abi/RootResolverABI.d.ts.map +1 -0
- package/dist/abi/RootResolverABI.js +372 -0
- package/dist/abi/RootResolverABI.js.map +1 -0
- package/dist/abi/TerminusDIDABI.d.ts +80 -0
- package/dist/abi/TerminusDIDABI.d.ts.map +1 -0
- package/dist/abi/TerminusDIDABI.js +1877 -0
- package/dist/abi/TerminusDIDABI.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +199 -0
- package/dist/cli.js.map +1 -0
- package/dist/debug.d.ts +46 -0
- package/dist/debug.d.ts.map +1 -0
- package/dist/debug.js +129 -0
- package/dist/debug.js.map +1 -0
- package/dist/domain/index.d.ts +59 -0
- package/dist/domain/index.d.ts.map +1 -0
- package/dist/domain/index.js +431 -0
- package/dist/domain/index.js.map +1 -0
- package/dist/index.d.ts +193 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +166 -0
- package/dist/index.js.map +1 -0
- package/dist/tag/address.d.ts +11 -0
- package/dist/tag/address.d.ts.map +1 -0
- package/dist/tag/address.js +44 -0
- package/dist/tag/address.js.map +1 -0
- package/dist/tag/array.d.ts +14 -0
- package/dist/tag/array.d.ts.map +1 -0
- package/dist/tag/array.js +72 -0
- package/dist/tag/array.js.map +1 -0
- package/dist/tag/bool.d.ts +11 -0
- package/dist/tag/bool.d.ts.map +1 -0
- package/dist/tag/bool.js +43 -0
- package/dist/tag/bool.js.map +1 -0
- package/dist/tag/bytes.d.ts +11 -0
- package/dist/tag/bytes.d.ts.map +1 -0
- package/dist/tag/bytes.js +37 -0
- package/dist/tag/bytes.js.map +1 -0
- package/dist/tag/flarray.d.ts +15 -0
- package/dist/tag/flarray.d.ts.map +1 -0
- package/dist/tag/flarray.js +81 -0
- package/dist/tag/flarray.js.map +1 -0
- package/dist/tag/flbytes.d.ts +11 -0
- package/dist/tag/flbytes.d.ts.map +1 -0
- package/dist/tag/flbytes.js +47 -0
- package/dist/tag/flbytes.js.map +1 -0
- package/dist/tag/index.d.ts +32 -0
- package/dist/tag/index.d.ts.map +1 -0
- package/dist/tag/index.js +121 -0
- package/dist/tag/index.js.map +1 -0
- package/dist/tag/int.d.ts +12 -0
- package/dist/tag/int.d.ts.map +1 -0
- package/dist/tag/int.js +49 -0
- package/dist/tag/int.js.map +1 -0
- package/dist/tag/string.d.ts +11 -0
- package/dist/tag/string.d.ts.map +1 -0
- package/dist/tag/string.js +37 -0
- package/dist/tag/string.js.map +1 -0
- package/dist/tag/tag.d.ts +67 -0
- package/dist/tag/tag.d.ts.map +1 -0
- package/dist/tag/tag.js +157 -0
- package/dist/tag/tag.js.map +1 -0
- package/dist/tag/tuple.d.ts +17 -0
- package/dist/tag/tuple.d.ts.map +1 -0
- package/dist/tag/tuple.js +162 -0
- package/dist/tag/tuple.js.map +1 -0
- package/dist/tag/uint.d.ts +12 -0
- package/dist/tag/uint.d.ts.map +1 -0
- package/dist/tag/uint.js +49 -0
- package/dist/tag/uint.js.map +1 -0
- package/dist/test/did.d.ts +2 -0
- package/dist/test/did.d.ts.map +1 -0
- package/dist/test/did.js +177 -0
- package/dist/test/did.js.map +1 -0
- package/examples/index.ts +15 -0
- package/examples/legacy.ts +33 -0
- package/package.json +50 -0
- package/project.json +6 -0
- package/src/abi/ABITypeABI.ts +379 -0
- package/src/abi/RegistryABI.ts +459 -0
- package/src/abi/RootResolverABI.ts +369 -0
- package/src/abi/TerminusDIDABI.ts +1874 -0
- package/src/cli.ts +230 -0
- package/src/debug.ts +170 -0
- package/src/domain/index.ts +659 -0
- package/src/index.ts +302 -0
- package/src/tag/address.ts +48 -0
- package/src/tag/array.ts +80 -0
- package/src/tag/bool.ts +43 -0
- package/src/tag/bytes.ts +38 -0
- package/src/tag/flarray.ts +99 -0
- package/src/tag/flbytes.ts +48 -0
- package/src/tag/index.ts +170 -0
- package/src/tag/int.ts +51 -0
- package/src/tag/string.ts +38 -0
- package/src/tag/tag.ts +229 -0
- package/src/tag/tuple.ts +193 -0
- package/src/tag/uint.ts +51 -0
- package/src/test/did.ts +346 -0
- package/tsconfig.json +9 -0
package/dist/index.js
ADDED
|
@@ -0,0 +1,166 @@
|
|
|
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.debug = exports.DIDConsole = void 0;
|
|
7
|
+
const index_1 = require("./domain/index");
|
|
8
|
+
const index_2 = __importDefault(require("./tag/index"));
|
|
9
|
+
const ethers_1 = require("ethers");
|
|
10
|
+
const TerminusDIDABI_1 = __importDefault(require("./abi/TerminusDIDABI"));
|
|
11
|
+
const RootResolverABI_1 = __importDefault(require("./abi/RootResolverABI"));
|
|
12
|
+
const debug_1 = require("./debug");
|
|
13
|
+
class DIDConsole {
|
|
14
|
+
constructor(rpcNode, contractDid, contractRootResolver, contractAbiType) {
|
|
15
|
+
this.allDomainCache = [];
|
|
16
|
+
this.treesCache = [];
|
|
17
|
+
this.getProvider = () => new ethers_1.ethers.JsonRpcProvider(this.rpcNode);
|
|
18
|
+
this.getContractDID = () => new ethers_1.ethers.Contract(this.contractDid, TerminusDIDABI_1.default.abi, this.getProvider());
|
|
19
|
+
this.getContractDIDByPrivateKey = (privateKey) => {
|
|
20
|
+
const wallet = new ethers_1.ethers.Wallet(privateKey, this.getProvider());
|
|
21
|
+
const contract = new ethers_1.ethers.Contract(this.contractDid, TerminusDIDABI_1.default.abi, wallet);
|
|
22
|
+
return contract;
|
|
23
|
+
};
|
|
24
|
+
this.getSignerContractDIDByProvider = async (provider) => new ethers_1.ethers.Contract(this.contractDid, TerminusDIDABI_1.default.abi, await provider.getSigner());
|
|
25
|
+
this.getContractRootResolver = () => new ethers_1.ethers.Contract(this.contractRootResolver, RootResolverABI_1.default.abi, this.getProvider());
|
|
26
|
+
this.getSignerContractRootResolverByProvider = async (provider) => new ethers_1.ethers.Contract(this.contractRootResolver, RootResolverABI_1.default.abi, await provider.getSigner());
|
|
27
|
+
this.fetchAll = () => new Promise(async (resolve, reject) => {
|
|
28
|
+
debug_1.debug.group('fetchAll');
|
|
29
|
+
const contract = await this.getContractDID();
|
|
30
|
+
const size = await contract.totalSupply();
|
|
31
|
+
debug_1.debug.info('fetchAll--->domain size', size);
|
|
32
|
+
let arr = [];
|
|
33
|
+
for (let index = 0; index < size; index++) {
|
|
34
|
+
const domain = await index_1.PackageDomain.syncByIndex(index, contract);
|
|
35
|
+
debug_1.debug.debug('fetchAll--->synced domain', domain);
|
|
36
|
+
debug_1.debug.info(`fetchAll--->${((index / parseInt(size)) * 100).toFixed(0)}%`);
|
|
37
|
+
arr.push(domain);
|
|
38
|
+
}
|
|
39
|
+
this.allDomainCache = arr;
|
|
40
|
+
this.treesCache = index_1.PackageDomain.buildTree(this.allDomainCache);
|
|
41
|
+
debug_1.debug.groupEnd();
|
|
42
|
+
resolve(this.treesCache);
|
|
43
|
+
});
|
|
44
|
+
this.fetchDomain = (name) => new Promise(async (resolve, reject) => {
|
|
45
|
+
debug_1.debug.group('fetchDomain');
|
|
46
|
+
const hasCache = this.allDomainCache.length > 0;
|
|
47
|
+
debug_1.debug.info('fetchDomain--->hasCache', hasCache);
|
|
48
|
+
if (hasCache) {
|
|
49
|
+
const domain = index_1.PackageDomain.findASubtree(name, this.allDomainCache);
|
|
50
|
+
debug_1.debug.groupEnd();
|
|
51
|
+
resolve(domain);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
const domain = await index_1.PackageDomain.syncByName(name, await this.getContractDID());
|
|
55
|
+
debug_1.debug.groupEnd();
|
|
56
|
+
resolve(domain);
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
this.updateDomain = (name) => new Promise(async (resolve, reject) => {
|
|
60
|
+
const domain = await index_1.PackageDomain.syncByName(name, await this.getContractDID());
|
|
61
|
+
if (domain == undefined) {
|
|
62
|
+
reject('not found domain');
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
const [oldDomain] = this.allDomainCache.filter((d) => d.name == domain.name);
|
|
66
|
+
if (oldDomain != undefined) {
|
|
67
|
+
for (const tagNew of domain.tags) {
|
|
68
|
+
for (const tagOld of oldDomain.tags) {
|
|
69
|
+
if (tagNew.name == tagOld.name) {
|
|
70
|
+
if (tagNew.valueFormated == undefined &&
|
|
71
|
+
tagOld.valueFormated != undefined) {
|
|
72
|
+
tagNew.valueFormated = tagOld.valueFormated;
|
|
73
|
+
}
|
|
74
|
+
if (tagNew.valueSource == undefined &&
|
|
75
|
+
tagOld.valueSource != undefined) {
|
|
76
|
+
tagNew.valueSource = tagOld.valueSource;
|
|
77
|
+
}
|
|
78
|
+
if (tagNew.definition == undefined &&
|
|
79
|
+
tagOld.definition != undefined) {
|
|
80
|
+
tagNew.definition = tagOld.definition;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
this.allDomainCache = this.allDomainCache.filter((d) => d.name != domain.name);
|
|
87
|
+
this.allDomainCache.push(domain);
|
|
88
|
+
this.treesCache = index_1.PackageDomain.buildTree(this.allDomainCache);
|
|
89
|
+
resolve(domain);
|
|
90
|
+
});
|
|
91
|
+
this.updateDomainById = (id) => new Promise(async (resolve, reject) => {
|
|
92
|
+
const domain = await index_1.PackageDomain.syncById(id, await this.getContractDID());
|
|
93
|
+
if (domain == undefined) {
|
|
94
|
+
reject('not found domain');
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
const [oldDomain] = this.allDomainCache.filter((d) => d.name == domain.name);
|
|
98
|
+
for (const tagNew of domain.tags) {
|
|
99
|
+
for (const tagOld of oldDomain.tags) {
|
|
100
|
+
if (tagNew.name == tagOld.name) {
|
|
101
|
+
if (tagNew.valueFormated == undefined &&
|
|
102
|
+
tagOld.valueFormated != undefined) {
|
|
103
|
+
tagNew.valueFormated = tagOld.valueFormated;
|
|
104
|
+
}
|
|
105
|
+
if (tagNew.valueSource == undefined &&
|
|
106
|
+
tagOld.valueSource != undefined) {
|
|
107
|
+
tagNew.valueSource = tagOld.valueSource;
|
|
108
|
+
}
|
|
109
|
+
if (tagNew.definition == undefined &&
|
|
110
|
+
tagOld.definition != undefined) {
|
|
111
|
+
tagNew.definition = tagOld.definition;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
this.allDomainCache = this.allDomainCache.filter((d) => d.name != domain.name);
|
|
117
|
+
this.allDomainCache.push(domain);
|
|
118
|
+
this.treesCache = index_1.PackageDomain.buildTree(this.allDomainCache);
|
|
119
|
+
resolve(domain);
|
|
120
|
+
});
|
|
121
|
+
this.formatData = (doamin) => new Promise((resolve, reject) => {
|
|
122
|
+
resolve(doamin);
|
|
123
|
+
});
|
|
124
|
+
this.formatDatas = (doamins) => new Promise((resolve, reject) => {
|
|
125
|
+
resolve(doamins);
|
|
126
|
+
});
|
|
127
|
+
this.loadData = (data) => new Promise((resolve, reject) => {
|
|
128
|
+
resolve(data);
|
|
129
|
+
});
|
|
130
|
+
this.loadDatas = (datas) => new Promise((resolve, reject) => {
|
|
131
|
+
this.treesCache = datas;
|
|
132
|
+
let arr = [];
|
|
133
|
+
arr.push(...this.treesCache);
|
|
134
|
+
for (const StoreDomain of this.treesCache) {
|
|
135
|
+
arr.push(...index_1.PackageDomain.getAllSubdoamin(StoreDomain));
|
|
136
|
+
}
|
|
137
|
+
this.allDomainCache = arr;
|
|
138
|
+
resolve(datas);
|
|
139
|
+
});
|
|
140
|
+
this.rpcNode = rpcNode;
|
|
141
|
+
this.contractDid = contractDid;
|
|
142
|
+
this.contractRootResolver = contractRootResolver;
|
|
143
|
+
this.contractAbiType = contractAbiType;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
exports.DIDConsole = DIDConsole;
|
|
147
|
+
var OlaresID;
|
|
148
|
+
(function (OlaresID) {
|
|
149
|
+
OlaresID.createConsole = (rpcNode, contractDid, contractRootResolver, contractAbiType) => {
|
|
150
|
+
return new DIDConsole(rpcNode, contractDid, contractRootResolver, contractAbiType);
|
|
151
|
+
};
|
|
152
|
+
OlaresID.createMainnet = () => {
|
|
153
|
+
return OlaresID.createConsole('https://optimism-rpc.publicnode.com', '0x5DA4Fa8E567d86e52Ef8Da860de1be8f54cae97D', '0xE2EABA0979277A90511F8873ae1e8cA26B54E740', '0x9ae3F16bD99294Af1784beB1a0A5C84bf2636365');
|
|
154
|
+
};
|
|
155
|
+
OlaresID.createTestnet = () => {
|
|
156
|
+
return OlaresID.createConsole('https://sepolia.optimism.io', '0xe2D7c3a9013960E04d4E9F5F9B63fff37eEd97A8', '0xeF727cb066Fee98F88Db84555830063b4A24ddfc', '0x7386fCBae6Ad4CCE1499d9153D99bc950B589718');
|
|
157
|
+
};
|
|
158
|
+
OlaresID.Domain = index_1.PackageDomain;
|
|
159
|
+
OlaresID.Tag = index_2.default;
|
|
160
|
+
OlaresID.ABI_DID = TerminusDIDABI_1.default;
|
|
161
|
+
OlaresID.ABI_ROOT_RESOLVER = RootResolverABI_1.default;
|
|
162
|
+
})(OlaresID || (OlaresID = {}));
|
|
163
|
+
var debug_2 = require("./debug");
|
|
164
|
+
Object.defineProperty(exports, "debug", { enumerable: true, get: function () { return debug_2.debug; } });
|
|
165
|
+
exports.default = OlaresID;
|
|
166
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { TagBase, ProviderHolder } from './tag';
|
|
2
|
+
export declare class Address 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 Address;
|
|
11
|
+
//# sourceMappingURL=address.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../src/tag/address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AASrD,qBAAa,OAAQ,SAAQ,OAAO;IACnC,IAAI,EAAE,MAAM,CAAa;IAEzB,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;CAOvB;AAED,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
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.Address = void 0;
|
|
7
|
+
const tag_1 = require("./tag");
|
|
8
|
+
const ethers_1 = require("ethers");
|
|
9
|
+
const ABITypeABI_1 = __importDefault(require("../abi/ABITypeABI"));
|
|
10
|
+
function isEthereumAddress(address) {
|
|
11
|
+
const ethereumAddressRegex = /^(0x)?[0-9a-fA-F]{40}$/;
|
|
12
|
+
return ethereumAddressRegex.test(address);
|
|
13
|
+
}
|
|
14
|
+
class Address extends tag_1.TagBase {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(...arguments);
|
|
17
|
+
this.name = 'address';
|
|
18
|
+
this.getAbiType = (providerHolder) => new Promise(async (resolve, reject) => {
|
|
19
|
+
const c = new ethers_1.ethers.Contract(providerHolder.contractAbiType, ABITypeABI_1.default.abi, providerHolder.getProvider());
|
|
20
|
+
const resp = await c.addressT();
|
|
21
|
+
// console.log('getAbiType', 'Address', resp);
|
|
22
|
+
resolve(resp);
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
formatType(typeBytes, index) {
|
|
26
|
+
this.name = 'address';
|
|
27
|
+
return index + 2;
|
|
28
|
+
}
|
|
29
|
+
getAbiTypeString() {
|
|
30
|
+
return 'address';
|
|
31
|
+
}
|
|
32
|
+
getParamTypes() {
|
|
33
|
+
return 'address';
|
|
34
|
+
}
|
|
35
|
+
getParameters(data) {
|
|
36
|
+
if (!isEthereumAddress(data)) {
|
|
37
|
+
throw new Error(`${data} is not ethereum address`);
|
|
38
|
+
}
|
|
39
|
+
return data;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.Address = Address;
|
|
43
|
+
exports.default = Address;
|
|
44
|
+
//# sourceMappingURL=address.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"address.js","sourceRoot":"","sources":["../../src/tag/address.ts"],"names":[],"mappings":";;;;;;AAAA,+BAAqD;AACrD,mCAAgC;AAChC,mEAA2C;AAE3C,SAAS,iBAAiB,CAAC,OAAe;IACzC,MAAM,oBAAoB,GAAG,wBAAwB,CAAC;IACtD,OAAO,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC3C,CAAC;AAED,MAAa,OAAQ,SAAQ,aAAO;IAApC;;QACC,SAAI,GAAW,SAAS,CAAC;QAWzB,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,QAAQ,EAAE,CAAC;YAChC,8CAA8C;YAC9C,OAAO,CAAC,IAAI,CAAC,CAAC;QACf,CAAC,CAAC,CAAC;IAaL,CAAC;IAjCA,UAAU,CAAC,SAAc,EAAE,KAAa;QACvC,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,OAAO,KAAK,GAAG,CAAC,CAAC;IAClB,CAAC;IAED,gBAAgB;QACf,OAAO,SAAS,CAAC;IAClB,CAAC;IAeD,aAAa;QACZ,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,aAAa,CAAC,IAAS;QACtB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,0BAA0B,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;CACD;AApCD,0BAoCC;AAED,kBAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { TagBase, Box, ProviderHolder } from './tag';
|
|
2
|
+
export declare class Array 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
|
+
getAbiType: (providerHolder: ProviderHolder) => Promise<void>;
|
|
9
|
+
getFieldName(): string[][];
|
|
10
|
+
getParamTypes(): string;
|
|
11
|
+
getParameters(data: any): any[];
|
|
12
|
+
}
|
|
13
|
+
export default Array;
|
|
14
|
+
//# sourceMappingURL=array.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../src/tag/array.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAG1D,qBAAa,KAAM,SAAQ,GAAG;IAC7B,cAAc,CAAC,IAAI,EAAE,OAAO;IAI5B,UAAU,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAYjD,gBAAgB,IAAI,MAAM;IAI1B,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAOlE,WAAW,CAAC,CAAC,EAAE,GAAG;IASlB,UAAU,GAAI,gBAAgB,cAAc,mBAexC;IAEJ,YAAY,IAAI,MAAM,EAAE,EAAE;IAQ1B,aAAa,IAAI,MAAM;IAIvB,aAAa,CAAC,IAAI,EAAE,GAAG;CAQvB;AAED,eAAe,KAAK,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
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.Array = void 0;
|
|
7
|
+
const tag_1 = require("./tag");
|
|
8
|
+
const ethers_1 = require("ethers");
|
|
9
|
+
const ABITypeABI_1 = __importDefault(require("../abi/ABITypeABI"));
|
|
10
|
+
class Array extends tag_1.Box {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
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
|
+
const arrAbi = await this.boxData.arrayTag.getAbiType(providerHolder);
|
|
16
|
+
const resp = await c.arrayT(arrAbi);
|
|
17
|
+
// console.log('getAbiType', 'array', resp);
|
|
18
|
+
resolve(resp);
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
setBuliderType(type) {
|
|
22
|
+
this.boxData.arrayTag = type;
|
|
23
|
+
}
|
|
24
|
+
formatType(typeBytes, index) {
|
|
25
|
+
let { cursor, tag } = this.formatChild(typeBytes, index + 2);
|
|
26
|
+
if (tag == undefined) {
|
|
27
|
+
throw new Error('formatType error in array');
|
|
28
|
+
}
|
|
29
|
+
this.boxData = {
|
|
30
|
+
arrayTag: tag
|
|
31
|
+
};
|
|
32
|
+
return cursor;
|
|
33
|
+
}
|
|
34
|
+
getAbiTypeString() {
|
|
35
|
+
return `${this.boxData.arrayTag.getAbiTypeString()}[]`;
|
|
36
|
+
}
|
|
37
|
+
setFieldNames(names, index) {
|
|
38
|
+
if (this.boxData.arrayTag instanceof tag_1.Box) {
|
|
39
|
+
return this.boxData.arrayTag.setFieldNames(names, index);
|
|
40
|
+
}
|
|
41
|
+
return index;
|
|
42
|
+
}
|
|
43
|
+
doHydration(d) {
|
|
44
|
+
let arr = [];
|
|
45
|
+
for (const item of d) {
|
|
46
|
+
arr.push(this.boxData.arrayTag.doHydration(item));
|
|
47
|
+
}
|
|
48
|
+
return arr;
|
|
49
|
+
}
|
|
50
|
+
getFieldName() {
|
|
51
|
+
if (this.boxData.arrayTag instanceof tag_1.Box) {
|
|
52
|
+
return this.boxData.arrayTag.getFieldName();
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
return [];
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
getParamTypes() {
|
|
59
|
+
return `${this.boxData.arrayTag.getAbiTypeString()}[]`;
|
|
60
|
+
}
|
|
61
|
+
getParameters(data) {
|
|
62
|
+
let arr = [];
|
|
63
|
+
for (const item of data) {
|
|
64
|
+
const value = this.boxData.arrayTag.getParameters(item);
|
|
65
|
+
arr.push(value);
|
|
66
|
+
}
|
|
67
|
+
return arr;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
exports.Array = Array;
|
|
71
|
+
exports.default = Array;
|
|
72
|
+
//# sourceMappingURL=array.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array.js","sourceRoot":"","sources":["../../src/tag/array.ts"],"names":[],"mappings":";;;;;;AAAA,+BAA0D;AAC1D,mCAAgC;AAChC,mEAA2C;AAC3C,MAAa,KAAM,SAAQ,SAAG;IAA9B;;QAqCC,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,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CACpD,cAAc,CACd,CAAC;YAEF,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACpC,4CAA4C;YAC5C,OAAO,CAAC,IAAI,CAAC,CAAC;QACf,CAAC,CAAC,CAAC;IAsBL,CAAC;IAzEA,cAAc,CAAC,IAAa;QAC3B,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,UAAU,CAAC,SAAc,EAAE,KAAa;QACvC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QAC7D,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,CAAC,OAAO,GAAG;YACd,QAAQ,EAAE,GAAG;SACb,CAAC;QACF,OAAO,MAAM,CAAC;IACf,CAAC;IAED,gBAAgB;QACf,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAC;IACxD,CAAC;IAED,aAAa,CAAC,KAA4B,EAAE,KAAa;QACxD,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,YAAY,SAAG,EAAE,CAAC;YAC1C,OAAQ,IAAI,CAAC,OAAO,CAAC,QAAgB,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,WAAW,CAAC,CAAM;QACjB,IAAI,GAAG,GAAU,EAAE,CAAC;QACpB,KAAK,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC;YACtB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,CAAC;QAED,OAAO,GAAG,CAAC;IACZ,CAAC;IAmBD,YAAY;QACX,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,YAAY,SAAG,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QAC7C,CAAC;aAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACX,CAAC;IACF,CAAC;IAED,aAAa;QACZ,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAC;IACxD,CAAC;IAED,aAAa,CAAC,IAAS;QACtB,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACxD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC;QACD,OAAO,GAAG,CAAC;IACZ,CAAC;CACD;AA1ED,sBA0EC;AAED,kBAAe,KAAK,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { TagBase, ProviderHolder } from './tag';
|
|
2
|
+
export declare class Bool 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 Bool;
|
|
11
|
+
//# sourceMappingURL=bool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bool.d.ts","sourceRoot":"","sources":["../../src/tag/bool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAGrD,qBAAa,IAAK,SAAQ,OAAO;IAChC,IAAI,EAAE,MAAM,CAAU;IAEtB,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;CAQvB;AAED,eAAe,IAAI,CAAC"}
|
package/dist/tag/bool.js
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flarray.js","sourceRoot":"","sources":["../../src/tag/flarray.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|