Skip to content

Commit

Permalink
fix(og): L-04 - Rename SetBond event to SetCollateralAndBond (#4489)
Browse files Browse the repository at this point in the history
Signed-off-by: Reinis Martinsons <reinis@umaproject.org>
  • Loading branch information
Reinis-FRP committed Mar 21, 2023
1 parent d880037 commit cf6b68f
Show file tree
Hide file tree
Showing 8 changed files with 20 additions and 67 deletions.
Expand Up @@ -51,9 +51,7 @@ contract OptimisticGovernor is OptimisticOracleV3CallbackRecipientInterface, Mod

event ProposalDeleted(bytes32 indexed proposalHash, bytes32 indexed assertionId);

event SetBond(IERC20 indexed collateral, uint256 indexed bondAmount);

event SetCollateral(IERC20 indexed collateral);
event SetCollateralAndBond(IERC20 indexed collateral, uint256 indexed bondAmount);

event SetRules(string rules);

Expand Down Expand Up @@ -158,12 +156,12 @@ contract OptimisticGovernor is OptimisticOracleV3CallbackRecipientInterface, Mod
// ERC20 token to be used as collateral (must be approved by UMA governance).
require(_getCollateralWhitelist().isOnWhitelist(address(_collateral)), "Bond token not supported");
collateral = _collateral;
emit SetCollateral(_collateral);

// Value of the bond posted for asserting the proposed transactions. If the minimum amount required by
// Optimistic Oracle V3 is higher this contract will attempt to pull the required bond amount.
bondAmount = _bondAmount;
emit SetBond(_collateral, _bondAmount);

emit SetCollateralAndBond(_collateral, _bondAmount);
}

