ccip-router 0.5.5 → 0.5.6
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/README.md +54 -0
- package/dist/db/sqlite.d.ts +1 -0
- package/dist/db/sqlite.d.ts.map +1 -1
- package/dist/db/sqlite.js +7 -0
- package/dist/db/sqlite.js.map +1 -1
- package/dist/db/types.d.ts +1 -0
- package/dist/db/types.d.ts.map +1 -1
- package/dist/mesh/sync.d.ts +1 -1
- package/dist/mesh/sync.d.ts.map +1 -1
- package/dist/mesh/sync.js +48 -26
- package/dist/mesh/sync.js.map +1 -1
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -141,6 +141,39 @@ All ccip-router contracts are permissionless — no owner, no admin. One deploym
|
|
|
141
141
|
|
|
142
142
|
Deployed by [`0xFf9a176577Fb42b6bc9c19fd05a241e8fCd0ca14`](https://sepolia.etherscan.io/address/0xFf9a176577Fb42b6bc9c19fd05a241e8fCd0ca14) · Solc 0.8.24 · optimizer 200 runs.
|
|
143
143
|
|
|
144
|
+
### Mainnet contracts
|
|
145
|
+
|
|
146
|
+
| Contract | Mainnet address |
|
|
147
|
+
|---|---|
|
|
148
|
+
| `NodeRegistry` | [`0x95a1e10D1508EF5CD11e3F4d296359c93f15e48D`](https://etherscan.io/address/0x95a1e10D1508EF5CD11e3F4d296359c93f15e48D) |
|
|
149
|
+
| `AttestationIndex` | [`0xc7BCCD785Fb994e570d0ca10D0F7899d87C82210`](https://etherscan.io/address/0xc7BCCD785Fb994e570d0ca10D0F7899d87C82210) |
|
|
150
|
+
|
|
151
|
+
Gateway nodes register their URL by signing `keccak256("ccip-router:node:" + url)` with their gateway key. The relayer (`msg.sender`) can differ from the signing key — no ETH required in the hot key. Two dinamic.eth mesh nodes are registered: NAS (`0x58766f90...`) and Railway (`0x2048eADf...`).
|
|
152
|
+
|
|
153
|
+
Set `NODE_REGISTRY=0x95a1e10D1508EF5CD11e3F4d296359c93f15e48D` on any mainnet node to enable on-chain registration via `POST /admin/api/register`.
|
|
154
|
+
|
|
155
|
+
**ERC-8004 identity via NodeRegistry:** Set `AGENT_ID` to your node's signer address padded to bytes32, `REGISTRY_ADDRESS` to the NodeRegistry address, and `MODEL_HASH` to `keccak256("ccip-router:<name>:<nodeUrl>")`. This gives each gateway node its own verifiable infrastructure identity — distinct from user-level ERC-8004 agent tokens.
|
|
156
|
+
|
|
157
|
+
```env
|
|
158
|
+
# NAS node example
|
|
159
|
+
NODE_REGISTRY=0x95a1e10D1508EF5CD11e3F4d296359c93f15e48D
|
|
160
|
+
AGENT_ID=0x00000000000000000000000058766f90ede2419feafd97c28bb0f0ddf951dc54
|
|
161
|
+
REGISTRY_ADDRESS=0x95a1e10D1508EF5CD11e3F4d296359c93f15e48D
|
|
162
|
+
MODEL_HASH=0x80d4afd92fa6918f6e3bf706d19b2680301e5015cf5c46ecf7f6b178cfd660fc
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
### OffchainResolver v2 — Mainnet
|
|
166
|
+
|
|
167
|
+
EIP-3668 wildcard resolver with multi-signer support. Replaces the single `signerAddress` pattern with `mapping(address => bool) authorizedSigners` so any node in the mesh can sign a valid CCIP-Read response.
|
|
168
|
+
|
|
169
|
+
| Contract | Mainnet address |
|
|
170
|
+
|---|---|
|
|
171
|
+
| `OffchainResolver` v2 | [`0xB300e09e6C4f901409B809e7924CF68A2A429014`](https://etherscan.io/address/0xB300e09e6C4f901409B809e7924CF68A2A429014) |
|
|
172
|
+
|
|
173
|
+
`dinamic.eth` is pointed at this contract. Three signers are authorized — one per active gateway node. If any node is down the ENS client falls back to the next URL automatically.
|
|
174
|
+
|
|
175
|
+
Source: [`contracts/OffchainResolver.sol`](contracts/OffchainResolver.sol)
|
|
176
|
+
|
|
144
177
|
**To use on Sepolia:** open the admin panel → Deploy contracts → select Sepolia → "Use these addresses →". Addresses are saved to config automatically, no deployment needed.
|
|
145
178
|
|
|
146
179
|
**To deploy to another chain:** open the admin panel → Deploy contracts → select the chain → connect wallet → three transactions (one per contract). No private key is stored — MetaMask signs everything in-browser.
|
|
@@ -257,6 +290,22 @@ Both modes use the same Docker image and npm package. The difference is configur
|
|
|
257
290
|
|
|
258
291
|
---
|
|
259
292
|
|
|
293
|
+
## Live network (dinamic.eth)
|
|
294
|
+
|
|
295
|
+
Three production nodes running ccip-router `v0.5.5`, serving `dinamic.eth` via [`OffchainResolver v2`](https://etherscan.io/address/0xB300e09e6C4f901409B809e7924CF68A2A429014):
|
|
296
|
+
|
|
297
|
+
| Node | URL | Signer | Tiers |
|
|
298
|
+
|---|---|---|---|
|
|
299
|
+
| ENS Boiler (primary) | `https://gateway.ensub.org/lookup/{sender}/{data}` | `0x85Fa1351…` | signed, wyriwe, ocp |
|
|
300
|
+
| NAS node | `https://gateway.gen-plasma.com/{sender}/{data}` | `0x58766f90…` | signed, erc8004, wyriwe, ocp, vni |
|
|
301
|
+
| Railway node | `https://ccip-router-production.up.railway.app/{sender}/{data}` | `0x2048eADf…` | signed, vni |
|
|
302
|
+
|
|
303
|
+
All three signers are authorized on the mainnet resolver. ENS clients try URLs in order — any live node produces a verifiable response.
|
|
304
|
+
|
|
305
|
+
NAS and Railway nodes are registered in the mainnet [`NodeRegistry`](https://etherscan.io/address/0x95a1e10D1508EF5CD11e3F4d296359c93f15e48D). The NAS node's ERC-8004 identity uses its signer address as `agentId` in the NodeRegistry — infrastructure identity, not a user-level NFT agent.
|
|
306
|
+
|
|
307
|
+
---
|
|
308
|
+
|
|
260
309
|
## Quick start (setup wizard)
|
|
261
310
|
|
|
262
311
|
```bash
|
|
@@ -307,6 +356,7 @@ npm run dev
|
|
|
307
356
|
| `CDN_API_KEY` | No | — | API key / JWT for the configured CDN provider. |
|
|
308
357
|
| `NETWORK_KEY` | No | — | Ethereum address. Messages signed by this key are marked as official network announcements. |
|
|
309
358
|
| `DISABLE_ADMIN` | No | `false` | Set `true` to skip mounting `/admin` and `/static` entirely. Recommended for public PaaS nodes. |
|
|
359
|
+
| `RESOLVER_ADDRESS` | No | — | Deployed `OffchainResolver` contract (informational — shown in spec audit). |
|
|
310
360
|
|
|
311
361
|
\* Can also come from `config.json` written by the setup wizard.
|
|
312
362
|
|
|
@@ -615,6 +665,10 @@ Protocol version `1` is the current stable spec. Nodes on a different version ar
|
|
|
615
665
|
- [x] ENS records panel — live table, add/delete addr / text / addr_coin / contenthash records, changes take effect immediately
|
|
616
666
|
- [x] Admin wallet panel in dashboard — current address, two-step transfer UI
|
|
617
667
|
- [x] `withEns()` — ENS wildcard resolver wrapper; DNS wire-format decode, selector dispatch (addr / addr_coin / text / contenthash), null → zero-value fallbacks, `isEnsCalldata()` guard
|
|
668
|
+
- [x] `OffchainResolver.sol` v2 — multi-signer via `mapping(address => bool) authorizedSigners`; `addSigner` / `removeSigner`; deployed to mainnet (`0xB300e09e6C4f901409B809e7924CF68A2A429014`); dinamic.eth updated
|
|
669
|
+
- [x] Live 3-node mesh — ENS Boiler + NAS ccip-router + Railway ccip-router all authorized signers; any node can serve a verifiable CCIP-Read response
|
|
670
|
+
- [x] ENS Boiler dual-write sync — every admin record upsert also pushes to ccip-router via `ccipRouterSync.ts`
|
|
671
|
+
- [x] `RESOLVER_ADDRESS` config field — shown in spec audit panel
|
|
618
672
|
|
|
619
673
|
---
|
|
620
674
|
|
package/dist/db/sqlite.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ export declare class SQLiteDB implements DB {
|
|
|
11
11
|
upsertPeer(peer: PeerState): Promise<void>;
|
|
12
12
|
getPeers(): Promise<PeerState[]>;
|
|
13
13
|
recordCount(namespace: string): Promise<number>;
|
|
14
|
+
ensNameCount(): Promise<number>;
|
|
14
15
|
getRecentRecords(namespace: string, limit: number): Promise<MeshRecord[]>;
|
|
15
16
|
getContributions(namespace: string): Promise<Contribution[]>;
|
|
16
17
|
removePeer(url: string): Promise<void>;
|
package/dist/db/sqlite.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/db/sqlite.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAe,MAAM,YAAY,CAAA;AA6B3G,qBAAa,QAAS,YAAW,EAAE;IACjC,OAAO,CAAC,EAAE,CAAmB;IAE7B,OAAO,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/db/sqlite.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAe,MAAM,YAAY,CAAA;AA6B3G,qBAAa,QAAS,YAAW,EAAE;IACjC,OAAO,CAAC,EAAE,CAAmB;IAE7B,OAAO,CAAC,KAAK,CAyBZ;gBAEW,IAAI,EAAE,MAAM;IA+IxB,OAAO,CAAC,aAAa;IAgBf,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB/C,eAAe,CACnB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,UAAU,EAAE,CAAC;IAkBlB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAO5E,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAK/D,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAU1C,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAKhC,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK/C,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAK/B,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAKzE,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAK5D,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAItC,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAWlE,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9F,kBAAkB,CACtB,IAAI,EAAM,MAAM,EAChB,IAAI,EAAM,MAAM,EAChB,QAAQ,GAAE,MAAY,EACtB,OAAO,GAAG,MAAY,GACrB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAKnB,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAOrD,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,GAAG,YAAY,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAcvE,WAAW,CAAC,KAAK,SAAK,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAK3C,gBAAgB,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ/C,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAK3C,KAAK,IAAI,IAAI;CAGd"}
|
package/dist/db/sqlite.js
CHANGED
|
@@ -58,6 +58,9 @@ export class SQLiteDB {
|
|
|
58
58
|
getPeers: this.db.prepare(`SELECT * FROM peers`),
|
|
59
59
|
count: this.db.prepare(`
|
|
60
60
|
SELECT COUNT(*) as n FROM records WHERE namespace = ?
|
|
61
|
+
`),
|
|
62
|
+
ensNameCount: this.db.prepare(`
|
|
63
|
+
SELECT COUNT(DISTINCT name) as n FROM ens_records
|
|
61
64
|
`),
|
|
62
65
|
recent: this.db.prepare(`
|
|
63
66
|
SELECT * FROM records
|
|
@@ -195,6 +198,10 @@ export class SQLiteDB {
|
|
|
195
198
|
const row = this.stmts.count.get(namespace);
|
|
196
199
|
return row.n;
|
|
197
200
|
}
|
|
201
|
+
async ensNameCount() {
|
|
202
|
+
const row = this.stmts.ensNameCount.get();
|
|
203
|
+
return row.n;
|
|
204
|
+
}
|
|
198
205
|
async getRecentRecords(namespace, limit) {
|
|
199
206
|
const rows = this.stmts.recent.all(namespace, limit);
|
|
200
207
|
return rows.map(toMeshRecord);
|
package/dist/db/sqlite.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/db/sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AA8BhD,MAAM,OAAO,QAAQ;IACX,EAAE,CAAmB;IAErB,KAAK,
|
|
1
|
+
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/db/sqlite.ts"],"names":[],"mappings":"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"}
|
package/dist/db/types.d.ts
CHANGED
|
@@ -51,6 +51,7 @@ export interface DB {
|
|
|
51
51
|
removePeer(url: string): Promise<void>;
|
|
52
52
|
getPeers(): Promise<PeerState[]>;
|
|
53
53
|
recordCount(namespace: string): Promise<number>;
|
|
54
|
+
ensNameCount(): Promise<number>;
|
|
54
55
|
insertMessage(msg: Omit<Message, 'id' | 'receivedAt'>): Promise<number>;
|
|
55
56
|
getMessages(limit?: number): Promise<Message[]>;
|
|
56
57
|
markMessagesRead(ids?: number[]): Promise<void>;
|
package/dist/db/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/db/types.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,UAAU,GAAG;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,KAAK,EAAO,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,gBAAgB,GAAG,aAAa,GAAG,sBAAsB,CAAA;AAEnF,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,EAAW,MAAM,CAAA;IACnB,OAAO,EAAM,MAAM,CAAA;IACnB,UAAU,EAAG,MAAM,CAAA;IACnB,IAAI,EAAS,WAAW,CAAA;IACxB,IAAI,EAAS,MAAM,CAAA;IACnB,OAAO,EAAM,MAAM,CAAA;IACnB,SAAS,EAAI,MAAM,CAAA;IACnB,SAAS,EAAI,MAAM,CAAA;IACnB,UAAU,EAAG,MAAM,CAAA;IACnB,IAAI,EAAS,OAAO,CAAA;IACpB,QAAQ,EAAK,OAAO,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAQ,MAAM,CAAA;IAClB,IAAI,EAAQ,MAAM,GAAG,WAAW,GAAG,MAAM,GAAG,aAAa,CAAA;IACzD,QAAQ,EAAI,MAAM,CAAA;IAClB,OAAO,EAAK,MAAM,CAAA;IAClB,KAAK,EAAO,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,WAAW,EAAE;IACjB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/C,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAA;IACxG,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAA;IAC5E,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAA;IAC/D,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAA;IACzE,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;IAC5D,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1C,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACtC,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAAA;IAChC,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/db/types.ts"],"names":[],"mappings":"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"}
|
package/dist/mesh/sync.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { DB, PeerState } from '../db/types.js';
|
|
2
2
|
import type { Config } from '../config.js';
|
|
3
3
|
export declare function syncAll(config: Config, db: DB): Promise<number>;
|
|
4
|
-
export declare function syncPeer(peer: PeerState, namespace: string, db: DB, autoDiscover?: boolean): Promise<Partial<PeerState>>;
|
|
4
|
+
export declare function syncPeer(peer: PeerState, namespace: string, db: DB, autoDiscover?: boolean, nodeUrl?: string): Promise<Partial<PeerState>>;
|
|
5
5
|
//# sourceMappingURL=sync.d.ts.map
|
package/dist/mesh/sync.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/mesh/sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAc,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAM1C,wBAAsB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CASrE;
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/mesh/sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAc,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAM1C,wBAAsB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CASrE;AAuDD,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,SAAS,EACf,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,EAAE,EACN,YAAY,UAAO,EACnB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAmD7B"}
|
package/dist/mesh/sync.js
CHANGED
|
@@ -5,40 +5,59 @@ import { NODE_VERSION } from '../version.js';
|
|
|
5
5
|
export async function syncAll(config, db) {
|
|
6
6
|
const peers = await db.getPeers();
|
|
7
7
|
const results = await Promise.allSettled(peers.map(async (peer) => {
|
|
8
|
-
const update = await syncPeer(peer, config.syncNamespace, db, config.autoDiscover);
|
|
8
|
+
const update = await syncPeer(peer, config.syncNamespace, db, config.autoDiscover, config.nodeUrl ?? undefined);
|
|
9
9
|
await db.upsertPeer({ ...peer, ...update });
|
|
10
10
|
}));
|
|
11
11
|
return results.filter((r) => r.status === 'fulfilled').length;
|
|
12
12
|
}
|
|
13
13
|
const SUPPORTED_PROTOCOL = 1;
|
|
14
|
-
// Pull all
|
|
15
|
-
//
|
|
16
|
-
|
|
14
|
+
// Pull all records for a single namespace from a peer, paginating until cursor is null.
|
|
15
|
+
// Returns insert/reject counts and the first signer seen (for peer identity discovery).
|
|
16
|
+
async function pullNamespace(peer, namespace, db) {
|
|
17
17
|
let cursor = undefined;
|
|
18
18
|
let inserted = 0;
|
|
19
19
|
let rejected = 0;
|
|
20
|
-
let
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
20
|
+
let signer = null;
|
|
21
|
+
do {
|
|
22
|
+
const url = buildRecordsUrl(peer.url, namespace, peer.lastSyncAt, cursor);
|
|
23
|
+
const body = await fetchRecords(url);
|
|
24
|
+
if (body.protocol !== SUPPORTED_PROTOCOL) {
|
|
25
|
+
return { inserted, rejected, signer, unsupported: true };
|
|
26
|
+
}
|
|
27
|
+
for (const record of body.records) {
|
|
28
|
+
const result = await validateAndInsert(record, db, peer.signerAddress);
|
|
29
|
+
if (result.inserted) {
|
|
30
|
+
inserted++;
|
|
31
|
+
if (result.signer && !signer)
|
|
32
|
+
signer = result.signer;
|
|
28
33
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
if (result.inserted) {
|
|
32
|
-
inserted++;
|
|
33
|
-
if (result.signer && !discoveredSigner)
|
|
34
|
-
discoveredSigner = result.signer;
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
rejected++;
|
|
38
|
-
}
|
|
34
|
+
else {
|
|
35
|
+
rejected++;
|
|
39
36
|
}
|
|
40
|
-
|
|
41
|
-
|
|
37
|
+
}
|
|
38
|
+
cursor = body.cursor ?? undefined;
|
|
39
|
+
} while (cursor !== undefined);
|
|
40
|
+
return { inserted, rejected, signer, unsupported: false };
|
|
41
|
+
}
|
|
42
|
+
// Pull all new records from a single peer — base namespace + wyriwe sub-namespace.
|
|
43
|
+
// Runs peer gossip (auto-discovery) and fetches VNI/health once after both namespaces sync.
|
|
44
|
+
export async function syncPeer(peer, namespace, db, autoDiscover = true, nodeUrl) {
|
|
45
|
+
let discoveredSigner = null;
|
|
46
|
+
try {
|
|
47
|
+
// Sync base namespace
|
|
48
|
+
const base = await pullNamespace(peer, namespace, db);
|
|
49
|
+
if (base.unsupported) {
|
|
50
|
+
console.warn(`[sync] ${peer.url} speaks unsupported protocol — skipping`);
|
|
51
|
+
return { healthy: false };
|
|
52
|
+
}
|
|
53
|
+
if (base.signer)
|
|
54
|
+
discoveredSigner = base.signer;
|
|
55
|
+
// Sync wyriwe sub-namespace — best-effort, never fails the peer
|
|
56
|
+
const wyriwe = await pullNamespace(peer, namespace + ':wyriwe', db).catch(() => ({ inserted: 0, rejected: 0, signer: null, unsupported: false }));
|
|
57
|
+
if (wyriwe.signer && !discoveredSigner)
|
|
58
|
+
discoveredSigner = wyriwe.signer;
|
|
59
|
+
const inserted = base.inserted + wyriwe.inserted;
|
|
60
|
+
const rejected = base.rejected + wyriwe.rejected;
|
|
42
61
|
if (inserted > 0 || rejected > 0) {
|
|
43
62
|
console.log(`[sync] ${peer.url} — +${inserted} inserted, ${rejected} rejected`);
|
|
44
63
|
}
|
|
@@ -49,7 +68,7 @@ export async function syncPeer(peer, namespace, db, autoDiscover = true) {
|
|
|
49
68
|
const health = await fetchPeerHealth(peer.url);
|
|
50
69
|
// Auto-discovery: pull peer's known peers and add any new ones
|
|
51
70
|
if (autoDiscover)
|
|
52
|
-
await discoverPeers(peer, db);
|
|
71
|
+
await discoverPeers(peer, db, nodeUrl);
|
|
53
72
|
const resolvedVersion = vni?.version ?? health?.version ?? peer.nodeVersion ?? null;
|
|
54
73
|
if (resolvedVersion && isOlderVersion(resolvedVersion, NODE_VERSION)) {
|
|
55
74
|
console.warn(`[sync] ${peer.url} is running v${resolvedVersion} — we are v${NODE_VERSION}. ` +
|
|
@@ -137,7 +156,7 @@ async function fetchPeerHealth(baseUrl) {
|
|
|
137
156
|
}
|
|
138
157
|
// Fetch the peer's /peers list and add any newly discovered nodes to our DB.
|
|
139
158
|
// Bounded to 10 new peers per sync cycle — prevents runaway growth.
|
|
140
|
-
async function discoverPeers(peer, db) {
|
|
159
|
+
async function discoverPeers(peer, db, nodeUrl) {
|
|
141
160
|
try {
|
|
142
161
|
const res = await fetch(new URL('/peers', peer.url).toString(), {
|
|
143
162
|
signal: AbortSignal.timeout(5_000),
|
|
@@ -149,6 +168,7 @@ async function discoverPeers(peer, db) {
|
|
|
149
168
|
return;
|
|
150
169
|
const existing = new Set((await db.getPeers()).map((p) => p.url));
|
|
151
170
|
let added = 0;
|
|
171
|
+
const selfUrl = nodeUrl?.replace(/\/$/, '') ?? '';
|
|
152
172
|
for (const discovered of data.peers) {
|
|
153
173
|
if (added >= 10)
|
|
154
174
|
break;
|
|
@@ -161,6 +181,8 @@ async function discoverPeers(peer, db) {
|
|
|
161
181
|
continue;
|
|
162
182
|
}
|
|
163
183
|
const url = discovered.url.replace(/\/$/, '');
|
|
184
|
+
if (selfUrl && url === selfUrl)
|
|
185
|
+
continue; // never add self as peer
|
|
164
186
|
await db.upsertPeer({ url, lastSyncAt: 0, healthy: true, nodeVersion: null, signerAddress: discovered.signerAddress });
|
|
165
187
|
added++;
|
|
166
188
|
}
|
package/dist/mesh/sync.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/mesh/sync.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAE5C,uEAAuE;AACvE,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,MAAc,EAAE,EAAM;IAClD,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAA;IACjC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACvB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,aAAa,EAAE,EAAE,EAAE,MAAM,CAAC,YAAY,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/mesh/sync.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ccip-router",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.6",
|
|
4
4
|
"description": "The coordination layer CCIP-Read was missing. Peer sync, deduplication, and cryptographic attestation for any CCIP-Read gateway.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/lib.js",
|
|
@@ -28,7 +28,8 @@
|
|
|
28
28
|
"contracts/AttestationIndex.sol",
|
|
29
29
|
"contracts/NodeRegistry.sol",
|
|
30
30
|
"contracts/WyriweAttestationVerifier.sol",
|
|
31
|
-
"contracts/OffchainResolver.sol"
|
|
31
|
+
"contracts/OffchainResolver.sol",
|
|
32
|
+
"contracts/NodeRegistry.sol"
|
|
32
33
|
],
|
|
33
34
|
"keywords": [
|
|
34
35
|
"ccip-read",
|