@o1-labs/mina-archive-node-graphql 0.0.6 → 2.0.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.
Files changed (176) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +92 -268
  3. package/build/src/blockchain/utils.js.map +1 -1
  4. package/build/src/config.js +86 -0
  5. package/build/src/config.js.map +1 -0
  6. package/build/src/db/archive-node-adapter/archive-node-adapter.js +29 -2
  7. package/build/src/db/archive-node-adapter/archive-node-adapter.js.map +1 -1
  8. package/build/src/db/archive-node-adapter/postgres-options.js +35 -0
  9. package/build/src/db/archive-node-adapter/postgres-options.js.map +1 -0
  10. package/build/src/db/sql/best-chain.js +5 -0
  11. package/build/src/db/sql/best-chain.js.map +1 -0
  12. package/build/src/db/sql/events-actions/queries.js +102 -21
  13. package/build/src/db/sql/events-actions/queries.js.map +1 -1
  14. package/build/src/db/sql/verification-key-updates/queries.js +100 -0
  15. package/build/src/db/sql/verification-key-updates/queries.js.map +1 -0
  16. package/build/src/db/sql/zkapp-commands/queries.js +363 -0
  17. package/build/src/db/sql/zkapp-commands/queries.js.map +1 -0
  18. package/build/src/db/sql/zkapp-commands/types.js +2 -0
  19. package/build/src/db/sql/zkapp-commands/types.js.map +1 -0
  20. package/build/src/errors/error.js +4 -1
  21. package/build/src/errors/error.js.map +1 -1
  22. package/build/src/index.js +44 -7
  23. package/build/src/index.js.map +1 -1
  24. package/build/src/resolvers.js +42 -23
  25. package/build/src/resolvers.js.map +1 -1
  26. package/build/src/schema-version.js +2 -0
  27. package/build/src/schema-version.js.map +1 -0
  28. package/build/src/server/cors.js +41 -0
  29. package/build/src/server/cors.js.map +1 -0
  30. package/build/src/server/graceful-shutdown.js +42 -0
  31. package/build/src/server/graceful-shutdown.js.map +1 -0
  32. package/build/src/server/graphql-armor.js +39 -0
  33. package/build/src/server/graphql-armor.js.map +1 -0
  34. package/build/src/server/logger.js +45 -0
  35. package/build/src/server/logger.js.map +1 -0
  36. package/build/src/server/metrics.js +72 -0
  37. package/build/src/server/metrics.js.map +1 -0
  38. package/build/src/server/plugins.js +31 -15
  39. package/build/src/server/plugins.js.map +1 -1
  40. package/build/src/server/rate-limit.js +143 -0
  41. package/build/src/server/rate-limit.js.map +1 -0
  42. package/build/src/server/readiness.js +45 -0
  43. package/build/src/server/readiness.js.map +1 -0
  44. package/build/src/server/request-logging.js +58 -0
  45. package/build/src/server/request-logging.js.map +1 -0
  46. package/build/src/server/server.js +38 -13
  47. package/build/src/server/server.js.map +1 -1
  48. package/build/src/services/actions-service/actions-service.js +26 -15
  49. package/build/src/services/actions-service/actions-service.js.map +1 -1
  50. package/build/src/services/blocks-service/blocks-service.js +10 -9
  51. package/build/src/services/blocks-service/blocks-service.js.map +1 -1
  52. package/build/src/services/network-service/network-service.js +17 -9
  53. package/build/src/services/network-service/network-service.js.map +1 -1
  54. package/build/src/services/verification-key-updates-service/verification-key-updates-service.interface.js +2 -0
  55. package/build/src/services/verification-key-updates-service/verification-key-updates-service.interface.js.map +1 -0
  56. package/build/src/services/verification-key-updates-service/verification-key-updates-service.js +41 -0
  57. package/build/src/services/verification-key-updates-service/verification-key-updates-service.js.map +1 -0
  58. package/build/src/services/zkapp-commands-service/zkapp-commands-service.interface.js +2 -0
  59. package/build/src/services/zkapp-commands-service/zkapp-commands-service.interface.js.map +1 -0
  60. package/build/src/services/zkapp-commands-service/zkapp-commands-service.js +115 -0
  61. package/build/src/services/zkapp-commands-service/zkapp-commands-service.js.map +1 -0
  62. package/build/src/tracing/jaeger-tracing.js +2 -1
  63. package/build/src/tracing/jaeger-tracing.js.map +1 -1
  64. package/build/tests/devnet-dump/action-state-invariants.js +165 -0
  65. package/build/tests/devnet-dump/action-state-invariants.js.map +1 -0
  66. package/build/tests/devnet-dump/devnet-dump.test.js +24 -10
  67. package/build/tests/devnet-dump/devnet-dump.test.js.map +1 -1
  68. package/build/tests/devnet-dump/setup.js +63 -17
  69. package/build/tests/devnet-dump/setup.js.map +1 -1
  70. package/build/tests/integration/action-state-ordering.test.js +139 -0
  71. package/build/tests/integration/action-state-ordering.test.js.map +1 -0
  72. package/build/tests/integration/action-state-setup.js +48 -0
  73. package/build/tests/integration/action-state-setup.js.map +1 -0
  74. package/build/tests/integration/consensus-vs-chain.test.js +81 -0
  75. package/build/tests/integration/consensus-vs-chain.test.js.map +1 -0
  76. package/build/tests/integration/integration.test.js +166 -2
  77. package/build/tests/integration/integration.test.js.map +1 -1
  78. package/build/tests/integration/postgres-timeout.test.js +92 -0
  79. package/build/tests/integration/postgres-timeout.test.js.map +1 -0
  80. package/build/tests/integration/setup.js +58 -1
  81. package/build/tests/integration/setup.js.map +1 -1
  82. package/build/tests/integration/verification-key-setup.js +49 -0
  83. package/build/tests/integration/verification-key-setup.js.map +1 -0
  84. package/build/tests/integration/verification-key-updates.test.js +159 -0
  85. package/build/tests/integration/verification-key-updates.test.js.map +1 -0
  86. package/build/tests/live-api/events.test.js +11 -7
  87. package/build/tests/live-api/events.test.js.map +1 -1
  88. package/build/tests/live-api/networkState.test.js +1 -0
  89. package/build/tests/live-api/networkState.test.js.map +1 -1
  90. package/build/tests/live-network/live-network.test.js +1 -0
  91. package/build/tests/live-network/live-network.test.js.map +1 -1
  92. package/build/tests/resolvers.test.js +65 -37
  93. package/build/tests/resolvers.test.js.map +1 -1
  94. package/build/tests/services/verification-key-updates-service/verification-key-updates-service.test.js +35 -0
  95. package/build/tests/services/verification-key-updates-service/verification-key-updates-service.test.js.map +1 -0
  96. package/build/tests/services/zkapp-commands-service/zkapp-commands-service.test.js +159 -0
  97. package/build/tests/services/zkapp-commands-service/zkapp-commands-service.test.js.map +1 -0
  98. package/build/tests/test-helpers.js +15 -0
  99. package/build/tests/test-helpers.js.map +1 -1
  100. package/build/tests/unit/best-chain-anchor.test.js +70 -0
  101. package/build/tests/unit/best-chain-anchor.test.js.map +1 -0
  102. package/build/tests/unit/config.test.js +106 -0
  103. package/build/tests/unit/config.test.js.map +1 -0
  104. package/build/tests/unit/cors.test.js +95 -0
  105. package/build/tests/unit/cors.test.js.map +1 -0
  106. package/build/tests/unit/error-masking.test.js +119 -0
  107. package/build/tests/unit/error-masking.test.js.map +1 -0
  108. package/build/tests/unit/graceful-shutdown.test.js +99 -0
  109. package/build/tests/unit/graceful-shutdown.test.js.map +1 -0
  110. package/build/tests/unit/graphql-armor.test.js +121 -0
  111. package/build/tests/unit/graphql-armor.test.js.map +1 -0
  112. package/build/tests/unit/logging.test.js +120 -0
  113. package/build/tests/unit/logging.test.js.map +1 -0
  114. package/build/tests/unit/metrics.test.js +114 -0
  115. package/build/tests/unit/metrics.test.js.map +1 -0
  116. package/build/tests/unit/network-service.test.js +66 -0
  117. package/build/tests/unit/network-service.test.js.map +1 -0
  118. package/build/tests/unit/postgres-options.test.js +56 -0
  119. package/build/tests/unit/postgres-options.test.js.map +1 -0
  120. package/build/tests/unit/rate-limit.test.js +271 -0
  121. package/build/tests/unit/rate-limit.test.js.map +1 -0
  122. package/build/tests/unit/readiness.test.js +75 -0
  123. package/build/tests/unit/readiness.test.js.map +1 -0
  124. package/build/tests/unit/schema-nullability.test.js +40 -0
  125. package/build/tests/unit/schema-nullability.test.js.map +1 -0
  126. package/build/tests/unit/schema-version.test.js +48 -0
  127. package/build/tests/unit/schema-version.test.js.map +1 -0
  128. package/build/tests/unit/yoga-http-contract.test.js +30 -0
  129. package/build/tests/unit/yoga-http-contract.test.js.map +1 -0
  130. package/build/tests/unit/zkapp-commands-gating.test.js +38 -0
  131. package/build/tests/unit/zkapp-commands-gating.test.js.map +1 -0
  132. package/build/zkapp/utils.js +2 -0
  133. package/build/zkapp/utils.js.map +1 -1
  134. package/package.json +33 -14
  135. package/schema.graphql +126 -8
  136. package/src/blockchain/types.ts +65 -1
  137. package/src/blockchain/utils.ts +26 -2
  138. package/src/config.ts +133 -0
  139. package/src/db/archive-node-adapter/archive-node-adapter.interface.ts +26 -3
  140. package/src/db/archive-node-adapter/archive-node-adapter.ts +65 -2
  141. package/src/db/archive-node-adapter/postgres-options.ts +90 -0
  142. package/src/db/sql/best-chain.ts +34 -0
  143. package/src/db/sql/events-actions/queries.ts +168 -24
  144. package/src/db/sql/verification-key-updates/queries.ts +132 -0
  145. package/src/db/sql/zkapp-commands/queries.ts +406 -0
  146. package/src/db/sql/zkapp-commands/types.ts +43 -0
  147. package/src/envionment.d.ts +20 -0
  148. package/src/errors/error.ts +17 -1
  149. package/src/index.ts +64 -7
  150. package/src/resolvers-types.ts +311 -24
  151. package/src/resolvers.ts +70 -34
  152. package/src/schema-version.ts +24 -0
  153. package/src/server/cors.ts +97 -0
  154. package/src/server/graceful-shutdown.ts +76 -0
  155. package/src/server/graphql-armor.ts +78 -0
  156. package/src/server/logger.ts +72 -0
  157. package/src/server/metrics.ts +104 -0
  158. package/src/server/plugins.ts +53 -19
  159. package/src/server/rate-limit.ts +274 -0
  160. package/src/server/readiness.ts +78 -0
  161. package/src/server/request-logging.ts +83 -0
  162. package/src/server/server.ts +70 -15
  163. package/src/services/actions-service/actions-service.ts +87 -24
  164. package/src/services/blocks-service/blocks-service.ts +16 -14
  165. package/src/services/network-service/network-service.ts +30 -12
  166. package/src/services/verification-key-updates-service/verification-key-updates-service.interface.ts +9 -0
  167. package/src/services/verification-key-updates-service/verification-key-updates-service.ts +72 -0
  168. package/src/services/zkapp-commands-service/zkapp-commands-service.interface.ts +9 -0
  169. package/src/services/zkapp-commands-service/zkapp-commands-service.ts +181 -0
  170. package/src/tracing/jaeger-tracing.ts +2 -1
  171. package/build/tests/consensus/run-compare.js +0 -40
  172. package/build/tests/consensus/run-compare.js.map +0 -1
  173. package/build/tests/consensus/select-consensus-precomputed.js +0 -80
  174. package/build/tests/consensus/select-consensus-precomputed.js.map +0 -1
  175. package/build/tests/consensus/types.js +0 -15
  176. package/build/tests/consensus/types.js.map +0 -1
