@hinkal/common 0.0.1 → 0.0.2

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 (48) hide show
  1. package/README.md +3 -5
  2. package/package.json +1 -1
  3. package/src/constants/hinkal.constants.d.ts +1 -0
  4. package/src/constants/hinkal.constants.js +3 -0
  5. package/src/constants/hinkal.constants.js.map +1 -0
  6. package/src/constants/index.d.ts +1 -0
  7. package/src/constants/index.js +2 -0
  8. package/src/constants/index.js.map +1 -0
  9. package/src/event-service/AbstractEventService.d.ts +25 -0
  10. package/src/event-service/AbstractEventService.js +90 -0
  11. package/src/event-service/AbstractEventService.js.map +1 -0
  12. package/src/event-service/index.d.ts +1 -0
  13. package/src/event-service/index.js +2 -0
  14. package/src/event-service/index.js.map +1 -0
  15. package/src/index.d.ts +2 -0
  16. package/src/index.js +2 -0
  17. package/src/index.js.map +1 -1
  18. package/src/snapshot/AbstractAccessTokenSnapshotService.d.ts +1 -1
  19. package/src/snapshot/AbstractAccessTokenSnapshotService.js +1 -1
  20. package/src/snapshot/AbstractAccessTokenSnapshotService.js.map +1 -1
  21. package/src/snapshot/AbstractCommitmentsSnapshotService.d.ts +1 -1
  22. package/src/snapshot/AbstractCommitmentsSnapshotService.js +1 -1
  23. package/src/snapshot/AbstractCommitmentsSnapshotService.js.map +1 -1
  24. package/src/snapshot/AbstractNullifierSnapshotService.d.ts +1 -1
  25. package/src/snapshot/AbstractNullifierSnapshotService.js +1 -1
  26. package/src/snapshot/AbstractNullifierSnapshotService.js.map +1 -1
  27. package/src/snapshot/AbstractSnapshotService.d.ts +6 -22
  28. package/src/snapshot/AbstractSnapshotService.js +11 -66
  29. package/src/snapshot/AbstractSnapshotService.js.map +1 -1
  30. package/src/types/commitments.types.d.ts +4 -0
  31. package/src/types/external-action.types.d.ts +6 -0
  32. package/src/types/external-action.types.js +10 -0
  33. package/src/types/external-action.types.js.map +1 -0
  34. package/src/types/index.d.ts +1 -0
  35. package/src/types/index.js +1 -0
  36. package/src/types/index.js.map +1 -1
  37. package/src/utils/bigInt.utils.d.ts +1 -0
  38. package/src/utils/bigInt.utils.js +3 -0
  39. package/src/utils/bigInt.utils.js.map +1 -1
  40. package/src/utils/external-action.utils.d.ts +3 -0
  41. package/src/utils/external-action.utils.js +5 -0
  42. package/src/utils/external-action.utils.js.map +1 -0
  43. package/src/utils/index.d.ts +2 -0
  44. package/src/utils/index.js +2 -0
  45. package/src/utils/index.js.map +1 -1
  46. package/src/utils/resolve-sync.utils.d.ts +1 -0
  47. package/src/utils/resolve-sync.utils.js +3 -0
  48. package/src/utils/resolve-sync.utils.js.map +1 -0
package/README.md CHANGED
@@ -1,7 +1,5 @@
1
- # shared-common
1
+ # Hinkal Common
2
2
 
