Merge pull request 'sync-arch: parser2 ^1.2.0 + прокидывание block_time из ActionEvent/DeltaEvent [C28-13]' (#92) from parser2-block-time-and-version into parser2
Typecheck / desktop (pull_request) Successful in 12m46s
Typecheck / controller (pull_request) Successful in 12m28s

Reviewed-on: #92
Reviewed-by: Алексей Муравьев <chairman.voskhod@gmail.com>
This commit was merged in pull request #92.
This commit is contained in:
2026-06-05 10:45:08 +00:00
5 changed files with 26 additions and 10 deletions
+1 -1
View File
@@ -76,7 +76,7 @@
"@coopenomics/factory": "workspace:*",
"@coopenomics/inter": "workspace:*",
"@coopenomics/notifications": "workspace:*",
"@coopenomics/parser2": "1.1.0",
"@coopenomics/parser2": "^1.2.0",
"@coopenomics/provider-client": "2025.11.12-alpha-1",
"@coopenomics/sdk": "workspace:*",
"@graphql-codegen/typescript-graphql-request": "^6.2.0",
@@ -23,6 +23,7 @@ export function mapParserDeltaToIDelta(event: DeltaEvent): IDelta {
chain_id: event.chain_id,
block_num: event.block_num,
block_id: event.block_id,
block_time: event.block_time,
present: event.present,
code: event.code,
scope: event.scope,
@@ -62,6 +63,7 @@ export function mapParserActionToIAction(event: ActionEvent): IAction {
account: event.account,
block_num: event.block_num,
block_id: event.block_id,
block_time: event.block_time,
chain_id: event.chain_id,
name: event.name,
// parser2 эмитит action уже единожды (дедуп по global_sequence); receiver=account,
@@ -19,6 +19,8 @@ export interface IDelta {
chain_id: string;
block_num: number;
block_id: string;
/** ISO-8601 время блока (UTC) из SHiP-трейса. parser2 отдаёт, parser1 не отдавал. */
block_time?: string;
present: boolean;
code: string;
scope: string;
@@ -32,6 +34,8 @@ export interface IAction {
account: string;
block_num: number;
block_id: string;
/** ISO-8601 время блока (UTC) из SHiP-трейса. parser2 отдаёт, parser1 не отдавал. */
block_time?: string;
chain_id: string;
name: string;
receiver: string;
@@ -67,6 +67,7 @@ describe('mapParserDeltaToIDelta', () => {
chain_id: 'chain-aaa',
block_num: 100,
block_id: '0123456789abcdef0000',
block_time: '2026-05-25T00:00:00.000Z',
present: true,
code: 'eosio.token',
scope: 'voskhod',
@@ -79,6 +80,10 @@ describe('mapParserDeltaToIDelta', () => {
it('пробрасывает present=false (удаление строки)', () => {
expect(mapParserDeltaToIDelta(deltaEvent({ present: false })).present).toBe(false);
});
it('пробрасывает block_time из SHiP-трейса (parser1 этого поля не давал)', () => {
expect(mapParserDeltaToIDelta(deltaEvent()).block_time).toBe('2026-05-25T00:00:00.000Z');
});
});
describe('mapParserActionToIAction', () => {
@@ -122,6 +127,11 @@ describe('mapParserActionToIAction', () => {
expect(a.account_ram_deltas).toEqual([{ account: 'voskhod', delta: 128 }]);
});
it('пробрасывает block_time из SHiP-трейса (parser1 этого поля не давал)', () => {
const a = mapParserActionToIAction(actionEvent());
expect(a.block_time).toBe('2026-05-25T00:00:00.000Z');
});
it('при отсутствии receipt (null) собирает дефолтный receipt, не падает', () => {
const a = mapParserActionToIAction(actionEvent({ receipt: null }));
expect(a.receipt.receiver).toBe('eosio.token');
+9 -9
View File
@@ -272,8 +272,8 @@ importers:
specifier: workspace:*
version: link:../notifications
'@coopenomics/parser2':
specifier: 1.1.0
version: 1.1.0
specifier: ^1.2.0
version: 1.2.0
'@coopenomics/provider-client':
specifier: 2025.11.12-alpha-1
version: 2025.11.12-alpha-1
@@ -2723,11 +2723,11 @@ packages:
resolution: {integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==}
engines: {node: '>=0.1.90'}
'@coopenomics/coopos-ship-reader@0.2.0':
resolution: {integrity: sha512-Mh+dYwXD5ppHlr1dL7XJ6lwlCVnElOeiV7Qc9d8qsXgZM6cfEYB0+wx8oEo4tJH/lJmuffRTsPIHKhlVA6H0kw==}
'@coopenomics/coopos-ship-reader@0.3.1':
resolution: {integrity: sha512-qaCdEy72do/mje/YNCiZLvGHzcVbwIXjesKLJdm9Q0rGFxFSBwfbHv45G2hjUmc36NAhzh2a+blULRk5m/pSgA==}
'@coopenomics/parser2@1.1.0':
resolution: {integrity: sha512-lvhm2AuNf9IA9NzbPdrW5AI6Bd79AnXAHqrr/n4iwj+0WdKj78yX3zv7G0tKKj8iFbKqcjYremGKeTSPE/NT4Q==}
'@coopenomics/parser2@1.2.0':
resolution: {integrity: sha512-UgxMQfPxYKmouKAGEuimkBW7bSyuRIsqL7xUwT5CLx5OWtmGg/1pMSmBV618oEDRidJRHX19IPTsNF+EN3xD0Q==}
hasBin: true
'@coopenomics/provider-client@2025.11.12-alpha-1':
@@ -21470,7 +21470,7 @@ snapshots:
'@colors/colors@1.6.0': {}
'@coopenomics/coopos-ship-reader@0.2.0':
'@coopenomics/coopos-ship-reader@0.3.1':
dependencies:
'@wharfkit/antelope': 1.2.0
ws: 8.20.0
@@ -21478,9 +21478,9 @@ snapshots:
- bufferutil
- utf-8-validate
'@coopenomics/parser2@1.1.0':
'@coopenomics/parser2@1.2.0':
dependencies:
'@coopenomics/coopos-ship-reader': 0.2.0
'@coopenomics/coopos-ship-reader': 0.3.1
'@wharfkit/antelope': 1.2.0
ajv: 8.18.0
commander: 12.1.0