Skip to content

Commit

Permalink
feat: change processEvents logic, remove consume, fix remaining tests
Browse files Browse the repository at this point in the history
Signed-off-by: jahabeebs <47253537+jahabeebs@users.noreply.github.com>
  • Loading branch information
jahabeebs committed Sep 26, 2024
1 parent 822c992 commit a201283
Show file tree
Hide file tree
Showing 5 changed files with 81 additions and 88 deletions.
82 changes: 41 additions & 41 deletions packages/automated-dispute/src/exceptions/errorFactory.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,31 +7,31 @@ const errorStrategiesEntries: [string, ErrorHandlingStrategy][] = [
{
shouldNotify: false,
shouldTerminate: false,
shouldConsume: true,
shouldReenqueue: true,
},
],
[
"BondEscalationAccounting_InsufficientFunds",
{
shouldNotify: true,
shouldTerminate: false,
shouldConsume: false,
shouldReenqueue: false,
},
],
[
"BondEscalationAccounting_AlreadySettled",
{
shouldNotify: false,
shouldTerminate: false,
shouldConsume: true,
shouldReenqueue: true,
},
],
[
"BondEscalationModule_InvalidDispute",
{
shouldNotify: true,
shouldTerminate: false,
shouldConsume: true,
shouldReenqueue: true,
customAction: async (context) => {
context.registry.removeDispute(context.dispute.id);
},
Expand All @@ -42,15 +42,15 @@ const errorStrategiesEntries: [string, ErrorHandlingStrategy][] = [
{
shouldNotify: true,
shouldTerminate: false,
shouldConsume: false,
shouldReenqueue: false,
},
],
[
"Oracle_InvalidDisputeId",
{
shouldNotify: true,
shouldTerminate: false,
shouldConsume: true,
shouldReenqueue: true,
customAction: async (context) => {
context.registry.removeDispute(context.dispute.id);
},
Expand All @@ -61,7 +61,7 @@ const errorStrategiesEntries: [string, ErrorHandlingStrategy][] = [
{
shouldNotify: true,
shouldTerminate: false,
shouldConsume: true,
shouldReenqueue: true,
customAction: async (context) => {
context.registry.removeDispute(context.dispute.id);
},
Expand All @@ -72,111 +72,111 @@ const errorStrategiesEntries: [string, ErrorHandlingStrategy][] = [
{
shouldNotify: true,
shouldTerminate: true,
shouldConsume: false,
shouldReenqueue: false,
},
],
[
"Oracle_AlreadyFinalized",
{
shouldNotify: false,
shouldTerminate: false,
shouldConsume: true,
shouldReenqueue: true,
},
],
[
"EBORequestModule_InvalidRequester",
{
shouldNotify: true,
shouldTerminate: true,
shouldConsume: false,
shouldReenqueue: false,
},
],
[
"EBORequestModule_ChainNotAdded",
{
shouldNotify: true,
shouldTerminate: false,
shouldConsume: false,
shouldReenqueue: false,
},
],
[
"EBORequestCreator_InvalidEpoch",
{
shouldNotify: true,
shouldTerminate: false,
shouldConsume: true,
shouldReenqueue: true,
},
],
[
"Oracle_InvalidRequestBody",
{
shouldNotify: true,
shouldTerminate: true,
shouldConsume: false,
shouldReenqueue: false,
},
],
[
"EBORequestCreator_RequestAlreadyCreated",
{
shouldNotify: false,
shouldTerminate: false,
shouldConsume: true,
shouldReenqueue: true,
},
],
[
"Oracle_InvalidRequest",
{
shouldNotify: true,
shouldTerminate: false,
shouldConsume: false,
shouldReenqueue: false,
},
],
[
"Oracle_InvalidResponseBody",
{
shouldNotify: false,
shouldTerminate: false,
shouldConsume: true,
shouldReenqueue: true,
},
],
[
"AccountingExtension_NotAllowed",
{
shouldNotify: true,
shouldTerminate: false,
shouldConsume: false,
shouldReenqueue: false,
},
],
[
"BondedResponseModule_AlreadyResponded",
{
shouldNotify: false,
shouldTerminate: false,
shouldConsume: true,
shouldReenqueue: true,
},
],
[
"BondedResponseModule_TooLateToPropose",
{
shouldNotify: false,
shouldTerminate: false,
shouldConsume: true,
shouldReenqueue: true,
},
],
[
"Oracle_CannotEscalate",
{
shouldNotify: false,
shouldTerminate: false,
shouldConsume: true,
shouldReenqueue: true,
},
],
[
"Validator_InvalidDispute",
{
shouldNotify: true,
shouldTerminate: false,
shouldConsume: true,
shouldReenqueue: true,
customAction: async (context) => {
context.registry.removeDispute(context.dispute.id);
},
Expand All @@ -187,7 +187,7 @@ const errorStrategiesEntries: [string, ErrorHandlingStrategy][] = [
{
shouldNotify: true,
shouldTerminate: false,
shouldConsume: true,
shouldReenqueue: true,
customAction: async (context) => {
context.registry.removeDispute(context.dispute.id);
},
Expand All @@ -198,23 +198,23 @@ const errorStrategiesEntries: [string, ErrorHandlingStrategy][] = [
{
shouldNotify: true,
shouldTerminate: false,
shouldConsume: false,
shouldReenqueue: false,
},
],
[
"Oracle_InvalidFinalizedResponse",
{
shouldNotify: false,
shouldTerminate: false,
shouldConsume: true,
shouldReenqueue: true,
},
],
[
"Oracle_InvalidResponse",
{
shouldNotify: true,
shouldTerminate: false,
shouldConsume: true,
shouldReenqueue: true,
customAction: async (context) => {
context.registry.removeResponse(context.response.id);
},
Expand All @@ -225,15 +225,15 @@ const errorStrategiesEntries: [string, ErrorHandlingStrategy][] = [
{
shouldNotify: false,
shouldTerminate: false,
shouldConsume: true,
shouldReenqueue: true,
},
],
[
"ArbitratorModule_InvalidArbitrator",
{
shouldNotify: true,
shouldTerminate: false,
shouldConsume: true,
shouldReenqueue: true,
customAction: async (context) => {
context.registry.removeDispute(context.dispute.id);
},
Expand All @@ -244,87 +244,87 @@ const errorStrategiesEntries: [string, ErrorHandlingStrategy][] = [
{
shouldNotify: true,
shouldTerminate: true,
shouldConsume: false,
shouldReenqueue: false,
},
],
[
"BondEscalationModule_NotEscalatable",
{
shouldNotify: false,
shouldTerminate: false,
shouldConsume: true,
shouldReenqueue: true,
},
],
[
"BondEscalationModule_BondEscalationNotOver",
{
shouldNotify: true,
shouldTerminate: false,
shouldConsume: true,
shouldReenqueue: true,
},
],
[
"BondEscalationModule_BondEscalationOver",
{
shouldNotify: false,
shouldTerminate: false,
shouldConsume: true,
shouldReenqueue: true,
},
],
[
"BondEscalationModule_DisputeWindowOver",
{
shouldNotify: false,
shouldTerminate: false,
shouldConsume: true,
shouldReenqueue: true,
},
],
[
"Oracle_ResponseAlreadyDisputed",
{
shouldNotify: false,
shouldTerminate: false,
shouldConsume: true,
shouldReenqueue: true,
},
],
[
"BondEscalationModule_CannotBreakTieDuringTyingBuffer",
{
shouldNotify: false,
shouldTerminate: false,
shouldConsume: true,
shouldReenqueue: true,
},
],
[
"BondEscalationModule_CanOnlySurpassByOnePledge",
{
shouldNotify: false,
shouldTerminate: false,
shouldConsume: true,
shouldReenqueue: true,
},
],
[
"BondEscalationModule_MaxNumberOfEscalationsReached",
{
shouldNotify: false,
shouldTerminate: false,
shouldConsume: true,
shouldReenqueue: true,
},
],
[
"Oracle_NotDisputeOrResolutionModule",
{
shouldNotify: true,
shouldTerminate: false,
shouldConsume: false,
shouldReenqueue: false,
},
],
[
"BondEscalationModule_ShouldBeEscalated",
{
shouldNotify: true,
shouldTerminate: false,
shouldConsume: false,
shouldReenqueue: false,
// Custom action to escalate dispute is implemented in eboActor.ts
},
],
Expand All @@ -333,15 +333,15 @@ const errorStrategiesEntries: [string, ErrorHandlingStrategy][] = [
{
shouldNotify: false,
shouldTerminate: false,
shouldConsume: true,
shouldReenqueue: true,
},
],
[
"BondEscalationModule_BondEscalationNotOver",
{
shouldNotify: false,
shouldTerminate: false,
shouldConsume: true,
shouldReenqueue: true,
},
],
];
Expand All @@ -356,7 +356,7 @@ export class ErrorFactory {
return new CustomContractError(errorName, {
shouldNotify: true,
shouldTerminate: false,
shouldConsume: true,
shouldReenqueue: true,
});
}

Expand Down
6 changes: 3 additions & 3 deletions packages/automated-dispute/src/exceptions/errorHandler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@ export class ErrorHandler {
}
}

if (strategy.shouldConsume) {
if (context.consumeEvent) {
context.consumeEvent();
if (strategy.shouldReenqueue) {
if (context.reenqueueEvent) {
context.reenqueueEvent();
}
}
}
Expand Down
Loading

0 comments on commit a201283

Please sign in to comment.