@@ -0,0 +1,159 @@
1
+ import { describe, test, before, after } from 'node:test';
2
+ import assert from 'node:assert';
3
+ import { readFileSync } from 'node:fs';
4
+ import path from 'node:path';
5
+ import { VerificationKeyUpdatesService } from '../../src/services/verification-key-updates-service/verification-key-updates-service.js';
6
+ import { BlockStatusFilter } from '../../src/blockchain/types.js';
7
+ import { TracingState } from '../../src/tracing/tracer.js';
8
+ import { setupTestDatabase, teardownTestDatabase, createTestClient, } from './verification-key-setup.js';
9
+ const fixture = JSON.parse(readFileSync(path.resolve(process.cwd(), 'tests/integration/fixtures/verification_key_updates.json'), 'utf8'));
10
+ const nullOptions = { tracingState: new TracingState(undefined) };
11
+ const WHOLE_FIXTURE = {
12
+ from: fixture.heights.anchor,
13
+ to: fixture.heights.afterAll,
14
+ };
15
+ let client;
16
+ let service;
17
+ before(async () => {
18
+ await setupTestDatabase();
19
+ client = createTestClient();
20
+ service = new VerificationKeyUpdatesService(client);
21
+ }, { timeout: 30000 });
22
+ after(async () => {
23
+ await client?.end();
24
+ await teardownTestDatabase();
25
+ });
26
+ function shapeOf(update) {
27
+ return {
28
+ accountUpdateId: update.accountUpdateId,
29
+ address: update.address,
30
+ tokenId: update.tokenId,
31
+ height: update.blockInfo.height,
32
+ stateHash: update.blockInfo.stateHash,
33
+ chainStatus: update.blockInfo.chainStatus,
34
+ sequenceNumber: update.transactionInfo.sequenceNumber,
35
+ transactionHash: update.transactionInfo.hash,
36
+ memo: update.transactionInfo.memo,
37
+ authorizationKind: update.transactionInfo.authorizationKind,
38
+ };
39
+ }
40
+ function expectedShape(o) {
41
+ return {
42
+ accountUpdateId: o.accountUpdateId,
43
+ address: o.address,
44
+ tokenId: o.tokenId,
45
+ height: o.height,
46
+ stateHash: o.stateHash,
47
+ chainStatus: o.chainStatus,
48
+ sequenceNumber: o.sequenceNumber,
49
+ transactionHash: o.transactionHash,
50
+ memo: o.memo,
51
+ authorizationKind: o.authorizationKind,
52
+ };
53
+ }
54
+ const query = (input = {}) => service.getVerificationKeyUpdates({
55
+ verificationKeyHash: fixture.targetVerificationKeyHash,
56
+ ...WHOLE_FIXTURE,
57
+ ...input,
58
+ }, nullOptions);
59
+ describe('verificationKeyUpdates (integration)', () => {
60
+ test('returns every applied occurrence of the requested key', async () => {
61
+ const updates = await query();
62
+ assert.deepStrictEqual(updates.map(shapeOf), [...fixture.expected.canonical, ...fixture.expected.pending].map(expectedShape));
63
+ });
64
+ test('carries the full block metadata for each occurrence', async () => {
65
+ const [first] = await query({ status: BlockStatusFilter.canonical });
66
+ assert.strictEqual(first.verificationKeyHash, fixture.targetVerificationKeyHash);
67
+ assert.strictEqual(typeof first.blockInfo.parentHash, 'string');
68
+ assert.strictEqual(typeof first.blockInfo.ledgerHash, 'string');
69
+ assert.strictEqual(typeof first.blockInfo.timestamp, 'string');
70
+ assert.strictEqual(typeof first.blockInfo.globalSlotSinceGenesis, 'number');
71
+ assert.strictEqual(typeof first.blockInfo.globalSlotSinceHardfork, 'number');
72
+ assert.strictEqual(typeof first.blockInfo.lastVrfOutput, 'string');
73
+ assert.ok(first.blockInfo.distanceFromMaxBlockHeight > 0, 'distanceFromMaxBlockHeight should be measured from the chain tip');
74
+ assert.strictEqual(first.transactionInfo.status, 'applied');
75
+ assert.ok(Array.isArray(first.transactionInfo.zkappAccountUpdateIds));
76
+ });
77
+ test('reads the token of the account, not the default token', async () => {
78
+ const updates = await query({ status: BlockStatusFilter.canonical });
79
+ const tokens = updates.map((u) => u.tokenId);
80
+ assert.ok(tokens.includes(fixture.customTokenId), 'an account on a custom token must report that token');
81
+ assert.ok(tokens.includes(fixture.defaultTokenId));
82
+ });
83
+ test('excludes a different verification key, a failed command, a precondition-only update, and an orphaned block', async () => {
84
+ const addresses = new Set((await query()).map((u) => u.address));
85
+ for (const [account, reason] of Object.entries(fixture.excluded)) {
86
+ assert.ok(!addresses.has(fixture.excludedAddresses[account]), `${account} must be excluded: ${reason}`);
87
+ }
88
+ });
89
+ test('a verification-key precondition is not a verification-key update', async () => {
90
+ const addresses = (await query()).map((u) => u.address);
91
+ assert.ok(!addresses.includes(fixture.excludedAddresses.eta));
92
+ });
93
+ test('the hash filter selects, it does not just exclude', async () => {
94
+ const updates = await query({
95
+ verificationKeyHash: fixture.otherVerificationKeyHash,
96
+ status: BlockStatusFilter.canonical,
97
+ });
98
+ assert.deepStrictEqual(updates.map((u) => u.address), [fixture.excludedAddresses.beta]);
99
+ assert.strictEqual(updates[0].verificationKeyHash, fixture.otherVerificationKeyHash);
100
+ });
101
+ test('returns nothing for a hash no account update ever set', async () => {
102
+ const updates = await query({
103
+ verificationKeyHash: 'not-a-verification-key-hash',
104
+ });
105
+ assert.deepStrictEqual(updates, []);
106
+ });
107
+ test('CANONICAL returns only canonical occurrences', async () => {
108
+ const updates = await query({ status: BlockStatusFilter.canonical });
109
+ assert.deepStrictEqual(updates.map(shapeOf), fixture.expected.canonical.map(expectedShape));
110
+ assert.ok(updates.every((u) => u.blockInfo.chainStatus === 'canonical'));
111
+ });
112
+ test('PENDING returns only occurrences on the best pending chain', async () => {
113
+ const updates = await query({ status: BlockStatusFilter.pending });
114
+ assert.deepStrictEqual(updates.map(shapeOf), fixture.expected.pending.map(expectedShape));
115
+ assert.ok(updates.every((u) => u.blockInfo.chainStatus === 'pending'));
116
+ });
117
+ test('ALL is the concatenation of canonical and pending, and is the default', async () => {
118
+ const explicit = await query({ status: BlockStatusFilter.all });
119
+ const defaulted = await query();
120
+ assert.deepStrictEqual(defaulted.map(shapeOf), explicit.map(shapeOf));
121
+ assert.strictEqual(explicit.length, fixture.expected.canonical.length + fixture.expected.pending.length);
122
+ });
123
+ test('orders competing tips at the same height deterministically', async () => {
124
+ const atTip = (await query({ status: BlockStatusFilter.pending })).filter((u) => u.blockInfo.height === fixture.heights.lastPending);
125
+ assert.ok(atTip.length >= 2, 'fixture must have two competing tips');
126
+ const hashes = atTip.map((u) => u.blockInfo.stateHash);
127
+ assert.deepStrictEqual(hashes, [...hashes].sort(), 'occurrences at one height must be ordered by state hash');
128
+ });
129
+ test('repeats the same order on every run', async () => {
130
+ const runs = await Promise.all([query(), query(), query(), query()]);
131
+ const first = JSON.stringify(runs[0].map(shapeOf));
132
+ for (const run of runs.slice(1)) {
133
+ assert.strictEqual(JSON.stringify(run.map(shapeOf)), first);
134
+ }
135
+ });
136
+ test('orders account updates inside one command by their position', async () => {
137
+ const inFirstBlock = (await query({ status: BlockStatusFilter.canonical })).filter((u) => u.blockInfo.height === fixture.heights.firstCommand);
138
+ assert.deepStrictEqual(inFirstBlock.map((u) => u.address), fixture.expected.canonical
139
+ .filter((o) => o.height === fixture.heights.firstCommand)
140
+ .map((o) => o.address));
141
+ });
142
+ test('from is inclusive and to is exclusive', async () => {
143
+ const height = fixture.heights.firstCommand;
144
+ const inRange = await query({ from: height, to: height + 1 });
145
+ assert.ok(inRange.length > 0);
146
+ assert.ok(inRange.every((u) => u.blockInfo.height === height));
147
+ const next = await query({ from: height + 1, to: height + 2 });
148
+ assert.ok(next.every((u) => u.blockInfo.height === height + 1));
149
+ assert.ok(!next.some((u) => u.blockInfo.height === height), 'the from bound must exclude everything below it');
150
+ });
151
+ test('rejects an empty range before it reaches the database', async () => {
152
+ const height = fixture.heights.firstCommand;
153
+ await assert.rejects(query({ from: height, to: height }), (error) => {
154
+ assert.match(error.message, /to must be greater than from/);
155
+ return true;
156
+ });
157
+ });
158
+ });
159
+ //# sourceMappingURL=verification-key-updates.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verification-key-updates.test.js","sourceRoot":"","sources":["../../../tests/integration/verification-key-updates.test.ts"],"names":[],"mappings":"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"}
@@ -5,11 +5,15 @@ import { getZkappsWithPendingEventsQuery } from '../../src/db/sql/events-actions
5
5
  import { after, before, describe, it } from 'node:test';
