@beclab/olaresid 0.1.13 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLI-TREE.md +107 -0
- package/CLI.md +122 -1340
- 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.map +1 -1
- package/dist/business/index.js +9 -23
- 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 +177 -76
- 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 +80 -23
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +152 -143
- package/dist/index.js.map +1 -1
- package/dist/utils/crypto-utils.d.ts +110 -0
- package/dist/utils/crypto-utils.d.ts.map +1 -1
- package/dist/utils/crypto-utils.js +127 -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 +9 -33
- package/src/business/tag-context.ts +35 -7
- package/src/cli.ts +253 -90
- 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 +221 -207
- package/src/utils/crypto-utils.ts +205 -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
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
import OlaresID from '../src/index';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Example: Paginated domain fetching with fetchDomains
|
|
5
|
+
*
|
|
6
|
+
* This example demonstrates how to use fetchDomains to fetch domains
|
|
7
|
+
* in controlled batches, useful for:
|
|
8
|
+
* - Building paginated UIs
|
|
9
|
+
* - Processing large datasets in chunks
|
|
10
|
+
* - Implementing infinite scroll
|
|
11
|
+
* - Memory-efficient data loading
|
|
12
|
+
*
|
|
13
|
+
* Run: npx ts-node examples/fetch-domains-demo.ts
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
// Configuration
|
|
17
|
+
const USE_TESTNET = true; // Switch to false for mainnet
|
|
18
|
+
|
|
19
|
+
async function main() {
|
|
20
|
+
const network = process.env.NETWORK || 'sepolia';
|
|
21
|
+
|
|
22
|
+
console.log('🚀 fetchDomains Demo - Paginated Query\n');
|
|
23
|
+
console.log('='.repeat(80));
|
|
24
|
+
console.log('📝 Config:');
|
|
25
|
+
console.log(` Network: ${network}`);
|
|
26
|
+
console.log('='.repeat(80));
|
|
27
|
+
console.log('');
|
|
28
|
+
|
|
29
|
+
// Create DID console instance (query contract automatically configured)
|
|
30
|
+
const didConsole =
|
|
31
|
+
network === 'mainnet'
|
|
32
|
+
? OlaresID.createMainnet()
|
|
33
|
+
: OlaresID.createTestnet();
|
|
34
|
+
|
|
35
|
+
// Verify query contract is configured
|
|
36
|
+
if (!didConsole.queryContractAddress) {
|
|
37
|
+
console.error(
|
|
38
|
+
'❌ Error: Query contract address not configured for this network'
|
|
39
|
+
);
|
|
40
|
+
process.exit(1);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
console.log(`📋 Query Contract: ${didConsole.queryContractAddress}\n`);
|
|
44
|
+
|
|
45
|
+
// Get total supply first
|
|
46
|
+
const totalSupply = Number(await didConsole.getTotalSupply());
|
|
47
|
+
|
|
48
|
+
console.log(`📊 Total domains: ${totalSupply}\n`);
|
|
49
|
+
|
|
50
|
+
// Example 1: Fetch first page
|
|
51
|
+
console.log('📄 Example 1: Fetch First Page (10 domains)');
|
|
52
|
+
console.log('-'.repeat(80));
|
|
53
|
+
|
|
54
|
+
const pageSize = 10;
|
|
55
|
+
const startTime1 = Date.now();
|
|
56
|
+
|
|
57
|
+
const firstPage = await didConsole.fetchDomains(
|
|
58
|
+
0,
|
|
59
|
+
Math.min(pageSize, totalSupply)
|
|
60
|
+
);
|
|
61
|
+
|
|
62
|
+
const elapsed1 = Date.now() - startTime1;
|
|
63
|
+
console.log(`✅ Fetched ${firstPage.length} domains in ${elapsed1}ms\n`);
|
|
64
|
+
|
|
65
|
+
firstPage.forEach((domain, i) => {
|
|
66
|
+
console.log(` ${i + 1}. ${domain.name}`);
|
|
67
|
+
console.log(` ID: ${domain.id.substring(0, 20)}...`);
|
|
68
|
+
console.log(` Owner: ${domain.owner}`);
|
|
69
|
+
console.log(` Tags: ${domain.tags.length}, Level: ${domain.level}`);
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
// Example 2: Fetch second page (if exists)
|
|
73
|
+
if (totalSupply > pageSize) {
|
|
74
|
+
console.log(`\n📄 Example 2: Fetch Second Page (offset ${pageSize})`);
|
|
75
|
+
console.log('-'.repeat(80));
|
|
76
|
+
|
|
77
|
+
const startTime2 = Date.now();
|
|
78
|
+
|
|
79
|
+
const secondPage = await didConsole.fetchDomains(
|
|
80
|
+
pageSize,
|
|
81
|
+
Math.min(pageSize, totalSupply - pageSize)
|
|
82
|
+
);
|
|
83
|
+
|
|
84
|
+
const elapsed2 = Date.now() - startTime2;
|
|
85
|
+
console.log(
|
|
86
|
+
`✅ Fetched ${secondPage.length} domains in ${elapsed2}ms\n`
|
|
87
|
+
);
|
|
88
|
+
|
|
89
|
+
secondPage.slice(0, 5).forEach((domain, i) => {
|
|
90
|
+
console.log(
|
|
91
|
+
` ${i + 1}. ${domain.name} (${domain.tags.length} tags)`
|
|
92
|
+
);
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
if (secondPage.length > 5) {
|
|
96
|
+
console.log(` ... and ${secondPage.length - 5} more`);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
// Example 3: Fetch specific range
|
|
101
|
+
if (totalSupply > 20) {
|
|
102
|
+
console.log('\n📄 Example 3: Fetch Specific Range (20-30)');
|
|
103
|
+
console.log('-'.repeat(80));
|
|
104
|
+
|
|
105
|
+
const startTime3 = Date.now();
|
|
106
|
+
|
|
107
|
+
const customRange = await didConsole.fetchDomains(
|
|
108
|
+
20,
|
|
109
|
+
Math.min(10, totalSupply - 20)
|
|
110
|
+
);
|
|
111
|
+
|
|
112
|
+
const elapsed3 = Date.now() - startTime3;
|
|
113
|
+
console.log(
|
|
114
|
+
`✅ Fetched ${customRange.length} domains in ${elapsed3}ms\n`
|
|
115
|
+
);
|
|
116
|
+
|
|
117
|
+
customRange.slice(0, 5).forEach((domain, i) => {
|
|
118
|
+
console.log(
|
|
119
|
+
` ${i + 1}. ${domain.name} (${domain.tags.length} tags)`
|
|
120
|
+
);
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
// Example 4: Simulate pagination loop
|
|
125
|
+
console.log('\n📄 Example 4: Pagination Loop (Fetch All Pages)');
|
|
126
|
+
console.log('-'.repeat(80));
|
|
127
|
+
|
|
128
|
+
const pagesLimit = 3; // Limit to 3 pages for demo
|
|
129
|
+
let currentOffset = 0;
|
|
130
|
+
let pageNumber = 1;
|
|
131
|
+
let allFetchedDomains = [];
|
|
132
|
+
|
|
133
|
+
while (currentOffset < totalSupply && pageNumber <= pagesLimit) {
|
|
134
|
+
const limit = Math.min(pageSize, totalSupply - currentOffset);
|
|
135
|
+
|
|
136
|
+
console.log(
|
|
137
|
+
`\nFetching page ${pageNumber} (offset: ${currentOffset}, limit: ${limit})...`
|
|
138
|
+
);
|
|
139
|
+
|
|
140
|
+
const startTime = Date.now();
|
|
141
|
+
const pageDomains = await didConsole.fetchDomains(currentOffset, limit);
|
|
142
|
+
const elapsed = Date.now() - startTime;
|
|
143
|
+
|
|
144
|
+
allFetchedDomains.push(...pageDomains);
|
|
145
|
+
|
|
146
|
+
console.log(
|
|
147
|
+
`✅ Page ${pageNumber}: ${pageDomains.length} domains in ${elapsed}ms`
|
|
148
|
+
);
|
|
149
|
+
console.log(
|
|
150
|
+
` Domains: ${pageDomains
|
|
151
|
+
.slice(0, 3)
|
|
152
|
+
.map((d) => d.name)
|
|
153
|
+
.join(', ')}${pageDomains.length > 3 ? '...' : ''}`
|
|
154
|
+
);
|
|
155
|
+
|
|
156
|
+
currentOffset += pageSize;
|
|
157
|
+
pageNumber++;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
console.log(
|
|
161
|
+
`\n📊 Total fetched across ${pageNumber - 1} pages: ${
|
|
162
|
+
allFetchedDomains.length
|
|
163
|
+
} domains`
|
|
164
|
+
);
|
|
165
|
+
|
|
166
|
+
// Example 5: Error handling - invalid parameters
|
|
167
|
+
console.log('\n⚠️ Example 5: Error Handling');
|
|
168
|
+
console.log('-'.repeat(80));
|
|
169
|
+
|
|
170
|
+
try {
|
|
171
|
+
await didConsole.fetchDomains(-1, 10);
|
|
172
|
+
} catch (error) {
|
|
173
|
+
console.log('✅ Correctly caught error for negative offset:');
|
|
174
|
+
console.log(` ${(error as Error).message}`);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
try {
|
|
178
|
+
await didConsole.fetchDomains(0, 0);
|
|
179
|
+
} catch (error) {
|
|
180
|
+
console.log('✅ Correctly caught error for zero limit:');
|
|
181
|
+
console.log(` ${(error as Error).message}`);
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
// Fetch beyond total supply (contract will throw InvalidPagination)
|
|
185
|
+
console.log('\n✅ Fetching beyond total supply:');
|
|
186
|
+
try {
|
|
187
|
+
const emptyResult = await didConsole.fetchDomains(
|
|
188
|
+
totalSupply + 100,
|
|
189
|
+
10
|
|
190
|
+
);
|
|
191
|
+
console.log(
|
|
192
|
+
` Returned ${emptyResult.length} domains (expected 0 or error)`
|
|
193
|
+
);
|
|
194
|
+
} catch (error) {
|
|
195
|
+
console.log(` ✅ Contract correctly reverted with InvalidPagination`);
|
|
196
|
+
console.log(
|
|
197
|
+
` (This is expected behavior when offset exceeds total supply)`
|
|
198
|
+
);
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
console.log('\n' + '='.repeat(80));
|
|
202
|
+
console.log('✅ Demo completed successfully!');
|
|
203
|
+
console.log('\n💡 Use Cases:');
|
|
204
|
+
console.log(' - Paginated UI: Load 10-50 domains per page');
|
|
205
|
+
console.log(' - Infinite scroll: Load next batch on scroll');
|
|
206
|
+
console.log(' - Memory efficient: Process large datasets in chunks');
|
|
207
|
+
console.log(' - Background sync: Fetch and process incrementally');
|
|
208
|
+
console.log('\n💡 Simplified API:');
|
|
209
|
+
console.log(' - No need to pass queryContractAddress');
|
|
210
|
+
console.log(' - Automatically configured based on network');
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
// Run the example
|
|
214
|
+
main().catch((error) => {
|
|
215
|
+
console.error('\n❌ Error:', error);
|
|
216
|
+
if (error instanceof Error) {
|
|
217
|
+
console.error('Message:', error.message);
|
|
218
|
+
console.error('Stack:', error.stack);
|
|
219
|
+
}
|
|
220
|
+
process.exit(1);
|
|
221
|
+
});
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
-
<meta name="description" content="
|
|
7
|
-
<title>
|
|
6
|
+
<meta name="description" content="Olares SDK Demo" />
|
|
7
|
+
<title>Olares SDK Demo</title>
|
|
8
8
|
</head>
|
|
9
9
|
<body>
|
|
10
10
|
<div id="app"></div>
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
},
|
|
33
33
|
"../..": {
|
|
34
34
|
"name": "@beclab/olaresid",
|
|
35
|
-
"version": "0.
|
|
35
|
+
"version": "0.2.0",
|
|
36
36
|
"license": "Terminus License",
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"@solana/web3.js": "^1.87.6",
|
|
@@ -48,8 +48,11 @@
|
|
|
48
48
|
"did-cli": "dist/cli.js"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
|
+
"@types/jest": "^30.0.0",
|
|
51
52
|
"@types/node": "^20.0.0",
|
|
52
53
|
"@types/varint": "^6.0.3",
|
|
54
|
+
"jest": "^30.2.0",
|
|
55
|
+
"ts-jest": "^29.4.6",
|
|
53
56
|
"ts-node": "^10.9.2",
|
|
54
57
|
"typescript": "^5.9.3"
|
|
55
58
|
}
|
package/examples/index.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import OlaresID
|
|
1
|
+
import OlaresID from '../src/index';
|
|
2
2
|
|
|
3
3
|
async function main() {
|
|
4
4
|
const olaresId = OlaresID.createTestnet();
|
|
@@ -6,10 +6,8 @@ async function main() {
|
|
|
6
6
|
const domain = await olaresId.fetchDomain('tw7613781.olares.com');
|
|
7
7
|
console.log(domain);
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
// console.log('All Domains:', olaresId.allDomainCache);
|
|
12
|
-
// console.log('Domain Tree Cache:', olaresId.treesCache);
|
|
9
|
+
const allDomains = await olaresId.fetchAllFlat();
|
|
10
|
+
console.log('All Domains:', JSON.stringify(allDomains, null, 2));
|
|
13
11
|
}
|
|
14
12
|
|
|
15
13
|
main().catch(console.error);
|
package/jest.config.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
module.exports = {
|
|
2
|
+
preset: 'ts-jest',
|
|
3
|
+
testEnvironment: 'node',
|
|
4
|
+
roots: ['<rootDir>/tests'],
|
|
5
|
+
testMatch: ['**/*.test.ts'],
|
|
6
|
+
collectCoverageFrom: [
|
|
7
|
+
'src/**/*.ts',
|
|
8
|
+
'!src/**/*.d.ts',
|
|
9
|
+
'!src/test/**',
|
|
10
|
+
'!src/cli.ts'
|
|
11
|
+
],
|
|
12
|
+
coverageDirectory: 'coverage',
|
|
13
|
+
coverageReporters: ['text', 'lcov', 'html'],
|
|
14
|
+
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
|
|
15
|
+
transform: {
|
|
16
|
+
'^.+\\.tsx?$': [
|
|
17
|
+
'ts-jest',
|
|
18
|
+
{
|
|
19
|
+
tsconfig: {
|
|
20
|
+
esModuleInterop: true
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
}
|
|
25
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@beclab/olaresid",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "DID Contract SDK with CLI tool",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -17,7 +17,8 @@
|
|
|
17
17
|
},
|
|
18
18
|
"scripts": {
|
|
19
19
|
"build": "tsc",
|
|
20
|
-
"test": "
|
|
20
|
+
"test:unit": "jest tests/unit",
|
|
21
|
+
"test:coverage": "jest --coverage",
|
|
21
22
|
"prepublishOnly": "npm run build",
|
|
22
23
|
"example": "ts-node ./examples/index.ts",
|
|
23
24
|
"example:debug": "ts-node ./examples/index.ts --debug",
|
|
@@ -48,8 +49,11 @@
|
|
|
48
49
|
},
|
|
49
50
|
"module": "commonjs",
|
|
50
51
|
"devDependencies": {
|
|
52
|
+
"@types/jest": "^30.0.0",
|
|
51
53
|
"@types/node": "^20.0.0",
|
|
52
54
|
"@types/varint": "^6.0.3",
|
|
55
|
+
"jest": "^30.2.0",
|
|
56
|
+
"ts-jest": "^29.4.6",
|
|
53
57
|
"ts-node": "^10.9.2",
|
|
54
58
|
"typescript": "^5.9.3"
|
|
55
59
|
},
|