@beclab/olaresid 0.1.1 → 0.1.3
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/CLI.md +1300 -0
- package/README.md +40 -31
- package/TAG.md +589 -0
- package/dist/abi/RootResolver2ABI.d.ts +54 -0
- package/dist/abi/RootResolver2ABI.d.ts.map +1 -0
- package/dist/abi/RootResolver2ABI.js +240 -0
- package/dist/abi/RootResolver2ABI.js.map +1 -0
- package/dist/business/index.d.ts +302 -0
- package/dist/business/index.d.ts.map +1 -0
- package/dist/business/index.js +1211 -0
- package/dist/business/index.js.map +1 -0
- package/dist/business/tag-context.d.ts +219 -0
- package/dist/business/tag-context.d.ts.map +1 -0
- package/dist/business/tag-context.js +560 -0
- package/dist/business/tag-context.js.map +1 -0
- package/dist/cli.js +2102 -39
- package/dist/cli.js.map +1 -1
- package/dist/debug.d.ts.map +1 -1
- package/dist/debug.js +14 -2
- package/dist/debug.js.map +1 -1
- package/dist/index.d.ts +51 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +241 -12
- package/dist/index.js.map +1 -1
- package/dist/utils/crypto-utils.d.ts +130 -0
- package/dist/utils/crypto-utils.d.ts.map +1 -0
- package/dist/utils/crypto-utils.js +402 -0
- package/dist/utils/crypto-utils.js.map +1 -0
- package/dist/utils/error-parser.d.ts +35 -0
- package/dist/utils/error-parser.d.ts.map +1 -0
- package/dist/utils/error-parser.js +202 -0
- package/dist/utils/error-parser.js.map +1 -0
- package/dist/utils/olares-id.d.ts +36 -0
- package/dist/utils/olares-id.d.ts.map +1 -0
- package/dist/utils/olares-id.js +52 -0
- package/dist/utils/olares-id.js.map +1 -0
- package/dist/utils/tag-abi-codec.d.ts +69 -0
- package/dist/utils/tag-abi-codec.d.ts.map +1 -0
- package/dist/utils/tag-abi-codec.js +144 -0
- package/dist/utils/tag-abi-codec.js.map +1 -0
- package/dist/utils/tag-type-builder.d.ts +158 -0
- package/dist/utils/tag-type-builder.d.ts.map +1 -0
- package/dist/utils/tag-type-builder.js +410 -0
- package/dist/utils/tag-type-builder.js.map +1 -0
- package/examples/crypto-utilities.ts +140 -0
- package/examples/domain-context.ts +80 -0
- package/examples/generate-mnemonic.ts +149 -0
- package/examples/index.ts +1 -1
- package/examples/ip.ts +171 -0
- package/examples/legacy.ts +10 -10
- package/examples/list-wallets.ts +81 -0
- package/examples/olares-id-format.ts +197 -0
- package/examples/quasar-demo/.eslintrc.js +23 -0
- package/examples/quasar-demo/.quasar/app.js +43 -0
- package/examples/quasar-demo/.quasar/client-entry.js +38 -0
- package/examples/quasar-demo/.quasar/client-prefetch.js +130 -0
- package/examples/quasar-demo/.quasar/quasar-user-options.js +16 -0
- package/examples/quasar-demo/README.md +49 -0
- package/examples/quasar-demo/index.html +11 -0
- package/examples/quasar-demo/package-lock.json +6407 -0
- package/examples/quasar-demo/package.json +36 -0
- package/examples/quasar-demo/quasar.config.js +73 -0
- package/examples/quasar-demo/src/App.vue +13 -0
- package/examples/quasar-demo/src/css/app.scss +1 -0
- package/examples/quasar-demo/src/layouts/MainLayout.vue +21 -0
- package/examples/quasar-demo/src/pages/IndexPage.vue +905 -0
- package/examples/quasar-demo/src/router/index.ts +25 -0
- package/examples/quasar-demo/src/router/routes.ts +11 -0
- package/examples/quasar-demo/tsconfig.json +28 -0
- package/examples/register-subdomain.ts +152 -0
- package/examples/rsa-keypair.ts +148 -0
- package/examples/tag-builder.ts +235 -0
- package/examples/tag-management.ts +534 -0
- package/examples/tag-nested-tuple.ts +190 -0
- package/examples/tag-simple.ts +149 -0
- package/examples/tag-tagger.ts +217 -0
- package/examples/test-nested-tuple-conversion.ts +143 -0
- package/examples/test-type-bytes-parser.ts +70 -0
- package/examples/transfer-domain.ts +197 -0
- package/examples/wallet-management.ts +196 -0
- package/package.json +24 -15
- package/src/abi/RootResolver2ABI.ts +237 -0
- package/src/business/index.ts +1492 -0
- package/src/business/tag-context.ts +747 -0
- package/src/cli.ts +2772 -39
- package/src/debug.ts +17 -2
- package/src/index.ts +313 -17
- package/src/utils/crypto-utils.ts +459 -0
- package/src/utils/error-parser.ts +225 -0
- package/src/utils/olares-id.ts +49 -0
- package/src/utils/tag-abi-codec.ts +158 -0
- package/src/utils/tag-type-builder.ts +469 -0
- package/tsconfig.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,28 +1,168 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
37
|
};
|
|
5
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.debug = exports.DIDConsole = void 0;
|
|
39
|
+
exports.normalizeToOlaresId = exports.normalizeToDomain = exports.TagAbiCodec = exports.TagTypeBuilder = exports.debug = exports.DIDConsole = exports.deriveDIDFromMnemonic = exports.generateDIDKeyData = exports.getDIDFromMnemonic = exports.getEVMPrivateKeyFromMnemonic = exports.getEthereumAddressFromMnemonic = exports.generateMnemonic = exports.bytes4ToIpv4 = exports.ipv4ToBytes4 = exports.derToPem = exports.pemToDer = exports.createRsaKeyPair = exports.TagContext = exports.DomainContext = exports.UserType = void 0;
|
|
7
40
|
const index_1 = require("./domain/index");
|
|
8
41
|
const index_2 = __importDefault(require("./tag/index"));
|
|
9
42
|
const ethers_1 = require("ethers");
|
|
10
43
|
const TerminusDIDABI_1 = __importDefault(require("./abi/TerminusDIDABI"));
|
|
11
44
|
const RootResolverABI_1 = __importDefault(require("./abi/RootResolverABI"));
|
|
45
|
+
const RootResolver2ABI_1 = __importDefault(require("./abi/RootResolver2ABI"));
|
|
12
46
|
const debug_1 = require("./debug");
|
|
47
|
+
const error_parser_1 = require("./utils/error-parser");
|
|
48
|
+
const olares_id_1 = require("./utils/olares-id");
|
|
49
|
+
const business_1 = require("./business");
|
|
50
|
+
// Import Tag utilities
|
|
51
|
+
const tag_type_builder_1 = require("./utils/tag-type-builder");
|
|
52
|
+
Object.defineProperty(exports, "TagTypeBuilder", { enumerable: true, get: function () { return tag_type_builder_1.TagTypeBuilder; } });
|
|
53
|
+
const tag_abi_codec_1 = require("./utils/tag-abi-codec");
|
|
54
|
+
Object.defineProperty(exports, "TagAbiCodec", { enumerable: true, get: function () { return tag_abi_codec_1.TagAbiCodec; } });
|
|
55
|
+
var business_2 = require("./business");
|
|
56
|
+
Object.defineProperty(exports, "UserType", { enumerable: true, get: function () { return business_2.UserType; } });
|
|
57
|
+
Object.defineProperty(exports, "DomainContext", { enumerable: true, get: function () { return business_2.DomainContext; } });
|
|
58
|
+
Object.defineProperty(exports, "TagContext", { enumerable: true, get: function () { return business_2.TagContext; } });
|
|
59
|
+
Object.defineProperty(exports, "createRsaKeyPair", { enumerable: true, get: function () { return business_2.createRsaKeyPair; } });
|
|
60
|
+
Object.defineProperty(exports, "pemToDer", { enumerable: true, get: function () { return business_2.pemToDer; } });
|
|
61
|
+
Object.defineProperty(exports, "derToPem", { enumerable: true, get: function () { return business_2.derToPem; } });
|
|
62
|
+
Object.defineProperty(exports, "ipv4ToBytes4", { enumerable: true, get: function () { return business_2.ipv4ToBytes4; } });
|
|
63
|
+
Object.defineProperty(exports, "bytes4ToIpv4", { enumerable: true, get: function () { return business_2.bytes4ToIpv4; } });
|
|
64
|
+
Object.defineProperty(exports, "generateMnemonic", { enumerable: true, get: function () { return business_2.generateMnemonic; } });
|
|
65
|
+
Object.defineProperty(exports, "getEthereumAddressFromMnemonic", { enumerable: true, get: function () { return business_2.getEthereumAddressFromMnemonic; } });
|
|
66
|
+
Object.defineProperty(exports, "getEVMPrivateKeyFromMnemonic", { enumerable: true, get: function () { return business_2.getEVMPrivateKeyFromMnemonic; } });
|
|
67
|
+
Object.defineProperty(exports, "getDIDFromMnemonic", { enumerable: true, get: function () { return business_2.getDIDFromMnemonic; } });
|
|
68
|
+
Object.defineProperty(exports, "generateDIDKeyData", { enumerable: true, get: function () { return business_2.generateDIDKeyData; } });
|
|
69
|
+
Object.defineProperty(exports, "deriveDIDFromMnemonic", { enumerable: true, get: function () { return business_2.deriveDIDFromMnemonic; } });
|
|
13
70
|
class DIDConsole {
|
|
14
|
-
constructor(rpcNode, contractDid, contractRootResolver, contractAbiType) {
|
|
71
|
+
constructor(rpcNode, contractDid, contractRootResolver, contractAbiType, contractRootResolver2, supportSvcUrl) {
|
|
15
72
|
this.allDomainCache = [];
|
|
16
73
|
this.treesCache = [];
|
|
17
|
-
this.getProvider = () =>
|
|
18
|
-
|
|
74
|
+
this.getProvider = () => {
|
|
75
|
+
if (!this._provider) {
|
|
76
|
+
this._provider = new ethers_1.ethers.JsonRpcProvider(this.rpcNode);
|
|
77
|
+
}
|
|
78
|
+
return this._provider;
|
|
79
|
+
};
|
|
80
|
+
this.setSigner = async (signerOrPrivateKeyOrMnemonic) => {
|
|
81
|
+
if (typeof signerOrPrivateKeyOrMnemonic === 'string') {
|
|
82
|
+
// Check if it's a mnemonic (12-24 words) or private key (0x... hex)
|
|
83
|
+
const trimmed = signerOrPrivateKeyOrMnemonic.trim();
|
|
84
|
+
const wordCount = trimmed.split(/\s+/).length;
|
|
85
|
+
// If it's 12-24 words, treat it as a mnemonic
|
|
86
|
+
if (wordCount >= 12 && wordCount <= 24) {
|
|
87
|
+
// Import and use the mnemonic conversion function
|
|
88
|
+
const { getEVMPrivateKeyFromMnemonic } = await Promise.resolve().then(() => __importStar(require('./utils/crypto-utils')));
|
|
89
|
+
const privateKey = await getEVMPrivateKeyFromMnemonic(trimmed);
|
|
90
|
+
this.signer = new ethers_1.ethers.Wallet(privateKey, this.getProvider());
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
// Treat as private key
|
|
94
|
+
this.signer = new ethers_1.ethers.Wallet(signerOrPrivateKeyOrMnemonic, this.getProvider());
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
this.signer = signerOrPrivateKeyOrMnemonic;
|
|
99
|
+
}
|
|
100
|
+
// reset cached signer contracts
|
|
101
|
+
this._signerContractDID = undefined;
|
|
102
|
+
this._signerContractRootResolver = undefined;
|
|
103
|
+
this._signerContractRootResolver2 = undefined;
|
|
104
|
+
};
|
|
105
|
+
this.getSigner = () => {
|
|
106
|
+
if (!this.signer) {
|
|
107
|
+
throw new Error('No signer available.');
|
|
108
|
+
}
|
|
109
|
+
return this.signer;
|
|
110
|
+
};
|
|
111
|
+
this.clearSigner = () => {
|
|
112
|
+
this.signer = undefined;
|
|
113
|
+
// reset cached signer contracts
|
|
114
|
+
this._signerContractDID = undefined;
|
|
115
|
+
this._signerContractRootResolver = undefined;
|
|
116
|
+
this._signerContractRootResolver2 = undefined;
|
|
117
|
+
};
|
|
118
|
+
this.getContractDID = () => {
|
|
119
|
+
if (!this._contractDID) {
|
|
120
|
+
this._contractDID = new ethers_1.ethers.Contract(this.contractDid, TerminusDIDABI_1.default.abi, this.getProvider());
|
|
121
|
+
}
|
|
122
|
+
return this._contractDID;
|
|
123
|
+
};
|
|
124
|
+
this.getSignerContractDID = () => {
|
|
125
|
+
if (!this._signerContractDID) {
|
|
126
|
+
this._signerContractDID = new ethers_1.ethers.Contract(this.contractDid, TerminusDIDABI_1.default.abi, this.getSigner());
|
|
127
|
+
}
|
|
128
|
+
return this._signerContractDID;
|
|
129
|
+
};
|
|
19
130
|
this.getContractDIDByPrivateKey = (privateKey) => {
|
|
20
131
|
const wallet = new ethers_1.ethers.Wallet(privateKey, this.getProvider());
|
|
21
132
|
const contract = new ethers_1.ethers.Contract(this.contractDid, TerminusDIDABI_1.default.abi, wallet);
|
|
22
133
|
return contract;
|
|
23
134
|
};
|
|
24
135
|
this.getSignerContractDIDByProvider = async (provider) => new ethers_1.ethers.Contract(this.contractDid, TerminusDIDABI_1.default.abi, await provider.getSigner());
|
|
25
|
-
this.getContractRootResolver = () =>
|
|
136
|
+
this.getContractRootResolver = () => {
|
|
137
|
+
if (!this._contractRootResolver) {
|
|
138
|
+
this._contractRootResolver = new ethers_1.ethers.Contract(this.contractRootResolver, RootResolverABI_1.default.abi, this.getProvider());
|
|
139
|
+
}
|
|
140
|
+
return this._contractRootResolver;
|
|
141
|
+
};
|
|
142
|
+
this.getSignerContractRootResolver = () => {
|
|
143
|
+
if (!this._signerContractRootResolver) {
|
|
144
|
+
this._signerContractRootResolver = new ethers_1.ethers.Contract(this.contractRootResolver, RootResolverABI_1.default.abi, this.getSigner());
|
|
145
|
+
}
|
|
146
|
+
return this._signerContractRootResolver;
|
|
147
|
+
};
|
|
148
|
+
this.getContractRootResolver2 = () => {
|
|
149
|
+
if (!this.contractRootResolver2) {
|
|
150
|
+
throw new Error('No contractRootResolver2 provided.');
|
|
151
|
+
}
|
|
152
|
+
if (!this._contractRootResolver2) {
|
|
153
|
+
this._contractRootResolver2 = new ethers_1.ethers.Contract(this.contractRootResolver2, RootResolver2ABI_1.default.abi, this.getProvider());
|
|
154
|
+
}
|
|
155
|
+
return this._contractRootResolver2;
|
|
156
|
+
};
|
|
157
|
+
this.getSignerContractRootResolver2 = () => {
|
|
158
|
+
if (!this.contractRootResolver2) {
|
|
159
|
+
throw new Error('No contractRootResolver2 provided.');
|
|
160
|
+
}
|
|
161
|
+
if (!this._signerContractRootResolver2) {
|
|
162
|
+
this._signerContractRootResolver2 = new ethers_1.ethers.Contract(this.contractRootResolver2, RootResolver2ABI_1.default.abi, this.getSigner());
|
|
163
|
+
}
|
|
164
|
+
return this._signerContractRootResolver2;
|
|
165
|
+
};
|
|
26
166
|
this.getSignerContractRootResolverByProvider = async (provider) => new ethers_1.ethers.Contract(this.contractRootResolver, RootResolverABI_1.default.abi, await provider.getSigner());
|
|
27
167
|
this.fetchAll = () => new Promise(async (resolve, reject) => {
|
|
28
168
|
debug_1.debug.group('fetchAll');
|
|
@@ -42,22 +182,26 @@ class DIDConsole {
|
|
|
42
182
|
resolve(this.treesCache);
|
|
43
183
|
});
|
|
44
184
|
this.fetchDomain = (name) => new Promise(async (resolve, reject) => {
|
|
185
|
+
// Support Olares ID format (user@domain.com)
|
|
186
|
+
const normalizedName = (0, olares_id_1.normalizeToDomain)(name);
|
|
45
187
|
debug_1.debug.group('fetchDomain');
|
|
46
188
|
const hasCache = this.allDomainCache.length > 0;
|
|
47
189
|
debug_1.debug.info('fetchDomain--->hasCache', hasCache);
|
|
48
190
|
if (hasCache) {
|
|
49
|
-
const domain = index_1.PackageDomain.findASubtree(
|
|
191
|
+
const domain = index_1.PackageDomain.findASubtree(normalizedName, this.allDomainCache);
|
|
50
192
|
debug_1.debug.groupEnd();
|
|
51
193
|
resolve(domain);
|
|
52
194
|
}
|
|
53
195
|
else {
|
|
54
|
-
const domain = await index_1.PackageDomain.syncByName(
|
|
196
|
+
const domain = await index_1.PackageDomain.syncByName(normalizedName, await this.getContractDID());
|
|
55
197
|
debug_1.debug.groupEnd();
|
|
56
198
|
resolve(domain);
|
|
57
199
|
}
|
|
58
200
|
});
|
|
59
201
|
this.updateDomain = (name) => new Promise(async (resolve, reject) => {
|
|
60
|
-
|
|
202
|
+
// Support Olares ID format (user@domain.com)
|
|
203
|
+
const normalizedName = (0, olares_id_1.normalizeToDomain)(name);
|
|
204
|
+
const domain = await index_1.PackageDomain.syncByName(normalizedName, await this.getContractDID());
|
|
61
205
|
if (domain == undefined) {
|
|
62
206
|
reject('not found domain');
|
|
63
207
|
return;
|
|
@@ -141,19 +285,100 @@ class DIDConsole {
|
|
|
141
285
|
this.contractDid = contractDid;
|
|
142
286
|
this.contractRootResolver = contractRootResolver;
|
|
143
287
|
this.contractAbiType = contractAbiType;
|
|
288
|
+
this.contractRootResolver2 = contractRootResolver2;
|
|
289
|
+
this.supportSvcUrl = supportSvcUrl;
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* Uses a chain-style operation design pattern, returning the operation context for the specified domain
|
|
293
|
+
* For example: await console.domain('developer.olares.com').setRSAPublicKey(rsaKey);
|
|
294
|
+
*/
|
|
295
|
+
domain(name) {
|
|
296
|
+
return new business_1.DomainContext(name, this);
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Set the operator address (super admin)
|
|
300
|
+
* Only the contract owner can call this method
|
|
301
|
+
*/
|
|
302
|
+
async setOperator(newOperator) {
|
|
303
|
+
try {
|
|
304
|
+
const contract = this.getSignerContractDID();
|
|
305
|
+
const tx = await contract.setOperator(newOperator);
|
|
306
|
+
const receipt = await tx.wait();
|
|
307
|
+
return {
|
|
308
|
+
success: true,
|
|
309
|
+
transactionHash: receipt.hash,
|
|
310
|
+
gasUsed: receipt.gasUsed,
|
|
311
|
+
blockNumber: receipt.blockNumber
|
|
312
|
+
};
|
|
313
|
+
}
|
|
314
|
+
catch (error) {
|
|
315
|
+
const parsedError = (0, error_parser_1.parseContractError)(error);
|
|
316
|
+
// Always throw network errors
|
|
317
|
+
if (parsedError.isNetworkError) {
|
|
318
|
+
throw new Error(`Network error: ${parsedError.message}`);
|
|
319
|
+
}
|
|
320
|
+
// Return friendly contract error
|
|
321
|
+
return {
|
|
322
|
+
success: false,
|
|
323
|
+
transactionHash: '',
|
|
324
|
+
error: parsedError.message
|
|
325
|
+
};
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* Get the current operator address (super admin)
|
|
330
|
+
* @returns The operator address
|
|
331
|
+
*/
|
|
332
|
+
async getOperator() {
|
|
333
|
+
try {
|
|
334
|
+
const contract = this.getContractDID();
|
|
335
|
+
return await contract.operator();
|
|
336
|
+
}
|
|
337
|
+
catch (error) {
|
|
338
|
+
const parsedError = (0, error_parser_1.parseContractError)(error);
|
|
339
|
+
throw new Error(parsedError.message);
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
/**
|
|
343
|
+
* Get contract owner address
|
|
344
|
+
* @returns The contract owner address
|
|
345
|
+
*/
|
|
346
|
+
async getOwner() {
|
|
347
|
+
try {
|
|
348
|
+
const contract = this.getContractDID();
|
|
349
|
+
return await contract.owner();
|
|
350
|
+
}
|
|
351
|
+
catch (error) {
|
|
352
|
+
const parsedError = (0, error_parser_1.parseContractError)(error);
|
|
353
|
+
throw new Error(parsedError.message);
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
/**
|
|
357
|
+
* Get total supply of domains
|
|
358
|
+
* @returns The total number of registered domains
|
|
359
|
+
*/
|
|
360
|
+
async getTotalSupply() {
|
|
361
|
+
try {
|
|
362
|
+
const contract = this.getContractDID();
|
|
363
|
+
return await contract.totalSupply();
|
|
364
|
+
}
|
|
365
|
+
catch (error) {
|
|
366
|
+
const parsedError = (0, error_parser_1.parseContractError)(error);
|
|
367
|
+
throw new Error(parsedError.message);
|
|
368
|
+
}
|
|
144
369
|
}
|
|
145
370
|
}
|
|
146
371
|
exports.DIDConsole = DIDConsole;
|
|
147
372
|
var OlaresID;
|
|
148
373
|
(function (OlaresID) {
|
|
149
|
-
OlaresID.createConsole = (rpcNode, contractDid, contractRootResolver, contractAbiType) => {
|
|
150
|
-
return new DIDConsole(rpcNode, contractDid, contractRootResolver, contractAbiType);
|
|
374
|
+
OlaresID.createConsole = (rpcNode, contractDid, contractRootResolver, contractAbiType, contractRootResolver2, supportSvcUrl) => {
|
|
375
|
+
return new DIDConsole(rpcNode, contractDid, contractRootResolver, contractAbiType, contractRootResolver2, supportSvcUrl);
|
|
151
376
|
};
|
|
152
377
|
OlaresID.createMainnet = () => {
|
|
153
|
-
return OlaresID.createConsole('https://optimism-rpc.publicnode.com', '0x5DA4Fa8E567d86e52Ef8Da860de1be8f54cae97D', '0xE2EABA0979277A90511F8873ae1e8cA26B54E740', '0x9ae3F16bD99294Af1784beB1a0A5C84bf2636365');
|
|
378
|
+
return OlaresID.createConsole('https://optimism-rpc.publicnode.com', '0x5DA4Fa8E567d86e52Ef8Da860de1be8f54cae97D', '0xE2EABA0979277A90511F8873ae1e8cA26B54E740', '0x9ae3F16bD99294Af1784beB1a0A5C84bf2636365', '0x7e7961aB771cA942CE4DB6e79579e016a33Dc95B', 'https://api.olares.com/did/support');
|
|
154
379
|
};
|
|
155
380
|
OlaresID.createTestnet = () => {
|
|
156
|
-
return OlaresID.createConsole('https://sepolia.optimism.io', '0xe2D7c3a9013960E04d4E9F5F9B63fff37eEd97A8', '0xeF727cb066Fee98F88Db84555830063b4A24ddfc', '0x7386fCBae6Ad4CCE1499d9153D99bc950B589718');
|
|
381
|
+
return OlaresID.createConsole('https://sepolia.optimism.io', '0xe2D7c3a9013960E04d4E9F5F9B63fff37eEd97A8', '0xeF727cb066Fee98F88Db84555830063b4A24ddfc', '0x7386fCBae6Ad4CCE1499d9153D99bc950B589718', '0xcbC02aa08c77a374eC0D5A0403E108b7573d96e8', 'https://api-test.olares.com/did/support');
|
|
157
382
|
};
|
|
158
383
|
OlaresID.Domain = index_1.PackageDomain;
|
|
159
384
|
OlaresID.Tag = index_2.default;
|
|
@@ -162,5 +387,9 @@ var OlaresID;
|
|
|
162
387
|
})(OlaresID || (OlaresID = {}));
|
|
163
388
|
var debug_2 = require("./debug");
|
|
164
389
|
Object.defineProperty(exports, "debug", { enumerable: true, get: function () { return debug_2.debug; } });
|
|
390
|
+
// Export Olares ID utilities
|
|
391
|
+
var olares_id_2 = require("./utils/olares-id");
|
|
392
|
+
Object.defineProperty(exports, "normalizeToDomain", { enumerable: true, get: function () { return olares_id_2.normalizeToDomain; } });
|
|
393
|
+
Object.defineProperty(exports, "normalizeToOlaresId", { enumerable: true, get: function () { return olares_id_2.normalizeToOlaresId; } });
|
|
165
394
|
exports.default = OlaresID;
|
|
166
395
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cross-platform crypto utilities using Trust Wallet Core
|
|
3
|
+
* Works in both Node.js and Browser environments
|
|
4
|
+
*
|
|
5
|
+
* This implementation uses the same approach as TermiPass to ensure
|
|
6
|
+
* compatibility across the entire Olares ecosystem.
|
|
7
|
+
*/
|
|
8
|
+
export interface RSAPublicKeyData {
|
|
9
|
+
rsaPublicKey: string;
|
|
10
|
+
rsaPrivateKey: string;
|
|
11
|
+
}
|
|
12
|
+
export interface DIDKeyData {
|
|
13
|
+
owner: string;
|
|
14
|
+
did: string;
|
|
15
|
+
mnemonic: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Generate a random BIP39 mnemonic phrase
|
|
19
|
+
* @param wordCount Number of words (12, 15, 18, 21, or 24), default is 12
|
|
20
|
+
* @returns A mnemonic phrase string
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```typescript
|
|
24
|
+
* const mnemonic = generateMnemonic(12);
|
|
25
|
+
* console.log(mnemonic);
|
|
26
|
+
* // Output: "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about"
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export declare function generateMnemonic(wordCount?: number): string;
|
|
30
|
+
/**
|
|
31
|
+
* Derive Ethereum address from mnemonic using Trust Wallet Core
|
|
32
|
+
* Uses standard BIP44 derivation path for Ethereum
|
|
33
|
+
*
|
|
34
|
+
* @param mnemonic BIP39 mnemonic phrase
|
|
35
|
+
* @returns Ethereum address (0x...)
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```typescript
|
|
39
|
+
* const address = await getEthereumAddressFromMnemonic(mnemonic);
|
|
40
|
+
* console.log(address); // "0x9858EfFD232B4033E47d90003D41EC34EcaEda94"
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
export declare function getEthereumAddressFromMnemonic(mnemonic: string): Promise<string>;
|
|
44
|
+
/**
|
|
45
|
+
* Derive EVM-compatible private key from mnemonic using Trust Wallet Core
|
|
46
|
+
* Uses standard BIP44 derivation path for Ethereum (m/44'/60'/0'/0/0)
|
|
47
|
+
*
|
|
48
|
+
* @param mnemonic BIP39 mnemonic phrase
|
|
49
|
+
* @returns Private key in hex format with 0x prefix (0x...)
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```typescript
|
|
53
|
+
* const privateKey = await getEVMPrivateKeyFromMnemonic(mnemonic);
|
|
54
|
+
* console.log(privateKey); // "0x1234567890abcdef..."
|
|
55
|
+
* // Can be used with ethers.Wallet or setSigner
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
export declare function getEVMPrivateKeyFromMnemonic(mnemonic: string): Promise<string>;
|
|
59
|
+
/**
|
|
60
|
+
* Generate DID from mnemonic using Trust Wallet Core
|
|
61
|
+
* Uses Ed25519 key and follows did:key specification
|
|
62
|
+
* This implementation is identical to TermiPass
|
|
63
|
+
*
|
|
64
|
+
* @param mnemonic BIP39 mnemonic phrase
|
|
65
|
+
* @returns DID string in format: did:key:z...
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* ```typescript
|
|
69
|
+
* const did = await getDIDFromMnemonic(mnemonic);
|
|
70
|
+
* console.log(did);
|
|
71
|
+
* // Output: "did:key:z6MkhtRJqzrZNaeEvGvgJVJv6dyFWDRYpZuHW61e8hjF6Fow"
|
|
72
|
+
* ```
|
|
73
|
+
*/
|
|
74
|
+
export declare function getDIDFromMnemonic(mnemonic: string): Promise<string>;
|
|
75
|
+
/**
|
|
76
|
+
* Derive both owner (Ethereum address) and DID from existing mnemonic
|
|
77
|
+
*
|
|
78
|
+
* @param mnemonic BIP39 mnemonic phrase
|
|
79
|
+
* @returns Object containing owner (Ethereum address) and DID
|
|
80
|
+
*
|
|
81
|
+
* @example
|
|
82
|
+
* ```typescript
|
|
83
|
+
* const { owner, did } = await deriveDIDFromMnemonic(mnemonic);
|
|
84
|
+
* console.log('Owner:', owner);
|
|
85
|
+
* console.log('DID:', did);
|
|
86
|
+
* ```
|
|
87
|
+
*/
|
|
88
|
+
export declare function deriveDIDFromMnemonic(mnemonic: string): Promise<{
|
|
89
|
+
owner: string;
|
|
90
|
+
did: string;
|
|
91
|
+
}>;
|
|
92
|
+
/**
|
|
93
|
+
* Generate mnemonic, Ethereum address, and DID all at once
|
|
94
|
+
*
|
|
95
|
+
* @param wordCount Number of words in mnemonic (default 12)
|
|
96
|
+
* @returns Object containing mnemonic, owner (Ethereum address), and DID
|
|
97
|
+
*
|
|
98
|
+
* @example
|
|
99
|
+
* ```typescript
|
|
100
|
+
* const keyData = await generateDIDKeyData(12);
|
|
101
|
+
* console.log('Mnemonic:', keyData.mnemonic);
|
|
102
|
+
* console.log('Owner:', keyData.owner);
|
|
103
|
+
* console.log('DID:', keyData.did);
|
|
104
|
+
* ```
|
|
105
|
+
*/
|
|
106
|
+
export declare function generateDIDKeyData(wordCount?: number): Promise<DIDKeyData>;
|
|
107
|
+
/**
|
|
108
|
+
* Generate RSA key pair (cross-platform)
|
|
109
|
+
*
|
|
110
|
+
* - In Node.js: Returns immediately (synchronous)
|
|
111
|
+
* - In Browser: Returns a Promise (asynchronous, uses Web Crypto API)
|
|
112
|
+
*
|
|
113
|
+
* @param length Key length in bits (minimum 512, must be multiple of 8, default 2048)
|
|
114
|
+
* @returns Public and private keys in PEM PKCS#8 format
|
|
115
|
+
* @throws Error if key length is invalid or crypto API is unavailable
|
|
116
|
+
*
|
|
117
|
+
* @example
|
|
118
|
+
* ```typescript
|
|
119
|
+
* // Node.js (synchronous, but wrapped in Promise for compatibility)
|
|
120
|
+
* const keyPair = await createRsaKeyPair(2048);
|
|
121
|
+
*
|
|
122
|
+
* // Browser (asynchronous)
|
|
123
|
+
* const keyPair = await createRsaKeyPair(2048);
|
|
124
|
+
*
|
|
125
|
+
* console.log(keyPair.rsaPublicKey); // PEM format
|
|
126
|
+
* console.log(keyPair.rsaPrivateKey); // PEM format
|
|
127
|
+
* ```
|
|
128
|
+
*/
|
|
129
|
+
export declare function createRsaKeyPair(length?: number): Promise<RSAPublicKeyData>;
|
|
130
|
+
//# sourceMappingURL=crypto-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crypto-utils.d.ts","sourceRoot":"","sources":["../../src/utils/crypto-utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAyCH,MAAM,WAAW,gBAAgB;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CACjB;AAgED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,GAAE,MAAW,GAAG,MAAM,CAmB/D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,8BAA8B,CACnD,QAAQ,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CAWjB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,4BAA4B,CACjD,QAAQ,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CAmBjB;AA6BD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQ1E;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IACtE,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACZ,CAAC,CAaD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,kBAAkB,CACvC,SAAS,GAAE,MAAW,GACpB,OAAO,CAAC,UAAU,CAAC,CASrB;AA4FD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,gBAAgB,CAC/B,MAAM,GAAE,MAAa,GACnB,OAAO,CAAC,gBAAgB,CAAC,CAgB3B"}
|