ccip-router 0.4.0 → 0.5.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/chain/client.d.ts +2 -2
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js +19 -0
- package/dist/db/schema.js.map +1 -1
- package/dist/db/sqlite.d.ts +5 -1
- package/dist/db/sqlite.d.ts.map +1 -1
- package/dist/db/sqlite.js +61 -0
- package/dist/db/sqlite.js.map +1 -1
- package/dist/db/types.d.ts +18 -0
- package/dist/db/types.d.ts.map +1 -1
- package/dist/mesh/messages.d.ts +9 -0
- package/dist/mesh/messages.d.ts.map +1 -0
- package/dist/mesh/messages.js +114 -0
- package/dist/mesh/messages.js.map +1 -0
- package/dist/mesh/vni.d.ts.map +1 -1
- package/dist/mesh/vni.js +2 -1
- package/dist/mesh/vni.js.map +1 -1
- package/package.json +1 -1
package/dist/chain/client.d.ts
CHANGED
|
@@ -8828,9 +8828,9 @@ export declare function getWalletClient(rpcUrl: string, chainId: number, private
|
|
|
8828
8828
|
source: "privateKey";
|
|
8829
8829
|
type: "local";
|
|
8830
8830
|
}, chainOverride, calls>) => Promise<{
|
|
8831
|
-
chainId: number;
|
|
8832
|
-
version: string;
|
|
8833
8831
|
id: string;
|
|
8832
|
+
version: string;
|
|
8833
|
+
chainId: number;
|
|
8834
8834
|
atomic: boolean;
|
|
8835
8835
|
capabilities?: {
|
|
8836
8836
|
[key: string]: any;
|
package/dist/db/schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,8YAalB,CAAA;AAMD,eAAO,MAAM,UAAU,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,8YAalB,CAAA;AAMD,eAAO,MAAM,UAAU,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EAoDxD,CAAA"}
|
package/dist/db/schema.js
CHANGED
|
@@ -51,5 +51,24 @@ export const MIGRATIONS = [
|
|
|
51
51
|
);
|
|
52
52
|
`,
|
|
53
53
|
},
|
|
54
|
+
{
|
|
55
|
+
version: 3,
|
|
56
|
+
sql: `
|
|
57
|
+
CREATE TABLE IF NOT EXISTS messages (
|
|
58
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
59
|
+
from_url TEXT NOT NULL,
|
|
60
|
+
from_signer TEXT NOT NULL,
|
|
61
|
+
type TEXT NOT NULL,
|
|
62
|
+
body TEXT NOT NULL,
|
|
63
|
+
version TEXT NOT NULL DEFAULT '',
|
|
64
|
+
signature TEXT NOT NULL,
|
|
65
|
+
timestamp INTEGER NOT NULL,
|
|
66
|
+
received_at INTEGER NOT NULL DEFAULT (strftime('%s','now')),
|
|
67
|
+
read INTEGER NOT NULL DEFAULT 0,
|
|
68
|
+
official INTEGER NOT NULL DEFAULT 0
|
|
69
|
+
);
|
|
70
|
+
CREATE INDEX IF NOT EXISTS idx_messages_read ON messages (read);
|
|
71
|
+
`,
|
|
72
|
+
},
|
|
54
73
|
];
|
|
55
74
|
//# sourceMappingURL=schema.js.map
|
package/dist/db/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,iFAAiF;AACjF,MAAM,CAAC,MAAM,MAAM,GAAG;;;;;;;;;;;;;CAarB,CAAA;AAED,wEAAwE;AACxE,iFAAiF;AACjF,wEAAwE;AACxE,sDAAsD;AACtD,MAAM,CAAC,MAAM,UAAU,GAAuC;IAC5D;QACE,OAAO,EAAE,CAAC;QACV,GAAG,EAAE;;;;;;;;;;;;;;KAcJ;KACF;IACD;QACE,OAAO,EAAE,CAAC;QACV,GAAG,EAAE;;;;;;;;;;KAUJ;KACF;CACF,CAAA"}
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,iFAAiF;AACjF,MAAM,CAAC,MAAM,MAAM,GAAG;;;;;;;;;;;;;CAarB,CAAA;AAED,wEAAwE;AACxE,iFAAiF;AACjF,wEAAwE;AACxE,sDAAsD;AACtD,MAAM,CAAC,MAAM,UAAU,GAAuC;IAC5D;QACE,OAAO,EAAE,CAAC;QACV,GAAG,EAAE;;;;;;;;;;;;;;KAcJ;KACF;IACD;QACE,OAAO,EAAE,CAAC;QACV,GAAG,EAAE;;;;;;;;;;KAUJ;KACF;IACD;QACE,OAAO,EAAE,CAAC;QACV,GAAG,EAAE;;;;;;;;;;;;;;;KAeJ;KACF;CACF,CAAA"}
|
package/dist/db/sqlite.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { DB, MeshRecord, PeerState, Contribution, NameRecord } from './types.js';
|
|
1
|
+
import type { DB, MeshRecord, PeerState, Contribution, NameRecord, Message } from './types.js';
|
|
2
2
|
export declare class SQLiteDB implements DB {
|
|
3
3
|
private db;
|
|
4
4
|
private stmts;
|
|
@@ -18,6 +18,10 @@ export declare class SQLiteDB implements DB {
|
|
|
18
18
|
deleteNameRecord(name: string, type: string, coinType: number, textKey: string): Promise<void>;
|
|
19
19
|
getNameRecordValue(name: string, type: string, coinType?: number, textKey?: string): Promise<string | null>;
|
|
20
20
|
listNameRecords(name?: string): Promise<NameRecord[]>;
|
|
21
|
+
insertMessage(msg: Omit<Message, 'id' | 'receivedAt'>): Promise<number>;
|
|
22
|
+
getMessages(limit?: number): Promise<Message[]>;
|
|
23
|
+
markMessagesRead(ids?: number[]): Promise<void>;
|
|
24
|
+
unreadMessageCount(): Promise<number>;
|
|
21
25
|
close(): void;
|
|
22
26
|
}
|
|
23
27
|
//# sourceMappingURL=sqlite.d.ts.map
|
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,MAAM,YAAY,CAAA;
|
|
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,CAwBZ;gBAEW,IAAI,EAAE,MAAM;IA2IxB,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,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
|
@@ -98,6 +98,22 @@ export class SQLiteDB {
|
|
|
98
98
|
`),
|
|
99
99
|
ensListAll: this.db.prepare(`
|
|
100
100
|
SELECT * FROM ens_records ORDER BY name ASC, type ASC, coin_type ASC, text_key ASC
|
|
101
|
+
`),
|
|
102
|
+
msgInsert: this.db.prepare(`
|
|
103
|
+
INSERT INTO messages (from_url, from_signer, type, body, version, signature, timestamp, official)
|
|
104
|
+
VALUES (@fromUrl, @fromSigner, @type, @body, @version, @signature, @timestamp, @official)
|
|
105
|
+
`),
|
|
106
|
+
msgList: this.db.prepare(`
|
|
107
|
+
SELECT * FROM messages ORDER BY received_at DESC LIMIT ?
|
|
108
|
+
`),
|
|
109
|
+
msgMarkRead: this.db.prepare(`
|
|
110
|
+
UPDATE messages SET read = 1 WHERE id = ?
|
|
111
|
+
`),
|
|
112
|
+
msgMarkAllRead: this.db.prepare(`
|
|
113
|
+
UPDATE messages SET read = 1 WHERE read = 0
|
|
114
|
+
`),
|
|
115
|
+
msgUnreadCount: this.db.prepare(`
|
|
116
|
+
SELECT COUNT(*) as count FROM messages WHERE read = 0
|
|
101
117
|
`),
|
|
102
118
|
};
|
|
103
119
|
}
|
|
@@ -213,6 +229,36 @@ export class SQLiteDB {
|
|
|
213
229
|
: this.stmts.ensListAll.all());
|
|
214
230
|
return rows.map(toNameRecord);
|
|
215
231
|
}
|
|
232
|
+
async insertMessage(msg) {
|
|
233
|
+
const result = this.stmts.msgInsert.run({
|
|
234
|
+
fromUrl: msg.fromUrl,
|
|
235
|
+
fromSigner: msg.fromSigner,
|
|
236
|
+
type: msg.type,
|
|
237
|
+
body: msg.body,
|
|
238
|
+
version: msg.version,
|
|
239
|
+
signature: msg.signature,
|
|
240
|
+
timestamp: msg.timestamp,
|
|
241
|
+
official: msg.official ? 1 : 0,
|
|
242
|
+
});
|
|
243
|
+
return result.lastInsertRowid;
|
|
244
|
+
}
|
|
245
|
+
async getMessages(limit = 50) {
|
|
246
|
+
const rows = this.stmts.msgList.all(limit);
|
|
247
|
+
return rows.map(toMessage);
|
|
248
|
+
}
|
|
249
|
+
async markMessagesRead(ids) {
|
|
250
|
+
if (!ids || ids.length === 0) {
|
|
251
|
+
this.stmts.msgMarkAllRead.run();
|
|
252
|
+
}
|
|
253
|
+
else {
|
|
254
|
+
for (const id of ids)
|
|
255
|
+
this.stmts.msgMarkRead.run(id);
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
async unreadMessageCount() {
|
|
259
|
+
const row = this.stmts.msgUnreadCount.get();
|
|
260
|
+
return row.count;
|
|
261
|
+
}
|
|
216
262
|
close() {
|
|
217
263
|
this.db.close();
|
|
218
264
|
}
|
|
@@ -237,6 +283,21 @@ function toPeerState(row) {
|
|
|
237
283
|
signerAddress: row.signer_address,
|
|
238
284
|
};
|
|
239
285
|
}
|
|
286
|
+
function toMessage(row) {
|
|
287
|
+
return {
|
|
288
|
+
id: row.id,
|
|
289
|
+
fromUrl: row.from_url,
|
|
290
|
+
fromSigner: row.from_signer,
|
|
291
|
+
type: row.type,
|
|
292
|
+
body: row.body,
|
|
293
|
+
version: row.version,
|
|
294
|
+
signature: row.signature,
|
|
295
|
+
timestamp: row.timestamp,
|
|
296
|
+
receivedAt: row.received_at,
|
|
297
|
+
read: row.read === 1,
|
|
298
|
+
official: row.official === 1,
|
|
299
|
+
};
|
|
300
|
+
}
|
|
240
301
|
function toNameRecord(row) {
|
|
241
302
|
return {
|
|
242
303
|
name: row.name,
|
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
|
@@ -18,6 +18,20 @@ export type Contribution = {
|
|
|
18
18
|
sourcePeer: string | null;
|
|
19
19
|
count: number;
|
|
20
20
|
};
|
|
21
|
+
export type MessageType = 'upgrade_notice' | 'deprecation' | 'network_announcement';
|
|
22
|
+
export type Message = {
|
|
23
|
+
id: number;
|
|
24
|
+
fromUrl: string;
|
|
25
|
+
fromSigner: string;
|
|
26
|
+
type: MessageType;
|
|
27
|
+
body: string;
|
|
28
|
+
version: string;
|
|
29
|
+
signature: string;
|
|
30
|
+
timestamp: number;
|
|
31
|
+
receivedAt: number;
|
|
32
|
+
read: boolean;
|
|
33
|
+
official: boolean;
|
|
34
|
+
};
|
|
21
35
|
export type NameRecord = {
|
|
22
36
|
name: string;
|
|
23
37
|
type: 'addr' | 'addr_coin' | 'text' | 'contenthash';
|
|
@@ -37,6 +51,10 @@ export interface DB {
|
|
|
37
51
|
removePeer(url: string): Promise<void>;
|
|
38
52
|
getPeers(): Promise<PeerState[]>;
|
|
39
53
|
recordCount(namespace: string): Promise<number>;
|
|
54
|
+
insertMessage(msg: Omit<Message, 'id' | 'receivedAt'>): Promise<number>;
|
|
55
|
+
getMessages(limit?: number): Promise<Message[]>;
|
|
56
|
+
markMessagesRead(ids?: number[]): Promise<void>;
|
|
57
|
+
unreadMessageCount(): Promise<number>;
|
|
40
58
|
upsertNameRecord(r: Omit<NameRecord, 'modifiedAt'>): Promise<void>;
|
|
41
59
|
deleteNameRecord(name: string, type: string, coinType: number, textKey: string): Promise<void>;
|
|
42
60
|
getNameRecordValue(name: string, type: string, coinType?: number, textKey?: string): Promise<string | null>;
|
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,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;IAE/C,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAClE,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9F,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IAC3G,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAA;IACrD,KAAK,IAAI,IAAI,CAAA;CACd"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/db/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Hono } from 'hono';
|
|
2
|
+
import type { MessageType } from '../db/types.js';
|
|
3
|
+
export declare const messagesRouter: Hono<import("hono/types").BlankEnv, import("hono/types").BlankSchema, "/">;
|
|
4
|
+
export declare function messagePayload(type: string, body: string, version: string, timestamp: number): string;
|
|
5
|
+
export declare function broadcastMessage(type: MessageType, body: string, version?: string): Promise<{
|
|
6
|
+
sent: number;
|
|
7
|
+
failed: number;
|
|
8
|
+
}>;
|
|
9
|
+
//# sourceMappingURL=messages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/mesh/messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAM3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAEjD,eAAO,MAAM,cAAc,4EAAa,CAAA;AAmBxC,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAErG;AAwED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,MAAM,EACZ,OAAO,SAAe,GACrB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAiC3C"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { Hono } from 'hono';
|
|
2
|
+
import { recoverMessageAddress } from 'viem';
|
|
3
|
+
import { privateKeyToAccount } from 'viem/accounts';
|
|
4
|
+
import { getDB } from '../db/index.js';
|
|
5
|
+
import { getConfig } from '../config.js';
|
|
6
|
+
import { NODE_VERSION } from '../version.js';
|
|
7
|
+
export const messagesRouter = new Hono();
|
|
8
|
+
const VALID_TYPES = new Set(['upgrade_notice', 'deprecation', 'network_announcement']);
|
|
9
|
+
const RATE_LIMIT_WINDOW = 3600; // 1 hour
|
|
10
|
+
const RATE_LIMIT_MAX = 10; // max messages per peer per window
|
|
11
|
+
// In-memory rate limiter: signerAddress → list of receive timestamps
|
|
12
|
+
const rateLimits = new Map();
|
|
13
|
+
function checkRateLimit(signer) {
|
|
14
|
+
const now = Math.floor(Date.now() / 1000);
|
|
15
|
+
const prev = (rateLimits.get(signer) ?? []).filter(t => now - t < RATE_LIMIT_WINDOW);
|
|
16
|
+
if (prev.length >= RATE_LIMIT_MAX)
|
|
17
|
+
return false;
|
|
18
|
+
prev.push(now);
|
|
19
|
+
rateLimits.set(signer, prev);
|
|
20
|
+
return true;
|
|
21
|
+
}
|
|
22
|
+
// Deterministic payload string — same format used when signing
|
|
23
|
+
export function messagePayload(type, body, version, timestamp) {
|
|
24
|
+
return `ccip-router:message:${type}:${body}:${version}:${timestamp}`;
|
|
25
|
+
}
|
|
26
|
+
// POST /messages — receive a signed message from a peer
|
|
27
|
+
messagesRouter.post('/', async (c) => {
|
|
28
|
+
const db = getDB();
|
|
29
|
+
const config = getConfig();
|
|
30
|
+
const body = await c.req.json();
|
|
31
|
+
const { type, body: msgBody, version, timestamp, signature } = body ?? {};
|
|
32
|
+
if (!type || !msgBody || !signature || !timestamp) {
|
|
33
|
+
return c.json({ error: 'type, body, timestamp, and signature required' }, 400);
|
|
34
|
+
}
|
|
35
|
+
if (!VALID_TYPES.has(type)) {
|
|
36
|
+
return c.json({ error: 'invalid type' }, 400);
|
|
37
|
+
}
|
|
38
|
+
// Recover signer
|
|
39
|
+
let fromSigner;
|
|
40
|
+
try {
|
|
41
|
+
fromSigner = await recoverMessageAddress({
|
|
42
|
+
message: messagePayload(type, msgBody, version ?? '', timestamp),
|
|
43
|
+
signature: signature,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
return c.json({ error: 'invalid signature' }, 400);
|
|
48
|
+
}
|
|
49
|
+
// Only accept from registered peers
|
|
50
|
+
const peers = await db.getPeers();
|
|
51
|
+
const peer = peers.find(p => p.signerAddress?.toLowerCase() === fromSigner.toLowerCase());
|
|
52
|
+
if (!peer) {
|
|
53
|
+
return c.json({ error: 'unknown signer — not a registered peer' }, 403);
|
|
54
|
+
}
|
|
55
|
+
// Rate limit
|
|
56
|
+
if (!checkRateLimit(fromSigner.toLowerCase())) {
|
|
57
|
+
return c.json({ error: 'rate limit exceeded' }, 429);
|
|
58
|
+
}
|
|
59
|
+
// Stale message guard — reject if older than 10 minutes
|
|
60
|
+
const now = Math.floor(Date.now() / 1000);
|
|
61
|
+
if (Math.abs(now - timestamp) > 600) {
|
|
62
|
+
return c.json({ error: 'message timestamp too old or too far in future' }, 400);
|
|
63
|
+
}
|
|
64
|
+
// Official flag: message signed by configured network key
|
|
65
|
+
const official = !!(config.networkKey &&
|
|
66
|
+
fromSigner.toLowerCase() === config.networkKey.toLowerCase());
|
|
67
|
+
await db.insertMessage({
|
|
68
|
+
fromUrl: peer.url,
|
|
69
|
+
fromSigner,
|
|
70
|
+
type: type,
|
|
71
|
+
body: msgBody,
|
|
72
|
+
version: version ?? '',
|
|
73
|
+
signature,
|
|
74
|
+
timestamp,
|
|
75
|
+
read: false,
|
|
76
|
+
official,
|
|
77
|
+
});
|
|
78
|
+
console.log(`[messages] received ${type} from ${peer.url}`);
|
|
79
|
+
return c.json({ ok: true });
|
|
80
|
+
});
|
|
81
|
+
// Sign and push a message to all peers — called by admin API
|
|
82
|
+
export async function broadcastMessage(type, body, version = NODE_VERSION) {
|
|
83
|
+
const config = getConfig();
|
|
84
|
+
if (!config.gatewayKey)
|
|
85
|
+
throw new Error('GATEWAY_PRIVATE_KEY required to send messages');
|
|
86
|
+
const account = privateKeyToAccount(config.gatewayKey);
|
|
87
|
+
const timestamp = Math.floor(Date.now() / 1000);
|
|
88
|
+
const payload = messagePayload(type, body, version, timestamp);
|
|
89
|
+
const signature = await account.signMessage({ message: payload });
|
|
90
|
+
const db = getDB();
|
|
91
|
+
const peers = await db.getPeers();
|
|
92
|
+
const msg = { type, body, version, timestamp, signature };
|
|
93
|
+
let sent = 0, failed = 0;
|
|
94
|
+
await Promise.allSettled(peers.map(async (peer) => {
|
|
95
|
+
try {
|
|
96
|
+
const res = await fetch(new URL('/messages', peer.url).toString(), {
|
|
97
|
+
method: 'POST',
|
|
98
|
+
headers: { 'Content-Type': 'application/json' },
|
|
99
|
+
body: JSON.stringify(msg),
|
|
100
|
+
signal: AbortSignal.timeout(8_000),
|
|
101
|
+
});
|
|
102
|
+
if (res.ok)
|
|
103
|
+
sent++;
|
|
104
|
+
else
|
|
105
|
+
failed++;
|
|
106
|
+
}
|
|
107
|
+
catch {
|
|
108
|
+
failed++;
|
|
109
|
+
}
|
|
110
|
+
}));
|
|
111
|
+
console.log(`[messages] broadcast ${type} — sent: ${sent}, failed: ${failed}`);
|
|
112
|
+
return { sent, failed };
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=messages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/mesh/messages.ts"],"names":[],"mappings":"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"}
|
package/dist/mesh/vni.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vni.d.ts","sourceRoot":"","sources":["../../src/mesh/vni.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vni.d.ts","sourceRoot":"","sources":["../../src/mesh/vni.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAS,KAAK,MAAM,EAAE,CAAA;IAC5B,aAAa,EAAE,KAAK,MAAM,EAAE,CAAA;IAC5B,GAAG,EAAY,MAAM,CAAA;IACrB,OAAO,EAAQ,MAAM,CAAA;IACrB,SAAS,EAAM,MAAM,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG;IAAE,SAAS,EAAE,KAAK,MAAM,EAAE,CAAA;CAAE,CAAA;AAQlE,wBAAsB,OAAO,CAC3B,UAAU,EAAE,KAAK,MAAM,EAAE,EACzB,GAAG,EAAE,MAAM,EACX,OAAO,SAAe,GACrB,OAAO,CAAC,SAAS,CAAC,CAepB;AAGD,wBAAsB,SAAS,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,KAAK,MAAM,EAAE,GAAG,IAAI,CAAC,CAY7E;AAGD,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAU7E"}
|
package/dist/mesh/vni.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { keccak256, toBytes, recoverMessageAddress } from 'viem';
|
|
2
2
|
import { privateKeyToAccount } from 'viem/accounts';
|
|
3
|
+
import { NODE_VERSION } from '../version.js';
|
|
3
4
|
// Serialise the document body for signing — must be deterministic
|
|
4
5
|
function vniMessage(doc) {
|
|
5
6
|
return 'ccip-router:vni:' + JSON.stringify(doc);
|
|
6
7
|
}
|
|
7
8
|
// Produce a fresh signed VNI for this node.
|
|
8
|
-
export async function makeVni(gatewayKey, url, version =
|
|
9
|
+
export async function makeVni(gatewayKey, url, version = NODE_VERSION) {
|
|
9
10
|
const account = privateKeyToAccount(gatewayKey);
|
|
10
11
|
const timestamp = Math.floor(Date.now() / 1000);
|
|
11
12
|
const nodeId = keccak256(toBytes(account.address));
|
package/dist/mesh/vni.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vni.js","sourceRoot":"","sources":["../../src/mesh/vni.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,qBAAqB,EAAE,MAAM,MAAM,CAAA;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"vni.js","sourceRoot":"","sources":["../../src/mesh/vni.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,qBAAqB,EAAE,MAAM,MAAM,CAAA;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAY5C,kEAAkE;AAClE,SAAS,UAAU,CAAC,GAAgB;IAClC,OAAO,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;AACjD,CAAC;AAED,4CAA4C;AAC5C,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,UAAyB,EACzB,GAAW,EACX,OAAO,GAAG,YAAY;IAEtB,MAAM,OAAO,GAAK,mBAAmB,CAAC,UAAU,CAAC,CAAA;IACjD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;IAC/C,MAAM,MAAM,GAAM,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAkB,CAAA;IAEtE,MAAM,GAAG,GAAgB;QACvB,MAAM;QACN,aAAa,EAAE,OAAO,CAAC,OAAO;QAC9B,GAAG;QACH,OAAO;QACP,SAAS;KACV,CAAA;IAED,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACzE,OAAO,EAAE,GAAG,GAAG,EAAE,SAAS,EAAE,CAAA;AAC9B,CAAC;AAED,mEAAmE;AACnE,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,GAAc;IAC5C,IAAI,CAAC;QACH,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,CAAA;QACjC,MAAM,SAAS,GAAG,MAAM,qBAAqB,CAAC;YAC5C,OAAO,EAAI,UAAU,CAAC,GAAkB,CAAC;YACzC,SAAS;SACV,CAAC,CAAA;QACF,IAAI,SAAS,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,aAAa,CAAC,WAAW,EAAE;YAAE,OAAO,IAAI,CAAA;QAC5E,OAAO,SAAS,CAAA;IAClB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,4CAA4C;AAC5C,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAe;IAChD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC3D,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;SACnC,CAAC,CAAA;QACF,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,IAAI,CAAA;QACxB,OAAO,GAAG,CAAC,IAAI,EAAwB,CAAA;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED