@layerzerolabs/gated-transaction 0.0.30 → 0.0.32

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 (52) hide show
  1. package/.turbo/turbo-build.log +29 -29
  2. package/.turbo/turbo-test.log +4 -4
  3. package/dist/{AYIRG6WY.cjs → 3SOQJCDG.cjs} +16 -4
  4. package/dist/3SOQJCDG.cjs.map +1 -0
  5. package/dist/{QGZD4SJ4.cjs → 422FLJZW.cjs} +5 -5
  6. package/dist/422FLJZW.cjs.map +1 -0
  7. package/dist/{G6VJTMIX.cjs → 4ND4S3IS.cjs} +23 -24
  8. package/dist/4ND4S3IS.cjs.map +1 -0
  9. package/dist/{SSSLF3RI.js → BCFOKBQQ.js} +104 -59
  10. package/dist/BCFOKBQQ.js.map +1 -0
  11. package/dist/{5HWOSUJL.js → PGJAXI5M.js} +23 -25
  12. package/dist/PGJAXI5M.js.map +1 -0
  13. package/dist/{DBJG544E.js → TLPNG7S6.js} +3 -3
  14. package/dist/TLPNG7S6.js.map +1 -0
  15. package/dist/{VKTX7ABN.cjs → TYY6L3E5.cjs} +108 -63
  16. package/dist/TYY6L3E5.cjs.map +1 -0
  17. package/dist/WWHK47IY.js +25 -0
  18. package/dist/WWHK47IY.js.map +1 -0
  19. package/dist/gatedTransactionSignalLock.cjs +5 -5
  20. package/dist/gatedTransactionSignalLock.d.ts +2 -4
  21. package/dist/gatedTransactionSignalLock.d.ts.map +1 -1
  22. package/dist/gatedTransactionSignalLock.js +2 -2
  23. package/dist/gatedTx.cjs +7 -3
  24. package/dist/gatedTx.d.ts +28 -5
  25. package/dist/gatedTx.d.ts.map +1 -1
  26. package/dist/gatedTx.js +1 -1
  27. package/dist/index.cjs +25 -17
  28. package/dist/index.js +4 -4
  29. package/dist/resolver.cjs +5 -5
  30. package/dist/resolver.d.ts +5 -9
  31. package/dist/resolver.d.ts.map +1 -1
  32. package/dist/resolver.js +3 -3
  33. package/dist/types.cjs +11 -7
  34. package/dist/types.d.ts +53 -71
  35. package/dist/types.d.ts.map +1 -1
  36. package/dist/types.js +1 -1
  37. package/package.json +9 -8
  38. package/src/gatedTransactionSignalLock.ts +3 -6
  39. package/src/gatedTx.ts +53 -6
  40. package/src/resolver.ts +150 -59
  41. package/src/types.ts +135 -71
  42. package/test/resolver.test.ts +151 -6
  43. package/tsconfig.tsbuildinfo +1 -0
  44. package/dist/5HWOSUJL.js.map +0 -1
  45. package/dist/5INFRBMB.js +0 -14
  46. package/dist/5INFRBMB.js.map +0 -1
  47. package/dist/AYIRG6WY.cjs.map +0 -1
  48. package/dist/DBJG544E.js.map +0 -1
  49. package/dist/G6VJTMIX.cjs.map +0 -1
  50. package/dist/QGZD4SJ4.cjs.map +0 -1
  51. package/dist/SSSLF3RI.js.map +0 -1
  52. package/dist/VKTX7ABN.cjs.map +0 -1
@@ -2,7 +2,11 @@ import { describe, expect, test, vi } from 'vitest';
2
2
 
3
3
  import { WorkflowFunctions } from '@layerzerolabs/common-workflow';
4
4
 
5
- import { constructGatedTransaction, getIdForGatedTransaction } from '../src/gatedTx';
5
+ import {
6
+ constructGatedTransaction,
7
+ constructGatedTransactionFromPointer,
8
+ getIdForGatedTransaction,
9
+ } from '../src/gatedTx';
6
10
  import { resolveGatedTransactions } from '../src/resolver';
7
11
  import type { GatedTransaction } from '../src/types';
8
12
  import { GatedTransactionStatus } from '../src/types';
@@ -10,22 +14,18 @@ import { GatedTransactionStatus } from '../src/types';
10
14
  type Handler = {
11
15
  initial?: (...args: any[]) => any | Promise<any>;
12
16
  final?: (...args: any[]) => any | Promise<any>;
13
- throwsInitial?: any;
14
- throwsFinal?: any;
15
17
  };
16
18
 
