ysk-server-core 1.1.18 → 1.1.19

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.
Files changed (58) hide show
  1. package/dist/hosting/validators/adapters/avax.d.ts +1 -0
  2. package/dist/hosting/validators/adapters/avax.d.ts.map +1 -1
  3. package/dist/hosting/validators/adapters/avax.js +22 -8
  4. package/dist/hosting/validators/adapters/avax.js.map +1 -1
  5. package/dist/hosting/validators/adapters/eth-clients.d.ts +2 -0
  6. package/dist/hosting/validators/adapters/eth-clients.d.ts.map +1 -1
  7. package/dist/hosting/validators/adapters/eth-clients.js +43 -11
  8. package/dist/hosting/validators/adapters/eth-clients.js.map +1 -1
  9. package/dist/hosting/validators/adapters/eth.d.ts.map +1 -1
  10. package/dist/hosting/validators/adapters/eth.js +5 -2
  11. package/dist/hosting/validators/adapters/eth.js.map +1 -1
  12. package/dist/hosting/validators/adapters/near.d.ts.map +1 -1
  13. package/dist/hosting/validators/adapters/near.js +11 -2
  14. package/dist/hosting/validators/adapters/near.js.map +1 -1
  15. package/dist/hosting/validators/adapters/p2p-public-ip.d.ts +6 -0
  16. package/dist/hosting/validators/adapters/p2p-public-ip.d.ts.map +1 -0
  17. package/dist/hosting/validators/adapters/p2p-public-ip.js +11 -0
  18. package/dist/hosting/validators/adapters/p2p-public-ip.js.map +1 -0
  19. package/dist/hosting/validators/adapters/phase2.d.ts.map +1 -1
  20. package/dist/hosting/validators/adapters/phase2.js +66 -9
  21. package/dist/hosting/validators/adapters/phase2.js.map +1 -1
  22. package/dist/hosting/validators/compose-runner.d.ts +4 -0
  23. package/dist/hosting/validators/compose-runner.d.ts.map +1 -1
  24. package/dist/hosting/validators/compose-runner.js +32 -0
  25. package/dist/hosting/validators/compose-runner.js.map +1 -1
  26. package/dist/hosting/validators/disk.d.ts +2 -0
  27. package/dist/hosting/validators/disk.d.ts.map +1 -1
  28. package/dist/hosting/validators/disk.js +23 -0
  29. package/dist/hosting/validators/disk.js.map +1 -1
  30. package/dist/hosting/validators/extras.d.ts +33 -1
  31. package/dist/hosting/validators/extras.d.ts.map +1 -1
  32. package/dist/hosting/validators/extras.js +163 -2
  33. package/dist/hosting/validators/extras.js.map +1 -1
  34. package/dist/hosting/validators/manager.d.ts +10 -0
  35. package/dist/hosting/validators/manager.d.ts.map +1 -1
  36. package/dist/hosting/validators/manager.js +134 -5
  37. package/dist/hosting/validators/manager.js.map +1 -1
  38. package/dist/hosting/validators/ports.js +4 -4
  39. package/dist/hosting/validators/ports.js.map +1 -1
  40. package/dist/hosting/validators/registry.d.ts +7 -1
  41. package/dist/hosting/validators/registry.d.ts.map +1 -1
  42. package/dist/hosting/validators/registry.js +13 -2
  43. package/dist/hosting/validators/registry.js.map +1 -1
  44. package/dist/hosting/validators/releases.d.ts +56 -0
  45. package/dist/hosting/validators/releases.d.ts.map +1 -1
  46. package/dist/hosting/validators/releases.js +230 -21
  47. package/dist/hosting/validators/releases.js.map +1 -1
  48. package/dist/hosting/validators/runtime-status.js +2 -2
  49. package/dist/hosting/validators/runtime-status.js.map +1 -1
  50. package/dist/hosting/validators/software-catalog.d.ts +10 -1
  51. package/dist/hosting/validators/software-catalog.d.ts.map +1 -1
  52. package/dist/hosting/validators/software-catalog.js +84 -3
  53. package/dist/hosting/validators/software-catalog.js.map +1 -1
  54. package/dist/hosting/validators/upgrade.d.ts +18 -0
  55. package/dist/hosting/validators/upgrade.d.ts.map +1 -1
  56. package/dist/hosting/validators/upgrade.js +25 -4
  57. package/dist/hosting/validators/upgrade.js.map +1 -1
  58. package/package.json +2 -2
@@ -7,6 +7,7 @@ export declare function buildAvaxComposeYaml(spec: ValidatorInstanceDto): string
7
7
  export declare function planAvaxInstall(spec: ValidatorInstanceDto): ValidatorHostPlan;
8
8
  export declare function parseAvaxHealth(body: unknown): {
9
9
  healthy: boolean;
10
+ lastError: string | null;
10
11
  };
