@beclab/olaresid 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/CLI.md +1300 -0
  2. package/README.md +37 -31
  3. package/TAG.md +589 -0
  4. package/dist/abi/RootResolver2ABI.d.ts +54 -0
  5. package/dist/abi/RootResolver2ABI.d.ts.map +1 -0
  6. package/dist/abi/RootResolver2ABI.js +240 -0
  7. package/dist/abi/RootResolver2ABI.js.map +1 -0
  8. package/dist/business/index.d.ts +302 -0
  9. package/dist/business/index.d.ts.map +1 -0
  10. package/dist/business/index.js +1209 -0
  11. package/dist/business/index.js.map +1 -0
  12. package/dist/business/tag-context.d.ts +219 -0
  13. package/dist/business/tag-context.d.ts.map +1 -0
  14. package/dist/business/tag-context.js +537 -0
  15. package/dist/business/tag-context.js.map +1 -0
  16. package/dist/cli.js +2085 -39
  17. package/dist/cli.js.map +1 -1
  18. package/dist/debug.d.ts.map +1 -1
  19. package/dist/debug.js +14 -2
  20. package/dist/debug.js.map +1 -1
  21. package/dist/index.d.ts +50 -2
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +229 -9
  24. package/dist/index.js.map +1 -1
  25. package/dist/utils/crypto-utils.d.ts +130 -0
  26. package/dist/utils/crypto-utils.d.ts.map +1 -0
  27. package/dist/utils/crypto-utils.js +402 -0
  28. package/dist/utils/crypto-utils.js.map +1 -0
  29. package/dist/utils/error-parser.d.ts +35 -0
  30. package/dist/utils/error-parser.d.ts.map +1 -0
  31. package/dist/utils/error-parser.js +202 -0
  32. package/dist/utils/error-parser.js.map +1 -0
  33. package/dist/utils/tag-abi-codec.d.ts +69 -0
  34. package/dist/utils/tag-abi-codec.d.ts.map +1 -0
  35. package/dist/utils/tag-abi-codec.js +144 -0
  36. package/dist/utils/tag-abi-codec.js.map +1 -0
  37. package/dist/utils/tag-type-builder.d.ts +158 -0
  38. package/dist/utils/tag-type-builder.d.ts.map +1 -0
  39. package/dist/utils/tag-type-builder.js +410 -0
  40. package/dist/utils/tag-type-builder.js.map +1 -0
  41. package/examples/crypto-utilities.ts +140 -0
  42. package/examples/domain-context.ts +80 -0
  43. package/examples/generate-mnemonic.ts +149 -0
  44. package/examples/index.ts +1 -1
  45. package/examples/ip.ts +171 -0
  46. package/examples/legacy.ts +10 -10
  47. package/examples/list-wallets.ts +81 -0
  48. package/examples/quasar-demo/.eslintrc.js +23 -0
  49. package/examples/quasar-demo/.quasar/app.js +43 -0
  50. package/examples/quasar-demo/.quasar/client-entry.js +38 -0
  51. package/examples/quasar-demo/.quasar/client-prefetch.js +130 -0
  52. package/examples/quasar-demo/.quasar/quasar-user-options.js +16 -0
  53. package/examples/quasar-demo/README.md +49 -0
  54. package/examples/quasar-demo/index.html +11 -0
  55. package/examples/quasar-demo/package-lock.json +6407 -0
  56. package/examples/quasar-demo/package.json +36 -0
  57. package/examples/quasar-demo/quasar.config.js +73 -0
  58. package/examples/quasar-demo/src/App.vue +13 -0
  59. package/examples/quasar-demo/src/css/app.scss +1 -0
  60. package/examples/quasar-demo/src/layouts/MainLayout.vue +21 -0
  61. package/examples/quasar-demo/src/pages/IndexPage.vue +905 -0
  62. package/examples/quasar-demo/src/router/index.ts +25 -0
  63. package/examples/quasar-demo/src/router/routes.ts +11 -0
  64. package/examples/quasar-demo/tsconfig.json +28 -0
  65. package/examples/register-subdomain.ts +152 -0
  66. package/examples/rsa-keypair.ts +148 -0
  67. package/examples/tag-builder.ts +235 -0
  68. package/examples/tag-management.ts +534 -0
  69. package/examples/tag-nested-tuple.ts +190 -0
  70. package/examples/tag-simple.ts +149 -0
  71. package/examples/tag-tagger.ts +217 -0
  72. package/examples/test-nested-tuple-conversion.ts +143 -0
  73. package/examples/test-type-bytes-parser.ts +70 -0
  74. package/examples/transfer-domain.ts +197 -0
  75. package/examples/wallet-management.ts +196 -0
  76. package/package.json +24 -15
  77. package/src/abi/RootResolver2ABI.ts +237 -0
  78. package/src/business/index.ts +1490 -0
  79. package/src/business/tag-context.ts +713 -0
  80. package/src/cli.ts +2755 -39
  81. package/src/debug.ts +17 -2
  82. package/src/index.ts +300 -14
  83. package/src/utils/crypto-utils.ts +459 -0
  84. package/src/utils/error-parser.ts +225 -0
  85. package/src/utils/tag-abi-codec.ts +158 -0
  86. package/src/utils/tag-type-builder.ts +469 -0
  87. package/tsconfig.json +1 -1
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,UAAU,WAAW;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAC3C,MAAM,EAAE,MAAM,CAAC;CACf;AAED,cAAM,WAAW;IAChB,OAAO,CAAC,MAAM,CAAc;;IAM5B,OAAO,CAAC,WAAW;IA4CnB,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,aAAa;IASd,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAM3B,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAM1B,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAM1B,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAM3B,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAM3B,cAAc,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAMpC,QAAQ,IAAI,IAAI;IAOhB,MAAM,IAAI,IAAI;IAId,OAAO,IAAI,IAAI;IAIf,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI;IAI3C,SAAS,IAAI,WAAW;IAIxB,SAAS,IAAI,OAAO;CAG3B;AAGD,QAAA,MAAM,WAAW,aAAoB,CAAC;AAGtC,eAAO,MAAM,KAAK;qBAEA,GAAG,EAAE;oBACN,GAAG,EAAE;oBACL,GAAG,EAAE;qBACJ,GAAG,EAAE;qBACL,GAAG,EAAE;8BACI,GAAG,EAAE;;;;sBAMb,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO;;;CAIrD,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,UAAU,WAAW;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAC3C,MAAM,EAAE,MAAM,CAAC;CACf;AAED,cAAM,WAAW;IAChB,OAAO,CAAC,MAAM,CAAc;;IAM5B,OAAO,CAAC,WAAW;IA2DnB,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,aAAa;IASd,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAM3B,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAM1B,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAM1B,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAM3B,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAM3B,cAAc,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAMpC,QAAQ,IAAI,IAAI;IAOhB,MAAM,IAAI,IAAI;IAId,OAAO,IAAI,IAAI;IAIf,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI;IAI3C,SAAS,IAAI,WAAW;IAIxB,SAAS,IAAI,OAAO;CAG3B;AAGD,QAAA,MAAM,WAAW,aAAoB,CAAC;AAGtC,eAAO,MAAM,KAAK;qBAEA,GAAG,EAAE;oBACN,GAAG,EAAE;oBACL,GAAG,EAAE;qBACJ,GAAG,EAAE;qBACL,GAAG,EAAE;8BACI,GAAG,EAAE;;;;sBAMb,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO;;;CAIrD,CAAC;AAEF,eAAe,WAAW,CAAC"}
package/dist/debug.js CHANGED
@@ -11,11 +11,23 @@ class DebugLogger {
11
11
  this.config = this.parseConfig();
12
12
  }