3
- This library was generated with [Nx](https://nx.dev).
3
+ This package contains some common functions used in different Hinkal projects.
4
+ It's not supposed to be used directly. Please, use `@hinkal/react-hooks` instead.
4
5
 
5
- ## Building
6
-
7
- Run `nx build shared-common` to build the library.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hinkal/common",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "type": "commonjs",
5
5
  "dependencies": {
6
6
  "circomlibjs": "0.1.7",
@@ -0,0 +1 @@
1
+ export declare const CIRCOM_P = 21888242871839275222246405745257275088548364400416034343698204186575808495617n;
@@ -0,0 +1,3 @@
1
+ // circom p
2
+ export const CIRCOM_P = 21888242871839275222246405745257275088548364400416034343698204186575808495617n;
3
+ //# sourceMappingURL=hinkal.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hinkal.constants.js","sourceRoot":"","sources":["../../../../../../libs/shared/common/src/constants/hinkal.constants.ts"],"names":[],"mappings":"AAAA,WAAW;AACX,MAAM,CAAC,MAAM,QAAQ,GAAG,8EAA8E,CAAC"}
@@ -0,0 +1 @@
1
+ export * from './hinkal.constants';
@@ -0,0 +1,2 @@
1
+ export * from './hinkal.constants';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/shared/common/src/constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { ethers } from 'ethers';
2
+ export type NewEventListener<E> = (event: E) => unknown;
3
+ export interface EventConfig {
4
+ name: string;
5
+ args: string[];
6
+ }
7
+ export declare abstract class AbstractEventService<EventType, SerializedEventType = unknown> {
8
+ protected readonly contract: ethers.Contract;
9
+ protected readonly eventConfig: EventConfig;
10
+ protected _latestBlockNumber: number;
11
+ private isReady;
12
+ private _onNewEvent?;
13
+ protected constructor(contract: ethers.Contract, eventConfig: EventConfig, initialBlockNumber: number);
14
+ get latestBlockNumber(): number;
15
+ set onNewEvent(value: NewEventListener<EventType>);
16
+ init(): Promise<void>;
17
+ protected requireReady(): void;
18
+ protected emitNewEvent(event: EventType): void;
19
+ protected retrieveEvents(fromBlockNumber: number): Promise<number>;
20
+ protected abstract acceptEvent(event: EventType, blockNumber: number): boolean | Promise<boolean>;
21
+ protected abstract mapEvent(event: SerializedEventType): EventType;
22
+ protected afterEventsAccepted(_events: EventType[], _blockNumber: number): Promise<unknown>;
23
+ private listenEvents;
24
+ protected handleEvent: (eventName: string, ...args: unknown[]) => Promise<void>;
25
+ }
@@ -0,0 +1,90 @@
1
+ import { resolveSync } from '../utils';
2
+ export class AbstractEventService {
3
+ constructor(contract, eventConfig, initialBlockNumber) {
4
+ this.isReady = false;
5
+ this.handleEvent = async (eventName, ...args) => {
6
+ const { args: eventArgsConfig } = this.eventConfig;
7
+ const { blockNumber } = args[args.length - 1];
8
+ const eventFields = args.slice(0, eventArgsConfig.length);
9
+ const serializedEvent = eventArgsConfig.reduce((result, fieldName, idx) => {
10
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
11
+ // @ts-ignore
12
+ // eslint-disable-next-line no-param-reassign
13
+ result[fieldName] = eventFields[idx];
14
+ return result;
15
+ }, {});
16
+ this.requireReady();
17
+ if (blockNumber) {
18
+ const event = this.mapEvent(serializedEvent);
19
+ const success = await this.acceptEvent(event, blockNumber);
20
+ if (success) {
21
+ this._latestBlockNumber = blockNumber;
22
+ await this.afterEventsAccepted([event], blockNumber);
23
+ this.emitNewEvent(event);
24
+ return;
25
+ }
26
+ }
27
+ await this.retrieveEvents(this._latestBlockNumber + 1);
28
+ };
29
+ this.contract = contract;
30
+ this.eventConfig = eventConfig;
31
+ this._latestBlockNumber = initialBlockNumber;
32
+ }
33
+ get latestBlockNumber() {
34
+ return this._latestBlockNumber;
35
+ }
36
+ set onNewEvent(value) {
37
+ this._onNewEvent = value;
38
+ }
39
+ async init() {
40
+ if (this.isReady) {
41
+ throw new Error('Already initialized');
42
+ }
43
+ this.isReady = true;
44
+ await this.retrieveEvents(this._latestBlockNumber + 1);
45
+ this.listenEvents();
46
+ }
47
+ requireReady() {
48
+ if (!this.isReady) {
49
+ throw new Error('Not ready');
50
+ }
51
+ }
52
+ emitNewEvent(event) {
53
+ this._onNewEvent?.(event);
54
+ }
55
+ async retrieveEvents(fromBlockNumber) {
56
+ this.requireReady();
57
+ const events = await this.contract.queryFilter(this.contract.filters[this.eventConfig.name](), fromBlockNumber);
58
+ if (events.length > 0) {
59
+ const mappedEvents = [];
60
+ await resolveSync(events.map((event) => async () => {
61
+ const { args, blockNumber } = event;
62
+ if (blockNumber < fromBlockNumber) {
63
+ return;
64
+ }
65
+ if (!args) {
66
+ throw new Error('Wrong event structure');
67
+ }
68
+ const mappedEvent = this.mapEvent(args);
69
+ const success = await this.acceptEvent(mappedEvent, blockNumber);
70
+ if (!success) {
71
+ throw new Error('Failed to retrieve events');
72
+ }
73
+ this._latestBlockNumber = blockNumber;
74
+ mappedEvents.push(mappedEvent);
75
+ }));
76
+ if (mappedEvents.length > 0) {
77
+ await this.afterEventsAccepted(mappedEvents, this._latestBlockNumber);
78
+ }
79
+ return events.length;
80
+ }
81
+ return 0;
82
+ }
83
+ async afterEventsAccepted(_events, _blockNumber) {
84
+ return undefined;
85
+ }
86
+ listenEvents() {
87
+ this.contract.on(this.eventConfig.name, (...args) => this.handleEvent(this.eventConfig.name, ...args));
88
+ }
89
+ }
90
+ //# sourceMappingURL=AbstractEventService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstractEventService.js","sourceRoot":"","sources":["../../../../../../libs/shared/common/src/event-service/AbstractEventService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from './AbstractEventService';
@@ -0,0 +1,2 @@
1
+ export * from './AbstractEventService';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/shared/common/src/event-service/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC"}
package/src/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export * from './constants';
1
2
  export * from './crypto';
2
3
  export * from './EtherumNetwork';
3
4
  export * from './merkle-tree';
@@ -5,3 +6,4 @@ export * from './requireEnv';
5
6
  export * from './snapshot';
6
7
  export * from './types';
7
8
  export * from './utils';
9
+ export * from './event-service';
package/src/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ export * from './constants';
1
2
  export * from './crypto';
2
3
  export * from './EtherumNetwork';
3
4
  export * from './merkle-tree';
@@ -5,4 +6,5 @@ export * from './requireEnv';
5
6
  export * from './snapshot';
6
7
  export * from './types';
7
8
  export * from './utils';
9
+ export * from './event-service';
8
10
  //# sourceMappingURL=index.js.map
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/shared/common/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/shared/common/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC"}
@@ -19,7 +19,7 @@ export declare abstract class AbstractAccessTokenSnapshotService extends Abstrac
19
19
  get senderAddresses(): Set<string>;
20
20
  protected serializeSnapshot(snapshot: Snapshot<AccessTokenSnapshotPayload>): AccessTokenSerializedSnapshot;
21
21
  protected deserializeSnapshot(serializedSnapshot: AccessTokenSerializedSnapshot): Snapshot<AccessTokenSnapshotPayload>;
22
- protected addEvent(event: AccessTokenEvent<bigint>, _blockNumber: number): boolean;
22
+ protected acceptEvent(event: AccessTokenEvent<bigint>, _blockNumber: number): boolean;
23
23
  protected mapEvent(event: AccessTokenEvent): AccessTokenEvent<bigint>;
24
24
  protected getSnapshotPayload(): AccessTokenSnapshotPayload;
25
25
  protected populateSnapshot({ payload: { merkleTree, senderAddresses }, }: Snapshot<AccessTokenSnapshotPayload>): void;
@@ -44,7 +44,7 @@ export class AbstractAccessTokenSnapshotService extends AbstractSnapshotService
44
44
  },
45
45
  };