6
6
  import assert from 'node:assert';
7
7
  import { readFileSync } from 'node:fs';
8
- import { fileURLToPath } from 'node:url';
9
- import { dirname, join } from 'node:path';
10
- const __dirname = dirname(fileURLToPath(import.meta.url));
11
- const J1fu_65_66 = JSON.parse(readFileSync(join(__dirname, 'fixtures/B62qpHtWX41NstxzzUe8xooKogqomDwgJ4CN8J3V2274v5B9dnfJ1fu_65_66.json'), 'utf-8'));
12
- const J1fu_84_83 = JSON.parse(readFileSync(join(__dirname, 'fixtures/B62qpHtWX41NstxzzUe8xooKogqomDwgJ4CN8J3V2274v5B9dnfJ1fu_84_83.json'), 'utf-8'));
8
+ import { join } from 'node:path';
9
+ const fixturesDir = join(process.cwd(), 'tests/live-api/fixtures');
10
+ const FIXTURE_NETWORK = 'mainnet';
11
+ const fixtureNetwork = process.env.LIVE_API_NETWORK;
12
+ const describeOnFixtureNetwork = fixtureNetwork === undefined || fixtureNetwork === FIXTURE_NETWORK
13
+ ? describe
14
+ : describe.skip;
15
+ const J1fu_65_66 = JSON.parse(readFileSync(join(fixturesDir, 'B62qpHtWX41NstxzzUe8xooKogqomDwgJ4CN8J3V2274v5B9dnfJ1fu_65_66.json'), 'utf-8'));
16
+ const J1fu_84_83 = JSON.parse(readFileSync(join(fixturesDir, 'B62qpHtWX41NstxzzUe8xooKogqomDwgJ4CN8J3V2274v5B9dnfJ1fu_84_83.json'), 'utf-8'));
13
17
  let db_client;