13
13
  parseConfig() {
14
- // Check environment variables
14
+ // Check if running in Node.js environment
15
+ const isNode = typeof process !== 'undefined' &&
16
+ process.versions &&
17
+ process.versions.node;
18
+ // Default config for browser
19
+ if (!isNode) {
20
+ return {
21
+ enabled: false,
22
+ level: 'debug',
23
+ prefix: '[DID-DEBUG]'
24
+ };
25
+ }
26
+ // Check environment variables (Node.js only)
15
27
  const envDebug = process.env.DEBUG === 'true' || process.env.DEBUG === '1';
16
28
  const envLevel = process.env.DEBUG_LEVEL || 'debug';
17
29
  const envPrefix = process.env.DEBUG_PREFIX || '[DID-DEBUG]';
18
- // Check command line arguments
30
+ // Check command line arguments (Node.js only)
19
31
  const args = process.argv;
20
32
  const hasDebugFlag = args.includes('--debug') || args.includes('-d');
21
33
  const hasVerboseFlag = args.includes('--verbose') || args.includes('-v');
package/dist/debug.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"debug.js","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"debug.js","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,11 @@
1
1
  import { PackageDomain } from './domain/index';
2
2
  import DIDTag from './tag/index';
3
3
  import { ethers } from 'ethers';
4
+ import { DomainContext, TransactionResult } from './business';
5
+ import { TagTypeBuilder } from './utils/tag-type-builder';
6
+ import { TagAbiCodec } from './utils/tag-abi-codec';
7
+ export type { DomainInfo, DomainMetaInfo, TagInfo, TransactionResult, RSAPublicKeyData, DIDKeyData } from './business';
8
+ export { UserType, DomainContext, TagContext, createRsaKeyPair, pemToDer, derToPem, ipv4ToBytes4, bytes4ToIpv4, generateMnemonic, getEthereumAddressFromMnemonic, getEVMPrivateKeyFromMnemonic, getDIDFromMnemonic, generateDIDKeyData, deriveDIDFromMnemonic } from './business';
4
9
  type Domain = PackageDomain.Domain;
5
10
  type StoreDomain = PackageDomain.DomainData;
6
11
  export declare class DIDConsole implements DIDTag.ABITypeProviderHolder {
@@ -8,14 +13,31 @@ export declare class DIDConsole implements DIDTag.ABITypeProviderHolder {
8
13
  contractDid: string;
9
14
  contractRootResolver: string;
10
15
  contractAbiType: string;
16
+ contractRootResolver2?: string;
17
+ supportSvcUrl?: string;
18
+ signer?: ethers.Signer;
11
19
  allDomainCache: Domain[];
12
20
  treesCache: Domain[];
13
- constructor(rpcNode: string, contractDid: string, contractRootResolver: string, contractAbiType: string);
21
+ private _contractDID?;
22
+ private _signerContractDID?;
23
+ private _contractRootResolver?;
24
+ private _signerContractRootResolver?;
25
+ private _contractRootResolver2?;
26
+ private _signerContractRootResolver2?;
27
+ private _provider?;
28
+ constructor(rpcNode: string, contractDid: string, contractRootResolver: string, contractAbiType: string, contractRootResolver2?: string, supportSvcUrl?: string);
14
29
  getProvider: () => ethers.JsonRpcProvider;
30
+ setSigner: (signerOrPrivateKeyOrMnemonic: ethers.Signer | string) => Promise<void>;
31
+ getSigner: () => ethers.Signer;
32
+ clearSigner: () => void;
15
33
  getContractDID: () => ethers.Contract;
34
+ getSignerContractDID: () => ethers.Contract;
16
35
  getContractDIDByPrivateKey: (privateKey: string) => ethers.Contract;
17
36
  getSignerContractDIDByProvider: (provider: ethers.JsonRpcApiProvider) => Promise<ethers.Contract>;
18
37
  getContractRootResolver: () => ethers.Contract;
38
+ getSignerContractRootResolver: () => ethers.Contract;
39
+ getContractRootResolver2: () => ethers.Contract;
40
+ getSignerContractRootResolver2: () => ethers.Contract;
19
41
  getSignerContractRootResolverByProvider: (provider: ethers.JsonRpcApiProvider) => Promise<ethers.Contract>;
20
42
  fetchAll: () => Promise<PackageDomain.Domain[]>;
21
43
  fetchDomain: (name: string) => Promise<PackageDomain.Domain | undefined>;
@@ -25,9 +47,34 @@ export declare class DIDConsole implements DIDTag.ABITypeProviderHolder {
25
47
  formatDatas: (doamins: Domain[]) => Promise<PackageDomain.DomainData[]>;
26
48
  loadData: (data: StoreDomain) => Promise<PackageDomain.Domain>;
27
49
  loadDatas: (datas: StoreDomain[]) => Promise<PackageDomain.Domain[]>;
50
+ /**
51
+ * Uses a chain-style operation design pattern, returning the operation context for the specified domain
52
+ * For example: await console.domain('developer.olares.com').setRSAPublicKey(rsaKey);
53
+ */
54
+ domain(name: string): DomainContext;
55
+ /**
56
+ * Set the operator address (super admin)
57
+ * Only the contract owner can call this method
58
+ */
59
+ setOperator(newOperator: string): Promise<TransactionResult>;
60
+ /**
61
+ * Get the current operator address (super admin)
62
+ * @returns The operator address
63
+ */
64
+ getOperator(): Promise<string>;
65
+ /**
66
+ * Get contract owner address
67
+ * @returns The contract owner address
68
+ */
69
+ getOwner(): Promise<string>;
70
+ /**
71
+ * Get total supply of domains
72
+ * @returns The total number of registered domains
73
+ */
74
+ getTotalSupply(): Promise<bigint>;
28
75
  }
29
76
  declare namespace OlaresID {
30
- const createConsole: (rpcNode: string, contractDid: string, contractRootResolver: string, contractAbiType: string) => DIDConsole;
77
+ const createConsole: (rpcNode: string, contractDid: string, contractRootResolver: string, contractAbiType: string, contractRootResolver2?: string, supportSvcUrl?: string) => DIDConsole;
31
78
  const createMainnet: () => DIDConsole;
32
79
  const createTestnet: () => DIDConsole;
33
80
  export import Domain = PackageDomain;
@@ -189,5 +236,6 @@ declare namespace OlaresID {
189
236
  };
190
237
  }
191
238
  export { debug } from './debug';
239
+ export { TagTypeBuilder, TagAbiCodec };
192
240
  export default OlaresID;
193
241
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAKhC,KAAK,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;AAEnC,KAAK,WAAW,GAAG,aAAa,CAAC,UAAU,CAAC;AAE5C,qBAAa,UAAW,YAAW,MAAM,CAAC,qBAAqB;IAC9D,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;IAExB,cAAc,EAAE,MAAM,EAAE,CAAM;IAC9B,UAAU,EAAE,MAAM,EAAE,CAAM;gBAGzB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,oBAAoB,EAAE,MAAM,EAC5B,eAAe,EAAE,MAAM;IAQxB,WAAW,+BAAkD;IAE7D,cAAc,wBAC0D;IAExE,0BAA0B,GAAI,YAAY,MAAM,qBAS9C;IAEF,8BAA8B,GAC7B,UAAU,MAAM,CAAC,kBAAkB,8BAMjC;IAEH,uBAAuB,wBAKpB;IAEH,uCAAuC,GACtC,UAAU,MAAM,CAAC,kBAAkB,8BAMjC;IAEH,QAAQ,wCAuBJ;IAEJ,WAAW,GAAI,MAAM,MAAM,+CAuBvB;IAEJ,YAAY,GAAI,MAAM,MAAM,mCAmDxB;IAEJ,gBAAgB,GAAI,IAAI,MAAM,mCAgD1B;IAEJ,UAAU,GAAI,QAAQ,MAAM,uCAGxB;IAEJ,WAAW,GAAI,SAAS,MAAM,EAAE,yCAG5B;IAEJ,QAAQ,GAAI,MAAM,WAAW,mCAGzB;IAEJ,SAAS,GAAI,OAAO,WAAW,EAAE,qCAY7B;CACJ;AAED,kBAAU,QAAQ,CAAC;IACX,MAAM,aAAa,GACzB,SAAS,MAAM,EACf,aAAa,MAAM,EACnB,sBAAsB,MAAM,EAC5B,iBAAiB,MAAM,KACrB,UAOF,CAAC;IAEK,MAAM,aAAa,QAAO,UAOhC,CAAC;IAEK,MAAM,aAAa,QAAO,UAOhC,CAAC;IAEF,MAAM,QAAQ,MAAM,GAAG,aAAa,CAAC;IAErC,MAAM,QAAQ,GAAG,GAAG,MAAM,CAAC;IAE3B,KAAY,WAAW,GAAG,aAAa,CAAC,UAAU,CAAC;IAE5C,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAAU,CAAC;IAExB,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAAkB,CAAC;CACjD;AAED,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,28 +1,167 @@
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.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 business_1 = require("./business");
49
+ // Import Tag utilities
50
+ const tag_type_builder_1 = require("./utils/tag-type-builder");
51
+ Object.defineProperty(exports, "TagTypeBuilder", { enumerable: true, get: function () { return tag_type_builder_1.TagTypeBuilder; } });
52
+ const tag_abi_codec_1 = require("./utils/tag-abi-codec");
53
+ Object.defineProperty(exports, "TagAbiCodec", { enumerable: true, get: function () { return tag_abi_codec_1.TagAbiCodec; } });
54
+ var business_2 = require("./business");
55
+ Object.defineProperty(exports, "UserType", { enumerable: true, get: function () { return business_2.UserType; } });
56
+ Object.defineProperty(exports, "DomainContext", { enumerable: true, get: function () { return business_2.DomainContext; } });
57
+ Object.defineProperty(exports, "TagContext", { enumerable: true, get: function () { return business_2.TagContext; } });
58
+ Object.defineProperty(exports, "createRsaKeyPair", { enumerable: true, get: function () { return business_2.createRsaKeyPair; } });
59
+ Object.defineProperty(exports, "pemToDer", { enumerable: true, get: function () { return business_2.pemToDer; } });
60
+ Object.defineProperty(exports, "derToPem", { enumerable: true, get: function () { return business_2.derToPem; } });
61
+ Object.defineProperty(exports, "ipv4ToBytes4", { enumerable: true, get: function () { return business_2.ipv4ToBytes4; } });
62
+ Object.defineProperty(exports, "bytes4ToIpv4", { enumerable: true, get: function () { return business_2.bytes4ToIpv4; } });
63
+ Object.defineProperty(exports, "generateMnemonic", { enumerable: true, get: function () { return business_2.generateMnemonic; } });
64
+ Object.defineProperty(exports, "getEthereumAddressFromMnemonic", { enumerable: true, get: function () { return business_2.getEthereumAddressFromMnemonic; } });
65
+ Object.defineProperty(exports, "getEVMPrivateKeyFromMnemonic", { enumerable: true, get: function () { return business_2.getEVMPrivateKeyFromMnemonic; } });
66
+ Object.defineProperty(exports, "getDIDFromMnemonic", { enumerable: true, get: function () { return business_2.getDIDFromMnemonic; } });
67
+ Object.defineProperty(exports, "generateDIDKeyData", { enumerable: true, get: function () { return business_2.generateDIDKeyData; } });
68
+ Object.defineProperty(exports, "deriveDIDFromMnemonic", { enumerable: true, get: function () { return business_2.deriveDIDFromMnemonic; } });
13
69
  class DIDConsole {
14
- constructor(rpcNode, contractDid, contractRootResolver, contractAbiType) {
70
+ constructor(rpcNode, contractDid, contractRootResolver, contractAbiType, contractRootResolver2, supportSvcUrl) {
15
71
  this.allDomainCache = [];
16
72
  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());
73
+ this.getProvider = () => {
74
+ if (!this._provider) {
75
+ this._provider = new ethers_1.ethers.JsonRpcProvider(this.rpcNode);
76
+ }
77
+ return this._provider;
78
+ };
79
+ this.setSigner = async (signerOrPrivateKeyOrMnemonic) => {
80
+ if (typeof signerOrPrivateKeyOrMnemonic === 'string') {
81
+ // Check if it's a mnemonic (12-24 words) or private key (0x... hex)
82
+ const trimmed = signerOrPrivateKeyOrMnemonic.trim();
83
+ const wordCount = trimmed.split(/\s+/).length;
84
+ // If it's 12-24 words, treat it as a mnemonic
85
+ if (wordCount >= 12 && wordCount <= 24) {
86
+ // Import and use the mnemonic conversion function
87
+ const { getEVMPrivateKeyFromMnemonic } = await Promise.resolve().then(() => __importStar(require('./utils/crypto-utils')));
88
+ const privateKey = await getEVMPrivateKeyFromMnemonic(trimmed);
89
+ this.signer = new ethers_1.ethers.Wallet(privateKey, this.getProvider());
90
+ }
91
+ else {
92
+ // Treat as private key
93
+ this.signer = new ethers_1.ethers.Wallet(signerOrPrivateKeyOrMnemonic, this.getProvider());
94
+ }
95
+ }
96
+ else {
97
+ this.signer = signerOrPrivateKeyOrMnemonic;
98
+ }
99
+ // reset cached signer contracts
100
+ this._signerContractDID = undefined;
101
+ this._signerContractRootResolver = undefined;
102
+ this._signerContractRootResolver2 = undefined;
103
+ };
104
+ this.getSigner = () => {
105
+ if (!this.signer) {
106
+ throw new Error('No signer available.');
107
+ }
108
+ return this.signer;
109
+ };
110
+ this.clearSigner = () => {
111
+ this.signer = undefined;
112
+ // reset cached signer contracts
113
+ this._signerContractDID = undefined;
114
+ this._signerContractRootResolver = undefined;
115
+ this._signerContractRootResolver2 = undefined;
116
+ };
117
+ this.getContractDID = () => {
118
+ if (!this._contractDID) {
119
+ this._contractDID = new ethers_1.ethers.Contract(this.contractDid, TerminusDIDABI_1.default.abi, this.getProvider());
120
+ }
121
+ return this._contractDID;
122
+ };
123
+ this.getSignerContractDID = () => {
124
+ if (!this._signerContractDID) {
125
+ this._signerContractDID = new ethers_1.ethers.Contract(this.contractDid, TerminusDIDABI_1.default.abi, this.getSigner());
126
+ }
127
+ return this._signerContractDID;
128
+ };
19
129
  this.getContractDIDByPrivateKey = (privateKey) => {
20
130
  const wallet = new ethers_1.ethers.Wallet(privateKey, this.getProvider());
21
131
  const contract = new ethers_1.ethers.Contract(this.contractDid, TerminusDIDABI_1.default.abi, wallet);
22
132
  return contract;
23
133
  };
24
134
  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());
135
+ this.getContractRootResolver = () => {
136
+ if (!this._contractRootResolver) {
137
+ this._contractRootResolver = new ethers_1.ethers.Contract(this.contractRootResolver, RootResolverABI_1.default.abi, this.getProvider());
138
+ }
139
+ return this._contractRootResolver;
140
+ };
141
+ this.getSignerContractRootResolver = () => {
142
+ if (!this._signerContractRootResolver) {
143
+ this._signerContractRootResolver = new ethers_1.ethers.Contract(this.contractRootResolver, RootResolverABI_1.default.abi, this.getSigner());
144
+ }
145
+ return this._signerContractRootResolver;
146
+ };
147
+ this.getContractRootResolver2 = () => {
148
+ if (!this.contractRootResolver2) {
149
+ throw new Error('No contractRootResolver2 provided.');
150
+ }
151
+ if (!this._contractRootResolver2) {
152
+ this._contractRootResolver2 = new ethers_1.ethers.Contract(this.contractRootResolver2, RootResolver2ABI_1.default.abi, this.getProvider());
153
+ }
154
+ return this._contractRootResolver2;
155
+ };
156
+ this.getSignerContractRootResolver2 = () => {
157
+ if (!this.contractRootResolver2) {
158
+ throw new Error('No contractRootResolver2 provided.');
159
+ }
160
+ if (!this._signerContractRootResolver2) {
161
+ this._signerContractRootResolver2 = new ethers_1.ethers.Contract(this.contractRootResolver2, RootResolver2ABI_1.default.abi, this.getSigner());
162
+ }
163
+ return this._signerContractRootResolver2;
164
+ };
26
165
  this.getSignerContractRootResolverByProvider = async (provider) => new ethers_1.ethers.Contract(this.contractRootResolver, RootResolverABI_1.default.abi, await provider.getSigner());
27
166
  this.fetchAll = () => new Promise(async (resolve, reject) => {
28
167
  debug_1.debug.group('fetchAll');
@@ -141,19 +280,100 @@ class DIDConsole {
141
280
  this.contractDid = contractDid;
142
281
  this.contractRootResolver = contractRootResolver;
143
282
  this.contractAbiType = contractAbiType;
283
+ this.contractRootResolver2 = contractRootResolver2;
284
+ this.supportSvcUrl = supportSvcUrl;
285
+ }
286
+ /**
287
+ * Uses a chain-style operation design pattern, returning the operation context for the specified domain
288
+ * For example: await console.domain('developer.olares.com').setRSAPublicKey(rsaKey);
289
+ */
290
+ domain(name) {
291
+ return new business_1.DomainContext(name, this);
292
+ }
293
+ /**
294
+ * Set the operator address (super admin)
295
+ * Only the contract owner can call this method
296
+ */
297
+ async setOperator(newOperator) {
298
+ try {
299
+ const contract = this.getSignerContractDID();
300
+ const tx = await contract.setOperator(newOperator);
301
+ const receipt = await tx.wait();
302
+ return {
303
+ success: true,
304
+ transactionHash: receipt.hash,
305
+ gasUsed: receipt.gasUsed,
306
+ blockNumber: receipt.blockNumber
307
+ };
308
+ }
309
+ catch (error) {
310
+ const parsedError = (0, error_parser_1.parseContractError)(error);
311
+ // Always throw network errors
312
+ if (parsedError.isNetworkError) {
313
+ throw new Error(`Network error: ${parsedError.message}`);
314
+ }
315
+ // Return friendly contract error
316
+ return {
317
+ success: false,
318
+ transactionHash: '',
319
+ error: parsedError.message
320
+ };
321
+ }
322
+ }
323
+ /**
324
+ * Get the current operator address (super admin)
325
+ * @returns The operator address
326
+ */
327
+ async getOperator() {
328
+ try {
329
+ const contract = this.getContractDID();
330
+ return await contract.operator();
331
+ }
332
+ catch (error) {
333
+ const parsedError = (0, error_parser_1.parseContractError)(error);
334
+ throw new Error(parsedError.message);
335
+ }
336
+ }
337
+ /**
338
+ * Get contract owner address
339
+ * @returns The contract owner address
340
+ */
341
+ async getOwner() {
342
+ try {
343
+ const contract = this.getContractDID();
344
+ return await contract.owner();
345
+ }
346
+ catch (error) {
347
+ const parsedError = (0, error_parser_1.parseContractError)(error);
348
+ throw new Error(parsedError.message);
349
+ }
350
+ }
351
+ /**
352
+ * Get total supply of domains
353
+ * @returns The total number of registered domains
354
+ */
355
+ async getTotalSupply() {
356
+ try {
357
+ const contract = this.getContractDID();
358
+ return await contract.totalSupply();
359
+ }
360
+ catch (error) {
361
+ const parsedError = (0, error_parser_1.parseContractError)(error);
362
+ throw new Error(parsedError.message);
363
+ }
144
364
  }
145
365
  }
146
366
  exports.DIDConsole = DIDConsole;
147
367
  var OlaresID;
148
368
  (function (OlaresID) {
149
- OlaresID.createConsole = (rpcNode, contractDid, contractRootResolver, contractAbiType) => {
150
- return new DIDConsole(rpcNode, contractDid, contractRootResolver, contractAbiType);
369
+ OlaresID.createConsole = (rpcNode, contractDid, contractRootResolver, contractAbiType, contractRootResolver2, supportSvcUrl) => {
370
+ return new DIDConsole(rpcNode, contractDid, contractRootResolver, contractAbiType, contractRootResolver2, supportSvcUrl);
151
371
  };
152
372
  OlaresID.createMainnet = () => {
153
- return OlaresID.createConsole('https://optimism-rpc.publicnode.com', '0x5DA4Fa8E567d86e52Ef8Da860de1be8f54cae97D', '0xE2EABA0979277A90511F8873ae1e8cA26B54E740', '0x9ae3F16bD99294Af1784beB1a0A5C84bf2636365');
373
+ return OlaresID.createConsole('https://optimism-rpc.publicnode.com', '0x5DA4Fa8E567d86e52Ef8Da860de1be8f54cae97D', '0xE2EABA0979277A90511F8873ae1e8cA26B54E740', '0x9ae3F16bD99294Af1784beB1a0A5C84bf2636365', '0x7e7961aB771cA942CE4DB6e79579e016a33Dc95B', 'https://api.olares.com/did/support');
154
374
  };
155
375
  OlaresID.createTestnet = () => {
156
- return OlaresID.createConsole('https://sepolia.optimism.io', '0xe2D7c3a9013960E04d4E9F5F9B63fff37eEd97A8', '0xeF727cb066Fee98F88Db84555830063b4A24ddfc', '0x7386fCBae6Ad4CCE1499d9153D99bc950B589718');
376
+ return OlaresID.createConsole('https://sepolia.optimism.io', '0xe2D7c3a9013960E04d4E9F5F9B63fff37eEd97A8', '0xeF727cb066Fee98F88Db84555830063b4A24ddfc', '0x7386fCBae6Ad4CCE1499d9153D99bc950B589718', '0xcbC02aa08c77a374eC0D5A0403E108b7573d96e8', 'https://api-test.olares.com/did/support');
157
377
  };
158
378
  OlaresID.Domain = index_1.PackageDomain;
159
379
  OlaresID.Tag = index_2.default;