@win-trader/config 0.0.1 → 0.1.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.
@@ -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,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;AAgCvD,eAAO,MAAM,MAAM,EAAE,SAA2B,CAAC;AAEjD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,CAEhE;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,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"}
package/dist/index.js CHANGED
@@ -1,17 +1,23 @@
1
1
  import { readFileSync } from "node:fs";
2
2
  import { dirname, resolve } from "node:path";
3
3
  import { fileURLToPath } from "node:url";
4
- // Read the source addresses.json at runtime (not bundled into dist), so that
5
- // `make deploy` updates are picked up without rebuilding this package.
6
- //
7
4
  // __dirname resolves to:
8
5
  // - packages/config/dist when consumed as a built package (the normal case)
9
6
  // - packages/config when imported directly from source (e.g. via bun)
10
7
  const here = dirname(fileURLToPath(import.meta.url));
8
+ // The current network. Deployed services set NETWORK; defaults to local for dev.
9
+ const NETWORK = process.env.NETWORK || "local";
10
+ function isSingleNetwork(x) {
11
+ return (typeof x === "object" && x !== null && "contracts" in x && "rpcUrl" in x);
12
+ }
13
+ // A per-network file injected via ADDRESSES_JSON is the chosen network — kept
14
+ // here so getNetworkConfig returns it regardless of the requested key.
15
+ let injected = null;
11
16
  // Resolution order for the address/network registry:
12
- // 1. ADDRESSES_JSON env path — the deployment-provided registry (per network).
13
- // 2. the in-package addresses.json local-dev fallback so the workspace runs
14
- // without any env wiring.
17
+ // 1. ADDRESSES_JSON env path — deployment-provided. Either a single-network
18
+ // file (deployments/<network>.json) or the combined record.
19
+ // 2. the in-package addresses.json — local-dev / fallback (combined record),
20
+ // a generated artifact so `make deploy` updates are picked up at runtime.
15
21
  function loadAddresses() {
16
22
  const candidates = [
17
23
  process.env.ADDRESSES_JSON,
@@ -19,18 +25,26 @@ function loadAddresses() {
19
25
  resolve(here, "addresses.json"),
20
26
  ].filter((p) => Boolean(p));
21
27
  for (const path of candidates) {
28
+ let data;
22
29
  try {
23
- return JSON.parse(readFileSync(path, "utf8"));
30
+ data = JSON.parse(readFileSync(path, "utf8"));
24
31
  }
25
32
  catch {
26
- // try next
33
+ continue;
34
+ }
35
+ if (isSingleNetwork(data)) {
36
+ injected = data;
37
+ return { [NETWORK]: data };
27
38
  }
39
+ return data;
28
40
  }
29
- throw new Error(`@win-trader/config: addresses.json not found. Looked in:\n ${candidates.join("\n ")}`);
41
+ throw new Error(`@win-trader/config: address registry not found. Looked in:\n ${candidates.join("\n ")}`);
30
42
  }
31
43
  export const config = loadAddresses();
32
44
  export function getNetworkConfig(network) {
33
- return config[network];
45
+ // When ADDRESSES_JSON injected a single-network file, that file IS the
46
+ // selected network — return it regardless of the requested key.
47
+ return injected ?? config[network];
34
48
  }
35
49
  export * from "./constants.js";
36
50
  //# 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;AAmCzC,6EAA6E;AAC7E,uEAAuE;AACvE,EAAE;AACF,yBAAyB;AACzB,+EAA+E;AAC/E,8EAA8E;AAC9E,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAErD,qDAAqD;AACrD,iFAAiF;AACjF,gFAAgF;AAChF,+BAA+B;AAC/B,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,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAc,CAAC;QAC7D,CAAC;QAAC,MAAM,CAAC;YACP,WAAW;QACb,CAAC;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CACb,+DAA+D,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CACzF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAc,aAAa,EAAE,CAAC;AAEjD,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC;AAED,cAAc,gBAAgB,CAAC"}
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;AAmCzC,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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@win-trader/config",
3
- "version": "0.0.1",
3
+ "version": "0.1.0",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",