Merge pull request 'sync-arch: parser2 ^1.2.0 + прокидывание block_time из ActionEvent/DeltaEvent [C28-13]' (#92) from parser2-block-time-and-version into parser2
Reviewed-on: #92 Reviewed-by: Алексей Муравьев <chairman.voskhod@gmail.com>
This commit was merged in pull request #92.
This commit is contained in:
@@ -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');
|
||||
|
||||
Generated
+9
-9
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user