diff --git a/packages/euler-v2-sdk/src/services/activityService/activityServiceTypes.ts b/packages/euler-v2-sdk/src/services/activityService/activityServiceTypes.ts index 206173d4..e2f07d1c 100644 --- a/packages/euler-v2-sdk/src/services/activityService/activityServiceTypes.ts +++ b/packages/euler-v2-sdk/src/services/activityService/activityServiceTypes.ts @@ -37,6 +37,10 @@ export const ACTIVITY_EVENT_TYPES = [ "set_interest_rate_model", "set_liquidation_cool_off_time", "set_max_liquidation_discount", + "set_oracle_config", + "set_fallback_oracle", + "set_resolved_vault", + "set_oracle_governor", "accrue_interest", "update_last_total_assets", "update_lost_assets", diff --git a/packages/euler-v2-sdk/test/activityService.test.ts b/packages/euler-v2-sdk/test/activityService.test.ts index f23e688b..edddda44 100644 --- a/packages/euler-v2-sdk/test/activityService.test.ts +++ b/packages/euler-v2-sdk/test/activityService.test.ts @@ -768,6 +768,27 @@ describe("ActivityService", () => { expect(ACTIVITY_EVENT_TYPES).toContain("terms_of_use_signed"); }); + it("accepts EulerRouter governance event types from V3", () => { + const routerEventTypes = [ + "set_oracle_config", + "set_fallback_oracle", + "set_resolved_vault", + "set_oracle_governor", + ] as const satisfies readonly ActivityEventType[]; + + for (const type of routerEventTypes) { + expect( + normalizeActivityEvent( + event({ + type, + category: "governance", + }), + ).type, + ).toBe(type); + expect(ACTIVITY_EVENT_TYPES).toContain(type); + } + }); + it("rejects response event types outside the normalized contract", () => { expect(() => normalizeActivityEvent(event({ type: "not_real" }))).toThrow( "Invalid activity response at $.data[].type",