Skip to content

Commit

Permalink
Merge pull request #747 from valory-xyz/tanya/activity-checkers
Browse files Browse the repository at this point in the history
fix: set up correct activity checkers for all contracts
  • Loading branch information
Tanya-atatakai authored Feb 7, 2025
2 parents b00973a + 95a53a1 commit 4dbdfb1
Show file tree
Hide file tree
Showing 5 changed files with 119 additions and 71 deletions.
126 changes: 87 additions & 39 deletions frontend/config/activityCheckers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,60 +4,108 @@ import { MECH_ACTIVITY_CHECKER_ABI } from '@/abis/mechActivityChecker';
import { MEME_ACTIVITY_CHECKER_ABI } from '@/abis/memeActivityChecker';
import { REQUESTER_ACTIVITY_CHECKER_ABI } from '@/abis/requesterActivityChecker';
import { STAKING_ACTIVITY_CHECKER_ABI } from '@/abis/stakingActivityChecker';
import { EvmChainId } from '@/enums/Chain';
import { StakingProgramId } from '@/enums/StakingProgram';
import { Address } from '@/types/Address';

import { MechType } from './mechs';
export const getMechActivityCheckerContract = (
address: Address,
): MulticallContract => {
return new MulticallContract(address, MECH_ACTIVITY_CHECKER_ABI);
};

export enum ActivityCheckerType {
MechActivityChecker = MechType.Agent,
RequesterActivityChecker = MechType.Marketplace,
Staking = 'StakingActivityChecker',
MemeActivityChecker = 'MemeActivityChecker',
}
export const getRequesterActivityCheckerContract = (
address: Address,
): MulticallContract => {
return new MulticallContract(address, REQUESTER_ACTIVITY_CHECKER_ABI);
};

