epistery 2.0.4 → 2.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/.test.env +25 -0
- package/cli/epistery.mjs +9 -10
- package/dist/chains/registry.d.ts +2 -2
- package/dist/chains/registry.d.ts.map +1 -1
- package/dist/chains/registry.js +4 -4
- package/dist/chains/registry.js.map +1 -1
- package/dist/epistery.d.ts +1 -1
- package/dist/epistery.d.ts.map +1 -1
- package/dist/epistery.js +4 -4
- package/dist/epistery.js.map +1 -1
- package/dist/utils/CliWallet.d.ts +9 -5
- package/dist/utils/CliWallet.d.ts.map +1 -1
- package/dist/utils/CliWallet.js +18 -13
- package/dist/utils/CliWallet.js.map +1 -1
- package/dist/utils/Config.d.ts +104 -48
- package/dist/utils/Config.d.ts.map +1 -1
- package/dist/utils/Config.js +273 -116
- package/dist/utils/Config.js.map +1 -1
- package/dist/utils/Utils.d.ts +10 -2
- package/dist/utils/Utils.d.ts.map +1 -1
- package/dist/utils/Utils.js +18 -9
- package/dist/utils/Utils.js.map +1 -1
- package/docs/RivetSignerConfigAuthority.md +219 -0
- package/index.mjs +10 -9
- package/package.json +1 -1
- package/routes/auth.mjs +6 -6
- package/routes/domain.mjs +2 -2
- package/routes/fido.mjs +4 -4
- package/src/chains/registry.ts +4 -4
- package/src/epistery.ts +4 -4
- package/src/utils/CliWallet.ts +18 -13
- package/src/utils/Config.ts +313 -106
- package/src/utils/Utils.ts +19 -9
- package/test/config/.epistery/127.0.0.1/config.ini +15 -0
- package/test/config/.epistery/config.ini +14 -0
- package/test/config/.epistery/localhost/config.ini +16 -0
- package/test/config/.epistery/no-pending-claim.local/config.ini +15 -0
- package/test/config/.epistery/test-claim-1782325887560.local/config.ini +20 -0
- package/test/config/.epistery/test-idempotent-1782325887610.local/config.ini +20 -0
- package/test/config/.epistery/test-init-1782325888110.local/config.ini +16 -0
- package/test/routes/auth.test.ts +7 -3
- package/test/routes/identity.test.ts +0 -41
- package/test/routes/status.test.ts +5 -39
- package/test/setup.ts +9 -9
- package/test/utils.ts +9 -3
package/.test.env
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Epistery Test Environment — generated for a read-only (no-spend) run.
|
|
2
|
+
# Throwaway wallets; TEST_CONTRACT_ADDRESS intentionally blank so no on-chain tx fires.
|
|
3
|
+
TEST_CONTRACT_ADDRESS=
|
|
4
|
+
|
|
5
|
+
TEST_PROVIDER_NAME=Polygon Amoy Testnet
|
|
6
|
+
TEST_PROVIDER_CHAIN_ID=80002
|
|
7
|
+
TEST_PROVIDER_RPC=https://rpc-amoy.polygon.technology
|
|
8
|
+
TEST_PROVIDER_CURRENCY_SYMBOL=POL
|
|
9
|
+
TEST_PROVIDER_CURRENCY_NAME=POL
|
|
10
|
+
TEST_PROVIDER_CURRENCY_DECIMALS=18
|
|
11
|
+
|
|
12
|
+
TEST_SERVER_ADDRESS=0x5277286b5821D1bF5c2395F38c3250A5B0F14da3
|
|
13
|
+
TEST_SERVER_MNEMONIC=attack sweet hint arctic skull vessel refuse mountain tiny kind feature amazing
|
|
14
|
+
TEST_SERVER_PUBLIC_KEY=0x041de8ef7ae49c387ed8f8c138f33901acefdd63e03300dbd205bd407efba3b95002b5337ce4437924b52c9581cf7bda21eb6df5f0d3e17fbd99ccddfefc63f0d8
|
|
15
|
+
TEST_SERVER_PRIVATE_KEY=0x91806b336879df60435ab8f95673bbdd7b24d47dec5ac35c10098934f214049d
|
|
16
|
+
|
|
17
|
+
TEST_CLIENT1_ADDRESS=0xdCb8454E5ce6B911dba93C11ad530C61d2520d8E
|
|
18
|
+
TEST_CLIENT1_MNEMONIC=capital drive borrow rose cruel food huge exclude sausage awesome sausage fee
|
|
19
|
+
TEST_CLIENT1_PUBLIC_KEY=0x041212f322ca344f39ac5f3a521dacef2d5f6e71781d47b095556cfbbb2958eac7327558d089c2d3c3a38bdd0ebb04450eaeabcf6a80a34d89b50c5d472ace20cf
|
|
20
|
+
TEST_CLIENT1_PRIVATE_KEY=0xea8b3f803911c4497d72a07ea95e3a49400f9b3a0989dfe6fbf764a550aecb7b
|
|
21
|
+
|
|
22
|
+
TEST_CLIENT2_ADDRESS=0x4E3e49EF2dA9Ea588fF199C808aE363B11a0899A
|
|
23
|
+
TEST_CLIENT2_MNEMONIC=rely parade clump short recall soul check frog sock tuna axis general
|
|
24
|
+
TEST_CLIENT2_PUBLIC_KEY=0x04a5c19b5b25d84971588747c800528af1b75a92207a273e81f18948f8236a7bac787d34d1933e1ac25bc851a331c0ad7c2f4ab30ea51879b1ab4730fee4f2f545
|
|
25
|
+
TEST_CLIENT2_PRIVATE_KEY=0x3f4e09845980f9387881e236567ded97d72f7af9049a0518bc1fa0d23086a144
|
package/cli/epistery.mjs
CHANGED
|
@@ -177,7 +177,7 @@ async function initializeDomain(domain) {
|
|
|
177
177
|
console.log(`Initializing domain: ${domain}`);
|
|
178
178
|
console.log("");
|
|
179
179
|
|
|
180
|
-
const wallet = CliWallet.initialize(domain);
|
|
180
|
+
const wallet = await CliWallet.initialize(domain);
|
|
181
181
|
|
|
182
182
|
console.log("");
|
|
183
183
|
console.log("Domain initialized successfully");
|
|
@@ -189,8 +189,7 @@ async function initializeDomain(domain) {
|
|
|
189
189
|
// Load config to get agent contract address
|
|
190
190
|
const { Config } = await import("../dist/utils/Config.js");
|
|
191
191
|
const config = new Config();
|
|
192
|
-
config.setPath(`/${domain}`);
|
|
193
|
-
config.load();
|
|
192
|
+
await config.setPath(`/${domain}`);
|
|
194
193
|
|
|
195
194
|
const contractAddress = config.data?.contract_address;
|
|
196
195
|
|
|
@@ -201,7 +200,7 @@ async function initializeDomain(domain) {
|
|
|
201
200
|
console.log("Adding wallet to epistery::admin list...");
|
|
202
201
|
|
|
203
202
|
// Get the server wallet (which was just initialized)
|
|
204
|
-
const serverWallet = Utils.InitServerWallet(domain);
|
|
203
|
+
const serverWallet = await Utils.InitServerWallet(domain);
|
|
205
204
|
|
|
206
205
|
if (serverWallet) {
|
|
207
206
|
await Utils.AddToWhitelist(
|
|
@@ -263,7 +262,7 @@ async function initializeDomain(domain) {
|
|
|
263
262
|
|
|
264
263
|
async function showInfo(domain) {
|
|
265
264
|
try {
|
|
266
|
-
const wallet = CliWallet.load(domain);
|
|
265
|
+
const wallet = await CliWallet.load(domain);
|
|
267
266
|
|
|
268
267
|
console.log("Domain:", wallet.getDomain());
|
|
269
268
|
console.log("Address:", wallet.address);
|
|
@@ -290,9 +289,9 @@ async function showInfo(domain) {
|
|
|
290
289
|
}
|
|
291
290
|
}
|
|
292
291
|
|
|
293
|
-
function setDefault(domain) {
|
|
292
|
+
async function setDefault(domain) {
|
|
294
293
|
try {
|
|
295
|
-
CliWallet.setDefaultDomain(domain);
|
|
294
|
+
await CliWallet.setDefaultDomain(domain);
|
|
296
295
|
console.log(`✓ Default domain set to: ${domain}`);
|
|
297
296
|
console.log("");
|
|
298
297
|
console.log("Verify with: epistery info");
|
|
@@ -397,7 +396,7 @@ async function executeCurl(curlArgs) {
|
|
|
397
396
|
async function performCurl(options) {
|
|
398
397
|
try {
|
|
399
398
|
// Load wallet (uses default if domain not specified)
|
|
400
|
-
const wallet = CliWallet.load(options.domain);
|
|
399
|
+
const wallet = await CliWallet.load(options.domain);
|
|
401
400
|
|
|
402
401
|
if (options.verbose) {
|
|
403
402
|
console.error(`[epistery] Domain: ${wallet.getDomain()}`);
|
|
@@ -522,7 +521,7 @@ async function performMcp(args) {
|
|
|
522
521
|
? url.replace(/\/+$/, '')
|
|
523
522
|
: url.replace(/\/+$/, '') + '/mcp';
|
|
524
523
|
|
|
525
|
-
const wallet = CliWallet.load(domain);
|
|
524
|
+
const wallet = await CliWallet.load(domain);
|
|
526
525
|
const fetch = (await import('node-fetch')).default;
|
|
527
526
|
|
|
528
527
|
// All log output to stderr so stdout stays clean for MCP JSON-RPC
|
|
@@ -650,7 +649,7 @@ async function main() {
|
|
|
650
649
|
console.error("Usage: epistery set-default <domain>");
|
|
651
650
|
process.exit(1);
|
|
652
651
|
}
|
|
653
|
-
setDefault(args[0]);
|
|
652
|
+
await setDefault(args[0]);
|
|
654
653
|
break;
|
|
655
654
|
|
|
656
655
|
case "help":
|
|
@@ -37,14 +37,14 @@ export declare function registeredChains(): ChainConfig[];
|
|
|
37
37
|
*
|
|
38
38
|
* Chains without a config override are returned unchanged.
|
|
39
39
|
*/
|
|
40
|
-
export declare function configuredChains(): ChainConfig[]
|
|
40
|
+
export declare function configuredChains(): Promise<ChainConfig[]>;
|
|
41
41
|
/**
|
|
42
42
|
* Return the configured default chainId from root config.
|
|
43
43
|
*
|
|
44
44
|
* Checks `[default] defaultChainId`, then `[default.provider] chainId`,
|
|
45
45
|
* falling back to Polygon mainnet (137).
|
|
46
46
|
*/
|
|
47
|
-
export declare function defaultChainId(): string
|
|
47
|
+
export declare function defaultChainId(): Promise<string>;
|
|
48
48
|
/** Visible for tests / debug. Returns true if a chainId has a registered subclass. */
|
|
49
49
|
export declare function hasRegisteredChain(chainId: number): boolean;
|
|
50
50
|
/** Visible for tests / debug. Returns the list of registered chainIds. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/chains/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAG7C,KAAK,SAAS,GAAG,CAAC,KAAK,MAAM,EAAE,WAAW,KAAK,KAAK,CAAC,GAAG;IAAE,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;CAAE,CAAC;AAmB3F;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAEpE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,KAAK,CAanD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,WAAW,EAAE,CAShD;AAED;;;;;;;;GAQG;AACH,
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/chains/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAG7C,KAAK,SAAS,GAAG,CAAC,KAAK,MAAM,EAAE,WAAW,KAAK,KAAK,CAAC,GAAG;IAAE,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;CAAE,CAAC;AAmB3F;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAEpE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,KAAK,CAanD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,WAAW,EAAE,CAShD;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAW/D;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAQtD;AAED,sFAAsF;AACtF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED,0EAA0E;AAC1E,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAE7C"}
|
package/dist/chains/registry.js
CHANGED
|
@@ -84,9 +84,9 @@ function registeredChains() {
|
|
|
84
84
|
*
|
|
85
85
|
* Chains without a config override are returned unchanged.
|
|
86
86
|
*/
|
|
87
|
-
function configuredChains() {
|
|
87
|
+
async function configuredChains() {
|
|
88
88
|
const config = new Config_1.Config();
|
|
89
|
-
const rootData = config.read('/');
|
|
89
|
+
const rootData = await config.read('/');
|
|
90
90
|
return registeredChains().map(chain => {
|
|
91
91
|
const id = String(chain.chainId);
|
|
92
92
|
const privateRpc = rootData?.default?.rpc?.[id]?.privateRpc
|
|
@@ -102,9 +102,9 @@ function configuredChains() {
|
|
|
102
102
|
* Checks `[default] defaultChainId`, then `[default.provider] chainId`,
|
|
103
103
|
* falling back to Polygon mainnet (137).
|
|
104
104
|
*/
|
|
105
|
-
function defaultChainId() {
|
|
105
|
+
async function defaultChainId() {
|
|
106
106
|
const config = new Config_1.Config();
|
|
107
|
-
const rootData = config.read('/');
|
|
107
|
+
const rootData = await config.read('/');
|
|
108
108
|
return String(rootData?.default?.defaultChainId
|
|
109
109
|
|| rootData?.default?.provider?.chainId
|
|
110
110
|
|| '137');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/chains/registry.ts"],"names":[],"mappings":";;AA2BA,sCAEC;AAeD,4BAaC;AAOD,4CASC;AAWD,4CAWC;AAQD,wCAQC;AAGD,gDAEC;AAGD,gDAEC;AAzHD,mCAA6C;AAC7C,4CAAyC;AAIzC;;;;;;;;;;;;;;GAcG;AACH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAqB,CAAC;AAE9C;;;;GAIG;AACH,SAAgB,aAAa,CAAC,OAAe,EAAE,IAAe;IAC5D,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,QAAQ,CAAC,MAAmB;IAC1C,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,8CAA8C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC1F,CAAC;IACD,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,aAAK,CAAC;IAC3D,gEAAgE;IAChE,MAAM,MAAM,GAAgB,EAAE,GAAI,IAAI,CAAC,QAAwB,EAAE,GAAG,MAAM,EAAE,CAAC;IAC7E,oEAAoE;IACpE,0CAA0C;IAC1C,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QAC3C,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;IACvC,CAAC;IACD,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,SAAgB,gBAAgB;IAC9B,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,KAAK,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,QAAQ,EAAE,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC;YACV,GAAI,IAAI,CAAC,QAAwB;YACjC,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/chains/registry.ts"],"names":[],"mappings":"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"}
|
package/dist/epistery.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export declare class Epistery {
|
|
|
7
7
|
constructor();
|
|
8
8
|
static initialize(): Promise<void>;
|
|
9
9
|
static createWallet(): ClientWalletInfo;
|
|
10
|
-
static getStatus(client: ClientWalletInfo, server: DomainConfig): EpisteryStatus
|
|
10
|
+
static getStatus(client: ClientWalletInfo, server: DomainConfig): Promise<EpisteryStatus>;
|
|
11
11
|
static handleKeyExchange(request: KeyExchangeRequest, serverWallet: WalletConfig): Promise<KeyExchangeResponse | null>;
|
|
12
12
|
/**
|
|
13
13
|
* Prepares an unsigned "add rivet to IdentityContract" transaction
|
package/dist/epistery.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"epistery.d.ts","sourceRoot":"","sources":["../src/epistery.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,cAAc,EAEd,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EAMpB,MAAM,kBAAkB,CAAC;AAG1B,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAC,UAAU,CAAqB;IAC9C,OAAO,CAAC,MAAM,CAAC,cAAc,CAAqB;IAClD,OAAO,CAAC,MAAM,CAAC,aAAa,CAAkB;IAG9C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAU;;WAIhC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;WAOjC,YAAY,IAAI,gBAAgB;
|
|
1
|
+
{"version":3,"file":"epistery.d.ts","sourceRoot":"","sources":["../src/epistery.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,cAAc,EAEd,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EAMpB,MAAM,kBAAkB,CAAC;AAG1B,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAC,UAAU,CAAqB;IAC9C,OAAO,CAAC,MAAM,CAAC,cAAc,CAAqB;IAClD,OAAO,CAAC,MAAM,CAAC,aAAa,CAAkB;IAG9C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAU;;WAIhC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;WAOjC,YAAY,IAAI,gBAAgB;WAY1B,SAAS,CAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC;WAoClF,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAyDnI;;;;;;;;;OASG;WACiB,yBAAyB,CAC3C,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,MAAM,EACvB,iBAAiB,EAAE,MAAM,EACzB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,GAAG,CAAC;IA2If;;;;;;;;;OASG;WACiB,uBAAuB,CACzC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,GAAG,CAAC;CAuChB"}
|
package/dist/epistery.js
CHANGED
|
@@ -53,7 +53,7 @@ class Epistery {
|
|
|
53
53
|
};
|
|
54
54
|
return clientWalletInfo;
|
|
55
55
|
}
|
|
56
|
-
static getStatus(client, server) {
|
|
56
|
+
static async getStatus(client, server) {
|
|
57
57
|
// Build nativeCurrency object from flat fields with sensible defaults
|
|
58
58
|
let nativeCurrency = undefined;
|
|
59
59
|
if (server?.provider?.nativeCurrencySymbol) {
|
|
@@ -65,7 +65,7 @@ class Epistery {
|
|
|
65
65
|
}
|
|
66
66
|
// Read IPFS config from root config
|
|
67
67
|
const config = index_js_1.Utils.GetConfig();
|
|
68
|
-
const rootConfig = config.read('/');
|
|
68
|
+
const rootConfig = await config.read('/');
|
|
69
69
|
const ipfsConfig = rootConfig.ipfs;
|
|
70
70
|
const status = {
|
|
71
71
|
server: {
|
|
@@ -146,7 +146,7 @@ class Epistery {
|
|
|
146
146
|
static async prepareAddRivetToContract(signerAddress, contractAddress, rivetAddressToAdd, rivetName, domain) {
|
|
147
147
|
// RPC comes from ~/.epistery via Config (GetDomainInfo falls back to root
|
|
148
148
|
// [provider]); never process.env — env is for deployment vars only.
|
|
149
|
-
const domainInfo = index_js_1.Utils.GetDomainInfo(domain);
|
|
149
|
+
const domainInfo = await index_js_1.Utils.GetDomainInfo(domain);
|
|
150
150
|
const rpcUrl = domainInfo?.provider?.rpc;
|
|
151
151
|
if (!rpcUrl) {
|
|
152
152
|
throw new Error(`No provider RPC configured in ~/.epistery for domain "${domain}"`);
|
|
@@ -277,7 +277,7 @@ class Epistery {
|
|
|
277
277
|
// RPC from ~/.epistery root config via Config — not process.env. A signed
|
|
278
278
|
// tx already encodes its chainId; we just need the network's RPC, which
|
|
279
279
|
// single-domain apps declare once at root [provider].
|
|
280
|
-
const rootData = index_js_1.Utils.GetConfig().read('/');
|
|
280
|
+
const rootData = await index_js_1.Utils.GetConfig().read('/');
|
|
281
281
|
const rpcUrl = rootData.provider?.rpc ?? rootData.default?.provider?.rpc;
|
|
282
282
|
if (!rpcUrl) {
|
|
283
283
|
throw new Error('No provider RPC configured in ~/.epistery (root [provider])');
|
package/dist/epistery.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"epistery.js","sourceRoot":"","sources":["../src/epistery.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAa0B;AAC1B,mCAAgC;AAEhC,MAAa,QAAQ;IAQnB,gBAAgB,CAAC;IAEV,MAAM,CAAC,KAAK,CAAC,UAAU;QAC5B,IAAI,QAAQ,CAAC,aAAa;YACxB,OAAO;QAET,QAAQ,CAAC,aAAa,GAAG,IAAI,CAAC;IAChC,CAAC;IAEM,MAAM,CAAC,YAAY;QACxB,MAAM,MAAM,GAAG,eAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QAC5C,MAAM,gBAAgB,GAAqB;YACzC,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE;YACvC,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC;QAEF,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAEM,MAAM,CAAC,SAAS,CAAC,MAAwB,EAAE,MAAoB;
|
|
1
|
+
{"version":3,"file":"epistery.js","sourceRoot":"","sources":["../src/epistery.ts"],"names":[],"mappings":"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"}
|
|
@@ -46,11 +46,15 @@ export declare class CliWallet {
|
|
|
46
46
|
/**
|
|
47
47
|
* Get the default domain from config.ini [cli] section
|
|
48
48
|
*/
|
|
49
|
-
static getDefaultDomain(): string
|
|
49
|
+
static getDefaultDomain(): Promise<string>;
|
|
50
50
|
/**
|
|
51
|
-
* Set the default domain in config.ini [cli] section
|
|
51
|
+
* Set the default domain in config.ini [cli] section.
|
|
52
|
+
*
|
|
53
|
+
* Loads the root config first so the rest of it ([profile], [default.provider],
|
|
54
|
+
* …) is preserved on save. (Before the async migration, Config did not
|
|
55
|
+
* auto-load on construction, so this wrote {cli:…} over the whole root file.)
|
|
52
56
|
*/
|
|
53
|
-
static setDefaultDomain(domain: string): void
|
|
57
|
+
static setDefaultDomain(domain: string): Promise<void>;
|
|
54
58
|
/**
|
|
55
59
|
* Initialize a new domain with wallet
|
|
56
60
|
* Creates ~/.epistery/{domain}/config.ini with new wallet
|
|
@@ -59,12 +63,12 @@ export declare class CliWallet {
|
|
|
59
63
|
name: string;
|
|
60
64
|
chainId: number;
|
|
61
65
|
rpc: string;
|
|
62
|
-
}): CliWallet
|
|
66
|
+
}): Promise<CliWallet>;
|
|
63
67
|
/**
|
|
64
68
|
* Load domain wallet from config
|
|
65
69
|
* Throws if domain doesn't exist - use initialize() first
|
|
66
70
|
*/
|
|
67
|
-
static load(domain?: string): CliWallet
|
|
71
|
+
static load(domain?: string): Promise<CliWallet>;
|
|
68
72
|
/**
|
|
69
73
|
* Get domain name
|
|
70
74
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CliWallet.d.ts","sourceRoot":"","sources":["../../src/utils/CliWallet.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;GAWG;AAIH,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,GAAG,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,MAAM,CAAS;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAEzB,OAAO;IASP;;OAEG;
|
|
1
|
+
{"version":3,"file":"CliWallet.d.ts","sourceRoot":"","sources":["../../src/utils/CliWallet.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;GAWG;AAIH,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,GAAG,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,MAAM,CAAS;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAEzB,OAAO;IASP;;OAEG;WACU,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAMhD;;;;;;OAMG;WACU,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU5D;;;OAGG;WACU,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,CAAC;IAyCtH;;;OAGG;WACU,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IA0BtD;;OAEG;IACH,SAAS,IAAI,MAAM;IAInB;;OAEG;IACH,WAAW;IAIX;;OAEG;IACG,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI5C;;;OAGG;IACG,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAqEzE;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAcjD;;OAEG;IACH,OAAO,CAAC,WAAW;IAKnB;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAOrC;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAc1B;;;OAGG;IACG,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAa5C;;OAEG;IACH,MAAM;;;;;;CAQP"}
|
package/dist/utils/CliWallet.js
CHANGED
|
@@ -20,43 +20,49 @@ class CliWallet {
|
|
|
20
20
|
/**
|
|
21
21
|
* Get the default domain from config.ini [cli] section
|
|
22
22
|
*/
|
|
23
|
-
static getDefaultDomain() {
|
|
23
|
+
static async getDefaultDomain() {
|
|
24
24
|
const config = new Config_1.Config();
|
|
25
|
+
await config.setPath('/');
|
|
25
26
|
return config.data.cli?.default_domain || 'localhost';
|
|
26
27
|
}
|
|
27
28
|
/**
|
|
28
|
-
* Set the default domain in config.ini [cli] section
|
|
29
|
+
* Set the default domain in config.ini [cli] section.
|
|
30
|
+
*
|
|
31
|
+
* Loads the root config first so the rest of it ([profile], [default.provider],
|
|
32
|
+
* …) is preserved on save. (Before the async migration, Config did not
|
|
33
|
+
* auto-load on construction, so this wrote {cli:…} over the whole root file.)
|
|
29
34
|
*/
|
|
30
|
-
static setDefaultDomain(domain) {
|
|
35
|
+
static async setDefaultDomain(domain) {
|
|
31
36
|
const config = new Config_1.Config();
|
|
37
|
+
await config.setPath('/');
|
|
32
38
|
if (!config.data.cli) {
|
|
33
39
|
config.data.cli = {};
|
|
34
40
|
}
|
|
35
41
|
config.data.cli.default_domain = domain;
|
|
36
|
-
config.save();
|
|
42
|
+
await config.save();
|
|
37
43
|
}
|
|
38
44
|
/**
|
|
39
45
|
* Initialize a new domain with wallet
|
|
40
46
|
* Creates ~/.epistery/{domain}/config.ini with new wallet
|
|
41
47
|
*/
|
|
42
|
-
static initialize(domain, provider) {
|
|
48
|
+
static async initialize(domain, provider) {
|
|
43
49
|
const config = new Config_1.Config();
|
|
44
50
|
// Check if domain already exists
|
|
45
|
-
config.setPath(domain);
|
|
51
|
+
await config.setPath(domain);
|
|
46
52
|
if (config.data.wallet) {
|
|
47
53
|
throw new Error(`Domain '${domain}' already initialized. Use load() to access it.`);
|
|
48
54
|
}
|
|
49
55
|
// Create new wallet
|
|
50
56
|
const ethersWallet = ethers_1.ethers.Wallet.createRandom();
|
|
51
57
|
// Get provider from root default, argument, or fallback default
|
|
52
|
-
config.setPath('/');
|
|
58
|
+
await config.setPath('/');
|
|
53
59
|
const providerConfig = provider || config.data.default?.provider || {
|
|
54
60
|
chainId: 420420422,
|
|
55
61
|
name: 'polkadot-hub-testnet',
|
|
56
62
|
rpc: 'https://testnet-passet-hub-eth-rpc.polkadot.io'
|
|
57
63
|
};
|
|
58
64
|
// Create domain config
|
|
59
|
-
config.setPath(`/${domain}`);
|
|
65
|
+
await config.setPath(`/${domain}`);
|
|
60
66
|
config.data = {
|
|
61
67
|
domain: domain,
|
|
62
68
|
wallet: {
|
|
@@ -67,7 +73,7 @@ class CliWallet {
|
|
|
67
73
|
},
|
|
68
74
|
provider: providerConfig
|
|
69
75
|
};
|
|
70
|
-
config.save();
|
|
76
|
+
await config.save();
|
|
71
77
|
console.log(`Initialized domain: ${domain}`);
|
|
72
78
|
console.log(`Address: ${ethersWallet.address}`);
|
|
73
79
|
console.log(`Provider: ${providerConfig.name}`);
|
|
@@ -77,11 +83,10 @@ class CliWallet {
|
|
|
77
83
|
* Load domain wallet from config
|
|
78
84
|
* Throws if domain doesn't exist - use initialize() first
|
|
79
85
|
*/
|
|
80
|
-
static load(domain) {
|
|
86
|
+
static async load(domain) {
|
|
81
87
|
const config = new Config_1.Config();
|
|
82
|
-
const domainName = domain || CliWallet.getDefaultDomain();
|
|
83
|
-
config.setPath(`/${domainName}`);
|
|
84
|
-
config.load();
|
|
88
|
+
const domainName = domain || await CliWallet.getDefaultDomain();
|
|
89
|
+
await config.setPath(`/${domainName}`);
|
|
85
90
|
if (!config.data.wallet) {
|
|
86
91
|
throw new Error(`Domain '${domainName}' not found or has no wallet. ` +
|
|
87
92
|
`Initialize with: epistery initialize ${domainName}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CliWallet.js","sourceRoot":"","sources":["../../src/utils/CliWallet.ts"],"names":[],"mappings":";;;;;;AAAA,mCAAwC;AACxC,qCAAkC;AAElC,4CAAoB;AACpB,+BAA4B;AA6C5B,MAAa,SAAS;IAQpB,YAAoB,MAAc,EAAE,UAAkB,EAAE,YAA0B,EAAE,MAAc;QAChG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,gBAAgB;
|
|
1
|
+
{"version":3,"file":"CliWallet.js","sourceRoot":"","sources":["../../src/utils/CliWallet.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/Config.d.ts
CHANGED
|
@@ -1,19 +1,44 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Epistery Config
|
|
2
|
+
* Epistery Config — async path-based configuration store.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Filesystem-like config management, now async so the same interface can be
|
|
5
|
+
* served by a remote authority:
|
|
5
6
|
* - setPath('/') → ~/.epistery/config.ini
|
|
6
7
|
* - setPath('/domain') → ~/.epistery/domain/config.ini
|
|
7
8
|
* - setPath('/.ssl/domain') → ~/.epistery/.ssl/domain/config.ini
|
|
8
9
|
*
|
|
10
|
+
* `Config` is a thin facade that picks a backend at construction:
|
|
11
|
+
* - if the local bootstrap ~/.epistery/config.ini has [authority] url=…,
|
|
12
|
+
* or EPISTERY_CONFIG_URL is set → RemoteConfig (talks to epistery-authority)
|
|
13
|
+
* - otherwise → LocalConfig (the filesystem store; unchanged semantics)
|
|
14
|
+
*
|
|
15
|
+
* Every IO method is async because a remote/HSM custodian cannot answer
|
|
16
|
+
* synchronously. `data` holds the snapshot from the last awaited load()/setPath().
|
|
17
|
+
*
|
|
9
18
|
* Usage:
|
|
10
19
|
* const config = new Config('epistery');
|
|
11
|
-
* config.setPath('/wiki.rootz.global');
|
|
12
|
-
* config.load();
|
|
20
|
+
* await config.setPath('/wiki.rootz.global'); // loads
|
|
13
21
|
* config.data.verified = true;
|
|
14
|
-
* config.save();
|
|
22
|
+
* await config.save();
|
|
23
|
+
*/
|
|
24
|
+
export interface ConfigStore {
|
|
25
|
+
data: any;
|
|
26
|
+
getPath(): string;
|
|
27
|
+
setPath(path: string): Promise<void>;
|
|
28
|
+
load(): Promise<void>;
|
|
29
|
+
read(path: string): Promise<any>;
|
|
30
|
+
save(): Promise<void>;
|
|
31
|
+
readFile(filename: string): Promise<Buffer>;
|
|
32
|
+
writeFile(filename: string, data: string | Buffer): Promise<void>;
|
|
33
|
+
exists(): Promise<boolean>;
|
|
34
|
+
listPaths(): Promise<string[]>;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* LocalConfig — the filesystem backend under ~/.epistery. This is the original
|
|
38
|
+
* Config behavior, with all IO made async. It is also what the epistery-authority
|
|
39
|
+
* server mounts as its own storage backend (one implementation, not two).
|
|
15
40
|
*/
|
|
16
|
-
export declare class
|
|
41
|
+
export declare class LocalConfig implements ConfigStore {
|
|
17
42
|
readonly rootName: string;
|
|
18
43
|
readonly homeDir: string;
|
|
19
44
|
readonly configDir: string;
|
|
@@ -22,50 +47,81 @@ export declare class Config {
|
|
|
22
47
|
private currentFile;
|
|
23
48
|
data: any;
|
|
24
49
|
constructor(rootName?: string);
|
|
25
|
-
|
|
26
|
-
* Set current working path and load config (like cd)
|
|
27
|
-
* Examples: '/', 'domain', '/domain', '/.ssl/domain'
|
|
28
|
-
* Leading slash is optional and will be added if not present
|
|
29
|
-
* Automatically loads the config at the specified path
|
|
30
|
-
*/
|
|
31
|
-
setPath(path: string): void;
|
|
32
|
-
/**
|
|
33
|
-
* Get current path
|
|
34
|
-
*/
|
|
50
|
+
private initializeSync;
|
|
35
51
|
getPath(): string;
|
|
52
|
+
setPath(path: string): Promise<void>;
|
|
53
|
+
load(): Promise<void>;
|
|
54
|
+
read(path: string): Promise<any>;
|
|
55
|
+
save(): Promise<void>;
|
|
56
|
+
readFile(filename: string): Promise<Buffer>;
|
|
57
|
+
writeFile(filename: string, data: string | Buffer): Promise<void>;
|
|
58
|
+
exists(): Promise<boolean>;
|
|
59
|
+
listPaths(): Promise<string[]>;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* RemoteConfig — HTTP client to an epistery-authority server. Implements the
|
|
63
|
+
* same ConfigStore interface; the authority mounts a LocalConfig behind it.
|
|
64
|
+
*
|
|
65
|
+
* Auth is the rivet key-exchange: the machine signs a challenge with its
|
|
66
|
+
* device key, and the authority issues a bearer token (see epistery-authority
|
|
67
|
+
* lib/auth.mjs). In Phase 1 config data (including the wallet mnemonic) is
|
|
68
|
+
* still served; Phase 2 splits public from secret and adds /sign/*.
|
|
69
|
+
*/
|
|
70
|
+
export declare class RemoteConfig implements ConfigStore {
|
|
71
|
+
private readonly baseUrl;
|
|
72
|
+
private readonly machineAddress;
|
|
73
|
+
private readonly signChallenge;
|
|
74
|
+
data: any;
|
|
75
|
+
private currentPath;
|
|
76
|
+
private token;
|
|
77
|
+
private readonly basePath;
|
|
78
|
+
constructor(baseUrl: string, machineAddress: string, signChallenge: (message: string) => Promise<string>, basePath?: string);
|
|
79
|
+
getPath(): string;
|
|
80
|
+
/** Map a client path into the authority's namespace under basePath. */
|
|
81
|
+
private prefixed;
|
|
82
|
+
private authenticate;
|
|
83
|
+
private authedFetch;
|
|
84
|
+
setPath(path: string): Promise<void>;
|
|
85
|
+
load(): Promise<void>;
|
|
86
|
+
read(path: string): Promise<any>;
|
|
87
|
+
save(): Promise<void>;
|
|
88
|
+
private filePrefix;
|
|
89
|
+
readFile(filename: string): Promise<Buffer>;
|
|
90
|
+
writeFile(filename: string, data: string | Buffer): Promise<void>;
|
|
91
|
+
exists(): Promise<boolean>;
|
|
92
|
+
listPaths(): Promise<string[]>;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Config — the public facade. `new Config()` selects the backend synchronously
|
|
96
|
+
* (reading only the local bootstrap), then delegates every async operation.
|
|
97
|
+
* Existing call sites change only by adding `await`.
|
|
98
|
+
*/
|
|
99
|
+
export declare class Config implements ConfigStore {
|
|
100
|
+
private readonly backend;
|
|
101
|
+
private readonly local;
|
|
102
|
+
constructor(rootName?: string);
|
|
103
|
+
/** Read the local bootstrap config.ini synchronously (authority selection only). */
|
|
104
|
+
private static readBootstrap;
|
|
105
|
+
private static resolveAuthorityUrl;
|
|
36
106
|
/**
|
|
37
|
-
*
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Load config from current path
|
|
42
|
-
*/
|
|
43
|
-
load(): void;
|
|
44
|
-
/**
|
|
45
|
-
* Read config from arbitrary path without changing current path
|
|
46
|
-
* @param path Path to read from (e.g., '/', '/domain')
|
|
47
|
-
* @returns Parsed config data from that path
|
|
48
|
-
*/
|
|
49
|
-
read(path: string): any;
|
|
50
|
-
/**
|
|
51
|
-
* Save config to current path
|
|
52
|
-
*/
|
|
53
|
-
save(): void;
|
|
54
|
-
/**
|
|
55
|
-
* Read file from current path directory
|
|
56
|
-
*/
|
|
57
|
-
readFile(filename: string): Buffer;
|
|
58
|
-
/**
|
|
59
|
-
* Write file to current path directory
|
|
60
|
-
*/
|
|
61
|
-
writeFile(filename: string, data: string | Buffer): void;
|
|
62
|
-
/**
|
|
63
|
-
* Check if config exists at current path
|
|
64
|
-
*/
|
|
65
|
-
exists(): boolean;
|
|
66
|
-
/**
|
|
67
|
-
* List all subdirectories at current path
|
|
107
|
+
* Build the machine signer used to authenticate to the authority. The machine
|
|
108
|
+
* rivet key lives in the local bootstrap [authority] section (Phase 1). A
|
|
109
|
+
* future TPM-backed key replaces this without changing the call site.
|
|
68
110
|
*/
|
|
69
|
-
|
|
111
|
+
private static machineSigner;
|
|
112
|
+
get rootName(): string;
|
|
113
|
+
get homeDir(): string;
|
|
114
|
+
get configDir(): string;
|
|
115
|
+
get data(): any;
|
|
116
|
+
set data(v: any);
|
|
117
|
+
getPath(): string;
|
|
118
|
+
setPath(path: string): Promise<void>;
|
|
119
|
+
load(): Promise<void>;
|
|
120
|
+
read(path: string): Promise<any>;
|
|
121
|
+
save(): Promise<void>;
|
|
122
|
+
readFile(filename: string): Promise<Buffer>;
|
|
123
|
+
writeFile(filename: string, data: string | Buffer): Promise<void>;
|
|
124
|
+
exists(): Promise<boolean>;
|
|
125
|
+
listPaths(): Promise<string[]>;
|
|
70
126
|
}
|
|
71
127
|
//# sourceMappingURL=Config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/utils/Config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/utils/Config.ts"],"names":[],"mappings":"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"}
|