46
46
  }
47
- addEvent(event, _blockNumber) {
47
+ acceptEvent(event, _blockNumber) {
48
48
  try {
49
49
  this._merkleTree.insert(event.accessKey, event.index);
50
50
  this._senderAddresses.add(event.senderAddress);
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractAccessTokenSnapshotService.js","sourceRoot":"","sources":["../../../../../../libs/shared/common/src/snapshot/AbstractAccessTokenSnapshotService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractAccessTokenSnapshotService.js","sourceRoot":"","sources":["../../../../../../libs/shared/common/src/snapshot/AbstractAccessTokenSnapshotService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAkB,MAAM,gBAAgB,CAAC;AAE5D,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,uBAAuB,EAAY,MAAM,2BAA2B,CAAC;AAa9E,MAAM,OAAgB,kCAAmC,SAAQ,uBAKhE;IACC,YAAY,QAAyB,EAAE,kBAA0B;QAC/D,KAAK,CACH,QAAQ,EACR;YACE,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,eAAe,CAAC;SAC9C,EACD,kBAAkB,CACnB,CAAC;IACJ,CAAC;IAMD,IAAI,UAAU;QACZ,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,IAAI,eAAe;QACjB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAEkB,iBAAiB,CAAC,QAA8C;QACjF,OAAO;YACL,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE;YAChD,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC;YAC7D,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;SAC9C,CAAC;IACJ,CAAC;IAEkB,mBAAmB,CACpC,kBAAiD;QAEjD,IAAI,UAA8B,CAAC;QACnC,IAAI,kBAAkB,CAAC,iBAAiB,IAAI,kBAAkB,CAAC,UAAU,EAAE;YACzE,MAAM,IAAI,GAAG,IAAI,GAAG,CAClB,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAmB,EAAE,EAAE,CAAC;gBACzF,MAAM,CAAC,GAAG,CAAC;gBACX,MAAM,CAAC,KAAK,CAAC;aACd,CAAC,CACH,CAAC;YACF,UAAU,GAAG,UAAU,CAAC,cAAc,CACpC,IAAI,EACJ,QAAQ,CAAC,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,EAC7C,QAAQ,CAAC,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,EAC7C,gBAAgB,EAChB,GAAG,EACH,EAAE,CACH,CAAC;SACH;aAAM;YACL,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,gBAAgB,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;SAC3D;QAED,OAAO;YACL,iBAAiB,EAAE,kBAAkB,CAAC,iBAAiB,IAAI,CAAC;YAC5D,OAAO,EAAE;gBACP,UAAU;gBACV,eAAe,EAAE,IAAI,GAAG,CAAC,kBAAkB,CAAC,eAAe,IAAI,EAAE,CAAC;aACnE;SACF,CAAC;IACJ,CAAC;IAES,WAAW,CAAC,KAA+B,EAAE,YAAoB;QACzE,IAAI;YACF,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YACtD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAC/C,OAAO,IAAI,CAAC;SACb;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnB,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAEkB,QAAQ,CAAC,KAAuB;QACjD,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;QAClD,OAAO;YACL,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC;YAC9B,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC;YACtB,aAAa;SACd,CAAC;IACJ,CAAC;IAEkB,kBAAkB;QACnC,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,eAAe,EAAE,IAAI,CAAC,gBAAgB;SACvC,CAAC;IACJ,CAAC;IAEkB,gBAAgB,CAAC,EAClC,OAAO,EAAE,EAAE,UAAU,EAAE,eAAe,EAAE,GACH;QACrC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;IAC1C,CAAC;CACF"}
@@ -19,7 +19,7 @@ export declare abstract class AbstractCommitmentsSnapshotService extends Abstrac
19
19
  get encryptedOutputs(): Set<string>;
20
20
  protected serializeSnapshot(snapshot: Snapshot<CommitmentsSnapshotPayload>): CommitmentsSerializedSnapshot;
21
21
  protected deserializeSnapshot(serializedSnapshot: CommitmentsSerializedSnapshot): Snapshot<CommitmentsSnapshotPayload>;
22
- protected addEvent(event: CommitmentEvent<bigint>, _blockNumber: number): boolean;
22
+ protected acceptEvent(event: CommitmentEvent<bigint>, _blockNumber: number): boolean;
23
23
  protected mapEvent(event: CommitmentEvent): CommitmentEvent<bigint>;
24
24
  protected getSnapshotPayload(): {
25
25
  merkleTree: MerkleTree<bigint>;
@@ -44,7 +44,7 @@ export class AbstractCommitmentsSnapshotService extends AbstractSnapshotService
44
44
  },
45
45
  };
46
46
  }
47
- addEvent(event, _blockNumber) {
47
+ acceptEvent(event, _blockNumber) {
48
48
  try {
49
49
  this._merkleTree.insert(event.commitment, event.index);
50
50
  this._encryptedOutputs.add(event.encryptedOutput);
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractCommitmentsSnapshotService.js","sourceRoot":"","sources":["../../../../../../libs/shared/common/src/snapshot/AbstractCommitmentsSnapshotService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractCommitmentsSnapshotService.js","sourceRoot":"","sources":["../../../../../../libs/shared/common/src/snapshot/AbstractCommitmentsSnapshotService.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ export declare abstract class AbstractNullifierSnapshotService extends AbstractS
14
14
  get nullifiers(): Set<string>;
15
15
  protected serializeSnapshot(snapshot: Snapshot<NullifierSnapshotPayload>): NullifierSerializedSnapshot;
16
16
  protected deserializeSnapshot(serializedSnapshot: NullifierSerializedSnapshot): Snapshot<NullifierSnapshotPayload>;
17
- protected addEvent(event: NullifierEvent<string>, _blockNumber: number): boolean;
17
+ protected acceptEvent(event: NullifierEvent<string>, _blockNumber: number): boolean;
18
18
  protected mapEvent(event: NullifierEvent<BigNumber>): NullifierEvent<string>;
19
19
  protected getSnapshotPayload(): NullifierSnapshotPayload;
20
20
  protected populateSnapshot({ payload: { nullifiers } }: Snapshot<NullifierSnapshotPayload>): void;
@@ -24,7 +24,7 @@ export class AbstractNullifierSnapshotService extends AbstractSnapshotService {
24
24
  },
25
25
  };
26
26
  }
27
- addEvent(event, _blockNumber) {
27
+ acceptEvent(event, _blockNumber) {
28
28
  try {
29
29
  this._nullifiers.add(event.nullifier);
30
30
  return true;
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractNullifierSnapshotService.js","sourceRoot":"","sources":["../../../../../../libs/shared/common/src/snapshot/AbstractNullifierSnapshotService.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAY,MAAM,2BAA2B,CAAC;AAW9E,MAAM,OAAgB,gCAAiC,SAAQ,uBAK9D;IACC,YAAY,QAAyB,EAAE,kBAA0B;QAC/D,KAAK,CACH,QAAQ,EACR;YACE,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,CAAC,WAAW,CAAC;SACpB,EACD,kBAAkB,CACnB,CAAC;IACJ,CAAC;IAID,IAAI,UAAU;QACZ,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAEkB,iBAAiB,CAAC,QAA4C;QAC/E,OAAO;YACL,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACpF,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;SAC9C,CAAC;IACJ,CAAC;IAEkB,mBAAmB,CACpC,kBAA+C;QAE/C,OAAO;YACL,iBAAiB,EAAE,kBAAkB,CAAC,iBAAiB,IAAI,CAAC;YAC5D,OAAO,EAAE;gBACP,UAAU,EAAE,IAAI,GAAG,CAAC,kBAAkB,CAAC,UAAU,IAAI,EAAE,CAAC;aACzD;SACF,CAAC;IACJ,CAAC;IAES,QAAQ,CAAC,KAA6B,EAAE,YAAoB;QACpE,IAAI;YACF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC;SACb;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnB,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAEkB,QAAQ,CAAC,KAAgC;QAC1D,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;QAC5B,OAAO;YACL,SAAS,EAAE,SAAS,CAAC,WAAW,EAAE;SACnC,CAAC;IACJ,CAAC;IAEkB,kBAAkB;QACnC,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,WAAW;SAC7B,CAAC;IACJ,CAAC;IAEkB,gBAAgB,CAAC,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,EAAsC;QACjG,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,CAAC;CACF"}
1
+ {"version":3,"file":"AbstractNullifierSnapshotService.js","sourceRoot":"","sources":["../../../../../../libs/shared/common/src/snapshot/AbstractNullifierSnapshotService.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAY,MAAM,2BAA2B,CAAC;AAW9E,MAAM,OAAgB,gCAAiC,SAAQ,uBAK9D;IACC,YAAY,QAAyB,EAAE,kBAA0B;QAC/D,KAAK,CACH,QAAQ,EACR;YACE,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,CAAC,WAAW,CAAC;SACpB,EACD,kBAAkB,CACnB,CAAC;IACJ,CAAC;IAID,IAAI,UAAU;QACZ,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAEkB,iBAAiB,CAAC,QAA4C;QAC/E,OAAO;YACL,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACpF,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;SAC9C,CAAC;IACJ,CAAC;IAEkB,mBAAmB,CACpC,kBAA+C;QAE/C,OAAO;YACL,iBAAiB,EAAE,kBAAkB,CAAC,iBAAiB,IAAI,CAAC;YAC5D,OAAO,EAAE;gBACP,UAAU,EAAE,IAAI,GAAG,CAAC,kBAAkB,CAAC,UAAU,IAAI,EAAE,CAAC;aACzD;SACF,CAAC;IACJ,CAAC;IAES,WAAW,CAAC,KAA6B,EAAE,YAAoB;QACvE,IAAI;YACF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC;SACb;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnB,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAEkB,QAAQ,CAAC,KAAgC;QAC1D,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;QAC5B,OAAO;YACL,SAAS,EAAE,SAAS,CAAC,WAAW,EAAE;SACnC,CAAC;IACJ,CAAC;IAEkB,kBAAkB;QACnC,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,WAAW;SAC7B,CAAC;IACJ,CAAC;IAEkB,gBAAgB,CAAC,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,EAAsC;QACjG,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,CAAC;CACF"}
@@ -1,40 +1,24 @@
1
1
  import { ethers } from 'ethers';
2
+ import { AbstractEventService, EventConfig } from '../event-service';
2
3
  export interface Snapshot<SnapshotPayloadType> {
3
4
  readonly latestBlockNumber: number;
4
5
  readonly payload: SnapshotPayloadType;
5
6
  }
6
7
  export type SnapshotReadyListener<SnapshotPayloadType> = (snapshot: Snapshot<SnapshotPayloadType>) => unknown;
7
- export type NewEventListener<E> = (event: E) => unknown;
8
- export interface EventConfig {
9
- name: string;
10
- args: string[];
11
- }
12
- export declare abstract class AbstractSnapshotService<SnapshotPayloadType, EventType, SerializedSnapshotType = unknown, SerializedEventType = unknown> {
13
- protected readonly contract: ethers.Contract;
14
- private readonly eventConfig;
15
- private _latestBlockNumber;
16
- private isReady;
8
+ export declare abstract class AbstractSnapshotService<SnapshotPayloadType, EventType, SerializedSnapshotType = unknown, SerializedEventType = unknown> extends AbstractEventService<EventType, SerializedEventType> {
17
9
  private _onSnapshotReady?;
18
- private _onNewEvent?;
19
- constructor(contract: ethers.Contract, eventConfig: EventConfig, initialBlockNumber: number);
20
- get latestBlockNumber(): number;
10
+ protected constructor(contract: ethers.Contract, eventConfig: EventConfig, initialBlockNumber: number);
21
11
  set onSnapshotReady(value: SnapshotReadyListener<SnapshotPayloadType>);
22
- set onNewEvent(value: NewEventListener<EventType>);
23
12
  init(): Promise<void>;
24
- protected requireReady(): void;
25
13
  private emitSnapshotReady;
26
- private emitNewEvent;
27
- private retrieveEvents;
14
+ protected retrieveEvents(fromBlockNumber: number): Promise<number>;
28
15
  private loadSnapshot;
29
- protected saveSnapshot(): Promise<unknown>;
30
- protected abstract addEvent(event: EventType, blockNumber: number): boolean;
16
+ protected saveSnapshot(_blockNumber: number): Promise<unknown>;
17
+ protected afterEventsAccepted(_events: EventType[], _blockNumber: number): Promise<unknown>;
31
18
  protected abstract getSnapshotPayload(): SnapshotPayloadType;
32
19
  protected abstract populateSnapshot(snapshot: Snapshot<SnapshotPayloadType>): unknown;
33
20
  protected abstract serializeSnapshot(snapshot: Snapshot<SnapshotPayloadType>): SerializedSnapshotType;
34
21
  protected abstract deserializeSnapshot(serializedSnapshot: SerializedSnapshotType): Snapshot<SnapshotPayloadType>;
35
- protected abstract mapEvent(event: SerializedEventType): EventType;
36
22
  protected abstract fetchSnapshot(): Promise<SerializedSnapshotType>;
37
23
  protected abstract persistSnapshot(serializedSnapshot: SerializedSnapshotType): Promise<unknown>;
38
- private listenEvents;
39
- private handleEvent;
40
24
  }
@@ -1,56 +1,15 @@
1
- export class AbstractSnapshotService {
1
+ import { AbstractEventService } from '../event-service';
2
+ export class AbstractSnapshotService extends AbstractEventService {
2
3
  constructor(contract, eventConfig, initialBlockNumber) {
3
- this.isReady = false;
4
- this.handleEvent = async (eventName, ...args) => {
5
- const { args: eventArgsConfig } = this.eventConfig;
6
- const { blockNumber } = args[args.length - 1];
7
- const eventFields = args.slice(0, eventArgsConfig.length);
8
- const serializedEvent = eventArgsConfig.reduce((result, fieldName, idx) => {
9
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
10
- // @ts-ignore
11
- // eslint-disable-next-line no-param-reassign
12
- result[fieldName] = eventFields[idx];
13
- return result;
14
- }, {});
15
- this.requireReady();
16
- if (blockNumber) {
17
- const event = this.mapEvent(serializedEvent);
18
- const success = this.addEvent(event, blockNumber);
19
- if (success) {
20
- this._latestBlockNumber = blockNumber;
21
- await this.saveSnapshot();
22
- this.emitNewEvent(event);
23
- }
24
- }
25
- await this.retrieveEvents(this._latestBlockNumber + 1);
26
- };
27
- this.contract = contract;
28
- this.eventConfig = eventConfig;
29
- this._latestBlockNumber = initialBlockNumber;
30
- }
31
- get latestBlockNumber() {
32
- return this._latestBlockNumber;
4
+ super(contract, eventConfig, initialBlockNumber);
33
5
  }
34
6
  set onSnapshotReady(value) {
35
7
  this._onSnapshotReady = value;
36
8
  }
37
- set onNewEvent(value) {
38
- this._onNewEvent = value;
39
- }
40
9
  async init() {
41
- if (this.isReady) {
42
- throw new Error('Already initialized');
43
- }
44
10
  await this.loadSnapshot();
45
- this.isReady = true;
46
- await this.retrieveEvents(this._latestBlockNumber + 1);
11
+ await super.init();
47
12
  this.emitSnapshotReady(this.getSnapshotPayload());
48
- this.listenEvents();
49
- }
50
- requireReady() {
51
- if (!this.isReady) {
52
- throw new Error('Not ready');
53
- }
54
13
  }
55
14
  emitSnapshotReady(snapshotPayload) {
56
15
  this._onSnapshotReady?.({
@@ -58,40 +17,26 @@ export class AbstractSnapshotService {
58
17
  payload: snapshotPayload,
59
18
  });
60
19
  }
61
- emitNewEvent(event) {
62
- this._onNewEvent?.(event);
63
- }
64
20
  async retrieveEvents(fromBlockNumber) {
65
- this.requireReady();
66
- const events = await this.contract.queryFilter(this.contract.filters[this.eventConfig.name](), fromBlockNumber);
67
- if (events.length > 0) {
68
- events.forEach((event) => {
69
- if (!event.args) {
70
- throw new Error('Wrong event structure');
71
- }
72
- const { args } = event;
73
- const success = this.addEvent(this.mapEvent(args), event.blockNumber);
74
- if (!success) {
75
- throw new Error('Failed to retrieve events');
76
- }
77
- this._latestBlockNumber = event.blockNumber;
78
- });
79
- await this.saveSnapshot();
21
+ const addedAmount = await super.retrieveEvents(fromBlockNumber);
22
+ if (addedAmount > 0) {
23
+ await this.saveSnapshot(this._latestBlockNumber);
80
24
  }
25
+ return addedAmount;
81
26
  }
82
27
  async loadSnapshot() {
83
28
  const snapshot = this.deserializeSnapshot(await this.fetchSnapshot());
84
29
  await this.populateSnapshot(snapshot);
85
30
  this._latestBlockNumber = snapshot.latestBlockNumber;
86
31
  }
87
- saveSnapshot() {
32
+ saveSnapshot(_blockNumber) {
88
33
  return this.persistSnapshot(this.serializeSnapshot({
89
34
  latestBlockNumber: this._latestBlockNumber,
90
35
  payload: this.getSnapshotPayload(),
91
36
  }));
92
37
  }
93
- listenEvents() {
94
- this.contract.on(this.eventConfig.name, (...args) => this.handleEvent(this.eventConfig.name, ...args));
38
+ afterEventsAccepted(_events, _blockNumber) {
39
+ return this.saveSnapshot(_blockNumber);
95
40
  }
96
41
  }
97
42
  //# sourceMappingURL=AbstractSnapshotService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractSnapshotService.js","sourceRoot":"","sources":["../../../../../../libs/shared/common/src/snapshot/AbstractSnapshotService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractSnapshotService.js","sourceRoot":"","sources":["../../../../../../libs/shared/common/src/snapshot/AbstractSnapshotService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAe,MAAM,kBAAkB,CAAC;AASrE,MAAM,OAAgB,uBAKpB,SAAQ,oBAAoD;IAG5D,YAAsB,QAAyB,EAAE,WAAwB,EAAE,kBAA0B;QACnG,KAAK,CAAC,QAAQ,EAAE,WAAW,EAAE,kBAAkB,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,eAAe,CAAC,KAAiD;QACnE,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAChC,CAAC;IAEQ,KAAK,CAAC,IAAI;QACjB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACpD,CAAC;IAEO,iBAAiB,CAAC,eAAoC;QAC5D,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,iBAAiB,EAAE,IAAI,CAAC,kBAAkB;YAC1C,OAAO,EAAE,eAAe;SACzB,CAAC,CAAC;IACL,CAAC;IAEkB,KAAK,CAAC,cAAc,CAAC,eAAuB;QAC7D,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QAChE,IAAI,WAAW,GAAG,CAAC,EAAE;YACnB,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SAClD;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QACtE,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC,iBAAiB,CAAC;IACvD,CAAC;IAES,YAAY,CAAC,YAAoB;QACzC,OAAO,IAAI,CAAC,eAAe,CACzB,IAAI,CAAC,iBAAiB,CAAC;YACrB,iBAAiB,EAAE,IAAI,CAAC,kBAAkB;YAC1C,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE;SACnC,CAAC,CACH,CAAC;IACJ,CAAC;IAEkB,mBAAmB,CAAC,OAAoB,EAAE,YAAoB;QAC/E,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;CASF"}
@@ -12,3 +12,7 @@ export interface AccessTokenEvent<BN = BigIntable> {
12
12
  export interface NullifierEvent<T> {
13
13
  nullifier: T;
14
14
  }
15
+ export interface RegisterEvent {
16
+ ethereumAddress: string;
17
+ shieldedAddressHash: string;
18
+ }
@@ -0,0 +1,6 @@
1
+ export declare enum ExternalActionId {
2
+ Aave = "Aave",
3
+ FutureTransact = "FutureTransact",
4
+ Odos = "Odos",
5
+ Uniswap = "Uniswap"
6
+ }
@@ -0,0 +1,10 @@
1
+ export var ExternalActionId;
2
+ (function (ExternalActionId) {
3
+ // TODO: Not workable one
4
+ ExternalActionId["Aave"] = "Aave";
5
+ ExternalActionId["FutureTransact"] = "FutureTransact";
6
+ // TODO: Not workable one
7
+ ExternalActionId["Odos"] = "Odos";
8
+ ExternalActionId["Uniswap"] = "Uniswap";
9
+ })(ExternalActionId || (ExternalActionId = {}));
10
+ //# sourceMappingURL=external-action.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"external-action.types.js","sourceRoot":"","sources":["../../../../../../libs/shared/common/src/types/external-action.types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,gBAOX;AAPD,WAAY,gBAAgB;IAC1B,yBAAyB;IACzB,iCAAa,CAAA;IACb,qDAAiC,CAAA;IACjC,yBAAyB;IACzB,iCAAa,CAAA;IACb,uCAAmB,CAAA;AACrB,CAAC,EAPW,gBAAgB,KAAhB,gBAAgB,QAO3B"}
@@ -1,2 +1,3 @@
1
1
  export * from './big-intable.types';
2
2
  export * from './commitments.types';
3
+ export * from './external-action.types';
@@ -1,3 +1,4 @@
1
1
  export * from './big-intable.types';
2
2
  export * from './commitments.types';
3
+ export * from './external-action.types';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/shared/common/src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/shared/common/src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export declare function bigintApplySugar(): void;
2
2
  export declare function bigintMax(...values: bigint[]): bigint;
3
3
  export declare function bigintMin(...values: bigint[]): bigint;
4
+ export declare function bigintAbs(n: bigint): bigint;
@@ -12,4 +12,7 @@ export function bigintMax(...values) {
12
12
  export function bigintMin(...values) {
13
13
  return values.reduce((min, value) => (value < min ? value : min));
14
14
  }
15
+ export function bigintAbs(n) {
16
+ return n === -0n || n < 0n ? -n : n;
17
+ }
15
18
  //# sourceMappingURL=bigInt.utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bigInt.utils.js","sourceRoot":"","sources":["../../../../../../libs/shared/common/src/utils/bigInt.utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,gBAAgB;IAC9B,6DAA6D;IAC7D,aAAa;IACb,6EAA6E;IAC7E,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,SAAS,MAAM;QACvC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAG,MAAgB;IAC3C,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAG,MAAgB;IAC3C,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACpE,CAAC"}
1
+ {"version":3,"file":"bigInt.utils.js","sourceRoot":"","sources":["../../../../../../libs/shared/common/src/utils/bigInt.utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,gBAAgB;IAC9B,6DAA6D;IAC7D,aAAa;IACb,6EAA6E;IAC7E,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,SAAS,MAAM;QACvC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAG,MAAgB;IAC3C,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAG,MAAgB;IAC3C,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,CAAS;IACjC,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { ExternalActionId } from '../types';
2
+ export declare const getExternalActionIdHash: (externalActionId: ExternalActionId) => bigint;
3
+ export declare const getExternalMetadataHash: (externalMetadataBuffer: string) => bigint;
@@ -0,0 +1,5 @@
1
+ import { ethers } from 'ethers';
2
+ import { CIRCOM_P } from '../constants';
3
+ export const getExternalActionIdHash = (externalActionId) => BigInt(ethers.utils.id(externalActionId)) % CIRCOM_P;
4
+ export const getExternalMetadataHash = (externalMetadataBuffer) => BigInt(ethers.utils.keccak256(externalMetadataBuffer)) % CIRCOM_P;
5
+ //# sourceMappingURL=external-action.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"external-action.utils.js","sourceRoot":"","sources":["../../../../../../libs/shared/common/src/utils/external-action.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAGxC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,gBAAkC,EAAE,EAAE,CAC5E,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,GAAG,QAAQ,CAAC;AAEvD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,sBAA8B,EAAE,EAAE,CACxE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC,GAAG,QAAQ,CAAC"}
@@ -1,2 +1,4 @@
1
1
  export * from './bigInt.utils';
2
+ export * from './external-action.utils';
3
+ export * from './resolve-sync.utils';
2
4
  export * from './to-bigInt';
@@ -1,3 +1,5 @@
1
1
  export * from './bigInt.utils';
2
+ export * from './external-action.utils';
3
+ export * from './resolve-sync.utils';
2
4
  export * from './to-bigInt';
3
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/shared/common/src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/shared/common/src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const resolveSync: (promiseFns: (() => Promise<any>)[]) => Promise<void>;
@@ -0,0 +1,3 @@
1
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2
+ export const resolveSync = (promiseFns) => promiseFns.reduce((result, promise) => result.then(() => promise()), Promise.resolve());
3
+ //# sourceMappingURL=resolve-sync.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-sync.utils.js","sourceRoot":"","sources":["../../../../../../libs/shared/common/src/utils/resolve-sync.utils.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,UAAkC,EAAiB,EAAE,CAC/E,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC"}