Compare commits

..

1 Commits

Author SHA1 Message Date
eff65cd13d
Add BaseMultiTornadoService 2024-11-18 07:27:31 +00:00
5 changed files with 21 additions and 48 deletions

16
dist/index.js vendored
View File

@ -2484,16 +2484,10 @@ class BaseMultiTornadoService extends BaseEventsService {
events,
newEvents
}) {
const instancesWithNewEvents = [
...new Set(
newEvents.filter(({ event }) => event === "Deposit").map(({ instanceAddress }) => instanceAddress)
)
];
const instancesWithNewEvents = Object.keys(this.instances).filter(
(i) => newEvents.find(({ instanceAddress, event }) => instanceAddress === i && event === "Deposit")
);
let tree;
const requiredTree = this.merkleTreeService?.Tornado?.target;
if (requiredTree && !instancesWithNewEvents.includes(requiredTree)) {
instancesWithNewEvents.push(requiredTree);
}
for (const instance of instancesWithNewEvents) {
const depositEvents = events.filter(
({ instanceAddress, event }) => instanceAddress === instance && event === "Deposit"
@ -2503,8 +2497,8 @@ class BaseMultiTornadoService extends BaseEventsService {
const errMsg = `Invalid deposit events for ${instance} wants ${depositEvents.length - 1} leafIndex have ${lastEvent.leafIndex}`;
throw new Error(errMsg);
}
if (requiredTree === instance && !this.optionalTree) {
tree = await this.merkleTreeService?.verifyTree(depositEvents);
if (this.merkleTreeService?.Tornado?.target === instance && !this.optionalTree) {
tree = await this.merkleTreeService.verifyTree(depositEvents);
}
}
return tree;

16
dist/index.mjs vendored
View File

@ -2462,16 +2462,10 @@ class BaseMultiTornadoService extends BaseEventsService {
events,
newEvents
}) {
const instancesWithNewEvents = [
...new Set(
newEvents.filter(({ event }) => event === "Deposit").map(({ instanceAddress }) => instanceAddress)
)
];
const instancesWithNewEvents = Object.keys(this.instances).filter(
(i) => newEvents.find(({ instanceAddress, event }) => instanceAddress === i && event === "Deposit")
);
let tree;
const requiredTree = this.merkleTreeService?.Tornado?.target;
if (requiredTree && !instancesWithNewEvents.includes(requiredTree)) {
instancesWithNewEvents.push(requiredTree);
}
for (const instance of instancesWithNewEvents) {
const depositEvents = events.filter(
({ instanceAddress, event }) => instanceAddress === instance && event === "Deposit"
@ -2481,8 +2475,8 @@ class BaseMultiTornadoService extends BaseEventsService {
const errMsg = `Invalid deposit events for ${instance} wants ${depositEvents.length - 1} leafIndex have ${lastEvent.leafIndex}`;
throw new Error(errMsg);
}
if (requiredTree === instance && !this.optionalTree) {
tree = await this.merkleTreeService?.verifyTree(depositEvents);
if (this.merkleTreeService?.Tornado?.target === instance && !this.optionalTree) {
tree = await this.merkleTreeService.verifyTree(depositEvents);
}
}
return tree;

16
dist/tornado.umd.js vendored
View File

@ -90754,16 +90754,10 @@ class BaseMultiTornadoService extends BaseEventsService {
events,
newEvents
}) {
const instancesWithNewEvents = [
...new Set(
newEvents.filter(({ event }) => event === "Deposit").map(({ instanceAddress }) => instanceAddress)
)
];
const instancesWithNewEvents = Object.keys(this.instances).filter(
(i) => newEvents.find(({ instanceAddress, event }) => instanceAddress === i && event === "Deposit")
);
let tree;
const requiredTree = this.merkleTreeService?.Tornado?.target;
if (requiredTree && !instancesWithNewEvents.includes(requiredTree)) {
instancesWithNewEvents.push(requiredTree);
}
for (const instance of instancesWithNewEvents) {
const depositEvents = events.filter(
({ instanceAddress, event }) => instanceAddress === instance && event === "Deposit"
@ -90773,8 +90767,8 @@ class BaseMultiTornadoService extends BaseEventsService {
const errMsg = `Invalid deposit events for ${instance} wants ${depositEvents.length - 1} leafIndex have ${lastEvent.leafIndex}`;
throw new Error(errMsg);
}
if (requiredTree === instance && !this.optionalTree) {
tree = await this.merkleTreeService?.verifyTree(depositEvents);
if (this.merkleTreeService?.Tornado?.target === instance && !this.optionalTree) {
tree = await this.merkleTreeService.verifyTree(depositEvents);
}
}
return tree;

File diff suppressed because one or more lines are too long

View File

@ -566,21 +566,12 @@ export class BaseMultiTornadoService extends BaseEventsService<MultiDepositEvent
}: BaseEvents<MultiDepositEvents | MultiWithdrawalsEvents> & {
newEvents: (MultiDepositEvents | MultiWithdrawalsEvents)[];
}) {
const instancesWithNewEvents = [
...new Set(
newEvents.filter(({ event }) => event === 'Deposit').map(({ instanceAddress }) => instanceAddress),
),
];
const instancesWithNewEvents = Object.keys(this.instances).filter((i) =>
newEvents.find(({ instanceAddress, event }) => instanceAddress === i && event === 'Deposit'),
);
let tree: S | undefined;
const requiredTree = this.merkleTreeService?.Tornado?.target as string | undefined;
// Audit and create deposit tree
if (requiredTree && !instancesWithNewEvents.includes(requiredTree)) {
instancesWithNewEvents.push(requiredTree);
}
for (const instance of instancesWithNewEvents) {
const depositEvents = events.filter(
({ instanceAddress, event }) => instanceAddress === instance && event === 'Deposit',
@ -593,8 +584,8 @@ export class BaseMultiTornadoService extends BaseEventsService<MultiDepositEvent
throw new Error(errMsg);
}
if (requiredTree === instance && !this.optionalTree) {
tree = (await this.merkleTreeService?.verifyTree(depositEvents)) as S;
if (this.merkleTreeService?.Tornado?.target === instance && !this.optionalTree) {
tree = (await this.merkleTreeService.verifyTree(depositEvents)) as S;
}
}