14
18
  let zkappsWithPendingEvents;
15
19
  const endpoint = process.env.STAGING_GRAPHQL_ENDPOINT ||
@@ -62,7 +66,7 @@ describe('Events', () => {
62
66
  assert(totalEvents.length > 0, 'No events found for zkapps with pending actions');
63
67
  });
64
68
  });
65
- describe('Canonical Chain', () => {
69
+ describeOnFixtureNetwork(`Canonical Chain (fixtures: ${FIXTURE_NETWORK})`, () => {
66
70
  it('Block Filter', async () => {
67
71
  const totalEvents = [];
68
72
  const input = {
@@ -77,7 +81,7 @@ describe('Events', () => {
77
81
  assert.deepStrictEqual(data, J1fu_65_66);
78
82
  });
79
83
  });
80
- describe('Canonical Chain', () => {
84
+ describeOnFixtureNetwork(`Canonical Chain (fixtures: ${FIXTURE_NETWORK})`, () => {
81
85
  it('Block Filter with several blocks', async () => {
82
86
  const totalEvents = [];
83
87
  const input = {
@@ -1 +1 @@
1
- {"version":3,"file":"events.test.js","sourceRoot":"","sources":["../../../tests/live-api/events.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.test.js","sourceRoot":"","sources":["../../../tests/live-api/events.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,+BAA+B,EAAE,MAAM,4CAA4C,CAAC;AAC7F,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAExD,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAUjC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,yBAAyB,CAAC,CAAC;AAcnE,MAAM,eAAe,GAAG,SAAS,CAAC;AAQlC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;AACpD,MAAM,wBAAwB,GAC5B,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,eAAe;IAChE,CAAC,CAAC,QAAQ;IACV,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;AAGpB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAC3B,YAAY,CACV,IAAI,CACF,WAAW,EACX,oEAAoE,CACrE,EACD,OAAO,CACR,CACF,CAAC;AACF,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAC3B,YAAY,CACV,IAAI,CACF,WAAW,EACX,oEAAoE,CACrE,EACD,OAAO,CACR,CACF,CAAC;AAEF,IAAI,SAAsC,CAAC;AAC3C,IAAI,uBAAiC,CAAC;AAEtC,MAAM,QAAQ,GACZ,OAAO,CAAC,GAAG,CAAC,wBAAwB;IACpC,yCAAyC,CAAC;AAC5C,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAC;AAE3C,MAAM,cAAc,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;CAkBzB,CAAC;AAEF,MAAM,CAAC,KAAK,IAAI,EAAE;IAChB,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACxB,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1C,uBAAuB,GAAG,CACxB,MAAM,+BAA+B,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAC3D,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,KAAK,CAAC,KAAK,IAAI,EAAE;IACf,IAAI,SAAS;QAAE,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC;AACvC,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IAEtB,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE;QAElC,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YAC1E,MAAM,WAAW,GAAU,EAAE,CAAC;YAC9B,KAAK,MAAM,SAAS,IAAI,uBAAuB,EAAE,CAAC;gBAChD,MAAM,KAAK,GAAG;oBACZ,OAAO,EAAE,SAAS;oBAClB,MAAM,EAAE,SAAS;iBAClB,CAAC;gBACF,MAAM,IAAI,GAAkB,MAAM,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE;oBAC/D,KAAK;iBACN,CAAC,CAAC;gBACH,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACzB,MAAM,CACJ,WAAW,CAAC,MAAM,GAAG,CAAC,EACtB,iDAAiD,CAClD,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,wBAAwB,CACtB,8BAA8B,eAAe,GAAG,EAChD,GAAG,EAAE;QACH,EAAE,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;YAC5B,MAAM,WAAW,GAAU,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG;gBACZ,OAAO,EAAE,yDAAyD;gBAClE,IAAI,EAAE,MAAM;gBACZ,EAAE,EAAE,MAAM;aACX,CAAC;YACF,MAAM,IAAI,GAAkB,MAAM,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE;gBAC/D,KAAK;aACN,CAAC,CAAC;YACH,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACzB,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC,CACF,CAAC;IACF,wBAAwB,CACtB,8BAA8B,eAAe,GAAG,EAChD,GAAG,EAAE;QACH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAChD,MAAM,WAAW,GAAU,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG;gBACZ,OAAO,EAAE,yDAAyD;gBAClE,EAAE,EAAE,MAAM;gBACV,IAAI,EAAE,MAAM;aACb,CAAC;YACF,MAAM,IAAI,GAAkB,MAAM,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE;gBAC/D,KAAK;aACN,CAAC,CAAC;YACH,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACzB,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC,CACF,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -20,6 +20,7 @@ describe('Network State', () => {
20
20
  it('should return the network state', async () => {
21
21
  const data = await client.request(networkStateQuery);
22
22
  const { maxBlockHeight } = data.networkState;
23
+ assert.ok(maxBlockHeight, 'staging archive should have indexed blocks');
23
24
  const { canonicalMaxBlockHeight, pendingMaxBlockHeight } = maxBlockHeight;
24
25
  assert.strictEqual(pendingMaxBlockHeight - canonicalMaxBlockHeight, K);
25
26
  });
@@ -1 +1 @@
1
- {"version":3,"file":"networkState.test.js","sourceRoot":"","sources":["../../../tests/live-api/networkState.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAGzC,MAAM,CAAC,GAAG,GAAG,CAAC;AACd,MAAM,QAAQ,GACZ,OAAO,CAAC,GAAG,CAAC,wBAAwB;IACpC,yCAAyC,CAAC;AAC5C,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAC;AAE3C,MAAM,iBAAiB,GAAG,GAAG,CAAA;;;;;;;;;CAS5B,CAAC;AAEF,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,IAAI,GACR,MAAM,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC1C,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7C,MAAM,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,GAAG,cAAc,CAAC;QAE1E,MAAM,CAAC,WAAW,CAAC,qBAAqB,GAAG,uBAAuB,EAAE,CAAC,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"networkState.test.js","sourceRoot":"","sources":["../../../tests/live-api/networkState.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAGzC,MAAM,CAAC,GAAG,GAAG,CAAC;AACd,MAAM,QAAQ,GACZ,OAAO,CAAC,GAAG,CAAC,wBAAwB;IACpC,yCAAyC,CAAC;AAC5C,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAC;AAE3C,MAAM,iBAAiB,GAAG,GAAG,CAAA;;;;;;;;;CAS5B,CAAC;AAEF,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,IAAI,GACR,MAAM,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC1C,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7C,MAAM,CAAC,EAAE,CAAC,cAAc,EAAE,4CAA4C,CAAC,CAAC;QACxE,MAAM,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,GAAG,cAAc,CAAC;QAE1E,MAAM,CAAC,WAAW,CAAC,qBAAqB,GAAG,uBAAuB,EAAE,CAAC,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -72,6 +72,7 @@ describe('NetworkState (live network)', () => {
72
72
  });
73
73
  test('pending height >= canonical height', async () => {
74
74
  const state = await networkService.getNetworkState(nullOptions);
75
+ assert.ok(state.maxBlockHeight, 'live network should have at least one indexed block');
75
76
  assert.ok(state.maxBlockHeight.pendingMaxBlockHeight >=
76
77
  state.maxBlockHeight.canonicalMaxBlockHeight, 'pending should be >= canonical');
77
78
  });
@@ -1 +1 @@
1
- {"version":3,"file":"live-network.test.js","sourceRoot":"","sources":["../../../tests/live-network/live-network.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"live-network.test.js","sourceRoot":"","sources":["../../../tests/live-network/live-network.test.ts"],"names":[],"mappings":"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"}
@@ -5,10 +5,10 @@ import { loadSchemaSync } from '@graphql-tools/load';
5
5
  import { GraphQLFileLoader } from '@graphql-tools/graphql-file-loader';
6
6
  import { buildHTTPExecutor, } from '@graphql-tools/executor-http';
7
7
  import { parse } from 'graphql';
8
- import { Field, Lightnet, UInt64, } from 'o1js';
8
+ import { Field, Lightnet, UInt64, fetchLastBlock, } from 'o1js';
9
9
  import { resolvers } from '../src/resolvers.js';
10
10
  import { buildContext } from '../src/context.js';
11
- import { deployContract, emitAction, emitMultipleFieldsEvent, emitSingleEvent, setNetworkConfig, emitMultipleFieldsEvents, fetchNetworkState, randomStruct, } from '../zkapp/utils.js';
11
+ import { deployContract, emitAction, emitMultipleFieldsEvent, emitSingleEvent, setNetworkConfig, emitMultipleFieldsEvents, randomStruct, } from '../zkapp/utils.js';
12
12
  import { TestStruct } from '../zkapp/contract.js';
13
13
  const eventsQuery = `
14
14
  query getEvents($input: EventFilterOptionsInput!) {
@@ -104,6 +104,55 @@ describe('Query Resolvers', async () => {
104
104
  document: parse(`${networkQuery}`),
105
105
  }));
106
106
  }
107
+ async function daemonHeight() {
108
+ return Number((await fetchLastBlock()).blockchainLength.toString());
109
+ }
110
+ async function sampleStableHeights({ attempts = 30, delayMs = 1000, } = {}) {
111
+ let sample;
112
+ for (let attempt = 1; attempt <= attempts; attempt++) {
113
+ const daemonBefore = await daemonHeight();
114
+ const results = await executeNetworkStateQuery();
115
+ const archive = results.data.networkState.maxBlockHeight.pendingMaxBlockHeight;
116
+ const daemonAfter = await daemonHeight();
117
+ sample = { results, daemonBefore, archive, daemonAfter };
118
+ if (daemonBefore === daemonAfter && archive >= daemonBefore)
119
+ break;
120
+ if (attempt < attempts)
121
+ await new Promise((resolve) => setTimeout(resolve, delayMs));
122
+ }
123
+ return sample;
124
+ }
125
+ function assertArchiveMatchesDaemon({ daemonBefore, archive, daemonAfter, }) {
126
+ const values = `daemon before ${daemonBefore}, archive ${archive}, daemon after ${daemonAfter}`;
127
+ assert.strictEqual(daemonBefore, daemonAfter, `no block-free sampling window within the retry budget: ${values}`);
128
+ assert.strictEqual(archive, daemonBefore, `archive pendingMaxBlockHeight must equal the daemon blockchainLength: ${values}`);
129
+ }
130
+ async function waitForNewBlock(runQuery, countBlocks, blocksBefore, { attempts = 30, delayMs = 1000 } = {}) {
131
+ let result = await runQuery();
132
+ for (let attempt = 1; attempt < attempts; attempt++) {
133
+ if (countBlocks(result) > blocksBefore)
134
+ return result;
135
+ await new Promise((resolve) => setTimeout(resolve, delayMs));
136
+ result = await runQuery();
137
+ }
138
+ if (countBlocks(result) > blocksBefore)
139
+ return result;
140
+ throw new Error(`Archive did not index a new block within ${(attempts * delayMs) / 1000}s (still ${blocksBefore} block(s) for this address). The daemon reported ` +
141
+ `the transaction as included, so this is either archive lag beyond the ` +
142
+ `timeout or a transaction that produced no block entry.`);
143
+ }
144
+ async function emitAndQueryEvents(address, emit) {
145
+ const blocksBefore = (await executeEventsQuery({ address })).data.events
146
+ .length;
147
+ await emit();
148
+ return waitForNewBlock(() => executeEventsQuery({ address }), (result) => result.data.events.length, blocksBefore);
149
+ }
150
+ async function emitAndQueryActions(address, emit) {
151
+ const blocksBefore = (await executeActionsQuery({ address })).data.actions
152
+ .length;
153
+ await emit();
154
+ return waitForNewBlock(() => executeActionsQuery({ address }), (result) => result.data.actions.length, blocksBefore);
155
+ }
107
156
  before(async () => {
108
157
  try {
109
158
  setNetworkConfig();
@@ -140,11 +189,11 @@ describe('Query Resolvers', async () => {
140
189
  describe('NetworkState', async () => {
141
190
  let blockResponse;
142
191
  let results;
143
- let fetchedBlockchainLength;
192
+ let heights;
144
193
  before(async () => {
145
- results = await executeNetworkStateQuery();
194
+ heights = await sampleStableHeights();
195
+ results = heights.results;
146
196
  blockResponse = results.data.networkState;
147
- fetchedBlockchainLength = await fetchNetworkState(zkApp, senderKeypair);
148
197
  });
149
198
  test('Fetching the max block height should not throw', async () => {
150
199
  assert.doesNotThrow(async () => {
@@ -159,17 +208,17 @@ describe('Query Resolvers', async () => {
159
208
  blockResponse.maxBlockHeight.canonicalMaxBlockHeight);
160
209
  });
161
210
  test('Fetched max block height from archive node should match with the one from mina node', async () => {
162
- assert.deepStrictEqual(blockResponse.maxBlockHeight.pendingMaxBlockHeight, fetchedBlockchainLength);
211
+ assertArchiveMatchesDaemon(heights);
163
212
  });
164
213
  describe('Advance a block', async () => {
165
214
  before(async () => {
166
215
  await new Promise((resolve) => setTimeout(resolve, 25000));
167
- results = await executeNetworkStateQuery();
216
+ heights = await sampleStableHeights();
217
+ results = heights.results;
168
218
  blockResponse = results.data.networkState;
169
- fetchedBlockchainLength = await fetchNetworkState(zkApp, senderKeypair);
170
219
  });
171
220
  test('Fetched max block height from archive node should match the one from mina node after one block', () => {
172
- assert.deepStrictEqual(blockResponse.maxBlockHeight.pendingMaxBlockHeight, fetchedBlockchainLength);
221
+ assertArchiveMatchesDaemon(heights);
173
222
  });
174
223
  });
175
224
  });
@@ -219,10 +268,7 @@ describe('Query Resolvers', async () => {
219
268
  });
220
269
  describe('After emitting an event with a single field once', async () => {
221
270
  before(async () => {
222
- await emitSingleEvent(zkApp, senderKeypair);
223
- results = await executeEventsQuery({
224
- address: zkApp.address.toBase58(),
225
- });
271
+ results = await emitAndQueryEvents(zkApp.address.toBase58(), () => emitSingleEvent(zkApp, senderKeypair));
226
272
  eventsResponse = results.data.events;
227
273
  lastBlockEvents = eventsResponse[eventsResponse.length - 1].eventData;
228
274
  });
@@ -238,10 +284,7 @@ describe('Query Resolvers', async () => {
238
284
  let results;
239
285
  const numberOfEmits = 3;
240
286
  before(async () => {
241
- await emitSingleEvent(zkApp, senderKeypair, { numberOfEmits });
242
- results = await executeEventsQuery({
243
- address: zkApp.address.toBase58(),
244
- });
287
+ results = await emitAndQueryEvents(zkApp.address.toBase58(), () => emitSingleEvent(zkApp, senderKeypair, { numberOfEmits }));
245
288
  eventsResponse = results.data.events;
246
289
  lastBlockEvents = eventsResponse[eventsResponse.length - 1].eventData;
247
290
  });
@@ -259,10 +302,7 @@ describe('Query Resolvers', async () => {
259
302
  let results;
260
303
  const baseStruct = randomStruct();
261
304
  before(async () => {
262
- await emitMultipleFieldsEvent(zkApp, senderKeypair, undefined, baseStruct);
263
- results = await executeEventsQuery({
264
- address: zkApp.address.toBase58(),
265
- });
305
+ results = await emitAndQueryEvents(zkApp.address.toBase58(), () => emitMultipleFieldsEvent(zkApp, senderKeypair, undefined, baseStruct));
266
306
  eventsResponse = results.data.events;
267
307
  lastBlockEvents = eventsResponse[eventsResponse.length - 1].eventData;
268
308
  });
@@ -280,10 +320,7 @@ describe('Query Resolvers', async () => {
280
320
  const numberOfEmits = 3;
281
321
  const baseStruct = randomStruct();
282
322
  before(async () => {
283
- await emitMultipleFieldsEvent(zkApp, senderKeypair, { numberOfEmits }, baseStruct);
284
- results = await executeEventsQuery({
285
- address: zkApp.address.toBase58(),
286
- });
323
+ results = await emitAndQueryEvents(zkApp.address.toBase58(), () => emitMultipleFieldsEvent(zkApp, senderKeypair, { numberOfEmits }, baseStruct));
287
324
  eventsResponse = results.data.events;
288
325
  lastBlockEvents = eventsResponse[eventsResponse.length - 1].eventData;
289
326
  });
@@ -305,10 +342,7 @@ describe('Query Resolvers', async () => {
305
342
  const numberOfEmits = 3;
306
343
  const baseStruct = randomStruct();
307
344
  before(async () => {
308
- await emitMultipleFieldsEvents(zkApp, senderKeypair, { numberOfEmits }, baseStruct);
309
- results = await executeEventsQuery({
310
- address: zkApp.address.toBase58(),
311
- });
345
+ results = await emitAndQueryEvents(zkApp.address.toBase58(), () => emitMultipleFieldsEvents(zkApp, senderKeypair, { numberOfEmits }, baseStruct));
312
346
  eventsResponse = results.data.events;
313
347
  lastBlockEvents = eventsResponse[eventsResponse.length - 1].eventData;
314
348
  });
@@ -386,10 +420,7 @@ describe('Query Resolvers', async () => {
386
420
  structs: [s1, s2, s3],
387
421
  };
388
422
  before(async () => {
389
- await emitAction(zkApp, senderKeypair, undefined, testStructArray);
390
- results = await executeActionsQuery({
391
- address: zkApp.address.toBase58(),
392
- });
423
+ results = await emitAndQueryActions(zkApp.address.toBase58(), () => emitAction(zkApp, senderKeypair, undefined, testStructArray));
393
424
  actionsResponse = results.data.actions;
394
425
  lastBlockActions =
395
426
  actionsResponse[actionsResponse.length - 1].actionData;
@@ -415,10 +446,7 @@ describe('Query Resolvers', async () => {
415
446
  structs: [s1, s2, s3],
416
447
  };
417
448
  before(async () => {
418
- await emitAction(zkApp, senderKeypair, { numberOfEmits }, testStructs);
419
- results = await executeActionsQuery({
420
- address: zkApp.address.toBase58(),
421
- });
449
+ results = await emitAndQueryActions(zkApp.address.toBase58(), () => emitAction(zkApp, senderKeypair, { numberOfEmits }, testStructs));
422
450
  actionsResponse = results.data.actions;
423
451
  lastBlockActions =
424
452
  actionsResponse[actionsResponse.length - 1].actionData;
@@ -1 +1 @@
1
- {"version":3,"file":"resolvers.test.js","sourceRoot":"","sources":["../../tests/resolvers.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolvers.test.js","sourceRoot":"","sources":["../../tests/resolvers.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import { describe, test } from 'node:test';
2
+ import assert from 'node:assert';
3
+ import { BLOCK_RANGE_SIZE } from '../../../src/server/server.js';
4
+ import { VerificationKeyUpdatesService } from '../../../src/services/verification-key-updates-service/verification-key-updates-service.js';
5
+ import { TracingState } from '../../../src/tracing/tracer.js';
6
+ const nullOptions = { tracingState: new TracingState(undefined) };
7
+ function makeClient() {
8
+ const calls = [];
9
+ const client = ((...args) => {
10
+ calls.push(args);
11
+ return Promise.resolve([]);
12
+ });
13
+ return { client, calls };
14
+ }
15
+ describe('VerificationKeyUpdatesService', () => {
16
+ test('rejects an empty or reversed range before querying', async () => {
17
+ const { client, calls } = makeClient();
18
+ const service = new VerificationKeyUpdatesService(client);
19
+ await assert.rejects(service.getVerificationKeyUpdates({ verificationKeyHash: 'hash', from: 10, to: 10 }, nullOptions), (error) => error.extensions.code === 'BLOCK_RANGE_ERROR' &&
20
+ error.message === 'to must be greater than from');
21
+ assert.strictEqual(calls.length, 0);
22
+ });
23
+ test('rejects a range larger than the configured limit', async () => {
24
+ const { client, calls } = makeClient();
25
+ const service = new VerificationKeyUpdatesService(client);
26
+ await assert.rejects(service.getVerificationKeyUpdates({
27
+ verificationKeyHash: 'hash',
28
+ from: 0,
29
+ to: BLOCK_RANGE_SIZE + 1,
30
+ }, nullOptions), (error) => error.extensions.code === 'BLOCK_RANGE_ERROR' &&
31
+ error.message.includes(`maximum range is ${BLOCK_RANGE_SIZE}`));
32
+ assert.strictEqual(calls.length, 0);
33
+ });
34
+ });
35
+ //# sourceMappingURL=verification-key-updates-service.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verification-key-updates-service.test.js","sourceRoot":"","sources":["../../../../tests/services/verification-key-updates-service/verification-key-updates-service.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,MAAM,MAAM,aAAa,CAAC;AAGjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,6BAA6B,EAAE,MAAM,4FAA4F,CAAC;AAC3I,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,MAAM,WAAW,GAAG,EAAE,YAAY,EAAE,IAAI,YAAY,CAAC,SAAgB,CAAC,EAAE,CAAC;AAEzE,SAAS,UAAU;IACjB,MAAM,KAAK,GAAgB,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,IAAe,EAAE,EAAE;QACrC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC,CAA4B,CAAC;IAC9B,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAC3B,CAAC;AAED,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC7C,IAAI,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,6BAA6B,CAAC,MAAM,CAAC,CAAC;QAE1D,MAAM,MAAM,CAAC,OAAO,CAClB,OAAO,CAAC,yBAAyB,CAC/B,EAAE,mBAAmB,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EACjD,WAAW,CACZ,EACD,CAAC,KAAmB,EAAE,EAAE,CACtB,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,mBAAmB;YAC7C,KAAK,CAAC,OAAO,KAAK,8BAA8B,CACnD,CAAC;QACF,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAClE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,6BAA6B,CAAC,MAAM,CAAC,CAAC;QAE1D,MAAM,MAAM,CAAC,OAAO,CAClB,OAAO,CAAC,yBAAyB,CAC/B;YACE,mBAAmB,EAAE,MAAM;YAC3B,IAAI,EAAE,CAAC;YACP,EAAE,EAAE,gBAAgB,GAAG,CAAC;SACzB,EACD,WAAW,CACZ,EACD,CAAC,KAAmB,EAAE,EAAE,CACtB,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,mBAAmB;YAC7C,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,gBAAgB,EAAE,CAAC,CACjE,CAAC;QACF,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}