Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/staging' into feat/hash-updates
Browse files Browse the repository at this point in the history
  • Loading branch information
truemiller committed Feb 7, 2025
2 parents feb24f7 + be1bd2f commit 899545a
Show file tree
Hide file tree
Showing 7 changed files with 125 additions and 76 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;
};
2 changes: 1 addition & 1 deletion frontend/config/agents.ts
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ export const AGENT_CONFIG: {
'Autonomously posts to Twitter, creates and trades memecoins, and interacts with other agents. Agent is operating on Base chain.',
},
[AgentType.Modius]: {
isAgentEnabled: false,
isAgentEnabled: true,
isComingSoon: false,
requiresSetup: true,
name: 'Modius agent',
Expand Down
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
9 changes: 5 additions & 4 deletions frontend/constants/urls.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,13 @@ export const DOWNLOAD_URL: Url = 'https://olas.network/operate#download';
// thegraph
export const REWARDS_HISTORY_SUBGRAPH_URLS_BY_EVM_CHAIN = {
[EvmChainId.Gnosis]:
'https://api.studio.thegraph.com/query/81371/gnosis-pearl-rewards-history/version/latest',
'https://gateway.thegraph.com/api/5c035877a4af18d178c96afe55ed41ae/subgraphs/id/F3iqL2iw5UTrP1qbb4S694pGEkBwzoxXp1TRikB2K4e',
[EvmChainId.Base]:
'https://api.studio.thegraph.com/query/67875/olas-base-staking-rewards-history/version/latest',
'https://api.studio.thegraph.com/query/67875/olas-base-staking/version/latest',
[EvmChainId.Mode]:
'https://api.studio.thegraph.com/query/67875/olas-mode-staking-rewards-history/version/latest',
[EvmChainId.Celo]: '', // TODO: celo
'https://api.studio.thegraph.com/query/67875/olas-mode-staking/version/latest',
[EvmChainId.Celo]:
'https://api.studio.thegraph.com/query/67875/olas-celo-staking/version/latest',
};

// discord
Expand Down

0 comments on commit 899545a

Please sign in to comment.