@win-trader/config 0.1.1 → 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/dist/index.d.ts +24 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -30,5 +30,29 @@ export interface NetworkConfig {
|
|
|
30
30
|
export type Addresses = Record<Network, NetworkConfig>;
|
|
31
31
|
export declare const config: Addresses;
|
|
32
32
|
export declare function getNetworkConfig(network: Network): NetworkConfig;
|
|
33
|
+
/** The network env a binding client needs (`@win-trader/protocol-clients`). */
|
|
34
|
+
export interface NetworkEnv {
|
|
35
|
+
rpcUrl: string;
|
|
36
|
+
networkPassphrase: string;
|
|
37
|
+
}
|
|
38
|
+
export interface ResolvedNetwork {
|
|
39
|
+
network: Network;
|
|
40
|
+
config: NetworkConfig;
|
|
41
|
+
env: NetworkEnv;
|
|
42
|
+
}
|
|
43
|
+
export interface ResolveNetworkOptions {
|
|
44
|
+
/** Override the network instead of reading `process.env.NETWORK`. */
|
|
45
|
+
network?: Network;
|
|
46
|
+
/** Contract keys whose address must be non-empty; throws if any is missing. */
|
|
47
|
+
require?: (keyof NetworkContracts)[];
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* One-stop network bootstrap for backend services: resolve the network (from
|
|
51
|
+
* `process.env.NETWORK`, defaulting to `local`), load its config, validate that
|
|
52
|
+
* the required contract addresses are populated, and hand back a ready
|
|
53
|
+
* `NetworkEnv`. Replaces the resolve→validate→build dance each service used to
|
|
54
|
+
* hand-roll with its own (inconsistent) `NETWORK` default.
|
|
55
|
+
*/
|
|
56
|
+
export declare function resolveNetwork(opts?: ResolveNetworkOptions): ResolvedNetwork;
|
|
33
57
|
export * from "./constants.js";
|
|
34
58
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AAEtD,MAAM,WAAW,YAAY;IAC3B,0EAA0E;IAC1E,OAAO,EAAE,MAAM,CAAC;IAChB,kFAAkF;IAClF,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,YAAY,CAAC;IACpB,eAAe,EAAE,YAAY,CAAC;IAC9B,aAAa,EAAE,YAAY,CAAC;IAC5B,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,8EAA8E;IAC9E,aAAa,EAAE,YAAY,CAAC;IAC5B,YAAY,EAAE,YAAY,CAAC;IAC3B,2DAA2D;IAC3D,SAAS,EAAE,YAAY,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,MAAM,CAAC;IAC1B;kFAC8E;IAC9E,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,SAAS,EAAE,gBAAgB,CAAC;CAC7B;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AAiDvD,eAAO,MAAM,MAAM,EAAE,SAA2B,CAAC;AAEjD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,CAIhE;AAED,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AAEtD,MAAM,WAAW,YAAY;IAC3B,0EAA0E;IAC1E,OAAO,EAAE,MAAM,CAAC;IAChB,kFAAkF;IAClF,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,YAAY,CAAC;IACpB,eAAe,EAAE,YAAY,CAAC;IAC9B,aAAa,EAAE,YAAY,CAAC;IAC5B,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,8EAA8E;IAC9E,aAAa,EAAE,YAAY,CAAC;IAC5B,YAAY,EAAE,YAAY,CAAC;IAC3B,2DAA2D;IAC3D,SAAS,EAAE,YAAY,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,MAAM,CAAC;IAC1B;kFAC8E;IAC9E,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,SAAS,EAAE,gBAAgB,CAAC;CAC7B;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AAiDvD,eAAO,MAAM,MAAM,EAAE,SAA2B,CAAC;AAEjD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,CAIhE;AAED,+EAA+E;AAC/E,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,aAAa,CAAC;IACtB,GAAG,EAAE,UAAU,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,qEAAqE;IACrE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,CAAC,MAAM,gBAAgB,CAAC,EAAE,CAAC;CACtC;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,GAAE,qBAA0B,GAAG,eAAe,CAkBhF;AAED,cAAc,gBAAgB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -46,5 +46,27 @@ export function getNetworkConfig(network) {
|
|
|
46
46
|
// selected network — return it regardless of the requested key.
|
|
47
47
|
return injected ?? config[network];
|
|
48
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* One-stop network bootstrap for backend services: resolve the network (from
|
|
51
|
+
* `process.env.NETWORK`, defaulting to `local`), load its config, validate that
|
|
52
|
+
* the required contract addresses are populated, and hand back a ready
|
|
53
|
+
* `NetworkEnv`. Replaces the resolve→validate→build dance each service used to
|
|
54
|
+
* hand-roll with its own (inconsistent) `NETWORK` default.
|
|
55
|
+
*/
|
|
56
|
+
export function resolveNetwork(opts = {}) {
|
|
57
|
+
const network = opts.network ?? (process.env.NETWORK || "local");
|
|
58
|
+
const networkConfig = getNetworkConfig(network);
|
|
59
|
+
for (const key of opts.require ?? []) {
|
|
60
|
+
if (!networkConfig.contracts[key]?.address) {
|
|
61
|
+
throw new Error(`@win-trader/config: contract "${String(key)}" has no address for network "${network}". ` +
|
|
62
|
+
`Run a deploy to populate addresses.json (or ADDRESSES_JSON).`);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return {
|
|
66
|
+
network,
|
|
67
|
+
config: networkConfig,
|
|
68
|
+
env: { rpcUrl: networkConfig.rpcUrl, networkPassphrase: networkConfig.networkPassphrase },
|
|
69
|
+
};
|
|
70
|
+
}
|
|
49
71
|
export * from "./constants.js";
|
|
50
72
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAqCzC,yBAAyB;AACzB,+EAA+E;AAC/E,8EAA8E;AAC9E,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAErD,iFAAiF;AACjF,MAAM,OAAO,GAAa,OAAO,CAAC,GAAG,CAAC,OAAmB,IAAI,OAAO,CAAC;AAErE,SAAS,eAAe,CAAC,CAAU;IACjC,OAAO,CACL,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,WAAW,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,CACzE,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,uEAAuE;AACvE,IAAI,QAAQ,GAAyB,IAAI,CAAC;AAE1C,qDAAqD;AACrD,8EAA8E;AAC9E,iEAAiE;AACjE,+EAA+E;AAC/E,+EAA+E;AAC/E,SAAS,aAAa;IACpB,MAAM,UAAU,GAAG;QACjB,OAAO,CAAC,GAAG,CAAC,cAAc;QAC1B,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,gBAAgB,CAAC;QACrC,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC;KAChC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,IAAa,CAAC;QAClB,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAChD,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,QAAQ,GAAG,IAAI,CAAC;YAChB,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,EAAe,CAAC;QAC1C,CAAC;QACD,OAAO,IAAiB,CAAC;IAC3B,CAAC;IACD,MAAM,IAAI,KAAK,CACb,iEAAiE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAC3F,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAc,aAAa,EAAE,CAAC;AAEjD,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,uEAAuE;IACvE,gEAAgE;IAChE,OAAO,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC;AAED,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|