Skip to content

Commit

Permalink
Add support to givbacks commands on optimism
Browse files Browse the repository at this point in the history
  • Loading branch information
sembrestels committed Sep 7, 2023
1 parent 15b7d65 commit 0447d02
Show file tree
Hide file tree
Showing 7 changed files with 66 additions and 13 deletions.
24 changes: 19 additions & 5 deletions packages/evmcrispr/src/modules/giveth/addresses.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,23 @@ export const givethDonationRelayer = new Map([
[100, '0x01A5529F4b03059470785D7Bfbf25B180bE6f796'],
]);

export const defaultRelayerAddr = '0xd0e81E3EE863318D0121501ff48C6C3e3Fd6cbc7';
// nrGIV / givbacks DAO
export const tokenManagerMap = new Map([
[10, '0xf5f618cfd5626f4e47107bfe7aca0e82e5090ff1'],
[100, '0x3efac97efa6f237e67b4f8c616a194fd0583d99a'],
]);

export const votingMap = new Map([
[10, '0x0509104664e55d657e410abf049854f31f49b9a6'],
[100, '0x30c9aa17fc30e4c23a65680a35b33e8f3b4198a2'],
]);

// nrGIV
export const tokenManager = '0x3efac97efa6f237e67b4f8c616a194fd0583d99a';
export const voting = '0x30c9aa17fc30e4c23a65680a35b33e8f3b4198a2';
export const agent = '0x2fa20fa7fc404d35748497c0f28f8fb2f8731336';
export const agentMap = new Map([
[10, '0xb99aae15ace6509930760f1bde96c60542d2c0c1'],
[100, '0x2fa20fa7fc404d35748497c0f28f8fb2f8731336'],
]);

export const defaultRelayerMap = new Map([
[10, '0xf13e93af5e706ab3073e393e77bb2d7ce7bec01f'],
[100, '0xd0e81E3EE863318D0121501ff48C6C3e3Fd6cbc7'],
]);
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,25 @@ import {
encodeAction,
getOptValue,
} from '../../../utils';
import { defaultRelayerAddr } from '../addresses';
import { defaultRelayerMap } from '../addresses';

import type { Giveth } from '../Giveth';

export const finalizeGivbacks: ICommand<Giveth> = {
async run(_, c, { interpretNode, interpretNodes }) {
async run(module, c, { interpretNode, interpretNodes }) {
checkArgsLength(c, { type: ComparisonType.Equal, minValue: 1 });
checkOpts(c, ['relayer']);

const [hash] = await interpretNodes(c.args);

const defaultRelayerAddr = defaultRelayerMap.get(await module.getChainId());

if (!defaultRelayerAddr) {
throw new Error(
`No default relayer for chain ${await module.getChainId()}`,
);
}

const relayerAddr =
(await getOptValue(c, 'relayer', interpretNode)) || defaultRelayerAddr;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,12 @@ import {
getOptValue,
} from '../../../utils';
import { batchForwarderActions } from '../../aragonos/utils';
import { agent, defaultRelayerAddr, tokenManager, voting } from '../addresses';
import {
agentMap,
defaultRelayerMap,
tokenManagerMap,
votingMap,
} from '../addresses';

import type { Giveth } from '../Giveth';

Expand All @@ -20,6 +25,16 @@ export const initiateGivbacks: ICommand<Giveth> = {
checkOpts(c, ['relayer']);

const [hash] = await interpretNodes(c.args);

const chainId = await module.getChainId();
const tokenManager = tokenManagerMap.get(chainId);
const voting = votingMap.get(chainId);
const agent = agentMap.get(chainId);
const defaultRelayerAddr = defaultRelayerMap.get(chainId);
if (!tokenManager || !voting || !agent || !defaultRelayerAddr) {
throw new Error(`Givbacks can't be sent for ${chainId} chain`);
}

const relayerAddr =
(await getOptValue(c, 'relayer', interpretNode)) || defaultRelayerAddr;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import {
encodeAction,
getOptValue,
} from '../../../utils';
import { agent, defaultRelayerAddr, voting } from '../addresses';
import { agentMap, defaultRelayerMap, votingMap } from '../addresses';

import type { Giveth } from '../Giveth';

Expand All @@ -20,6 +20,15 @@ export const verifyGivbacks: ICommand<Giveth> = {
checkOpts(c, ['relayer']);

const [hash, voteId] = await interpretNodes(c.args);

const chainId = await module.getChainId();
const voting = votingMap.get(chainId);
const agent = agentMap.get(chainId);
const defaultRelayerAddr = defaultRelayerMap.get(chainId);
if (!voting || !agent || !defaultRelayerAddr) {
throw new Error(`Givbacks can't be sent for ${chainId} chain`);
}

const relayerAddr =
(await getOptValue(c, 'relayer', interpretNode)) || defaultRelayerAddr;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@ import type { Signer } from 'ethers';
import { ethers } from 'hardhat';

import { createInterpreter } from '../../../test-helpers/cas11';
import { defaultRelayerAddr } from '../../../../src/modules/giveth/addresses';
import { defaultRelayerMap } from '../../../../src/modules/giveth/addresses';

const defaultRelayerAddr = defaultRelayerMap.get(100)!;

describe('Giveth > commands > finalize-givbacks <ipfsHash> [--relayer <relayer>]', () => {
let signer: Signer;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@ import type { Signer } from 'ethers';
import { ethers } from 'hardhat';

import { createInterpreter } from '../../../test-helpers/cas11';
import { defaultRelayerAddr } from '../../../../src/modules/giveth/addresses';
import { defaultRelayerMap } from '../../../../src/modules/giveth/addresses';

const defaultRelayerAddr = defaultRelayerMap.get(100)!;

describe('Giveth > commands > initiate-givbacks <ipfsHash> [--relayer <relayer>]', () => {
let signer: Signer;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,15 @@ import type { Signer } from 'ethers';
import { ethers } from 'hardhat';

import { CommandError } from '../../../../src/errors';
import { defaultRelayerAddr } from '../../../../src/modules/giveth/addresses';
import { defaultRelayerMap } from '../../../../src/modules/giveth/addresses';

import { createInterpreter } from '../../../test-helpers/cas11';
import { expectThrowAsync } from '../../../test-helpers/expects';
import { findGivethCommandNode } from '../../../test-helpers/giveth';

describe.only('Giveth > commands > verify-givbacks <ipfsHash> <voteId> [--relayer <relayer>]', () => {
const defaultRelayerAddr = defaultRelayerMap.get(100)!;

describe('Giveth > commands > verify-givbacks <ipfsHash> <voteId> [--relayer <relayer>]', () => {
let signer: Signer;

before(async () => {
Expand Down

0 comments on commit 0447d02

Please sign in to comment.