type ActivityCheckers = {
[activityCheckerType: string]: MulticallContract;
export const getStakingActivityCheckerContract = (
address: Address,
): MulticallContract => {
return new MulticallContract(address, STAKING_ACTIVITY_CHECKER_ABI);
};

const GNOSIS_ACTIVITY_CHECKERS: ActivityCheckers = {
[ActivityCheckerType.MechActivityChecker]: new MulticallContract(
export const getMemeActivityCheckerContract = (
address: Address,
): MulticallContract => {
return new MulticallContract(address, MEME_ACTIVITY_CHECKER_ABI);
};

export const GNOSIS_STAKING_PROGRAMS_ACTIVITY_CHECKERS: Record<
string,
MulticallContract
> = {
[StakingProgramId.PearlAlpha]: getMechActivityCheckerContract(
'0x155547857680A6D51bebC5603397488988DEb1c8',
),
[StakingProgramId.PearlBeta]: getMechActivityCheckerContract(
'0x155547857680A6D51bebC5603397488988DEb1c8',
),
[StakingProgramId.PearlBeta2]: getMechActivityCheckerContract(
'0x155547857680A6D51bebC5603397488988DEb1c8',
),
[StakingProgramId.PearlBeta3]: getMechActivityCheckerContract(
'0x155547857680A6D51bebC5603397488988DEb1c8',
),
[StakingProgramId.PearlBeta4]: getMechActivityCheckerContract(
'0x155547857680A6D51bebC5603397488988DEb1c8',
),
[StakingProgramId.PearlBeta5]: getMechActivityCheckerContract(
'0x155547857680A6D51bebC5603397488988DEb1c8',
MECH_ACTIVITY_CHECKER_ABI,
),
[ActivityCheckerType.RequesterActivityChecker]: new MulticallContract(
'0x7Ec96996Cd146B91779f01419db42E67463817a0',
REQUESTER_ACTIVITY_CHECKER_ABI,
[StakingProgramId.PearlBeta6]: getRequesterActivityCheckerContract(
'0xfE1D36820546cE5F3A58405950dC2F5ccDf7975C',
),
[StakingProgramId.PearlBetaMechMarketplace]:
getRequesterActivityCheckerContract(
'0x7Ec96996Cd146B91779f01419db42E67463817a0',
),
} as const;

const BASE_ACTIVITY_CHECKERS: ActivityCheckers = {
[ActivityCheckerType.MemeActivityChecker]: new MulticallContract(
export const BASE_STAKING_PROGRAMS_ACTIVITY_CHECKERS: Record<
string,
MulticallContract
> = {
[StakingProgramId.MemeBaseAlpha2]: getMemeActivityCheckerContract(
'0x026AB1c5ea14E61f67d245685D9561c0c2Cb39Ba',
MEME_ACTIVITY_CHECKER_ABI,
),
} as const;
[StakingProgramId.MemeBaseBeta]: getMemeActivityCheckerContract(
'0x008F52AF7009e262967caa7Cb79468F92AFEADF9',
),
[StakingProgramId.MemeBaseBeta2]: getMemeActivityCheckerContract(
'0x026AB1c5ea14E61f67d245685D9561c0c2Cb39Ba',
),
[StakingProgramId.MemeBaseBeta3]: getMemeActivityCheckerContract(
'0x026AB1c5ea14E61f67d245685D9561c0c2Cb39Ba',
),
};

const MODE_ACTIVITY_CHECKERS: ActivityCheckers = {
[ActivityCheckerType.Staking]: new MulticallContract(
export const MODE_STAKING_PROGRAMS_ACTIVITY_CHECKERS: Record<
string,
MulticallContract
> = {
[StakingProgramId.ModiusAlpha]: getStakingActivityCheckerContract(
'0x07bc3C23DbebEfBF866Ca7dD9fAA3b7356116164',
STAKING_ACTIVITY_CHECKER_ABI,
),
} as const;
[StakingProgramId.OptimusAlpha]: getStakingActivityCheckerContract(
'0x07bc3C23DbebEfBF866Ca7dD9fAA3b7356116164',
),
[StakingProgramId.ModiusAlpha2]: getStakingActivityCheckerContract(
'0x07bc3C23DbebEfBF866Ca7dD9fAA3b7356116164',
),
[StakingProgramId.ModiusAlpha3]: getStakingActivityCheckerContract(
'0x07bc3C23DbebEfBF866Ca7dD9fAA3b7356116164',
),
[StakingProgramId.ModiusAlpha4]: getStakingActivityCheckerContract(
'0x07bc3C23DbebEfBF866Ca7dD9fAA3b7356116164',
),
};

const CELO_ACTIVITY_CHECKERS: ActivityCheckers = {
[ActivityCheckerType.MemeActivityChecker]: new MulticallContract(
export const CELO_STAKING_PROGRAMS_ACTIVITY_CHECKERS: Record<
string,
MulticallContract
> = {
[StakingProgramId.MemeCeloAlpha2]: getMemeActivityCheckerContract(
'0x3FD8C757dE190bcc82cF69Df3Cd9Ab15bCec1426',
MEME_ACTIVITY_CHECKER_ABI,
),
} as const;

export const ACTIVITY_CHECKERS: {
[chainId in EvmChainId]: {
[activityCheckerType: string]: MulticallContract;
};
} = {
[EvmChainId.Gnosis]: GNOSIS_ACTIVITY_CHECKERS,
[EvmChainId.Base]: BASE_ACTIVITY_CHECKERS,
[EvmChainId.Mode]: MODE_ACTIVITY_CHECKERS,
[EvmChainId.Celo]: CELO_ACTIVITY_CHECKERS,
} as const;
};
18 changes: 5 additions & 13 deletions frontend/config/stakingPrograms/base.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { StakingProgramId } from '@/enums/StakingProgram';
import { TokenSymbol } from '@/enums/Token';
import { Address } from '@/types/Address';

import { ACTIVITY_CHECKERS, ActivityCheckerType } from '../activityCheckers';
import { BASE_STAKING_PROGRAMS_ACTIVITY_CHECKERS } from '../activityCheckers';
import { StakingProgramMap } from '.';

export const BASE_STAKING_PROGRAMS_CONTRACT_ADDRESSES: Record<string, Address> =
Expand All @@ -31,9 +31,7 @@ export const BASE_STAKING_PROGRAMS: StakingProgramMap = {
[TokenSymbol.OLAS]: 100,
},
activityChecker:
ACTIVITY_CHECKERS[EvmChainId.Base][
ActivityCheckerType.MemeActivityChecker
],
BASE_STAKING_PROGRAMS_ACTIVITY_CHECKERS[StakingProgramId.MemeBaseAlpha2],
contract: new MulticallContract(
BASE_STAKING_PROGRAMS_CONTRACT_ADDRESSES[StakingProgramId.MemeBaseAlpha2],
STAKING_TOKEN_PROXY_ABI,
Expand All @@ -47,9 +45,7 @@ export const BASE_STAKING_PROGRAMS: StakingProgramMap = {
[TokenSymbol.OLAS]: 100,
},
activityChecker:
ACTIVITY_CHECKERS[EvmChainId.Base][
ActivityCheckerType.MemeActivityChecker
],
BASE_STAKING_PROGRAMS_ACTIVITY_CHECKERS[StakingProgramId.MemeBaseBeta],
contract: new MulticallContract(
BASE_STAKING_PROGRAMS_CONTRACT_ADDRESSES[StakingProgramId.MemeBaseBeta],
STAKING_TOKEN_PROXY_ABI,
Expand All @@ -63,9 +59,7 @@ export const BASE_STAKING_PROGRAMS: StakingProgramMap = {
[TokenSymbol.OLAS]: 1000,
},
activityChecker:
ACTIVITY_CHECKERS[EvmChainId.Base][
ActivityCheckerType.MemeActivityChecker
],
BASE_STAKING_PROGRAMS_ACTIVITY_CHECKERS[StakingProgramId.MemeBaseBeta2],
contract: new MulticallContract(
BASE_STAKING_PROGRAMS_CONTRACT_ADDRESSES[StakingProgramId.MemeBaseBeta2],
STAKING_TOKEN_PROXY_ABI,
Expand All @@ -79,9 +73,7 @@ export const BASE_STAKING_PROGRAMS: StakingProgramMap = {
[TokenSymbol.OLAS]: 5000,
},
activityChecker:
ACTIVITY_CHECKERS[EvmChainId.Base][
ActivityCheckerType.MemeActivityChecker
],
BASE_STAKING_PROGRAMS_ACTIVITY_CHECKERS[StakingProgramId.MemeBaseBeta3],
contract: new MulticallContract(
BASE_STAKING_PROGRAMS_CONTRACT_ADDRESSES[StakingProgramId.MemeBaseBeta3],
STAKING_TOKEN_PROXY_ABI,
Expand Down
6 changes: 2 additions & 4 deletions frontend/config/stakingPrograms/celo.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { StakingProgramId } from '@/enums/StakingProgram';
import { TokenSymbol } from '@/enums/Token';
import { Address } from '@/types/Address';

import { ACTIVITY_CHECKERS, ActivityCheckerType } from '../activityCheckers';
import { CELO_STAKING_PROGRAMS_ACTIVITY_CHECKERS } from '../activityCheckers';
import { StakingProgramMap } from '.';

export const CELO_STAKING_PROGRAMS_CONTRACT_ADDRESSES: Record<string, Address> =
Expand All @@ -25,9 +25,7 @@ export const CELO_STAKING_PROGRAMS: StakingProgramMap = {
[TokenSymbol.OLAS]: 100,
},
activityChecker:
ACTIVITY_CHECKERS[EvmChainId.Celo][
ActivityCheckerType.MemeActivityChecker
],
CELO_STAKING_PROGRAMS_ACTIVITY_CHECKERS[StakingProgramId.MemeCeloAlpha2],
contract: new MulticallContract(
CELO_STAKING_PROGRAMS_CONTRACT_ADDRESSES[StakingProgramId.MemeCeloAlpha2],
STAKING_TOKEN_PROXY_ABI,
Expand Down
28 changes: 19 additions & 9 deletions frontend/config/stakingPrograms/gnosis.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { StakingProgramId } from '@/enums/StakingProgram';
import { TokenSymbol } from '@/enums/Token';
import { Address } from '@/types/Address';

import { ACTIVITY_CHECKERS } from '../activityCheckers';
import { GNOSIS_STAKING_PROGRAMS_ACTIVITY_CHECKERS } from '../activityCheckers';
import { MECHS, MechType } from '../mechs';
import { StakingProgramMap } from '.';

Expand Down Expand Up @@ -37,7 +37,8 @@ export const GNOSIS_STAKING_PROGRAMS: StakingProgramMap = {
},
mechType: MechType.Agent,
mech: MECHS[EvmChainId.Gnosis][MechType.Agent].contract,
activityChecker: ACTIVITY_CHECKERS[EvmChainId.Gnosis][MechType.Agent],
activityChecker:
GNOSIS_STAKING_PROGRAMS_ACTIVITY_CHECKERS[StakingProgramId.PearlAlpha],
contract: new MulticallContract(
GNOSIS_STAKING_PROGRAMS_CONTRACT_ADDRESSES[StakingProgramId.PearlAlpha],
STAKING_TOKEN_PROXY_ABI,
Expand All @@ -52,7 +53,8 @@ export const GNOSIS_STAKING_PROGRAMS: StakingProgramMap = {
},
mechType: MechType.Agent,
mech: MECHS[EvmChainId.Gnosis][MechType.Agent].contract,
activityChecker: ACTIVITY_CHECKERS[EvmChainId.Gnosis][MechType.Agent],
activityChecker:
GNOSIS_STAKING_PROGRAMS_ACTIVITY_CHECKERS[StakingProgramId.PearlBeta],
contract: new MulticallContract(
GNOSIS_STAKING_PROGRAMS_CONTRACT_ADDRESSES[StakingProgramId.PearlBeta],
STAKING_TOKEN_PROXY_ABI,
Expand All @@ -67,7 +69,8 @@ export const GNOSIS_STAKING_PROGRAMS: StakingProgramMap = {
},
mechType: MechType.Agent,
mech: MECHS[EvmChainId.Gnosis][MechType.Agent].contract,
activityChecker: ACTIVITY_CHECKERS[EvmChainId.Gnosis][MechType.Agent],
activityChecker:
GNOSIS_STAKING_PROGRAMS_ACTIVITY_CHECKERS[StakingProgramId.PearlBeta2],
contract: new MulticallContract(
GNOSIS_STAKING_PROGRAMS_CONTRACT_ADDRESSES[StakingProgramId.PearlBeta2],
STAKING_TOKEN_PROXY_ABI,
Expand All @@ -82,7 +85,8 @@ export const GNOSIS_STAKING_PROGRAMS: StakingProgramMap = {
},
mechType: MechType.Agent,
mech: MECHS[EvmChainId.Gnosis][MechType.Agent].contract,
activityChecker: ACTIVITY_CHECKERS[EvmChainId.Gnosis][MechType.Agent],
activityChecker:
GNOSIS_STAKING_PROGRAMS_ACTIVITY_CHECKERS[StakingProgramId.PearlBeta3],
contract: new MulticallContract(
GNOSIS_STAKING_PROGRAMS_CONTRACT_ADDRESSES[StakingProgramId.PearlBeta3],
STAKING_TOKEN_PROXY_ABI,
Expand All @@ -97,7 +101,8 @@ export const GNOSIS_STAKING_PROGRAMS: StakingProgramMap = {
},
mechType: MechType.Agent,
mech: MECHS[EvmChainId.Gnosis][MechType.Agent].contract,
activityChecker: ACTIVITY_CHECKERS[EvmChainId.Gnosis][MechType.Agent],
activityChecker:
GNOSIS_STAKING_PROGRAMS_ACTIVITY_CHECKERS[StakingProgramId.PearlBeta4],
contract: new MulticallContract(
GNOSIS_STAKING_PROGRAMS_CONTRACT_ADDRESSES[StakingProgramId.PearlBeta4],
STAKING_TOKEN_PROXY_ABI,
Expand All @@ -112,7 +117,8 @@ export const GNOSIS_STAKING_PROGRAMS: StakingProgramMap = {
},
mechType: MechType.Agent,
mech: MECHS[EvmChainId.Gnosis][MechType.Agent].contract,
activityChecker: ACTIVITY_CHECKERS[EvmChainId.Gnosis][MechType.Agent],
activityChecker:
GNOSIS_STAKING_PROGRAMS_ACTIVITY_CHECKERS[StakingProgramId.PearlBeta5],
contract: new MulticallContract(
GNOSIS_STAKING_PROGRAMS_CONTRACT_ADDRESSES[StakingProgramId.PearlBeta5],
STAKING_TOKEN_PROXY_ABI,
Expand All @@ -127,7 +133,8 @@ export const GNOSIS_STAKING_PROGRAMS: StakingProgramMap = {
},
mechType: MechType.Agent,
mech: MECHS[EvmChainId.Gnosis][MechType.Agent].contract,
activityChecker: ACTIVITY_CHECKERS[EvmChainId.Gnosis][MechType.Agent],
activityChecker:
GNOSIS_STAKING_PROGRAMS_ACTIVITY_CHECKERS[StakingProgramId.PearlBeta6],
contract: new MulticallContract(
GNOSIS_STAKING_PROGRAMS_CONTRACT_ADDRESSES[StakingProgramId.PearlBeta6],
STAKING_TOKEN_PROXY_ABI,
Expand All @@ -142,7 +149,10 @@ export const GNOSIS_STAKING_PROGRAMS: StakingProgramMap = {
},
mechType: MechType.Marketplace,
mech: MECHS[EvmChainId.Gnosis][MechType.Marketplace].contract,
activityChecker: ACTIVITY_CHECKERS[EvmChainId.Gnosis][MechType.Marketplace],
activityChecker:
GNOSIS_STAKING_PROGRAMS_ACTIVITY_CHECKERS[
StakingProgramId.PearlBetaMechMarketplace
],
contract: new MulticallContract(
GNOSIS_STAKING_PROGRAMS_CONTRACT_ADDRESSES[
StakingProgramId.PearlBetaMechMarketplace
Expand Down
12 changes: 6 additions & 6 deletions frontend/config/stakingPrograms/mode.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { StakingProgramId } from '@/enums/StakingProgram';
import { TokenSymbol } from '@/enums/Token';
import { Address } from '@/types/Address';

import { ACTIVITY_CHECKERS, ActivityCheckerType } from '../activityCheckers';
import { MODE_STAKING_PROGRAMS_ACTIVITY_CHECKERS } from '../activityCheckers';
import { StakingProgramMap } from '.';

export const MODE_STAKING_PROGRAMS_CONTRACT_ADDRESSES: Record<string, Address> =
Expand All @@ -34,7 +34,7 @@ export const MODE_STAKING_PROGRAMS: StakingProgramMap = {
[TokenSymbol.OLAS]: 40,
},
activityChecker:
ACTIVITY_CHECKERS[EvmChainId.Mode][ActivityCheckerType.Staking],
MODE_STAKING_PROGRAMS_ACTIVITY_CHECKERS[StakingProgramId.ModiusAlpha],
contract: new MulticallContract(
MODE_STAKING_PROGRAMS_CONTRACT_ADDRESSES[StakingProgramId.ModiusAlpha],
STAKING_TOKEN_PROXY_ABI,
Expand All @@ -48,7 +48,7 @@ export const MODE_STAKING_PROGRAMS: StakingProgramMap = {
[TokenSymbol.OLAS]: 100,
},
activityChecker:
ACTIVITY_CHECKERS[EvmChainId.Mode][ActivityCheckerType.Staking],
MODE_STAKING_PROGRAMS_ACTIVITY_CHECKERS[StakingProgramId.ModiusAlpha2],
contract: new MulticallContract(
MODE_STAKING_PROGRAMS_CONTRACT_ADDRESSES[StakingProgramId.ModiusAlpha2],
STAKING_TOKEN_PROXY_ABI,
Expand All @@ -62,7 +62,7 @@ export const MODE_STAKING_PROGRAMS: StakingProgramMap = {
[TokenSymbol.OLAS]: 1000,
},
activityChecker:
ACTIVITY_CHECKERS[EvmChainId.Mode][ActivityCheckerType.Staking],
MODE_STAKING_PROGRAMS_ACTIVITY_CHECKERS[StakingProgramId.ModiusAlpha3],
contract: new MulticallContract(
MODE_STAKING_PROGRAMS_CONTRACT_ADDRESSES[StakingProgramId.ModiusAlpha3],
STAKING_TOKEN_PROXY_ABI,
Expand All @@ -76,7 +76,7 @@ export const MODE_STAKING_PROGRAMS: StakingProgramMap = {
[TokenSymbol.OLAS]: 5000,
},
activityChecker:
ACTIVITY_CHECKERS[EvmChainId.Mode][ActivityCheckerType.Staking],
MODE_STAKING_PROGRAMS_ACTIVITY_CHECKERS[StakingProgramId.ModiusAlpha4],
contract: new MulticallContract(
MODE_STAKING_PROGRAMS_CONTRACT_ADDRESSES[StakingProgramId.ModiusAlpha4],
STAKING_TOKEN_PROXY_ABI,
Expand All @@ -91,7 +91,7 @@ export const MODE_STAKING_PROGRAMS: StakingProgramMap = {
[TokenSymbol.OLAS]: 40,
},
activityChecker:
ACTIVITY_CHECKERS[EvmChainId.Mode][ActivityCheckerType.Staking],
MODE_STAKING_PROGRAMS_ACTIVITY_CHECKERS[StakingProgramId.OptimusAlpha],
contract: new MulticallContract(
MODE_STAKING_PROGRAMS_CONTRACT_ADDRESSES[StakingProgramId.OptimusAlpha],
STAKING_TOKEN_PROXY_ABI,
Expand Down

0 comments on commit 4dbdfb1

Please sign in to comment.