/**
Expand Down
Expand Up @@ -803,7 +803,7 @@ describe("OptimisticGovernor", () => {
await assertEventEmitted(
collateralReceipt,
optimisticOracleModule,
"SetBond",
"SetCollateralAndBond",
(event) => event.collateral == newBondToken.options.address && event.bondAmount == newBondAmount
);

Expand Down
22 changes: 5 additions & 17 deletions packages/monitor-v2/src/monitor-og/MonitorEvents.ts
@@ -1,5 +1,5 @@
import { Logger, MonitoringParams, runQueryFilter, getOg } from "./common";
import { logProposalDeleted, logProposalExecuted, logSetBond, logSetCollateral, logSetRules } from "./MonitorLogger";
import { logProposalDeleted, logProposalExecuted, logSetCollateralAndBond, logSetRules } from "./MonitorLogger";
import {
logSetIdentifier,
logSetLiveness,
Expand Down Expand Up @@ -78,25 +78,13 @@ export async function monitorProposalDeleted(logger: typeof Logger, params: Moni
}
}

export async function monitorSetBond(logger: typeof Logger, params: MonitoringParams): Promise<void> {
export async function monitorSetCollateralAndBond(logger: typeof Logger, params: MonitoringParams): Promise<void> {
const og = await getOg(params);
const transactions = await runQueryFilter(og, og.filters.SetBond(), params.blockRange);
const transactions = await runQueryFilter(og, og.filters.SetCollateralAndBond(), params.blockRange);
for (const transaction of transactions) {
await logSetBond(
await logSetCollateralAndBond(
logger,
{ bond: transaction.args.bondAmount, collateral: transaction.args.collateral, tx: transaction.transactionHash },
params
);
}
}

export async function monitorSetCollateral(logger: typeof Logger, params: MonitoringParams): Promise<void> {
const og = await getOg(params);
const transactions = await runQueryFilter(og, og.filters.SetCollateral(), params.blockRange);
for (const transaction of transactions) {
await logSetCollateral(
logger,
{ collateral: transaction.args.collateral, tx: transaction.transactionHash },
{ collateral: transaction.args.collateral, bond: transaction.args.bondAmount, tx: transaction.transactionHash },
params
);
}
Expand Down
23 changes: 3 additions & 20 deletions packages/monitor-v2/src/monitor-og/MonitorLogger.ts
Expand Up @@ -100,14 +100,14 @@ export async function logProposalDeleted(
});
}

export async function logSetBond(
export async function logSetCollateralAndBond(
logger: typeof Logger,
transaction: { bond: BigNumber; collateral: string; tx: string },
transaction: { collateral: string; bond: BigNumber; tx: string },
params: MonitoringParams
): Promise<void> {
logger.warn({
at: "OptimisticGovernorMonitor",
message: "Bond Set 📝",
message: "Collateral And Bond Set 📝",
mrkdwn:
" Bond has been set to " +
transaction.bond.toString() +
Expand All @@ -119,23 +119,6 @@ export async function logSetBond(
});
}

export async function logSetCollateral(
logger: typeof Logger,
transaction: { collateral: string; tx: string },
params: MonitoringParams
): Promise<void> {
logger.warn({
at: "OptimisticGovernorMonitor",
message: "Collateral Set 📝",
mrkdwn:
" Collateral " +
transaction.collateral +
" has been added in transaction " +
createEtherscanLinkMarkdown(transaction.tx, params.chainId),
notificationPath: "optimistic-governor",
});
}

export async function logSetRules(
logger: typeof Logger,
transaction: { rules: string; tx: string },
Expand Down
3 changes: 1 addition & 2 deletions packages/monitor-v2/src/monitor-og/README.md
Expand Up @@ -27,8 +27,7 @@ All the configuration should be provided with following environment variables:
- `TRANSACTIONS_EXECUTED_ENABLED` is boolean enabling/disabling monitoring transactions executed (`false` by default).
- `PROPOSAL_EXECUTED_ENABLED` is boolean enabling/disabling monitoring proposal executed (`false` by default).
- `PROPOSAL_DELETED_ENABLED` is boolean enabling/disabling monitoring proposal deleted (`false` by default).
- `SET_BOND_ENABLED` is boolean enabling/disabling monitoring set bond (`false` by default).
- `SET_COLLATERAL_ENABLED` is boolean enabling/disabling monitoring set collateral (`false` by default).
- `SET_COLLATERAL_BOND_ENABLED` is boolean enabling/disabling monitoring set collateral and bond amount (`false` by default).
- `SET_RULES_ENABLED` is boolean enabling/disabling monitoring set rules (`false` by default).
- `SET_LIVENESS_ENABLED` is boolean enabling/disabling monitoring set liveness (`false` by default).
- `SET_IDENTIFIER_ENABLED` is boolean enabling/disabling monitoring set identifier (`false` by default).
Expand Down
6 changes: 2 additions & 4 deletions packages/monitor-v2/src/monitor-og/common.ts
Expand Up @@ -16,8 +16,7 @@ export interface BotModes {
transactionsExecutedEnabled: boolean;
proposalExecutedEnabled: boolean;
proposalDeletedEnabled: boolean;
setBondEnabled: boolean;
setCollateralEnabled: boolean;
setCollateralAndBondEnabled: boolean;
setRulesEnabled: boolean;
setLivenessEnabled: boolean;
setIdentifierEnabled: boolean;
Expand Down Expand Up @@ -72,8 +71,7 @@ export const initMonitoringParams = async (env: NodeJS.ProcessEnv): Promise<Moni
transactionsExecutedEnabled: env.TRANSACTIONS_EXECUTED_ENABLED === "true",
proposalExecutedEnabled: env.PROPOSAL_EXECUTED_ENABLED === "true",
proposalDeletedEnabled: env.PROPOSAL_DELETED_ENABLED === "true",
setBondEnabled: env.SET_BOND_ENABLED === "true",
setCollateralEnabled: env.SET_COLLATERAL_ENABLED === "true",
setCollateralAndBondEnabled: env.SET_COLLATERAL_BOND_ENABLED === "true",
setRulesEnabled: env.SET_RULES_ENABLED === "true",
setLivenessEnabled: env.SET_LIVENESS_ENABLED === "true",
setIdentifierEnabled: env.SET_IDENTIFIER_ENABLED === "true",
Expand Down
6 changes: 2 additions & 4 deletions packages/monitor-v2/src/monitor-og/index.ts
Expand Up @@ -3,8 +3,7 @@ import { BotModes, initMonitoringParams, Logger, startupLogLevel, waitNextBlockR
import {
monitorProposalDeleted,
monitorProposalExecuted,
monitorSetBond,
monitorSetCollateral,
monitorSetCollateralAndBond,
monitorSetEscalationManager,
monitorSetIdentifier,
monitorSetLiveness,
Expand All @@ -29,8 +28,7 @@ async function main() {
transactionsExecutedEnabled: monitorTransactionsExecuted,
proposalExecutedEnabled: monitorProposalExecuted,
proposalDeletedEnabled: monitorProposalDeleted,
setBondEnabled: monitorSetBond,
setCollateralEnabled: monitorSetCollateral,
setCollateralAndBondEnabled: monitorSetCollateralAndBond,
setRulesEnabled: monitorSetRules,
setLivenessEnabled: monitorSetLiveness,
setIdentifierEnabled: monitorSetIdentifier,
Expand Down
17 changes: 3 additions & 14 deletions packages/monitor-v2/test/OptimisticGovernorMonitor.ts
Expand Up @@ -12,8 +12,7 @@ import { BotModes, MonitoringParams } from "../src/monitor-og/common";
import {
monitorProposalDeleted,
monitorProposalExecuted,
monitorSetBond,
monitorSetCollateral,
monitorSetCollateralAndBond,
monitorSetEscalationManager,
monitorSetIdentifier,
monitorSetLiveness,
Expand Down Expand Up @@ -262,25 +261,15 @@ describe("OptimisticGovernorMonitor", function () {

let spy = sinon.spy();
let spyLogger = createNewLogger([new SpyTransport({}, { spy: spy })]);
await monitorSetBond(spyLogger, await createMonitoringParams(setBondCollateralBlockNumber));
await monitorSetCollateralAndBond(spyLogger, await createMonitoringParams(setBondCollateralBlockNumber));

assert.equal(spy.getCall(0).lastArg.at, "OptimisticGovernorMonitor");
assert.equal(spy.getCall(0).lastArg.message, "Bond Set 📝");
assert.equal(spy.getCall(0).lastArg.message, "Collateral And Bond Set 📝");
assert.isTrue(spyLogIncludes(spy, 0, bondToken.address));
assert.isTrue(spyLogIncludes(spy, 0, parseEther("1").toString()));
assert.equal(spyLogLevel(spy, 0), "warn");
assert.equal(spy.getCall(0).lastArg.notificationPath, "optimistic-governor");

spy = sinon.spy();
spyLogger = createNewLogger([new SpyTransport({}, { spy: spy })]);
await monitorSetCollateral(spyLogger, await createMonitoringParams(setBondCollateralBlockNumber));

assert.equal(spy.getCall(0).lastArg.at, "OptimisticGovernorMonitor");
assert.equal(spy.getCall(0).lastArg.message, "Collateral Set 📝");
assert.isTrue(spyLogIncludes(spy, 0, bondToken.address));
assert.equal(spyLogLevel(spy, 0), "warn");
assert.equal(spy.getCall(0).lastArg.notificationPath, "optimistic-governor");

const newRules = "test rules";
const setRulesTx = await optimisticGovernor.connect(ogOwner).setRules(newRules);

Expand Down

0 comments on commit cf6b68f

Please sign in to comment.