17
19
  const makeRegistry = (handlers: Record<string, Handler>) => ({
18
20
  callByPointer: async (fn: string, params: any[]) => {
19
21
  const h = handlers[fn];
20
22
  if (!h) throw new Error(`No handler for ${fn}`);
21
- const isFinal = params.length > 0;
23
+ const isFinal = params.length > 0 || (h.final != null && h.initial == null);
22
24
  if (isFinal) {
23
- if (h.throwsFinal !== undefined) throw h.throwsFinal;
24
25
  if (h.final) return await h.final(...params);
25
26
  if (h.initial) return await h.initial(...params);
26
27
  return undefined;
27
28
  }
28
- if (h.throwsInitial !== undefined) throw h.throwsInitial;
29
29
  if (h.initial) return await h.initial(...params);
30
30
  return undefined;
31
31
  },
@@ -34,6 +34,7 @@ const makeRegistry = (handlers: Record<string, Handler>) => ({
34
34
  const makeTx = (name: string, functionPointer: string, expected: any, deps?: GatedTransaction[]) =>
35
35
  constructGatedTransaction({
36
36
  name,
37
+ chainName: 'test-chain',
37
38
  transaction: { name } as any,
38
39
  check: {
39
40
  functionPointer: functionPointer as any,
@@ -212,6 +213,7 @@ describe('resolveGatedTransactions - dependency and edge cases', () => {
212
213
 
213
214
  const tx1 = constructGatedTransaction({
214
215
  name: 'X',
216
+ chainName: 'test-chain',
215
217
  transaction: { name: 'X', chainName: 'chainA' } as any,
216
218
  check: {
217
219
  functionPointer: 'checkX' as any,
@@ -223,6 +225,7 @@ describe('resolveGatedTransactions - dependency and edge cases', () => {
223
225
 
224
226
  const tx2 = constructGatedTransaction({
225
227
  name: 'X',
228
+ chainName: 'test-chain',
226
229
  transaction: { name: 'X', chainName: 'chainA' } as any,
227
230
  check: {
228
231
  functionPointer: 'checkX' as any,
@@ -248,3 +251,145 @@ describe('resolveGatedTransactions - dependency and edge cases', () => {
248
251
  expect(processTx).toHaveBeenCalledTimes(2);
249
252
  });
250
253
  });
254
+
255
+ describe('resolveGatedTransactions - functional transactions', () => {
256
+ test('functional transaction without dependencies builds and succeeds', async () => {
257
+ const registry = makeRegistry({
258
+ buildFn: {
259
+ final: () => ({ name: 'F', built: true }) as any,
260
+ },
261
+ checkF: {
262
+ initial: () => false,
263
+ final: () => true,
264
+ },
265
+ });
266
+
267
+ const processTx = vi.fn(async (tx) => {
268
+ expect(tx).toMatchObject({ name: 'F', built: true });
269
+ return makeProcessedTx();
270
+ });
271
+
272
+ const txF = constructGatedTransactionFromPointer({
273
+ name: 'F',
274
+ chainName: 'test-chain',
275
+ dependencies: [],
276
+ check: {
277
+ functionPointer: 'checkF' as any,
278
+ params: [],
279
+ expectedResult: { operator: '=', comparisonValue: true },
280
+ },
281
+ getTransactionPointer: 'buildFn' as any,
282
+ uniqueIdKeys: { name: 'F' },
283
+ });
284
+
285
+ const [resF] = await resolveGatedTransactions({
286
+ activityRegistry: registry as any,
287
+ gatedTxes: [txF],
288
+ processTx,
289
+ fn: makeFn(),
290
+ });
291
+
292
+ expect(resF.result.status).toBe(GatedTransactionStatus.SUCCESS);
293
+ expect(processTx).toHaveBeenCalledTimes(1);
294
+ });
295
+
296
+ test('functional transaction builds from dependency data and succeeds', async () => {
297
+ const registry = makeRegistry({
298
+ depCheck: {
299
+ initial: () => false,
300
+ final: () => 10,
301
+ },
302
+ buildFromDep: {
303
+ final: (...deps: any[]) => ({ name: 'F2', builtFrom: deps[0] }) as any,
304
+ },
305
+ checkF2: {
306
+ initial: () => false,
307
+ final: () => true,
308
+ },
309
+ });
310
+
311
+ const dep = constructGatedTransaction({
312
+ name: 'Dep',
313
+ chainName: 'test-chain',
314
+ transaction: { name: 'DepTx' } as any,
315
+ check: {
316
+ functionPointer: 'depCheck' as any,
317
+ params: [],
318
+ expectedResult: { operator: '=', comparisonValue: 10 },
319
+ },
320
+ uniqueIdKeys: { name: 'Dep' },
321
+ });
322
+
323
+ const func = constructGatedTransactionFromPointer({
324
+ name: 'F2',
325
+ chainName: 'test-chain',
326
+ check: {
327
+ functionPointer: 'checkF2' as any,
328
+ params: [],
329
+ expectedResult: { operator: '=', comparisonValue: true },
330
+ },
331
+ getTransactionPointer: 'buildFromDep' as any,
332
+ uniqueIdKeys: { name: 'F2' },
333
+ dependencies: [dep],
334
+ });
335
+
336
+ const processTx = vi.fn(async (tx) => {
337
+ // ensure the built tx used dependency output (10)
338
+ if (tx.name === 'F2') {
339
+ delete (dep as any).transaction;
340
+ delete (dep as any).transactionType;
341
+ expect(tx.builtFrom[0]).toMatchObject(dep);
342
+ }
343
+ return makeProcessedTx();
344
+ });
345
+
346
+ const [resDep, resFunc] = await resolveGatedTransactions({
347
+ activityRegistry: registry as any,
348
+ gatedTxes: [dep, func],
349
+ processTx,
350
+ fn: makeFn(),
351
+ });
352
+
353
+ expect(resDep.result.status).toBe(GatedTransactionStatus.SUCCESS);
354
+ expect(resFunc.result.status).toBe(GatedTransactionStatus.SUCCESS);
355
+ expect(processTx).toHaveBeenCalledTimes(2);
356
+ });
357
+
358
+ test('functional getTransactionPointer error yields TRANSACTION_FAILED', async () => {
359
+ const registry = makeRegistry({
360
+ buildBad: {
361
+ final: () => {
362
+ throw new Error('build failed');
363
+ },
364
+ },
365
+ checkFBad: {
366
+ initial: () => false,
367
+ },
368
+ });
369
+
370
+ const processTx = vi.fn(async (_tx) => makeProcessedTx());
371
+
372
+ const tx = constructGatedTransactionFromPointer({
373
+ name: 'FBad',
374
+ chainName: 'test-chain',
375
+ dependencies: [],
376
+ check: {
377
+ functionPointer: 'checkFBad' as any,
378
+ params: [],
379
+ expectedResult: { operator: '=', comparisonValue: true },
380
+ },
381
+ getTransactionPointer: 'buildBad' as any,
382
+ uniqueIdKeys: { name: 'FBad' },
383
+ });
384
+
385
+ const [res] = await resolveGatedTransactions({
386
+ activityRegistry: registry as any,
387
+ gatedTxes: [tx],
388
+ processTx,
389
+ fn: makeFn(),
390
+ });
391
+
392
+ expect(res.result.status).toBe(GatedTransactionStatus.TRANSACTION_FAILED);
393
+ expect(processTx).toHaveBeenCalledTimes(0);
394
+ });
395
+ });
@@ -0,0 +1 @@
1
+ {"fileNames":["../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/.pnpm/typescript@5.8.2/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/core/standard-schema.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/core/util.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/core/versions.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/core/schemas.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/core/checks.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/core/errors.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/core/core.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/core/parse.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/core/regexes.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/locales/ar.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/locales/az.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/locales/be.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/locales/ca.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/locales/cs.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/locales/de.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/locales/en.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/locales/es.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/locales/fa.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/locales/fi.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/locales/fr.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/locales/fr-CA.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/locales/he.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/locales/hu.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/locales/id.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/locales/it.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/locales/ja.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/locales/kh.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/locales/ko.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/locales/mk.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/locales/ms.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/locales/nl.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/locales/no.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/locales/ota.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/locales/pl.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/locales/pt.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/locales/ru.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/locales/sl.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/locales/sv.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/locales/ta.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/locales/th.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/locales/tr.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/locales/ua.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/locales/ur.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/locales/vi.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/locales/zh-CN.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/locales/zh-TW.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/locales/index.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/core/registries.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/core/doc.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/core/function.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/core/api.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/core/json-schema.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/core/to-json-schema.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/core/index.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/v4/core/index.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/classic/errors.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/classic/parse.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/classic/schemas.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/classic/checks.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/classic/compat.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/classic/iso.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/classic/coerce.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/classic/external.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/classic/index.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/dist/types/v4/index.d.ts","../../node_modules/.pnpm/zod@3.25.56/node_modules/zod/v4/index.d.ts","../../tools/ts-command-line-args/dist/contracts.d.ts","../../tools/ts-command-line-args/dist/parse.d.ts","../../tools/ts-command-line-args/dist/helpers/command-line.helper.d.ts","../../tools/ts-command-line-args/dist/helpers/add-content.helper.d.ts","../../tools/ts-command-line-args/dist/helpers/markdown.helper.d.ts","../../tools/ts-command-line-args/dist/helpers/visitor.d.ts","../../tools/ts-command-line-args/dist/helpers/line-ending.helper.d.ts","../../tools/ts-command-line-args/dist/helpers/options.helper.d.ts","../../tools/ts-command-line-args/dist/helpers/string.helper.d.ts","../../tools/ts-command-line-args/dist/helpers/insert-code.helper.d.ts","../../tools/ts-command-line-args/dist/helpers/index.d.ts","../../tools/ts-command-line-args/dist/index.d.ts","../common/common-workflow/dist/args.d.ts","../common/common-utils/dist/bigint.d.ts","../common/common-utils/dist/concurrency.d.ts","../common/common-utils/dist/dedup.d.ts","../common/common-utils/dist/distPath.d.ts","../typescript-utils/dist/advancedRecord.d.ts","../typescript-utils/dist/branded.d.ts","../typescript-utils/dist/constructor.d.ts","../typescript-utils/dist/deep.d.ts","../typescript-utils/dist/disallowedAny.d.ts","../typescript-utils/dist/identity.d.ts","../typescript-utils/dist/lastOf.d.ts","../typescript-utils/dist/viem.d.ts","../typescript-utils/dist/merge.d.ts","../typescript-utils/dist/methodOf.d.ts","../typescript-utils/dist/removeNever.d.ts","../typescript-utils/dist/strings.d.ts","../typescript-utils/dist/tuples.d.ts","../typescript-utils/dist/valueOf.d.ts","../typescript-utils/dist/withRequired.d.ts","../typescript-utils/dist/index.d.ts","../common/common-utils/dist/encoding.d.ts","../common/common-utils/dist/envGetters.d.ts","../common/common-utils/dist/error.d.ts","../common/common-utils/dist/eta.d.ts","../common/common-utils/dist/objects.d.ts","../common/common-utils/dist/pointer.d.ts","../common/common-utils/dist/promiseAllObj.d.ts","../../node_modules/.pnpm/@types+ms@2.1.0/node_modules/@types/ms/index.d.ts","../common/common-utils/dist/retry.d.ts","../common/common-utils/dist/streamToString.d.ts","../common/common-utils/dist/throwError.d.ts","../common/common-utils/dist/timeout.d.ts","../common/common-utils/dist/index.d.ts","../common/common-workflow/dist/signal.d.ts","../common/common-workflow/dist/handle.d.ts","../common/common-workflow/dist/functions.d.ts","../common/common-workflow/dist/workflow.d.ts","../common/common-workflow/dist/executor.d.ts","../common/common-workflow/dist/info.d.ts","../common/common-workflow/dist/utils.d.ts","../common/common-workflow/dist/index.d.ts","../common/common-chain-model/dist/address.d.ts","../common/common-chain-model/dist/bigint.d.ts","../common/common-chain-model/dist/transaction.d.ts","../common/common-chain-model/dist/index.d.ts","../zod-utils/dist/schema.d.ts","../zod-utils/dist/index.d.ts","./src/types.ts","./src/gatedTx.ts","./src/gatedTransactionSignalLock.ts","../../node_modules/.pnpm/@types+lodash@4.17.16/node_modules/@types/lodash/common/common.d.ts","../../node_modules/.pnpm/@types+lodash@4.17.16/node_modules/@types/lodash/common/array.d.ts","../../node_modules/.pnpm/@types+lodash@4.17.16/node_modules/@types/lodash/common/collection.d.ts","../../node_modules/.pnpm/@types+lodash@4.17.16/node_modules/@types/lodash/common/date.d.ts","../../node_modules/.pnpm/@types+lodash@4.17.16/node_modules/@types/lodash/common/function.d.ts","../../node_modules/.pnpm/@types+lodash@4.17.16/node_modules/@types/lodash/common/lang.d.ts","../../node_modules/.pnpm/@types+lodash@4.17.16/node_modules/@types/lodash/common/math.d.ts","../../node_modules/.pnpm/@types+lodash@4.17.16/node_modules/@types/lodash/common/number.d.ts","../../node_modules/.pnpm/@types+lodash@4.17.16/node_modules/@types/lodash/common/object.d.ts","../../node_modules/.pnpm/@types+lodash@4.17.16/node_modules/@types/lodash/common/seq.d.ts","../../node_modules/.pnpm/@types+lodash@4.17.16/node_modules/@types/lodash/common/string.d.ts","../../node_modules/.pnpm/@types+lodash@4.17.16/node_modules/@types/lodash/common/util.d.ts","../../node_modules/.pnpm/@types+lodash@4.17.16/node_modules/@types/lodash/index.d.ts","../../node_modules/.pnpm/@types+lodash.isequal@4.5.8/node_modules/@types/lodash.isequal/index.d.ts","../common/common-activities/dist/config.d.ts","../common/common-activities/dist/registry.d.ts","../common/common-activities/dist/utils.d.ts","../common/common-activities/dist/index.d.ts","./src/resolver.ts","./src/index.ts","../../node_modules/.pnpm/@types+estree@1.0.8/node_modules/@types/estree/index.d.ts","../../node_modules/.pnpm/@types+json-schema@7.0.15/node_modules/@types/json-schema/index.d.ts","../../node_modules/.pnpm/@types+eslint@9.6.1/node_modules/@types/eslint/use-at-your-own-risk.d.ts","../../node_modules/.pnpm/@types+eslint@9.6.1/node_modules/@types/eslint/index.d.ts","../../node_modules/.pnpm/@types+eslint-scope@3.7.7/node_modules/@types/eslint-scope/index.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/compatibility/disposable.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/compatibility/indexable.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/compatibility/iterators.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/compatibility/index.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/globals.typedarray.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/buffer.buffer.d.ts","../../node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.d.ts","../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/header.d.ts","../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/readable.d.ts","../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/file.d.ts","../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/fetch.d.ts","../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/formdata.d.ts","../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/connector.d.ts","../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/client.d.ts","../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/errors.d.ts","../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/dispatcher.d.ts","../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/global-origin.d.ts","../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/pool-stats.d.ts","../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/pool.d.ts","../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/handlers.d.ts","../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/balanced-pool.d.ts","../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/agent.d.ts","../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/mock-agent.d.ts","../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/mock-client.d.ts","../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/mock-pool.d.ts","../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/mock-errors.d.ts","../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/proxy-agent.d.ts","../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/retry-handler.d.ts","../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/retry-agent.d.ts","../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/api.d.ts","../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/interceptors.d.ts","../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/util.d.ts","../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/cookies.d.ts","../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/patch.d.ts","../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/websocket.d.ts","../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/eventsource.d.ts","../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/filereader.d.ts","../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/content-type.d.ts","../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/cache.d.ts","../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/index.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/globals.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/assert.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/assert/strict.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/async_hooks.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/buffer.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/child_process.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/cluster.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/console.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/constants.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/crypto.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/dgram.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/dns.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/dns/promises.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/domain.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/dom-events.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/events.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/fs.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/fs/promises.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/http.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/http2.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/https.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/inspector.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/module.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/net.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/os.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/path.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/perf_hooks.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/process.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/punycode.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/querystring.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/readline.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/readline/promises.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/repl.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/sea.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/sqlite.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/stream.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/stream/promises.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/stream/consumers.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/stream/web.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/string_decoder.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/test.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/timers.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/timers/promises.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/tls.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/trace_events.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/tty.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/url.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/util.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/v8.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/vm.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/wasi.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/worker_threads.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/zlib.d.ts","../../node_modules/.pnpm/@types+node@22.13.14/node_modules/@types/node/index.d.ts"],"fileIdsList":[[207,210,217,260],[207,208,209,217,260],[210,217,260],[217,260],[199,217,260],[187,189,190,191,192,193,194,195,196,197,198,199,217,260],[187,188,190,191,192,193,194,195,196,197,198,199,217,260],[188,189,190,191,192,193,194,195,196,197,198,199,217,260],[187,188,189,191,192,193,194,195,196,197,198,199,217,260],[187,188,189,190,192,193,194,195,196,197,198,199,217,260],[187,188,189,190,191,193,194,195,196,197,198,199,217,260],[187,188,189,190,191,192,194,195,196,197,198,199,217,260],[187,188,189,190,191,192,193,195,196,197,198,199,217,260],[187,188,189,190,191,192,193,194,196,197,198,199,217,260],[187,188,189,190,191,192,193,194,195,197,198,199,217,260],[187,188,189,190,191,192,193,194,195,196,198,199,217,260],[187,188,189,190,191,192,193,194,195,196,197,199,217,260],[187,188,189,190,191,192,193,194,195,196,197,198,217,260],[217,257,260],[217,259,260],[260],[217,260,265,295],[217,260,261,266,272,273,280,292,303],[217,260,261,262,272,280],[212,213,214,217,260],[217,260,263,304],[217,260,264,265,273,281],[217,260,265,292,300],[217,260,266,268,272,280],[217,259,260,267],[217,260,268,269],[217,260,272],[217,260,270,272],[217,259,260,272],[217,260,272,273,274,292,303],[217,260,272,273,274,287,292,295],[217,255,260,308],[217,255,260,268,272,275,280,292,303],[217,260,272,273,275,276,280,292,300,303],[217,260,275,277,292,300,303],[215,216,217,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309],[217,260,272,278],[217,260,279,303],[217,260,268,272,280,292],[217,260,281],[217,260,282],[217,259,260,283],[217,257,258,259,260,261,262,263,264,265,266,267,268,269,270,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309],[217,260,285],[217,260,286],[217,260,272,287,288],[217,260,287,289,304,306],[217,260,272,292,293,295],[217,260,294,295],[217,260,292,293],[217,260,295],[217,260,296],[217,257,260,292],[217,260,272,298,299],[217,260,298,299],[217,260,265,280,292,300],[217,260,301],[217,260,280,302],[217,260,275,286,303],[217,260,265,304],[217,260,292,305],[217,260,279,306],[217,260,307],[217,260,265,272,274,283,292,303,306,308],[217,260,292,309],[217,227,231,260,303],[217,227,260,292,303],[217,222,260],[217,224,227,260,300,303],[217,260,280,300],[217,260,310],[217,222,260,310],[217,224,227,260,280,303],[217,219,220,223,226,260,272,292,303],[217,227,234,260],[217,219,225,260],[217,227,248,249,260],[217,223,227,260,295,303,310],[217,248,260,310],[217,221,222,260,310],[217,227,260],[217,221,222,223,224,225,226,227,228,229,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,249,250,251,252,253,254,260],[217,227,242,260],[217,227,234,235,260],[217,225,227,235,236,260],[217,226,260],[217,219,222,227,260],[217,227,231,235,236,260],[217,231,260],[217,225,227,230,260,303],[217,219,224,227,234,260],[217,260,292],[217,222,227,248,260,308,310],[112,217,260],[112,115,217,260],[104,112,113,114,115,116,117,118,119,217,260],[120,217,260],[112,113,217,260],[112,114,217,260],[59,61,62,63,64,217,260],[59,61,63,64,217,260],[59,61,63,217,260],[59,61,62,64,217,260],[59,61,64,217,260],[59,60,61,62,63,64,65,66,104,105,106,107,108,109,110,217,260],[61,64,217,260],[58,59,60,62,63,64,217,260],[61,105,109,217,260],[61,62,63,64,217,260],[121,217,260],[63,217,260],[67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,217,260],[111,217,260],[122,217,260],[164,169,217,260],[201,202,203,217,260],[169,201,217,260],[169,217,260],[123,156,217,260],[178,179,180,217,260],[123,217,260],[156,217,260],[137,138,139,140,157,158,159,160,161,162,163,165,166,167,168,217,260],[164,217,260],[123,135,217,260],[123,156,169,170,171,173,217,260],[123,164,170,171,173,174,217,260],[170,217,260],[136,170,171,172,173,174,175,176,217,260],[123,170,172,174,217,260],[177,184,185,217,260],[169,181,184,217,260],[184,185,186,205,217,260],[177,181,184,185,200,204,217,260],[123,156,169,181,183,217,260],[141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,217,260],[148,217,260],[142,217,260],[112,123,182,217,260],[124,217,260],[126,127,128,129,130,131,132,133,217,260],[124,125,134,217,260]],"fileInfos":[{"version":"69684132aeb9b5642cbcd9e22dff7818ff0ee1aa831728af0ecf97d3364d5546","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"b5ce7a470bc3628408429040c4e3a53a27755022a32fd05e2cb694e7015386c7","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"309ebd217636d68cf8784cbc3272c16fb94fb8e969e18b6fe88c35200340aef1","impliedFormat":1},{"version":"f6ce19b569f9b61fee554cf9defbcc46c1cb23127eeac01dec4db1cf76fc9d0a","impliedFormat":1},{"version":"ef9b6279acc69002a779d0172916ef22e8be5de2d2469ff2f4bb019a21e89de2","impliedFormat":1},{"version":"a83c5493df0e3bc4cb511b5fd47261b9d1ef0cda8671c384fcea47b8b8e3c1b8","affectsGlobalScope":true,"impliedFormat":1},{"version":"2b060d4870c5310da5674b70508f943f8fb0bb899397161d6745ebdff9e803ec","impliedFormat":1},{"version":"6c859096094c744d2dd7b733189293a5b2af535e15f7794e69a3b4288b70dcfc","impliedFormat":1},{"version":"915d51e1bcd9b06ab8c922360b3f74ffe70c2ab6264f759f2b3e5f4130df0149","impliedFormat":1},{"version":"716a022c6d311c8367d830d2839fe017699564de2d0f5446b4a6f3f022a5c0c6","impliedFormat":1},{"version":"c939cb12cb000b4ec9c3eca3fe7dee1fe373ccb801237631d9252bad10206d61","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"3b25e966fd93475d8ca2834194ea78321d741a21ca9d1f606b25ec99c1bbc29a","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"3b25e966fd93475d8ca2834194ea78321d741a21ca9d1f606b25ec99c1bbc29a","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"7ceb8bc679a90951354f89379bc37228e7cf87b753069cd7b62310d5cbbe1f11","impliedFormat":1},{"version":"e125ee5bd9c921ed2e27a13e89532c4c44ecad11711018916163f0e708faaf89","impliedFormat":1},{"version":"932dfc48e5dc36c289aeb7730324024202b27998c99cff293684495a490d7b94","impliedFormat":1},{"version":"80e653fbbec818eecfe95d182dc65a1d107b343d970159a71922ac4491caa0af","impliedFormat":1},{"version":"f978b1b63ad690ff2a8f16d6f784acaa0ba0f4bcfc64211d79a2704de34f5913","impliedFormat":1},{"version":"444bcf0bbbae1972a74458b8be75c7bc612c69226823cc0ef50297e6eea40896","impliedFormat":1},{"version":"02e75aceef20d8bfc6c625015a7c23a8a8ca3412bba55599f143057251b331a7","impliedFormat":1},{"version":"9048a2528d014161273178ece75386066d048ba4a56d9b7b4e8052ce4e3adb48","impliedFormat":1},{"version":"f5c8f2ef9603893e25ed86c7112cd2cc60d53e5387b9146c904bce3e707c55de","impliedFormat":1},{"version":"db3ea1212b188ff23aa4f32b63e459c9b55d34b44b57bcbdf401f291352483f0","impliedFormat":99},{"version":"dc01facbb7d88bc5e2eabb7c6eee80a0241538d50a5c3b210fb745683faa1dab","impliedFormat":1},{"version":"5c5197a46686814821229b28e4cfd601ef0a32f2d2d29b9a99050bac0ab03c99","impliedFormat":1},{"version":"73233f43c14afdb9ef5af3e46ab85a63ad8a9fe42bc3515ecacc3c79fd03f81c","impliedFormat":1},{"version":"2c6c3af3957e38e6a5190258a666a06893ba5a11e3501585243129afecefd037","impliedFormat":1},{"version":"13e5ea921d6f62171aab19f33a6690e3c6658eecd2e5672425e49ac30d4305e6","impliedFormat":1},{"version":"1e28020a23b28743d5bd708b9e4c7b75fdff606aa080fbaf5b8db3600d5c99cf","impliedFormat":1},{"version":"49e7f03e7e7288397725e823654fdfe61892bb5082f391057e61b9c4f1b54f16","impliedFormat":1},{"version":"b91f4919c0972651793b78baf5a06fa9a7a412d22af20122e011d0ec21506c41","impliedFormat":1},{"version":"d49030b9a324bab9bcf9f663a70298391b0f5a25328409174d86617512bf3037","impliedFormat":1},{"version":"a4b634bb8c97cc700dbf165f3bb0095ec669042da72eaf28a7c5e2ddd98169ce","impliedFormat":1},{"version":"a7578eb8461c2d07440749f89aba22881d5fca09a1d1cd46974628869fbadfa1","impliedFormat":99},"6149db0fe45d41af33067913d540b7cdf52245aa050e0b413deb55584ffd6325","9a77c7fccd0f68896c23e6b873c9ace2e840af3bd016818f17b5bef737d0a770","19851b9ee20f321d58abd141f00352d2c8d06b9df15406a9ca1ead129fedfe1b","eeba0552186c81a053a270457328bd135c8545e333f6429e3c59978fde038d2a","696a31a8e2787e6306130dfad3901642bc7859afd51ba6381e01d88274a604db","2a0134510a05bf841ca6a5e0a9f9c3141f5b39b8cd142c1f5d1c68d6bde6b990","cf62b677db6f26378a35ce4714a6dff6b056f7c9ebb345f6e9e806fc58092499","1c780be92927da65ffa889881b65b46fa46620843758c157785f82e5e548d401","c45936e71d23f3376ae870733d56a7365edf62aa309241c56c5164ba82032dee","58c2b30db75e08cb415c5bd6de87ee94efd5e4ebeb0411080814fb6bcdb29bb6","f6bd84e9ebc308e2f13d9ba85fa1a5d4010622135c80d283cd58a807ce8a2f60","c4f64fc87c433f80b9e24192832f982b69553e2c092995ef87addc5be7e5ab57","f348a449c16a1d44c8b84f2844e50d24b333aa2f082432a8f4f732be1bc94ec2","31efb808d93722336e66d37b845de30e59612dbd101e51143edbe924e9db7b70","b4a6e6399c09b326264d8a814bad155965c7e1997a09f6f479557d3ecdb2ded4","df4e0ab3a70d92f52963b1458761999337a642fef4aa9fc533bc24566eb789c3","2b3a5a45c91b2dc164a0ce06bbfc873b9da53aa165181c325fb689a465d7abad","984b13152fc368ee3b17e71baf97226dcc81b76891eedf4c0a64ca41064c258a","213925780d25d079f6798d59e75b05db7aa150a7f63270222b2b01d04ba84d45","414a88187af3315cb0e64e1e59f63a97c9590693a855c3ab07cc156fbeb49829","445a41455015aad3463a5fe3ddcf3ac8beba15d847ef236ed613aaf54ed53e86","de536c451d19649603e4447fbbcc9108a9fd34b0e0915c233ad5bcbd8f9518bd","7ecabfd526013bb2e1302070d40b206d6e26af16c3d1530616e4b55a2da3ced4","60d4678c4a03b999e1717499d9f2012326e8dff489f746e2469fc8e17ba6bdb6","ed7834b84212af1df8d8c2e047c9e1fce050e915e9f7d0d2f45e3049b52a3670","1386393623ad07ebdbd80a230a963e11f2dd426cb79f240ab7acd2308e47dbd9","e345beb53e318c5582d3cb3754df68e8fd927988bfd89bfa35737c95007d158d","0d86f6720fb165aa2abc7992cbb1355c7405596c2497c99d8201937a914deed9","c5899bdbe858591d3e925e87d8fa5ddada70f2171b110f15d552a86b5522ed79","7995102b7cd054735f26338dfb152826fe3215045cc211537607dea9f7854b73","ae6d51ed49adf4ea0614131bf1f2d768b5cb14538efcaf014c51fe722870a19b","d9cb380b3cdae8fc139273e0deb5060abde2e96aabc10e01b40ff81b41e711e3","756b1420052f597d9844248cf84263f1232aaab0539deb75d5154bcd70a85a8b","20bc934987449ec11ee1b58406ba8b2fa8a6079ba70394bf176df0b72b94cd0b","621fe32f04ccaa1a9f82787daa628a113b5d7d91b547470650961f8f007e2d05","4332ef5ef953c7c20b8124997ddc2ae39ae281c89e0ca02d8d484ca5af47414b","10e7f69d2dbfe0a02f4f5e49a282dda514591fed8887be6b92366b0f1d9b27fb","92dcb39936e81e97c61aeb7673d115c583db34409f25ac0f3d41282a749c64ca","c93d333b12bf4912e4c3dff7b91800155e621762757ac96fade0dd0c354772f1","dc7d19ca7fa238ea83807bc8b150733d3b7151da07a1860826ba13d958173e08",{"version":"fb893a0dfc3c9fb0f9ca93d0648694dd95f33cbad2c0f2c629f842981dfd4e2e","impliedFormat":1},"333324a8002e5d10350726a30b949306213b5cee07d29bdc4404720ffc8bfaf5","02d2123c3737bc018b226a9c2578b80cf5a2cf00105b47a4d53eb7820f9ceba2","c80fb853c59b0c90605bccd856f1ec83460553ced1fd25b79e561a106758dd2f","35c474f35c807913dcc5b6517beb19244a492afa0b37248c7ac9742a91fd277d","579d6fc6cc46187a32226e7fed0b14e4debfc4b501435548dc1766d18de4b70a","9ba1c54c1ae5a9e7bc631fb6158e67f03ff4632e46f3cc4f1320bc275ff78397","16d6250e1921c4e40985e1806c4972aa3eea2f18349fe2c4b5a81fcd9c8590d2","f1c06c3c51a0922cf1188cf385a1a4d01601f62184abe2655ea7ae9f268c12fb","8cbae95cdfa80e76c46c0ab58f97f5b869b4fca650ceb75debe4b85a600cf688","86ff9c6a493689ebb8003485507efc7be72dd2edab3c54a35d61033594965490","ae066c27947ce95e08bc42f9f65ff7d671e3267905c761da98963c3eaf70aa3b","a46878e385d7f44f876e4df9ecd136a5326465ee7c8146eebd22b78f924d615e","60299cc74594862382cdbbcae6b279453a299048982350d90699ffb7e7ed83fe","c8257a4b313e10e720343c711dd2ef92d661cc5a67d94a4c59db3c4ab21d2242","761211e5f70053c5cd023fac3d9753e7a7045fd76850467f0d179ff8ec1d1166","77a623532f62d7a3f36488757a99c18ca8dcbe2ab45eea219b5c42b451e9518c","e66d5b216b5cfac0cbf2b800bc6f13e0da570f870dc39ed4acb41f3aefaac4e7","b30227a8f6cd5d20b840588d63e52b63cd93218e224e3118268bab485d40a1a9","81e238d585f552468caa7ddecdf4f3ce60028366c119db362f763d80dff16185",{"version":"8e34ff1db7b12063e6ed73eaa72910069315193219b555fd4dd91804acf33e01","signature":"6aa272b97326c590bae1f503a7db349626de32e92a3e6e6fcfe200c2a13cbc9d"},{"version":"e20fa98660fbb6aeec2796ce2bbac9faf4db91de0e39915ae350795ec95e9e4c","signature":"40b3cff55d9f3ed0cabe50e617d0fc76ca539c5e15d59f21da6b10105bfc6ef3"},{"version":"8df323003e986146828556f0c945dd92b704cbd8798eeb042b99eb9e16ffc790","signature":"32eb6ebd1d22d786651ac6da0470c6307426f51e3c12021541b8f537e2d286a0"},{"version":"7220461ab7f6d600b313ce621346c315c3a0ebc65b5c6f268488c5c55b68d319","impliedFormat":1},{"version":"f90d4c1ae3af9afb35920b984ba3e41bdd43f0dc7bae890b89fbd52b978f0cac","impliedFormat":1},{"version":"fcf79300e5257a23ed3bacaa6861d7c645139c6f7ece134d15e6669447e5e6db","impliedFormat":1},{"version":"187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","impliedFormat":1},{"version":"aa2c18a1b5a086bbcaae10a4efba409cc95ba7287d8cf8f2591b53704fea3dea","impliedFormat":1},{"version":"b88749bdb18fc1398370e33aa72bc4f88274118f4960e61ce26605f9b33c5ba2","impliedFormat":1},{"version":"0aaef8cded245bf5036a7a40b65622dd6c4da71f7a35343112edbe112b348a1e","impliedFormat":1},{"version":"00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","impliedFormat":1},{"version":"a873c50d3e47c21aa09fbe1e2023d9a44efb07cc0cb8c72f418bf301b0771fd3","impliedFormat":1},{"version":"7c14ccd2eaa82619fffc1bfa877eb68a012e9fb723d07ee98db451fadb618906","impliedFormat":1},{"version":"49c36529ee09ea9ce19525af5bb84985ea8e782cb7ee8c493d9e36d027a3d019","impliedFormat":1},{"version":"df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9","impliedFormat":1},{"version":"4f6a12044ee6f458db11964153830abbc499e73d065c51c329ec97407f4b13dd","impliedFormat":1},{"version":"5c50a61c09fa0ddd49c51d7d5dbb8b538f6afec86572ec8cb31c3d176f073f13","impliedFormat":1},"76f6f2f818a213457c80ace7761f108417738bc152ec085462e2f835eee62592","06f50d136d092e162867648e2dcbd8f7c6c6cf15eb1f3c7c79c158aa78567767","52a87fbc7c25ea90f6bbdcfb08d269aec6a4dea148c91def85ac048f09ef0938","436045dde6e26309fedfc8ce7a4236614d8a528b0f026f165d33a24950ae2166",{"version":"33fb147c81e755f106b6839cd55cb1b532cbec0735601ca21a0cadc3962ef023","signature":"849b03495affe1afd0ce774625ee7e56d3128f3aa573c6070124a595a06536ad"},"d83fcb0b43261c5ca39cc74e44217e94523afc390f0123216a0925fba5c2d890",{"version":"151ff381ef9ff8da2da9b9663ebf657eac35c4c9a19183420c05728f31a6761d","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"a4a39b5714adfcadd3bbea6698ca2e942606d833bde62ad5fb6ec55f5e438ff8","impliedFormat":1},{"version":"bbc1d029093135d7d9bfa4b38cbf8761db505026cc458b5e9c8b74f4000e5e75","impliedFormat":1},{"version":"1f68ab0e055994eb337b67aa87d2a15e0200951e9664959b3866ee6f6b11a0fe","impliedFormat":1},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"030e350db2525514580ed054f712ffb22d273e6bc7eddc1bb7eda1e0ba5d395e","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"8fa51737611c21ba3a5ac02c4e1535741d58bec67c9bdf94b1837a31c97a2263","affectsGlobalScope":true,"impliedFormat":1},{"version":"4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"24bd580b5743dc56402c440dc7f9a4f5d592ad7a419f25414d37a7bfe11e342b","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"6bdc71028db658243775263e93a7db2fd2abfce3ca569c3cca5aee6ed5eb186d","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"d2bc987ae352271d0d615a420dcf98cc886aa16b87fb2b569358c1fe0ca0773d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4f0539c58717cbc8b73acb29f9e992ab5ff20adba5f9b57130691c7f9b186a4d","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"76103716ba397bbb61f9fa9c9090dca59f39f9047cb1352b2179c5d8e7f4e8d0","impliedFormat":1},{"version":"f9677e434b7a3b14f0a9367f9dfa1227dfe3ee661792d0085523c3191ae6a1a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"4314c7a11517e221f7296b46547dbc4df047115b182f544d072bdccffa57fc72","impliedFormat":1},{"version":"115971d64632ea4742b5b115fb64ed04bcaae2c3c342f13d9ba7e3f9ee39c4e7","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"9057f224b79846e3a95baf6dad2c8103278de2b0c5eebda23fc8188171ad2398","affectsGlobalScope":true,"impliedFormat":1},{"version":"19d5f8d3930e9f99aa2c36258bf95abbe5adf7e889e6181872d1cdba7c9a7dd5","impliedFormat":1},{"version":"e6f5a38687bebe43a4cef426b69d34373ef68be9a6b1538ec0a371e69f309354","impliedFormat":1},{"version":"a6bf63d17324010ca1fbf0389cab83f93389bb0b9a01dc8a346d092f65b3605f","impliedFormat":1},{"version":"e009777bef4b023a999b2e5b9a136ff2cde37dc3f77c744a02840f05b18be8ff","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"88bc59b32d0d5b4e5d9632ac38edea23454057e643684c3c0b94511296f2998c","affectsGlobalScope":true,"impliedFormat":1},{"version":"8fb11e675f5cc648bc6c344e1311e36b8dfffea8bffe575bedc0e41af77eca99","impliedFormat":1},{"version":"1e289f30a48126935a5d408a91129a13a59c9b0f8c007a816f9f16ef821e144e","impliedFormat":1},{"version":"f96a023e442f02cf551b4cfe435805ccb0a7e13c81619d4da61ec835d03fe512","impliedFormat":1},{"version":"5135bdd72cc05a8192bd2e92f0914d7fc43ee077d1293dc622a049b7035a0afb","impliedFormat":1},{"version":"4f80de3a11c0d2f1329a72e92c7416b2f7eab14f67e92cac63bb4e8d01c6edc8","impliedFormat":1},{"version":"6d386bc0d7f3afa1d401afc3e00ed6b09205a354a9795196caed937494a713e6","impliedFormat":1},{"version":"f579f267a2f4c2278cca2ec84613e95059368b503ce96586972d304e5e40125b","affectsGlobalScope":true,"impliedFormat":1},{"version":"23459c1915878a7c1e86e8bdb9c187cddd3aea105b8b1dfce512f093c969bc7e","impliedFormat":1},{"version":"b1b6ee0d012aeebe11d776a155d8979730440082797695fc8e2a5c326285678f","impliedFormat":1},{"version":"45875bcae57270aeb3ebc73a5e3fb4c7b9d91d6b045f107c1d8513c28ece71c0","impliedFormat":1},{"version":"1dc73f8854e5c4506131c4d95b3a6c24d0c80336d3758e95110f4c7b5cb16397","affectsGlobalScope":true,"impliedFormat":1},{"version":"5f6f1d54779d0b9ed152b0516b0958cd34889764c1190434bbf18e7a8bb884cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"c6b4e0a02545304935ecbf7de7a8e056a31bb50939b5b321c9d50a405b5a0bba","impliedFormat":1},{"version":"fab29e6d649aa074a6b91e3bdf2bff484934a46067f6ee97a30fcd9762ae2213","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"e1120271ebbc9952fdc7b2dd3e145560e52e06956345e6fdf91d70ca4886464f","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"f7b1df115dbd1b8522cba4f404a9f4fdcd5169e2137129187ffeee9d287e4fd1","impliedFormat":1},{"version":"c878f74b6d10b267f6075c51ac1d8becd15b4aa6a58f79c0cfe3b24908357f60","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"125d792ec6c0c0f657d758055c494301cc5fdb327d9d9d5960b3f129aff76093","impliedFormat":1},{"version":"fbf68fc8057932b1c30107ebc37420f8d8dc4bef1253c4c2f9e141886c0df5ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2754d8221d77c7b382096651925eb476f1066b3348da4b73fe71ced7801edada","impliedFormat":1},{"version":"993985beef40c7d113f6dd8f0ba26eed63028b691fbfeb6a5b63f26408dd2c6d","affectsGlobalScope":true,"impliedFormat":1},{"version":"bef91efa0baea5d0e0f0f27b574a8bc100ce62a6d7e70220a0d58af6acab5e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"282fd2a1268a25345b830497b4b7bf5037a5e04f6a9c44c840cb605e19fea841","impliedFormat":1},{"version":"5360a27d3ebca11b224d7d3e38e3e2c63f8290cb1fcf6c3610401898f8e68bc3","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"7d6ff413e198d25639f9f01f16673e7df4e4bd2875a42455afd4ecc02ef156da","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb094bb347d7df3380299eb69836c2c8758626ecf45917577707c03cf816b6f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"f689c4237b70ae6be5f0e4180e8833f34ace40529d1acc0676ab8fb8f70457d7","impliedFormat":1},{"version":"b02784111b3fc9c38590cd4339ff8718f9329a6f4d3fd66e9744a1dcd1d7e191","impliedFormat":1},{"version":"ac5ed35e649cdd8143131964336ab9076937fa91802ec760b3ea63b59175c10a","impliedFormat":1},{"version":"52a8e7e8a1454b6d1b5ad428efae3870ffc56f2c02d923467f2940c454aa9aec","affectsGlobalScope":true,"impliedFormat":1},{"version":"78dc0513cc4f1642906b74dda42146bcbd9df7401717d6e89ea6d72d12ecb539","impliedFormat":1},{"version":"ad90122e1cb599b3bc06a11710eb5489101be678f2920f2322b0ac3e195af78d","impliedFormat":1}],"root":[[184,186],205,206],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"alwaysStrict":true,"checkJs":false,"composite":false,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"inlineSources":false,"jsx":4,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitThis":true,"noUnusedLocals":false,"noUnusedParameters":false,"outDir":"./dist","rootDir":"./src","skipLibCheck":true,"sourceMap":true,"strict":true,"strictNullChecks":true,"strictPropertyInitialization":false,"target":9,"useUnknownInCatchVariables":true},"referencedMap":[[211,1],[210,2],[209,3],[207,4],[208,4],[200,5],[188,6],[189,7],[187,8],[190,9],[191,10],[192,11],[193,12],[194,13],[195,14],[196,15],[197,16],[198,17],[199,18],[164,4],[257,19],[258,19],[259,20],[217,21],[260,22],[261,23],[262,24],[212,4],[215,25],[213,4],[214,4],[263,26],[264,27],[265,28],[266,29],[267,30],[268,31],[269,31],[271,32],[270,33],[272,34],[273,35],[274,36],[256,37],[216,4],[275,38],[276,39],[277,40],[310,41],[278,42],[279,43],[280,44],[281,45],[282,46],[283,47],[284,48],[285,49],[286,50],[287,51],[288,51],[289,52],[290,4],[291,4],[292,53],[294,54],[293,55],[295,56],[296,57],[297,58],[298,59],[299,60],[300,61],[301,62],[302,63],[303,64],[304,65],[305,66],[306,67],[307,68],[308,69],[309,70],[218,4],[56,4],[57,4],[11,4],[10,4],[2,4],[12,4],[13,4],[14,4],[15,4],[16,4],[17,4],[18,4],[19,4],[3,4],[20,4],[21,4],[4,4],[22,4],[26,4],[23,4],[24,4],[25,4],[27,4],[28,4],[29,4],[5,4],[30,4],[31,4],[32,4],[33,4],[6,4],[37,4],[34,4],[35,4],[36,4],[38,4],[7,4],[39,4],[44,4],[45,4],[40,4],[41,4],[42,4],[43,4],[8,4],[49,4],[46,4],[47,4],[48,4],[50,4],[9,4],[51,4],[52,4],[53,4],[55,4],[54,4],[1,4],[234,71],[244,72],[233,71],[254,73],[225,74],[224,75],[253,76],[247,77],[252,78],[227,79],[241,80],[226,81],[250,82],[222,83],[221,76],[251,84],[223,85],[228,86],[229,4],[232,86],[219,4],[255,87],[245,88],[236,89],[237,90],[239,91],[235,92],[238,93],[248,76],[230,94],[231,95],[240,96],[220,97],[243,88],[242,86],[246,4],[249,98],[116,99],[119,100],[117,100],[113,99],[120,101],[121,102],[118,100],[114,103],[115,104],[108,105],[62,106],[64,107],[106,4],[63,108],[107,109],[111,110],[109,4],[65,106],[66,4],[105,111],[61,112],[58,4],[110,113],[59,114],[60,4],[122,115],[67,116],[68,116],[69,116],[70,116],[71,116],[72,116],[73,116],[74,116],[75,116],[76,116],[78,116],[77,116],[79,116],[80,116],[81,116],[104,117],[82,116],[83,116],[84,116],[85,116],[86,116],[87,116],[88,116],[89,116],[90,116],[91,116],[92,116],[93,116],[94,116],[95,116],[96,116],[97,116],[98,116],[99,116],[100,116],[101,116],[102,116],[103,116],[112,118],[123,119],[201,120],[204,121],[202,122],[203,123],[178,124],[179,124],[181,125],[180,126],[137,4],[138,4],[139,4],[140,4],[157,127],[158,4],[159,4],[160,4],[169,128],[161,4],[162,4],[163,4],[165,129],[166,4],[167,4],[168,4],[136,130],[174,131],[172,132],[171,133],[177,134],[175,4],[170,4],[176,4],[173,135],[186,136],[185,137],[206,138],[205,139],[184,140],[141,4],[142,4],[143,4],[144,4],[145,4],[146,4],[156,141],[147,4],[149,142],[150,4],[151,4],[152,143],[153,143],[154,4],[148,4],[155,4],[183,144],[182,126],[124,4],[127,145],[126,145],[134,146],[133,145],[130,4],[128,145],[131,145],[132,4],[129,4],[135,147],[125,145]],"version":"5.8.2"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/types.ts"],"names":["gatedTransactionSchema","transactionSchema","name","z","object","transaction","check","functionPointer","any","params","array","expectedResult","operator","custom","comparisonValue","gatedTransactionResultSchema","transactionWithResultSchema","onchainDataSchema","union","status","literal","submittedTransaction","transactionError","finalOnChainState","processedGatedTransactionSchema","and","result","GatedTransactionStatus","gatedTransactionCacheSchema","getCachedTxCheckData","functionSchema","input","tuple","output","promise","cacheSuccessfulTxCheckData"],"mappings":"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","file":"5HWOSUJL.js","sourcesContent":["import z from 'zod/v4';\n\nimport {\n type Transaction,\n type transactionSchema as _transactionSchema,\n type TransactionWithResult,\n type transactionWithResultSchema as _transactionWithResultSchema,\n} from '@layerzerolabs/common-chain-model';\nimport type { FunctionPointer } from '@layerzerolabs/common-utils';\nimport { functionSchema } from '@layerzerolabs/zod-utils';\n\nexport type OnChainDataComparisonOperator<OnChainDataType> = OnChainDataType extends number\n ? '<' | '<=' | '=' | '!=' | '>' | '>='\n : '=' | '!=';\n\nexport type OnChainDataComparison<OnChainDataType> = {\n operator: OnChainDataComparisonOperator<OnChainDataType>;\n comparisonValue: OnChainDataType;\n};\n\nexport type GatedTransactionCheck<\n Method extends (...args: any[]) => any = (...args: any[]) => unknown,\n> = {\n functionPointer: FunctionPointer<Method>;\n params: any[];\n expectedResult: OnChainDataComparison<Awaited<ReturnType<Method>>>;\n};\n\nexport const gatedTransactionSchema = <TransactionSchema extends typeof _transactionSchema>({\n transactionSchema,\n name,\n}: {\n transactionSchema: TransactionSchema;\n name: z.ZodString | z.ZodLiteral<string>;\n}) =>\n z.object({\n name,\n transaction: transactionSchema,\n check: z.object({\n functionPointer: z.any(),\n params: z.array(z.any()),\n expectedResult: z.object({\n operator: z.custom<OnChainDataComparisonOperator<any>>(),\n comparisonValue: z.any(),\n }),\n }),\n });\n\n// Schema for gated transaction results\nexport const gatedTransactionResultSchema = <\n TransactionWithResultSchema extends typeof _transactionWithResultSchema,\n OnchainDataSchema extends z.ZodType,\n>(\n transactionWithResultSchema: TransactionWithResultSchema,\n onchainDataSchema: OnchainDataSchema,\n) =>\n z.union([\n z.object({\n status: z.literal(GatedTransactionStatus.NO_OP),\n }),\n z.object({\n status: z.literal(GatedTransactionStatus.SUCCESS),\n submittedTransaction: transactionWithResultSchema,\n }),\n z.object({\n status: z.literal(GatedTransactionStatus.TRANSACTION_FAILED),\n transactionError: z.any(),\n }),\n z.object({\n status: z.literal(GatedTransactionStatus.FINAL_CHECK_FAILED),\n submittedTransaction: transactionWithResultSchema,\n finalOnChainState: onchainDataSchema,\n }),\n z.object({\n status: z.literal(GatedTransactionStatus.DEPENDENCY_FAILED),\n }),\n z.object({\n status: z.literal(GatedTransactionStatus.DENIED),\n }),\n ]);\n\n// Schema for processed gated transactions (with results)\nexport const processedGatedTransactionSchema = <\n TransactionSchema extends typeof _transactionSchema,\n TransactionWithResultSchema extends typeof _transactionWithResultSchema,\n OnchainDataSchema extends z.ZodType,\n>({\n transactionSchema,\n transactionWithResultSchema,\n onchainDataSchema,\n name,\n}: {\n transactionSchema: TransactionSchema;\n transactionWithResultSchema: TransactionWithResultSchema;\n onchainDataSchema: OnchainDataSchema;\n name: z.ZodString | z.ZodLiteral<string>;\n}) =>\n gatedTransactionSchema({\n transactionSchema,\n name,\n }).and(\n z.object({\n result: gatedTransactionResultSchema(transactionWithResultSchema, onchainDataSchema),\n }),\n );\n\ntype GatedTransactionDependencies = GatedTransaction[];\n\nexport type GatedTransaction<\n Name extends string = string,\n TxType extends Transaction = Transaction,\n CheckMethod extends (...args: any[]) => any = (...args: any[]) => any,\n Dependencies extends GatedTransactionDependencies = GatedTransactionDependencies,\n> = {\n bundleName?: string;\n name: Name;\n transaction: TxType;\n check: GatedTransactionCheck<CheckMethod>;\n cacheable?: boolean;\n uniqueIdKeys?: Record<string, string | number | boolean>;\n dependencies?: Dependencies;\n};\n\nexport type InferOnChainDataTypeFromGatedTransaction<GatedTx extends GatedTransaction> =\n GatedTx extends GatedTransaction<any, any, infer Check> ? Awaited<ReturnType<Check>> : unknown;\n\nexport enum GatedTransactionStatus {\n NO_OP = 'no_op',\n SUCCESS = 'success',\n TRANSACTION_FAILED = 'transaction_failed',\n FINAL_CHECK_FAILED = 'final_check_failed',\n DEPENDENCY_FAILED = 'dependency_failed',\n DENIED = 'denied',\n}\n\ntype NoOpGatedTransaction = {\n status: GatedTransactionStatus.NO_OP;\n};\n\ntype SuccessfulGatedTransaction<TxWithResult extends TransactionWithResult> = {\n status: GatedTransactionStatus.SUCCESS;\n submittedTransaction: TxWithResult;\n};\n\ntype TxFailedGatedTransaction = {\n status: GatedTransactionStatus.TRANSACTION_FAILED;\n transactionError: any;\n};\n\ntype CheckFailedGatedTransaction<TxWithResult extends TransactionWithResult, State> = {\n status: GatedTransactionStatus.FINAL_CHECK_FAILED;\n submittedTransaction: TxWithResult;\n finalOnChainState: State;\n};\n\ntype DependencyFailedGatedTransaction = {\n status: GatedTransactionStatus.DEPENDENCY_FAILED;\n};\n\ntype DeniedGatedTransaction = {\n status: GatedTransactionStatus.DENIED;\n};\n\nexport type GatedTransactionResult<\n GatedTx extends GatedTransaction = GatedTransaction,\n TxWithResult extends TransactionWithResult = TransactionWithResult,\n> =\n | NoOpGatedTransaction\n | SuccessfulGatedTransaction<TxWithResult>\n | TxFailedGatedTransaction\n | CheckFailedGatedTransaction<TxWithResult, InferOnChainDataTypeFromGatedTransaction<GatedTx>>\n | DependencyFailedGatedTransaction\n | DeniedGatedTransaction;\n\nexport const gatedTransactionCacheSchema = z.object({\n getCachedTxCheckData: functionSchema({\n input: z.tuple([z.any()]),\n output: z.promise(z.any()),\n }) as z.ZodType<\n <GatedTx extends GatedTransaction>(\n gtx: GatedTx,\n ) => Promise<InferOnChainDataTypeFromGatedTransaction<GatedTx> | undefined>\n >,\n cacheSuccessfulTxCheckData: functionSchema({\n input: z.tuple([z.any(), z.any()]),\n output: z.promise(z.any()),\n }) as z.ZodType<\n <GatedTx extends GatedTransaction>(\n gtx: GatedTx,\n data: InferOnChainDataTypeFromGatedTransaction<GatedTx>,\n ) => Promise<void>\n >,\n});\n\nexport type IGatedTransactionCache = z.infer<typeof gatedTransactionCacheSchema>;\n\n/**\n * name-chain-uniqueIdKeys\n *\n * E.g., setDelegate-ethereum-oAppAddress:0xMY_OAPP\n */\nexport type GatedTransactionId = `${string}-${string}-${string}`;\n\nexport type UserInteractionCallbacks = {\n confirmationCallback?: (gtx: GatedTransaction) => Promise<boolean>;\n onResultCallback?: (result: GatedTransaction & { result: GatedTransactionResult }) => void;\n};\n"]}
package/dist/5INFRBMB.js DELETED
@@ -1,14 +0,0 @@
1
- import { __name } from './VUOMXK5T.js';
2
-
3
- // src/gatedTx.ts
4
- var constructGatedTransaction = /* @__PURE__ */ __name((gtx) => {
5
- return gtx;
6
- }, "constructGatedTransaction");
7
- var getIdForGatedTransaction = /* @__PURE__ */ __name((gtx) => {
8
- const serializedUniqueIdKeys = gtx.uniqueIdKeys ? Object.entries(gtx.uniqueIdKeys).map(([k, v]) => `${k}:${v}`).join("-") : "";
9
- return `${gtx.name}-${gtx.transaction.chainName}-${serializedUniqueIdKeys}`;
10
- }, "getIdForGatedTransaction");
11
-
12
- export { constructGatedTransaction, getIdForGatedTransaction };
13
- //# sourceMappingURL=5INFRBMB.js.map
14
- //# sourceMappingURL=5INFRBMB.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/gatedTx.ts"],"names":["constructGatedTransaction","gtx","getIdForGatedTransaction","serializedUniqueIdKeys","uniqueIdKeys","Object","entries","map","k","v","join","name","transaction","chainName"],"mappings":";;;AAQO,IAAMA,yBAAAA,2BAIXC,GAAAA,KAAAA;AAaE,EAAA,OAAOA,GAAAA;AACX,CAAA,EAlByC,2BAAA;AAoBlC,IAAMC,wBAAAA,2BAA4BD,GAAAA,KAAAA;AACrC,EAAA,MAAME,sBAAAA,GAAyBF,IAAIG,YAAAA,GAC7BC,MAAAA,CAAOC,QAAQL,GAAAA,CAAIG,YAAY,CAAA,CAC1BG,GAAAA,CAAI,CAAC,CAACC,GAAGC,CAAAA,CAAAA,KAAO,GAAGD,CAAAA,CAAAA,CAAAA,EAAKC,CAAAA,CAAAA,CAAG,CAAA,CAC3BC,IAAAA,CAAK,GAAA,CAAA,GACV,EAAA;AAEN,EAAA,OAAO,CAAA,EAAGT,IAAIU,IAAI,CAAA,CAAA,EAAIV,IAAIW,WAAAA,CAAYC,SAAS,IAAIV,sBAAAA,CAAAA,CAAAA;AACvD,CAAA,EARwC,0BAAA","file":"5INFRBMB.js","sourcesContent":["import type { Transaction } from '@layerzerolabs/common-chain-model';\nimport type { FunctionPointer } from '@layerzerolabs/common-utils';\n\nimport type { GatedTransaction, GatedTransactionId, OnChainDataComparison } from './types';\n\n/**\n * Builds a {@link GatedTransaction}\n */\nexport const constructGatedTransaction = <\n const Name extends string,\n Tx extends Transaction,\n Method extends (...args: any[]) => any,\n>(gtx: {\n name: Name;\n bundleName?: string;\n transaction: Tx;\n check: {\n functionPointer: FunctionPointer<Method>;\n params: Parameters<Method>;\n expectedResult: OnChainDataComparison<Awaited<ReturnType<Method>>>;\n };\n uniqueIdKeys?: Record<string, string | number | boolean>;\n cacheable?: boolean;\n dependencies?: GatedTransaction[];\n}): GatedTransaction<Name, Tx, Method> => {\n return gtx;\n};\n\nexport const getIdForGatedTransaction = (gtx: GatedTransaction): GatedTransactionId => {\n const serializedUniqueIdKeys = gtx.uniqueIdKeys\n ? Object.entries(gtx.uniqueIdKeys)\n .map(([k, v]) => `${k}:${v}`)\n .join('-')\n : '';\n\n return `${gtx.name}-${gtx.transaction.chainName}-${serializedUniqueIdKeys}`;\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/gatedTx.ts"],"names":["constructGatedTransaction","gtx","getIdForGatedTransaction","serializedUniqueIdKeys","uniqueIdKeys","Object","entries","map","k","v","join","name","transaction","chainName"],"mappings":";;;;;AAQO,IAAMA,yBAAAA,wCAIXC,GAAAA,KAAAA;AAaE,EAAA,OAAOA,GAAAA;AACX,CAAA,EAlByC,2BAAA;AAoBlC,IAAMC,wBAAAA,wCAA4BD,GAAAA,KAAAA;AACrC,EAAA,MAAME,sBAAAA,GAAyBF,IAAIG,YAAAA,GAC7BC,MAAAA,CAAOC,QAAQL,GAAAA,CAAIG,YAAY,CAAA,CAC1BG,GAAAA,CAAI,CAAC,CAACC,GAAGC,CAAAA,CAAAA,KAAO,GAAGD,CAAAA,CAAAA,CAAAA,EAAKC,CAAAA,CAAAA,CAAG,CAAA,CAC3BC,IAAAA,CAAK,GAAA,CAAA,GACV,EAAA;AAEN,EAAA,OAAO,CAAA,EAAGT,IAAIU,IAAI,CAAA,CAAA,EAAIV,IAAIW,WAAAA,CAAYC,SAAS,IAAIV,sBAAAA,CAAAA,CAAAA;AACvD,CAAA,EARwC,0BAAA","file":"AYIRG6WY.cjs","sourcesContent":["import type { Transaction } from '@layerzerolabs/common-chain-model';\nimport type { FunctionPointer } from '@layerzerolabs/common-utils';\n\nimport type { GatedTransaction, GatedTransactionId, OnChainDataComparison } from './types';\n\n/**\n * Builds a {@link GatedTransaction}\n */\nexport const constructGatedTransaction = <\n const Name extends string,\n Tx extends Transaction,\n Method extends (...args: any[]) => any,\n>(gtx: {\n name: Name;\n bundleName?: string;\n transaction: Tx;\n check: {\n functionPointer: FunctionPointer<Method>;\n params: Parameters<Method>;\n expectedResult: OnChainDataComparison<Awaited<ReturnType<Method>>>;\n };\n uniqueIdKeys?: Record<string, string | number | boolean>;\n cacheable?: boolean;\n dependencies?: GatedTransaction[];\n}): GatedTransaction<Name, Tx, Method> => {\n return gtx;\n};\n\nexport const getIdForGatedTransaction = (gtx: GatedTransaction): GatedTransactionId => {\n const serializedUniqueIdKeys = gtx.uniqueIdKeys\n ? Object.entries(gtx.uniqueIdKeys)\n .map(([k, v]) => `${k}:${v}`)\n .join('-')\n : '';\n\n return `${gtx.name}-${gtx.transaction.chainName}-${serializedUniqueIdKeys}`;\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/gatedTransactionSignalLock.ts"],"names":["gatedTransactionGoSignal","defineSignal","queryGatedTransactions","defineQuery","useGatedTransactionSignalLock","fn","getPassthrough","approvedIds","Set","approvedBundleNames","pendingTransactions","sentTransactions","completedTransactions","setHandler","passthroughWfIds","map","handle","workflowId","Object","values","passthroughWorkflowIds","id","add","passthrough","Promise","allSettled","wf","signal","confirmationCallback","tx","getIdForGatedTransaction","condition","has","bundleName","onResultCallback","result"],"mappings":";;;;AAkBO,IAAMA,wBAAAA,GACTC,aAAuC,oBAAA;AACpC,IAAMC,sBAAAA,GACTC,YAA0C,uBAAA;AAEvC,IAAMC,6BAAAA,mBAAgC,MAAA,CAAA,CACzCC,EAAAA,EACAC,cAAAA,KAAAA;AAEA,EAAA,MAAMC,WAAAA,uBAA2CC,GAAAA,EAAAA;AACjD,EAAA,MAAMC,mBAAAA,uBAAuCD,GAAAA,EAAAA;AAE7C,EAAA,MAAME,sBAAoE,EAAC;AAC3E,EAAA,MAAMC,mBAAiE,EAAC;AACxE,EAAA,MAAMC,wBAGF,EAAC;AAELP,EAAAA,EAAAA,CAAGQ,UAAAA,CAAWX,wBAAwB,MAAA;AAClC,IAAA,MAAMY,mBAAmBR,cAAAA,IAAAA,CAAmBS,MAAM,CAACC,MAAAA,KAAWA,OAAOC,UAAU,CAAA;AAC/E,IAAA,OAAO;MACHP,mBAAAA,EAAqBQ,MAAAA,CAAOC,OAAOT,mBAAAA,CAAAA;MACnCC,gBAAAA,EAAkBO,MAAAA,CAAOC,OAAOR,gBAAAA,CAAAA;MAChCC,qBAAAA,EAAuBM,MAAAA,CAAOC,OAAOP,qBAAAA,CAAAA;AACrCQ,MAAAA,sBAAAA,EAAwBN,oBAAoB;AAChD,KAAA;EACJ,CAAA,CAAA;AAEAT,EAAAA,EAAAA,CAAGQ,UAAAA,CAAWb,wBAAAA,EAA0B,OAAOqB,EAAAA,KAAAA;AAC3Cd,IAAAA,WAAAA,CAAYe,IAAID,EAAAA,CAAAA;AAChB,IAAA,MAAME,cAAcjB,cAAAA,IAAAA;AACpB,IAAA,IAAIiB,WAAAA,EAAa;AACb,MAAA,MAAMC,OAAAA,CAAQC,UAAAA,CACVF,WAAAA,CAAYR,GAAAA,CAAI,CAACW,EAAAA,KAAAA;AACb,QAAA,OAAOA,EAAAA,CAAGC,OAAO3B,wBAAAA,EAA0B;AAACqB,UAAAA;AAAG,SAAA,CAAA;AACnD,MAAA,CAAA,CAAA,CAAA;AAER,IAAA;EACJ,CAAA,CAAA;AAEA,EAAA,MAAMO,oBAAAA,iCAAgFC,EAAAA,KAAAA;AAClF,IAAA,MAAMR,EAAAA,GAAKS,yBAAyBD,EAAAA,CAAAA;AACpCnB,IAAAA,mBAAAA,CAAoBW,EAAAA,CAAAA,GAAMQ,EAAAA;AAE1B,IAAA,MAAMxB,EAAAA,CAAG0B,SAAAA,CACL,MACIxB,WAAAA,CAAYyB,IAAIX,EAAAA,CAAAA,IAAQ,CAAC,CAACQ,GAAGI,UAAAA,IAAcxB,mBAAAA,CAAoBuB,GAAAA,CAAIH,EAAAA,CAAGI,UAAU,CAAA,CAAA;AAGxFJ,IAAAA,EAAAA,CAAGI,UAAAA,IAAcxB,mBAAAA,CAAoBa,GAAAA,CAAIO,EAAAA,CAAGI,UAAU,CAAA;AACtDtB,IAAAA,gBAAAA,CAAiBU,EAAAA,CAAAA,GAAMQ,EAAAA;AACvB,IAAA,OAAOnB,oBAAoBW,EAAAA,CAAAA;AAC3B,IAAA,OAAO,IAAA;EACX,CAAA,EAb+E,sBAAA,CAAA;AAe/E,EAAA,MAAMa,gBAAAA,2BAAkEC,MAAAA,KAAAA;AACpE,IAAA,MAAMd,EAAAA,GAAKS,yBAAyBK,MAAAA,CAAAA;AACpCvB,IAAAA,qBAAAA,CAAsBS,EAAAA,CAAAA,GAAMc,MAAAA;AAC5B,IAAA,OAAOxB,iBAAiBU,EAAAA,CAAAA;EAC5B,CAAA,EAJuE,kBAAA,CAAA;AAMvE,EAAA,OAAO;AAAEO,IAAAA,oBAAAA;AAAsBM,IAAAA;AAAiB,GAAA;AACpD,CAAA,EA1D6C,+BAAA","file":"DBJG544E.js","sourcesContent":["import type { WorkflowFunctions, WorkflowHandle } from '@layerzerolabs/common-workflow';\nimport { defineQuery, defineSignal } from '@layerzerolabs/common-workflow';\n\nimport { getIdForGatedTransaction } from './gatedTx';\nimport type {\n GatedTransaction,\n GatedTransactionId,\n GatedTransactionResult,\n UserInteractionCallbacks,\n} from './types';\n\nexport type QueryGatedTransactionsResult = {\n pendingTransactions: GatedTransaction[];\n sentTransactions: GatedTransaction[];\n completedTransactions: (GatedTransaction & { result: GatedTransactionResult })[];\n passthroughWorkflowIds: string[];\n};\n\nexport const gatedTransactionGoSignal =\n defineSignal<[id: GatedTransactionId]>('GatedTransactionGo');\nexport const queryGatedTransactions =\n defineQuery<QueryGatedTransactionsResult>('GatedTransactionQuery');\n\nexport const useGatedTransactionSignalLock = (\n fn: WorkflowFunctions,\n getPassthrough?: () => WorkflowHandle<any>[],\n): UserInteractionCallbacks => {\n const approvedIds: Set<GatedTransactionId> = new Set();\n const approvedBundleNames: Set<string> = new Set();\n\n const pendingTransactions: Record<GatedTransactionId, GatedTransaction> = {};\n const sentTransactions: Record<GatedTransactionId, GatedTransaction> = {};\n const completedTransactions: Record<\n GatedTransactionId,\n GatedTransaction & { result: GatedTransactionResult }\n > = {};\n\n fn.setHandler(queryGatedTransactions, () => {\n const passthroughWfIds = getPassthrough?.().map?.((handle) => handle.workflowId);\n return {\n pendingTransactions: Object.values(pendingTransactions),\n sentTransactions: Object.values(sentTransactions),\n completedTransactions: Object.values(completedTransactions),\n passthroughWorkflowIds: passthroughWfIds ?? [],\n };\n });\n\n fn.setHandler(gatedTransactionGoSignal, async (id) => {\n approvedIds.add(id);\n const passthrough = getPassthrough?.();\n if (passthrough) {\n await Promise.allSettled(\n passthrough.map((wf) => {\n return wf.signal(gatedTransactionGoSignal, [id]);\n }),\n );\n }\n });\n\n const confirmationCallback: UserInteractionCallbacks['confirmationCallback'] = async (tx) => {\n const id = getIdForGatedTransaction(tx);\n pendingTransactions[id] = tx;\n\n await fn.condition(\n () =>\n approvedIds.has(id) || (!!tx.bundleName && approvedBundleNames.has(tx.bundleName)),\n );\n\n tx.bundleName && approvedBundleNames.add(tx.bundleName);\n sentTransactions[id] = tx;\n delete pendingTransactions[id];\n return true;\n };\n\n const onResultCallback: UserInteractionCallbacks['onResultCallback'] = (result) => {\n const id = getIdForGatedTransaction(result);\n completedTransactions[id] = result;\n delete sentTransactions[id];\n };\n\n return { confirmationCallback, onResultCallback };\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/types.ts"],"names":["gatedTransactionSchema","__name","transactionSchema","name","z","object","transaction","check","functionPointer","any","params","array","expectedResult","operator","custom","comparisonValue","gatedTransactionResultSchema","transactionWithResultSchema","onchainDataSchema","union","status","literal","submittedTransaction","transactionError","finalOnChainState","processedGatedTransactionSchema","and","result","GatedTransactionStatus","gatedTransactionCacheSchema","getCachedTxCheckData","functionSchema","input","tuple","output","promise","cacheSuccessfulTxCheckData"],"mappings":"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","file":"G6VJTMIX.cjs","sourcesContent":["import z from 'zod/v4';\n\nimport {\n type Transaction,\n type transactionSchema as _transactionSchema,\n type TransactionWithResult,\n type transactionWithResultSchema as _transactionWithResultSchema,\n} from '@layerzerolabs/common-chain-model';\nimport type { FunctionPointer } from '@layerzerolabs/common-utils';\nimport { functionSchema } from '@layerzerolabs/zod-utils';\n\nexport type OnChainDataComparisonOperator<OnChainDataType> = OnChainDataType extends number\n ? '<' | '<=' | '=' | '!=' | '>' | '>='\n : '=' | '!=';\n\nexport type OnChainDataComparison<OnChainDataType> = {\n operator: OnChainDataComparisonOperator<OnChainDataType>;\n comparisonValue: OnChainDataType;\n};\n\nexport type GatedTransactionCheck<\n Method extends (...args: any[]) => any = (...args: any[]) => unknown,\n> = {\n functionPointer: FunctionPointer<Method>;\n params: any[];\n expectedResult: OnChainDataComparison<Awaited<ReturnType<Method>>>;\n};\n\nexport const gatedTransactionSchema = <TransactionSchema extends typeof _transactionSchema>({\n transactionSchema,\n name,\n}: {\n transactionSchema: TransactionSchema;\n name: z.ZodString | z.ZodLiteral<string>;\n}) =>\n z.object({\n name,\n transaction: transactionSchema,\n check: z.object({\n functionPointer: z.any(),\n params: z.array(z.any()),\n expectedResult: z.object({\n operator: z.custom<OnChainDataComparisonOperator<any>>(),\n comparisonValue: z.any(),\n }),\n }),\n });\n\n// Schema for gated transaction results\nexport const gatedTransactionResultSchema = <\n TransactionWithResultSchema extends typeof _transactionWithResultSchema,\n OnchainDataSchema extends z.ZodType,\n>(\n transactionWithResultSchema: TransactionWithResultSchema,\n onchainDataSchema: OnchainDataSchema,\n) =>\n z.union([\n z.object({\n status: z.literal(GatedTransactionStatus.NO_OP),\n }),\n z.object({\n status: z.literal(GatedTransactionStatus.SUCCESS),\n submittedTransaction: transactionWithResultSchema,\n }),\n z.object({\n status: z.literal(GatedTransactionStatus.TRANSACTION_FAILED),\n transactionError: z.any(),\n }),\n z.object({\n status: z.literal(GatedTransactionStatus.FINAL_CHECK_FAILED),\n submittedTransaction: transactionWithResultSchema,\n finalOnChainState: onchainDataSchema,\n }),\n z.object({\n status: z.literal(GatedTransactionStatus.DEPENDENCY_FAILED),\n }),\n z.object({\n status: z.literal(GatedTransactionStatus.DENIED),\n }),\n ]);\n\n// Schema for processed gated transactions (with results)\nexport const processedGatedTransactionSchema = <\n TransactionSchema extends typeof _transactionSchema,\n TransactionWithResultSchema extends typeof _transactionWithResultSchema,\n OnchainDataSchema extends z.ZodType,\n>({\n transactionSchema,\n transactionWithResultSchema,\n onchainDataSchema,\n name,\n}: {\n transactionSchema: TransactionSchema;\n transactionWithResultSchema: TransactionWithResultSchema;\n onchainDataSchema: OnchainDataSchema;\n name: z.ZodString | z.ZodLiteral<string>;\n}) =>\n gatedTransactionSchema({\n transactionSchema,\n name,\n }).and(\n z.object({\n result: gatedTransactionResultSchema(transactionWithResultSchema, onchainDataSchema),\n }),\n );\n\ntype GatedTransactionDependencies = GatedTransaction[];\n\nexport type GatedTransaction<\n Name extends string = string,\n TxType extends Transaction = Transaction,\n CheckMethod extends (...args: any[]) => any = (...args: any[]) => any,\n Dependencies extends GatedTransactionDependencies = GatedTransactionDependencies,\n> = {\n bundleName?: string;\n name: Name;\n transaction: TxType;\n check: GatedTransactionCheck<CheckMethod>;\n cacheable?: boolean;\n uniqueIdKeys?: Record<string, string | number | boolean>;\n dependencies?: Dependencies;\n};\n\nexport type InferOnChainDataTypeFromGatedTransaction<GatedTx extends GatedTransaction> =\n GatedTx extends GatedTransaction<any, any, infer Check> ? Awaited<ReturnType<Check>> : unknown;\n\nexport enum GatedTransactionStatus {\n NO_OP = 'no_op',\n SUCCESS = 'success',\n TRANSACTION_FAILED = 'transaction_failed',\n FINAL_CHECK_FAILED = 'final_check_failed',\n DEPENDENCY_FAILED = 'dependency_failed',\n DENIED = 'denied',\n}\n\ntype NoOpGatedTransaction = {\n status: GatedTransactionStatus.NO_OP;\n};\n\ntype SuccessfulGatedTransaction<TxWithResult extends TransactionWithResult> = {\n status: GatedTransactionStatus.SUCCESS;\n submittedTransaction: TxWithResult;\n};\n\ntype TxFailedGatedTransaction = {\n status: GatedTransactionStatus.TRANSACTION_FAILED;\n transactionError: any;\n};\n\ntype CheckFailedGatedTransaction<TxWithResult extends TransactionWithResult, State> = {\n status: GatedTransactionStatus.FINAL_CHECK_FAILED;\n submittedTransaction: TxWithResult;\n finalOnChainState: State;\n};\n\ntype DependencyFailedGatedTransaction = {\n status: GatedTransactionStatus.DEPENDENCY_FAILED;\n};\n\ntype DeniedGatedTransaction = {\n status: GatedTransactionStatus.DENIED;\n};\n\nexport type GatedTransactionResult<\n GatedTx extends GatedTransaction = GatedTransaction,\n TxWithResult extends TransactionWithResult = TransactionWithResult,\n> =\n | NoOpGatedTransaction\n | SuccessfulGatedTransaction<TxWithResult>\n | TxFailedGatedTransaction\n | CheckFailedGatedTransaction<TxWithResult, InferOnChainDataTypeFromGatedTransaction<GatedTx>>\n | DependencyFailedGatedTransaction\n | DeniedGatedTransaction;\n\nexport const gatedTransactionCacheSchema = z.object({\n getCachedTxCheckData: functionSchema({\n input: z.tuple([z.any()]),\n output: z.promise(z.any()),\n }) as z.ZodType<\n <GatedTx extends GatedTransaction>(\n gtx: GatedTx,\n ) => Promise<InferOnChainDataTypeFromGatedTransaction<GatedTx> | undefined>\n >,\n cacheSuccessfulTxCheckData: functionSchema({\n input: z.tuple([z.any(), z.any()]),\n output: z.promise(z.any()),\n }) as z.ZodType<\n <GatedTx extends GatedTransaction>(\n gtx: GatedTx,\n data: InferOnChainDataTypeFromGatedTransaction<GatedTx>,\n ) => Promise<void>\n >,\n});\n\nexport type IGatedTransactionCache = z.infer<typeof gatedTransactionCacheSchema>;\n\n/**\n * name-chain-uniqueIdKeys\n *\n * E.g., setDelegate-ethereum-oAppAddress:0xMY_OAPP\n */\nexport type GatedTransactionId = `${string}-${string}-${string}`;\n\nexport type UserInteractionCallbacks = {\n confirmationCallback?: (gtx: GatedTransaction) => Promise<boolean>;\n onResultCallback?: (result: GatedTransaction & { result: GatedTransactionResult }) => void;\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/gatedTransactionSignalLock.ts"],"names":["gatedTransactionGoSignal","defineSignal","queryGatedTransactions","defineQuery","useGatedTransactionSignalLock","__name","fn","getPassthrough","approvedIds","Set","approvedBundleNames","pendingTransactions","sentTransactions","completedTransactions","setHandler","passthroughWfIds","map","handle","workflowId","Object","values","passthroughWorkflowIds","id","add","passthrough","Promise","allSettled","wf","signal","confirmationCallback","tx","getIdForGatedTransaction","condition","has","bundleName","onResultCallback","result"],"mappings":";;;;;;AAkBO,IAAMA,wBAAAA,GACTC,4BAAuC,oBAAA;AACpC,IAAMC,sBAAAA,GACTC,2BAA0C,uBAAA;AAEvC,IAAMC,6BAAAA,mBAAgCC,mBAAA,CAAA,CACzCC,EAAAA,EACAC,cAAAA,KAAAA;AAEA,EAAA,MAAMC,WAAAA,uBAA2CC,GAAAA,EAAAA;AACjD,EAAA,MAAMC,mBAAAA,uBAAuCD,GAAAA,EAAAA;AAE7C,EAAA,MAAME,sBAAoE,EAAC;AAC3E,EAAA,MAAMC,mBAAiE,EAAC;AACxE,EAAA,MAAMC,wBAGF,EAAC;AAELP,EAAAA,EAAAA,CAAGQ,UAAAA,CAAWZ,wBAAwB,MAAA;AAClC,IAAA,MAAMa,mBAAmBR,cAAAA,IAAAA,CAAmBS,MAAM,CAACC,MAAAA,KAAWA,OAAOC,UAAU,CAAA;AAC/E,IAAA,OAAO;MACHP,mBAAAA,EAAqBQ,MAAAA,CAAOC,OAAOT,mBAAAA,CAAAA;MACnCC,gBAAAA,EAAkBO,MAAAA,CAAOC,OAAOR,gBAAAA,CAAAA;MAChCC,qBAAAA,EAAuBM,MAAAA,CAAOC,OAAOP,qBAAAA,CAAAA;AACrCQ,MAAAA,sBAAAA,EAAwBN,oBAAoB;AAChD,KAAA;EACJ,CAAA,CAAA;AAEAT,EAAAA,EAAAA,CAAGQ,UAAAA,CAAWd,wBAAAA,EAA0B,OAAOsB,EAAAA,KAAAA;AAC3Cd,IAAAA,WAAAA,CAAYe,IAAID,EAAAA,CAAAA;AAChB,IAAA,MAAME,cAAcjB,cAAAA,IAAAA;AACpB,IAAA,IAAIiB,WAAAA,EAAa;AACb,MAAA,MAAMC,OAAAA,CAAQC,UAAAA,CACVF,WAAAA,CAAYR,GAAAA,CAAI,CAACW,EAAAA,KAAAA;AACb,QAAA,OAAOA,EAAAA,CAAGC,OAAO5B,wBAAAA,EAA0B;AAACsB,UAAAA;AAAG,SAAA,CAAA;AACnD,MAAA,CAAA,CAAA,CAAA;AAER,IAAA;EACJ,CAAA,CAAA;AAEA,EAAA,MAAMO,oBAAAA,8CAAgFC,EAAAA,KAAAA;AAClF,IAAA,MAAMR,EAAAA,GAAKS,sCAAyBD,EAAAA,CAAAA;AACpCnB,IAAAA,mBAAAA,CAAoBW,EAAAA,CAAAA,GAAMQ,EAAAA;AAE1B,IAAA,MAAMxB,EAAAA,CAAG0B,SAAAA,CACL,MACIxB,WAAAA,CAAYyB,IAAIX,EAAAA,CAAAA,IAAQ,CAAC,CAACQ,GAAGI,UAAAA,IAAcxB,mBAAAA,CAAoBuB,GAAAA,CAAIH,EAAAA,CAAGI,UAAU,CAAA,CAAA;AAGxFJ,IAAAA,EAAAA,CAAGI,UAAAA,IAAcxB,mBAAAA,CAAoBa,GAAAA,CAAIO,EAAAA,CAAGI,UAAU,CAAA;AACtDtB,IAAAA,gBAAAA,CAAiBU,EAAAA,CAAAA,GAAMQ,EAAAA;AACvB,IAAA,OAAOnB,oBAAoBW,EAAAA,CAAAA;AAC3B,IAAA,OAAO,IAAA;EACX,CAAA,EAb+E,sBAAA,CAAA;AAe/E,EAAA,MAAMa,gBAAAA,wCAAkEC,MAAAA,KAAAA;AACpE,IAAA,MAAMd,EAAAA,GAAKS,sCAAyBK,MAAAA,CAAAA;AACpCvB,IAAAA,qBAAAA,CAAsBS,EAAAA,CAAAA,GAAMc,MAAAA;AAC5B,IAAA,OAAOxB,iBAAiBU,EAAAA,CAAAA;EAC5B,CAAA,EAJuE,kBAAA,CAAA;AAMvE,EAAA,OAAO;AAAEO,IAAAA,oBAAAA;AAAsBM,IAAAA;AAAiB,GAAA;AACpD,CAAA,EA1D6C,+BAAA","file":"QGZD4SJ4.cjs","sourcesContent":["import type { WorkflowFunctions, WorkflowHandle } from '@layerzerolabs/common-workflow';\nimport { defineQuery, defineSignal } from '@layerzerolabs/common-workflow';\n\nimport { getIdForGatedTransaction } from './gatedTx';\nimport type {\n GatedTransaction,\n GatedTransactionId,\n GatedTransactionResult,\n UserInteractionCallbacks,\n} from './types';\n\nexport type QueryGatedTransactionsResult = {\n pendingTransactions: GatedTransaction[];\n sentTransactions: GatedTransaction[];\n completedTransactions: (GatedTransaction & { result: GatedTransactionResult })[];\n passthroughWorkflowIds: string[];\n};\n\nexport const gatedTransactionGoSignal =\n defineSignal<[id: GatedTransactionId]>('GatedTransactionGo');\nexport const queryGatedTransactions =\n defineQuery<QueryGatedTransactionsResult>('GatedTransactionQuery');\n\nexport const useGatedTransactionSignalLock = (\n fn: WorkflowFunctions,\n getPassthrough?: () => WorkflowHandle<any>[],\n): UserInteractionCallbacks => {\n const approvedIds: Set<GatedTransactionId> = new Set();\n const approvedBundleNames: Set<string> = new Set();\n\n const pendingTransactions: Record<GatedTransactionId, GatedTransaction> = {};\n const sentTransactions: Record<GatedTransactionId, GatedTransaction> = {};\n const completedTransactions: Record<\n GatedTransactionId,\n GatedTransaction & { result: GatedTransactionResult }\n > = {};\n\n fn.setHandler(queryGatedTransactions, () => {\n const passthroughWfIds = getPassthrough?.().map?.((handle) => handle.workflowId);\n return {\n pendingTransactions: Object.values(pendingTransactions),\n sentTransactions: Object.values(sentTransactions),\n completedTransactions: Object.values(completedTransactions),\n passthroughWorkflowIds: passthroughWfIds ?? [],\n };\n });\n\n fn.setHandler(gatedTransactionGoSignal, async (id) => {\n approvedIds.add(id);\n const passthrough = getPassthrough?.();\n if (passthrough) {\n await Promise.allSettled(\n passthrough.map((wf) => {\n return wf.signal(gatedTransactionGoSignal, [id]);\n }),\n );\n }\n });\n\n const confirmationCallback: UserInteractionCallbacks['confirmationCallback'] = async (tx) => {\n const id = getIdForGatedTransaction(tx);\n pendingTransactions[id] = tx;\n\n await fn.condition(\n () =>\n approvedIds.has(id) || (!!tx.bundleName && approvedBundleNames.has(tx.bundleName)),\n );\n\n tx.bundleName && approvedBundleNames.add(tx.bundleName);\n sentTransactions[id] = tx;\n delete pendingTransactions[id];\n return true;\n };\n\n const onResultCallback: UserInteractionCallbacks['onResultCallback'] = (result) => {\n const id = getIdForGatedTransaction(result);\n completedTransactions[id] = result;\n delete sentTransactions[id];\n };\n\n return { confirmationCallback, onResultCallback };\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/resolver.ts"],"names":["checkGatedTransaction","registry","gatedTransaction","cachedCheckResult","processedTransaction","onChainData","undefined","params","check","callByPointer","functionPointer","expectationMet","expectedResult","operator","isEqual","comparisonValue","Error","resolveGatedTransaction","activityRegistry","gatedTx","isTransactionSuccessful","processTx","confirmationCallback","fn","cache","dependencyIds","dependencies","map","tx","getIdForGatedTransaction","dependenciesAreAllProcessed","every","id","condition","dependenciesWereSuccessful","result","status","GatedTransactionStatus","DEPENDENCY_FAILED","initialCheckResult","getCachedTxCheckData","cacheSuccessfulTxCheckData","NO_OP","confirmation","DENIED","processResult","transaction","finalCheckResult","SUCCESS","submittedTransaction","stringify","o","JSON","_","v","toString","console","error","name","FINAL_CHECK_FAILED","finalOnChainState","e","TRANSACTION_FAILED","transactionError","resolveGatedTransactions","gatedTxes","userInteractionCallbacks","allInternalIds","allDeps","flatMap","allExternalDeps","filter","includes","results","Object","fromEntries","Promise","all","checkResult","gtxId","txFunctions","res","resId","onResultCallback","func","resolveSequencedGatedTransactions","seq","push"],"mappings":"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","file":"SSSLF3RI.js","sourcesContent":["import isEqual from 'lodash.isequal';\n\nimport type { ActivityRegistry } from '@layerzerolabs/common-activities';\nimport type { Transaction, TransactionResult } from '@layerzerolabs/common-chain-model';\nimport type { WorkflowFunctions } from '@layerzerolabs/common-workflow';\n\nimport { getIdForGatedTransaction } from './gatedTx';\nimport type {\n GatedTransaction,\n GatedTransactionId,\n GatedTransactionResult,\n IGatedTransactionCache,\n InferOnChainDataTypeFromGatedTransaction,\n UserInteractionCallbacks,\n} from './types';\nimport { GatedTransactionStatus } from './types';\n\ntype OnChainCheckResult<DataType = any> = {\n expectationMet: boolean;\n onChainData: DataType;\n};\n\nconst checkGatedTransaction = async <GatedTx extends GatedTransaction>({\n registry,\n gatedTransaction,\n cachedCheckResult,\n processedTransaction,\n}: {\n registry: ActivityRegistry;\n gatedTransaction: GatedTx;\n cachedCheckResult?: InferOnChainDataTypeFromGatedTransaction<GatedTx>;\n processedTransaction?: any;\n}): Promise<OnChainCheckResult<InferOnChainDataTypeFromGatedTransaction<GatedTx>>> => {\n let onChainData: InferOnChainDataTypeFromGatedTransaction<GatedTx>;\n if (cachedCheckResult !== undefined) {\n onChainData = cachedCheckResult;\n } else {\n // Always inject the processed transaction as the last parameter when available\n let params = gatedTransaction.check.params;\n if (processedTransaction !== undefined) {\n params = [...gatedTransaction.check.params, processedTransaction];\n }\n\n onChainData = await registry.callByPointer(gatedTransaction.check.functionPointer, params);\n }\n\n let expectationMet: boolean;\n\n switch (gatedTransaction.check.expectedResult.operator) {\n case '=':\n expectationMet = isEqual(\n onChainData,\n gatedTransaction.check.expectedResult.comparisonValue,\n );\n break;\n case '!=':\n expectationMet = !isEqual(\n onChainData,\n gatedTransaction.check.expectedResult.comparisonValue,\n );\n break;\n case '>':\n expectationMet =\n (onChainData as number) >\n (gatedTransaction.check.expectedResult.comparisonValue as number);\n break;\n case '>=':\n expectationMet =\n (onChainData as number) >=\n (gatedTransaction.check.expectedResult.comparisonValue as number);\n break;\n case '<':\n expectationMet =\n (onChainData as number) <\n (gatedTransaction.check.expectedResult.comparisonValue as number);\n break;\n case '<=':\n expectationMet =\n (onChainData as number) <=\n (gatedTransaction.check.expectedResult.comparisonValue as number);\n break;\n default:\n throw new Error(\n `Gated transaction operator \"${gatedTransaction.check.expectedResult.operator}\" is not supported`,\n );\n }\n\n return {\n expectationMet,\n onChainData,\n };\n};\n\nconst resolveGatedTransaction = async <\n TxType extends Transaction,\n TxResult extends TransactionResult,\n GatedTx extends GatedTransaction<string, TxType, any>,\n ProcessTx extends (transaction: TxType) => Promise<TxResult>,\n>({\n activityRegistry,\n gatedTx,\n isTransactionSuccessful,\n processTx,\n confirmationCallback,\n fn,\n cache,\n}: {\n activityRegistry: ActivityRegistry;\n gatedTx: GatedTx;\n processTx: ProcessTx;\n isTransactionSuccessful: (gtxId: GatedTransactionId) => boolean | undefined;\n confirmationCallback: NonNullable<UserInteractionCallbacks['confirmationCallback']>;\n fn: WorkflowFunctions;\n cache?: IGatedTransactionCache;\n}): Promise<\n GatedTx & { result: GatedTransactionResult<GatedTx, TxType & { result: TxResult }> }\n> => {\n const dependencyIds = (gatedTx.dependencies ?? []).map((tx) => getIdForGatedTransaction(tx));\n\n const dependenciesAreAllProcessed = () =>\n dependencyIds.every((id) => isTransactionSuccessful(id) != null);\n\n await fn.condition(dependenciesAreAllProcessed);\n\n //check that the dependencies succeeded\n const dependenciesWereSuccessful = dependencyIds.every((id) => isTransactionSuccessful(id));\n\n if (!dependenciesWereSuccessful) {\n return {\n ...gatedTx,\n result: {\n status: GatedTransactionStatus.DEPENDENCY_FAILED,\n },\n };\n }\n\n const initialCheckResult = await checkGatedTransaction({\n gatedTransaction: gatedTx,\n registry: activityRegistry,\n cachedCheckResult: await cache?.getCachedTxCheckData?.(gatedTx),\n });\n\n await cache?.cacheSuccessfulTxCheckData?.(gatedTx, initialCheckResult.onChainData);\n\n if (initialCheckResult.expectationMet) {\n //already met\n return {\n ...gatedTx,\n result: {\n status: GatedTransactionStatus.NO_OP,\n },\n };\n }\n\n //get confirmation before sending\n const confirmation = await confirmationCallback(gatedTx);\n if (!confirmation) {\n return {\n ...gatedTx,\n result: {\n status: GatedTransactionStatus.DENIED,\n },\n };\n }\n\n //send the tx\n try {\n const processResult = await processTx(gatedTx.transaction);\n const finalCheckResult = await checkGatedTransaction({\n registry: activityRegistry,\n gatedTransaction: gatedTx,\n processedTransaction: { ...gatedTx.transaction, result: processResult },\n });\n\n await cache?.cacheSuccessfulTxCheckData?.(gatedTx, finalCheckResult.onChainData);\n\n if (finalCheckResult.expectationMet) {\n //sent and successful\n return {\n ...gatedTx,\n result: {\n status: GatedTransactionStatus.SUCCESS,\n submittedTransaction: { ...gatedTx.transaction, result: processResult },\n },\n };\n } else {\n //sent and unsuccessful\n const stringify = (o: any) =>\n JSON.stringify(o, (_, v) => (typeof v === 'bigint' ? v.toString() : v), 2);\n console.error(\n `Gated transaction ${gatedTx.name} final check failed:\\nExpected result ${stringify(gatedTx.check.expectedResult.comparisonValue)}, but got:\\n${stringify(finalCheckResult.onChainData)}`,\n );\n return {\n ...gatedTx,\n result: {\n status: GatedTransactionStatus.FINAL_CHECK_FAILED,\n submittedTransaction: { ...gatedTx.transaction, result: processResult },\n finalOnChainState: finalCheckResult.onChainData,\n },\n };\n }\n } catch (e) {\n //sent and failed\n return {\n ...gatedTx,\n result: {\n status: GatedTransactionStatus.TRANSACTION_FAILED,\n transactionError: e,\n },\n };\n }\n};\n\nexport const resolveGatedTransactions = async <\n TxType extends Transaction,\n TxResult extends TransactionResult,\n GatedTx extends GatedTransaction<string, TxType, any>,\n ProcessTx extends (transaction: TxType) => Promise<TxResult>,\n>({\n activityRegistry,\n gatedTxes,\n processTx,\n fn,\n cache,\n userInteractionCallbacks,\n}: {\n activityRegistry: ActivityRegistry;\n gatedTxes: GatedTx[];\n processTx: ProcessTx;\n fn: WorkflowFunctions;\n cache?: IGatedTransactionCache;\n userInteractionCallbacks?: UserInteractionCallbacks;\n}): Promise<(GatedTx & { result: GatedTransactionResult })[]> => {\n //compute deps\n const allInternalIds = gatedTxes.map((tx) => getIdForGatedTransaction(tx));\n const allDeps = gatedTxes.flatMap((tx) => tx.dependencies ?? []);\n const allExternalDeps = allDeps.filter(\n (tx) => !allInternalIds.includes(getIdForGatedTransaction(tx)),\n );\n\n //prepopulate results for external dependencies\n //this map is only used for internal status tracking\n //map id -> was successful\n const results: Record<GatedTransactionId, boolean> = Object.fromEntries(\n await Promise.all(\n allExternalDeps.map(async (tx) => {\n const checkResult = await checkGatedTransaction({\n gatedTransaction: tx,\n registry: activityRegistry,\n cachedCheckResult: await cache?.getCachedTxCheckData?.(tx),\n });\n\n return [getIdForGatedTransaction(tx), checkResult.expectationMet];\n }),\n ),\n );\n\n const isTransactionSuccessful = (gtxId: GatedTransactionId) => results[gtxId];\n\n const txFunctions = gatedTxes.map((tx) => async () => {\n const res = await resolveGatedTransaction<TxType, TxResult, GatedTx, ProcessTx>({\n gatedTx: tx,\n activityRegistry,\n isTransactionSuccessful,\n processTx,\n confirmationCallback:\n userInteractionCallbacks?.confirmationCallback ?? (async () => true),\n fn,\n cache,\n });\n\n const resId = getIdForGatedTransaction(res);\n results[resId] = [GatedTransactionStatus.SUCCESS, GatedTransactionStatus.NO_OP].includes(\n res.result.status,\n );\n\n userInteractionCallbacks?.onResultCallback?.(res);\n return res;\n });\n\n return await Promise.all(txFunctions.map((func) => func()));\n};\n\nexport const resolveSequencedGatedTransactions = async <\n TxType extends Transaction,\n TxResult extends TransactionResult,\n GatedTx extends GatedTransaction<string, TxType, any>,\n ProcessTx extends (transaction: TxType) => Promise<TxResult>,\n>({\n activityRegistry,\n gatedTxes,\n processTx,\n cache,\n userInteractionCallbacks,\n fn,\n}: {\n activityRegistry: ActivityRegistry;\n gatedTxes: GatedTx[][];\n processTx: ProcessTx;\n fn: WorkflowFunctions;\n cache?: IGatedTransactionCache;\n userInteractionCallbacks?: UserInteractionCallbacks;\n}) => {\n const results = [];\n for (const seq of gatedTxes) {\n const result = await resolveGatedTransactions<TxType, TxResult, GatedTx, ProcessTx>({\n gatedTxes: seq,\n activityRegistry,\n processTx,\n cache,\n userInteractionCallbacks,\n fn,\n });\n results.push(result);\n }\n\n return results;\n};\n"]}