11
12
  export declare function probeAvaxStatus(spec: ValidatorInstanceDto, fetchFn?: typeof fetch): Promise<{
12
13
  syncProgress: number | null;
@@ -1 +1 @@
1
- {"version":3,"file":"avax.d.ts","sourceRoot":"","sources":["../../../../src/hosting/validators/adapters/avax.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAKnD,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,CAE3D;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,UAAO,GAAG,IAAI,CAI9E;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,CAyBvE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,oBAAoB,GAAG,iBAAiB,CAS7E;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAKnE;AAED,wBAAsB,eAAe,CACnC,IAAI,EAAE,oBAAoB,EAC1B,OAAO,GAAE,OAAO,KAAa,GAC5B,OAAO,CAAC;IACT,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC,CAmBD;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC,CAAC;AAYF,qFAAqF;AACrF,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,oBAAoB,EAC1B,OAAO,GAAE,OAAO,KAAa,GAC5B,OAAO,CAAC,mBAAmB,CAAC,CA6B9B;AAED,wBAAsB,eAAe,CACnC,IAAI,EAAE,oBAAoB,EAC1B,OAAO,GAAE,OAAO,KAAa,GAC5B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAExB"}
1
+ {"version":3,"file":"avax.d.ts","sourceRoot":"","sources":["../../../../src/hosting/validators/adapters/avax.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAKnD,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,CAE3D;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,UAAO,GAAG,IAAI,CAI9E;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,CA0BvE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,oBAAoB,GAAG,iBAAiB,CAS7E;AAMD,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAc7F;AAED,wBAAsB,eAAe,CACnC,IAAI,EAAE,oBAAoB,EAC1B,OAAO,GAAE,OAAO,KAAa,GAC5B,OAAO,CAAC;IACT,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC,CAmBD;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC,CAAC;AAYF,qFAAqF;AACrF,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,oBAAoB,EAC1B,OAAO,GAAE,OAAO,KAAa,GAC5B,OAAO,CAAC,mBAAmB,CAAC,CA6B9B;AAED,wBAAsB,eAAe,CACnC,IAAI,EAAE,oBAAoB,EAC1B,OAAO,GAAE,OAAO,KAAa,GAC5B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAExB"}
@@ -17,7 +17,7 @@ export function ensureAvaxChainConfig(dataPath, stateSync = true) {
17
17
  }
18
18
  export function buildAvaxComposeYaml(spec) {
19
19
  const node = spec.clients.node ?? v1ValidatorClients('avax')[0];
20
- const img = `${node?.image ?? 'avaplatform/avalanchego'}:${node?.tag ?? 'v1.13.5'}`;
20
+ const img = `${node?.image ?? 'avaplatform/avalanchego'}:${node?.tag ?? 'v1.14.1'}`;
21
21
  const rpc = spec.ports.rpc ?? 9650;
22
22
  const p2p = spec.ports.p2p ?? 9651;
23
23
  const netId = spec.network === 'mainnet' ? 'mainnet' : 'fuji';
@@ -32,6 +32,7 @@ services:
32
32
  - --http-host=0.0.0.0
33
33
  - --http-port=9650
34
34
  - --staking-port=9651
35
+ - --public-ip-resolution-service=opendns
35
36
  - --db-dir=/data
36
37
  - --chain-config-dir=/data/configs/chains
37
38
  ports:
@@ -51,22 +52,35 @@ export function planAvaxInstall(spec) {
51
52
  ports: spec.ports,
52
53
  };
53
54
  }
55
+ function asRecord(v) {
56
+ return v && typeof v === 'object' && !Array.isArray(v) ? v : null;
57
+ }
54
58
  export function parseAvaxHealth(body) {
55
- if (body && typeof body === 'object' && 'healthy' in body) {
56
- return { healthy: Boolean(body.healthy) };
57
- }
58
- return { healthy: false };
59
+ const top = asRecord(body);
60
+ const result = asRecord(top?.result) ?? top;
61
+ if (!result)
62
+ return { healthy: false, lastError: 'bad health' };
63
+ const healthy = result.healthy === true;
64
+ if (healthy)
65
+ return { healthy: true, lastError: null };
66
+ const checks = asRecord(result.checks) ?? asRecord(result.reason) ?? result;
67
+ const network = asRecord(checks.network);
68
+ const boot = asRecord(checks.bootstrapped);
69
+ const err = (typeof network?.error === 'string' && network.error) ||
70
+ (typeof boot?.error === 'string' && boot.error) ||
71
+ 'unhealthy';
72
+ return { healthy: false, lastError: err.slice(0, 280) };
59
73
  }
60
74
  export async function probeAvaxStatus(spec, fetchFn = fetch) {
61
75
  const url = `http://127.0.0.1:${spec.ports.rpc ?? 9650}/ext/health`;
62
76
  try {
63
77
  const res = await fetchFn(url);
64
- const healthy = parseAvaxHealth(await readRpcJson(res)).healthy;
78
+ const health = parseAvaxHealth(await readRpcJson(res));
65
79
  return {
66
- syncProgress: healthy ? 1 : null,
80
+ syncProgress: health.healthy ? 1 : null,
67
81
  peers: null,
68
82
  version: 'avalanchego',
69
- lastError: healthy ? null : 'unhealthy',
83
+ lastError: health.lastError,
70
84
  };
71
85
  }
72
86
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"avax.js","sourceRoot":"","sources":["../../../../src/hosting/validators/adapters/avax.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"avax.js","sourceRoot":"","sources":["../../../../src/hosting/validators/adapters/avax.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@
2
2
  * Ethereum EL × CL compose fragments. JWT + localhost RPC on every combo.
3
3
  */
4
4
  import type { ValidatorInstanceDto } from 'ysk-server-shared';
5
+ /** Community checkpoint-sync endpoints (eth-clients list). First URL is used. */
6
+ export declare const ETH_CHECKPOINT_FALLBACKS: Record<string, readonly string[]>;
5
7
  export declare const ETH_CHECKPOINT: Record<string, string>;
6
8
  export declare const ETH_EL_IDS: readonly ["reth", "geth", "nethermind"];
7
9
  export declare const ETH_CL_IDS: readonly ["lighthouse", "prysm", "teku", "nimbus"];
@@ -1 +1 @@
1
- {"version":3,"file":"eth-clients.d.ts","sourceRoot":"","sources":["../../../../src/hosting/validators/adapters/eth-clients.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAG9D,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAIjD,CAAC;AAEF,eAAO,MAAM,UAAU,yCAA0C,CAAC;AAClE,eAAO,MAAM,UAAU,oDAAqD,CAAC;AAC7E,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAClD,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAElD,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,IAAI,OAAO,CAEjD;AACD,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,IAAI,OAAO,CAEjD;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAG/E;AAWD,wBAAgB,cAAc,CAAC,IAAI,EAAE,oBAAoB,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CA+F9E;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,CAK1D;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,oBAAoB,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAoH9E"}
1
+ {"version":3,"file":"eth-clients.d.ts","sourceRoot":"","sources":["../../../../src/hosting/validators/adapters/eth-clients.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAG9D,iFAAiF;AACjF,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAStE,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAIjD,CAAC;AAEF,eAAO,MAAM,UAAU,yCAA0C,CAAC;AAClE,eAAO,MAAM,UAAU,oDAAqD,CAAC;AAC7E,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAClD,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAElD,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,IAAI,OAAO,CAEjD;AACD,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,IAAI,OAAO,CAEjD;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAG/E;AAgBD,wBAAgB,cAAc,CAAC,IAAI,EAAE,oBAAoB,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAsG9E;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,CAK1D;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,oBAAoB,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CA8H9E"}
@@ -1,8 +1,19 @@
1
1
  import { composeBind } from '../compose-runner.js';
2
+ /** Community checkpoint-sync endpoints (eth-clients list). First URL is used. */
3
+ export const ETH_CHECKPOINT_FALLBACKS = {
4
+ hoodi: [
5
+ 'https://hoodi.beaconstate.ethstaker.cc/',
6
+ 'https://beaconstate-hoodi.chainsafe.io',
7
+ 'https://hoodi-checkpoint-sync.attestant.io',
8
+ 'https://hoodi.checkpoint.sigp.io',
9
+ ],
10
+ sepolia: ['https://checkpoint-sync.sepolia.ethpandaops.io'],
11
+ mainnet: ['https://beaconstate.info'],
12
+ };
2
13
  export const ETH_CHECKPOINT = {
3
- hoodi: 'https://hoodi.checkpoint.sigp.io',
4
- sepolia: 'https://checkpoint-sync.sepolia.ethpandaops.io',
5
- mainnet: 'https://beaconstate.info',
14
+ hoodi: ETH_CHECKPOINT_FALLBACKS.hoodi[0],
15
+ sepolia: ETH_CHECKPOINT_FALLBACKS.sepolia[0],
16
+ mainnet: ETH_CHECKPOINT_FALLBACKS.mainnet[0],
6
17
  };
7
18
  export const ETH_EL_IDS = ['reth', 'geth', 'nethermind'];
8
19
  export const ETH_CL_IDS = ['lighthouse', 'prysm', 'teku', 'nimbus'];
@@ -23,7 +34,11 @@ function elImage(spec) {
23
34
  }
24
35
  function clImage(spec) {
25
36
  const c = spec.clients.cl;
26
- return { id: c?.id ?? 'lighthouse', image: `${c?.image ?? 'sigp/lighthouse'}:${c?.tag ?? 'v7.1.0'}` };
37
+ return { id: c?.id ?? 'lighthouse', image: `${c?.image ?? 'sigp/lighthouse'}:${c?.tag ?? 'v8.2.2'}` };
38
+ }
39
+ function p2pTcpUdp(hostPort, containerPort) {
40
+ return ` - "0.0.0.0:${hostPort}:${containerPort}/tcp"
41
+ - "0.0.0.0:${hostPort}:${containerPort}/udp"`;
27
42
  }
28
43
  export function buildElService(spec, jwt) {
29
44
  const net = ethNetworkFlag(spec.network);
@@ -54,10 +69,11 @@ export function buildElService(spec, jwt) {
54
69
  - ${jwt}
55
70
  - --port
56
71
  - "30303"
72
+ - --nat=stun
57
73
  ${netFlag.join('\n')}
58
74
  ports:
59
75
  - "127.0.0.1:${rpc}:8545"
60
- - "0.0.0.0:${p2p}:30303"
76
+ ${p2pTcpUdp(p2p, 30303)}
61
77
  volumes:
62
78
  - ${composeBind(`${spec.dataPath}/${id}`, '/data/geth')}
63
79
  - ${jwtVol}`;
@@ -83,9 +99,13 @@ ${netFlag.join('\n')}
83
99
  - "8551"
84
100
  - --JsonRpc.JwtSecretFile
85
101
  - ${jwt}
102
+ - --Network.DiscoveryPort
103
+ - "30303"
104
+ - --Network.P2PPort
105
+ - "30303"
86
106
  ports:
87
107
  - "127.0.0.1:${rpc}:8545"
88
- - "0.0.0.0:${p2p}:30303"
108
+ ${p2pTcpUdp(p2p, 30303)}
89
109
  volumes:
90
110
  - ${composeBind(`${spec.dataPath}/${id}`, '/data/nethermind')}
91
111
  - ${jwtVol}`;
@@ -114,9 +134,11 @@ ${netFlag.join('\n')}
114
134
  - ${jwt}
115
135
  - --port
116
136
  - "30303"
137
+ - --nat
138
+ - publicip
117
139
  ports:
118
140
  - "127.0.0.1:${rpc}:8545"
119
- - "0.0.0.0:${p2p}:30303"
141
+ ${p2pTcpUdp(p2p, 30303)}
120
142
  volumes:
121
143
  - ${composeBind(`${spec.dataPath}/${id}`, '/data/reth')}
122
144
  - ${jwtVol}`;
@@ -157,9 +179,11 @@ export function buildClService(spec, jwt) {
157
179
  - "3500"
158
180
  - --p2p-tcp-port
159
181
  - "9000"
182
+ - --p2p-udp-port
183
+ - "9000"
160
184
  ports:
161
185
  - "127.0.0.1:${beacon}:3500"
162
- - "0.0.0.0:${p2pCl}:9000"
186
+ ${p2pTcpUdp(p2pCl, 9000)}
163
187
  volumes:
164
188
  - ${composeBind(`${spec.dataPath}/${id}`, '/data/prysm')}
165
189
  - ${jwtVol}`;
@@ -180,9 +204,10 @@ export function buildClService(spec, jwt) {
180
204
  - --rest-api-interface=0.0.0.0
181
205
  - --rest-api-port=5051
182
206
  - --p2p-port=9000
207
+ - --p2p-advertised-port=9000
183
208
  ports:
184
209
  - "127.0.0.1:${beacon}:5051"
185
- - "0.0.0.0:${p2pCl}:9000"
210
+ ${p2pTcpUdp(p2pCl, 9000)}
186
211
  volumes:
187
212
  - ${composeBind(`${spec.dataPath}/${id}`, '/data/teku')}
188
213
  - ${jwtVol}`;
@@ -203,10 +228,11 @@ export function buildClService(spec, jwt) {
203
228
  - --rest-address=0.0.0.0
204
229
  - --rest-port=5052
205
230
  - --tcp-port=9000
231
+ - --udp-port=9000
206
232
  - --non-interactive
207
233
  ports:
208
234
  - "127.0.0.1:${beacon}:5052"
209
- - "0.0.0.0:${p2pCl}:9000"
235
+ ${p2pTcpUdp(p2pCl, 9000)}
210
236
  volumes:
211
237
  - ${composeBind(`${spec.dataPath}/${id}`, '/data/nimbus')}
212
238
  - ${jwtVol}`;
@@ -236,10 +262,16 @@ export function buildClService(spec, jwt) {
236
262
  - "5052"
237
263
  - --port
238
264
  - "9000"
265
+ - --discovery-port
266
+ - "9000"
267
+ - --enr-udp-port
268
+ - "9000"
269
+ - --enr-tcp-port
270
+ - "9000"
239
271
  - --disable-deposit-contract-sync
240
272
  ports:
241
273
  - "127.0.0.1:${beacon}:5052"
242
- - "0.0.0.0:${p2pCl}:9000"
274
+ ${p2pTcpUdp(p2pCl, 9000)}
243
275
  volumes:
244
276
  - ${composeBind(`${spec.dataPath}/${id}`, '/data/lighthouse')}
245
277
  - ${jwtVol}`;
@@ -1 +1 @@
1
- {"version":3,"file":"eth-clients.js","sourceRoot":"","sources":["../../../../src/hosting/validators/adapters/eth-clients.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eth-clients.js","sourceRoot":"","sources":["../../../../src/hosting/validators/adapters/eth-clients.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"eth.d.ts","sourceRoot":"","sources":["../../../../src/hosting/validators/adapters/eth.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAKtF,wBAAgB,UAAU,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,CAE7D;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAa5F;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAM9D;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,CAStE;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,oBAAoB,GAAG,iBAAiB,CAgB5E;AAED,eAAO,MAAM,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,aAAa,CAAC,GAAG;IAClE,MAAM,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,CAAC;CAO5C,CAAC;AAEF,wBAAsB,cAAc,CAClC,IAAI,EAAE,oBAAoB,EAC1B,OAAO,GAAE,OAAO,KAAa,GAC5B,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,cAAc,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,CAAC,CAAC,CAqCxF"}
1
+ {"version":3,"file":"eth.d.ts","sourceRoot":"","sources":["../../../../src/hosting/validators/adapters/eth.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAKtF,wBAAgB,UAAU,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,CAE7D;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAa5F;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAM9D;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,CAYtE;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,oBAAoB,GAAG,iBAAiB,CAgB5E;AAED,eAAO,MAAM,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,aAAa,CAAC,GAAG;IAClE,MAAM,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,CAAC;CAO5C,CAAC;AAEF,wBAAsB,cAAc,CAClC,IAAI,EAAE,oBAAoB,EAC1B,OAAO,GAAE,OAAO,KAAa,GAC5B,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,cAAc,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,CAAC,CAAC,CAqCxF"}
@@ -1,5 +1,5 @@
1
1
  import { v1ValidatorClients } from '../registry.js';
2
- import { buildClService, buildElService, jwtHost } from './eth-clients.js';
2
+ import { buildClService, buildElService, ETH_CHECKPOINT_FALLBACKS, jwtHost } from './eth-clients.js';
3
3
  import { readRpcJson } from '../rpc-json.js';
4
4
  export function ethJwtPath(spec) {
5
5
  return jwtHost(spec);
@@ -29,8 +29,11 @@ export function parseEthPeerCount(body) {
29
29
  }
30
30
  export function buildEthComposeYaml(spec) {
31
31
  const jwt = '/jwt/jwt.hex';
32
+ const net = spec.network === 'mainnet' || spec.network === 'sepolia' ? spec.network : 'hoodi';
33
+ const fallbacks = ETH_CHECKPOINT_FALLBACKS[net] ?? [];
32
34
  return `# ysk-server validators eth — generated
33
35
  # EL=${spec.clients.el?.id ?? 'reth'} CL=${spec.clients.cl?.id ?? 'lighthouse'}
36
+ # checkpoint fallbacks: ${fallbacks.slice(1).join(' ')}
34
37
  # RPC localhost only. No staking keys.
35
38
  services:
36
39
  ${buildElService(spec, jwt)}
@@ -88,7 +91,7 @@ export async function probeEthStatus(spec, fetchFn = fetch) {
88
91
  syncProgress: sync.syncing ? sync.progress : 1,
89
92
  peers,
90
93
  version: typeof verBody.result === 'string' ? verBody.result : null,
91
- lastError: null,
94
+ lastError: peers === 0 ? '0 peers' : null,
92
95
  };
93
96
  }
94
97
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"eth.js","sourceRoot":"","sources":["../../../../src/hosting/validators/adapters/eth.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,UAAU,UAAU,CAAC,IAA0B;IACnD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAa;IAC3C,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACzD,MAAM,CAAC,GAAI,IAA4B,CAAC,MAAM,CAAC;QAC/C,IAAI,CAAC,KAAK,KAAK;YAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QACxD,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,CAAqD,CAAC;YAChE,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/D,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9D,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC;YAC9F,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC3C,CAAC;IACH,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAa;IAC7C,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACzD,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAE,IAA4B,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5E,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAA0B;IAC5D,MAAM,GAAG,GAAG,cAAc,CAAC;IAC3B,OAAO;OACF,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,MAAM,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,YAAY;;;EAG5E,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC;EACzB,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC;CAC1B,CAAC;AACF,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAA0B;IACvD,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO;QACL,KAAK,EAAE;YACL,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,YAAY,EAAE;YAC7E,oBAAoB;YACpB,iBAAiB;SAClB;QACD,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;QACjD,MAAM,EAAE,SAAS,EAAE,yBAAyB;QAC5C,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC;QACzB,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAEnB;IACF,EAAE,EAAE,KAAK;IACT,WAAW,EAAE,cAAc;IAC3B,MAAM,CAAC,IAAI;QACT,OAAO,oBAAoB,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;IACtD,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAA0B,EAC1B,UAAwB,KAAK;IAE7B,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACnD,OAAO,CAAC,GAAG,EAAE;gBACX,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;aACnF,CAAC;YACF,OAAO,CAAC,GAAG,EAAE;gBACX,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;aACrF,CAAC;YACF,OAAO,CAAC,GAAG,EAAE;gBACX,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;aAC1F,CAAC;SACH,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,CAAC,MAAM,WAAW,CAAC,MAAM,CAAC,CAAwB,CAAC;QACnE,OAAO;YACL,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC9C,KAAK;YACL,OAAO,EAAE,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;YACnE,SAAS,EAAE,IAAI;SAChB,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO;YACL,YAAY,EAAE,IAAI;YAClB,KAAK,EAAE,IAAI;YACX,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB;SAC9D,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"eth.js","sourceRoot":"","sources":["../../../../src/hosting/validators/adapters/eth.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"near.d.ts","sourceRoot":"","sources":["../../../../src/hosting/validators/adapters/near.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAKxE,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,CA4BvE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,oBAAoB,GAAG,iBAAiB,CAS7E;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG;IAC9C,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,CAqBA;AAED,wBAAsB,eAAe,CACnC,IAAI,EAAE,oBAAoB,EAC1B,OAAO,GAAE,OAAO,KAAa,GAC5B,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,cAAc,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,CAAC,CAAC,CAcxF"}
1
+ {"version":3,"file":"near.d.ts","sourceRoot":"","sources":["../../../../src/hosting/validators/adapters/near.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAMxE,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,CAoCvE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,oBAAoB,GAAG,iBAAiB,CAS7E;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG;IAC9C,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,CAqBA;AAED,wBAAsB,eAAe,CACnC,IAAI,EAAE,oBAAoB,EAC1B,OAAO,GAAE,OAAO,KAAa,GAC5B,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,cAAc,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,CAAC,CAAC,CAcxF"}
@@ -1,6 +1,7 @@
1
1
  import { v1ValidatorClients } from '../registry.js';
2
2
  import { composeBind } from '../compose-runner.js';
3
3
  import { readRpcJson } from '../rpc-json.js';
4
+ import { RESOLVE_PUBLIC_IP_SH } from './p2p-public-ip.js';
4
5
  export function buildNearComposeYaml(spec) {
5
6
  const node = spec.clients.node ?? v1ValidatorClients('near')[0];
6
7
  const img = `${node?.image ?? 'nearprotocol/nearcore'}:${node?.tag ?? '2.5.0'}`;
@@ -12,8 +13,8 @@ services:
12
13
  node:
13
14
  image: ${img}
14
15
  restart: unless-stopped
15
- mem_limit: 8g
16
- memswap_limit: 8g
16
+ mem_limit: 12g
17
+ memswap_limit: 12g
17
18
  pids_limit: 4096
18
19
  entrypoint: ["/bin/sh", "-c"]
19
20
  command:
@@ -22,6 +23,14 @@ services:
22
23
  if [ ! -f /data/config.json ]; then
23
24
  neard --home /data init --chain-id ${chainId} --download-genesis --download-config
24
25
  fi
26
+ ${RESOLVE_PUBLIC_IP_SH.split('\n').join('\n ')}
27
+ if [ -n "$PUB" ] && [ -f /data/config.json ]; then
28
+ if grep -q '"public_addr"' /data/config.json; then
29
+ sed -i "s/\\"public_addr\\": \\"[^\\"]*\\"/\\"public_addr\\": \\"$PUB:24567\\"/" /data/config.json || true
30
+ else
31
+ sed -i "s/\\"addr\\": \\"0.0.0.0:24567\\"/\\"addr\\": \\"0.0.0.0:24567\\",\\n \\"public_addr\\": \\"$PUB:24567\\"/" /data/config.json || true
32
+ fi
33
+ fi
25
34
  neard --home /data run
26
35
  ports:
27
36
  - "127.0.0.1:${rpc}:3030"
@@ -1 +1 @@
1
- {"version":3,"file":"near.js","sourceRoot":"","sources":["../../../../src/hosting/validators/adapters/near.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"near.js","sourceRoot":"","sources":["../../../../src/hosting/validators/adapters/near.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Resolve host public IPv4 at container start. Fail-open: empty PUB is OK.
3
+ * Only ifconfig.me / ident.me — no custom STUN service.
4
+ */
5
+ export declare const RESOLVE_PUBLIC_IP_SH = "PUB=\"\"\nPUB=$(wget -qO- --timeout=5 https://ifconfig.me 2>/dev/null || true)\nif [ -z \"$PUB\" ]; then PUB=$(curl -fsS --max-time 5 https://ifconfig.me 2>/dev/null || true); fi\nif [ -z \"$PUB\" ]; then PUB=$(wget -qO- --timeout=5 https://ident.me 2>/dev/null || true); fi\nif [ -z \"$PUB\" ]; then PUB=$(curl -fsS --max-time 5 https://ident.me 2>/dev/null || true); fi\n";
6
+ //# sourceMappingURL=p2p-public-ip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"p2p-public-ip.d.ts","sourceRoot":"","sources":["../../../../src/hosting/validators/adapters/p2p-public-ip.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,oBAAoB,0XAKhC,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Resolve host public IPv4 at container start. Fail-open: empty PUB is OK.
3
+ * Only ifconfig.me / ident.me — no custom STUN service.
4
+ */
5
+ export const RESOLVE_PUBLIC_IP_SH = `PUB=""
6
+ PUB=$(wget -qO- --timeout=5 https://ifconfig.me 2>/dev/null || true)
7
+ if [ -z "$PUB" ]; then PUB=$(curl -fsS --max-time 5 https://ifconfig.me 2>/dev/null || true); fi
8
+ if [ -z "$PUB" ]; then PUB=$(wget -qO- --timeout=5 https://ident.me 2>/dev/null || true); fi
9
+ if [ -z "$PUB" ]; then PUB=$(curl -fsS --max-time 5 https://ident.me 2>/dev/null || true); fi
10
+ `;
11
+ //# sourceMappingURL=p2p-public-ip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"p2p-public-ip.js","sourceRoot":"","sources":["../../../../src/hosting/validators/adapters/p2p-public-ip.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;CAKnC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"phase2.d.ts","sourceRoot":"","sources":["../../../../src/hosting/validators/adapters/phase2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"phase2.d.ts","sourceRoot":"","sources":["../../../../src/hosting/validators/adapters/phase2.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ import { join } from 'node:path';
7
7
  import { SUI_NODE_IMAGE, suiNodeTag, v1ValidatorClients } from '../registry.js';
8
8
  import { composeBind } from '../compose-runner.js';
9
9
  import { readRpcJson } from '../rpc-json.js';
10
+ import { RESOLVE_PUBLIC_IP_SH } from './p2p-public-ip.js';
10
11
  function img(spec, fallback, tag) {
11
12
  const n = spec.clients.node ?? v1ValidatorClients(spec.chain)[0];
12
13
  return `${n?.image ?? fallback}:${n?.tag ?? tag}`;
@@ -181,13 +182,31 @@ services:
181
182
  . /data/statesync.env
182
183
  set +a
183
184
  if [ -n "$TRUST_HEIGHT" ] && [ -n "$TRUST_HASH" ] && [ -n "$RPC_SERVERS" ]; then
184
- sed -i -e '/enable =/ s/= .*/= true/' /data/config/config.toml || true
185
- sed -i -e '/trust_period =/ s/= .*/= "8h0m0s"/' /data/config/config.toml || true
186
- sed -i -e "/trust_height =/ s/= .*/= $TRUST_HEIGHT/" /data/config/config.toml || true
187
- sed -i -e "/trust_hash =/ s/= .*/= \\"$TRUST_HASH\\"/" /data/config/config.toml || true
188
- sed -i -e "/rpc_servers =/ s^= .*^= \\"$RPC_SERVERS\\"^" /data/config/config.toml || true
185
+ gaiad config set config statesync.enable true --home /data 2>/dev/null || true
186
+ gaiad config set config statesync.trust_height "$TRUST_HEIGHT" --home /data 2>/dev/null || true
187
+ gaiad config set config statesync.trust_hash "$TRUST_HASH" --home /data 2>/dev/null || true
188
+ gaiad config set config statesync.trust_period "8h0m0s" --home /data 2>/dev/null || true
189
+ gaiad config set config statesync.rpc_servers "$RPC_SERVERS" --home /data 2>/dev/null || true
190
+ sed -i -e '/^\\[statesync\\]/,/^\\[/{
191
+ s/^enable = .*/enable = true/
192
+ s/^trust_period = .*/trust_period = "8h0m0s"/
193
+ s/^trust_height = .*/trust_height = '"$TRUST_HEIGHT"'/
194
+ s/^trust_hash = .*/trust_hash = "'"$TRUST_HASH"'"/
195
+ s/^rpc_servers = .*/rpc_servers = "'"$RPC_SERVERS"'"/
196
+ }' /data/config/config.toml || true
189
197
  fi
190
198
  fi
199
+ if [ "${chainId}" = "provider" ]; then
200
+ if ! awk '/^\\[statesync\\]/{p=1;next} /^\\[/{p=0} p && /^enable = true/{ok=1} END{exit ok?0:1}' /data/config/config.toml; then
201
+ echo "cosmos state-sync not enabled in [statesync]; refusing InitChain" >&2
202
+ exit 1
203
+ fi
204
+ fi
205
+ ${RESOLVE_PUBLIC_IP_SH.split('\n').join('\n ')}
206
+ if [ -n "$PUB" ]; then
207
+ gaiad config set config p2p.external_address "tcp://$PUB:26656" --home /data 2>/dev/null || true
208
+ sed -i -e '/^\\[p2p\\]/,/^\\[/{s|^external_address = .*|external_address = "tcp://'"$PUB"':26656"|}' /data/config/config.toml || true
209
+ fi
191
210
  gaiad start --home /data --rpc.laddr tcp://0.0.0.0:26657 --p2p.laddr tcp://0.0.0.0:26656 --p2p.seeds="${seeds}" --minimum-gas-prices=0.005uatom
192
211
  ports:
193
212
  - "127.0.0.1:${rpc}:26657"
@@ -216,8 +235,41 @@ export function suiGenesisUrl(network) {
216
235
  const net = network === 'mainnet' ? 'mainnet' : 'testnet';
217
236
  return `https://github.com/MystenLabs/sui-genesis/raw/main/${net}/genesis.blob`;
218
237
  }
238
+ const SUI_TESTNET_SEEDS = `
239
+ p2p-config:
240
+ listen-address: "0.0.0.0:8084"
241
+ seed-peers:
242
+ - address: /dns/yto-tnt-ssfn-01.testnet.sui.io/udp/8084
243
+ peer-id: 2ed53564d5581ded9b6773970ac2f1c84d39f9edf01308ff5a1ffe09b1add7b3
244
+ - address: /dns/yto-tnt-ssfn-00.testnet.sui.io/udp/8084
245
+ peer-id: 6563732e5ab33b4ae09c73a98fd37499b71b8f03c27b5cc51acc26934974aff2
246
+ - address: /dns/nrt-tnt-ssfn-00.testnet.sui.io/udp/8084
247
+ peer-id: 23a1f7cd901b6277cbedaa986b3fc183f171d800cabba863d48f698f518967e1
248
+ - address: /dns/ewr-tnt-ssfn-00.testnet.sui.io/udp/8084
249
+ peer-id: df8a8d128051c249e224f95fcc463f518a0ebed8986bbdcc11ed751181fecd38
250
+ - address: /dns/lax-tnt-ssfn-00.testnet.sui.io/udp/8084
251
+ peer-id: f9a72a0a6c17eed09c27898eab389add704777c03e135846da2428f516a0c11d
252
+ - address: /dns/lhr-tnt-ssfn-00.testnet.sui.io/udp/8084
253
+ peer-id: 9393d6056bb9c9d8475a3cf3525c747257f17c6a698a7062cbbd1875bc6ef71e
254
+ - address: /dns/mel-tnt-ssfn-00.testnet.sui.io/udp/8084
255
+ peer-id: c88742f46e66a11cb8c84aca488065661401ef66f726cb9afeb8a5786d83456e
256
+ `;
257
+ const SUI_MAINNET_SEEDS = `
258
+ p2p-config:
259
+ listen-address: "0.0.0.0:8084"
260
+ seed-peers:
261
+ - address: /dns/mel-00.mainnet.sui.io/udp/8084
262
+ peer-id: d32b55bdf1737ec415df8c88b3bf91e194b59ee3127e3f38ea46fd88ba2e7849
263
+ - address: /dns/ewr-00.mainnet.sui.io/udp/8084
264
+ peer-id: c7bf6cb93ca8fdda655c47ebb85ace28e6931464564332bf63e27e90199c50ee
265
+ - address: /dns/ewr-01.mainnet.sui.io/udp/8084
266
+ peer-id: 3227f8a05f0faa1a197c075d31135a366a1c6f3d4872cb8af66c14dea3e0eb66
267
+ - address: /dns/lhr-00.mainnet.sui.io/udp/8084
268
+ peer-id: c619a5e0f8f36eac45118c1f8bda28f0f508e2839042781f1d4a9818043f732c
269
+ `;
219
270
  export function suiFullnodeYaml(network) {
220
271
  const net = network === 'mainnet' ? 'mainnet' : 'testnet';
272
+ const p2p = net === 'mainnet' ? SUI_MAINNET_SEEDS : SUI_TESTNET_SEEDS;
221
273
  return `# ysk-server generated Sui ${net} fullnode
222
274
  db-path: /data/suidb
223
275
  network-address: /ip4/0.0.0.0/tcp/8080/http
@@ -226,7 +278,7 @@ json-rpc-address: 0.0.0.0:9000
226
278
  enable-index-processing: false
227
279
  genesis:
228
280
  genesis-file-location: /data/genesis.blob
229
- `;
281
+ ${p2p}`;
230
282
  }
231
283
  export async function ensureSuiFullnodeFiles(dataPath, network, fetchFn = fetch) {
232
284
  const dir = String(dataPath ?? '').replace(/\/+$/, '');
@@ -252,6 +304,7 @@ export async function ensureSuiFullnodeFiles(dataPath, network, fetchFn = fetch)
252
304
  }
253
305
  export function buildSuiComposeYaml(spec) {
254
306
  const rpc = spec.ports.rpc ?? 9002;
307
+ const p2p = spec.ports.p2p ?? 8084;
255
308
  const net = spec.network === 'mainnet' ? 'mainnet' : 'testnet';
256
309
  const tag = suiNodeTag(spec.network);
257
310
  const image = spec.clients.node?.image || SUI_NODE_IMAGE;
@@ -268,6 +321,7 @@ services:
268
321
  SUI_NETWORK: ${net}
269
322
  ports:
270
323
  - "127.0.0.1:${rpc}:9000"
324
+ - "0.0.0.0:${p2p}:8084/udp"
271
325
  volumes:
272
326
  - ${composeBind(spec.dataPath, '/data')}
273
327
  `;
@@ -291,7 +345,8 @@ base:
291
345
  execution:
292
346
  genesis_file_location: "/data/genesis.blob"
293
347
  full_node_networks:
294
- - discovery_method: "onchain"
348
+ - network_id: "public"
349
+ discovery_method: "onchain"
295
350
  listen_address: "/ip4/0.0.0.0/tcp/6180"
296
351
  api:
297
352
  enabled: true
@@ -406,6 +461,8 @@ export function parseDotSync(body) {
406
461
  }
407
462
  export function buildSolComposeYaml(spec) {
408
463
  const rpc = spec.ports.rpc ?? 8899;
464
+ const gossip = spec.ports.p2p ?? 8000;
465
+ const gossipEnd = gossip + 20;
409
466
  const net = spec.network === 'mainnet' ? 'mainnet-beta' : 'testnet';
410
467
  return `# ysk-server validators sol — HEAVY (needs high IOPS / large disk)
411
468
  services:
@@ -422,12 +479,12 @@ services:
422
479
  - 8000-8020
423
480
  - --entrypoint
424
481
  - entrypoint.${net}.solana.com:8001
425
- - --expected-genesis-hash
426
- - auto
427
482
  - --no-voting
428
483
  - --limit-ledger-size
429
484
  ports:
430
485
  - "127.0.0.1:${rpc}:8899"
486
+ - "0.0.0.0:${gossip}-${gossipEnd}:8000-8020/tcp"
487
+ - "0.0.0.0:${gossip}-${gossipEnd}:8000-8020/udp"
431
488
  volumes:
432
489
  - ${composeBind(spec.dataPath, '/data')}
433
490
  `;