@beclab/olaresid 0.1.12 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLI-TREE.md +107 -0
- package/CLI.md +122 -1329
- package/README.md +30 -12
- package/SDK-TREE.md +151 -0
- package/TAG.md +95 -41
- package/config.json +6 -4
- package/dist/abi/TerminusDIDQueryABI.d.ts +397 -0
- package/dist/abi/TerminusDIDQueryABI.d.ts.map +1 -0
- package/dist/abi/TerminusDIDQueryABI.js +519 -0
- package/dist/abi/TerminusDIDQueryABI.js.map +1 -0
- package/dist/business/index.d.ts +1 -1
- package/dist/business/index.d.ts.map +1 -1
- package/dist/business/index.js +11 -24
- package/dist/business/index.js.map +1 -1
- package/dist/business/tag-context.d.ts +1 -0
- package/dist/business/tag-context.d.ts.map +1 -1
- package/dist/business/tag-context.js +13 -7
- package/dist/business/tag-context.js.map +1 -1
- package/dist/cli.js +238 -107
- package/dist/cli.js.map +1 -1
- package/dist/config/index.d.ts +16 -4
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +28 -14
- package/dist/config/index.js.map +1 -1
- package/dist/domain/core.d.ts +65 -0
- package/dist/domain/core.d.ts.map +1 -0
- package/dist/domain/core.js +317 -0
- package/dist/domain/core.js.map +1 -0
- package/dist/domain/index.d.ts +104 -57
- package/dist/domain/index.d.ts.map +1 -1
- package/dist/domain/index.js +188 -428
- package/dist/domain/index.js.map +1 -1
- package/dist/domain/types.d.ts +56 -0
- package/dist/domain/types.d.ts.map +1 -0
- package/dist/domain/types.js +3 -0
- package/dist/domain/types.js.map +1 -0
- package/dist/index.d.ts +81 -24
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +153 -143
- package/dist/index.js.map +1 -1
- package/dist/utils/crypto-utils.d.ts +124 -0
- package/dist/utils/crypto-utils.d.ts.map +1 -1
- package/dist/utils/crypto-utils.js +156 -8
- package/dist/utils/crypto-utils.js.map +1 -1
- package/dist/utils/error-parser.d.ts.map +1 -1
- package/dist/utils/error-parser.js +2 -1
- package/dist/utils/error-parser.js.map +1 -1
- package/dist/utils/event-parser.d.ts +161 -0
- package/dist/utils/event-parser.d.ts.map +1 -0
- package/dist/utils/event-parser.js +140 -0
- package/dist/utils/event-parser.js.map +1 -0
- package/dist/utils/tag-type-builder.d.ts +43 -0
- package/dist/utils/tag-type-builder.d.ts.map +1 -1
- package/dist/utils/tag-type-builder.js +122 -0
- package/dist/utils/tag-type-builder.js.map +1 -1
- package/dist/utils/tag-type-parser.d.ts +70 -0
- package/dist/utils/tag-type-parser.d.ts.map +1 -0
- package/dist/utils/tag-type-parser.js +190 -0
- package/dist/utils/tag-type-parser.js.map +1 -0
- package/examples/create-with-rpc-demo.ts +142 -0
- package/examples/fetch-all-flat-demo.ts +159 -0
- package/examples/fetch-by-indices-demo.ts +235 -0
- package/examples/fetch-domain-demo.ts +137 -0
- package/examples/fetch-domains-demo.ts +221 -0
- package/examples/frontend-demo/index.html +2 -2
- package/examples/frontend-demo/package-lock.json +4 -1
- package/examples/index.ts +3 -5
- package/jest.config.js +25 -0
- package/package.json +6 -2
- package/src/abi/TerminusDIDQueryABI.ts +516 -0
- package/src/business/index.ts +10 -33
- package/src/business/tag-context.ts +35 -7
- package/src/cli.ts +344 -121
- package/src/config/index.ts +34 -19
- package/src/domain/core.ts +382 -0
- package/src/domain/index.ts +271 -641
- package/src/domain/types.ts +59 -0
- package/src/index.ts +222 -207
- package/src/utils/crypto-utils.ts +239 -2
- package/src/utils/error-parser.ts +2 -1
- package/src/utils/event-parser.ts +353 -0
- package/src/utils/tag-type-builder.ts +138 -0
- package/src/utils/tag-type-parser.ts +246 -0
- package/tests/unit/crypto-utils.test.ts +338 -0
- package/tests/unit/ed25519-jwk.test.ts +201 -0
- package/tests/unit/event-parser.test.ts +690 -0
- package/tests/unit/generate-mnemonic.test.ts +268 -0
- package/tests/unit/olares-id-format.test.ts +321 -0
- package/tests/unit/tag-type-parser.test.ts +802 -0
- package/tests/unit/tag-types.test.ts +821 -0
- package/tsconfig.json +3 -2
- package/dist/abi/ABITypeABI.d.ts +0 -88
- package/dist/abi/ABITypeABI.d.ts.map +0 -1
- package/dist/abi/ABITypeABI.js +0 -382
- package/dist/abi/ABITypeABI.js.map +0 -1
- package/dist/abi/RegistryABI.d.ts +0 -77
- package/dist/abi/RegistryABI.d.ts.map +0 -1
- package/dist/abi/RegistryABI.js +0 -462
- package/dist/abi/RegistryABI.js.map +0 -1
- package/dist/tag/address.d.ts +0 -11
- package/dist/tag/address.d.ts.map +0 -1
- package/dist/tag/address.js +0 -44
- package/dist/tag/address.js.map +0 -1
- package/dist/tag/array.d.ts +0 -14
- package/dist/tag/array.d.ts.map +0 -1
- package/dist/tag/array.js +0 -72
- package/dist/tag/array.js.map +0 -1
- package/dist/tag/bool.d.ts +0 -11
- package/dist/tag/bool.d.ts.map +0 -1
- package/dist/tag/bool.js +0 -43
- package/dist/tag/bool.js.map +0 -1
- package/dist/tag/bytes.d.ts +0 -11
- package/dist/tag/bytes.d.ts.map +0 -1
- package/dist/tag/bytes.js +0 -37
- package/dist/tag/bytes.js.map +0 -1
- package/dist/tag/flarray.d.ts +0 -15
- package/dist/tag/flarray.d.ts.map +0 -1
- package/dist/tag/flarray.js +0 -81
- package/dist/tag/flarray.js.map +0 -1
- package/dist/tag/flbytes.d.ts +0 -11
- package/dist/tag/flbytes.d.ts.map +0 -1
- package/dist/tag/flbytes.js +0 -47
- package/dist/tag/flbytes.js.map +0 -1
- package/dist/tag/index.d.ts +0 -32
- package/dist/tag/index.d.ts.map +0 -1
- package/dist/tag/index.js +0 -121
- package/dist/tag/index.js.map +0 -1
- package/dist/tag/int.d.ts +0 -12
- package/dist/tag/int.d.ts.map +0 -1
- package/dist/tag/int.js +0 -49
- package/dist/tag/int.js.map +0 -1
- package/dist/tag/string.d.ts +0 -11
- package/dist/tag/string.d.ts.map +0 -1
- package/dist/tag/string.js +0 -37
- package/dist/tag/string.js.map +0 -1
- package/dist/tag/tag.d.ts +0 -67
- package/dist/tag/tag.d.ts.map +0 -1
- package/dist/tag/tag.js +0 -157
- package/dist/tag/tag.js.map +0 -1
- package/dist/tag/tuple.d.ts +0 -17
- package/dist/tag/tuple.d.ts.map +0 -1
- package/dist/tag/tuple.js +0 -162
- package/dist/tag/tuple.js.map +0 -1
- package/dist/tag/uint.d.ts +0 -12
- package/dist/tag/uint.d.ts.map +0 -1
- package/dist/tag/uint.js +0 -49
- package/dist/tag/uint.js.map +0 -1
- package/dist/test/did.d.ts +0 -2
- package/dist/test/did.d.ts.map +0 -1
- package/dist/test/did.js +0 -177
- package/dist/test/did.js.map +0 -1
- package/dist/utils/tag-abi-codec.d.ts +0 -69
- package/dist/utils/tag-abi-codec.d.ts.map +0 -1
- package/dist/utils/tag-abi-codec.js +0 -144
- package/dist/utils/tag-abi-codec.js.map +0 -1
- package/examples/crypto-utilities.ts +0 -140
- package/examples/ed25519-jwk.ts +0 -73
- package/examples/generate-mnemonic.ts +0 -149
- package/examples/legacy.ts +0 -33
- package/examples/olares-id-format.ts +0 -197
- package/examples/tag-builder.ts +0 -235
- package/examples/tag-nested-tuple.ts +0 -190
- package/examples/tag-simple.ts +0 -149
- package/examples/tag-tagger.ts +0 -217
- package/examples/test-nested-tuple-conversion.ts +0 -143
- package/examples/test-type-bytes-parser.ts +0 -70
- package/src/abi/ABITypeABI.ts +0 -379
- package/src/abi/RegistryABI.ts +0 -459
- package/src/tag/address.ts +0 -48
- package/src/tag/array.ts +0 -80
- package/src/tag/bool.ts +0 -43
- package/src/tag/bytes.ts +0 -38
- package/src/tag/flarray.ts +0 -99
- package/src/tag/flbytes.ts +0 -48
- package/src/tag/index.ts +0 -170
- package/src/tag/int.ts +0 -51
- package/src/tag/string.ts +0 -38
- package/src/tag/tag.ts +0 -229
- package/src/tag/tuple.ts +0 -193
- package/src/tag/uint.ts +0 -51
- package/src/test/did.ts +0 -346
- package/src/utils/tag-abi-codec.ts +0 -158
package/CLI-TREE.md
ADDED
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
# OlaresID CLI Command Reference
|
|
2
|
+
|
|
3
|
+
Command: `did-cli`
|
|
4
|
+
Install: `npm install -g @beclab/olaresid`
|
|
5
|
+
|
|
6
|
+
For scenario-based usage examples, see [CLI.md](./CLI.md).
|
|
7
|
+
|
|
8
|
+
> **Signer for write operations:** `export PRIVATE_KEY_OR_MNEMONIC="your-key-or-mnemonic"`
|
|
9
|
+
> **Olares ID format:** `alice@olares.com` and `alice.olares.com` are interchangeable in all commands.
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
did-cli
|
|
13
|
+
│
|
|
14
|
+
├── Query [🌐 Public]
|
|
15
|
+
│ ├── info <domain> metadata: name / DID / owner / allowSubdomain
|
|
16
|
+
│ ├── owner <domain> NFT owner address
|
|
17
|
+
│ ├── fetch <domain> full domain data including all tags
|
|
18
|
+
│ └── fetch-all [--output <file>] download all domains to JSON
|
|
19
|
+
│
|
|
20
|
+
├── RSA key
|
|
21
|
+
│ ├── rsa get <domain> [🌐 Public] PEM public key
|
|
22
|
+
│ ├── rsa generate [--key-length <bits>] [-o] [🌐 Local] generate RSA key pair
|
|
23
|
+
│ ├── rsa set <domain> <pem-file> [🔑 Domain Owner]
|
|
24
|
+
│ └── rsa remove <domain> [🔑 Domain Owner]
|
|
25
|
+
│
|
|
26
|
+
├── IP
|
|
27
|
+
│ ├── ip get <domain> [🌐 Public] DNS A record (IPv4)
|
|
28
|
+
│ ├── ip set <domain> <ipv4> [🔑 Domain Owner]
|
|
29
|
+
│ └── ip remove <domain> [🔑 Domain Owner]
|
|
30
|
+
│
|
|
31
|
+
├── Wallet
|
|
32
|
+
│ ├── wallet evm list <domain> [🌐 Public]
|
|
33
|
+
│ ├── wallet solana list <domain> [🌐 Public]
|
|
34
|
+
│ ├── wallet evm add <domain> [🔑 Domain Owner] env: EVM_PRIVATE_KEY
|
|
35
|
+
│ ├── wallet evm remove <domain> [🔑 Domain Owner] env: EVM_PRIVATE_KEY
|
|
36
|
+
│ ├── wallet solana add <domain> [🔑 Domain Owner] env: SOLANA_PRIVATE_KEY
|
|
37
|
+
│ └── wallet solana remove <domain> [🔑 Domain Owner] env: SOLANA_PRIVATE_KEY
|
|
38
|
+
│
|
|
39
|
+
├── Domain operations [🔑 Domain Owner]
|
|
40
|
+
│ ├── is-owner <domain> check if signer owns the domain
|
|
41
|
+
│ ├── subdomain register <parent> <label> env: SUBDOMAIN_OWNER_MNEMONIC (auto-gen if unset)
|
|
42
|
+
│ └── transfer <domain> env: TO_MNEMONIC (auto-gen if unset)
|
|
43
|
+
│
|
|
44
|
+
├── Tag [--from <domain|root> default: target domain]
|
|
45
|
+
│ ├── tag get <domain> <tag-name> [🌐 Public]
|
|
46
|
+
│ ├── tag list <domain> [🌐 Public] all tag values on domain
|
|
47
|
+
│ ├── tag list-defined [<domain>] [🌐 Public] tag types defined by domain
|
|
48
|
+
│ ├── tag get-tagger <domain> <tag-name> [🌐 Public]
|
|
49
|
+
│ ├── tag define <domain> <tag-name> <type> [🔑 Domain Owner]
|
|
50
|
+
│ │ └── types: string / uint8 / uint256 / int8 / int256 / bool / address / bytes / bytes32
|
|
51
|
+
│ │ string[] / uint8[] / address[] / ...
|
|
52
|
+
│ ├── tag set-tagger <domain> <tag-name> <addr> [🔑 Domain Owner]
|
|
53
|
+
│ ├── tag set <domain> <tag-name> <value> [🔑 Domain Owner] value: string or JSON
|
|
54
|
+
│ └── tag remove <domain> <tag-name> [🔑 Domain Owner]
|
|
55
|
+
│
|
|
56
|
+
├── Admin
|
|
57
|
+
│ ├── admin get-owner [🌐 Public]
|
|
58
|
+
│ ├── admin get-totalsupply [🌐 Public]
|
|
59
|
+
│ ├── admin get-operator [🌐 Public]
|
|
60
|
+
│ ├── admin set-operator <address> [👑 Contract Owner]
|
|
61
|
+
│ ├── admin transfer-ownership <address> [👑 Contract Owner] 2-step: initiate
|
|
62
|
+
│ └── admin accept-ownership [👑 Contract Owner] 2-step: confirm
|
|
63
|
+
│
|
|
64
|
+
├── crypto / convert [🌐 Local — no network]
|
|
65
|
+
│ ├── crypto generate [--words <n>] [-o <file>] generate BIP39 mnemonic
|
|
66
|
+
│ ├── crypto address derive Ethereum address
|
|
67
|
+
│ ├── crypto did derive DID from mnemonic
|
|
68
|
+
│ ├── crypto privatekey [-o <file>] derive EVM private key
|
|
69
|
+
│ ├── crypto derive [-o <file>] derive all keys from mnemonic
|
|
70
|
+
│ ├── convert pem-to-der <file> PEM → DER hex
|
|
71
|
+
│ ├── convert der-to-pem <hex> DER hex → PEM
|
|
72
|
+
│ ├── convert ip-to-bytes <ip> IPv4 → bytes4
|
|
73
|
+
│ └── convert bytes-to-ip <hex> bytes4 → IPv4
|
|
74
|
+
│
|
|
75
|
+
└── config [🌐 Local config file]
|
|
76
|
+
├── config show [--network <network>]
|
|
77
|
+
├── config list
|
|
78
|
+
└── config set <key> <value> [--network <network>]
|
|
79
|
+
└── keys: rpc / contractDid / contractRootResolver / contractAbiType
|
|
80
|
+
contractRootResolver2 / supportSvcUrl / queryContract
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
Global options
|
|
87
|
+
-n, --network <network> mainnet (default) | sepolia
|
|
88
|
+
--from <domain|root> tag source domain (tag commands)
|
|
89
|
+
--rpc <url> override RPC endpoint
|
|
90
|
+
--contract-did <addr> override DID contract
|
|
91
|
+
--contract-resolver <addr> override RootResolver contract
|
|
92
|
+
--contract-resolver2 <addr> override RootResolver2 contract
|
|
93
|
+
-j, --json machine-readable JSON output
|
|
94
|
+
-v, --verbose verbose debug output
|
|
95
|
+
-o, --output <file> output file path
|
|
96
|
+
--key-length <bits> RSA key length (default 2048)
|
|
97
|
+
-h, --help
|
|
98
|
+
-V, --version
|
|
99
|
+
|
|
100
|
+
Permission legend
|
|
101
|
+
🌐 Public no signing required
|
|
102
|
+
🔑 Domain Owner holder of the domain NFT
|
|
103
|
+
👑 Contract Owner Ownable2Step super-admin
|
|
104
|
+
|
|
105
|
+
⚠️ Operator role: exists at the contract level for registering root domains;
|
|
106
|
+
not exposed as a CLI command.
|
|
107
|
+
```
|