From 8efb02a47f8c41413539592eb10545f120b31829 Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Thu, 7 Dec 2023 14:15:30 -0600 Subject: [PATCH 01/84] feat: getting hooks setup --- package.json | 2 + src/hooks/governance/useProposalVotes.ts | 53 ++++++++++++++++++++++++ src/hooks/governance/useProposals.ts | 40 ++++++++++++++++++ src/modules/governance/ProposalsList.tsx | 8 ++++ yarn.lock | 18 ++++++++ 5 files changed, 121 insertions(+) create mode 100644 src/hooks/governance/useProposalVotes.ts create mode 100644 src/hooks/governance/useProposals.ts diff --git a/package.json b/package.json index 205f1bdadb..fb3435e8bb 100644 --- a/package.json +++ b/package.json @@ -72,6 +72,8 @@ "dayjs": "^1.11.5", "ethers": "^5.5.4", "fuse.js": "^6.6.2", + "graphql": "^16.8.1", + "graphql-request": "^6.1.0", "gray-matter": "^4.0.3", "immer": "^9.0.15", "lowdb": "^3.0.0", diff --git a/src/hooks/governance/useProposalVotes.ts b/src/hooks/governance/useProposalVotes.ts new file mode 100644 index 0000000000..3d59118af7 --- /dev/null +++ b/src/hooks/governance/useProposalVotes.ts @@ -0,0 +1,53 @@ +import { normalizeBN } from '@aave/math-utils'; +import { useQuery } from '@tanstack/react-query'; +import request, { gql } from 'graphql-request'; + +type ProposalVote = { + proposalId: string; + support: boolean; + voter: string; + votingPower: string; +}; + +const VOTING_MACHING_SUBGRAPH_URL = + 'https://api.goldsky.com/api/public/project_clk74pd7lueg738tw9sjh79d6/subgraphs/votingmachine-sepolia/v1/gn'; + +const getProposalVotes = gql` + query getProposalVotes($proposalId: String!) { + voteEmitteds(where: { proposalId: $proposalId }) { + proposalId + support + voter + votingPower + } + } +`; + +export const useProposalVotesQuery = ({ proposalId }: { proposalId: string }) => { + return useQuery({ + queryFn: () => + request<{ voteEmitteds: ProposalVote[] }>(VOTING_MACHING_SUBGRAPH_URL, getProposalVotes, { + proposalId, + }), + queryKey: ['proposalVotes', proposalId], + enabled: true, + refetchOnMount: false, + refetchOnWindowFocus: false, + refetchOnReconnect: false, + select: (data) => + data.voteEmitteds.map((vote) => ({ + ...vote, + votingPower: normalizeBN(vote.votingPower, 18).toString(), + })), + }); +}; + +export const useProposalVotes = ({ proposalId }: { proposalId: string }) => { + const { data, isFetching } = useProposalVotesQuery({ proposalId }); + + return { + yaeVotes: data?.filter((vote) => vote.support === true) || [], + nayVotes: data?.filter((vote) => vote.support === false) || [], + isFetching, + }; +}; diff --git a/src/hooks/governance/useProposals.ts b/src/hooks/governance/useProposals.ts new file mode 100644 index 0000000000..e8def02420 --- /dev/null +++ b/src/hooks/governance/useProposals.ts @@ -0,0 +1,40 @@ +import { useQuery } from '@tanstack/react-query'; +import request, { gql } from 'graphql-request'; + +type Proposal = { + proposalId: string; + ipfsHash: string; + title: string; + shortDescription: string; + description: string; + author: string; +}; + +const GOV_CORE_SUBGRAPH_URL = + 'https://api.goldsky.com/api/public/project_clk74pd7lueg738tw9sjh79d6/subgraphs/governance-v3/v2.0.1/gn'; + +const getProposalsQuery = gql` + query getProposals { + proposalCreateds { + proposalId + ipfsHash + title + shortDescription + description + author + } + } +`; + +export const useProposals = () => { + return useQuery({ + queryFn: () => + request<{ proposalCreateds: Proposal[] }>(GOV_CORE_SUBGRAPH_URL, getProposalsQuery), + queryKey: ['proposals'], + enabled: true, + refetchOnMount: false, + refetchOnWindowFocus: false, + refetchOnReconnect: false, + select: (data) => data.proposalCreateds, + }); +}; diff --git a/src/modules/governance/ProposalsList.tsx b/src/modules/governance/ProposalsList.tsx index 3b2800dac5..2d3bf5d16e 100644 --- a/src/modules/governance/ProposalsList.tsx +++ b/src/modules/governance/ProposalsList.tsx @@ -5,6 +5,8 @@ import { GovernancePageProps } from 'pages/governance/index.governance'; import { useMemo, useRef, useState } from 'react'; import InfiniteScroll from 'react-infinite-scroller'; import { NoSearchResults } from 'src/components/NoSearchResults'; +import { useProposals } from 'src/hooks/governance/useProposals'; +import { useProposalVotes } from 'src/hooks/governance/useProposalVotes'; import { usePolling } from 'src/hooks/usePolling'; import { getProposalMetadata } from 'src/modules/governance/utils/getProposalMetadata'; import { governanceContract } from 'src/modules/governance/utils/governanceProvider'; @@ -30,6 +32,12 @@ export function ProposalsList({ proposals: initialProposals }: GovernancePagePro }) ); + const { data } = useProposals(); + console.log(data); + + const votes = useProposalVotes({ proposalId: '32' }); + console.log(votes); + async function fetchNewProposals() { try { const count = await governanceContract.getProposalsCount(); diff --git a/yarn.lock b/yarn.lock index 90d5b9d150..a6216e52bb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2092,6 +2092,11 @@ dependencies: cross-fetch "^3.1.5" +"@graphql-typed-document-node/core@^3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@graphql-typed-document-node/core/-/core-3.2.0.tgz#5f3d96ec6b2354ad6d8a28bf216a1d97b5426861" + integrity sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ== + "@heroicons/react@^1.0.6": version "1.0.6" resolved "https://registry.yarnpkg.com/@heroicons/react/-/react-1.0.6.tgz#35dd26987228b39ef2316db3b1245c42eb19e324" @@ -7430,6 +7435,19 @@ grapheme-splitter@^1.0.4: resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== +graphql-request@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/graphql-request/-/graphql-request-6.1.0.tgz#f4eb2107967af3c7a5907eb3131c671eac89be4f" + integrity sha512-p+XPfS4q7aIpKVcgmnZKhMNqhltk20hfXtkaIkTfjjmiKMJ5xrt5c743cL03y/K7y1rg3WrIC49xGiEQ4mxdNw== + dependencies: + "@graphql-typed-document-node/core" "^3.2.0" + cross-fetch "^3.1.5" + +graphql@^16.8.1: + version "16.8.1" + resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.8.1.tgz#1930a965bef1170603702acdb68aedd3f3cf6f07" + integrity sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw== + gray-matter@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/gray-matter/-/gray-matter-4.0.3.tgz#e893c064825de73ea1f5f7d88c7a9f7274288798" From 3133fb63eae76a748b27191359a5fb7db0ac48b5 Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Fri, 8 Dec 2023 11:02:21 -0600 Subject: [PATCH 02/84] feat: stubbing out gov service --- package.json | 2 +- pages/_app.page.tsx | 79 ++++++------ pages/governance/index.governance.tsx | 17 ++- src/hooks/governance/useProposals.ts | 21 ++- src/modules/governance/ProposalsList.tsx | 129 ++++++++++--------- src/services/GovernanceV3Service.ts | 19 +++ src/ui-config/SharedDependenciesProvider.tsx | 4 + yarn.lock | 8 +- 8 files changed, 169 insertions(+), 110 deletions(-) create mode 100644 src/services/GovernanceV3Service.ts diff --git a/package.json b/package.json index fb3435e8bb..29f658f0de 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "test:coverage": "jest --coverage" }, "dependencies": { - "@aave/contract-helpers": "1.21.1", + "@aave/contract-helpers": "1.21.2-dffafc6980e2e7d43b29bd3aa63f89fcdcc8f2e1.0", "@aave/math-utils": "1.21.1", "@bgd-labs/aave-address-book": "^2.10.0", "@emotion/cache": "11.10.3", diff --git a/pages/_app.page.tsx b/pages/_app.page.tsx index dbdeb70679..7233b686fb 100644 --- a/pages/_app.page.tsx +++ b/pages/_app.page.tsx @@ -2,7 +2,7 @@ import '/public/fonts/inter/inter.css'; import '/src/styles/variables.css'; import { CacheProvider, EmotionCache } from '@emotion/react'; -import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; +import { Hydrate, QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { ReactQueryDevtools } from '@tanstack/react-query-devtools'; import { Web3ReactProvider } from '@web3-react/core'; import { providers } from 'ethers'; @@ -10,7 +10,7 @@ import { NextPage } from 'next'; import { AppProps } from 'next/app'; import dynamic from 'next/dynamic'; import Head from 'next/head'; -import { ReactNode, useEffect } from 'react'; +import { ReactNode, useEffect, useState } from 'react'; import { AddressBlocked } from 'src/components/AddressBlocked'; import { Meta } from 'src/components/Meta'; import { TransactionEventHandler } from 'src/components/TransactionEventHandler'; @@ -94,8 +94,6 @@ function getWeb3Library(provider: any): providers.Web3Provider { return library; } -export const queryClient = new QueryClient(); - interface MyAppProps extends AppProps { emotionCache?: EmotionCache; Component: NextPageWithLayout; @@ -104,6 +102,7 @@ export default function MyApp(props: MyAppProps) { const { Component, emotionCache = clientSideEmotionCache, pageProps } = props; const getLayout = Component.getLayout ?? ((page: ReactNode) => page); const initializeMixpanel = useRootStore((store) => store.initializeMixpanel); + const [queryClient] = useState(() => new QueryClient()); const MIXPANEL_TOKEN = process.env.NEXT_PUBLIC_MIXPANEL; useEffect(() => { @@ -128,41 +127,43 @@ export default function MyApp(props: MyAppProps) { /> - - - - - - - - - - - {getLayout()} - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + {getLayout()} + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pages/governance/index.governance.tsx b/pages/governance/index.governance.tsx index ae14df1141..7b005e43ac 100644 --- a/pages/governance/index.governance.tsx +++ b/pages/governance/index.governance.tsx @@ -1,9 +1,11 @@ import { Trans } from '@lingui/macro'; import { Grid, Typography, useMediaQuery, useTheme } from '@mui/material'; +import { dehydrate, QueryClient } from '@tanstack/react-query'; import dynamic from 'next/dynamic'; import { useEffect, useState } from 'react'; import StyledToggleButton from 'src/components/StyledToggleButton'; import StyledToggleButtonGroup from 'src/components/StyledToggleButtonGroup'; +import { getProposals } from 'src/hooks/governance/useProposals'; import { MainLayout } from 'src/layouts/MainLayout'; import { GovernanceTopPanel } from 'src/modules/governance/GovernanceTopPanel'; import { ProposalsList } from 'src/modules/governance/ProposalsList'; @@ -21,6 +23,15 @@ const GovDelegationModal = dynamic(() => ); export const getStaticProps = async () => { + // const queryClient = new QueryClient(); + // await queryClient.prefetchQuery({ queryKey: ['proposals'], queryFn: () => getProposals }); + + // return { + // props: { + // dehydratedState: dehydrate(queryClient), + // }, + // }; + const IpfsFetcher = new Ipfs(); const ProposalFetcher = new Proposal(); @@ -39,7 +50,11 @@ export const getStaticProps = async () => { }; }); - return { props: { proposals: proposals.slice().reverse() } }; + return { + props: { + proposals: proposals.slice().reverse(), + }, + }; }; enum Tabs { diff --git a/src/hooks/governance/useProposals.ts b/src/hooks/governance/useProposals.ts index e8def02420..14e58b4929 100644 --- a/src/hooks/governance/useProposals.ts +++ b/src/hooks/governance/useProposals.ts @@ -1,5 +1,6 @@ import { useQuery } from '@tanstack/react-query'; import request, { gql } from 'graphql-request'; +import { useSharedDependencies } from 'src/ui-config/SharedDependenciesProvider'; type Proposal = { proposalId: string; @@ -26,10 +27,14 @@ const getProposalsQuery = gql` } `; +export const getProposals = request<{ proposalCreateds: Proposal[] }>( + GOV_CORE_SUBGRAPH_URL, + getProposalsQuery +); + export const useProposals = () => { return useQuery({ - queryFn: () => - request<{ proposalCreateds: Proposal[] }>(GOV_CORE_SUBGRAPH_URL, getProposalsQuery), + queryFn: () => getProposals, queryKey: ['proposals'], enabled: true, refetchOnMount: false, @@ -38,3 +43,15 @@ export const useProposals = () => { select: (data) => data.proposalCreateds, }); }; + +export const useGetProposalsData = () => { + const { governanceV3Service } = useSharedDependencies(); + return useQuery({ + queryFn: () => governanceV3Service.getProposalsData(), + queryKey: ['proposalsData'], + enabled: true, + refetchOnMount: false, + refetchOnWindowFocus: false, + refetchOnReconnect: false, + }); +}; diff --git a/src/modules/governance/ProposalsList.tsx b/src/modules/governance/ProposalsList.tsx index 2d3bf5d16e..0ad3ac0249 100644 --- a/src/modules/governance/ProposalsList.tsx +++ b/src/modules/governance/ProposalsList.tsx @@ -5,7 +5,7 @@ import { GovernancePageProps } from 'pages/governance/index.governance'; import { useMemo, useRef, useState } from 'react'; import InfiniteScroll from 'react-infinite-scroller'; import { NoSearchResults } from 'src/components/NoSearchResults'; -import { useProposals } from 'src/hooks/governance/useProposals'; +import { useGetProposalsData, useProposals } from 'src/hooks/governance/useProposals'; import { useProposalVotes } from 'src/hooks/governance/useProposalVotes'; import { usePolling } from 'src/hooks/usePolling'; import { getProposalMetadata } from 'src/modules/governance/utils/getProposalMetadata'; @@ -38,68 +38,71 @@ export function ProposalsList({ proposals: initialProposals }: GovernancePagePro const votes = useProposalVotes({ proposalId: '32' }); console.log(votes); - async function fetchNewProposals() { - try { - const count = await governanceContract.getProposalsCount(); - const nextProposals: GovernancePageProps['proposals'] = []; - console.log(`fetching ${count - proposals.length} new proposals`); - if (count - proposals.length) { - for (let i = proposals.length; i < count; i++) { - const { values, ...rest } = await governanceContract.getProposal({ proposalId: i }); - const proposal = await enhanceProposalWithTimes(rest); - const proposalMetadata = await getProposalMetadata( - proposal.ipfsHash, - governanceConfig.ipfsGateway - ); - nextProposals.unshift({ - ipfs: { - id: i, - originalHash: proposal.ipfsHash, - ...proposalMetadata, - }, - proposal: proposal, - prerendered: false, - }); - } - nextProposals.map((elem) => searchEngineRef.current.add(elem)); - setProposals((p) => [...nextProposals, ...p]); - } - setLoadingNewProposals(false); - } catch (e) { - console.log('error fetching new proposals', e); - } - } - - async function updatePendingProposals() { - const pendingProposals = proposals.filter( - ({ proposal }) => !isProposalStateImmutable(proposal) - ); - try { - if (pendingProposals.length) { - const updatedProposals = await Promise.all( - pendingProposals.map(async ({ proposal }) => { - const { values, ...rest } = await governanceContract.getProposal({ - proposalId: proposal.id, - }); - return enhanceProposalWithTimes(rest); - }) - ); - setProposals((proposals) => { - updatedProposals.map((proposal) => { - proposals[proposals.length - 1 - proposal.id].proposal = proposal; - proposals[proposals.length - 1 - proposal.id].prerendered = false; - }); - return proposals; - }); - } - setUpdatingPendingProposals(false); - } catch (e) { - console.log('error updating proposals', e); - } - } - - usePolling(fetchNewProposals, 60000, false, [proposals.length]); - usePolling(updatePendingProposals, 30000, false, [proposals.length]); + const { data: proposalData } = useGetProposalsData(); + console.log(proposalData); + + // async function fetchNewProposals() { + // try { + // const count = await governanceContract.getProposalsCount(); + // const nextProposals: GovernancePageProps['proposals'] = []; + // console.log(`fetching ${count - proposals.length} new proposals`); + // if (count - proposals.length) { + // for (let i = proposals.length; i < count; i++) { + // const { values, ...rest } = await governanceContract.getProposal({ proposalId: i }); + // const proposal = await enhanceProposalWithTimes(rest); + // const proposalMetadata = await getProposalMetadata( + // proposal.ipfsHash, + // governanceConfig.ipfsGateway + // ); + // nextProposals.unshift({ + // ipfs: { + // id: i, + // originalHash: proposal.ipfsHash, + // ...proposalMetadata, + // }, + // proposal: proposal, + // prerendered: false, + // }); + // } + // nextProposals.map((elem) => searchEngineRef.current.add(elem)); + // setProposals((p) => [...nextProposals, ...p]); + // } + // setLoadingNewProposals(false); + // } catch (e) { + // console.log('error fetching new proposals', e); + // } + // } + + // async function updatePendingProposals() { + // const pendingProposals = proposals.filter( + // ({ proposal }) => !isProposalStateImmutable(proposal) + // ); + // try { + // if (pendingProposals.length) { + // const updatedProposals = await Promise.all( + // pendingProposals.map(async ({ proposal }) => { + // const { values, ...rest } = await governanceContract.getProposal({ + // proposalId: proposal.id, + // }); + // return enhanceProposalWithTimes(rest); + // }) + // ); + // setProposals((proposals) => { + // updatedProposals.map((proposal) => { + // proposals[proposals.length - 1 - proposal.id].proposal = proposal; + // proposals[proposals.length - 1 - proposal.id].prerendered = false; + // }); + // return proposals; + // }); + // } + // setUpdatingPendingProposals(false); + // } catch (e) { + // console.log('error updating proposals', e); + // } + // } + + // usePolling(fetchNewProposals, 60000, false, [proposals.length]); + // usePolling(updatePendingProposals, 30000, false, [proposals.length]); const filteredByState = useMemo(() => { // filters by proposal state and pins large executors at the top diff --git a/src/services/GovernanceV3Service.ts b/src/services/GovernanceV3Service.ts new file mode 100644 index 0000000000..dc740fb357 --- /dev/null +++ b/src/services/GovernanceV3Service.ts @@ -0,0 +1,19 @@ +import { ChainId, GovernanceDataHelperService } from '@aave/contract-helpers'; +import { getProvider } from 'src/utils/marketsAndNetworksConfig'; + +const govCoreAddressSepolia = '0xc4ABF658C3Dda84225cF8A07d7D5Bb6Aa41d9E59'; +const govDataHelperSepolia = '0x863f9De2f82AB502612E8B7d4f4863c8535cb8cA'; +const votingPortalSepolia = '0x1079bAa48E56065d43b4344866B187a485cb0A92'; + +export class GovernanceV3Service { + private getDataHelperService() { + const provider = getProvider(ChainId.sepolia); // TODO: pass in market data + return new GovernanceDataHelperService(govDataHelperSepolia, provider); + } + + async getProposalsData() { + const dataHelperService = this.getDataHelperService(); + const proposals = await dataHelperService.getProposalsData(govCoreAddressSepolia, 0, 0, 10); + return proposals; + } +} diff --git a/src/ui-config/SharedDependenciesProvider.tsx b/src/ui-config/SharedDependenciesProvider.tsx index 522d287984..856f99674b 100644 --- a/src/ui-config/SharedDependenciesProvider.tsx +++ b/src/ui-config/SharedDependenciesProvider.tsx @@ -1,6 +1,7 @@ import { createContext, useContext } from 'react'; import { ApprovedAmountService } from 'src/services/ApprovedAmountService'; import { GovernanceService } from 'src/services/GovernanceService'; +import { GovernanceV3Service } from 'src/services/GovernanceV3Service'; import { UiIncentivesService } from 'src/services/UIIncentivesService'; import { UiPoolService } from 'src/services/UIPoolService'; import { UiStakeDataService } from 'src/services/UiStakeDataService'; @@ -13,6 +14,7 @@ import { stakeConfig } from './stakeConfig'; interface SharedDependenciesContext { governanceService: GovernanceService; + governanceV3Service: GovernanceV3Service; governanceWalletBalanceService: WalletBalanceService; poolTokensBalanceService: WalletBalanceService; uiStakeDataService: UiStakeDataService; @@ -39,6 +41,7 @@ export const SharedDependenciesProvider: React.FC = ({ children }) => { // services const governanceService = new GovernanceService(getGovernanceProvider); + const governanceV3Service = new GovernanceV3Service(); const governanceWalletBalanceService = new WalletBalanceService(getGovernanceProvider); const poolTokensBalanceService = new WalletBalanceService(getProvider); @@ -52,6 +55,7 @@ export const SharedDependenciesProvider: React.FC = ({ children }) => { Date: Fri, 8 Dec 2023 13:18:57 -0600 Subject: [PATCH 03/84] feat: latest utils --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 29f658f0de..134d70ee1f 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "test:coverage": "jest --coverage" }, "dependencies": { - "@aave/contract-helpers": "1.21.2-dffafc6980e2e7d43b29bd3aa63f89fcdcc8f2e1.0", + "@aave/contract-helpers": "1.21.2-d87da87e54fce073e23013f812c29a5e48916c73.0", "@aave/math-utils": "1.21.1", "@bgd-labs/aave-address-book": "^2.10.0", "@emotion/cache": "11.10.3", diff --git a/yarn.lock b/yarn.lock index e6f3cccad3..5c3e07bbad 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,10 +2,10 @@ # yarn lockfile v1 -"@aave/contract-helpers@1.21.2-dffafc6980e2e7d43b29bd3aa63f89fcdcc8f2e1.0": - version "1.21.2-dffafc6980e2e7d43b29bd3aa63f89fcdcc8f2e1.0" - resolved "https://registry.yarnpkg.com/@aave/contract-helpers/-/contract-helpers-1.21.2-dffafc6980e2e7d43b29bd3aa63f89fcdcc8f2e1.0.tgz#0aee52190084d58038b110d32911f2c89c8c56b2" - integrity sha512-3Jh6+cVq0Z+hImAsKiw8U3EDu0MO45Adz4NiRz5F3oXrEl1jSJlenvC69iAE5ZQH3Zf7OAIDobVvmSo+36uPFw== +"@aave/contract-helpers@1.21.2-d87da87e54fce073e23013f812c29a5e48916c73.0": + version "1.21.2-d87da87e54fce073e23013f812c29a5e48916c73.0" + resolved "https://registry.yarnpkg.com/@aave/contract-helpers/-/contract-helpers-1.21.2-d87da87e54fce073e23013f812c29a5e48916c73.0.tgz#878d6b9262d236462e57bd4c4c6d283e35f18298" + integrity sha512-2MVA64yREqzXpOrcV+N1QxWmOzlhHGkUZ1uQt891Ja/SkF4JrOuWQmF/QgUC+wq3WXiK3AIOVrrS+u/yV3+ilg== dependencies: isomorphic-unfetch "^3.1.0" From 71ade521242d6dae1b6c5745eda81e48270d1ff0 Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Fri, 8 Dec 2023 13:28:22 -0600 Subject: [PATCH 04/84] feat: latest utils --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 134d70ee1f..76da7d4359 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "test:coverage": "jest --coverage" }, "dependencies": { - "@aave/contract-helpers": "1.21.2-d87da87e54fce073e23013f812c29a5e48916c73.0", + "@aave/contract-helpers": "1.21.2-d78bb15dc0253e18f3f73db8e4e9bcafe75b9dc2.0", "@aave/math-utils": "1.21.1", "@bgd-labs/aave-address-book": "^2.10.0", "@emotion/cache": "11.10.3", diff --git a/yarn.lock b/yarn.lock index 5c3e07bbad..5bbc474769 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,10 +2,10 @@ # yarn lockfile v1 -"@aave/contract-helpers@1.21.2-d87da87e54fce073e23013f812c29a5e48916c73.0": - version "1.21.2-d87da87e54fce073e23013f812c29a5e48916c73.0" - resolved "https://registry.yarnpkg.com/@aave/contract-helpers/-/contract-helpers-1.21.2-d87da87e54fce073e23013f812c29a5e48916c73.0.tgz#878d6b9262d236462e57bd4c4c6d283e35f18298" - integrity sha512-2MVA64yREqzXpOrcV+N1QxWmOzlhHGkUZ1uQt891Ja/SkF4JrOuWQmF/QgUC+wq3WXiK3AIOVrrS+u/yV3+ilg== +"@aave/contract-helpers@1.21.2-d78bb15dc0253e18f3f73db8e4e9bcafe75b9dc2.0": + version "1.21.2-d78bb15dc0253e18f3f73db8e4e9bcafe75b9dc2.0" + resolved "https://registry.yarnpkg.com/@aave/contract-helpers/-/contract-helpers-1.21.2-d78bb15dc0253e18f3f73db8e4e9bcafe75b9dc2.0.tgz#dfed0fb129897c3e5852957fe00410dd58d393d9" + integrity sha512-K7T0fDN7zV44oM6z7j3a1f5yBJHja1FVdprAbg0Kq6LhbTQe9lZC9wQmaP+p95luMa8iu0j6She0RBEkwqWuzw== dependencies: isomorphic-unfetch "^3.1.0" From 1e274a46d57f6b7c91a9817ee02324943c43bb40 Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Fri, 8 Dec 2023 14:48:41 -0600 Subject: [PATCH 05/84] feat: more data helper fetchers --- package.json | 2 +- src/hooks/governance/useProposals.ts | 15 +++++++++++++++ src/modules/governance/ProposalsList.tsx | 11 +++++++++-- yarn.lock | 8 ++++---- 4 files changed, 29 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 76da7d4359..e1cf2a9d9a 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "test:coverage": "jest --coverage" }, "dependencies": { - "@aave/contract-helpers": "1.21.2-d78bb15dc0253e18f3f73db8e4e9bcafe75b9dc2.0", + "@aave/contract-helpers": "1.21.2-1b378371707b7b1c33626c342393fe20049f2fe2.0", "@aave/math-utils": "1.21.1", "@bgd-labs/aave-address-book": "^2.10.0", "@emotion/cache": "11.10.3", diff --git a/src/hooks/governance/useProposals.ts b/src/hooks/governance/useProposals.ts index 14e58b4929..6c6da42cdd 100644 --- a/src/hooks/governance/useProposals.ts +++ b/src/hooks/governance/useProposals.ts @@ -53,5 +53,20 @@ export const useGetProposalsData = () => { refetchOnMount: false, refetchOnWindowFocus: false, refetchOnReconnect: false, + // staleTime: Infinity, ???? + }); +}; + +// voting configs should rarely be changed, so set cache time to infinity +export const useGetVotingConfig = () => { + const { governanceV3Service } = useSharedDependencies(); + return useQuery({ + queryFn: () => governanceV3Service.getVotingConfig(), + queryKey: ['votingConfig'], + enabled: true, + refetchOnMount: false, + refetchOnWindowFocus: false, + refetchOnReconnect: false, + staleTime: Infinity, }); }; diff --git a/src/modules/governance/ProposalsList.tsx b/src/modules/governance/ProposalsList.tsx index 0ad3ac0249..81cd353f7d 100644 --- a/src/modules/governance/ProposalsList.tsx +++ b/src/modules/governance/ProposalsList.tsx @@ -5,7 +5,11 @@ import { GovernancePageProps } from 'pages/governance/index.governance'; import { useMemo, useRef, useState } from 'react'; import InfiniteScroll from 'react-infinite-scroller'; import { NoSearchResults } from 'src/components/NoSearchResults'; -import { useGetProposalsData, useProposals } from 'src/hooks/governance/useProposals'; +import { + useGetProposalsData, + useGetVotingConfig, + useProposals, +} from 'src/hooks/governance/useProposals'; import { useProposalVotes } from 'src/hooks/governance/useProposalVotes'; import { usePolling } from 'src/hooks/usePolling'; import { getProposalMetadata } from 'src/modules/governance/utils/getProposalMetadata'; @@ -38,9 +42,12 @@ export function ProposalsList({ proposals: initialProposals }: GovernancePagePro const votes = useProposalVotes({ proposalId: '32' }); console.log(votes); - const { data: proposalData } = useGetProposalsData(); + const { data: proposalData, isFetching: fetchingProposals } = useGetProposalsData(); console.log(proposalData); + const { data: config } = useGetVotingConfig(); + console.log(config); + // async function fetchNewProposals() { // try { // const count = await governanceContract.getProposalsCount(); diff --git a/yarn.lock b/yarn.lock index 5bbc474769..bfc55d699a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,10 +2,10 @@ # yarn lockfile v1 -"@aave/contract-helpers@1.21.2-d78bb15dc0253e18f3f73db8e4e9bcafe75b9dc2.0": - version "1.21.2-d78bb15dc0253e18f3f73db8e4e9bcafe75b9dc2.0" - resolved "https://registry.yarnpkg.com/@aave/contract-helpers/-/contract-helpers-1.21.2-d78bb15dc0253e18f3f73db8e4e9bcafe75b9dc2.0.tgz#dfed0fb129897c3e5852957fe00410dd58d393d9" - integrity sha512-K7T0fDN7zV44oM6z7j3a1f5yBJHja1FVdprAbg0Kq6LhbTQe9lZC9wQmaP+p95luMa8iu0j6She0RBEkwqWuzw== +"@aave/contract-helpers@1.21.2-1b378371707b7b1c33626c342393fe20049f2fe2.0": + version "1.21.2-1b378371707b7b1c33626c342393fe20049f2fe2.0" + resolved "https://registry.yarnpkg.com/@aave/contract-helpers/-/contract-helpers-1.21.2-1b378371707b7b1c33626c342393fe20049f2fe2.0.tgz#284e7d0208f279786f59610c75d765f1fd24f206" + integrity sha512-msHNCGq2UXyt8Y2PDGg4CCFASzl4eNAtmQR+5OIt2ecr9rGc77AkqBjoFa1hi2pVZh5JZuPXYe0gD7Kny7crfw== dependencies: isomorphic-unfetch "^3.1.0" From 7e3a19699ee412882c8e0bbcf8c647e9322d905a Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Fri, 8 Dec 2023 15:50:01 -0600 Subject: [PATCH 06/84] feat: latest utils --- package.json | 2 +- src/services/GovernanceV3Service.ts | 20 +++++++++++++++++--- yarn.lock | 8 ++++---- 3 files changed, 22 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index e1cf2a9d9a..6f81d93d1e 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "test:coverage": "jest --coverage" }, "dependencies": { - "@aave/contract-helpers": "1.21.2-1b378371707b7b1c33626c342393fe20049f2fe2.0", + "@aave/contract-helpers": "1.21.2-91bcd5a509cab7528610d9a941f2979afad6c7b3.0", "@aave/math-utils": "1.21.1", "@bgd-labs/aave-address-book": "^2.10.0", "@emotion/cache": "11.10.3", diff --git a/src/services/GovernanceV3Service.ts b/src/services/GovernanceV3Service.ts index dc740fb357..b1b0b7b2ee 100644 --- a/src/services/GovernanceV3Service.ts +++ b/src/services/GovernanceV3Service.ts @@ -1,4 +1,4 @@ -import { ChainId, GovernanceDataHelperService } from '@aave/contract-helpers'; +import { AccessLevel, ChainId, GovernanceDataHelperService } from '@aave/contract-helpers'; import { getProvider } from 'src/utils/marketsAndNetworksConfig'; const govCoreAddressSepolia = '0xc4ABF658C3Dda84225cF8A07d7D5Bb6Aa41d9E59'; @@ -11,9 +11,23 @@ export class GovernanceV3Service { return new GovernanceDataHelperService(govDataHelperSepolia, provider); } - async getProposalsData() { + async getProposalsData(from = 0, to = 0, limit = 10) { const dataHelperService = this.getDataHelperService(); - const proposals = await dataHelperService.getProposalsData(govCoreAddressSepolia, 0, 0, 10); + const proposals = await dataHelperService.getProposalsData( + govCoreAddressSepolia, + from, + to, + limit + ); return proposals; } + + async getVotingConfig() { + const dataHelperService = this.getDataHelperService(); + const votingConfig = await dataHelperService.getConstants(govCoreAddressSepolia, [ + AccessLevel.Short_Executor, + AccessLevel.Long_Executor, + ]); + return votingConfig; + } } diff --git a/yarn.lock b/yarn.lock index bfc55d699a..6db12404b6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,10 +2,10 @@ # yarn lockfile v1 -"@aave/contract-helpers@1.21.2-1b378371707b7b1c33626c342393fe20049f2fe2.0": - version "1.21.2-1b378371707b7b1c33626c342393fe20049f2fe2.0" - resolved "https://registry.yarnpkg.com/@aave/contract-helpers/-/contract-helpers-1.21.2-1b378371707b7b1c33626c342393fe20049f2fe2.0.tgz#284e7d0208f279786f59610c75d765f1fd24f206" - integrity sha512-msHNCGq2UXyt8Y2PDGg4CCFASzl4eNAtmQR+5OIt2ecr9rGc77AkqBjoFa1hi2pVZh5JZuPXYe0gD7Kny7crfw== +"@aave/contract-helpers@1.21.2-91bcd5a509cab7528610d9a941f2979afad6c7b3.0": + version "1.21.2-91bcd5a509cab7528610d9a941f2979afad6c7b3.0" + resolved "https://registry.yarnpkg.com/@aave/contract-helpers/-/contract-helpers-1.21.2-91bcd5a509cab7528610d9a941f2979afad6c7b3.0.tgz#5cd440c92f76b90b3ef333711db2915101d0015e" + integrity sha512-qwbxi/W6idQSIOEzRYFgsagCSRizv6ir7BkaG/ZP50r8vDTqJNMrHRHeSCRgzKHPFZIGvVKe6OQ+FjVaYSoDbA== dependencies: isomorphic-unfetch "^3.1.0" From ffc45cd25d1cf20ae7a8b3a756a564b9c599b52c Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Mon, 11 Dec 2023 16:29:53 -0600 Subject: [PATCH 07/84] feat: proposal data fetching --- package.json | 2 +- pages/governance/index.governance.tsx | 8 +- src/hooks/governance/useProposals.ts | 69 ++++++-- src/hooks/governance/useVotingMachine.ts | 3 + src/modules/governance/ProposalV3ListItem.tsx | 109 +++++++++++++ src/modules/governance/ProposalsList.tsx | 2 + src/modules/governance/ProposalsV3List.tsx | 149 ++++++++++++++++++ src/modules/governance/helpers.ts | 22 +++ src/services/GovernanceV3Service.ts | 18 ++- src/services/VotingMachineService.ts | 24 +++ src/ui-config/SharedDependenciesProvider.tsx | 4 + yarn.lock | 8 +- 12 files changed, 394 insertions(+), 24 deletions(-) create mode 100644 src/hooks/governance/useVotingMachine.ts create mode 100644 src/modules/governance/ProposalV3ListItem.tsx create mode 100644 src/modules/governance/ProposalsV3List.tsx create mode 100644 src/modules/governance/helpers.ts create mode 100644 src/services/VotingMachineService.ts diff --git a/package.json b/package.json index 6f81d93d1e..71b8e4adce 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "test:coverage": "jest --coverage" }, "dependencies": { - "@aave/contract-helpers": "1.21.2-91bcd5a509cab7528610d9a941f2979afad6c7b3.0", + "@aave/contract-helpers": "1.21.2-1433358e2652d0d14a3119b90fca41cad59d08c9.0", "@aave/math-utils": "1.21.1", "@bgd-labs/aave-address-book": "^2.10.0", "@emotion/cache": "11.10.3", diff --git a/pages/governance/index.governance.tsx b/pages/governance/index.governance.tsx index 7b005e43ac..ed54b56a2a 100644 --- a/pages/governance/index.governance.tsx +++ b/pages/governance/index.governance.tsx @@ -1,14 +1,12 @@ import { Trans } from '@lingui/macro'; import { Grid, Typography, useMediaQuery, useTheme } from '@mui/material'; -import { dehydrate, QueryClient } from '@tanstack/react-query'; import dynamic from 'next/dynamic'; import { useEffect, useState } from 'react'; import StyledToggleButton from 'src/components/StyledToggleButton'; import StyledToggleButtonGroup from 'src/components/StyledToggleButtonGroup'; -import { getProposals } from 'src/hooks/governance/useProposals'; import { MainLayout } from 'src/layouts/MainLayout'; import { GovernanceTopPanel } from 'src/modules/governance/GovernanceTopPanel'; -import { ProposalsList } from 'src/modules/governance/ProposalsList'; +import { ProposalsV3List } from 'src/modules/governance/ProposalsV3List'; import { UserGovernanceInfo } from 'src/modules/governance/UserGovernanceInfo'; import { Ipfs, IpfsType } from 'src/static-build/ipfs'; import { CustomProposalType, Proposal } from 'src/static-build/proposal'; @@ -110,14 +108,14 @@ export default function Governance(props: GovernancePageProps) { {isMobile ? ( mode === Tabs.PROPOSALS ? ( - + ) : ( ) ) : ( - + diff --git a/src/hooks/governance/useProposals.ts b/src/hooks/governance/useProposals.ts index 6c6da42cdd..a8173f3e77 100644 --- a/src/hooks/governance/useProposals.ts +++ b/src/hooks/governance/useProposals.ts @@ -2,7 +2,7 @@ import { useQuery } from '@tanstack/react-query'; import request, { gql } from 'graphql-request'; import { useSharedDependencies } from 'src/ui-config/SharedDependenciesProvider'; -type Proposal = { +export type SubgraphProposal = { proposalId: string; ipfsHash: string; title: string; @@ -15,8 +15,8 @@ const GOV_CORE_SUBGRAPH_URL = 'https://api.goldsky.com/api/public/project_clk74pd7lueg738tw9sjh79d6/subgraphs/governance-v3/v2.0.1/gn'; const getProposalsQuery = gql` - query getProposals { - proposalCreateds { + query getProposals($first: Int!, $skip: Int!) { + proposalCreateds(orderBy: proposalId, orderDirection: desc, first: $first, skip: $skip) { proposalId ipfsHash title @@ -27,16 +27,25 @@ const getProposalsQuery = gql` } `; -export const getProposals = request<{ proposalCreateds: Proposal[] }>( - GOV_CORE_SUBGRAPH_URL, - getProposalsQuery -); +export const getProposals = (first: number, skip: number) => + request<{ proposalCreateds: SubgraphProposal[] }>(GOV_CORE_SUBGRAPH_URL, getProposalsQuery, { + first, + skip, + }); -export const useProposals = () => { +export const useProposals = ({ + first, + skip, + totalCount, +}: { + first: number; + skip: number; + totalCount: number | undefined; +}) => { return useQuery({ - queryFn: () => getProposals, + queryFn: () => getProposals(first, skip), queryKey: ['proposals'], - enabled: true, + enabled: totalCount ? totalCount > 0 : false, refetchOnMount: false, refetchOnWindowFocus: false, refetchOnReconnect: false, @@ -44,10 +53,31 @@ export const useProposals = () => { }); }; -export const useGetProposalsData = () => { +export const useGetProposalCount = () => { + const { governanceV3Service } = useSharedDependencies(); + return useQuery({ + queryFn: () => governanceV3Service.getProposalCount(), + queryKey: ['proposalCount'], + enabled: true, + refetchOnMount: false, + refetchOnWindowFocus: false, + refetchOnReconnect: false, + // staleTime: Infinity, ???? + }); +}; + +export const useGetProposalsData = ({ + fromId, + toId, + limit, +}: { + fromId: number; + toId: number; + limit: number; +}) => { const { governanceV3Service } = useSharedDependencies(); return useQuery({ - queryFn: () => governanceV3Service.getProposalsData(), + queryFn: () => governanceV3Service.getProposalsData(fromId, toId, limit), queryKey: ['proposalsData'], enabled: true, refetchOnMount: false, @@ -70,3 +100,18 @@ export const useGetVotingConfig = () => { staleTime: Infinity, }); }; + +export const useGetVotingMachineProposalsData = ( + proposals: Array<{ id: number; snapshotBlockHash: string }> +) => { + const { votingMachineSerivce } = useSharedDependencies(); + return useQuery({ + queryFn: () => votingMachineSerivce.getProposalsData(proposals), + queryKey: ['votingMachineProposalsData'], + enabled: proposals?.length > 0, + refetchOnMount: false, + refetchOnWindowFocus: false, + refetchOnReconnect: false, + // staleTime: Infinity, ???? + }); +}; diff --git a/src/hooks/governance/useVotingMachine.ts b/src/hooks/governance/useVotingMachine.ts new file mode 100644 index 0000000000..b8de7bd552 --- /dev/null +++ b/src/hooks/governance/useVotingMachine.ts @@ -0,0 +1,3 @@ +export const useVotingMachineData = () => { + +} diff --git a/src/modules/governance/ProposalV3ListItem.tsx b/src/modules/governance/ProposalV3ListItem.tsx new file mode 100644 index 0000000000..6f93803c68 --- /dev/null +++ b/src/modules/governance/ProposalV3ListItem.tsx @@ -0,0 +1,109 @@ +import { AccessLevel, ProposalV3State } from '@aave/contract-helpers'; +import { ShieldExclamationIcon } from '@heroicons/react/outline'; +import { Trans } from '@lingui/macro'; +import { Box, Typography, useTheme } from '@mui/material'; +import { CheckBadge } from 'src/components/primitives/CheckBadge'; +import { Link, ROUTES } from 'src/components/primitives/Link'; +import { useRootStore } from 'src/store/root'; +import { GOVERNANCE_PAGE } from 'src/utils/mixPanelEvents'; + +import { VoteBar } from './VoteBar'; + +export const ProposalV3ListItem = ({ + id, + title, + proposalState, + forVotes, + againstVotes, + forPercent, + againstPercent, + quorumReached, + diffReached, + accessLevel, +}: { + id: string; + title: string; + proposalState: ProposalV3State; + accessLevel: AccessLevel; + forVotes: number; + againstVotes: number; + quorumReached: boolean; + diffReached: boolean; + forPercent: number; + againstPercent: number; +}) => { + // const { nayPercent, yaePercent, nayVotes, yaeVotes, quorumReached, diffReached } = + // formatProposal(proposal); + const { palette } = useTheme(); + const trackEvent = useRootStore((store) => store.trackEvent); + + const mightBeStale = false; + + return ( + `1px solid ${theme.palette.divider}`, + }} + component={Link} + onClick={() => trackEvent(GOVERNANCE_PAGE.VIEW_AIP, { AIP: id })} + href={ROUTES.dynamicRenderedProposal(+id)} + > + + + {title} + + + {/* + */} + Quorum} checked={quorumReached} loading={mightBeStale} /> + Differential} + checked={diffReached} + loading={mightBeStale} + /> + {accessLevel === AccessLevel.Long_Executor ? ( + + + Long Executor + + + + ) : null} + + + + + + + + ); +}; diff --git a/src/modules/governance/ProposalsList.tsx b/src/modules/governance/ProposalsList.tsx index 81cd353f7d..d3ce81b2d7 100644 --- a/src/modules/governance/ProposalsList.tsx +++ b/src/modules/governance/ProposalsList.tsx @@ -48,6 +48,8 @@ export function ProposalsList({ proposals: initialProposals }: GovernancePagePro const { data: config } = useGetVotingConfig(); console.log(config); + // if proposal is active, we need to query the votes from the subgraph + // async function fetchNewProposals() { // try { // const count = await governanceContract.getProposalsCount(); diff --git a/src/modules/governance/ProposalsV3List.tsx b/src/modules/governance/ProposalsV3List.tsx new file mode 100644 index 0000000000..1ac2058aa5 --- /dev/null +++ b/src/modules/governance/ProposalsV3List.tsx @@ -0,0 +1,149 @@ +import { + AccessLevel, + Constants, + ProposalData, + ProposalV3State, + VotingMachineProposal, +} from '@aave/contract-helpers'; +import { normalizeBN } from '@aave/math-utils'; +import { LinearProgress, Paper } from '@mui/material'; +import BigNumber from 'bignumber.js'; +import { useState } from 'react'; +import InfiniteScroll from 'react-infinite-scroller'; +import { NoSearchResults } from 'src/components/NoSearchResults'; +import { + SubgraphProposal, + useGetProposalCount, + useGetProposalsData, + useGetVotingConfig, + useGetVotingMachineProposalsData, + useProposals, +} from 'src/hooks/governance/useProposals'; + +import { isDifferentialReached, isQuorumReached } from './helpers'; +import { ProposalListHeader } from './ProposalListHeader'; +import { ProposalV3ListItem } from './ProposalV3ListItem'; + +const LIMIT = 10; +export const ProposalsV3List = () => { + const [proposalFilter, setProposalFilter] = useState('all'); + + const { data: totalCount } = useGetProposalCount(); + + const { data, isFetching: loadingProposals } = useProposals({ + first: LIMIT, + skip: 0, + totalCount, + }); + + const toId = data?.[data.length - 1]?.proposalId ?? 0; + const fromId = data?.[0]?.proposalId ?? 0; + + console.log(toId, fromId); + + const { data: proposalData, isFetching: fetchingProposals } = useGetProposalsData({ + fromId: +fromId, + toId: +toId, + limit: LIMIT, + }); + console.log(proposalData, fetchingProposals); + + const { data: config } = useGetVotingConfig(); + console.log(config, 'config'); + + const { data: votingMachingData } = useGetVotingMachineProposalsData( + proposalData?.map((p) => ({ + id: +p.id, + snapshotBlockHash: p.proposalData.snapshotBlockHash, + })) ?? [] + ); + + console.log(votingMachingData); + + const handleLoadMore = () => console.log('todo'); + + let formattedProposals: FormattedProposal[] = []; + if (data && proposalData && config && votingMachingData) { + formattedProposals = data.map((proposal, index) => + formatProposal(proposal, proposalData[index], config, votingMachingData[index]) + ); + } + + return ( + + console.log(value)} + /> + {loadingProposals && } + {formattedProposals?.length ? ( + + {formattedProposals.map((proposal) => ( + + ))} + + ) : ( + + )} + + ); +}; + +type FormattedProposal = { + id: string; + title: string; + proposalState: ProposalV3State; + accessLevel: AccessLevel; + forVotes: number; + againstVotes: number; + forPercent: number; + againstPercent: number; + quorumReached: boolean; + diffReached: boolean; +}; + +const formatProposal = ( + proposal: SubgraphProposal, + proposalData: ProposalData, + constants: Constants, + votingMachineData: VotingMachineProposal +): FormattedProposal => { + const quorumReached = isQuorumReached( + proposalData.proposalData.forVotes, + constants.votingConfigs[proposalData.proposalData.accessLevel].config.quorum, + constants.precisionDivider + ); + const diffReached = isDifferentialReached( + proposalData.proposalData.forVotes, + proposalData.proposalData.againstVotes, + constants.votingConfigs[proposalData.proposalData.accessLevel].config.differential, + constants.precisionDivider + ); + + const allVotes = new BigNumber(votingMachineData.proposalData.forVotes).plus( + votingMachineData.proposalData.againstVotes + ); + const forPercent = allVotes.gt(0) + ? new BigNumber(votingMachineData.proposalData.forVotes).dividedBy(allVotes).toNumber() + : 0; + const forVotes = normalizeBN(votingMachineData.proposalData.forVotes, 18).toNumber(); + + const againstPercent = allVotes.gt(0) + ? new BigNumber(votingMachineData.proposalData.againstVotes).dividedBy(allVotes).toNumber() + : 0; + const againstVotes = normalizeBN(votingMachineData.proposalData.againstVotes, 18).toNumber(); + + return { + id: proposalData.id, + title: proposal.title, + proposalState: proposalData.proposalData.state, + forVotes, + againstVotes, + forPercent, + againstPercent, + quorumReached, + diffReached, + accessLevel: proposalData.proposalData.accessLevel, + }; +}; diff --git a/src/modules/governance/helpers.ts b/src/modules/governance/helpers.ts new file mode 100644 index 0000000000..7fb625e3b9 --- /dev/null +++ b/src/modules/governance/helpers.ts @@ -0,0 +1,22 @@ +import { valueToBigNumber } from '@aave/math-utils'; + +export const isQuorumReached = (forVotes: string, quorum: string, precisionDivider: string) => { + return valueToBigNumber(forVotes).gt(valueToBigNumber(quorum).multipliedBy(precisionDivider)); +}; + +export const isDifferentialReached = ( + forVotes: string, + againstVotes: string, + differential: string, + precisionDivider: string +) => { + const forVotesBN = valueToBigNumber(forVotes); + const againstVotesBN = valueToBigNumber(againstVotes); + + return ( + forVotesBN.gte(againstVotesBN) && + forVotesBN + .minus(againstVotesBN) + .gt(valueToBigNumber(differential).multipliedBy(precisionDivider)) + ); +}; diff --git a/src/services/GovernanceV3Service.ts b/src/services/GovernanceV3Service.ts index b1b0b7b2ee..fbeb8e182e 100644 --- a/src/services/GovernanceV3Service.ts +++ b/src/services/GovernanceV3Service.ts @@ -1,9 +1,13 @@ -import { AccessLevel, ChainId, GovernanceDataHelperService } from '@aave/contract-helpers'; +import { + AccessLevel, + ChainId, + GovernanceCoreService, + GovernanceDataHelperService, +} from '@aave/contract-helpers'; import { getProvider } from 'src/utils/marketsAndNetworksConfig'; const govCoreAddressSepolia = '0xc4ABF658C3Dda84225cF8A07d7D5Bb6Aa41d9E59'; const govDataHelperSepolia = '0x863f9De2f82AB502612E8B7d4f4863c8535cb8cA'; -const votingPortalSepolia = '0x1079bAa48E56065d43b4344866B187a485cb0A92'; export class GovernanceV3Service { private getDataHelperService() { @@ -11,6 +15,11 @@ export class GovernanceV3Service { return new GovernanceDataHelperService(govDataHelperSepolia, provider); } + private getCoreService() { + const provider = getProvider(ChainId.sepolia); // TODO: pass in market data + return new GovernanceCoreService(govCoreAddressSepolia, provider); + } + async getProposalsData(from = 0, to = 0, limit = 10) { const dataHelperService = this.getDataHelperService(); const proposals = await dataHelperService.getProposalsData( @@ -30,4 +39,9 @@ export class GovernanceV3Service { ]); return votingConfig; } + + async getProposalCount() { + const coreService = this.getCoreService(); + return coreService.getProposalCount(); + } } diff --git a/src/services/VotingMachineService.ts b/src/services/VotingMachineService.ts new file mode 100644 index 0000000000..ac97b3b14c --- /dev/null +++ b/src/services/VotingMachineService.ts @@ -0,0 +1,24 @@ +import { ChainId, VotingMachineDataHelperService } from '@aave/contract-helpers'; +import { getProvider } from 'src/utils/marketsAndNetworksConfig'; + +const votingPortalSepolia = '0x1079bAa48E56065d43b4344866B187a485cb0A92'; +const votingMachineSepolia = '0xA1995F1d5A8A247c064a76F336E1C2ecD24Ef0D9'; +const votingPortalDataHelperSepolia = '0x133210F3fe2deEB34e65deB6861ee3dF87393977'; + +export class VotingMachineService { + private getDataHelperService() { + const provider = getProvider(ChainId.sepolia); // TODO: pass in market data + return new VotingMachineDataHelperService(votingPortalDataHelperSepolia, provider); + } + async getProposalsData(proposals: Array<{ id: number; snapshotBlockHash: string }>) { + const dataHelperService = this.getDataHelperService(); + const data = await dataHelperService.getProposalsData( + votingMachineSepolia, + proposals, + '0x0000000000000000000000000000000000000000' + ); + + console.log(data); + return data; + } +} diff --git a/src/ui-config/SharedDependenciesProvider.tsx b/src/ui-config/SharedDependenciesProvider.tsx index 856f99674b..329fdff2c8 100644 --- a/src/ui-config/SharedDependenciesProvider.tsx +++ b/src/ui-config/SharedDependenciesProvider.tsx @@ -5,6 +5,7 @@ import { GovernanceV3Service } from 'src/services/GovernanceV3Service'; import { UiIncentivesService } from 'src/services/UIIncentivesService'; import { UiPoolService } from 'src/services/UIPoolService'; import { UiStakeDataService } from 'src/services/UiStakeDataService'; +import { VotingMachineService } from 'src/services/VotingMachineService'; import { WalletBalanceService } from 'src/services/WalletBalanceService'; import { getNetworkConfig, getProvider } from 'src/utils/marketsAndNetworksConfig'; import invariant from 'tiny-invariant'; @@ -15,6 +16,7 @@ import { stakeConfig } from './stakeConfig'; interface SharedDependenciesContext { governanceService: GovernanceService; governanceV3Service: GovernanceV3Service; + votingMachineSerivce: VotingMachineService; governanceWalletBalanceService: WalletBalanceService; poolTokensBalanceService: WalletBalanceService; uiStakeDataService: UiStakeDataService; @@ -42,6 +44,7 @@ export const SharedDependenciesProvider: React.FC = ({ children }) => { // services const governanceService = new GovernanceService(getGovernanceProvider); const governanceV3Service = new GovernanceV3Service(); + const votingMachineSerivce = new VotingMachineService(); const governanceWalletBalanceService = new WalletBalanceService(getGovernanceProvider); const poolTokensBalanceService = new WalletBalanceService(getProvider); @@ -56,6 +59,7 @@ export const SharedDependenciesProvider: React.FC = ({ children }) => { value={{ governanceService, governanceV3Service, + votingMachineSerivce, governanceWalletBalanceService, poolTokensBalanceService, uiStakeDataService, diff --git a/yarn.lock b/yarn.lock index 6db12404b6..e2c9b56b4c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,10 +2,10 @@ # yarn lockfile v1 -"@aave/contract-helpers@1.21.2-91bcd5a509cab7528610d9a941f2979afad6c7b3.0": - version "1.21.2-91bcd5a509cab7528610d9a941f2979afad6c7b3.0" - resolved "https://registry.yarnpkg.com/@aave/contract-helpers/-/contract-helpers-1.21.2-91bcd5a509cab7528610d9a941f2979afad6c7b3.0.tgz#5cd440c92f76b90b3ef333711db2915101d0015e" - integrity sha512-qwbxi/W6idQSIOEzRYFgsagCSRizv6ir7BkaG/ZP50r8vDTqJNMrHRHeSCRgzKHPFZIGvVKe6OQ+FjVaYSoDbA== +"@aave/contract-helpers@1.21.2-1433358e2652d0d14a3119b90fca41cad59d08c9.0": + version "1.21.2-1433358e2652d0d14a3119b90fca41cad59d08c9.0" + resolved "https://registry.yarnpkg.com/@aave/contract-helpers/-/contract-helpers-1.21.2-1433358e2652d0d14a3119b90fca41cad59d08c9.0.tgz#5a9027b059d0154b7c586c79376bc4bddf668eb2" + integrity sha512-EOTqG1XcD/pmwxNcjab9tNvUJTYDEttl074pRBEvuyRCI53GIMpg7q0ot33Yg7SwTXJMxQK4LFlrHiq+HiJ1UA== dependencies: isomorphic-unfetch "^3.1.0" From e68d659b8a96328c81bf8a749ffd502aae2af090 Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Tue, 12 Dec 2023 12:52:43 -0600 Subject: [PATCH 08/84] feat: infinite scroll --- src/hooks/governance/useProposals.ts | 78 ++++++++++++++----- src/modules/governance/ProposalV3ListItem.tsx | 2 +- src/modules/governance/ProposalsV3List.tsx | 77 ++++++++---------- 3 files changed, 89 insertions(+), 68 deletions(-) diff --git a/src/hooks/governance/useProposals.ts b/src/hooks/governance/useProposals.ts index a8173f3e77..2b2e18f1c3 100644 --- a/src/hooks/governance/useProposals.ts +++ b/src/hooks/governance/useProposals.ts @@ -1,5 +1,7 @@ -import { useQuery } from '@tanstack/react-query'; +import { useInfiniteQuery, useQuery } from '@tanstack/react-query'; import request, { gql } from 'graphql-request'; +import { GovernanceV3Service } from 'src/services/GovernanceV3Service'; +import { VotingMachineService } from 'src/services/VotingMachineService'; import { useSharedDependencies } from 'src/ui-config/SharedDependenciesProvider'; export type SubgraphProposal = { @@ -33,23 +35,54 @@ export const getProposals = (first: number, skip: number) => skip, }); -export const useProposals = ({ - first, - skip, - totalCount, -}: { - first: number; - skip: number; - totalCount: number | undefined; -}) => { - return useQuery({ - queryFn: () => getProposals(first, skip), +const PAGE_SIZE = 10; + +async function fetchProposals( + pageParam: number, + governanceV3Service: GovernanceV3Service, + votingMachineSerivce: VotingMachineService +) { + const result = await getProposals(PAGE_SIZE, pageParam * PAGE_SIZE); + const proposals = result.proposalCreateds; + + const fromId = proposals[0].proposalId; + const toId = proposals[proposals.length - 1].proposalId; + + const proposalData = await governanceV3Service.getProposalsData(+fromId, +toId, PAGE_SIZE); + + const votingMachineParams = + proposalData?.map((p) => ({ + id: +p.id, + snapshotBlockHash: p.proposalData.snapshotBlockHash, + })) ?? []; + + const votingMachingData = await votingMachineSerivce.getProposalsData(votingMachineParams); + + return { + proposals, + proposalData, + votingMachingData, + }; +} + +export const useProposals = (totalCount: number) => { + const { governanceV3Service, votingMachineSerivce } = useSharedDependencies(); + return useInfiniteQuery({ + queryFn: async ({ pageParam = 0 }) => { + return fetchProposals(pageParam, governanceV3Service, votingMachineSerivce); + }, queryKey: ['proposals'], - enabled: totalCount ? totalCount > 0 : false, + enabled: totalCount > 0, refetchOnMount: false, refetchOnWindowFocus: false, refetchOnReconnect: false, - select: (data) => data.proposalCreateds, + getNextPageParam: (lastPage, allPages) => { + if (lastPage.proposals.length < PAGE_SIZE) { + return undefined; + } + + return allPages.length; + }, }); }; @@ -59,9 +92,7 @@ export const useGetProposalCount = () => { queryFn: () => governanceV3Service.getProposalCount(), queryKey: ['proposalCount'], enabled: true, - refetchOnMount: false, - refetchOnWindowFocus: false, - refetchOnReconnect: false, + initialData: 0, // staleTime: Infinity, ???? }); }; @@ -70,16 +101,18 @@ export const useGetProposalsData = ({ fromId, toId, limit, + enabled, }: { fromId: number; toId: number; limit: number; + enabled: boolean; }) => { const { governanceV3Service } = useSharedDependencies(); return useQuery({ queryFn: () => governanceV3Service.getProposalsData(fromId, toId, limit), - queryKey: ['proposalsData'], - enabled: true, + queryKey: ['proposalsData', fromId, toId], + enabled: enabled, refetchOnMount: false, refetchOnWindowFocus: false, refetchOnReconnect: false, @@ -101,14 +134,17 @@ export const useGetVotingConfig = () => { }); }; +// TODO: group proposals by chain ID, query the correct voting contract for each proposal, +// and then merge the results together, orderd by propopsal id descending export const useGetVotingMachineProposalsData = ( - proposals: Array<{ id: number; snapshotBlockHash: string }> + proposals: Array<{ id: number; snapshotBlockHash: string }>, + enabled: boolean ) => { const { votingMachineSerivce } = useSharedDependencies(); return useQuery({ queryFn: () => votingMachineSerivce.getProposalsData(proposals), queryKey: ['votingMachineProposalsData'], - enabled: proposals?.length > 0, + enabled: proposals?.length > 0 && enabled, refetchOnMount: false, refetchOnWindowFocus: false, refetchOnReconnect: false, diff --git a/src/modules/governance/ProposalV3ListItem.tsx b/src/modules/governance/ProposalV3ListItem.tsx index 6f93803c68..3c1da12dbc 100644 --- a/src/modules/governance/ProposalV3ListItem.tsx +++ b/src/modules/governance/ProposalV3ListItem.tsx @@ -64,7 +64,7 @@ export const ProposalV3ListItem = ({ }} > - {title} + {title} - proposal id: {id} {/* diff --git a/src/modules/governance/ProposalsV3List.tsx b/src/modules/governance/ProposalsV3List.tsx index 1ac2058aa5..bb05e70fff 100644 --- a/src/modules/governance/ProposalsV3List.tsx +++ b/src/modules/governance/ProposalsV3List.tsx @@ -8,15 +8,13 @@ import { import { normalizeBN } from '@aave/math-utils'; import { LinearProgress, Paper } from '@mui/material'; import BigNumber from 'bignumber.js'; -import { useState } from 'react'; +import { Fragment, useState } from 'react'; import InfiniteScroll from 'react-infinite-scroller'; import { NoSearchResults } from 'src/components/NoSearchResults'; import { SubgraphProposal, useGetProposalCount, - useGetProposalsData, useGetVotingConfig, - useGetVotingMachineProposalsData, useProposals, } from 'src/hooks/governance/useProposals'; @@ -24,50 +22,20 @@ import { isDifferentialReached, isQuorumReached } from './helpers'; import { ProposalListHeader } from './ProposalListHeader'; import { ProposalV3ListItem } from './ProposalV3ListItem'; -const LIMIT = 10; export const ProposalsV3List = () => { + // TODO const [proposalFilter, setProposalFilter] = useState('all'); - const { data: totalCount } = useGetProposalCount(); + const { data: totalCount, isFetching: fetchingProposalCount } = useGetProposalCount(); + const { data, isFetching: fetchingProposals, fetchNextPage } = useProposals(totalCount); + const { data: config, isFetching: fetchingVotingConfig } = useGetVotingConfig(); - const { data, isFetching: loadingProposals } = useProposals({ - first: LIMIT, - skip: 0, - totalCount, - }); - - const toId = data?.[data.length - 1]?.proposalId ?? 0; - const fromId = data?.[0]?.proposalId ?? 0; - - console.log(toId, fromId); - - const { data: proposalData, isFetching: fetchingProposals } = useGetProposalsData({ - fromId: +fromId, - toId: +toId, - limit: LIMIT, - }); - console.log(proposalData, fetchingProposals); - - const { data: config } = useGetVotingConfig(); - console.log(config, 'config'); - - const { data: votingMachingData } = useGetVotingMachineProposalsData( - proposalData?.map((p) => ({ - id: +p.id, - snapshotBlockHash: p.proposalData.snapshotBlockHash, - })) ?? [] + const totalNumberOfProposalsLoaded = data?.pages.reduce( + (acc, page) => acc + page.proposals.length, + 0 ); - console.log(votingMachingData); - - const handleLoadMore = () => console.log('todo'); - - let formattedProposals: FormattedProposal[] = []; - if (data && proposalData && config && votingMachingData) { - formattedProposals = data.map((proposal, index) => - formatProposal(proposal, proposalData[index], config, votingMachingData[index]) - ); - } + const loading = fetchingProposalCount || fetchingProposals || fetchingVotingConfig; return ( @@ -76,11 +44,28 @@ export const ProposalsV3List = () => { handleProposalFilterChange={setProposalFilter} handleSearchQueryChange={(value: string) => console.log(value)} /> - {loadingProposals && } - {formattedProposals?.length ? ( - - {formattedProposals.map((proposal) => ( - + {loading && } + {data && config ? ( + fetchNextPage()} + hasMore={ + totalNumberOfProposalsLoaded === undefined || totalNumberOfProposalsLoaded < totalCount + } + > + {data?.pages.map((group, i) => ( + + {group.proposals.map((proposal, index) => ( + + ))} + ))} ) : ( From c7392969b348ddc0b1e2a74d6efce855082f09f7 Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Tue, 12 Dec 2023 14:49:44 -0600 Subject: [PATCH 09/84] feat: fetch by voting chain --- src/hooks/governance/useProposals.ts | 2 + src/services/VotingMachineService.ts | 99 ++++++++++++++++++++++++---- 2 files changed, 88 insertions(+), 13 deletions(-) diff --git a/src/hooks/governance/useProposals.ts b/src/hooks/governance/useProposals.ts index 2b2e18f1c3..8c4081ba67 100644 --- a/src/hooks/governance/useProposals.ts +++ b/src/hooks/governance/useProposals.ts @@ -54,6 +54,8 @@ async function fetchProposals( proposalData?.map((p) => ({ id: +p.id, snapshotBlockHash: p.proposalData.snapshotBlockHash, + chainId: p.votingChainId, + votingPortalAddress: p.proposalData.votingPortal, })) ?? []; const votingMachingData = await votingMachineSerivce.getProposalsData(votingMachineParams); diff --git a/src/services/VotingMachineService.ts b/src/services/VotingMachineService.ts index ac97b3b14c..bb615f052d 100644 --- a/src/services/VotingMachineService.ts +++ b/src/services/VotingMachineService.ts @@ -1,24 +1,97 @@ -import { ChainId, VotingMachineDataHelperService } from '@aave/contract-helpers'; +import { + ChainId, + VotingMachineDataHelperService, + VotingMachineProposal, +} from '@aave/contract-helpers'; import { getProvider } from 'src/utils/marketsAndNetworksConfig'; const votingPortalSepolia = '0x1079bAa48E56065d43b4344866B187a485cb0A92'; +const votingPortalFuji = '0x4f47EdF2577995aBd7B875Eed75b3F28a20E696F'; const votingMachineSepolia = '0xA1995F1d5A8A247c064a76F336E1C2ecD24Ef0D9'; +const votingMachineFuji = '0x767AA57554690D23D1E0594E8746271C97e1A1e4'; const votingPortalDataHelperSepolia = '0x133210F3fe2deEB34e65deB6861ee3dF87393977'; +const votingPortalDataHelperFuji = '0x133210F3fe2deEB34e65deB6861ee3dF87393977'; + +type VotingChainProposal = { + [chainId: number]: { + [votingPortalAddress: string]: Array<{ + id: number; + snapshotBlockHash: string; + }>; + }; +}; + +// TODO: clean this up, we can pull from the address book +const votingMachineMap: { + [chainId: number]: { [votingPortalAddress: string]: string }; +} = { + [ChainId.sepolia]: { + [votingPortalSepolia]: votingMachineSepolia, + votingPortalDataHelper: votingPortalDataHelperSepolia, + }, + [ChainId.fuji]: { + [votingPortalFuji]: votingMachineFuji, + votingPortalDataHelper: votingPortalDataHelperFuji, + }, +}; export class VotingMachineService { - private getDataHelperService() { - const provider = getProvider(ChainId.sepolia); // TODO: pass in market data - return new VotingMachineDataHelperService(votingPortalDataHelperSepolia, provider); - } - async getProposalsData(proposals: Array<{ id: number; snapshotBlockHash: string }>) { - const dataHelperService = this.getDataHelperService(); - const data = await dataHelperService.getProposalsData( - votingMachineSepolia, - proposals, - '0x0000000000000000000000000000000000000000' + private getDataHelperService(chainId: ChainId) { + const provider = getProvider(chainId); + return new VotingMachineDataHelperService( + votingMachineMap[chainId].votingPortalDataHelper, + provider ); + } + async getProposalsData( + proposals: Array<{ + id: number; + snapshotBlockHash: string; + chainId: number; + votingPortalAddress: string; + }> + ) { + const proposalsByVotingChainId: VotingChainProposal = proposals.reduce((acc, proposal) => { + const chainId = proposal.chainId; + const votingPortalAddress = proposal.votingPortalAddress; + + if (!acc[chainId]) { + acc[chainId] = {}; + } + + if (!acc[chainId][votingPortalAddress]) { + acc[chainId][votingPortalAddress] = []; + } + + acc[chainId][votingPortalAddress].push({ + id: proposal.id, + snapshotBlockHash: proposal.snapshotBlockHash, + }); + return acc; + }, {} as VotingChainProposal); + + console.log('props by chain id', proposalsByVotingChainId); + + const promises: Promise[] = []; + Object.entries(proposalsByVotingChainId).forEach(([chainId, proposals]) => { + const dataHelperService = this.getDataHelperService(+chainId); + Object.entries(proposals).forEach(([votingPortalAddress, proposals]) => { + promises.push( + dataHelperService.getProposalsData( + votingMachineMap[+chainId][votingPortalAddress], + proposals, + '0x0000000000000000000000000000000000000000' + ) + ); + }); + }); + + const data = await Promise.all(promises); + + const merged = data.reduce((acc, proposals) => { + return [...acc, ...proposals]; + }, [] as VotingMachineProposal[]); - console.log(data); - return data; + return merged.sort((a, b) => +b.proposalData.id - +a.proposalData.id); } } From 84a3350c25af032fec5509f38e58975858a1f89d Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Tue, 12 Dec 2023 16:42:21 -0600 Subject: [PATCH 10/84] feat: list styling --- src/modules/governance/ProposalV3ListItem.tsx | 59 ++++++++++++++----- src/modules/governance/ProposalsV3List.tsx | 4 ++ src/modules/governance/StateBadge.tsx | 54 ++++++++++------- 3 files changed, 82 insertions(+), 35 deletions(-) diff --git a/src/modules/governance/ProposalV3ListItem.tsx b/src/modules/governance/ProposalV3ListItem.tsx index 3c1da12dbc..5a8b8601a4 100644 --- a/src/modules/governance/ProposalV3ListItem.tsx +++ b/src/modules/governance/ProposalV3ListItem.tsx @@ -1,17 +1,17 @@ import { AccessLevel, ProposalV3State } from '@aave/contract-helpers'; -import { ShieldExclamationIcon } from '@heroicons/react/outline'; -import { Trans } from '@lingui/macro'; -import { Box, Typography, useTheme } from '@mui/material'; -import { CheckBadge } from 'src/components/primitives/CheckBadge'; +import { Box, Stack, Typography } from '@mui/material'; import { Link, ROUTES } from 'src/components/primitives/Link'; import { useRootStore } from 'src/store/root'; import { GOVERNANCE_PAGE } from 'src/utils/mixPanelEvents'; import { VoteBar } from './VoteBar'; +import { StateBadge } from './StateBadge'; +import { networkConfigs } from 'src/ui-config/networksConfig'; export const ProposalV3ListItem = ({ id, title, + shortDescription, proposalState, forVotes, againstVotes, @@ -20,9 +20,11 @@ export const ProposalV3ListItem = ({ quorumReached, diffReached, accessLevel, + votingChainId, }: { id: string; title: string; + shortDescription: string; proposalState: ProposalV3State; accessLevel: AccessLevel; forVotes: number; @@ -31,12 +33,10 @@ export const ProposalV3ListItem = ({ diffReached: boolean; forPercent: number; againstPercent: number; + votingChainId: number; }) => { - // const { nayPercent, yaePercent, nayVotes, yaeVotes, quorumReached, diffReached } = - // formatProposal(proposal); - const { palette } = useTheme(); const trackEvent = useRootStore((store) => store.trackEvent); - + const network = networkConfigs[votingChainId]; const mightBeStale = false; return ( @@ -52,7 +52,9 @@ export const ProposalV3ListItem = ({ onClick={() => trackEvent(GOVERNANCE_PAGE.VIEW_AIP, { AIP: id })} href={ROUTES.dynamicRenderedProposal(+id)} > - - + + + + network logo + + + Ends in 3 days (TODO) + + + {title} - proposal id: {id} - - {/* + + {shortDescription} + + {/* + */} + /> Quorum} checked={quorumReached} loading={mightBeStale} /> Differential} @@ -92,8 +121,8 @@ export const ProposalV3ListItem = ({ /> ) : null} - - + */} + { type FormattedProposal = { id: string; title: string; + shortDescription: string; proposalState: ProposalV3State; accessLevel: AccessLevel; forVotes: number; @@ -86,6 +87,7 @@ type FormattedProposal = { againstPercent: number; quorumReached: boolean; diffReached: boolean; + votingChainId: number; }; const formatProposal = ( @@ -122,6 +124,7 @@ const formatProposal = ( return { id: proposalData.id, title: proposal.title, + shortDescription: `${proposal.shortDescription} and then some more stuff this is a long short description it should get cut off in the list view but it is not why is it not getting ellipsed test test why why test test borrow gho`, proposalState: proposalData.proposalData.state, forVotes, againstVotes, @@ -130,5 +133,6 @@ const formatProposal = ( quorumReached, diffReached, accessLevel: proposalData.proposalData.accessLevel, + votingChainId: proposalData.votingChainId, }; }; diff --git a/src/modules/governance/StateBadge.tsx b/src/modules/governance/StateBadge.tsx index 157313f93b..f3836f13e5 100644 --- a/src/modules/governance/StateBadge.tsx +++ b/src/modules/governance/StateBadge.tsx @@ -1,21 +1,22 @@ -import { ProposalState } from '@aave/contract-helpers'; +import { ProposalV3State } from '@aave/contract-helpers'; import { alpha, experimental_sx, Skeleton, styled } from '@mui/material'; interface StateBadgeProps { - state: ProposalState; + state: ProposalV3State; loading?: boolean; } const Badge = styled('span')(({ theme, state }) => { const COLOR_MAP = { - [ProposalState.Active]: theme.palette.secondary.main, - [ProposalState.Queued]: theme.palette.warning.main, - [ProposalState.Pending]: theme.palette.info.main, - [ProposalState.Succeeded]: theme.palette.success.main, - [ProposalState.Executed]: theme.palette.success.main, - [ProposalState.Canceled]: theme.palette.primary.light, - [ProposalState.Expired]: theme.palette.primary.light, - [ProposalState.Failed]: theme.palette.error.main, + // TODO: review colors + [ProposalV3State.Null]: theme.palette.secondary.main, + [ProposalV3State.Created]: theme.palette.secondary.main, + [ProposalV3State.Active]: theme.palette.success.main, + [ProposalV3State.Queued]: theme.palette.warning.main, + [ProposalV3State.Executed]: theme.palette.primary.light, + [ProposalV3State.Cancelled]: theme.palette.primary.light, + [ProposalV3State.Expired]: theme.palette.primary.light, + [ProposalV3State.Failed]: theme.palette.error.main, }; const color = COLOR_MAP[state] || '#000'; return experimental_sx({ @@ -28,19 +29,32 @@ const Badge = styled('span')(({ theme, state }) => { borderRadius: 1, display: 'inline-flex', alignItems: 'center', - '&:before': { - content: '""', - width: '6px', - height: '6px', - borderRadius: '50%', - marginRight: '7px', - display: 'inline-block', - backgroundColor: color, - }, }); }); export function StateBadge({ state, loading }: StateBadgeProps) { if (loading) return ; - return {state}; + return {stateToString(state)}; } + +// TODO: maybe move this to utils +const stateToString = (state: ProposalV3State) => { + switch (state) { + case ProposalV3State.Null: + return 'Null'; + case ProposalV3State.Created: + return 'Created'; + case ProposalV3State.Active: + return 'Active'; + case ProposalV3State.Queued: + return 'Queued'; + case ProposalV3State.Executed: + return 'Executed'; + case ProposalV3State.Cancelled: + return 'Cancelled'; + case ProposalV3State.Expired: + return 'Expired'; + case ProposalV3State.Failed: + return 'Failed'; + } +}; From ebcf3a4de374faf82995dd14c97cda63c4505c9c Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Tue, 12 Dec 2023 21:19:25 -0600 Subject: [PATCH 11/84] feat: proposal list UI --- src/modules/governance/ProposalV3ListItem.tsx | 21 +++--- src/modules/governance/ProposalsV3List.tsx | 68 +++++++++++++++++-- src/modules/governance/VoteBar.tsx | 4 +- 3 files changed, 75 insertions(+), 18 deletions(-) diff --git a/src/modules/governance/ProposalV3ListItem.tsx b/src/modules/governance/ProposalV3ListItem.tsx index 5a8b8601a4..a6372dbba3 100644 --- a/src/modules/governance/ProposalV3ListItem.tsx +++ b/src/modules/governance/ProposalV3ListItem.tsx @@ -17,20 +17,14 @@ export const ProposalV3ListItem = ({ againstVotes, forPercent, againstPercent, - quorumReached, - diffReached, - accessLevel, votingChainId, }: { id: string; title: string; shortDescription: string; proposalState: ProposalV3State; - accessLevel: AccessLevel; forVotes: number; againstVotes: number; - quorumReached: boolean; - diffReached: boolean; forPercent: number; againstPercent: number; votingChainId: number; @@ -42,10 +36,10 @@ export const ProposalV3ListItem = ({ return ( `1px solid ${theme.palette.divider}`, }} component={Link} @@ -60,6 +54,7 @@ export const ProposalV3ListItem = ({ xs: '100%', lg: '70%', }, + pr: { xs: 0, lg: 8 }, display: 'flex', flexDirection: 'column', justifyContent: 'space-between', @@ -80,7 +75,7 @@ export const ProposalV3ListItem = ({ - {title} - proposal id: {id} + {title} */} - - + ); }; diff --git a/src/modules/governance/ProposalsV3List.tsx b/src/modules/governance/ProposalsV3List.tsx index 52bcb89e37..ce2254222f 100644 --- a/src/modules/governance/ProposalsV3List.tsx +++ b/src/modules/governance/ProposalsV3List.tsx @@ -6,11 +6,10 @@ import { VotingMachineProposal, } from '@aave/contract-helpers'; import { normalizeBN } from '@aave/math-utils'; -import { LinearProgress, Paper } from '@mui/material'; +import { Box, Paper, Skeleton, Stack } from '@mui/material'; import BigNumber from 'bignumber.js'; import { Fragment, useState } from 'react'; import InfiniteScroll from 'react-infinite-scroller'; -import { NoSearchResults } from 'src/components/NoSearchResults'; import { SubgraphProposal, useGetProposalCount, @@ -21,6 +20,7 @@ import { import { isDifferentialReached, isQuorumReached } from './helpers'; import { ProposalListHeader } from './ProposalListHeader'; import { ProposalV3ListItem } from './ProposalV3ListItem'; +import { VoteBar } from './VoteBar'; export const ProposalsV3List = () => { // TODO @@ -44,7 +44,6 @@ export const ProposalsV3List = () => { handleProposalFilterChange={setProposalFilter} handleSearchQueryChange={(value: string) => console.log(value)} /> - {loading && } {data && config ? ( fetchNextPage()} @@ -67,14 +66,75 @@ export const ProposalsV3List = () => { ))} ))} + {loading && Array.from({ length: 5 }).map((_, i) => )} ) : ( - + Array.from({ length: 5 }).map((_, i) => ) )} ); }; +const ProposalListSkeleton = () => { + return ( + `1px solid ${theme.palette.divider}`, + }} + > + + + + + + + + + + + + + ); +}; + type FormattedProposal = { id: string; title: string; diff --git a/src/modules/governance/VoteBar.tsx b/src/modules/governance/VoteBar.tsx index 0e14530a70..da94557172 100644 --- a/src/modules/governance/VoteBar.tsx +++ b/src/modules/governance/VoteBar.tsx @@ -57,9 +57,9 @@ export function VoteBar({ percent, yae, votes, loading, ...rest }: VoteBarProps) roundDown compact={false} /> - + {/* AAVE - + */} )} {loading ? ( From a65a2ed2790cb9a0e44c1bdf6d8b83b291a6b9df Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Wed, 13 Dec 2023 13:16:20 -0600 Subject: [PATCH 12/84] feat: stub out reps --- src/hooks/governance/useRepresentatives.ts | 12 ++++ src/hooks/useIsContractAddress.ts | 16 +++++ src/modules/governance/ProposalV3ListItem.tsx | 6 +- .../governance/RepresentativesInfoPanel.tsx | 60 +++++++++++++++++++ src/modules/governance/UserGovernanceInfo.tsx | 2 + src/services/GovernanceV3Service.ts | 11 ++++ 6 files changed, 104 insertions(+), 3 deletions(-) create mode 100644 src/hooks/governance/useRepresentatives.ts create mode 100644 src/hooks/useIsContractAddress.ts create mode 100644 src/modules/governance/RepresentativesInfoPanel.tsx diff --git a/src/hooks/governance/useRepresentatives.ts b/src/hooks/governance/useRepresentatives.ts new file mode 100644 index 0000000000..00e4c458d0 --- /dev/null +++ b/src/hooks/governance/useRepresentatives.ts @@ -0,0 +1,12 @@ +import { useQuery } from '@tanstack/react-query'; +import { useSharedDependencies } from 'src/ui-config/SharedDependenciesProvider'; + +export const useRepresentatives = (user: string) => { + const { governanceV3Service } = useSharedDependencies(); + return useQuery({ + queryFn: () => governanceV3Service.getRepresentationData(user), + queryKey: ['representatives', user], + enabled: true, + // staleTime: Infinity, ???? + }); +}; diff --git a/src/hooks/useIsContractAddress.ts b/src/hooks/useIsContractAddress.ts new file mode 100644 index 0000000000..c0a0f3cc4e --- /dev/null +++ b/src/hooks/useIsContractAddress.ts @@ -0,0 +1,16 @@ +import { useQuery } from '@tanstack/react-query'; +import { useRootStore } from 'src/store/root'; +import { getProvider } from 'src/utils/marketsAndNetworksConfig'; + +export const useIsContractAddress = (address: string) => { + const chainId = useRootStore((store) => store.currentChainId); + const provider = getProvider(chainId); + + return useQuery({ + queryFn: () => provider.getCode(address), + queryKey: ['isContractAddress', address], + enabled: true, + staleTime: Infinity, + select: (data) => data !== '0x', + }); +}; diff --git a/src/modules/governance/ProposalV3ListItem.tsx b/src/modules/governance/ProposalV3ListItem.tsx index a6372dbba3..803116e8d0 100644 --- a/src/modules/governance/ProposalV3ListItem.tsx +++ b/src/modules/governance/ProposalV3ListItem.tsx @@ -1,12 +1,12 @@ -import { AccessLevel, ProposalV3State } from '@aave/contract-helpers'; +import { ProposalV3State } from '@aave/contract-helpers'; import { Box, Stack, Typography } from '@mui/material'; import { Link, ROUTES } from 'src/components/primitives/Link'; import { useRootStore } from 'src/store/root'; +import { networkConfigs } from 'src/ui-config/networksConfig'; import { GOVERNANCE_PAGE } from 'src/utils/mixPanelEvents'; -import { VoteBar } from './VoteBar'; import { StateBadge } from './StateBadge'; -import { networkConfigs } from 'src/ui-config/networksConfig'; +import { VoteBar } from './VoteBar'; export const ProposalV3ListItem = ({ id, diff --git a/src/modules/governance/RepresentativesInfoPanel.tsx b/src/modules/governance/RepresentativesInfoPanel.tsx new file mode 100644 index 0000000000..5d43d14f3c --- /dev/null +++ b/src/modules/governance/RepresentativesInfoPanel.tsx @@ -0,0 +1,60 @@ +import { Trans } from '@lingui/macro'; +import { Box, Paper, Stack, Typography } from '@mui/material'; +import { CompactableTypography, CompactMode } from 'src/components/CompactableTypography'; +import { useRepresentatives } from 'src/hooks/governance/useRepresentatives'; +import { useIsContractAddress } from 'src/hooks/useIsContractAddress'; +import { useRootStore } from 'src/store/root'; +import { networkConfigs } from 'src/ui-config/networksConfig'; + +const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000'; +const userWithRepChosen = '0xAd9A211D227d2D9c1B5573f73CDa0284b758Ac0C'; + +export const RepresentativesInfoPanel = () => { + const account = useRootStore((state) => state.account); + + const { data } = useRepresentatives(userWithRepChosen); + console.log(data); + + const { data: isContractAddress, isFetching: fetchingIsContractAddress } = + useIsContractAddress(userWithRepChosen); + + console.log(isContractAddress, fetchingIsContractAddress); + + const representatives = + data?.Representatives.filter((r) => r.representative !== ZERO_ADDRESS) ?? []; + + return ( + + + + Representative + + + + + Selected you as a representative + + + + + Your representative + + {representatives.map((representative, i) => ( + + network logo + + {representative.representative} + + + ))} + + + + + ); +}; diff --git a/src/modules/governance/UserGovernanceInfo.tsx b/src/modules/governance/UserGovernanceInfo.tsx index 9676032692..60083d3b30 100644 --- a/src/modules/governance/UserGovernanceInfo.tsx +++ b/src/modules/governance/UserGovernanceInfo.tsx @@ -4,6 +4,7 @@ import { ConnectWalletButton } from 'src/components/WalletConnection/ConnectWall import { useRootStore } from 'src/store/root'; import { DelegatedInfoPanel } from './DelegatedInfoPanel'; +import { RepresentativesInfoPanel } from './RepresentativesInfoPanel'; import { VotingPowerInfoPanel } from './VotingPowerInfoPanel'; export const UserGovernanceInfo = () => { @@ -13,6 +14,7 @@ export const UserGovernanceInfo = () => { <> + ) : ( diff --git a/src/services/GovernanceV3Service.ts b/src/services/GovernanceV3Service.ts index fbeb8e182e..6dce67d112 100644 --- a/src/services/GovernanceV3Service.ts +++ b/src/services/GovernanceV3Service.ts @@ -8,6 +8,7 @@ import { getProvider } from 'src/utils/marketsAndNetworksConfig'; const govCoreAddressSepolia = '0xc4ABF658C3Dda84225cF8A07d7D5Bb6Aa41d9E59'; const govDataHelperSepolia = '0x863f9De2f82AB502612E8B7d4f4863c8535cb8cA'; +const votingChainIds = [ChainId.sepolia, ChainId.fuji]; export class GovernanceV3Service { private getDataHelperService() { @@ -44,4 +45,14 @@ export class GovernanceV3Service { const coreService = this.getCoreService(); return coreService.getProposalCount(); } + + async getRepresentationData(user: string) { + const dataHelperService = this.getDataHelperService(); + const representationData = await dataHelperService.getRepresentationData( + govCoreAddressSepolia, + user, + votingChainIds + ); + return representationData; + } } From a704d48694babf6bd8bf5b9072456c7d027588dc Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Wed, 13 Dec 2023 16:54:37 -0600 Subject: [PATCH 13/84] feat: stub out rep modal --- package.json | 2 +- pages/governance/index.governance.tsx | 7 ++++ .../GovRepresentativesActions.tsx | 34 +++++++++++++++++++ .../GovRepresentativesModal.tsx | 13 +++++++ .../GovRepresentativesModalContent.tsx | 3 ++ src/hooks/useModal.tsx | 6 ++++ .../governance/RepresentativesInfoPanel.tsx | 12 ++++++- src/services/GovernanceV3Service.ts | 8 +++++ yarn.lock | 8 ++--- 9 files changed, 87 insertions(+), 6 deletions(-) create mode 100644 src/components/transactions/GovRepresentatives/GovRepresentativesActions.tsx create mode 100644 src/components/transactions/GovRepresentatives/GovRepresentativesModal.tsx create mode 100644 src/components/transactions/GovRepresentatives/GovRepresentativesModalContent.tsx diff --git a/package.json b/package.json index 71b8e4adce..38c5355fbe 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "test:coverage": "jest --coverage" }, "dependencies": { - "@aave/contract-helpers": "1.21.2-1433358e2652d0d14a3119b90fca41cad59d08c9.0", + "@aave/contract-helpers": "1.21.2-d0266e10411329ea9ae0ad5e4793c390d5eca701.0", "@aave/math-utils": "1.21.1", "@bgd-labs/aave-address-book": "^2.10.0", "@emotion/cache": "11.10.3", diff --git a/pages/governance/index.governance.tsx b/pages/governance/index.governance.tsx index ed54b56a2a..4752b9a2cf 100644 --- a/pages/governance/index.governance.tsx +++ b/pages/governance/index.governance.tsx @@ -20,6 +20,12 @@ const GovDelegationModal = dynamic(() => ) ); +const GovRepresentativesModal = dynamic(() => + import('../../src/components/transactions/GovRepresentatives/GovRepresentativesModal').then( + (module) => module.GovRepresentativesModal + ) +); + export const getStaticProps = async () => { // const queryClient = new QueryClient(); // await queryClient.prefetchQuery({ queryKey: ['proposals'], queryFn: () => getProposals }); @@ -132,6 +138,7 @@ Governance.getLayout = function getLayout(page: React.ReactElement) { {page} + ); }; diff --git a/src/components/transactions/GovRepresentatives/GovRepresentativesActions.tsx b/src/components/transactions/GovRepresentatives/GovRepresentativesActions.tsx new file mode 100644 index 0000000000..b8cb0f5ec5 --- /dev/null +++ b/src/components/transactions/GovRepresentatives/GovRepresentativesActions.tsx @@ -0,0 +1,34 @@ +import { ChainId } from '@aave/contract-helpers'; +import { useModalContext } from 'src/hooks/useModal'; +import { useRootStore } from 'src/store/root'; +import { useSharedDependencies } from 'src/ui-config/SharedDependenciesProvider'; + +import { TxActionsWrapper } from '../TxActionsWrapper'; + +export const GovRepresentativesActions = () => { + const { mainTxState } = useModalContext(); + const { governanceV3Service } = useSharedDependencies(); + const account = useRootStore((state) => state.account); + + const action = async () => { + console.log('TODO'); + const populatedTx = governanceV3Service.updateRepresentativesForChain(account, [ + { chainId: ChainId.sepolia, representative: 'TODO' }, + ]); + + console.log(populatedTx); + }; + + return ( + + ); +}; diff --git a/src/components/transactions/GovRepresentatives/GovRepresentativesModal.tsx b/src/components/transactions/GovRepresentatives/GovRepresentativesModal.tsx new file mode 100644 index 0000000000..5c2c948925 --- /dev/null +++ b/src/components/transactions/GovRepresentatives/GovRepresentativesModal.tsx @@ -0,0 +1,13 @@ +import { BasicModal } from 'src/components/primitives/BasicModal'; +import { ModalType, useModalContext } from 'src/hooks/useModal'; + +import { GovRepresentativesContent } from './GovRepresentativesModalContent'; + +export const GovRepresentativesModal = () => { + const { type, close } = useModalContext(); + return ( + + + + ); +}; diff --git a/src/components/transactions/GovRepresentatives/GovRepresentativesModalContent.tsx b/src/components/transactions/GovRepresentatives/GovRepresentativesModalContent.tsx new file mode 100644 index 0000000000..17bea04703 --- /dev/null +++ b/src/components/transactions/GovRepresentatives/GovRepresentativesModalContent.tsx @@ -0,0 +1,3 @@ +export const GovRepresentativesContent = () => { + return <>hi; +}; diff --git a/src/hooks/useModal.tsx b/src/hooks/useModal.tsx index 2814ddb1d2..196dd2f8c8 100644 --- a/src/hooks/useModal.tsx +++ b/src/hooks/useModal.tsx @@ -28,6 +28,7 @@ export enum ModalType { RevokeGovDelegation, StakeRewardsClaimRestake, Switch, + GovRepresentatives, } export interface ModalArgsType { @@ -101,6 +102,7 @@ export interface ModalContextType { openV3Migration: () => void; openGovVote: (proposalId: number, support: boolean, power: string) => void; openSwitch: (underlyingAsset?: string) => void; + openGovRepresentatives: () => void; close: () => void; type?: ModalType; args: T; @@ -298,6 +300,10 @@ export const ModalContextProvider: React.FC = ({ children }) => { setType(ModalType.GovVote); setArgs({ proposalId, support, power }); }, + openGovRepresentatives: () => { + trackEvent(GENERAL.OPEN_MODAL, { modal: 'Representatives' }); + setType(ModalType.GovRepresentatives); + }, openV3Migration: () => { trackEvent(GENERAL.OPEN_MODAL, { modal: 'V2->V3 Migration' }); setType(ModalType.V3Migration); diff --git a/src/modules/governance/RepresentativesInfoPanel.tsx b/src/modules/governance/RepresentativesInfoPanel.tsx index 5d43d14f3c..50f479e8ad 100644 --- a/src/modules/governance/RepresentativesInfoPanel.tsx +++ b/src/modules/governance/RepresentativesInfoPanel.tsx @@ -1,8 +1,9 @@ import { Trans } from '@lingui/macro'; -import { Box, Paper, Stack, Typography } from '@mui/material'; +import { Box, Button, Paper, Stack, Typography } from '@mui/material'; import { CompactableTypography, CompactMode } from 'src/components/CompactableTypography'; import { useRepresentatives } from 'src/hooks/governance/useRepresentatives'; import { useIsContractAddress } from 'src/hooks/useIsContractAddress'; +import { useModalContext } from 'src/hooks/useModal'; import { useRootStore } from 'src/store/root'; import { networkConfigs } from 'src/ui-config/networksConfig'; @@ -10,6 +11,7 @@ const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000'; const userWithRepChosen = '0xAd9A211D227d2D9c1B5573f73CDa0284b758Ac0C'; export const RepresentativesInfoPanel = () => { + const { openGovRepresentatives } = useModalContext(); const account = useRootStore((state) => state.account); const { data } = useRepresentatives(userWithRepChosen); @@ -55,6 +57,14 @@ export const RepresentativesInfoPanel = () => { + ); }; diff --git a/src/services/GovernanceV3Service.ts b/src/services/GovernanceV3Service.ts index 6dce67d112..817ced9a2c 100644 --- a/src/services/GovernanceV3Service.ts +++ b/src/services/GovernanceV3Service.ts @@ -55,4 +55,12 @@ export class GovernanceV3Service { ); return representationData; } + + updateRepresentativesForChain( + user: string, + representatives: Array<{ chainId: ChainId; representative: string }> + ) { + const coreService = this.getCoreService(); + return coreService.updateRepresentativesForChain(user, representatives); + } } diff --git a/yarn.lock b/yarn.lock index e2c9b56b4c..86830d7993 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,10 +2,10 @@ # yarn lockfile v1 -"@aave/contract-helpers@1.21.2-1433358e2652d0d14a3119b90fca41cad59d08c9.0": - version "1.21.2-1433358e2652d0d14a3119b90fca41cad59d08c9.0" - resolved "https://registry.yarnpkg.com/@aave/contract-helpers/-/contract-helpers-1.21.2-1433358e2652d0d14a3119b90fca41cad59d08c9.0.tgz#5a9027b059d0154b7c586c79376bc4bddf668eb2" - integrity sha512-EOTqG1XcD/pmwxNcjab9tNvUJTYDEttl074pRBEvuyRCI53GIMpg7q0ot33Yg7SwTXJMxQK4LFlrHiq+HiJ1UA== +"@aave/contract-helpers@1.21.2-d0266e10411329ea9ae0ad5e4793c390d5eca701.0": + version "1.21.2-d0266e10411329ea9ae0ad5e4793c390d5eca701.0" + resolved "https://registry.yarnpkg.com/@aave/contract-helpers/-/contract-helpers-1.21.2-d0266e10411329ea9ae0ad5e4793c390d5eca701.0.tgz#35a93469d4c567e81d2fd04bc31a32f2908dcfe0" + integrity sha512-BzU3aW98cnd6Hxetk6nV4nwBgNavZs5kueoRkPJ5ZqwcqrZOj+9xD4fAFXqazh5ynf62LlpYvQxQsLq50IJSnw== dependencies: isomorphic-unfetch "^3.1.0" From 8edabaf5493c452ad070210839349115bb035a4f Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Wed, 13 Dec 2023 20:51:25 -0600 Subject: [PATCH 14/84] feat: scaffold out rep modal --- .../GovRepresentativesActions.tsx | 63 +++++++++++++++---- .../GovRepresentativesModalContent.tsx | 35 ++++++++++- .../governance/RepresentativesInfoPanel.tsx | 18 +++--- 3 files changed, 95 insertions(+), 21 deletions(-) diff --git a/src/components/transactions/GovRepresentatives/GovRepresentativesActions.tsx b/src/components/transactions/GovRepresentatives/GovRepresentativesActions.tsx index b8cb0f5ec5..12b37c4349 100644 --- a/src/components/transactions/GovRepresentatives/GovRepresentativesActions.tsx +++ b/src/components/transactions/GovRepresentatives/GovRepresentativesActions.tsx @@ -1,34 +1,73 @@ import { ChainId } from '@aave/contract-helpers'; +import { Trans } from '@lingui/macro'; import { useModalContext } from 'src/hooks/useModal'; +import { useWeb3Context } from 'src/libs/hooks/useWeb3Context'; import { useRootStore } from 'src/store/root'; +import { getErrorTextFromError, TxAction } from 'src/ui-config/errorMapping'; import { useSharedDependencies } from 'src/ui-config/SharedDependenciesProvider'; import { TxActionsWrapper } from '../TxActionsWrapper'; -export const GovRepresentativesActions = () => { - const { mainTxState } = useModalContext(); +export const GovRepresentativesActions = ({ + blocked, + isWrongNetwork, +}: { + blocked: boolean; + isWrongNetwork: boolean; +}) => { + const { mainTxState, setMainTxState, setTxError } = useModalContext(); const { governanceV3Service } = useSharedDependencies(); - const account = useRootStore((state) => state.account); + const { sendTx } = useWeb3Context(); + const [account, estimateGasLimit, addTransaction] = useRootStore((state) => [ + state.account, + state.estimateGasLimit, + state.addTransaction, + ]); const action = async () => { - console.log('TODO'); - const populatedTx = governanceV3Service.updateRepresentativesForChain(account, [ - { chainId: ChainId.sepolia, representative: 'TODO' }, - ]); + setMainTxState({ ...mainTxState, loading: true }); - console.log(populatedTx); + try { + let populatedTx = governanceV3Service.updateRepresentativesForChain(account, [ + { chainId: ChainId.sepolia, representative: '0xf0aF78eFcC9e307884738c8d8D2B931ddee901f5' }, + ]); + + populatedTx = await estimateGasLimit(populatedTx); + const response = await sendTx(populatedTx); + await response.wait(1); + + setMainTxState({ + txHash: response.hash, + loading: false, + success: true, + }); + + addTransaction(response.hash, { + action: 'change representative', + txState: 'success', + }); + + // TODO: invalidate queries + } catch (error) { + const parsedError = getErrorTextFromError(error, TxAction.GAS_ESTIMATION, false); + setTxError(parsedError); + setMainTxState({ + txHash: undefined, + loading: false, + }); + } }; return ( Set Representatives} + actionInProgressText={Setting Representatives} + isWrongNetwork={isWrongNetwork} /> ); }; diff --git a/src/components/transactions/GovRepresentatives/GovRepresentativesModalContent.tsx b/src/components/transactions/GovRepresentatives/GovRepresentativesModalContent.tsx index 17bea04703..6fae2dbfa2 100644 --- a/src/components/transactions/GovRepresentatives/GovRepresentativesModalContent.tsx +++ b/src/components/transactions/GovRepresentatives/GovRepresentativesModalContent.tsx @@ -1,3 +1,36 @@ +import { useWeb3Context } from 'src/libs/hooks/useWeb3Context'; +import { useRootStore } from 'src/store/root'; +import { governanceConfig } from 'src/ui-config/governanceConfig'; +import { getNetworkConfig } from 'src/utils/marketsAndNetworksConfig'; + +import { TxModalTitle } from '../FlowCommons/TxModalTitle'; +import { ChangeNetworkWarning } from '../Warnings/ChangeNetworkWarning'; +import { GovRepresentativesActions } from './GovRepresentativesActions'; + export const GovRepresentativesContent = () => { - return <>hi; + const { chainId: connectedChainId, readOnlyModeAddress } = useWeb3Context(); + const [currentNetworkConfig, currentChainId] = useRootStore((state) => [ + state.currentNetworkConfig, + state.currentChainId, + ]); + + // is Network mismatched + const govChain = + currentNetworkConfig.isFork && + currentNetworkConfig.underlyingChainId === governanceConfig.chainId + ? currentChainId + : governanceConfig.chainId; + const isWrongNetwork = connectedChainId !== govChain; + + const networkConfig = getNetworkConfig(govChain); + + return ( + <> + + {isWrongNetwork && !readOnlyModeAddress && ( + + )} + + + ); }; diff --git a/src/modules/governance/RepresentativesInfoPanel.tsx b/src/modules/governance/RepresentativesInfoPanel.tsx index 50f479e8ad..5a0b5dfa8e 100644 --- a/src/modules/governance/RepresentativesInfoPanel.tsx +++ b/src/modules/governance/RepresentativesInfoPanel.tsx @@ -57,14 +57,16 @@ export const RepresentativesInfoPanel = () => { - + + + ); }; From 7053b247653ec85dad50807ed159cf57b480a9b8 Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Wed, 13 Dec 2023 21:05:24 -0600 Subject: [PATCH 15/84] feat: testing rep tx --- pages/_app.page.tsx | 79 +++++++++---------- .../GovRepresentativesActions.tsx | 6 +- .../GovRepresentativesModalContent.tsx | 2 +- src/hooks/governance/useRepresentatives.ts | 5 +- .../governance/RepresentativesInfoPanel.tsx | 4 +- src/ui-config/queries.ts | 5 ++ 6 files changed, 54 insertions(+), 47 deletions(-) diff --git a/pages/_app.page.tsx b/pages/_app.page.tsx index 7233b686fb..dbdeb70679 100644 --- a/pages/_app.page.tsx +++ b/pages/_app.page.tsx @@ -2,7 +2,7 @@ import '/public/fonts/inter/inter.css'; import '/src/styles/variables.css'; import { CacheProvider, EmotionCache } from '@emotion/react'; -import { Hydrate, QueryClient, QueryClientProvider } from '@tanstack/react-query'; +import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { ReactQueryDevtools } from '@tanstack/react-query-devtools'; import { Web3ReactProvider } from '@web3-react/core'; import { providers } from 'ethers'; @@ -10,7 +10,7 @@ import { NextPage } from 'next'; import { AppProps } from 'next/app'; import dynamic from 'next/dynamic'; import Head from 'next/head'; -import { ReactNode, useEffect, useState } from 'react'; +import { ReactNode, useEffect } from 'react'; import { AddressBlocked } from 'src/components/AddressBlocked'; import { Meta } from 'src/components/Meta'; import { TransactionEventHandler } from 'src/components/TransactionEventHandler'; @@ -94,6 +94,8 @@ function getWeb3Library(provider: any): providers.Web3Provider { return library; } +export const queryClient = new QueryClient(); + interface MyAppProps extends AppProps { emotionCache?: EmotionCache; Component: NextPageWithLayout; @@ -102,7 +104,6 @@ export default function MyApp(props: MyAppProps) { const { Component, emotionCache = clientSideEmotionCache, pageProps } = props; const getLayout = Component.getLayout ?? ((page: ReactNode) => page); const initializeMixpanel = useRootStore((store) => store.initializeMixpanel); - const [queryClient] = useState(() => new QueryClient()); const MIXPANEL_TOKEN = process.env.NEXT_PUBLIC_MIXPANEL; useEffect(() => { @@ -127,43 +128,41 @@ export default function MyApp(props: MyAppProps) { /> - - - - - - - - - - - - {getLayout()} - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + {getLayout()} + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/components/transactions/GovRepresentatives/GovRepresentativesActions.tsx b/src/components/transactions/GovRepresentatives/GovRepresentativesActions.tsx index 12b37c4349..4749d43f16 100644 --- a/src/components/transactions/GovRepresentatives/GovRepresentativesActions.tsx +++ b/src/components/transactions/GovRepresentatives/GovRepresentativesActions.tsx @@ -1,9 +1,11 @@ import { ChainId } from '@aave/contract-helpers'; import { Trans } from '@lingui/macro'; +import { queryClient } from 'pages/_app.page'; import { useModalContext } from 'src/hooks/useModal'; import { useWeb3Context } from 'src/libs/hooks/useWeb3Context'; import { useRootStore } from 'src/store/root'; import { getErrorTextFromError, TxAction } from 'src/ui-config/errorMapping'; +import { queryKeysFactory } from 'src/ui-config/queries'; import { useSharedDependencies } from 'src/ui-config/SharedDependenciesProvider'; import { TxActionsWrapper } from '../TxActionsWrapper'; @@ -47,7 +49,9 @@ export const GovRepresentativesActions = ({ txState: 'success', }); - // TODO: invalidate queries + queryClient.invalidateQueries({ + queryKey: queryKeysFactory.governanceRepresentatives(account), + }); } catch (error) { const parsedError = getErrorTextFromError(error, TxAction.GAS_ESTIMATION, false); setTxError(parsedError); diff --git a/src/components/transactions/GovRepresentatives/GovRepresentativesModalContent.tsx b/src/components/transactions/GovRepresentatives/GovRepresentativesModalContent.tsx index 6fae2dbfa2..1281f0d92e 100644 --- a/src/components/transactions/GovRepresentatives/GovRepresentativesModalContent.tsx +++ b/src/components/transactions/GovRepresentatives/GovRepresentativesModalContent.tsx @@ -30,7 +30,7 @@ export const GovRepresentativesContent = () => { {isWrongNetwork && !readOnlyModeAddress && ( )} - + ); }; diff --git a/src/hooks/governance/useRepresentatives.ts b/src/hooks/governance/useRepresentatives.ts index 00e4c458d0..2221c0f857 100644 --- a/src/hooks/governance/useRepresentatives.ts +++ b/src/hooks/governance/useRepresentatives.ts @@ -5,8 +5,7 @@ export const useRepresentatives = (user: string) => { const { governanceV3Service } = useSharedDependencies(); return useQuery({ queryFn: () => governanceV3Service.getRepresentationData(user), - queryKey: ['representatives', user], - enabled: true, - // staleTime: Infinity, ???? + queryKey: ['governance', user, 'representatives'], + enabled: !!user, }); }; diff --git a/src/modules/governance/RepresentativesInfoPanel.tsx b/src/modules/governance/RepresentativesInfoPanel.tsx index 5a0b5dfa8e..35b20e31ab 100644 --- a/src/modules/governance/RepresentativesInfoPanel.tsx +++ b/src/modules/governance/RepresentativesInfoPanel.tsx @@ -14,11 +14,11 @@ export const RepresentativesInfoPanel = () => { const { openGovRepresentatives } = useModalContext(); const account = useRootStore((state) => state.account); - const { data } = useRepresentatives(userWithRepChosen); + const { data } = useRepresentatives(account); console.log(data); const { data: isContractAddress, isFetching: fetchingIsContractAddress } = - useIsContractAddress(userWithRepChosen); + useIsContractAddress(account); console.log(isContractAddress, fetchingIsContractAddress); diff --git a/src/ui-config/queries.ts b/src/ui-config/queries.ts index 0864baef1c..9d6694bb74 100644 --- a/src/ui-config/queries.ts +++ b/src/ui-config/queries.ts @@ -38,6 +38,11 @@ export const queryKeysFactory = { blockNumber, 'votingPowerAt', ], + governanceRepresentatives: (user: string) => [ + ...queryKeysFactory.governance, + ...queryKeysFactory.user(user), + 'representatives', + ], governanceTokens: (user: string, marketData: MarketDataType) => [ ...queryKeysFactory.governance, ...queryKeysFactory.user(user), From af4d69ca9194dc24ed8359ef069d3610060003bb Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Wed, 13 Dec 2023 21:17:18 -0600 Subject: [PATCH 16/84] fix: list style --- src/modules/governance/ProposalV3ListItem.tsx | 7 +++---- src/modules/governance/VoteBar.tsx | 13 ++++++++----- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/modules/governance/ProposalV3ListItem.tsx b/src/modules/governance/ProposalV3ListItem.tsx index 803116e8d0..3274174be9 100644 --- a/src/modules/governance/ProposalV3ListItem.tsx +++ b/src/modules/governance/ProposalV3ListItem.tsx @@ -31,7 +31,6 @@ export const ProposalV3ListItem = ({ }) => { const trackEvent = useRootStore((store) => store.trackEvent); const network = networkConfigs[votingChainId]; - const mightBeStale = false; return ( - - + + ); diff --git a/src/modules/governance/VoteBar.tsx b/src/modules/governance/VoteBar.tsx index da94557172..a952e5967b 100644 --- a/src/modules/governance/VoteBar.tsx +++ b/src/modules/governance/VoteBar.tsx @@ -34,9 +34,10 @@ interface VoteBarProps extends BoxProps { percent: number; yae?: boolean; loading?: boolean; + compact?: boolean; } -export function VoteBar({ percent, yae, votes, loading, ...rest }: VoteBarProps) { +export function VoteBar({ percent, yae, votes, loading, compact, ...rest }: VoteBarProps) { return ( @@ -55,11 +56,13 @@ export function VoteBar({ percent, yae, votes, loading, ...rest }: VoteBarProps) sx={{ mr: 1 }} variant="secondary14" roundDown - compact={false} + compact={compact} /> - {/* - AAVE - */} + {!compact && ( + + AAVE + + )} )} {loading ? ( From bd2f110dbeb7d5adf7fe42ca5cedb6b4eab74222 Mon Sep 17 00:00:00 2001 From: Joaquin Battilana Date: Fri, 15 Dec 2023 02:56:18 -0300 Subject: [PATCH 17/84] feat: added governance v3 to proposal detials page --- .../proposal/[proposalId].governance.tsx | 654 +----------------- .../governance/proposal/index.governance.tsx | 57 -- src/components/primitives/Link.tsx | 4 +- src/hooks/governance/useProposal.ts | 79 +++ src/hooks/governance/useProposalVotes.ts | 20 +- src/modules/governance/ProposalsV3List.tsx | 76 +- .../governance/proposal/ProposalDetails.tsx | 183 +++++ .../governance/proposal/ProposalOverview.tsx | 224 ++++++ src/modules/governance/proposal/VoteInfo.tsx | 37 +- .../governance/proposal/VotersList.tsx | 6 +- .../proposal/VotersListContainer.tsx | 74 +- .../governance/proposal/VotersListItem.tsx | 26 +- .../governance/proposal/VotersListModal.tsx | 24 +- .../governance/proposal/VotingResults.tsx | 178 +++++ .../governance/utils/formatProposal.ts | 66 +- 15 files changed, 848 insertions(+), 860 deletions(-) delete mode 100644 pages/governance/proposal/index.governance.tsx create mode 100644 src/hooks/governance/useProposal.ts create mode 100644 src/modules/governance/proposal/ProposalDetails.tsx create mode 100644 src/modules/governance/proposal/ProposalOverview.tsx create mode 100644 src/modules/governance/proposal/VotingResults.tsx diff --git a/pages/governance/proposal/[proposalId].governance.tsx b/pages/governance/proposal/[proposalId].governance.tsx index 5815fabecc..8d53a1ab96 100644 --- a/pages/governance/proposal/[proposalId].governance.tsx +++ b/pages/governance/proposal/[proposalId].governance.tsx @@ -1,58 +1,24 @@ -import { normalize } from '@aave/math-utils'; -import { DownloadIcon, ExternalLinkIcon } from '@heroicons/react/solid'; -import { Trans } from '@lingui/macro'; -import { Twitter } from '@mui/icons-material'; import { - Box, - Button, Grid, - Paper, - Skeleton, - styled, - SvgIcon, - Table, - TableBody, - TableCell, - TableContainer, - TableHead, - TableRow, - Typography, - useMediaQuery, - useTheme, } from '@mui/material'; import dayjs from 'dayjs'; import dynamic from 'next/dynamic'; -import { useEffect, useState } from 'react'; -import ReactMarkdown from 'react-markdown'; -import remarkGfm from 'remark-gfm'; import { Meta } from 'src/components/Meta'; -import { CheckBadge } from 'src/components/primitives/CheckBadge'; -import { FormattedNumber } from 'src/components/primitives/FormattedNumber'; -import { Link } from 'src/components/primitives/Link'; -import { Row } from 'src/components/primitives/Row'; -import { Warning } from 'src/components/primitives/Warning'; -import { usePolling } from 'src/hooks/usePolling'; import { MainLayout } from 'src/layouts/MainLayout'; -import { FormattedProposalTime } from 'src/modules/governance/FormattedProposalTime'; import { ProposalTopPanel } from 'src/modules/governance/proposal/ProposalTopPanel'; import { VoteInfo } from 'src/modules/governance/proposal/VoteInfo'; -import { VotersListContainer } from 'src/modules/governance/proposal/VotersListContainer'; -import { StateBadge } from 'src/modules/governance/StateBadge'; import { - enhanceProposalWithTimes, - formatProposal, + formatProposalV3 } from 'src/modules/governance/utils/formatProposal'; -import { governanceContract } from 'src/modules/governance/utils/governanceProvider'; -import { isProposalStateImmutable } from 'src/modules/governance/utils/immutableStates'; -import { VoteBar } from 'src/modules/governance/VoteBar'; -import { Ipfs, IpfsType } from 'src/static-build/ipfs'; -import { CustomProposalType, Proposal } from 'src/static-build/proposal'; -import { useRootStore } from 'src/store/root'; -import { governanceConfig } from 'src/ui-config/governanceConfig'; -import { GENERAL } from 'src/utils/mixPanelEvents'; import { ContentContainer } from '../../../src/components/ContentContainer'; -import { LensIcon } from '../../../src/components/icons/LensIcon'; +import { useProposal } from 'src/hooks/governance/useProposal'; +import { useRouter } from 'next/router'; +import { ProposalOverview } from 'src/modules/governance/proposal/ProposalOverview'; +import { useGetVotingConfig } from 'src/hooks/governance/useProposals'; +import { useProposalVotes } from 'src/hooks/governance/useProposalVotes'; +import { VotingResults } from 'src/modules/governance/proposal/VotingResults'; +import { ProposalDetails } from 'src/modules/governance/proposal/ProposalDetails'; const GovVoteModal = dynamic(() => import('../../../src/components/transactions/GovVote/GovVoteModal').then( @@ -60,123 +26,24 @@ const GovVoteModal = dynamic(() => ) ); -export async function getStaticPaths() { - const ProposalFetcher = new Proposal(); - const paths = [...Array(ProposalFetcher.count()).keys()].map((id) => ({ - params: { proposalId: id.toString() }, - })); +export default function ProposalPage() { + const { query } = useRouter() + const proposalId = query.proposalId as string || "0" + const { data: proposal, isLoading: newProposalLoading, error: newProposalError } = useProposal(+proposalId); + const { data: constants, isLoading: constantsLoading } = useGetVotingConfig() + const proposalVotes = useProposalVotes({ proposalId }) - return { paths, fallback: false }; -} - -export async function getStaticProps({ params }: { params: { proposalId: string } }) { - const IpfsFetcher = new Ipfs(); - const ProposalFetcher = new Proposal(); - // const VoteFetcher = new Vote(); - - const proposal = ProposalFetcher.get(Number(params.proposalId)); - return { - props: { - proposal, - ipfs: IpfsFetcher.get(Number(params.proposalId)), - prerendered: true, - // votes: await VoteFetcher.get( - // Number(params.proposalId), - // proposal.startBlock, - // proposal.endBlock - // ), - }, - }; -} - -interface ProposalPageProps { - ipfs?: IpfsType; - proposal?: CustomProposalType; - prerendered?: boolean; - metadataError?: boolean; -} - -const CenterAlignedImage = styled('img')({ - display: 'block', - margin: '0 auto', - maxWidth: '100%', -}); - -const formatTime = (timestamp: number): string => - dayjs.unix(timestamp).format('D MMM YYYY, HH:mm UTC Z'); - -const StyledLink = styled('a')({ - color: 'inherit', -}); - -export default function ProposalPage({ - proposal: initialProposal, - ipfs, - prerendered, - metadataError = false, -}: ProposalPageProps) { - const [url, setUrl] = useState(''); - const [proposal, setProposal] = useState(initialProposal); - const [loading, setLoading] = useState(!proposal || !isProposalStateImmutable(proposal)); - const { breakpoints, palette } = useTheme(); - const lgUp = useMediaQuery(breakpoints.up('lg')); - const mightBeStale = !proposal || !isProposalStateImmutable(proposal); - const trackEvent = useRootStore((store) => store.trackEvent); - - async function updateProposal() { - if (!proposal) return; - const { values, ...rest } = await governanceContract.getProposal({ proposalId: proposal.id }); - setProposal(await enhanceProposalWithTimes(rest)); - setLoading(false); - } + const loading = newProposalLoading || constantsLoading - usePolling(updateProposal, loading ? 5000 : 30000, !mightBeStale, []); - - // seed when no ssg - useEffect(() => { - if (!proposal && initialProposal) setProposal(initialProposal); - setLoading(false); - }, [initialProposal]); - - useEffect(() => { - setUrl(window.location.href); - }, []); - - const { - yaeVotes, - yaePercent, - nayPercent, - nayVotes, - diffReached, - quorumReached, - requiredDiff, - minQuorumVotes, - diff, - } = proposal - ? formatProposal(proposal) - : { - yaeVotes: 0, - yaePercent: 0, - nayPercent: 0, - nayVotes: 0, - diffReached: false, - quorumReached: false, - minQuorumVotes: 0, - requiredDiff: 0, - diff: 0, - }; - - const proposalHasExpired: boolean = proposal - ? dayjs() > dayjs.unix(proposal.expirationTimestamp) - : false; + const formattedProposal = proposal && constants && formatProposalV3(proposal.proposal, proposal.proposalData, constants, proposal.votingMachineData) return ( <> - {ipfs && ( + {proposal && ( )} @@ -184,485 +51,18 @@ export default function ProposalPage({ - - - Proposal overview - - {metadataError ? ( - - - An error has occurred fetching the proposal metadata from IPFS. - - - ) : ( - - - {ipfs?.title || } - - {proposal && ipfs ? ( - - - - - - {!loading && ( - - )} - - - - - - - ) : ( - - - - )} - {ipfs ? ( - - - - ); - }, - tr({ node, ...props }) { - return ( - - ); - }, - td({ children, style }) { - return {children}; - }, - th({ children, style }) { - return {children}; - }, - tbody({ children }) { - return {children}; - }, - thead({ node, ...props }) { - return ; - }, - img({ src: _src, alt }) { - if (!_src) return null; - const src = /^\.\.\//.test(_src) - ? _src.replace( - '../', - 'https://raw.githubusercontent.com/aave/aip/main/content/' - ) - : _src; - return ; - }, - a({ node, ...rest }) { - return ; - }, - h2({ node, ...rest }) { - return ( - - ); - }, - p({ node, ...rest }) { - return ; - }, - }} - > - {ipfs.description} - - ) : ( - <> - - - - - - )} - - )} - + - {proposal && } - - - Voting results - - {proposal ? ( - <> - - - - State} - sx={{ height: 48 }} - captionVariant="description" - > - - - - - - - - Quorum} - sx={{ height: 48 }} - captionVariant="description" - > - Reached : Not reached} - checked={quorumReached} - sx={{ height: 48 }} - variant="description" - /> - - - Current votes - - Required - - - } - sx={{ height: 48 }} - captionVariant="description" - > - - - - - - Differential} - sx={{ height: 48 }} - captionVariant="description" - > - Reached : Not reached} - checked={diffReached} - sx={{ height: 48 }} - variant="description" - /> - - - Current differential - - Required - - - } - sx={{ height: 48 }} - captionVariant="description" - > - - - - - - Total voting power} - sx={{ height: 48 }} - captionVariant="description" - > - - - - ) : ( - <> - - - - )} - - - - Proposal details - - {proposal ? ( - <> - - Created - - Block - - - } - sx={{ height: 48 }} - captionVariant="description" - > - - {formatTime(proposal.creationTimestamp)} - - {proposal.proposalCreated} - - - - - Started - - Block - - - } - sx={{ height: 48 }} - captionVariant="description" - > - - {formatTime(proposal.startTimestamp)} - - {proposal.startBlock} - - - - {proposalHasExpired ? ( - - Ended - - Block - - - } - sx={{ height: 48 }} - captionVariant="description" - > - - {formatTime(proposal.expirationTimestamp)} - - {proposal.endBlock} - - - - ) : ( - - Ends - - Block - - - } - sx={{ height: 48 }} - captionVariant="description" - > - - {formatTime(proposal.expirationTimestamp)} - - {proposal.endBlock} - - - - )} - {proposal.executed && ( - Executed} - sx={{ height: 48 }} - captionVariant="description" - > - {formatTime(proposal.executionTime)} - - )} - {ipfs?.author && ( - Author} - sx={{ height: 48 }} - captionVariant="description" - > - - {ipfs.author} - - - )} - - {ipfs?.discussions && ( - - )} - {prerendered && ( // only render the button for prerendered proposals as fro them we can be sure ci already ran - - )} - - - ) : ( + {proposal && formattedProposal && + ( <> - + + + { /* */} - )} - + ) + } diff --git a/pages/governance/proposal/index.governance.tsx b/pages/governance/proposal/index.governance.tsx deleted file mode 100644 index 5904bb916d..0000000000 --- a/pages/governance/proposal/index.governance.tsx +++ /dev/null @@ -1,57 +0,0 @@ -import dynamic from 'next/dynamic'; -import { useRouter } from 'next/router'; -import { useEffect, useState } from 'react'; -import { MainLayout } from 'src/layouts/MainLayout'; -import { enhanceProposalWithTimes } from 'src/modules/governance/utils/formatProposal'; -import { getProposalMetadata } from 'src/modules/governance/utils/getProposalMetadata'; -import { governanceContract } from 'src/modules/governance/utils/governanceProvider'; -import { IpfsType } from 'src/static-build/ipfs'; -import { CustomProposalType } from 'src/static-build/proposal'; -import { governanceConfig } from 'src/ui-config/governanceConfig'; - -import ProposalPage from './[proposalId].governance'; - -const GovVoteModal = dynamic(() => - import('src/components/transactions/GovVote/GovVoteModal').then((module) => module.GovVoteModal) -); - -export default function DynamicProposal() { - const router = useRouter(); - const id = Number(router.query.proposalId); - const [proposal, setProposal] = useState(); - const [ipfs, setIpfs] = useState(); - const [fetchMetadataError, setFetchMetadataError] = useState(false); - - async function initialize(_ipfsGateway: string) { - const { values, ...rest } = await governanceContract.getProposal({ proposalId: id }); - const proposal = await enhanceProposalWithTimes(rest); - setProposal(proposal); - - try { - const ipfsMetadata = await getProposalMetadata(proposal.ipfsHash, _ipfsGateway); - const newIpfs = { - id, - originalHash: proposal.ipfsHash, - ...ipfsMetadata, - }; - setIpfs(newIpfs); - } catch (e) { - setFetchMetadataError(true); - } - } - - useEffect(() => { - id && initialize(governanceConfig.ipfsGateway); - }, [id]); - - return ; -} - -DynamicProposal.getLayout = function getLayout(page: React.ReactElement) { - return ( - - {page} - - - ); -}; diff --git a/src/components/primitives/Link.tsx b/src/components/primitives/Link.tsx index 1f072b6f6f..4fa4a308a9 100644 --- a/src/components/primitives/Link.tsx +++ b/src/components/primitives/Link.tsx @@ -11,7 +11,7 @@ const Anchor = styled('a')({}); interface NextLinkComposedProps extends Omit, 'href'>, - Omit { + Omit { to: NextLinkProps['href']; linkAs?: NextLinkProps['as']; href?: NextLinkProps['href']; @@ -121,7 +121,7 @@ export const ROUTES = { faucet: '/faucet', migrationTool: '/v3-migration', prerenderedProposal: (proposalId: number) => `/governance/proposal/${proposalId}`, - dynamicRenderedProposal: (proposalId: number) => `/governance/proposal?proposalId=${proposalId}`, + dynamicRenderedProposal: (proposalId: number) => `/governance/proposal/${proposalId}`, reserveOverview: (underlyingAsset: string, marketName: CustomMarket) => `/reserve-overview/?underlyingAsset=${underlyingAsset}&marketName=${marketName}`, history: '/history', diff --git a/src/hooks/governance/useProposal.ts b/src/hooks/governance/useProposal.ts new file mode 100644 index 0000000000..4a761c5763 --- /dev/null +++ b/src/hooks/governance/useProposal.ts @@ -0,0 +1,79 @@ +import { ProposalData, VotingMachineProposal } from '@aave/contract-helpers'; +import { useInfiniteQuery, useQuery } from '@tanstack/react-query'; +import request, { gql } from 'graphql-request'; +import { GovernanceV3Service } from 'src/services/GovernanceV3Service'; +import { VotingMachineService } from 'src/services/VotingMachineService'; +import { useSharedDependencies } from 'src/ui-config/SharedDependenciesProvider'; + +export type SubgraphProposal = { + proposalId: string; + ipfsHash: string; + title: string; + shortDescription: string; + description: string; + author: string; +}; + +export interface EnhancedProposal { + proposal: SubgraphProposal + proposalData: ProposalData + votingMachineData: VotingMachineProposal +} + +const GOV_CORE_SUBGRAPH_URL = + 'https://api.goldsky.com/api/public/project_clk74pd7lueg738tw9sjh79d6/subgraphs/governance-v3/v2.0.1/gn'; + +const getProposalQuery = gql` + query getProposals($proposalId: Int!) { + proposalCreateds(where: { proposalId: $proposalId }) { + proposalId + ipfsHash + title + shortDescription + description + author + } + } +`; + +export const getProposal = async (proposalId: number) => { + const result = await request<{ proposalCreateds: SubgraphProposal[] }>(GOV_CORE_SUBGRAPH_URL, getProposalQuery, { + proposalId + }); + return result.proposalCreateds[0]; +} + +async function fetchProposal( + proposalId: number, + governanceV3Service: GovernanceV3Service, + votingMachineService: VotingMachineService +): Promise { + const proposal = await getProposal(proposalId); + + const proposalData = (await governanceV3Service.getProposalsData(+proposalId, +proposalId, 1))[0]; + + const votingMachineData = (await votingMachineService.getProposalsData([{ + id: +proposalData.id, + snapshotBlockHash: proposalData.proposalData.snapshotBlockHash, + chainId: proposalData.votingChainId, + votingPortalAddress: proposalData.proposalData.votingPortal + }]))[0]; + + return { + proposal, + proposalData, + votingMachineData, + }; +} + +export const useProposal = (proposalId: number) => { + const { governanceV3Service, votingMachineSerivce } = useSharedDependencies(); + return useQuery({ + queryFn: () => fetchProposal(proposalId, governanceV3Service, votingMachineSerivce), + queryKey: ['governance_proposal', proposalId], + refetchOnMount: false, + refetchOnWindowFocus: false, + refetchOnReconnect: false, + }); +}; + diff --git a/src/hooks/governance/useProposalVotes.ts b/src/hooks/governance/useProposalVotes.ts index 3d59118af7..e77790438a 100644 --- a/src/hooks/governance/useProposalVotes.ts +++ b/src/hooks/governance/useProposalVotes.ts @@ -2,13 +2,20 @@ import { normalizeBN } from '@aave/math-utils'; import { useQuery } from '@tanstack/react-query'; import request, { gql } from 'graphql-request'; -type ProposalVote = { +export type ProposalVote = { proposalId: string; support: boolean; voter: string; votingPower: string; }; +export interface ProposalVotes { + yaeVotes: ProposalVote[], + nayVotes: ProposalVote[], + combinedVotes: ProposalVote[], + isFetching: boolean, +} + const VOTING_MACHING_SUBGRAPH_URL = 'https://api.goldsky.com/api/public/project_clk74pd7lueg738tw9sjh79d6/subgraphs/votingmachine-sepolia/v1/gn'; @@ -42,12 +49,17 @@ export const useProposalVotesQuery = ({ proposalId }: { proposalId: string }) => }); }; -export const useProposalVotes = ({ proposalId }: { proposalId: string }) => { +const sortByVotingPower = (a: ProposalVote, b: ProposalVote) => { + return a.votingPower < b.votingPower ? 1 : a.votingPower > b.votingPower ? -1 : 0; +}; + +export const useProposalVotes = ({ proposalId }: { proposalId: string }): ProposalVotes => { const { data, isFetching } = useProposalVotesQuery({ proposalId }); return { - yaeVotes: data?.filter((vote) => vote.support === true) || [], - nayVotes: data?.filter((vote) => vote.support === false) || [], + yaeVotes: data?.filter((vote) => vote.support === true).sort(sortByVotingPower) || [], + nayVotes: data?.filter((vote) => vote.support === false).sort(sortByVotingPower) || [], + combinedVotes: data?.sort(sortByVotingPower) || [], isFetching, }; }; diff --git a/src/modules/governance/ProposalsV3List.tsx b/src/modules/governance/ProposalsV3List.tsx index ce2254222f..6d99609359 100644 --- a/src/modules/governance/ProposalsV3List.tsx +++ b/src/modules/governance/ProposalsV3List.tsx @@ -1,26 +1,16 @@ -import { - AccessLevel, - Constants, - ProposalData, - ProposalV3State, - VotingMachineProposal, -} from '@aave/contract-helpers'; -import { normalizeBN } from '@aave/math-utils'; import { Box, Paper, Skeleton, Stack } from '@mui/material'; -import BigNumber from 'bignumber.js'; import { Fragment, useState } from 'react'; import InfiniteScroll from 'react-infinite-scroller'; import { - SubgraphProposal, useGetProposalCount, useGetVotingConfig, useProposals, } from 'src/hooks/governance/useProposals'; -import { isDifferentialReached, isQuorumReached } from './helpers'; import { ProposalListHeader } from './ProposalListHeader'; import { ProposalV3ListItem } from './ProposalV3ListItem'; import { VoteBar } from './VoteBar'; +import { formatProposalV3 } from './utils/formatProposal'; export const ProposalsV3List = () => { // TODO @@ -56,7 +46,7 @@ export const ProposalsV3List = () => { {group.proposals.map((proposal, index) => ( { ); }; - -type FormattedProposal = { - id: string; - title: string; - shortDescription: string; - proposalState: ProposalV3State; - accessLevel: AccessLevel; - forVotes: number; - againstVotes: number; - forPercent: number; - againstPercent: number; - quorumReached: boolean; - diffReached: boolean; - votingChainId: number; -}; - -const formatProposal = ( - proposal: SubgraphProposal, - proposalData: ProposalData, - constants: Constants, - votingMachineData: VotingMachineProposal -): FormattedProposal => { - const quorumReached = isQuorumReached( - proposalData.proposalData.forVotes, - constants.votingConfigs[proposalData.proposalData.accessLevel].config.quorum, - constants.precisionDivider - ); - const diffReached = isDifferentialReached( - proposalData.proposalData.forVotes, - proposalData.proposalData.againstVotes, - constants.votingConfigs[proposalData.proposalData.accessLevel].config.differential, - constants.precisionDivider - ); - - const allVotes = new BigNumber(votingMachineData.proposalData.forVotes).plus( - votingMachineData.proposalData.againstVotes - ); - const forPercent = allVotes.gt(0) - ? new BigNumber(votingMachineData.proposalData.forVotes).dividedBy(allVotes).toNumber() - : 0; - const forVotes = normalizeBN(votingMachineData.proposalData.forVotes, 18).toNumber(); - - const againstPercent = allVotes.gt(0) - ? new BigNumber(votingMachineData.proposalData.againstVotes).dividedBy(allVotes).toNumber() - : 0; - const againstVotes = normalizeBN(votingMachineData.proposalData.againstVotes, 18).toNumber(); - - return { - id: proposalData.id, - title: proposal.title, - shortDescription: `${proposal.shortDescription} and then some more stuff this is a long short description it should get cut off in the list view but it is not why is it not getting ellipsed test test why why test test borrow gho`, - proposalState: proposalData.proposalData.state, - forVotes, - againstVotes, - forPercent, - againstPercent, - quorumReached, - diffReached, - accessLevel: proposalData.proposalData.accessLevel, - votingChainId: proposalData.votingChainId, - }; -}; diff --git a/src/modules/governance/proposal/ProposalDetails.tsx b/src/modules/governance/proposal/ProposalDetails.tsx new file mode 100644 index 0000000000..05d60741d9 --- /dev/null +++ b/src/modules/governance/proposal/ProposalDetails.tsx @@ -0,0 +1,183 @@ +import { Trans } from "@lingui/macro" +import { Box, Paper, SvgIcon, Typography } from "@mui/material" +import { ExternalLinkIcon } from '@heroicons/react/solid'; +import { Row } from "src/components/primitives/Row" +import { useRootStore } from "src/store/root"; +import dayjs from "dayjs"; + +const formatTime = (timestamp: number): string => + dayjs.unix(timestamp).format('D MMM YYYY, HH:mm UTC Z'); + +export const ProposalDetails = () => { + const proposalHasExpired: boolean = false + /* + proposal + ? dayjs() > dayjs.unix(proposal.expirationTimestamp) + : false; + */ + const trackEvent = useRootStore((store) => store.trackEvent); + return ( + + + Proposal details + + {proposal ? ( + <> + + Created + + Block + + + } + sx={{ height: 48 }} + captionVariant="description" + > + + {formatTime(proposal.proposalData.proposalData.creationTime)} + + {proposal.proposalCreated} + + + + + Started + + Block + + + } + sx={{ height: 48 }} + captionVariant="description" + > + + {formatTime(proposal.startTimestamp)} + + {proposal.startBlock} + + + + {proposalHasExpired ? ( + + Ended + + Block + + + } + sx={{ height: 48 }} + captionVariant="description" + > + + {formatTime(proposal.expirationTimestamp)} + + {proposal.endBlock} + + + + ) : ( + + Ends + + Block + + + } + sx={{ height: 48 }} + captionVariant="description" + > + + {formatTime(proposal.expirationTimestamp)} + + {proposal.endBlock} + + + + )} + {proposal.executed && ( + Executed} + sx={{ height: 48 }} + captionVariant="description" + > + {formatTime(proposal.executionTime)} + + )} + {ipfs?.author && ( + Author} + sx={{ height: 48 }} + captionVariant="description" + > + + {ipfs.author} + + + )} + + {ipfs?.discussions && ( + + )} + {prerendered && ( // only render the button for prerendered proposals as fro them we can be sure ci already ran + + )} + + + ) : ( + <> + + + )} + + ) +} \ No newline at end of file diff --git a/src/modules/governance/proposal/ProposalOverview.tsx b/src/modules/governance/proposal/ProposalOverview.tsx new file mode 100644 index 0000000000..2eb6834b8a --- /dev/null +++ b/src/modules/governance/proposal/ProposalOverview.tsx @@ -0,0 +1,224 @@ +import { Trans } from "@lingui/macro"; +import { Box, Button, Paper, Skeleton, SvgIcon, Table, TableBody, TableCell, TableContainer, TableHead, TableRow, Typography, styled, useMediaQuery, useTheme } from "@mui/material"; +import { StateBadge } from "src/modules/governance/StateBadge"; +import { FormattedProposalTime } from "src/modules/governance/FormattedProposalTime"; +import ReactMarkdown from "react-markdown"; +import { IpfsType } from "src/static-build/ipfs"; +import { CustomProposalType } from "src/static-build/proposal"; +import { DownloadIcon } from "@heroicons/react/solid"; +import { GENERAL } from "src/utils/mixPanelEvents"; +import { Twitter } from "@mui/icons-material"; +import remarkGfm from "remark-gfm"; +import { useRootStore } from "src/store/root"; +import { governanceConfig } from "src/ui-config/governanceConfig"; +import { Warning } from "src/components/primitives/Warning"; +import { LensIcon } from "src/components/icons/LensIcon"; +import { EnhancedProposal } from "src/hooks/governance/useProposal"; + +const CenterAlignedImage = styled('img')({ + display: 'block', + margin: '0 auto', + maxWidth: '100%', +}); + +const StyledLink = styled('a')({ + color: 'inherit', +}); + +interface ProposalOverviewProps { + error: boolean; + proposal?: EnhancedProposal; + loading: boolean; +} + +export const ProposalOverview = ({ proposal, loading, error }: ProposalOverviewProps) => { + + const trackEvent = useRootStore(store => store.trackEvent) + const { breakpoints, palette } = useTheme(); + const lgUp = useMediaQuery(breakpoints.up('lg')) + + return ( + + + Proposal overview + + {error ? ( + + + An error has occurred fetching the proposal. + + + ) : ( + + {proposal ? ( + <> + + {proposal.proposal.title || } + + + + + + + + { + /* + !loading && ( + + + ) + */ + } + + + + + + + + ) : ( + + + + )} + {proposal ? ( + +
+ + ); + }, + tr({ node, ...props }) { + return ( + + ); + }, + td({ children, style }) { + return {children}; + }, + th({ children, style }) { + return {children}; + }, + tbody({ children }) { + return {children}; + }, + thead({ node, ...props }) { + return ; + }, + img({ src: _src, alt }) { + if (!_src) return null; + const src = /^\.\.\//.test(_src) + ? _src.replace( + '../', + 'https://raw.githubusercontent.com/aave/aip/main/content/' + ) + : _src; + return ; + }, + a({ node, ...rest }) { + return ; + }, + h2({ node, ...rest }) { + return ( + + ); + }, + p({ node, ...rest }) { + return ; + }, + }} + > + {proposal.proposal.description} + + ) : ( + <> + + + + + + )} + + )} + + ) +} \ No newline at end of file diff --git a/src/modules/governance/proposal/VoteInfo.tsx b/src/modules/governance/proposal/VoteInfo.tsx index 3075338d83..558c6dc312 100644 --- a/src/modules/governance/proposal/VoteInfo.tsx +++ b/src/modules/governance/proposal/VoteInfo.tsx @@ -1,35 +1,52 @@ -import { ProposalState } from '@aave/contract-helpers'; +import { ProposalState, ProposalV3State } from '@aave/contract-helpers'; import { Trans } from '@lingui/macro'; -import { Button, Typography } from '@mui/material'; +import { Button, Paper, Typography } from '@mui/material'; import { FormattedNumber } from 'src/components/primitives/FormattedNumber'; import { Row } from 'src/components/primitives/Row'; import { Warning } from 'src/components/primitives/Warning'; import { ConnectWalletButton } from 'src/components/WalletConnection/ConnectWalletButton'; +import { EnhancedProposal } from 'src/hooks/governance/useProposal'; import { useVoteOnProposal } from 'src/hooks/governance/useVoteOnProposal'; import { useVotingPowerAt } from 'src/hooks/governance/useVotingPowerAt'; import { useModalContext } from 'src/hooks/useModal'; import { CustomProposalType } from 'src/static-build/proposal'; import { useRootStore } from 'src/store/root'; -export function VoteInfo({ id, state, strategy, startBlock }: CustomProposalType) { +interface VoteInfoProps { + proposal: EnhancedProposal; +} + +export function VoteInfo({ proposal }: VoteInfoProps) { const { openGovVote } = useModalContext(); const user = useRootStore((state) => state.account); const currentMarketData = useRootStore((store) => store.currentMarketData); - const { data: voteOnProposal } = useVoteOnProposal(currentMarketData, id); - const { data: powerAtProposalStart } = useVotingPowerAt(currentMarketData, strategy, startBlock); + // const { data: voteOnProposal } = useVoteOnProposal(currentMarketData, id); + // const { data: powerAtProposalStart } = useVotingPowerAt(currentMarketData, strategy, startBlock); + + const voteOnProposal = { + support: true + } - const voteOngoing = state === ProposalState.Active; + const powerAtProposalStart = 0 + + const voteOngoing = proposal.proposalData.proposalData.state === ProposalV3State.Active; // Messages + /* const didVote = powerAtProposalStart && voteOnProposal?.votingPower !== '0'; const showAlreadyVotedMsg = !!user && voteOnProposal && didVote; + */ + const didVote = true + const showAlreadyVotedMsg = !!user && didVote + const showCannotVoteMsg = !!user && voteOngoing && Number(powerAtProposalStart) === 0; const showCanVoteMsg = powerAtProposalStart && !didVote && !!user && voteOngoing && Number(powerAtProposalStart) !== 0; + return ( - <> + Your voting info @@ -88,7 +105,7 @@ export function VoteInfo({ id, state, strategy, startBlock }: CustomProposalType color="success" variant="contained" fullWidth - onClick={() => openGovVote(id, true, powerAtProposalStart)} + onClick={() => openGovVote(+proposal.proposal.proposalId, true, powerAtProposalStart)} > Vote YAE @@ -96,7 +113,7 @@ export function VoteInfo({ id, state, strategy, startBlock }: CustomProposalType color="error" variant="contained" fullWidth - onClick={() => openGovVote(id, false, powerAtProposalStart)} + onClick={() => openGovVote(+proposal.proposal.proposalId, false, powerAtProposalStart)} sx={{ mt: 2 }} > Vote NAY @@ -107,6 +124,6 @@ export function VoteInfo({ id, state, strategy, startBlock }: CustomProposalType ) : ( )} - + ); } diff --git a/src/modules/governance/proposal/VotersList.tsx b/src/modules/governance/proposal/VotersList.tsx index 1d274c3c18..741c6f3ed8 100644 --- a/src/modules/governance/proposal/VotersList.tsx +++ b/src/modules/governance/proposal/VotersList.tsx @@ -2,12 +2,12 @@ import { Box, Theme } from '@mui/material'; import { SxProps } from '@mui/system'; import { Fragment } from 'react'; -import { GovernanceVoter } from './VotersListContainer'; import { VotersListItem } from './VotersListItem'; +import { ProposalVote } from 'src/hooks/governance/useProposalVotes'; type VotersListProps = { compact?: boolean; - voters: GovernanceVoter[]; + voters: ProposalVote[]; sx?: SxProps; }; @@ -18,7 +18,7 @@ export const VotersList = ({ compact = false, voters, sx }: VotersListProps): JS ) : ( voters.map((voter) => ( - + )) diff --git a/src/modules/governance/proposal/VotersListContainer.tsx b/src/modules/governance/proposal/VotersListContainer.tsx index db7564876f..1e0cbe4a42 100644 --- a/src/modules/governance/proposal/VotersListContainer.tsx +++ b/src/modules/governance/proposal/VotersListContainer.tsx @@ -1,89 +1,47 @@ import { Trans } from '@lingui/macro'; import { Box, Button, CircularProgress, Typography, useMediaQuery, useTheme } from '@mui/material'; -import fetch from 'isomorphic-unfetch'; -import { useEffect, useState } from 'react'; +import { useState } from 'react'; import { Row } from 'src/components/primitives/Row'; import { CustomProposalType } from 'src/static-build/proposal'; import { useRootStore } from 'src/store/root'; import { AIP } from 'src/utils/mixPanelEvents'; -import { formatProposal } from '../utils/formatProposal'; +import { FormattedProposalV3, formatProposal } from '../utils/formatProposal'; import { VotersList } from './VotersList'; import { VotersListModal } from './VotersListModal'; +import { ProposalVotes } from 'src/hooks/governance/useProposalVotes'; type VotersListProps = { - proposal: CustomProposalType; + proposal: FormattedProposalV3; + proposalVotes: ProposalVotes; }; export type GovernanceVoter = { - address: string; //"0x8298a996a00835eedcc75763038b731fe617fd0d" - ensName: string | null; //null + address: string; + ensName: string | null; votingPower: number; twitterAvatar: string | null; support: boolean; }; -type GovernanceProposalTopVotersResponse = [GovernanceVoter[], GovernanceVoter[]]; - export type VotersData = { yaes: GovernanceVoter[]; nays: GovernanceVoter[]; combined: GovernanceVoter[]; }; -const sortByVotingPower = (a: GovernanceVoter, b: GovernanceVoter) => { - return a.votingPower < b.votingPower ? 1 : a.votingPower > b.votingPower ? -1 : 0; -}; - -export const VotersListContainer = (props: VotersListProps): JSX.Element => { - const { proposal } = props; - const { id: proposalId, forVotes, againstVotes } = proposal; - const [loading, setLoading] = useState(true); - const [error, setError] = useState(false); - const [voters, setVoters] = useState(); +export const VotersListContainer = ({ proposal, proposalVotes }: VotersListProps): JSX.Element => { const [votersModalOpen, setVotersModalOpen] = useState(false); const { breakpoints } = useTheme(); const mdScreen = useMediaQuery(breakpoints.only('md')); - - const votersUrl = `${process.env.NEXT_PUBLIC_API_BASEURL}/data/proposal-votes`; - const queryParams = `?proposal=${proposalId}`; const trackEvent = useRootStore((store) => store.trackEvent); - const getVoterInfo = async () => { - if (error) setError(false); - - try { - // Get proposal voters data - const resp = await fetch(votersUrl + queryParams); - - if (resp.ok) { - const [yaes, nays]: GovernanceProposalTopVotersResponse = await resp.json(); - const votersData: VotersData = { - yaes: yaes.sort(sortByVotingPower), - nays: nays.sort(sortByVotingPower), - combined: yaes.concat(nays).sort(sortByVotingPower), - }; - setVoters(votersData); - } else { - setError(true); - } - } catch (e: unknown) { - console.error(e); - setError(true); - } - setLoading(false); - }; - - useEffect(() => { - getVoterInfo(); - }, [forVotes, againstVotes]); /* eslint-disable-line react-hooks/exhaustive-deps */ - const handleOpenAllVotes = () => { trackEvent(AIP.VIEW_ALL_VOTES); setVotersModalOpen(true); }; - if (loading) + if (false) return ( @@ -97,7 +55,7 @@ export const VotersListContainer = (props: VotersListProps): JSX.Element => { ); - if (error) + if (false) return ( @@ -113,13 +71,13 @@ export const VotersListContainer = (props: VotersListProps): JSX.Element => { ); - if (!voters || voters.combined.length === 0) return ; + if (!proposalVotes || proposalVotes.combinedVotes.length === 0) return ; return ( - {voters.combined.length > 10 ? Top 10 addresses : Addresses} + {proposalVotes.combinedVotes.length > 10 ? Top 10 addresses : Addresses} Votes @@ -127,10 +85,10 @@ export const VotersListContainer = (props: VotersListProps): JSX.Element => { - {voters.combined.length > 10 && ( + {proposalVotes.combinedVotes.length > 10 && ( @@ -139,8 +97,8 @@ export const VotersListContainer = (props: VotersListProps): JSX.Element => { setVotersModalOpen(false)} - proposal={formatProposal(proposal)} - voters={voters} + proposal={proposal} + voters={proposalVotes} /> )} diff --git a/src/modules/governance/proposal/VotersListItem.tsx b/src/modules/governance/proposal/VotersListItem.tsx index 10eb994557..7557be010a 100644 --- a/src/modules/governance/proposal/VotersListItem.tsx +++ b/src/modules/governance/proposal/VotersListItem.tsx @@ -8,14 +8,16 @@ import { GENERAL } from 'src/utils/mixPanelEvents'; import { textCenterEllipsis } from '../../../helpers/text-center-ellipsis'; import type { GovernanceVoter } from './VotersListContainer'; +import { ProposalVote } from 'src/hooks/governance/useProposalVotes'; type VotersListItemProps = { compact: boolean; - voter: GovernanceVoter; + voter: ProposalVote; }; export const VotersListItem = ({ compact, voter }: VotersListItemProps): JSX.Element | null => { - const { address, ensName, votingPower: proposalVotingPower, twitterAvatar } = voter; + // const { address, ensName, votingPower: proposalVotingPower, twitterAvatar } = voter; + const { voter: address } = voter; const blockieAvatar = blo(address !== '' ? (address as `0x${string}`) : '0x'); const trackEvent = useRootStore((store) => store.trackEvent); @@ -45,26 +47,26 @@ export const VotersListItem = ({ compact, voter }: VotersListItemProps): JSX.Ele // Three for 1<=n<10. // Two for 10<=n<1000. // Zero decimals for 1000<=n 1000000 - ? 2 - : displayVotingPower > 100000 - ? 1 - : 0; + ? 3 + : displayVotingPower < 1000 || displayVotingPower > 1000000 + ? 2 + : displayVotingPower > 100000 + ? 1 + : 0; // Don't show any results that come back with zero or negative voting power - if (voter.votingPower <= 0) return null; + if (Number(voter.votingPower) <= 0) return null; return ( - + @@ -76,7 +78,7 @@ export const VotersListItem = ({ compact, voter }: VotersListItemProps): JSX.Ele color="primary" sx={{ display: 'flex', alignItems: 'center' }} > - {displayName(ensName ?? address)} + {displayName(address)} diff --git a/src/modules/governance/proposal/VotersListModal.tsx b/src/modules/governance/proposal/VotersListModal.tsx index 7f83aed55d..f0a9abb1b3 100644 --- a/src/modules/governance/proposal/VotersListModal.tsx +++ b/src/modules/governance/proposal/VotersListModal.tsx @@ -6,16 +6,16 @@ import StyledToggleButton from 'src/components/StyledToggleButton'; import StyledToggleButtonGroup from 'src/components/StyledToggleButtonGroup'; import { BasicModal } from '../../../components/primitives/BasicModal'; -import { FormattedProposal } from '../utils/formatProposal'; +import { FormattedProposalV3 } from '../utils/formatProposal'; import { VoteBar } from '../VoteBar'; import { VotersList } from './VotersList'; -import { VotersData } from './VotersListContainer'; +import { ProposalVotes } from 'src/hooks/governance/useProposalVotes'; type VotersListModalProps = { open: boolean; close: () => void; - proposal: FormattedProposal; - voters: VotersData; + proposal: FormattedProposalV3; + voters: ProposalVotes; }; export const VotersListModal = ({ @@ -39,8 +39,8 @@ export const VotersListModal = ({ <> - Addresses ({voters.yaes.length}) + Addresses ({voters.yaeVotes.length}) Votes - Addresses ({voters.nays.length}) + Addresses ({voters.nayVotes.length}) Votes { + return ( + + + Voting results + + {proposal ? ( + <> + + + + State} + sx={{ height: 48 }} + captionVariant="description" + > + + + { + /* + + + + */ + } + + + Quorum} + sx={{ height: 48 }} + captionVariant="description" + > + Reached : Not reached} + checked={proposal.quorumReached} + sx={{ height: 48 }} + variant="description" + /> + + + Current votes + + Required + + + } + sx={{ height: 48 }} + captionVariant="description" + > + + + { + /* + + */ + } + + + Differential} + sx={{ height: 48 }} + captionVariant="description" + > + Reached : Not reached} + checked={proposal.diffReached} + sx={{ height: 48 }} + variant="description" + /> + + + Current differential + + Required + + + } + sx={{ height: 48 }} + captionVariant="description" + > + { + /* + + + + + */ + } + + { + /* + Total voting power} + sx={{ height: 48 }} + captionVariant="description" + > + + +*/ + } + + ) : ( + <> + + + + )} + + ); +} \ No newline at end of file diff --git a/src/modules/governance/utils/formatProposal.ts b/src/modules/governance/utils/formatProposal.ts index fdca5bba67..6c8af08e81 100644 --- a/src/modules/governance/utils/formatProposal.ts +++ b/src/modules/governance/utils/formatProposal.ts @@ -1,7 +1,9 @@ -import { ChainId, Proposal, ProposalState } from '@aave/contract-helpers'; +import { AccessLevel, ChainId, Constants, Proposal, ProposalData, ProposalState, ProposalV3State, VotingMachineProposal } from '@aave/contract-helpers'; import { normalizeBN } from '@aave/math-utils'; import BigNumber from 'bignumber.js'; +import { SubgraphProposal } from 'src/hooks/governance/useProposals'; import { getProvider } from 'src/utils/marketsAndNetworksConfig'; +import { isDifferentialReached, isQuorumReached } from '../helpers'; export type FormattedProposal = { id?: string; @@ -98,3 +100,65 @@ export async function enhanceProposalWithTimes(proposal: Omit { + const quorumReached = isQuorumReached( + proposalData.proposalData.forVotes, + constants.votingConfigs[proposalData.proposalData.accessLevel].config.quorum, + constants.precisionDivider + ); + const diffReached = isDifferentialReached( + proposalData.proposalData.forVotes, + proposalData.proposalData.againstVotes, + constants.votingConfigs[proposalData.proposalData.accessLevel].config.differential, + constants.precisionDivider + ); + + const allVotes = new BigNumber(votingMachineData.proposalData.forVotes).plus( + votingMachineData.proposalData.againstVotes + ); + const forPercent = allVotes.gt(0) + ? new BigNumber(votingMachineData.proposalData.forVotes).dividedBy(allVotes).toNumber() + : 0; + const forVotes = normalizeBN(votingMachineData.proposalData.forVotes, 18).toNumber(); + + const againstPercent = allVotes.gt(0) + ? new BigNumber(votingMachineData.proposalData.againstVotes).dividedBy(allVotes).toNumber() + : 0; + const againstVotes = normalizeBN(votingMachineData.proposalData.againstVotes, 18).toNumber(); + + return { + id: proposalData.id, + title: proposal.title, + shortDescription: `${proposal.shortDescription} and then some more stuff this is a long short description it should get cut off in the list view but it is not why is it not getting ellipsed test test why why test test borrow gho`, + proposalState: proposalData.proposalData.state, + forVotes, + againstVotes, + forPercent, + againstPercent, + quorumReached, + diffReached, + accessLevel: proposalData.proposalData.accessLevel, + votingChainId: proposalData.votingChainId, + }; +}; From c5f0baa79ecd3dba68c3374b334ec56034d4fe77 Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Fri, 15 Dec 2023 08:37:32 -0600 Subject: [PATCH 18/84] fix: remove testing data --- src/modules/governance/utils/formatProposal.ts | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/modules/governance/utils/formatProposal.ts b/src/modules/governance/utils/formatProposal.ts index 6c8af08e81..f36dfae0bb 100644 --- a/src/modules/governance/utils/formatProposal.ts +++ b/src/modules/governance/utils/formatProposal.ts @@ -1,8 +1,18 @@ -import { AccessLevel, ChainId, Constants, Proposal, ProposalData, ProposalState, ProposalV3State, VotingMachineProposal } from '@aave/contract-helpers'; +import { + AccessLevel, + ChainId, + Constants, + Proposal, + ProposalData, + ProposalState, + ProposalV3State, + VotingMachineProposal, +} from '@aave/contract-helpers'; import { normalizeBN } from '@aave/math-utils'; import BigNumber from 'bignumber.js'; import { SubgraphProposal } from 'src/hooks/governance/useProposals'; import { getProvider } from 'src/utils/marketsAndNetworksConfig'; + import { isDifferentialReached, isQuorumReached } from '../helpers'; export type FormattedProposal = { @@ -150,7 +160,7 @@ export const formatProposalV3 = ( return { id: proposalData.id, title: proposal.title, - shortDescription: `${proposal.shortDescription} and then some more stuff this is a long short description it should get cut off in the list view but it is not why is it not getting ellipsed test test why why test test borrow gho`, + shortDescription: proposal.shortDescription, proposalState: proposalData.proposalData.state, forVotes, againstVotes, From e784fdf2b6323085dbc861d3c55ff5e73ce13b81 Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Fri, 15 Dec 2023 14:18:21 -0600 Subject: [PATCH 19/84] feat: rep modal --- .../GovRepresentativesModal.tsx | 4 +- .../GovRepresentativesModalContent.tsx | 92 +++++++++++++++++-- src/hooks/useModal.tsx | 10 +- src/modules/governance/ProposalsV3List.tsx | 4 +- .../governance/RepresentativesInfoPanel.tsx | 70 +++++++++----- 5 files changed, 143 insertions(+), 37 deletions(-) diff --git a/src/components/transactions/GovRepresentatives/GovRepresentativesModal.tsx b/src/components/transactions/GovRepresentatives/GovRepresentativesModal.tsx index 5c2c948925..190801fab4 100644 --- a/src/components/transactions/GovRepresentatives/GovRepresentativesModal.tsx +++ b/src/components/transactions/GovRepresentatives/GovRepresentativesModal.tsx @@ -4,10 +4,10 @@ import { ModalType, useModalContext } from 'src/hooks/useModal'; import { GovRepresentativesContent } from './GovRepresentativesModalContent'; export const GovRepresentativesModal = () => { - const { type, close } = useModalContext(); + const { type, close, args } = useModalContext(); return ( - + {args.representatives && } ); }; diff --git a/src/components/transactions/GovRepresentatives/GovRepresentativesModalContent.tsx b/src/components/transactions/GovRepresentatives/GovRepresentativesModalContent.tsx index 1281f0d92e..846ae3f8f5 100644 --- a/src/components/transactions/GovRepresentatives/GovRepresentativesModalContent.tsx +++ b/src/components/transactions/GovRepresentatives/GovRepresentativesModalContent.tsx @@ -1,18 +1,35 @@ +import { ChainId } from '@aave/contract-helpers'; +import { Trans } from '@lingui/macro'; +import { Box, Checkbox, FormControlLabel, OutlinedInput, Stack, Typography } from '@mui/material'; +import { useState } from 'react'; import { useWeb3Context } from 'src/libs/hooks/useWeb3Context'; import { useRootStore } from 'src/store/root'; import { governanceConfig } from 'src/ui-config/governanceConfig'; -import { getNetworkConfig } from 'src/utils/marketsAndNetworksConfig'; +import { getNetworkConfig, networkConfigs } from 'src/utils/marketsAndNetworksConfig'; import { TxModalTitle } from '../FlowCommons/TxModalTitle'; import { ChangeNetworkWarning } from '../Warnings/ChangeNetworkWarning'; import { GovRepresentativesActions } from './GovRepresentativesActions'; -export const GovRepresentativesContent = () => { +interface UIRepresentative { + chainId: ChainId; + representative: string; + remove: boolean; +} + +export const GovRepresentativesContent = ({ + representatives, +}: { + representatives: Array<{ chainId: ChainId; representative: string }>; +}) => { const { chainId: connectedChainId, readOnlyModeAddress } = useWeb3Context(); const [currentNetworkConfig, currentChainId] = useRootStore((state) => [ state.currentNetworkConfig, state.currentChainId, ]); + const [reps, setReps] = useState( + representatives.map((r) => ({ ...r, remove: false })) + ); // is Network mismatched const govChain = @@ -25,12 +42,75 @@ export const GovRepresentativesContent = () => { const networkConfig = getNetworkConfig(govChain); return ( - <> - + + + + {isWrongNetwork && !readOnlyModeAddress && ( )} - - + + {reps.map((r, i) => ( + ({ + border: reps[i].remove + ? `1px solid ${theme.palette.text.secondary}` + : '1px solid transparent', + borderRadius: '8px', + background: reps[i].remove ? theme.palette.background.default : 'transparent', + })} + > + + + + network logo + + {networkConfigs[r.chainId].name} + + + + Remove + + } + labelPlacement="start" + control={ + { + setReps((prev) => { + const newReps = [...prev]; + newReps[i].remove = e.target.checked; + return newReps; + }); + }} + size="small" + /> + } + /> + + + + + ))} + + + + + ); }; diff --git a/src/hooks/useModal.tsx b/src/hooks/useModal.tsx index 196dd2f8c8..1d9688f4ed 100644 --- a/src/hooks/useModal.tsx +++ b/src/hooks/useModal.tsx @@ -1,4 +1,4 @@ -import { InterestRate } from '@aave/contract-helpers'; +import { ChainId, InterestRate } from '@aave/contract-helpers'; import { createContext, useContext, useState } from 'react'; import { EmodeModalType } from 'src/components/transactions/Emode/EmodeModalContent'; import { useWeb3Context } from 'src/libs/hooks/useWeb3Context'; @@ -41,6 +41,7 @@ export interface ModalArgsType { currentRateMode?: InterestRate; emode?: EmodeModalType; isFrozen?: boolean; + representatives?: Array<{ chainId: ChainId; representative: string }>; } export type TxStateType = { @@ -102,7 +103,9 @@ export interface ModalContextType { openV3Migration: () => void; openGovVote: (proposalId: number, support: boolean, power: string) => void; openSwitch: (underlyingAsset?: string) => void; - openGovRepresentatives: () => void; + openGovRepresentatives: ( + representatives: Array<{ chainId: ChainId; representative: string }> + ) => void; close: () => void; type?: ModalType; args: T; @@ -300,9 +303,10 @@ export const ModalContextProvider: React.FC = ({ children }) => { setType(ModalType.GovVote); setArgs({ proposalId, support, power }); }, - openGovRepresentatives: () => { + openGovRepresentatives: (representatives) => { trackEvent(GENERAL.OPEN_MODAL, { modal: 'Representatives' }); setType(ModalType.GovRepresentatives); + setArgs({ representatives }); }, openV3Migration: () => { trackEvent(GENERAL.OPEN_MODAL, { modal: 'V2->V3 Migration' }); diff --git a/src/modules/governance/ProposalsV3List.tsx b/src/modules/governance/ProposalsV3List.tsx index 6d99609359..437855e27d 100644 --- a/src/modules/governance/ProposalsV3List.tsx +++ b/src/modules/governance/ProposalsV3List.tsx @@ -9,8 +9,8 @@ import { import { ProposalListHeader } from './ProposalListHeader'; import { ProposalV3ListItem } from './ProposalV3ListItem'; -import { VoteBar } from './VoteBar'; import { formatProposalV3 } from './utils/formatProposal'; +import { VoteBar } from './VoteBar'; export const ProposalsV3List = () => { // TODO @@ -18,7 +18,7 @@ export const ProposalsV3List = () => { const { data: totalCount, isFetching: fetchingProposalCount } = useGetProposalCount(); const { data, isFetching: fetchingProposals, fetchNextPage } = useProposals(totalCount); - const { data: config, isFetching: fetchingVotingConfig } = useGetVotingConfig(); + const { data: config, isFetching: fetchingVotingConfig } = useGetVotingConfig(); const totalNumberOfProposalsLoaded = data?.pages.reduce( (acc, page) => acc + page.proposals.length, diff --git a/src/modules/governance/RepresentativesInfoPanel.tsx b/src/modules/governance/RepresentativesInfoPanel.tsx index 35b20e31ab..2a31ca01a8 100644 --- a/src/modules/governance/RepresentativesInfoPanel.tsx +++ b/src/modules/governance/RepresentativesInfoPanel.tsx @@ -22,42 +22,64 @@ export const RepresentativesInfoPanel = () => { console.log(isContractAddress, fetchingIsContractAddress); - const representatives = - data?.Representatives.filter((r) => r.representative !== ZERO_ADDRESS) ?? []; + // const representatives = + // data?.Representatives.filter((r) => r.representative !== ZERO_ADDRESS) ?? []; return ( - - Representative - - + + + Linked addresses + + + + - Selected you as a representative + + Representative smart contract wallet (ie. Safe) addresses on other chains. + - - - Your representative - - {representatives.map((representative, i) => ( - - network logo - - {representative.representative} - + + {data?.Representatives.map((representative, i) => ( + + + network logo + + {networkConfigs[representative.chainId].name} + + + {representative.representative === ZERO_ADDRESS ? ( + + None + + ) : ( + + {representative.representative} + + )} ))} - + {/* - + */} ); }; From 59ac4588081f9cb2716db297fce605a062543007 Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Fri, 15 Dec 2023 16:08:24 -0600 Subject: [PATCH 20/84] feat: input validation --- .../GovRepresentativesActions.tsx | 4 +- .../GovRepresentativesModalContent.tsx | 60 +++++++++++++++++-- 2 files changed, 58 insertions(+), 6 deletions(-) diff --git a/src/components/transactions/GovRepresentatives/GovRepresentativesActions.tsx b/src/components/transactions/GovRepresentatives/GovRepresentativesActions.tsx index 4749d43f16..26f3bd8ca3 100644 --- a/src/components/transactions/GovRepresentatives/GovRepresentativesActions.tsx +++ b/src/components/transactions/GovRepresentatives/GovRepresentativesActions.tsx @@ -69,8 +69,8 @@ export const GovRepresentativesActions = ({ mainTxState={mainTxState} preparingTransactions={false} handleAction={action} - actionText={Set Representatives} - actionInProgressText={Setting Representatives} + actionText={Confirm transaction} + actionInProgressText={Confirming transaction} isWrongNetwork={isWrongNetwork} /> ); diff --git a/src/components/transactions/GovRepresentatives/GovRepresentativesModalContent.tsx b/src/components/transactions/GovRepresentatives/GovRepresentativesModalContent.tsx index 846ae3f8f5..38279c2030 100644 --- a/src/components/transactions/GovRepresentatives/GovRepresentativesModalContent.tsx +++ b/src/components/transactions/GovRepresentatives/GovRepresentativesModalContent.tsx @@ -1,6 +1,8 @@ import { ChainId } from '@aave/contract-helpers'; import { Trans } from '@lingui/macro'; +import CheckRoundedIcon from '@mui/icons-material/CheckRounded'; import { Box, Checkbox, FormControlLabel, OutlinedInput, Stack, Typography } from '@mui/material'; +import { isAddress } from 'ethers/lib/utils'; import { useState } from 'react'; import { useWeb3Context } from 'src/libs/hooks/useWeb3Context'; import { useRootStore } from 'src/store/root'; @@ -11,10 +13,13 @@ import { TxModalTitle } from '../FlowCommons/TxModalTitle'; import { ChangeNetworkWarning } from '../Warnings/ChangeNetworkWarning'; import { GovRepresentativesActions } from './GovRepresentativesActions'; +const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000'; + interface UIRepresentative { chainId: ChainId; representative: string; remove: boolean; + invalid?: boolean; } export const GovRepresentativesContent = ({ @@ -28,7 +33,13 @@ export const GovRepresentativesContent = ({ state.currentChainId, ]); const [reps, setReps] = useState( - representatives.map((r) => ({ ...r, remove: false })) + representatives.map((r) => { + if (r.representative === ZERO_ADDRESS) { + return { ...r, representative: '', remove: false }; + } else { + return { ...r, remove: false }; + } + }) ); // is Network mismatched @@ -41,14 +52,40 @@ export const GovRepresentativesContent = ({ const networkConfig = getNetworkConfig(govChain); + const handleChange = (value: string, i: number) => { + const valid = isAddress(value); + + setReps((prev) => { + const newReps = [...prev]; + newReps[i].representative = value; + newReps[i].invalid = !valid; + return newReps; + }); + }; + + const blocked = reps.some( + (r) => r.representative !== '' && !r.remove && !isAddress(r.representative) + ); + + const isDirty = reps.some((r) => { + const rep = representatives.find((re) => re.chainId === r.chainId); + // dirty if remvoing or changing address from initial value + if (!rep) return false; + + return ( + (r.remove && rep.representative !== ZERO_ADDRESS) || + (rep.representative !== r.representative && r.representative !== '') + ); + }); + return ( - {isWrongNetwork && !readOnlyModeAddress && ( + {/* {isWrongNetwork && !readOnlyModeAddress && ( - )} + )} */} {reps.map((r, i) => ( + ) + } + onChange={(e) => { + handleChange(e.target.value, i); + }} /> + + Can't validate the wallet address. Try again. + ))} - + ); From cc3363cb66c2e740d73c0469c9e02c66bedf40ab Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Fri, 15 Dec 2023 16:20:27 -0600 Subject: [PATCH 21/84] feat: handle zero address --- .../GovRepresentativesActions.tsx | 15 +++++++++++---- .../GovRepresentativesModalContent.tsx | 11 +++++++---- .../governance/RepresentativesInfoPanel.tsx | 3 ++- src/modules/governance/utils/formatProposal.ts | 2 ++ 4 files changed, 22 insertions(+), 9 deletions(-) diff --git a/src/components/transactions/GovRepresentatives/GovRepresentativesActions.tsx b/src/components/transactions/GovRepresentatives/GovRepresentativesActions.tsx index 26f3bd8ca3..d320ef8e4b 100644 --- a/src/components/transactions/GovRepresentatives/GovRepresentativesActions.tsx +++ b/src/components/transactions/GovRepresentatives/GovRepresentativesActions.tsx @@ -1,21 +1,24 @@ -import { ChainId } from '@aave/contract-helpers'; import { Trans } from '@lingui/macro'; import { queryClient } from 'pages/_app.page'; import { useModalContext } from 'src/hooks/useModal'; import { useWeb3Context } from 'src/libs/hooks/useWeb3Context'; +import { ZERO_ADDRESS } from 'src/modules/governance/utils/formatProposal'; import { useRootStore } from 'src/store/root'; import { getErrorTextFromError, TxAction } from 'src/ui-config/errorMapping'; import { queryKeysFactory } from 'src/ui-config/queries'; import { useSharedDependencies } from 'src/ui-config/SharedDependenciesProvider'; import { TxActionsWrapper } from '../TxActionsWrapper'; +import { UIRepresentative } from './GovRepresentativesModalContent'; export const GovRepresentativesActions = ({ blocked, isWrongNetwork, + representatives, }: { blocked: boolean; isWrongNetwork: boolean; + representatives: UIRepresentative[]; }) => { const { mainTxState, setMainTxState, setTxError } = useModalContext(); const { governanceV3Service } = useSharedDependencies(); @@ -30,9 +33,13 @@ export const GovRepresentativesActions = ({ setMainTxState({ ...mainTxState, loading: true }); try { - let populatedTx = governanceV3Service.updateRepresentativesForChain(account, [ - { chainId: ChainId.sepolia, representative: '0xf0aF78eFcC9e307884738c8d8D2B931ddee901f5' }, - ]); + let populatedTx = governanceV3Service.updateRepresentativesForChain( + account, + representatives.map((r) => ({ + chainId: r.chainId, + representative: r.representative === '' ? ZERO_ADDRESS : r.representative, + })) + ); populatedTx = await estimateGasLimit(populatedTx); const response = await sendTx(populatedTx); diff --git a/src/components/transactions/GovRepresentatives/GovRepresentativesModalContent.tsx b/src/components/transactions/GovRepresentatives/GovRepresentativesModalContent.tsx index 38279c2030..868c4354ed 100644 --- a/src/components/transactions/GovRepresentatives/GovRepresentativesModalContent.tsx +++ b/src/components/transactions/GovRepresentatives/GovRepresentativesModalContent.tsx @@ -5,6 +5,7 @@ import { Box, Checkbox, FormControlLabel, OutlinedInput, Stack, Typography } fro import { isAddress } from 'ethers/lib/utils'; import { useState } from 'react'; import { useWeb3Context } from 'src/libs/hooks/useWeb3Context'; +import { ZERO_ADDRESS } from 'src/modules/governance/utils/formatProposal'; import { useRootStore } from 'src/store/root'; import { governanceConfig } from 'src/ui-config/governanceConfig'; import { getNetworkConfig, networkConfigs } from 'src/utils/marketsAndNetworksConfig'; @@ -13,9 +14,7 @@ import { TxModalTitle } from '../FlowCommons/TxModalTitle'; import { ChangeNetworkWarning } from '../Warnings/ChangeNetworkWarning'; import { GovRepresentativesActions } from './GovRepresentativesActions'; -const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000'; - -interface UIRepresentative { +export interface UIRepresentative { chainId: ChainId; representative: string; remove: boolean; @@ -161,7 +160,11 @@ export const GovRepresentativesContent = ({ ))} - + ); diff --git a/src/modules/governance/RepresentativesInfoPanel.tsx b/src/modules/governance/RepresentativesInfoPanel.tsx index 2a31ca01a8..67cfc621e1 100644 --- a/src/modules/governance/RepresentativesInfoPanel.tsx +++ b/src/modules/governance/RepresentativesInfoPanel.tsx @@ -7,7 +7,8 @@ import { useModalContext } from 'src/hooks/useModal'; import { useRootStore } from 'src/store/root'; import { networkConfigs } from 'src/ui-config/networksConfig'; -const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000'; +import { ZERO_ADDRESS } from './utils/formatProposal'; + const userWithRepChosen = '0xAd9A211D227d2D9c1B5573f73CDa0284b758Ac0C'; export const RepresentativesInfoPanel = () => { diff --git a/src/modules/governance/utils/formatProposal.ts b/src/modules/governance/utils/formatProposal.ts index f36dfae0bb..c183eb741b 100644 --- a/src/modules/governance/utils/formatProposal.ts +++ b/src/modules/governance/utils/formatProposal.ts @@ -15,6 +15,8 @@ import { getProvider } from 'src/utils/marketsAndNetworksConfig'; import { isDifferentialReached, isQuorumReached } from '../helpers'; +export const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000'; + export type FormattedProposal = { id?: string; totalVotes: number; From b8b9d10d7d94df811cb0bd0593500bb1b094a81e Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Fri, 15 Dec 2023 16:30:44 -0600 Subject: [PATCH 22/84] fix: loader --- src/modules/governance/ProposalsV3List.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/modules/governance/ProposalsV3List.tsx b/src/modules/governance/ProposalsV3List.tsx index 437855e27d..928eefc8ce 100644 --- a/src/modules/governance/ProposalsV3List.tsx +++ b/src/modules/governance/ProposalsV3List.tsx @@ -18,7 +18,7 @@ export const ProposalsV3List = () => { const { data: totalCount, isFetching: fetchingProposalCount } = useGetProposalCount(); const { data, isFetching: fetchingProposals, fetchNextPage } = useProposals(totalCount); - const { data: config, isFetching: fetchingVotingConfig } = useGetVotingConfig(); + const { data: config, isFetching: fetchingVotingConfig } = useGetVotingConfig(); const totalNumberOfProposalsLoaded = data?.pages.reduce( (acc, page) => acc + page.proposals.length, @@ -41,7 +41,7 @@ export const ProposalsV3List = () => { totalNumberOfProposalsLoaded === undefined || totalNumberOfProposalsLoaded < totalCount } > - {data?.pages.map((group, i) => ( + {data?.pages.map((group, i) => ( {group.proposals.map((proposal, index) => ( { direction="column" justifyContent="center" sx={{ - pl: { xs: 0, lg: 4 }, + pl: { xs: 0, lg: 18 }, mt: { xs: 7, lg: 0 }, }} > From 8e5fcf0eafa4deecae841e4f68ec837eb2548b71 Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Mon, 18 Dec 2023 08:52:21 -0600 Subject: [PATCH 23/84] fix: no reps state --- .../governance/RepresentativesInfoPanel.tsx | 23 +++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/src/modules/governance/RepresentativesInfoPanel.tsx b/src/modules/governance/RepresentativesInfoPanel.tsx index 67cfc621e1..60b802a4a0 100644 --- a/src/modules/governance/RepresentativesInfoPanel.tsx +++ b/src/modules/governance/RepresentativesInfoPanel.tsx @@ -1,5 +1,6 @@ +import { PlusIcon } from '@heroicons/react/outline'; import { Trans } from '@lingui/macro'; -import { Box, Button, Paper, Stack, Typography } from '@mui/material'; +import { Box, Button, IconButton, Paper, Stack, SvgIcon, Typography } from '@mui/material'; import { CompactableTypography, CompactMode } from 'src/components/CompactableTypography'; import { useRepresentatives } from 'src/hooks/governance/useRepresentatives'; import { useIsContractAddress } from 'src/hooks/useIsContractAddress'; @@ -62,9 +63,23 @@ export const RepresentativesInfoPanel = () => { {representative.representative === ZERO_ADDRESS ? ( - - None - + + ({ + height: '24px', + width: '24px', + background: theme.palette.background.disabled, + })} + onClick={() => openGovRepresentatives(data?.Representatives || [])} + > + + + + + + Connect + + ) : ( Date: Mon, 18 Dec 2023 10:12:44 -0600 Subject: [PATCH 24/84] fix: styling --- .../GovRepresentativesActions.tsx | 6 ++- .../GovRepresentativesModalContent.tsx | 27 +++++++++-- .../governance/RepresentativesInfoPanel.tsx | 48 +++++++++++-------- 3 files changed, 53 insertions(+), 28 deletions(-) diff --git a/src/components/transactions/GovRepresentatives/GovRepresentativesActions.tsx b/src/components/transactions/GovRepresentatives/GovRepresentativesActions.tsx index d320ef8e4b..a79f19682e 100644 --- a/src/components/transactions/GovRepresentatives/GovRepresentativesActions.tsx +++ b/src/components/transactions/GovRepresentatives/GovRepresentativesActions.tsx @@ -20,7 +20,7 @@ export const GovRepresentativesActions = ({ isWrongNetwork: boolean; representatives: UIRepresentative[]; }) => { - const { mainTxState, setMainTxState, setTxError } = useModalContext(); + const { mainTxState, setMainTxState, setTxError, setGasLimit } = useModalContext(); const { governanceV3Service } = useSharedDependencies(); const { sendTx } = useWeb3Context(); const [account, estimateGasLimit, addTransaction] = useRootStore((state) => [ @@ -37,7 +37,7 @@ export const GovRepresentativesActions = ({ account, representatives.map((r) => ({ chainId: r.chainId, - representative: r.representative === '' ? ZERO_ADDRESS : r.representative, + representative: r.representative === '' || r.remove ? ZERO_ADDRESS : r.representative, })) ); @@ -69,6 +69,8 @@ export const GovRepresentativesActions = ({ } }; + setGasLimit('100000'); // TODO + return ( ; }) => { + const { mainTxState, txError } = useModalContext(); const { chainId: connectedChainId, readOnlyModeAddress } = useWeb3Context(); const [currentNetworkConfig, currentChainId] = useRootStore((state) => [ state.currentNetworkConfig, @@ -57,7 +62,7 @@ export const GovRepresentativesContent = ({ setReps((prev) => { const newReps = [...prev]; newReps[i].representative = value; - newReps[i].invalid = !valid; + newReps[i].invalid = value !== '' && !valid; return newReps; }); }; @@ -77,6 +82,16 @@ export const GovRepresentativesContent = ({ ); }); + if (mainTxState.success) { + return ( + + <> + + ); + } + + console.log(reps); + return ( @@ -91,10 +106,10 @@ export const GovRepresentativesContent = ({ key={i} sx={(theme) => ({ border: reps[i].remove - ? `1px solid ${theme.palette.text.secondary}` + ? `1px solid ${theme.palette.action.active}` : '1px solid transparent', borderRadius: '8px', - background: reps[i].remove ? theme.palette.background.default : 'transparent', + background: reps[i].remove ? theme.palette.background.surface : 'transparent', })} > @@ -159,7 +174,9 @@ export const GovRepresentativesContent = ({ ))} - + + + {txError && } { const account = useRootStore((state) => state.account); const { data } = useRepresentatives(account); - console.log(data); const { data: isContractAddress, isFetching: fetchingIsContractAddress } = useIsContractAddress(account); console.log(isContractAddress, fetchingIsContractAddress); - // const representatives = - // data?.Representatives.filter((r) => r.representative !== ZERO_ADDRESS) ?? []; - return ( @@ -81,30 +79,38 @@ export const RepresentativesInfoPanel = () => { ) : ( - - {representative.representative} - + + + {representative.representative} + + ({ + width: 14, + height: 14, + ml: 0.5, + color: theme.palette.text.muted, + })} + > + + + + )} ))} - {/* - - */} ); }; From 64ef703d3101211ea7904b7bba7efc401c199819 Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Mon, 18 Dec 2023 10:50:45 -0600 Subject: [PATCH 25/84] fix: deploying --- .../governance/RepresentativesInfoPanel.tsx | 22 ++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/src/modules/governance/RepresentativesInfoPanel.tsx b/src/modules/governance/RepresentativesInfoPanel.tsx index d8e8d6f98d..bd307834e0 100644 --- a/src/modules/governance/RepresentativesInfoPanel.tsx +++ b/src/modules/governance/RepresentativesInfoPanel.tsx @@ -25,6 +25,12 @@ export const RepresentativesInfoPanel = () => { console.log(isContractAddress, fetchingIsContractAddress); + console.log(data); + + const isAddressSelectedAsRepresentative = data?.Represented.some( + (r) => r.votersRepresented.length > 0 + ); + return ( @@ -32,11 +38,13 @@ export const RepresentativesInfoPanel = () => { Linked addresses - + {isAddressSelectedAsRepresentative ? null : ( + + )} @@ -114,3 +122,7 @@ export const RepresentativesInfoPanel = () => { ); }; + +const Representing = () => { + +} From ddd5f4640966bebc259ab70e41dc9e2c8f39c7a7 Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Mon, 18 Dec 2023 10:54:37 -0600 Subject: [PATCH 26/84] fix: enable gov on deployment --- src/ui-config/menu-items/index.tsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/ui-config/menu-items/index.tsx b/src/ui-config/menu-items/index.tsx index d64cc9c37d..bcbb8f12ae 100644 --- a/src/ui-config/menu-items/index.tsx +++ b/src/ui-config/menu-items/index.tsx @@ -37,10 +37,10 @@ export const navigation: Navigation[] = [ link: ROUTES.governance, title: t`Governance`, dataCy: 'menuGovernance', - isVisible: () => - process.env.NEXT_PUBLIC_ENABLE_GOVERNANCE === 'true' && - process.env.NEXT_PUBLIC_ENV === 'prod' && - !ENABLE_TESTNET, + // isVisible: () => + // process.env.NEXT_PUBLIC_ENABLE_GOVERNANCE === 'true' && + // process.env.NEXT_PUBLIC_ENV === 'prod' && + // !ENABLE_TESTNET, }, { link: ROUTES.faucet, From b6f7587ceed828cd949ce331db7435b1bad5ca2f Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Mon, 18 Dec 2023 11:57:12 -0600 Subject: [PATCH 27/84] fix: build errors --- pages/governance/index.governance.tsx | 2 + pages/governance/ipfs-preview.governance.tsx | 4 +- .../proposal/[proposalId].governance.tsx | 76 ++++--- .../GovRepresentativesModalContent.tsx | 34 ++-- src/hooks/governance/useProposal.ts | 37 ++-- src/hooks/governance/useProposals.ts | 30 +-- src/hooks/governance/useVotingMachine.ts | 3 - src/locales/en/messages.js | 2 +- src/locales/en/messages.po | 104 +++++----- src/modules/governance/ProposalListItem.tsx | 4 +- src/modules/governance/ProposalsList.tsx | 185 ------------------ src/modules/governance/ProposalsV3List.tsx | 2 +- .../governance/RepresentativesInfoPanel.tsx | 6 +- .../governance/proposal/ProposalDetails.tsx | 36 ++-- .../governance/proposal/ProposalOverview.tsx | 94 +++++---- src/modules/governance/proposal/VoteInfo.tsx | 29 +-- .../proposal/VotersListContainer.tsx | 11 +- .../governance/proposal/VotersListItem.tsx | 16 +- .../governance/proposal/VotingResults.tsx | 71 +++---- 19 files changed, 285 insertions(+), 461 deletions(-) delete mode 100644 src/hooks/governance/useVotingMachine.ts delete mode 100644 src/modules/governance/ProposalsList.tsx diff --git a/pages/governance/index.governance.tsx b/pages/governance/index.governance.tsx index 4752b9a2cf..592a535fe9 100644 --- a/pages/governance/index.governance.tsx +++ b/pages/governance/index.governance.tsx @@ -80,6 +80,8 @@ export default function Governance(props: GovernancePageProps) { const [mode, setMode] = useState(Tabs.PROPOSALS); const trackEvent = useRootStore((store) => store.trackEvent); + console.log(props); + useEffect(() => { trackEvent('Page Viewed', { 'Page Name': 'Governance', diff --git a/pages/governance/ipfs-preview.governance.tsx b/pages/governance/ipfs-preview.governance.tsx index 9e818aa34f..e9ea23c593 100644 --- a/pages/governance/ipfs-preview.governance.tsx +++ b/pages/governance/ipfs-preview.governance.tsx @@ -16,7 +16,7 @@ export default function IpfsPreview() { const router = useRouter(); const ipfsHash = router.query.ipfsHash as string; const [ipfs, setIpfs] = useState(); - + console.log(ipfs); async function fetchIpfs() { const proposalMetadata = await getProposalMetadata(ipfsHash, governanceConfig.ipfsGateway); const newIpfs = { @@ -31,7 +31,7 @@ export default function IpfsPreview() { if (!ipfsHash) return; fetchIpfs(); }, [ipfsHash]); - return ; + return ; } IpfsPreview.getLayout = function getLayout(page: React.ReactElement) { diff --git a/pages/governance/proposal/[proposalId].governance.tsx b/pages/governance/proposal/[proposalId].governance.tsx index 8d53a1ab96..b4c70b9dbd 100644 --- a/pages/governance/proposal/[proposalId].governance.tsx +++ b/pages/governance/proposal/[proposalId].governance.tsx @@ -1,24 +1,20 @@ -import { - Grid, -} from '@mui/material'; -import dayjs from 'dayjs'; +import { Grid } from '@mui/material'; +// import dayjs from 'dayjs'; import dynamic from 'next/dynamic'; +import { useRouter } from 'next/router'; import { Meta } from 'src/components/Meta'; +import { useProposal } from 'src/hooks/governance/useProposal'; +import { useGetVotingConfig } from 'src/hooks/governance/useProposals'; +import { useProposalVotes } from 'src/hooks/governance/useProposalVotes'; import { MainLayout } from 'src/layouts/MainLayout'; +// import { ProposalDetails } from 'src/modules/governance/proposal/ProposalDetails'; +import { ProposalOverview } from 'src/modules/governance/proposal/ProposalOverview'; import { ProposalTopPanel } from 'src/modules/governance/proposal/ProposalTopPanel'; import { VoteInfo } from 'src/modules/governance/proposal/VoteInfo'; -import { - formatProposalV3 -} from 'src/modules/governance/utils/formatProposal'; +import { VotingResults } from 'src/modules/governance/proposal/VotingResults'; +import { formatProposalV3 } from 'src/modules/governance/utils/formatProposal'; import { ContentContainer } from '../../../src/components/ContentContainer'; -import { useProposal } from 'src/hooks/governance/useProposal'; -import { useRouter } from 'next/router'; -import { ProposalOverview } from 'src/modules/governance/proposal/ProposalOverview'; -import { useGetVotingConfig } from 'src/hooks/governance/useProposals'; -import { useProposalVotes } from 'src/hooks/governance/useProposalVotes'; -import { VotingResults } from 'src/modules/governance/proposal/VotingResults'; -import { ProposalDetails } from 'src/modules/governance/proposal/ProposalDetails'; const GovVoteModal = dynamic(() => import('../../../src/components/transactions/GovVote/GovVoteModal').then( @@ -27,15 +23,27 @@ const GovVoteModal = dynamic(() => ); export default function ProposalPage() { - const { query } = useRouter() - const proposalId = query.proposalId as string || "0" - const { data: proposal, isLoading: newProposalLoading, error: newProposalError } = useProposal(+proposalId); - const { data: constants, isLoading: constantsLoading } = useGetVotingConfig() - const proposalVotes = useProposalVotes({ proposalId }) + const { query } = useRouter(); + const proposalId = (query.proposalId as string) || '0'; + const { + data: proposal, + isLoading: newProposalLoading, + error: newProposalError, + } = useProposal(+proposalId); + const { data: constants, isLoading: constantsLoading } = useGetVotingConfig(); + const proposalVotes = useProposalVotes({ proposalId }); - const loading = newProposalLoading || constantsLoading + const loading = newProposalLoading || constantsLoading; - const formattedProposal = proposal && constants && formatProposalV3(proposal.proposal, proposal.proposalData, constants, proposal.votingMachineData) + const formattedProposal = + proposal && + constants && + formatProposalV3( + proposal.proposal, + proposal.proposalData, + constants, + proposal.votingMachineData + ); return ( <> @@ -51,18 +59,24 @@ export default function ProposalPage() { - + - {proposal && formattedProposal && - ( - <> - - - { /* */} - - ) - } + {proposal && formattedProposal && ( + <> + + + {/* */} + + )} diff --git a/src/components/transactions/GovRepresentatives/GovRepresentativesModalContent.tsx b/src/components/transactions/GovRepresentatives/GovRepresentativesModalContent.tsx index 824c265a58..2b6720f3fa 100644 --- a/src/components/transactions/GovRepresentatives/GovRepresentativesModalContent.tsx +++ b/src/components/transactions/GovRepresentatives/GovRepresentativesModalContent.tsx @@ -5,17 +5,17 @@ import { Box, Checkbox, FormControlLabel, OutlinedInput, Stack, Typography } fro import { isAddress, parseUnits } from 'ethers/lib/utils'; import { useState } from 'react'; import { useModalContext } from 'src/hooks/useModal'; -import { useWeb3Context } from 'src/libs/hooks/useWeb3Context'; +// import { useWeb3Context } from 'src/libs/hooks/useWeb3Context'; import { ZERO_ADDRESS } from 'src/modules/governance/utils/formatProposal'; -import { useRootStore } from 'src/store/root'; -import { governanceConfig } from 'src/ui-config/governanceConfig'; -import { getNetworkConfig, networkConfigs } from 'src/utils/marketsAndNetworksConfig'; +// import { useRootStore } from 'src/store/root'; +// import { governanceConfig } from 'src/ui-config/governanceConfig'; +import { networkConfigs } from 'src/utils/marketsAndNetworksConfig'; import { BaseSuccessView } from '../FlowCommons/BaseSuccess'; import { GasEstimationError } from '../FlowCommons/GasEstimationError'; import { TxModalTitle } from '../FlowCommons/TxModalTitle'; import { GasStation } from '../GasStation/GasStation'; -import { ChangeNetworkWarning } from '../Warnings/ChangeNetworkWarning'; +// import { ChangeNetworkWarning } from '../Warnings/ChangeNetworkWarning'; import { GovRepresentativesActions } from './GovRepresentativesActions'; export interface UIRepresentative { @@ -31,11 +31,11 @@ export const GovRepresentativesContent = ({ representatives: Array<{ chainId: ChainId; representative: string }>; }) => { const { mainTxState, txError } = useModalContext(); - const { chainId: connectedChainId, readOnlyModeAddress } = useWeb3Context(); - const [currentNetworkConfig, currentChainId] = useRootStore((state) => [ - state.currentNetworkConfig, - state.currentChainId, - ]); + // const { chainId: connectedChainId } = useWeb3Context(); + // const [currentNetworkConfig, currentChainId] = useRootStore((state) => [ + // state.currentNetworkConfig, + // state.currentChainId, + // ]); const [reps, setReps] = useState( representatives.map((r) => { if (r.representative === ZERO_ADDRESS) { @@ -47,14 +47,14 @@ export const GovRepresentativesContent = ({ ); // is Network mismatched - const govChain = - currentNetworkConfig.isFork && - currentNetworkConfig.underlyingChainId === governanceConfig.chainId - ? currentChainId - : governanceConfig.chainId; - const isWrongNetwork = connectedChainId !== govChain; + // const govChain = + // currentNetworkConfig.isFork && + // currentNetworkConfig.underlyingChainId === governanceConfig.chainId + // ? currentChainId + // : governanceConfig.chainId; + // const isWrongNetwork = connectedChainId !== govChain; - const networkConfig = getNetworkConfig(govChain); + // const networkConfig = getNetworkConfig(govChain); const handleChange = (value: string, i: number) => { const valid = isAddress(value); diff --git a/src/hooks/governance/useProposal.ts b/src/hooks/governance/useProposal.ts index 4a761c5763..a9caf73845 100644 --- a/src/hooks/governance/useProposal.ts +++ b/src/hooks/governance/useProposal.ts @@ -1,5 +1,5 @@ import { ProposalData, VotingMachineProposal } from '@aave/contract-helpers'; -import { useInfiniteQuery, useQuery } from '@tanstack/react-query'; +import { useQuery } from '@tanstack/react-query'; import request, { gql } from 'graphql-request'; import { GovernanceV3Service } from 'src/services/GovernanceV3Service'; import { VotingMachineService } from 'src/services/VotingMachineService'; @@ -15,9 +15,9 @@ export type SubgraphProposal = { }; export interface EnhancedProposal { - proposal: SubgraphProposal - proposalData: ProposalData - votingMachineData: VotingMachineProposal + proposal: SubgraphProposal; + proposalData: ProposalData; + votingMachineData: VotingMachineProposal; } const GOV_CORE_SUBGRAPH_URL = @@ -37,11 +37,15 @@ const getProposalQuery = gql` `; export const getProposal = async (proposalId: number) => { - const result = await request<{ proposalCreateds: SubgraphProposal[] }>(GOV_CORE_SUBGRAPH_URL, getProposalQuery, { - proposalId - }); + const result = await request<{ proposalCreateds: SubgraphProposal[] }>( + GOV_CORE_SUBGRAPH_URL, + getProposalQuery, + { + proposalId, + } + ); return result.proposalCreateds[0]; -} +}; async function fetchProposal( proposalId: number, @@ -52,12 +56,16 @@ async function fetchProposal( const proposalData = (await governanceV3Service.getProposalsData(+proposalId, +proposalId, 1))[0]; - const votingMachineData = (await votingMachineService.getProposalsData([{ - id: +proposalData.id, - snapshotBlockHash: proposalData.proposalData.snapshotBlockHash, - chainId: proposalData.votingChainId, - votingPortalAddress: proposalData.proposalData.votingPortal - }]))[0]; + const votingMachineData = ( + await votingMachineService.getProposalsData([ + { + id: +proposalData.id, + snapshotBlockHash: proposalData.proposalData.snapshotBlockHash, + chainId: proposalData.votingChainId, + votingPortalAddress: proposalData.proposalData.votingPortal, + }, + ]) + )[0]; return { proposal, @@ -76,4 +84,3 @@ export const useProposal = (proposalId: number) => { refetchOnReconnect: false, }); }; - diff --git a/src/hooks/governance/useProposals.ts b/src/hooks/governance/useProposals.ts index 8c4081ba67..aa24e2cbd6 100644 --- a/src/hooks/governance/useProposals.ts +++ b/src/hooks/governance/useProposals.ts @@ -138,18 +138,18 @@ export const useGetVotingConfig = () => { // TODO: group proposals by chain ID, query the correct voting contract for each proposal, // and then merge the results together, orderd by propopsal id descending -export const useGetVotingMachineProposalsData = ( - proposals: Array<{ id: number; snapshotBlockHash: string }>, - enabled: boolean -) => { - const { votingMachineSerivce } = useSharedDependencies(); - return useQuery({ - queryFn: () => votingMachineSerivce.getProposalsData(proposals), - queryKey: ['votingMachineProposalsData'], - enabled: proposals?.length > 0 && enabled, - refetchOnMount: false, - refetchOnWindowFocus: false, - refetchOnReconnect: false, - // staleTime: Infinity, ???? - }); -}; +// export const useGetVotingMachineProposalsData = ( +// proposals: Array<{ id: number; snapshotBlockHash: string }>, +// enabled: boolean +// ) => { +// const { votingMachineSerivce } = useSharedDependencies(); +// return useQuery({ +// queryFn: () => votingMachineSerivce.getProposalsData(proposals), +// queryKey: ['votingMachineProposalsData'], +// enabled: proposals?.length > 0 && enabled, +// refetchOnMount: false, +// refetchOnWindowFocus: false, +// refetchOnReconnect: false, +// // staleTime: Infinity, ???? +// }); +// }; diff --git a/src/hooks/governance/useVotingMachine.ts b/src/hooks/governance/useVotingMachine.ts deleted file mode 100644 index b8de7bd552..0000000000 --- a/src/hooks/governance/useVotingMachine.ts +++ /dev/null @@ -1,3 +0,0 @@ -export const useVotingMachineData = () => { - -} diff --git a/src/locales/en/messages.js b/src/locales/en/messages.js index ff4aff6f97..f294071d99 100644 --- a/src/locales/en/messages.js +++ b/src/locales/en/messages.js @@ -1 +1 @@ -/*eslint-disable*/module.exports={messages:{"...":"...",".CSV":".CSV",".JSON":".JSON","<0><1><2/>Add <3/> stkAAVE to borrow at <4/> (max discount)":"<0><1><2/>Add <3/> stkAAVE to borrow at <4/> (max discount)","<0><1><2/>Add stkAAVE to see borrow rate with discount":"<0><1><2/>Add stkAAVE to see borrow rate with discount","<0>Ampleforth is a rebasing asset. Visit the <1>documentation to learn more.":"<0>Ampleforth is a rebasing asset. Visit the <1>documentation to learn more.","<0>Attention: Parameter changes via governance can alter your account health factor and risk of liquidation. Follow the <1>Aave governance forum for updates.":"<0>Attention: Parameter changes via governance can alter your account health factor and risk of liquidation. Follow the <1>Aave governance forum for updates.","<0>Slippage tolerance <1>{selectedSlippage}% <2>{0}":["<0>Slippage tolerance <1>",["selectedSlippage"],"% <2>",["0"],""],"AAVE holders (Ethereum network only) can stake their AAVE in the Safety Module to add more security to the protocol and earn Safety Incentives. In the case of a shortfall event, up to 30% of your stake can be slashed to cover the deficit, providing an additional layer of protection for the protocol.":"AAVE holders (Ethereum network only) can stake their AAVE in the Safety Module to add more security to the protocol and earn Safety Incentives. In the case of a shortfall event, up to 30% of your stake can be slashed to cover the deficit, providing an additional layer of protection for the protocol.","APR":"APR","APY":"APY","APY change":"APY change","APY type":"APY type","APY type change":"APY type change","APY with discount applied":"APY with discount applied","APY, borrow rate":"APY, borrow rate","APY, stable":"APY, stable","APY, variable":"APY, variable","AToken supply is not zero":"AToken supply is not zero","Aave Governance":"Aave Governance","Aave aToken":"Aave aToken","Aave debt token":"Aave debt token","Aave is a fully decentralized, community governed protocol by the AAVE token-holders. AAVE token-holders collectively discuss, propose, and vote on upgrades to the protocol. AAVE token-holders (Ethereum network only) can either vote themselves on new proposals or delagate to an address of choice. To learn more check out the Governance":"Aave is a fully decentralized, community governed protocol by the AAVE token-holders. AAVE token-holders collectively discuss, propose, and vote on upgrades to the protocol. AAVE token-holders (Ethereum network only) can either vote themselves on new proposals or delagate to an address of choice. To learn more check out the Governance","Aave per month":"Aave per month","About GHO":"About GHO","Account":"Account","Action cannot be performed because the reserve is frozen":"Action cannot be performed because the reserve is frozen","Action cannot be performed because the reserve is paused":"Action cannot be performed because the reserve is paused","Action requires an active reserve":"Action requires an active reserve","Activate Cooldown":"Activate Cooldown","Add stkAAVE to see borrow APY with the discount":"Add stkAAVE to see borrow APY with the discount","Add to wallet":"Add to wallet","Add {0} to wallet to track your balance.":["Add ",["0"]," to wallet to track your balance."],"Address is not a contract":"Address is not a contract","Addresses":"Addresses","Addresses ({0})":["Addresses (",["0"],")"],"All Assets":"All Assets","All done!":"All done!","All proposals":"All proposals","All transactions":"All transactions","Allowance required action":"Allowance required action","Allows you to decide whether to use a supplied asset as collateral. An asset used as collateral will affect your borrowing power and health factor.":"Allows you to decide whether to use a supplied asset as collateral. An asset used as collateral will affect your borrowing power and health factor.","Allows you to switch between <0>variable and <1>stable interest rates, where variable rate can increase and decrease depending on the amount of liquidity in the reserve, and stable rate will stay the same for the duration of your loan.":"Allows you to switch between <0>variable and <1>stable interest rates, where variable rate can increase and decrease depending on the amount of liquidity in the reserve, and stable rate will stay the same for the duration of your loan.","Amount":"Amount","Amount claimable":"Amount claimable","Amount in cooldown":"Amount in cooldown","Amount must be greater than 0":"Amount must be greater than 0","Amount to unstake":"Amount to unstake","An error has occurred fetching the proposal metadata from IPFS.":"An error has occurred fetching the proposal metadata from IPFS.","Approve Confirmed":"Approve Confirmed","Approve with":"Approve with","Approve {symbol} to continue":["Approve ",["symbol"]," to continue"],"Approving {symbol}...":["Approving ",["symbol"],"..."],"Array parameters that should be equal length are not":"Array parameters that should be equal length are not","Asset":"Asset","Asset can be only used as collateral in isolation mode with limited borrowing power. To enter isolation mode, disable all other collateral.":"Asset can be only used as collateral in isolation mode with limited borrowing power. To enter isolation mode, disable all other collateral.","Asset can only be used as collateral in isolation mode only.":"Asset can only be used as collateral in isolation mode only.","Asset cannot be migrated because you have isolated collateral in {marketName} v3 Market which limits borrowable assets. You can manage your collateral in <0>{marketName} V3 Dashboard":["Asset cannot be migrated because you have isolated collateral in ",["marketName"]," v3 Market which limits borrowable assets. You can manage your collateral in <0>",["marketName"]," V3 Dashboard"],"Asset cannot be migrated due to insufficient liquidity or borrow cap limitation in {marketName} v3 market.":["Asset cannot be migrated due to insufficient liquidity or borrow cap limitation in ",["marketName"]," v3 market."],"Asset cannot be migrated due to supply cap restriction in {marketName} v3 market.":["Asset cannot be migrated due to supply cap restriction in ",["marketName"]," v3 market."],"Asset cannot be migrated to {marketName} V3 Market due to E-mode restrictions. You can disable or manage E-mode categories in your <0>V3 Dashboard":["Asset cannot be migrated to ",["marketName"]," V3 Market due to E-mode restrictions. You can disable or manage E-mode categories in your <0>V3 Dashboard"],"Asset cannot be migrated to {marketName} v3 Market since collateral asset will enable isolation mode.":["Asset cannot be migrated to ",["marketName"]," v3 Market since collateral asset will enable isolation mode."],"Asset cannot be used as collateral.":"Asset cannot be used as collateral.","Asset category":"Asset category","Asset is frozen in {marketName} v3 market, hence this position cannot be migrated.":["Asset is frozen in ",["marketName"]," v3 market, hence this position cannot be migrated."],"Asset is not borrowable in isolation mode":"Asset is not borrowable in isolation mode","Asset is not listed":"Asset is not listed","Asset supply is limited to a certain amount to reduce protocol exposure to the asset and to help manage risks involved.":"Asset supply is limited to a certain amount to reduce protocol exposure to the asset and to help manage risks involved.","Assets":"Assets","Assets to borrow":"Assets to borrow","Assets to supply":"Assets to supply","Assets with zero LTV ({assetsBlockingWithdraw}) must be withdrawn or disabled as collateral to perform this action":["Assets with zero LTV (",["assetsBlockingWithdraw"],") must be withdrawn or disabled as collateral to perform this action"],"At a discount":"At a discount","Author":"Author","Available":"Available","Available assets":"Available assets","Available liquidity":"Available liquidity","Available on":"Available on","Available rewards":"Available rewards","Available to borrow":"Available to borrow","Available to supply":"Available to supply","Back to Dashboard":"Back to Dashboard","Balance":"Balance","Balance to revoke":"Balance to revoke","Be careful - You are very close to liquidation. Consider depositing more collateral or paying down some of your borrowed positions":"Be careful - You are very close to liquidation. Consider depositing more collateral or paying down some of your borrowed positions","Be mindful of the network congestion and gas prices.":"Be mindful of the network congestion and gas prices.","Because this asset is paused, no actions can be taken until further notice":"Because this asset is paused, no actions can be taken until further notice","Before supplying":"Before supplying","Blocked Address":"Blocked Address","Borrow":"Borrow","Borrow APY":"Borrow APY","Borrow APY rate":"Borrow APY rate","Borrow APY, variable":"Borrow APY, variable","Borrow amount to reach {0}% utilization":["Borrow amount to reach ",["0"],"% utilization"],"Borrow and repay in same block is not allowed":"Borrow and repay in same block is not allowed","Borrow apy":"Borrow apy","Borrow balance":"Borrow balance","Borrow balance after repay":"Borrow balance after repay","Borrow balance after switch":"Borrow balance after switch","Borrow cap":"Borrow cap","Borrow cap is exceeded":"Borrow cap is exceeded","Borrow info":"Borrow info","Borrow power used":"Borrow power used","Borrow rate APY":"Borrow rate APY","Borrow rate change":"Borrow rate change","Borrow {symbol}":["Borrow ",["symbol"]],"Borrowed":"Borrowed","Borrowed asset amount":"Borrowed asset amount","Borrowing is currently unavailable for {0}.":["Borrowing is currently unavailable for ",["0"],"."],"Borrowing is disabled due to an Aave community decision. <0>More details":"Borrowing is disabled due to an Aave community decision. <0>More details","Borrowing is not enabled":"Borrowing is not enabled","Borrowing is unavailable because you’re using Isolation mode. To manage Isolation mode visit your <0>Dashboard.":"Borrowing is unavailable because you’re using Isolation mode. To manage Isolation mode visit your <0>Dashboard.","Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) and Isolation mode. To manage E-Mode and Isolation mode visit your <0>Dashboard.":"Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) and Isolation mode. To manage E-Mode and Isolation mode visit your <0>Dashboard.","Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) for {0} category. To manage E-Mode categories visit your <0>Dashboard.":["Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) for ",["0"]," category. To manage E-Mode categories visit your <0>Dashboard."],"Borrowing of this asset is limited to a certain amount to minimize liquidity pool insolvency.":"Borrowing of this asset is limited to a certain amount to minimize liquidity pool insolvency.","Borrowing power and assets are limited due to Isolation mode.":"Borrowing power and assets are limited due to Isolation mode.","Borrowing this amount will reduce your health factor and increase risk of liquidation.":"Borrowing this amount will reduce your health factor and increase risk of liquidation.","Borrowing {symbol}":["Borrowing ",["symbol"]],"Both":"Both","Buy Crypto With Fiat":"Buy Crypto With Fiat","Buy Crypto with Fiat":"Buy Crypto with Fiat","Buy {cryptoSymbol} with Fiat":["Buy ",["cryptoSymbol"]," with Fiat"],"COPIED!":"COPIED!","COPY IMAGE":"COPY IMAGE","Can be collateral":"Can be collateral","Can be executed":"Can be executed","Cancel":"Cancel","Cannot disable E-Mode":"Cannot disable E-Mode","Choose how much voting/proposition power to give to someone else by delegating some of your AAVE or stkAAVE balance. Your tokens will remain in your account, but your delegate will be able to vote or propose on your behalf. If your AAVE or stkAAVE balance changes, your delegate's voting/proposition power will be automatically adjusted.":"Choose how much voting/proposition power to give to someone else by delegating some of your AAVE or stkAAVE balance. Your tokens will remain in your account, but your delegate will be able to vote or propose on your behalf. If your AAVE or stkAAVE balance changes, your delegate's voting/proposition power will be automatically adjusted.","Choose one of the on-ramp services":"Choose one of the on-ramp services","Claim":"Claim","Claim all":"Claim all","Claim all rewards":"Claim all rewards","Claim {0}":["Claim ",["0"]],"Claim {symbol}":["Claim ",["symbol"]],"Claimable AAVE":"Claimable AAVE","Claimed":"Claimed","Claiming":"Claiming","Claiming {symbol}":["Claiming ",["symbol"]],"Close":"Close","Collateral":"Collateral","Collateral balance after repay":"Collateral balance after repay","Collateral change":"Collateral change","Collateral is (mostly) the same currency that is being borrowed":"Collateral is (mostly) the same currency that is being borrowed","Collateral to repay with":"Collateral to repay with","Collateral usage":"Collateral usage","Collateral usage is limited because of Isolation mode.":"Collateral usage is limited because of Isolation mode.","Collateral usage is limited because of isolation mode.":"Collateral usage is limited because of isolation mode.","Collateral usage is limited because of isolation mode. <0>Learn More":"Collateral usage is limited because of isolation mode. <0>Learn More","Collateralization":"Collateralization","Collector Contract":"Collector Contract","Collector Info":"Collector Info","Connect wallet":"Connect wallet","Cooldown period":"Cooldown period","Cooldown period warning":"Cooldown period warning","Cooldown time left":"Cooldown time left","Cooldown to unstake":"Cooldown to unstake","Cooling down...":"Cooling down...","Copy address":"Copy address","Copy error message":"Copy error message","Copy error text":"Copy error text","Covered debt":"Covered debt","Created":"Created","Current LTV":"Current LTV","Current differential":"Current differential","Current v2 Balance":"Current v2 Balance","Current v2 balance":"Current v2 balance","Current votes":"Current votes","Dark mode":"Dark mode","Dashboard":"Dashboard","Data couldn't be fetched, please reload graph.":"Data couldn't be fetched, please reload graph.","Debt":"Debt","Debt ceiling is exceeded":"Debt ceiling is exceeded","Debt ceiling is not zero":"Debt ceiling is not zero","Debt ceiling limits the amount possible to borrow against this asset by protocol users. Debt ceiling is specific to assets in isolation mode and is denoted in USD.":"Debt ceiling limits the amount possible to borrow against this asset by protocol users. Debt ceiling is specific to assets in isolation mode and is denoted in USD.","Delegated power":"Delegated power","Details":"Details","Developers":"Developers","Differential":"Differential","Disable E-Mode":"Disable E-Mode","Disable testnet":"Disable testnet","Disable {symbol} as collateral":["Disable ",["symbol"]," as collateral"],"Disabled":"Disabled","Disabling E-Mode":"Disabling E-Mode","Disabling this asset as collateral affects your borrowing power and Health Factor.":"Disabling this asset as collateral affects your borrowing power and Health Factor.","Disconnect Wallet":"Disconnect Wallet","Discord channel":"Discord channel","Discount":"Discount","Discount applied for <0/> staking AAVE":"Discount applied for <0/> staking AAVE","Discount model parameters":"Discount model parameters","Discount parameters are decided by the Aave community and may be changed over time. Check Governance for updates and vote to participate. <0>Learn more":"Discount parameters are decided by the Aave community and may be changed over time. Check Governance for updates and vote to participate. <0>Learn more","Discountable amount":"Discountable amount","Docs":"Docs","Download":"Download","Due to internal stETH mechanics required for rebasing support, it is not possible to perform a collateral switch where stETH is the source token.":"Due to internal stETH mechanics required for rebasing support, it is not possible to perform a collateral switch where stETH is the source token.","Due to the Horizon bridge exploit, certain assets on the Harmony network are not at parity with Ethereum, which affects the Aave V3 Harmony market.":"Due to the Horizon bridge exploit, certain assets on the Harmony network are not at parity with Ethereum, which affects the Aave V3 Harmony market.","E-Mode":"E-Mode","E-Mode Category":"E-Mode Category","E-Mode category":"E-Mode category","E-Mode increases your LTV for a selected category of assets up to 97%. <0>Learn more":"E-Mode increases your LTV for a selected category of assets up to 97%. <0>Learn more","E-Mode increases your LTV for a selected category of assets up to<0/>. <1>Learn more":"E-Mode increases your LTV for a selected category of assets up to<0/>. <1>Learn more","E-Mode increases your LTV for a selected category of assets, meaning that when E-mode is enabled, you will have higher borrowing power over assets of the same E-mode category which are defined by Aave Governance. You can enter E-Mode from your <0>Dashboard. To learn more about E-Mode and applied restrictions in <1>FAQ or <2>Aave V3 Technical Paper.":"E-Mode increases your LTV for a selected category of assets, meaning that when E-mode is enabled, you will have higher borrowing power over assets of the same E-mode category which are defined by Aave Governance. You can enter E-Mode from your <0>Dashboard. To learn more about E-Mode and applied restrictions in <1>FAQ or <2>Aave V3 Technical Paper.","Effective interest rate":"Effective interest rate","Efficiency mode (E-Mode)":"Efficiency mode (E-Mode)","Emode":"Emode","Enable E-Mode":"Enable E-Mode","Enable {symbol} as collateral":["Enable ",["symbol"]," as collateral"],"Enabled":"Enabled","Enabling E-Mode":"Enabling E-Mode","Enabling E-Mode only allows you to borrow assets belonging to the selected category. Please visit our <0>FAQ guide to learn more about how it works and the applied restrictions.":"Enabling E-Mode only allows you to borrow assets belonging to the selected category. Please visit our <0>FAQ guide to learn more about how it works and the applied restrictions.","Enabling this asset as collateral increases your borrowing power and Health Factor. However, it can get liquidated if your health factor drops below 1.":"Enabling this asset as collateral increases your borrowing power and Health Factor. However, it can get liquidated if your health factor drops below 1.","Ended":"Ended","Ends":"Ends","English":"English","Enter ETH address":"Enter ETH address","Enter an amount":"Enter an amount","Error connecting. Try refreshing the page.":"Error connecting. Try refreshing the page.","Estimated compounding interest, including discount for Staking {0}AAVE in Safety Module.":["Estimated compounding interest, including discount for Staking ",["0"],"AAVE in Safety Module."],"Exceeds the discount":"Exceeds the discount","Executed":"Executed","Expected amount to repay":"Expected amount to repay","Expires":"Expires","Export data to":"Export data to","FAQ":"FAQ","FAQS":"FAQS","Failed to load proposal voters. Please refresh the page.":"Failed to load proposal voters. Please refresh the page.","Faucet":"Faucet","Faucet {0}":["Faucet ",["0"]],"Fetching data...":"Fetching data...","Filter":"Filter","Fixed":"Fixed","Fixed rate":"Fixed rate","Flashloan is disabled for this asset, hence this position cannot be migrated.":"Flashloan is disabled for this asset, hence this position cannot be migrated.","For repayment of a specific type of debt, the user needs to have debt that type":"For repayment of a specific type of debt, the user needs to have debt that type","Forum discussion":"Forum discussion","French":"French","Funds in the Safety Module":"Funds in the Safety Module","GHO is a native decentralized, collateral-backed digital asset pegged to USD. It is created by users via borrowing against multiple collateral. When user repays their GHO borrow position, the protocol burns that user's GHO. All the interest payments accrued by minters of GHO would be directly transferred to the AaveDAO treasury.":"GHO is a native decentralized, collateral-backed digital asset pegged to USD. It is created by users via borrowing against multiple collateral. When user repays their GHO borrow position, the protocol burns that user's GHO. All the interest payments accrued by minters of GHO would be directly transferred to the AaveDAO treasury.","Get ABP Token":"Get ABP Token","Global settings":"Global settings","Go Back":"Go Back","Go to Balancer Pool":"Go to Balancer Pool","Go to V3 Dashboard":"Go to V3 Dashboard","Governance":"Governance","Greek":"Greek","Health Factor ({0} v2)":["Health Factor (",["0"]," v2)"],"Health Factor ({0} v3)":["Health Factor (",["0"]," v3)"],"Health factor":"Health factor","Health factor is lesser than the liquidation threshold":"Health factor is lesser than the liquidation threshold","Health factor is not below the threshold":"Health factor is not below the threshold","Hide":"Hide","Holders of stkAAVE receive a discount on the GHO borrowing rate":"Holders of stkAAVE receive a discount on the GHO borrowing rate","I acknowledge the risks involved.":"I acknowledge the risks involved.","I fully understand the risks of migrating.":"I fully understand the risks of migrating.","I understand how cooldown ({0}) and unstaking ({1}) work":["I understand how cooldown (",["0"],") and unstaking (",["1"],") work"],"If the error continues to happen,<0/> you may report it to this":"If the error continues to happen,<0/> you may report it to this","If the health factor goes below 1, the liquidation of your collateral might be triggered.":"If the health factor goes below 1, the liquidation of your collateral might be triggered.","If you DO NOT unstake within {0} of unstake window, you will need to activate cooldown process again.":["If you DO NOT unstake within ",["0"]," of unstake window, you will need to activate cooldown process again."],"If your loan to value goes above the liquidation threshold your collateral supplied may be liquidated.":"If your loan to value goes above the liquidation threshold your collateral supplied may be liquidated.","In E-Mode some assets are not borrowable. Exit E-Mode to get access to all assets":"In E-Mode some assets are not borrowable. Exit E-Mode to get access to all assets","In Isolation mode, you cannot supply other assets as collateral. A global debt ceiling limits the borrowing power of the isolated asset. To exit isolation mode disable {0} as collateral before borrowing another asset. Read more in our <0>FAQ":["In Isolation mode, you cannot supply other assets as collateral. A global debt ceiling limits the borrowing power of the isolated asset. To exit isolation mode disable ",["0"]," as collateral before borrowing another asset. Read more in our <0>FAQ"],"Inconsistent flashloan parameters":"Inconsistent flashloan parameters","Insufficient collateral to cover new borrow position. Wallet must have borrowing power remaining to perform debt switch.":"Insufficient collateral to cover new borrow position. Wallet must have borrowing power remaining to perform debt switch.","Interest accrued":"Interest accrued","Interest rate rebalance conditions were not met":"Interest rate rebalance conditions were not met","Interest rate strategy":"Interest rate strategy","Interest rate that is determined by Aave Governance. This rate may be changed over time depending on the need for the GHO supply to contract/expand. <0>Learn more":"Interest rate that is determined by Aave Governance. This rate may be changed over time depending on the need for the GHO supply to contract/expand. <0>Learn more","Invalid amount to burn":"Invalid amount to burn","Invalid amount to mint":"Invalid amount to mint","Invalid bridge protocol fee":"Invalid bridge protocol fee","Invalid expiration":"Invalid expiration","Invalid flashloan premium":"Invalid flashloan premium","Invalid return value of the flashloan executor function":"Invalid return value of the flashloan executor function","Invalid signature":"Invalid signature","Isolated":"Isolated","Isolated Debt Ceiling":"Isolated Debt Ceiling","Isolated assets have limited borrowing power and other assets cannot be used as collateral.":"Isolated assets have limited borrowing power and other assets cannot be used as collateral.","Join the community discussion":"Join the community discussion","LEARN MORE":"LEARN MORE","Language":"Language","Learn more":"Learn more","Learn more about risks involved":"Learn more about risks involved","Learn more in our <0>FAQ guide":"Learn more in our <0>FAQ guide","Learn more.":"Learn more.","Links":"Links","Liqudation":"Liqudation","Liquidated collateral":"Liquidated collateral","Liquidation":"Liquidation","Liquidation <0/> threshold":"Liquidation <0/> threshold","Liquidation Threshold":"Liquidation Threshold","Liquidation at":"Liquidation at","Liquidation penalty":"Liquidation penalty","Liquidation risk":"Liquidation risk","Liquidation risk parameters":"Liquidation risk parameters","Liquidation threshold":"Liquidation threshold","Liquidation value":"Liquidation value","Loading data...":"Loading data...","Ltv validation failed":"Ltv validation failed","MAI has been paused due to a community decision. Supply, borrows and repays are impacted. <0>More details":"MAI has been paused due to a community decision. Supply, borrows and repays are impacted. <0>More details","MAX":"MAX","Manage analytics":"Manage analytics","Market":"Market","Markets":"Markets","Max":"Max","Max LTV":"Max LTV","Max slashing":"Max slashing","Max slippage":"Max slippage","Maximum amount available to borrow against this asset is limited because debt ceiling is at {0}%.":["Maximum amount available to borrow against this asset is limited because debt ceiling is at ",["0"],"%."],"Maximum amount available to borrow is <0/> {0} (<1/>).":["Maximum amount available to borrow is <0/> ",["0"]," (<1/>)."],"Maximum amount available to borrow is limited because protocol borrow cap is nearly reached.":"Maximum amount available to borrow is limited because protocol borrow cap is nearly reached.","Maximum amount available to supply is <0/> {0} (<1/>).":["Maximum amount available to supply is <0/> ",["0"]," (<1/>)."],"Maximum amount available to supply is limited because protocol supply cap is at {0}%.":["Maximum amount available to supply is limited because protocol supply cap is at ",["0"],"%."],"Maximum loan to value":"Maximum loan to value","Meet GHO":"Meet GHO","Menu":"Menu","Migrate":"Migrate","Migrate to V3":"Migrate to V3","Migrate to v3":"Migrate to v3","Migrate to {0} v3 Market":["Migrate to ",["0"]," v3 Market"],"Migrated":"Migrated","Migrating":"Migrating","Migrating multiple collaterals and borrowed assets at the same time can be an expensive operation and might fail in certain situations.<0>Therefore it’s not recommended to migrate positions with more than 5 assets (deposited + borrowed) at the same time.":"Migrating multiple collaterals and borrowed assets at the same time can be an expensive operation and might fail in certain situations.<0>Therefore it’s not recommended to migrate positions with more than 5 assets (deposited + borrowed) at the same time.","Migration risks":"Migration risks","Minimum GHO borrow amount":"Minimum GHO borrow amount","Minimum USD value received":"Minimum USD value received","Minimum staked Aave amount":"Minimum staked Aave amount","Minimum {0} received":["Minimum ",["0"]," received"],"More":"More","NAY":"NAY","Need help connecting a wallet? <0>Read our FAQ":"Need help connecting a wallet? <0>Read our FAQ","Net APR":"Net APR","Net APY":"Net APY","Net APY is the combined effect of all supply and borrow positions on net worth, including incentives. It is possible to have a negative net APY if debt APY is higher than supply APY.":"Net APY is the combined effect of all supply and borrow positions on net worth, including incentives. It is possible to have a negative net APY if debt APY is higher than supply APY.","Net worth":"Net worth","Network":"Network","Network not supported for this wallet":"Network not supported for this wallet","New APY":"New APY","No assets selected to migrate.":"No assets selected to migrate.","No rewards to claim":"No rewards to claim","No search results{0}":["No search results",["0"]],"No transactions yet.":"No transactions yet.","No voting power":"No voting power","None":"None","Not a valid address":"Not a valid address","Not enough balance on your wallet":"Not enough balance on your wallet","Not enough collateral to repay this amount of debt with":"Not enough collateral to repay this amount of debt with","Not enough staked balance":"Not enough staked balance","Not enough voting power to participate in this proposal":"Not enough voting power to participate in this proposal","Not reached":"Not reached","Nothing borrowed yet":"Nothing borrowed yet","Nothing found":"Nothing found","Nothing staked":"Nothing staked","Nothing supplied yet":"Nothing supplied yet","Notify":"Notify","Ok, Close":"Ok, Close","Ok, I got it":"Ok, I got it","Operation not supported":"Operation not supported","Oracle price":"Oracle price","Overview":"Overview","Page not found":"Page not found","Participating in this {symbol} reserve gives annualized rewards.":["Participating in this ",["symbol"]," reserve gives annualized rewards."],"Pending...":"Pending...","Per the community, the Fantom market has been frozen.":"Per the community, the Fantom market has been frozen.","Per the community, the V2 AMM market has been deprecated.":"Per the community, the V2 AMM market has been deprecated.","Please always be aware of your <0>Health Factor (HF) when partially migrating a position and that your rates will be updated to V3 rates.":"Please always be aware of your <0>Health Factor (HF) when partially migrating a position and that your rates will be updated to V3 rates.","Please connect a wallet to view your personal information here.":"Please connect a wallet to view your personal information here.","Please connect your wallet to be able to switch your tokens.":"Please connect your wallet to be able to switch your tokens.","Please connect your wallet to get free testnet assets.":"Please connect your wallet to get free testnet assets.","Please connect your wallet to see migration tool.":"Please connect your wallet to see migration tool.","Please connect your wallet to see your supplies, borrowings, and open positions.":"Please connect your wallet to see your supplies, borrowings, and open positions.","Please connect your wallet to view transaction history.":"Please connect your wallet to view transaction history.","Please enter a valid wallet address.":"Please enter a valid wallet address.","Please switch to {networkName}.":["Please switch to ",["networkName"],"."],"Please, connect your wallet":"Please, connect your wallet","Pool addresses provider is not registered":"Pool addresses provider is not registered","Powered by":"Powered by","Preview tx and migrate":"Preview tx and migrate","Price":"Price","Price data is not currently available for this reserve on the protocol subgraph":"Price data is not currently available for this reserve on the protocol subgraph","Price impact":"Price impact","Price impact is the spread between the total value of the entry tokens switched and the destination tokens obtained (in USD), which results from the limited liquidity of the trading pair.":"Price impact is the spread between the total value of the entry tokens switched and the destination tokens obtained (in USD), which results from the limited liquidity of the trading pair.","Price impact {0}%":["Price impact ",["0"],"%"],"Privacy":"Privacy","Proposal details":"Proposal details","Proposal overview":"Proposal overview","Proposals":"Proposals","Proposition":"Proposition","Protocol borrow cap at 100% for this asset. Further borrowing unavailable.":"Protocol borrow cap at 100% for this asset. Further borrowing unavailable.","Protocol borrow cap is at 100% for this asset. Further borrowing unavailable.":"Protocol borrow cap is at 100% for this asset. Further borrowing unavailable.","Protocol debt ceiling is at 100% for this asset. Further borrowing against this asset is unavailable.":"Protocol debt ceiling is at 100% for this asset. Further borrowing against this asset is unavailable.","Protocol debt ceiling is at 100% for this asset. Futher borrowing against this asset is unavailable.":"Protocol debt ceiling is at 100% for this asset. Futher borrowing against this asset is unavailable.","Protocol supply cap at 100% for this asset. Further supply unavailable.":"Protocol supply cap at 100% for this asset. Further supply unavailable.","Protocol supply cap is at 100% for this asset. Further supply unavailable.":"Protocol supply cap is at 100% for this asset. Further supply unavailable.","Quorum":"Quorum","Rate change":"Rate change","Raw-Ipfs":"Raw-Ipfs","Reached":"Reached","Reactivate cooldown period to unstake {0} {stakedToken}":["Reactivate cooldown period to unstake ",["0"]," ",["stakedToken"]],"Read more here.":"Read more here.","Read-only mode allows to see address positions in Aave, but you won't be able to perform transactions.":"Read-only mode allows to see address positions in Aave, but you won't be able to perform transactions.","Read-only mode.":"Read-only mode.","Read-only mode. Connect to a wallet to perform transactions.":"Read-only mode. Connect to a wallet to perform transactions.","Receive (est.)":"Receive (est.)","Received":"Received","Recipient address":"Recipient address","Rejected connection request":"Rejected connection request","Reload":"Reload","Reload the page":"Reload the page","Remaining debt":"Remaining debt","Remaining supply":"Remaining supply","Repaid":"Repaid","Repay":"Repay","Repay with":"Repay with","Repay {symbol}":["Repay ",["symbol"]],"Repaying {symbol}":["Repaying ",["symbol"]],"Repayment amount to reach {0}% utilization":["Repayment amount to reach ",["0"],"% utilization"],"Reserve Size":"Reserve Size","Reserve factor":"Reserve factor","Reserve factor is a percentage of interest which goes to a {0} that is controlled by Aave governance to promote ecosystem growth.":["Reserve factor is a percentage of interest which goes to a ",["0"]," that is controlled by Aave governance to promote ecosystem growth."],"Reserve status & configuration":"Reserve status & configuration","Reset":"Reset","Restake":"Restake","Restake {symbol}":["Restake ",["symbol"]],"Restaked":"Restaked","Restaking {symbol}":["Restaking ",["symbol"]],"Review approval tx details":"Review approval tx details","Review changes to continue":"Review changes to continue","Review tx":"Review tx","Review tx details":"Review tx details","Revoke power":"Revoke power","Reward(s) to claim":"Reward(s) to claim","Rewards APR":"Rewards APR","Risk details":"Risk details","SEE CHARTS":"SEE CHARTS","Safety of your deposited collateral against the borrowed assets and its underlying value.":"Safety of your deposited collateral against the borrowed assets and its underlying value.","Save and share":"Save and share","Seatbelt report":"Seatbelt report","Seems like we can't switch the network automatically. Please check if you can change it from the wallet.":"Seems like we can't switch the network automatically. Please check if you can change it from the wallet.","Select":"Select","Select APY type to switch":"Select APY type to switch","Select an asset":"Select an asset","Select language":"Select language","Select slippage tolerance":"Select slippage tolerance","Select v2 borrows to migrate":"Select v2 borrows to migrate","Select v2 supplies to migrate":"Select v2 supplies to migrate","Selected assets have successfully migrated. Visit the Market Dashboard to see them.":"Selected assets have successfully migrated. Visit the Market Dashboard to see them.","Selected borrow assets":"Selected borrow assets","Selected supply assets":"Selected supply assets","Send feedback":"Send feedback","Set up delegation":"Set up delegation","Setup notifications about your Health Factor using the Hal app.":"Setup notifications about your Health Factor using the Hal app.","Share on Lens":"Share on Lens","Share on twitter":"Share on twitter","Show":"Show","Show Frozen or paused assets":"Show Frozen or paused assets","Show assets with 0 balance":"Show assets with 0 balance","Sign to continue":"Sign to continue","Signatures ready":"Signatures ready","Signing":"Signing","Since this asset is frozen, the only available actions are withdraw and repay which can be accessed from the <0>Dashboard":"Since this asset is frozen, the only available actions are withdraw and repay which can be accessed from the <0>Dashboard","Since this is a test network, you can get any of the assets if you have ETH on your wallet":"Since this is a test network, you can get any of the assets if you have ETH on your wallet","Slippage":"Slippage","Slippage is the difference between the quoted and received amounts from changing market conditions between the moment the transaction is submitted and its verification.":"Slippage is the difference between the quoted and received amounts from changing market conditions between the moment the transaction is submitted and its verification.","Some migrated assets will not be used as collateral due to enabled isolation mode in {marketName} V3 Market. Visit <0>{marketName} V3 Dashboard to manage isolation mode.":["Some migrated assets will not be used as collateral due to enabled isolation mode in ",["marketName"]," V3 Market. Visit <0>",["marketName"]," V3 Dashboard to manage isolation mode."],"Something went wrong":"Something went wrong","Sorry, an unexpected error happened. In the meantime you may try reloading the page, or come back later.":"Sorry, an unexpected error happened. In the meantime you may try reloading the page, or come back later.","Sorry, we couldn't find the page you were looking for.":"Sorry, we couldn't find the page you were looking for.","Spanish":"Spanish","Stable":"Stable","Stable Interest Type is disabled for this currency":"Stable Interest Type is disabled for this currency","Stable borrowing is enabled":"Stable borrowing is enabled","Stable borrowing is not enabled":"Stable borrowing is not enabled","Stable debt supply is not zero":"Stable debt supply is not zero","Stable interest rate will <0>stay the same for the duration of your loan. Recommended for long-term loan periods and for users who prefer predictability.":"Stable interest rate will <0>stay the same for the duration of your loan. Recommended for long-term loan periods and for users who prefer predictability.","Stablecoin":"Stablecoin","Stake":"Stake","Stake AAVE":"Stake AAVE","Stake ABPT":"Stake ABPT","Stake cooldown activated":"Stake cooldown activated","Staked":"Staked","Staking":"Staking","Staking APR":"Staking APR","Staking Rewards":"Staking Rewards","Staking balance":"Staking balance","Staking discount":"Staking discount","Started":"Started","State":"State","Supplied":"Supplied","Supplied asset amount":"Supplied asset amount","Supply":"Supply","Supply APY":"Supply APY","Supply apy":"Supply apy","Supply balance":"Supply balance","Supply balance after switch":"Supply balance after switch","Supply cap is exceeded":"Supply cap is exceeded","Supply cap on target reserve reached. Try lowering the amount.":"Supply cap on target reserve reached. Try lowering the amount.","Supply {symbol}":["Supply ",["symbol"]],"Supplying your":"Supplying your","Supplying {symbol}":["Supplying ",["symbol"]],"Switch":"Switch","Switch APY type":"Switch APY type","Switch E-Mode":"Switch E-Mode","Switch E-Mode category":"Switch E-Mode category","Switch Network":"Switch Network","Switch borrow position":"Switch borrow position","Switch rate":"Switch rate","Switch to":"Switch to","Switched":"Switched","Switching":"Switching","Switching E-Mode":"Switching E-Mode","Switching rate":"Switching rate","Techpaper":"Techpaper","Terms":"Terms","Test Assets":"Test Assets","Testnet mode":"Testnet mode","Testnet mode is ON":"Testnet mode is ON","Thank you for voting!!":"Thank you for voting!!","The % of your total borrowing power used. This is based on the amount of your collateral supplied and the total amount that you can borrow.":"The % of your total borrowing power used. This is based on the amount of your collateral supplied and the total amount that you can borrow.","The Aave Balancer Pool Token (ABPT) is a liquidity pool token. You can receive ABPT by depositing a combination of AAVE + ETH in the Balancer liquidity pool. You can then stake your BPT in the Safety Module to secure the protocol and earn Safety Incentives.":"The Aave Balancer Pool Token (ABPT) is a liquidity pool token. You can receive ABPT by depositing a combination of AAVE + ETH in the Balancer liquidity pool. You can then stake your BPT in the Safety Module to secure the protocol and earn Safety Incentives.","The Aave Protocol is programmed to always use the price of 1 GHO = $1. This is different from using market pricing via oracles for other crypto assets. This creates stabilizing arbitrage opportunities when the price of GHO fluctuates.":"The Aave Protocol is programmed to always use the price of 1 GHO = $1. This is different from using market pricing via oracles for other crypto assets. This creates stabilizing arbitrage opportunities when the price of GHO fluctuates.","The Maximum LTV ratio represents the maximum borrowing power of a specific collateral. For example, if a collateral has an LTV of 75%, the user can borrow up to 0.75 worth of ETH in the principal currency for every 1 ETH worth of collateral.":"The Maximum LTV ratio represents the maximum borrowing power of a specific collateral. For example, if a collateral has an LTV of 75%, the user can borrow up to 0.75 worth of ETH in the principal currency for every 1 ETH worth of collateral.","The Stable Rate is not enabled for this currency":"The Stable Rate is not enabled for this currency","The address of the pool addresses provider is invalid":"The address of the pool addresses provider is invalid","The app is running in testnet mode. Learn how it works in":"The app is running in testnet mode. Learn how it works in","The caller of the function is not an AToken":"The caller of the function is not an AToken","The caller of this function must be a pool":"The caller of this function must be a pool","The collateral balance is 0":"The collateral balance is 0","The collateral chosen cannot be liquidated":"The collateral chosen cannot be liquidated","The cooldown period is the time required prior to unstaking your tokens (20 days). You can only withdraw your assets from the Security Module after the cooldown period and within the unstake window.<0>Learn more":"The cooldown period is the time required prior to unstaking your tokens (20 days). You can only withdraw your assets from the Security Module after the cooldown period and within the unstake window.<0>Learn more","The cooldown period is {0}. After {1} of cooldown, you will enter unstake window of {2}. You will continue receiving rewards during cooldown and unstake window.":["The cooldown period is ",["0"],". After ",["1"]," of cooldown, you will enter unstake window of ",["2"],". You will continue receiving rewards during cooldown and unstake window."],"The effects on the health factor would cause liquidation. Try lowering the amount.":"The effects on the health factor would cause liquidation. Try lowering the amount.","The loan to value of the migrated positions would cause liquidation. Increase migrated collateral or reduce migrated borrow to continue.":"The loan to value of the migrated positions would cause liquidation. Increase migrated collateral or reduce migrated borrow to continue.","The requested amount is greater than the max loan size in stable rate mode":"The requested amount is greater than the max loan size in stable rate mode","The total amount of your assets denominated in USD that can be used as collateral for borrowing assets.":"The total amount of your assets denominated in USD that can be used as collateral for borrowing assets.","The underlying asset cannot be rescued":"The underlying asset cannot be rescued","The underlying balance needs to be greater than 0":"The underlying balance needs to be greater than 0","The weighted average of APY for all borrowed assets, including incentives.":"The weighted average of APY for all borrowed assets, including incentives.","The weighted average of APY for all supplied assets, including incentives.":"The weighted average of APY for all supplied assets, including incentives.","There are not enough funds in the{0}reserve to borrow":["There are not enough funds in the",["0"],"reserve to borrow"],"There is not enough collateral to cover a new borrow":"There is not enough collateral to cover a new borrow","There is not enough liquidity for the target asset to perform the switch. Try lowering the amount.":"There is not enough liquidity for the target asset to perform the switch. Try lowering the amount.","There was some error. Please try changing the parameters or <0><1>copy the error":"There was some error. Please try changing the parameters or <0><1>copy the error","These assets are temporarily frozen or paused by Aave community decisions, meaning that further supply / borrow, or rate swap of these assets are unavailable. Withdrawals and debt repayments are allowed. Follow the <0>Aave governance forum for further updates.":"These assets are temporarily frozen or paused by Aave community decisions, meaning that further supply / borrow, or rate swap of these assets are unavailable. Withdrawals and debt repayments are allowed. Follow the <0>Aave governance forum for further updates.","These funds have been borrowed and are not available for withdrawal at this time.":"These funds have been borrowed and are not available for withdrawal at this time.","This action will reduce V2 health factor below liquidation threshold. retain collateral or migrate borrow position to continue.":"This action will reduce V2 health factor below liquidation threshold. retain collateral or migrate borrow position to continue.","This action will reduce health factor of V3 below liquidation threshold. Increase migrated collateral or reduce migrated borrow to continue.":"This action will reduce health factor of V3 below liquidation threshold. Increase migrated collateral or reduce migrated borrow to continue.","This action will reduce your health factor. Please be mindful of the increased risk of collateral liquidation.":"This action will reduce your health factor. Please be mindful of the increased risk of collateral liquidation.","This address is blocked on app.aave.com because it is associated with one or more":"This address is blocked on app.aave.com because it is associated with one or more","This asset has almost reached its borrow cap. There is only {messageValue} available to be borrowed from this market.":["This asset has almost reached its borrow cap. There is only ",["messageValue"]," available to be borrowed from this market."],"This asset has almost reached its supply cap. There can only be {messageValue} supplied to this market.":["This asset has almost reached its supply cap. There can only be ",["messageValue"]," supplied to this market."],"This asset has been paused due to a community decision. Supply, withdraw, borrows and repays are impacted.":"This asset has been paused due to a community decision. Supply, withdraw, borrows and repays are impacted.","This asset has reached its borrow cap. Nothing is available to be borrowed from this market.":"This asset has reached its borrow cap. Nothing is available to be borrowed from this market.","This asset has reached its supply cap. Nothing is available to be supplied from this market.":"This asset has reached its supply cap. Nothing is available to be supplied from this market.","This asset is frozen due to an Aave Protocol Governance decision. <0>More details":"This asset is frozen due to an Aave Protocol Governance decision. <0>More details","This asset is frozen due to an Aave Protocol Governance decision. On the 20th of December 2022, renFIL will no longer be supported and cannot be bridged back to its native network. It is recommended to withdraw supply positions and repay borrow positions so that renFIL can be bridged back to FIL before the deadline. After this date, it will no longer be possible to convert renFIL to FIL. <0>More details":"This asset is frozen due to an Aave Protocol Governance decision. On the 20th of December 2022, renFIL will no longer be supported and cannot be bridged back to its native network. It is recommended to withdraw supply positions and repay borrow positions so that renFIL can be bridged back to FIL before the deadline. After this date, it will no longer be possible to convert renFIL to FIL. <0>More details","This asset is frozen due to an Aave community decision. <0>More details":"This asset is frozen due to an Aave community decision. <0>More details","This asset is planned to be offboarded due to an Aave Protocol Governance decision. <0>More details":"This asset is planned to be offboarded due to an Aave Protocol Governance decision. <0>More details","This gas calculation is only an estimation. Your wallet will set the price of the transaction. You can modify the gas settings directly from your wallet provider.":"This gas calculation is only an estimation. Your wallet will set the price of the transaction. You can modify the gas settings directly from your wallet provider.","This integration was<0>proposed and approvedby the community.":"This integration was<0>proposed and approvedby the community.","This is the total amount available for you to borrow. You can borrow based on your collateral and until the borrow cap is reached.":"This is the total amount available for you to borrow. You can borrow based on your collateral and until the borrow cap is reached.","This is the total amount that you are able to supply to in this reserve. You are able to supply your wallet balance up until the supply cap is reached.":"This is the total amount that you are able to supply to in this reserve. You are able to supply your wallet balance up until the supply cap is reached.","This represents the threshold at which a borrow position will be considered undercollateralized and subject to liquidation for each collateral. For example, if a collateral has a liquidation threshold of 80%, it means that the position will be liquidated when the debt value is worth 80% of the collateral value.":"This represents the threshold at which a borrow position will be considered undercollateralized and subject to liquidation for each collateral. For example, if a collateral has a liquidation threshold of 80%, it means that the position will be liquidated when the debt value is worth 80% of the collateral value.","Time left to be able to withdraw your staked asset.":"Time left to be able to withdraw your staked asset.","Time left to unstake":"Time left to unstake","Time left until the withdrawal window closes.":"Time left until the withdrawal window closes.","Tip: Try increasing slippage or reduce input amount":"Tip: Try increasing slippage or reduce input amount","To borrow you need to supply any asset to be used as collateral.":"To borrow you need to supply any asset to be used as collateral.","To continue, you need to grant Aave smart contracts permission to move your funds from your wallet. Depending on the asset and wallet you use, it is done by signing the permission message (gas free), or by submitting an approval transaction (requires gas). <0>Learn more":"To continue, you need to grant Aave smart contracts permission to move your funds from your wallet. Depending on the asset and wallet you use, it is done by signing the permission message (gas free), or by submitting an approval transaction (requires gas). <0>Learn more","To enable E-mode for the {0} category, all borrow positions outside of this category must be closed.":["To enable E-mode for the ",["0"]," category, all borrow positions outside of this category must be closed."],"To repay on behalf of a user an explicit amount to repay is needed":"To repay on behalf of a user an explicit amount to repay is needed","To request access for this permissioned market, please visit: <0>Acces Provider Name":"To request access for this permissioned market, please visit: <0>Acces Provider Name","To submit a proposal for minor changes to the protocol, you'll need at least 80.00K power. If you want to change the core code base, you'll need 320k power.<0>Learn more.":"To submit a proposal for minor changes to the protocol, you'll need at least 80.00K power. If you want to change the core code base, you'll need 320k power.<0>Learn more.","Top 10 addresses":"Top 10 addresses","Total available":"Total available","Total borrowed":"Total borrowed","Total borrows":"Total borrows","Total emission per day":"Total emission per day","Total interest accrued":"Total interest accrued","Total market size":"Total market size","Total supplied":"Total supplied","Total voting power":"Total voting power","Total worth":"Total worth","Track wallet":"Track wallet","Track wallet balance in read-only mode":"Track wallet balance in read-only mode","Transaction failed":"Transaction failed","Transaction history":"Transaction history","Transaction history is not currently available for this market":"Transaction history is not currently available for this market","Transaction overview":"Transaction overview","Transactions":"Transactions","UNSTAKE {symbol}":["UNSTAKE ",["symbol"]],"Unavailable":"Unavailable","Unbacked":"Unbacked","Unbacked mint cap is exceeded":"Unbacked mint cap is exceeded","Underlying asset does not exist in {marketName} v3 Market, hence this position cannot be migrated.":["Underlying asset does not exist in ",["marketName"]," v3 Market, hence this position cannot be migrated."],"Underlying token":"Underlying token","Unstake now":"Unstake now","Unstake window":"Unstake window","Unstaked":"Unstaked","Unstaking {symbol}":["Unstaking ",["symbol"]],"Update: Disruptions reported for WETH, WBTC, WMATIC, and USDT. AIP 230 will resolve the disruptions and the market will be operating as normal on ~26th May 13h00 UTC.":"Update: Disruptions reported for WETH, WBTC, WMATIC, and USDT. AIP 230 will resolve the disruptions and the market will be operating as normal on ~26th May 13h00 UTC.","Use it to vote for or against active proposals.":"Use it to vote for or against active proposals.","Use your AAVE and stkAAVE balance to delegate your voting and proposition powers. You will not be sending any tokens, only the rights to vote and propose changes to the protocol. You can re-delegate or revoke power to self at any time.":"Use your AAVE and stkAAVE balance to delegate your voting and proposition powers. You will not be sending any tokens, only the rights to vote and propose changes to the protocol. You can re-delegate or revoke power to self at any time.","Used as collateral":"Used as collateral","User cannot withdraw more than the available balance":"User cannot withdraw more than the available balance","User did not borrow the specified currency":"User did not borrow the specified currency","User does not have outstanding stable rate debt on this reserve":"User does not have outstanding stable rate debt on this reserve","User does not have outstanding variable rate debt on this reserve":"User does not have outstanding variable rate debt on this reserve","User is in isolation mode":"User is in isolation mode","User is trying to borrow multiple assets including a siloed one":"User is trying to borrow multiple assets including a siloed one","Users who stake AAVE in Safety Module (i.e. stkAAVE holders) receive a discount on GHO borrow interest rate. The discount applies to 100 GHO for every 1 stkAAVE held. Use the calculator below to see GHO borrow rate with the discount applied.":"Users who stake AAVE in Safety Module (i.e. stkAAVE holders) receive a discount on GHO borrow interest rate. The discount applies to 100 GHO for every 1 stkAAVE held. Use the calculator below to see GHO borrow rate with the discount applied.","Utilization Rate":"Utilization Rate","VIEW TX":"VIEW TX","VOTE NAY":"VOTE NAY","VOTE YAE":"VOTE YAE","Variable":"Variable","Variable debt supply is not zero":"Variable debt supply is not zero","Variable interest rate will <0>fluctuate based on the market conditions. Recommended for short-term positions.":"Variable interest rate will <0>fluctuate based on the market conditions. Recommended for short-term positions.","Variable rate":"Variable rate","Version 2":"Version 2","Version 3":"Version 3","View":"View","View Transactions":"View Transactions","View all votes":"View all votes","View contract":"View contract","View details":"View details","View on Explorer":"View on Explorer","Vote NAY":"Vote NAY","Vote YAE":"Vote YAE","Voted NAY":"Voted NAY","Voted YAE":"Voted YAE","Votes":"Votes","Voting":"Voting","Voting power":"Voting power","Voting results":"Voting results","Wallet Balance":"Wallet Balance","Wallet balance":"Wallet balance","Wallet not detected. Connect or install wallet and retry":"Wallet not detected. Connect or install wallet and retry","Wallets are provided by External Providers and by selecting you agree to Terms of those Providers. Your access to the wallet might be reliant on the External Provider being operational.":"Wallets are provided by External Providers and by selecting you agree to Terms of those Providers. Your access to the wallet might be reliant on the External Provider being operational.","We couldn't find any assets related to your search. Try again with a different asset name, symbol, or address.":"We couldn't find any assets related to your search. Try again with a different asset name, symbol, or address.","We couldn't find any transactions related to your search. Try again with a different asset name, or reset filters.":"We couldn't find any transactions related to your search. Try again with a different asset name, or reset filters.","We couldn’t detect a wallet. Connect a wallet to stake and view your balance.":"We couldn’t detect a wallet. Connect a wallet to stake and view your balance.","We suggest you go back to the Dashboard.":"We suggest you go back to the Dashboard.","Website":"Website","When a liquidation occurs, liquidators repay up to 50% of the outstanding borrowed amount on behalf of the borrower. In return, they can buy the collateral at a discount and keep the difference (liquidation penalty) as a bonus.":"When a liquidation occurs, liquidators repay up to 50% of the outstanding borrowed amount on behalf of the borrower. In return, they can buy the collateral at a discount and keep the difference (liquidation penalty) as a bonus.","With a voting power of <0/>":"With a voting power of <0/>","With testnet Faucet you can get free assets to test the Aave Protocol. Make sure to switch your wallet provider to the appropriate testnet network, select desired asset, and click ‘Faucet’ to get tokens transferred to your wallet. The assets on a testnet are not “real,” meaning they have no monetary value. <0>Learn more":"With testnet Faucet you can get free assets to test the Aave Protocol. Make sure to switch your wallet provider to the appropriate testnet network, select desired asset, and click ‘Faucet’ to get tokens transferred to your wallet. The assets on a testnet are not “real,” meaning they have no monetary value. <0>Learn more","Withdraw":"Withdraw","Withdraw & Switch":"Withdraw & Switch","Withdraw and Switch":"Withdraw and Switch","Withdraw {symbol}":["Withdraw ",["symbol"]],"Withdrawing and Switching":"Withdrawing and Switching","Withdrawing this amount will reduce your health factor and increase risk of liquidation.":"Withdrawing this amount will reduce your health factor and increase risk of liquidation.","Withdrawing {symbol}":["Withdrawing ",["symbol"]],"Wrong Network":"Wrong Network","YAE":"YAE","You are entering Isolation mode":"You are entering Isolation mode","You can borrow this asset with a stable rate only if you borrow more than the amount you are supplying as collateral.":"You can borrow this asset with a stable rate only if you borrow more than the amount you are supplying as collateral.","You can not change Interest Type to stable as your borrowings are higher than your collateral":"You can not change Interest Type to stable as your borrowings are higher than your collateral","You can not disable E-Mode as your current collateralization level is above 80%, disabling E-Mode can cause liquidation. To exit E-Mode supply or repay borrowed positions.":"You can not disable E-Mode as your current collateralization level is above 80%, disabling E-Mode can cause liquidation. To exit E-Mode supply or repay borrowed positions.","You can not switch usage as collateral mode for this currency, because it will cause collateral call":"You can not switch usage as collateral mode for this currency, because it will cause collateral call","You can not use this currency as collateral":"You can not use this currency as collateral","You can not withdraw this amount because it will cause collateral call":"You can not withdraw this amount because it will cause collateral call","You can only switch to tokens with variable APY types. After this transaction, you may change the variable rate to a stable one if available.":"You can only switch to tokens with variable APY types. After this transaction, you may change the variable rate to a stable one if available.","You can only withdraw your assets from the Security Module after the cooldown period ends and the unstake window is active.":"You can only withdraw your assets from the Security Module after the cooldown period ends and the unstake window is active.","You can report incident to our <0>Discord or<1>Github.":"You can report incident to our <0>Discord or<1>Github.","You cancelled the transaction.":"You cancelled the transaction.","You did not participate in this proposal":"You did not participate in this proposal","You do not have supplies in this currency":"You do not have supplies in this currency","You don’t have enough funds in your wallet to repay the full amount. If you proceed to repay with your current amount of funds, you will still have a small borrowing position in your dashboard.":"You don’t have enough funds in your wallet to repay the full amount. If you proceed to repay with your current amount of funds, you will still have a small borrowing position in your dashboard.","You have no AAVE/stkAAVE balance to delegate.":"You have no AAVE/stkAAVE balance to delegate.","You have not borrow yet using this currency":"You have not borrow yet using this currency","You may borrow up to <0/> GHO at <1/> (max discount)":"You may borrow up to <0/> GHO at <1/> (max discount)","You may enter a custom amount in the field.":"You may enter a custom amount in the field.","You switched to {0} rate":["You switched to ",["0"]," rate"],"You unstake here":"You unstake here","You voted {0}":["You voted ",["0"]],"You will exit isolation mode and other tokens can now be used as collateral":"You will exit isolation mode and other tokens can now be used as collateral","You {action} <0/> {symbol}":["You ",["action"]," <0/> ",["symbol"]],"You've successfully switched borrow position.":"You've successfully switched borrow position.","You've successfully switched tokens.":"You've successfully switched tokens.","You've successfully withdrew & switched tokens.":"You've successfully withdrew & switched tokens.","Your balance is lower than the selected amount.":"Your balance is lower than the selected amount.","Your borrows":"Your borrows","Your current loan to value based on your collateral supplied.":"Your current loan to value based on your collateral supplied.","Your health factor and loan to value determine the assurance of your collateral. To avoid liquidations you can supply more collateral or repay borrow positions.":"Your health factor and loan to value determine the assurance of your collateral. To avoid liquidations you can supply more collateral or repay borrow positions.","Your info":"Your info","Your proposition power is based on your AAVE/stkAAVE balance and received delegations.":"Your proposition power is based on your AAVE/stkAAVE balance and received delegations.","Your reward balance is 0":"Your reward balance is 0","Your supplies":"Your supplies","Your voting info":"Your voting info","Your voting power is based on your AAVE/stkAAVE balance and received delegations.":"Your voting power is based on your AAVE/stkAAVE balance and received delegations.","Your {name} wallet is empty. Purchase or transfer assets or use <0>{0} to transfer your {network} assets.":["Your ",["name"]," wallet is empty. Purchase or transfer assets or use <0>",["0"]," to transfer your ",["network"]," assets."],"Your {name} wallet is empty. Purchase or transfer assets.":["Your ",["name"]," wallet is empty. Purchase or transfer assets."],"Your {networkName} wallet is empty. Get free test assets at":["Your ",["networkName"]," wallet is empty. Get free test assets at"],"Your {networkName} wallet is empty. Get free test {0} at":["Your ",["networkName"]," wallet is empty. Get free test ",["0"]," at"],"Zero address not valid":"Zero address not valid","assets":"assets","blocked activities":"blocked activities","copy the error":"copy the error","disabled":"disabled","documentation":"documentation","enabled":"enabled","ends":"ends","for":"for","of":"of","on":"on","please check that the amount you want to supply is not currently being used for staking. If it is being used for staking, your transaction might fail.":"please check that the amount you want to supply is not currently being used for staking. If it is being used for staking, your transaction might fail.","repaid":"repaid","stETH supplied as collateral will continue to accrue staking rewards provided by daily rebases.":"stETH supplied as collateral will continue to accrue staking rewards provided by daily rebases.","stETH tokens will be migrated to Wrapped stETH using Lido Protocol wrapper which leads to supply balance change after migration: {0}":["stETH tokens will be migrated to Wrapped stETH using Lido Protocol wrapper which leads to supply balance change after migration: ",["0"]],"staking view":"staking view","starts":"starts","stkAAVE holders get a discount on GHO borrow rate":"stkAAVE holders get a discount on GHO borrow rate","to":"to","tokens is not the same as staking them. If you wish to stake your":"tokens is not the same as staking them. If you wish to stake your","tokens, please go to the":"tokens, please go to the","withdrew":"withdrew","{0}":[["0"]],"{0} Balance":[["0"]," Balance"],"{0} Faucet":[["0"]," Faucet"],"{0} on-ramp service is provided by External Provider and by selecting you agree to Terms of the Provider. Your access to the service might be reliant on the External Provider being operational.":[["0"]," on-ramp service is provided by External Provider and by selecting you agree to Terms of the Provider. Your access to the service might be reliant on the External Provider being operational."],"{0}{name}":[["0"],["name"]],"{currentMethod}":[["currentMethod"]],"{d}d":[["d"],"d"],"{h}h":[["h"],"h"],"{m}m":[["m"],"m"],"{networkName} Faucet":[["networkName"]," Faucet"],"{notifyText}":[["notifyText"]],"{numSelected}/{numAvailable} assets selected":[["numSelected"],"/",["numAvailable"]," assets selected"],"{s}s":[["s"],"s"],"{title}":[["title"]],"{tooltipText}":[["tooltipText"]]}}; \ No newline at end of file +/*eslint-disable*/module.exports={messages:{"...":"...",".CSV":".CSV",".JSON":".JSON","<0><1><2/>Add <3/> stkAAVE to borrow at <4/> (max discount)":"<0><1><2/>Add <3/> stkAAVE to borrow at <4/> (max discount)","<0><1><2/>Add stkAAVE to see borrow rate with discount":"<0><1><2/>Add stkAAVE to see borrow rate with discount","<0>Ampleforth is a rebasing asset. Visit the <1>documentation to learn more.":"<0>Ampleforth is a rebasing asset. Visit the <1>documentation to learn more.","<0>Attention: Parameter changes via governance can alter your account health factor and risk of liquidation. Follow the <1>Aave governance forum for updates.":"<0>Attention: Parameter changes via governance can alter your account health factor and risk of liquidation. Follow the <1>Aave governance forum for updates.","<0>Slippage tolerance <1>{selectedSlippage}% <2>{0}":["<0>Slippage tolerance <1>",["selectedSlippage"],"% <2>",["0"],""],"AAVE holders (Ethereum network only) can stake their AAVE in the Safety Module to add more security to the protocol and earn Safety Incentives. In the case of a shortfall event, up to 30% of your stake can be slashed to cover the deficit, providing an additional layer of protection for the protocol.":"AAVE holders (Ethereum network only) can stake their AAVE in the Safety Module to add more security to the protocol and earn Safety Incentives. In the case of a shortfall event, up to 30% of your stake can be slashed to cover the deficit, providing an additional layer of protection for the protocol.","APR":"APR","APY":"APY","APY change":"APY change","APY type":"APY type","APY type change":"APY type change","APY with discount applied":"APY with discount applied","APY, borrow rate":"APY, borrow rate","APY, stable":"APY, stable","APY, variable":"APY, variable","AToken supply is not zero":"AToken supply is not zero","Aave Governance":"Aave Governance","Aave aToken":"Aave aToken","Aave debt token":"Aave debt token","Aave is a fully decentralized, community governed protocol by the AAVE token-holders. AAVE token-holders collectively discuss, propose, and vote on upgrades to the protocol. AAVE token-holders (Ethereum network only) can either vote themselves on new proposals or delagate to an address of choice. To learn more check out the Governance":"Aave is a fully decentralized, community governed protocol by the AAVE token-holders. AAVE token-holders collectively discuss, propose, and vote on upgrades to the protocol. AAVE token-holders (Ethereum network only) can either vote themselves on new proposals or delagate to an address of choice. To learn more check out the Governance","Aave per month":"Aave per month","About GHO":"About GHO","Account":"Account","Action cannot be performed because the reserve is frozen":"Action cannot be performed because the reserve is frozen","Action cannot be performed because the reserve is paused":"Action cannot be performed because the reserve is paused","Action requires an active reserve":"Action requires an active reserve","Activate Cooldown":"Activate Cooldown","Add stkAAVE to see borrow APY with the discount":"Add stkAAVE to see borrow APY with the discount","Add to wallet":"Add to wallet","Add {0} to wallet to track your balance.":["Add ",["0"]," to wallet to track your balance."],"Address is not a contract":"Address is not a contract","Addresses":"Addresses","Addresses ({0})":["Addresses (",["0"],")"],"All Assets":"All Assets","All done!":"All done!","All proposals":"All proposals","All transactions":"All transactions","Allowance required action":"Allowance required action","Allows you to decide whether to use a supplied asset as collateral. An asset used as collateral will affect your borrowing power and health factor.":"Allows you to decide whether to use a supplied asset as collateral. An asset used as collateral will affect your borrowing power and health factor.","Allows you to switch between <0>variable and <1>stable interest rates, where variable rate can increase and decrease depending on the amount of liquidity in the reserve, and stable rate will stay the same for the duration of your loan.":"Allows you to switch between <0>variable and <1>stable interest rates, where variable rate can increase and decrease depending on the amount of liquidity in the reserve, and stable rate will stay the same for the duration of your loan.","Amount":"Amount","Amount claimable":"Amount claimable","Amount in cooldown":"Amount in cooldown","Amount must be greater than 0":"Amount must be greater than 0","Amount to unstake":"Amount to unstake","An error has occurred fetching the proposal.":"An error has occurred fetching the proposal.","Approve Confirmed":"Approve Confirmed","Approve with":"Approve with","Approve {symbol} to continue":["Approve ",["symbol"]," to continue"],"Approving {symbol}...":["Approving ",["symbol"],"..."],"Array parameters that should be equal length are not":"Array parameters that should be equal length are not","Asset":"Asset","Asset can be only used as collateral in isolation mode with limited borrowing power. To enter isolation mode, disable all other collateral.":"Asset can be only used as collateral in isolation mode with limited borrowing power. To enter isolation mode, disable all other collateral.","Asset can only be used as collateral in isolation mode only.":"Asset can only be used as collateral in isolation mode only.","Asset cannot be migrated because you have isolated collateral in {marketName} v3 Market which limits borrowable assets. You can manage your collateral in <0>{marketName} V3 Dashboard":["Asset cannot be migrated because you have isolated collateral in ",["marketName"]," v3 Market which limits borrowable assets. You can manage your collateral in <0>",["marketName"]," V3 Dashboard"],"Asset cannot be migrated due to insufficient liquidity or borrow cap limitation in {marketName} v3 market.":["Asset cannot be migrated due to insufficient liquidity or borrow cap limitation in ",["marketName"]," v3 market."],"Asset cannot be migrated due to supply cap restriction in {marketName} v3 market.":["Asset cannot be migrated due to supply cap restriction in ",["marketName"]," v3 market."],"Asset cannot be migrated to {marketName} V3 Market due to E-mode restrictions. You can disable or manage E-mode categories in your <0>V3 Dashboard":["Asset cannot be migrated to ",["marketName"]," V3 Market due to E-mode restrictions. You can disable or manage E-mode categories in your <0>V3 Dashboard"],"Asset cannot be migrated to {marketName} v3 Market since collateral asset will enable isolation mode.":["Asset cannot be migrated to ",["marketName"]," v3 Market since collateral asset will enable isolation mode."],"Asset cannot be used as collateral.":"Asset cannot be used as collateral.","Asset category":"Asset category","Asset is frozen in {marketName} v3 market, hence this position cannot be migrated.":["Asset is frozen in ",["marketName"]," v3 market, hence this position cannot be migrated."],"Asset is not borrowable in isolation mode":"Asset is not borrowable in isolation mode","Asset is not listed":"Asset is not listed","Asset supply is limited to a certain amount to reduce protocol exposure to the asset and to help manage risks involved.":"Asset supply is limited to a certain amount to reduce protocol exposure to the asset and to help manage risks involved.","Assets":"Assets","Assets to borrow":"Assets to borrow","Assets to supply":"Assets to supply","Assets with zero LTV ({assetsBlockingWithdraw}) must be withdrawn or disabled as collateral to perform this action":["Assets with zero LTV (",["assetsBlockingWithdraw"],") must be withdrawn or disabled as collateral to perform this action"],"At a discount":"At a discount","Available":"Available","Available assets":"Available assets","Available liquidity":"Available liquidity","Available on":"Available on","Available rewards":"Available rewards","Available to borrow":"Available to borrow","Available to supply":"Available to supply","Back to Dashboard":"Back to Dashboard","Balance":"Balance","Balance to revoke":"Balance to revoke","Be careful - You are very close to liquidation. Consider depositing more collateral or paying down some of your borrowed positions":"Be careful - You are very close to liquidation. Consider depositing more collateral or paying down some of your borrowed positions","Be mindful of the network congestion and gas prices.":"Be mindful of the network congestion and gas prices.","Because this asset is paused, no actions can be taken until further notice":"Because this asset is paused, no actions can be taken until further notice","Before supplying":"Before supplying","Blocked Address":"Blocked Address","Borrow":"Borrow","Borrow APY":"Borrow APY","Borrow APY rate":"Borrow APY rate","Borrow APY, variable":"Borrow APY, variable","Borrow amount to reach {0}% utilization":["Borrow amount to reach ",["0"],"% utilization"],"Borrow and repay in same block is not allowed":"Borrow and repay in same block is not allowed","Borrow apy":"Borrow apy","Borrow balance":"Borrow balance","Borrow balance after repay":"Borrow balance after repay","Borrow balance after switch":"Borrow balance after switch","Borrow cap":"Borrow cap","Borrow cap is exceeded":"Borrow cap is exceeded","Borrow info":"Borrow info","Borrow power used":"Borrow power used","Borrow rate APY":"Borrow rate APY","Borrow rate change":"Borrow rate change","Borrow {symbol}":["Borrow ",["symbol"]],"Borrowed":"Borrowed","Borrowed asset amount":"Borrowed asset amount","Borrowing is currently unavailable for {0}.":["Borrowing is currently unavailable for ",["0"],"."],"Borrowing is disabled due to an Aave community decision. <0>More details":"Borrowing is disabled due to an Aave community decision. <0>More details","Borrowing is not enabled":"Borrowing is not enabled","Borrowing is unavailable because you’re using Isolation mode. To manage Isolation mode visit your <0>Dashboard.":"Borrowing is unavailable because you’re using Isolation mode. To manage Isolation mode visit your <0>Dashboard.","Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) and Isolation mode. To manage E-Mode and Isolation mode visit your <0>Dashboard.":"Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) and Isolation mode. To manage E-Mode and Isolation mode visit your <0>Dashboard.","Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) for {0} category. To manage E-Mode categories visit your <0>Dashboard.":["Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) for ",["0"]," category. To manage E-Mode categories visit your <0>Dashboard."],"Borrowing of this asset is limited to a certain amount to minimize liquidity pool insolvency.":"Borrowing of this asset is limited to a certain amount to minimize liquidity pool insolvency.","Borrowing power and assets are limited due to Isolation mode.":"Borrowing power and assets are limited due to Isolation mode.","Borrowing this amount will reduce your health factor and increase risk of liquidation.":"Borrowing this amount will reduce your health factor and increase risk of liquidation.","Borrowing {symbol}":["Borrowing ",["symbol"]],"Both":"Both","Buy Crypto With Fiat":"Buy Crypto With Fiat","Buy Crypto with Fiat":"Buy Crypto with Fiat","Buy {cryptoSymbol} with Fiat":["Buy ",["cryptoSymbol"]," with Fiat"],"COPIED!":"COPIED!","COPY IMAGE":"COPY IMAGE","Can be collateral":"Can be collateral","Can be executed":"Can be executed","Can't validate the wallet address. Try again.":"Can't validate the wallet address. Try again.","Cancel":"Cancel","Cannot disable E-Mode":"Cannot disable E-Mode","Choose how much voting/proposition power to give to someone else by delegating some of your AAVE or stkAAVE balance. Your tokens will remain in your account, but your delegate will be able to vote or propose on your behalf. If your AAVE or stkAAVE balance changes, your delegate's voting/proposition power will be automatically adjusted.":"Choose how much voting/proposition power to give to someone else by delegating some of your AAVE or stkAAVE balance. Your tokens will remain in your account, but your delegate will be able to vote or propose on your behalf. If your AAVE or stkAAVE balance changes, your delegate's voting/proposition power will be automatically adjusted.","Choose one of the on-ramp services":"Choose one of the on-ramp services","Claim":"Claim","Claim all":"Claim all","Claim all rewards":"Claim all rewards","Claim {0}":["Claim ",["0"]],"Claim {symbol}":["Claim ",["symbol"]],"Claimable AAVE":"Claimable AAVE","Claimed":"Claimed","Claiming":"Claiming","Claiming {symbol}":["Claiming ",["symbol"]],"Close":"Close","Collateral":"Collateral","Collateral balance after repay":"Collateral balance after repay","Collateral change":"Collateral change","Collateral is (mostly) the same currency that is being borrowed":"Collateral is (mostly) the same currency that is being borrowed","Collateral to repay with":"Collateral to repay with","Collateral usage":"Collateral usage","Collateral usage is limited because of Isolation mode.":"Collateral usage is limited because of Isolation mode.","Collateral usage is limited because of isolation mode.":"Collateral usage is limited because of isolation mode.","Collateral usage is limited because of isolation mode. <0>Learn More":"Collateral usage is limited because of isolation mode. <0>Learn More","Collateralization":"Collateralization","Collector Contract":"Collector Contract","Collector Info":"Collector Info","Confirm transaction":"Confirm transaction","Confirming transaction":"Confirming transaction","Connect":"Connect","Connect wallet":"Connect wallet","Cooldown period":"Cooldown period","Cooldown period warning":"Cooldown period warning","Cooldown time left":"Cooldown time left","Cooldown to unstake":"Cooldown to unstake","Cooling down...":"Cooling down...","Copy address":"Copy address","Copy error message":"Copy error message","Copy error text":"Copy error text","Covered debt":"Covered debt","Current LTV":"Current LTV","Current differential":"Current differential","Current v2 Balance":"Current v2 Balance","Current v2 balance":"Current v2 balance","Current votes":"Current votes","Dark mode":"Dark mode","Dashboard":"Dashboard","Data couldn't be fetched, please reload graph.":"Data couldn't be fetched, please reload graph.","Debt":"Debt","Debt ceiling is exceeded":"Debt ceiling is exceeded","Debt ceiling is not zero":"Debt ceiling is not zero","Debt ceiling limits the amount possible to borrow against this asset by protocol users. Debt ceiling is specific to assets in isolation mode and is denoted in USD.":"Debt ceiling limits the amount possible to borrow against this asset by protocol users. Debt ceiling is specific to assets in isolation mode and is denoted in USD.","Delegated power":"Delegated power","Details":"Details","Developers":"Developers","Differential":"Differential","Disable E-Mode":"Disable E-Mode","Disable testnet":"Disable testnet","Disable {symbol} as collateral":["Disable ",["symbol"]," as collateral"],"Disabled":"Disabled","Disabling E-Mode":"Disabling E-Mode","Disabling this asset as collateral affects your borrowing power and Health Factor.":"Disabling this asset as collateral affects your borrowing power and Health Factor.","Disconnect Wallet":"Disconnect Wallet","Discord channel":"Discord channel","Discount":"Discount","Discount applied for <0/> staking AAVE":"Discount applied for <0/> staking AAVE","Discount model parameters":"Discount model parameters","Discount parameters are decided by the Aave community and may be changed over time. Check Governance for updates and vote to participate. <0>Learn more":"Discount parameters are decided by the Aave community and may be changed over time. Check Governance for updates and vote to participate. <0>Learn more","Discountable amount":"Discountable amount","Docs":"Docs","Download":"Download","Due to internal stETH mechanics required for rebasing support, it is not possible to perform a collateral switch where stETH is the source token.":"Due to internal stETH mechanics required for rebasing support, it is not possible to perform a collateral switch where stETH is the source token.","Due to the Horizon bridge exploit, certain assets on the Harmony network are not at parity with Ethereum, which affects the Aave V3 Harmony market.":"Due to the Horizon bridge exploit, certain assets on the Harmony network are not at parity with Ethereum, which affects the Aave V3 Harmony market.","E-Mode":"E-Mode","E-Mode Category":"E-Mode Category","E-Mode category":"E-Mode category","E-Mode increases your LTV for a selected category of assets up to 97%. <0>Learn more":"E-Mode increases your LTV for a selected category of assets up to 97%. <0>Learn more","E-Mode increases your LTV for a selected category of assets up to<0/>. <1>Learn more":"E-Mode increases your LTV for a selected category of assets up to<0/>. <1>Learn more","E-Mode increases your LTV for a selected category of assets, meaning that when E-mode is enabled, you will have higher borrowing power over assets of the same E-mode category which are defined by Aave Governance. You can enter E-Mode from your <0>Dashboard. To learn more about E-Mode and applied restrictions in <1>FAQ or <2>Aave V3 Technical Paper.":"E-Mode increases your LTV for a selected category of assets, meaning that when E-mode is enabled, you will have higher borrowing power over assets of the same E-mode category which are defined by Aave Governance. You can enter E-Mode from your <0>Dashboard. To learn more about E-Mode and applied restrictions in <1>FAQ or <2>Aave V3 Technical Paper.","Edit":"Edit","Effective interest rate":"Effective interest rate","Efficiency mode (E-Mode)":"Efficiency mode (E-Mode)","Emode":"Emode","Enable E-Mode":"Enable E-Mode","Enable {symbol} as collateral":["Enable ",["symbol"]," as collateral"],"Enabled":"Enabled","Enabling E-Mode":"Enabling E-Mode","Enabling E-Mode only allows you to borrow assets belonging to the selected category. Please visit our <0>FAQ guide to learn more about how it works and the applied restrictions.":"Enabling E-Mode only allows you to borrow assets belonging to the selected category. Please visit our <0>FAQ guide to learn more about how it works and the applied restrictions.","Enabling this asset as collateral increases your borrowing power and Health Factor. However, it can get liquidated if your health factor drops below 1.":"Enabling this asset as collateral increases your borrowing power and Health Factor. However, it can get liquidated if your health factor drops below 1.","English":"English","Enter ETH address":"Enter ETH address","Enter an amount":"Enter an amount","Error connecting. Try refreshing the page.":"Error connecting. Try refreshing the page.","Estimated compounding interest, including discount for Staking {0}AAVE in Safety Module.":["Estimated compounding interest, including discount for Staking ",["0"],"AAVE in Safety Module."],"Exceeds the discount":"Exceeds the discount","Expected amount to repay":"Expected amount to repay","Expires":"Expires","Export data to":"Export data to","FAQ":"FAQ","FAQS":"FAQS","Failed to load proposal voters. Please refresh the page.":"Failed to load proposal voters. Please refresh the page.","Faucet":"Faucet","Faucet {0}":["Faucet ",["0"]],"Fetching data...":"Fetching data...","Filter":"Filter","Fixed":"Fixed","Fixed rate":"Fixed rate","Flashloan is disabled for this asset, hence this position cannot be migrated.":"Flashloan is disabled for this asset, hence this position cannot be migrated.","For repayment of a specific type of debt, the user needs to have debt that type":"For repayment of a specific type of debt, the user needs to have debt that type","French":"French","Funds in the Safety Module":"Funds in the Safety Module","GHO is a native decentralized, collateral-backed digital asset pegged to USD. It is created by users via borrowing against multiple collateral. When user repays their GHO borrow position, the protocol burns that user's GHO. All the interest payments accrued by minters of GHO would be directly transferred to the AaveDAO treasury.":"GHO is a native decentralized, collateral-backed digital asset pegged to USD. It is created by users via borrowing against multiple collateral. When user repays their GHO borrow position, the protocol burns that user's GHO. All the interest payments accrued by minters of GHO would be directly transferred to the AaveDAO treasury.","Get ABP Token":"Get ABP Token","Global settings":"Global settings","Go Back":"Go Back","Go to Balancer Pool":"Go to Balancer Pool","Go to V3 Dashboard":"Go to V3 Dashboard","Governance":"Governance","Greek":"Greek","Health Factor ({0} v2)":["Health Factor (",["0"]," v2)"],"Health Factor ({0} v3)":["Health Factor (",["0"]," v3)"],"Health factor":"Health factor","Health factor is lesser than the liquidation threshold":"Health factor is lesser than the liquidation threshold","Health factor is not below the threshold":"Health factor is not below the threshold","Hide":"Hide","Holders of stkAAVE receive a discount on the GHO borrowing rate":"Holders of stkAAVE receive a discount on the GHO borrowing rate","I acknowledge the risks involved.":"I acknowledge the risks involved.","I fully understand the risks of migrating.":"I fully understand the risks of migrating.","I understand how cooldown ({0}) and unstaking ({1}) work":["I understand how cooldown (",["0"],") and unstaking (",["1"],") work"],"If the error continues to happen,<0/> you may report it to this":"If the error continues to happen,<0/> you may report it to this","If the health factor goes below 1, the liquidation of your collateral might be triggered.":"If the health factor goes below 1, the liquidation of your collateral might be triggered.","If you DO NOT unstake within {0} of unstake window, you will need to activate cooldown process again.":["If you DO NOT unstake within ",["0"]," of unstake window, you will need to activate cooldown process again."],"If your loan to value goes above the liquidation threshold your collateral supplied may be liquidated.":"If your loan to value goes above the liquidation threshold your collateral supplied may be liquidated.","In E-Mode some assets are not borrowable. Exit E-Mode to get access to all assets":"In E-Mode some assets are not borrowable. Exit E-Mode to get access to all assets","In Isolation mode, you cannot supply other assets as collateral. A global debt ceiling limits the borrowing power of the isolated asset. To exit isolation mode disable {0} as collateral before borrowing another asset. Read more in our <0>FAQ":["In Isolation mode, you cannot supply other assets as collateral. A global debt ceiling limits the borrowing power of the isolated asset. To exit isolation mode disable ",["0"]," as collateral before borrowing another asset. Read more in our <0>FAQ"],"Inconsistent flashloan parameters":"Inconsistent flashloan parameters","Insufficient collateral to cover new borrow position. Wallet must have borrowing power remaining to perform debt switch.":"Insufficient collateral to cover new borrow position. Wallet must have borrowing power remaining to perform debt switch.","Interest accrued":"Interest accrued","Interest rate rebalance conditions were not met":"Interest rate rebalance conditions were not met","Interest rate strategy":"Interest rate strategy","Interest rate that is determined by Aave Governance. This rate may be changed over time depending on the need for the GHO supply to contract/expand. <0>Learn more":"Interest rate that is determined by Aave Governance. This rate may be changed over time depending on the need for the GHO supply to contract/expand. <0>Learn more","Invalid amount to burn":"Invalid amount to burn","Invalid amount to mint":"Invalid amount to mint","Invalid bridge protocol fee":"Invalid bridge protocol fee","Invalid expiration":"Invalid expiration","Invalid flashloan premium":"Invalid flashloan premium","Invalid return value of the flashloan executor function":"Invalid return value of the flashloan executor function","Invalid signature":"Invalid signature","Isolated":"Isolated","Isolated Debt Ceiling":"Isolated Debt Ceiling","Isolated assets have limited borrowing power and other assets cannot be used as collateral.":"Isolated assets have limited borrowing power and other assets cannot be used as collateral.","Join the community discussion":"Join the community discussion","LEARN MORE":"LEARN MORE","Language":"Language","Learn more":"Learn more","Learn more about risks involved":"Learn more about risks involved","Learn more in our <0>FAQ guide":"Learn more in our <0>FAQ guide","Learn more.":"Learn more.","Linked addresses":"Linked addresses","Links":"Links","Liqudation":"Liqudation","Liquidated collateral":"Liquidated collateral","Liquidation":"Liquidation","Liquidation <0/> threshold":"Liquidation <0/> threshold","Liquidation Threshold":"Liquidation Threshold","Liquidation at":"Liquidation at","Liquidation penalty":"Liquidation penalty","Liquidation risk":"Liquidation risk","Liquidation risk parameters":"Liquidation risk parameters","Liquidation threshold":"Liquidation threshold","Liquidation value":"Liquidation value","Loading data...":"Loading data...","Ltv validation failed":"Ltv validation failed","MAI has been paused due to a community decision. Supply, borrows and repays are impacted. <0>More details":"MAI has been paused due to a community decision. Supply, borrows and repays are impacted. <0>More details","MAX":"MAX","Manage analytics":"Manage analytics","Market":"Market","Markets":"Markets","Max":"Max","Max LTV":"Max LTV","Max slashing":"Max slashing","Max slippage":"Max slippage","Maximum amount available to borrow against this asset is limited because debt ceiling is at {0}%.":["Maximum amount available to borrow against this asset is limited because debt ceiling is at ",["0"],"%."],"Maximum amount available to borrow is <0/> {0} (<1/>).":["Maximum amount available to borrow is <0/> ",["0"]," (<1/>)."],"Maximum amount available to borrow is limited because protocol borrow cap is nearly reached.":"Maximum amount available to borrow is limited because protocol borrow cap is nearly reached.","Maximum amount available to supply is <0/> {0} (<1/>).":["Maximum amount available to supply is <0/> ",["0"]," (<1/>)."],"Maximum amount available to supply is limited because protocol supply cap is at {0}%.":["Maximum amount available to supply is limited because protocol supply cap is at ",["0"],"%."],"Maximum loan to value":"Maximum loan to value","Meet GHO":"Meet GHO","Menu":"Menu","Migrate":"Migrate","Migrate to V3":"Migrate to V3","Migrate to v3":"Migrate to v3","Migrate to {0} v3 Market":["Migrate to ",["0"]," v3 Market"],"Migrated":"Migrated","Migrating":"Migrating","Migrating multiple collaterals and borrowed assets at the same time can be an expensive operation and might fail in certain situations.<0>Therefore it’s not recommended to migrate positions with more than 5 assets (deposited + borrowed) at the same time.":"Migrating multiple collaterals and borrowed assets at the same time can be an expensive operation and might fail in certain situations.<0>Therefore it’s not recommended to migrate positions with more than 5 assets (deposited + borrowed) at the same time.","Migration risks":"Migration risks","Minimum GHO borrow amount":"Minimum GHO borrow amount","Minimum USD value received":"Minimum USD value received","Minimum staked Aave amount":"Minimum staked Aave amount","Minimum {0} received":["Minimum ",["0"]," received"],"More":"More","NAY":"NAY","Need help connecting a wallet? <0>Read our FAQ":"Need help connecting a wallet? <0>Read our FAQ","Net APR":"Net APR","Net APY":"Net APY","Net APY is the combined effect of all supply and borrow positions on net worth, including incentives. It is possible to have a negative net APY if debt APY is higher than supply APY.":"Net APY is the combined effect of all supply and borrow positions on net worth, including incentives. It is possible to have a negative net APY if debt APY is higher than supply APY.","Net worth":"Net worth","Network":"Network","Network not supported for this wallet":"Network not supported for this wallet","New APY":"New APY","No assets selected to migrate.":"No assets selected to migrate.","No rewards to claim":"No rewards to claim","No search results{0}":["No search results",["0"]],"No transactions yet.":"No transactions yet.","No voting power":"No voting power","None":"None","Not a valid address":"Not a valid address","Not enough balance on your wallet":"Not enough balance on your wallet","Not enough collateral to repay this amount of debt with":"Not enough collateral to repay this amount of debt with","Not enough staked balance":"Not enough staked balance","Not enough voting power to participate in this proposal":"Not enough voting power to participate in this proposal","Not reached":"Not reached","Nothing borrowed yet":"Nothing borrowed yet","Nothing found":"Nothing found","Nothing staked":"Nothing staked","Nothing supplied yet":"Nothing supplied yet","Notify":"Notify","Ok, Close":"Ok, Close","Ok, I got it":"Ok, I got it","Operation not supported":"Operation not supported","Oracle price":"Oracle price","Overview":"Overview","Page not found":"Page not found","Participating in this {symbol} reserve gives annualized rewards.":["Participating in this ",["symbol"]," reserve gives annualized rewards."],"Pending...":"Pending...","Per the community, the Fantom market has been frozen.":"Per the community, the Fantom market has been frozen.","Per the community, the V2 AMM market has been deprecated.":"Per the community, the V2 AMM market has been deprecated.","Please always be aware of your <0>Health Factor (HF) when partially migrating a position and that your rates will be updated to V3 rates.":"Please always be aware of your <0>Health Factor (HF) when partially migrating a position and that your rates will be updated to V3 rates.","Please connect a wallet to view your personal information here.":"Please connect a wallet to view your personal information here.","Please connect your wallet to be able to switch your tokens.":"Please connect your wallet to be able to switch your tokens.","Please connect your wallet to get free testnet assets.":"Please connect your wallet to get free testnet assets.","Please connect your wallet to see migration tool.":"Please connect your wallet to see migration tool.","Please connect your wallet to see your supplies, borrowings, and open positions.":"Please connect your wallet to see your supplies, borrowings, and open positions.","Please connect your wallet to view transaction history.":"Please connect your wallet to view transaction history.","Please enter a valid wallet address.":"Please enter a valid wallet address.","Please switch to {networkName}.":["Please switch to ",["networkName"],"."],"Please, connect your wallet":"Please, connect your wallet","Pool addresses provider is not registered":"Pool addresses provider is not registered","Powered by":"Powered by","Preview tx and migrate":"Preview tx and migrate","Price":"Price","Price data is not currently available for this reserve on the protocol subgraph":"Price data is not currently available for this reserve on the protocol subgraph","Price impact":"Price impact","Price impact is the spread between the total value of the entry tokens switched and the destination tokens obtained (in USD), which results from the limited liquidity of the trading pair.":"Price impact is the spread between the total value of the entry tokens switched and the destination tokens obtained (in USD), which results from the limited liquidity of the trading pair.","Price impact {0}%":["Price impact ",["0"],"%"],"Privacy":"Privacy","Proposal details":"Proposal details","Proposal overview":"Proposal overview","Proposals":"Proposals","Proposition":"Proposition","Protocol borrow cap at 100% for this asset. Further borrowing unavailable.":"Protocol borrow cap at 100% for this asset. Further borrowing unavailable.","Protocol borrow cap is at 100% for this asset. Further borrowing unavailable.":"Protocol borrow cap is at 100% for this asset. Further borrowing unavailable.","Protocol debt ceiling is at 100% for this asset. Further borrowing against this asset is unavailable.":"Protocol debt ceiling is at 100% for this asset. Further borrowing against this asset is unavailable.","Protocol debt ceiling is at 100% for this asset. Futher borrowing against this asset is unavailable.":"Protocol debt ceiling is at 100% for this asset. Futher borrowing against this asset is unavailable.","Protocol supply cap at 100% for this asset. Further supply unavailable.":"Protocol supply cap at 100% for this asset. Further supply unavailable.","Protocol supply cap is at 100% for this asset. Further supply unavailable.":"Protocol supply cap is at 100% for this asset. Further supply unavailable.","Quorum":"Quorum","Rate change":"Rate change","Raw-Ipfs":"Raw-Ipfs","Reached":"Reached","Reactivate cooldown period to unstake {0} {stakedToken}":["Reactivate cooldown period to unstake ",["0"]," ",["stakedToken"]],"Read more here.":"Read more here.","Read-only mode allows to see address positions in Aave, but you won't be able to perform transactions.":"Read-only mode allows to see address positions in Aave, but you won't be able to perform transactions.","Read-only mode.":"Read-only mode.","Read-only mode. Connect to a wallet to perform transactions.":"Read-only mode. Connect to a wallet to perform transactions.","Receive (est.)":"Receive (est.)","Received":"Received","Recipient address":"Recipient address","Rejected connection request":"Rejected connection request","Reload":"Reload","Reload the page":"Reload the page","Remaining debt":"Remaining debt","Remaining supply":"Remaining supply","Remove":"Remove","Repaid":"Repaid","Repay":"Repay","Repay with":"Repay with","Repay {symbol}":["Repay ",["symbol"]],"Repaying {symbol}":["Repaying ",["symbol"]],"Repayment amount to reach {0}% utilization":["Repayment amount to reach ",["0"],"% utilization"],"Representative smart contract wallet (ie. Safe) addresses on other chains.":"Representative smart contract wallet (ie. Safe) addresses on other chains.","Reserve Size":"Reserve Size","Reserve factor":"Reserve factor","Reserve factor is a percentage of interest which goes to a {0} that is controlled by Aave governance to promote ecosystem growth.":["Reserve factor is a percentage of interest which goes to a ",["0"]," that is controlled by Aave governance to promote ecosystem growth."],"Reserve status & configuration":"Reserve status & configuration","Reset":"Reset","Restake":"Restake","Restake {symbol}":["Restake ",["symbol"]],"Restaked":"Restaked","Restaking {symbol}":["Restaking ",["symbol"]],"Review approval tx details":"Review approval tx details","Review changes to continue":"Review changes to continue","Review tx":"Review tx","Review tx details":"Review tx details","Revoke power":"Revoke power","Reward(s) to claim":"Reward(s) to claim","Rewards APR":"Rewards APR","Risk details":"Risk details","SEE CHARTS":"SEE CHARTS","Safety of your deposited collateral against the borrowed assets and its underlying value.":"Safety of your deposited collateral against the borrowed assets and its underlying value.","Save and share":"Save and share","Seems like we can't switch the network automatically. Please check if you can change it from the wallet.":"Seems like we can't switch the network automatically. Please check if you can change it from the wallet.","Select":"Select","Select APY type to switch":"Select APY type to switch","Select an asset":"Select an asset","Select language":"Select language","Select slippage tolerance":"Select slippage tolerance","Select v2 borrows to migrate":"Select v2 borrows to migrate","Select v2 supplies to migrate":"Select v2 supplies to migrate","Selected assets have successfully migrated. Visit the Market Dashboard to see them.":"Selected assets have successfully migrated. Visit the Market Dashboard to see them.","Selected borrow assets":"Selected borrow assets","Selected supply assets":"Selected supply assets","Send feedback":"Send feedback","Set up delegation":"Set up delegation","Setup notifications about your Health Factor using the Hal app.":"Setup notifications about your Health Factor using the Hal app.","Share on Lens":"Share on Lens","Share on twitter":"Share on twitter","Show":"Show","Show Frozen or paused assets":"Show Frozen or paused assets","Show assets with 0 balance":"Show assets with 0 balance","Sign to continue":"Sign to continue","Signatures ready":"Signatures ready","Signing":"Signing","Since this asset is frozen, the only available actions are withdraw and repay which can be accessed from the <0>Dashboard":"Since this asset is frozen, the only available actions are withdraw and repay which can be accessed from the <0>Dashboard","Since this is a test network, you can get any of the assets if you have ETH on your wallet":"Since this is a test network, you can get any of the assets if you have ETH on your wallet","Slippage":"Slippage","Slippage is the difference between the quoted and received amounts from changing market conditions between the moment the transaction is submitted and its verification.":"Slippage is the difference between the quoted and received amounts from changing market conditions between the moment the transaction is submitted and its verification.","Some migrated assets will not be used as collateral due to enabled isolation mode in {marketName} V3 Market. Visit <0>{marketName} V3 Dashboard to manage isolation mode.":["Some migrated assets will not be used as collateral due to enabled isolation mode in ",["marketName"]," V3 Market. Visit <0>",["marketName"]," V3 Dashboard to manage isolation mode."],"Something went wrong":"Something went wrong","Sorry, an unexpected error happened. In the meantime you may try reloading the page, or come back later.":"Sorry, an unexpected error happened. In the meantime you may try reloading the page, or come back later.","Sorry, we couldn't find the page you were looking for.":"Sorry, we couldn't find the page you were looking for.","Spanish":"Spanish","Stable":"Stable","Stable Interest Type is disabled for this currency":"Stable Interest Type is disabled for this currency","Stable borrowing is enabled":"Stable borrowing is enabled","Stable borrowing is not enabled":"Stable borrowing is not enabled","Stable debt supply is not zero":"Stable debt supply is not zero","Stable interest rate will <0>stay the same for the duration of your loan. Recommended for long-term loan periods and for users who prefer predictability.":"Stable interest rate will <0>stay the same for the duration of your loan. Recommended for long-term loan periods and for users who prefer predictability.","Stablecoin":"Stablecoin","Stake":"Stake","Stake AAVE":"Stake AAVE","Stake ABPT":"Stake ABPT","Stake cooldown activated":"Stake cooldown activated","Staked":"Staked","Staking":"Staking","Staking APR":"Staking APR","Staking Rewards":"Staking Rewards","Staking balance":"Staking balance","Staking discount":"Staking discount","State":"State","Supplied":"Supplied","Supplied asset amount":"Supplied asset amount","Supply":"Supply","Supply APY":"Supply APY","Supply apy":"Supply apy","Supply balance":"Supply balance","Supply balance after switch":"Supply balance after switch","Supply cap is exceeded":"Supply cap is exceeded","Supply cap on target reserve reached. Try lowering the amount.":"Supply cap on target reserve reached. Try lowering the amount.","Supply {symbol}":["Supply ",["symbol"]],"Supplying your":"Supplying your","Supplying {symbol}":["Supplying ",["symbol"]],"Switch":"Switch","Switch APY type":"Switch APY type","Switch E-Mode":"Switch E-Mode","Switch E-Mode category":"Switch E-Mode category","Switch Network":"Switch Network","Switch borrow position":"Switch borrow position","Switch rate":"Switch rate","Switch to":"Switch to","Switched":"Switched","Switching":"Switching","Switching E-Mode":"Switching E-Mode","Switching rate":"Switching rate","Techpaper":"Techpaper","Terms":"Terms","Test Assets":"Test Assets","Testnet mode":"Testnet mode","Testnet mode is ON":"Testnet mode is ON","Thank you for voting!!":"Thank you for voting!!","The % of your total borrowing power used. This is based on the amount of your collateral supplied and the total amount that you can borrow.":"The % of your total borrowing power used. This is based on the amount of your collateral supplied and the total amount that you can borrow.","The Aave Balancer Pool Token (ABPT) is a liquidity pool token. You can receive ABPT by depositing a combination of AAVE + ETH in the Balancer liquidity pool. You can then stake your BPT in the Safety Module to secure the protocol and earn Safety Incentives.":"The Aave Balancer Pool Token (ABPT) is a liquidity pool token. You can receive ABPT by depositing a combination of AAVE + ETH in the Balancer liquidity pool. You can then stake your BPT in the Safety Module to secure the protocol and earn Safety Incentives.","The Aave Protocol is programmed to always use the price of 1 GHO = $1. This is different from using market pricing via oracles for other crypto assets. This creates stabilizing arbitrage opportunities when the price of GHO fluctuates.":"The Aave Protocol is programmed to always use the price of 1 GHO = $1. This is different from using market pricing via oracles for other crypto assets. This creates stabilizing arbitrage opportunities when the price of GHO fluctuates.","The Maximum LTV ratio represents the maximum borrowing power of a specific collateral. For example, if a collateral has an LTV of 75%, the user can borrow up to 0.75 worth of ETH in the principal currency for every 1 ETH worth of collateral.":"The Maximum LTV ratio represents the maximum borrowing power of a specific collateral. For example, if a collateral has an LTV of 75%, the user can borrow up to 0.75 worth of ETH in the principal currency for every 1 ETH worth of collateral.","The Stable Rate is not enabled for this currency":"The Stable Rate is not enabled for this currency","The address of the pool addresses provider is invalid":"The address of the pool addresses provider is invalid","The app is running in testnet mode. Learn how it works in":"The app is running in testnet mode. Learn how it works in","The caller of the function is not an AToken":"The caller of the function is not an AToken","The caller of this function must be a pool":"The caller of this function must be a pool","The collateral balance is 0":"The collateral balance is 0","The collateral chosen cannot be liquidated":"The collateral chosen cannot be liquidated","The cooldown period is the time required prior to unstaking your tokens (20 days). You can only withdraw your assets from the Security Module after the cooldown period and within the unstake window.<0>Learn more":"The cooldown period is the time required prior to unstaking your tokens (20 days). You can only withdraw your assets from the Security Module after the cooldown period and within the unstake window.<0>Learn more","The cooldown period is {0}. After {1} of cooldown, you will enter unstake window of {2}. You will continue receiving rewards during cooldown and unstake window.":["The cooldown period is ",["0"],". After ",["1"]," of cooldown, you will enter unstake window of ",["2"],". You will continue receiving rewards during cooldown and unstake window."],"The effects on the health factor would cause liquidation. Try lowering the amount.":"The effects on the health factor would cause liquidation. Try lowering the amount.","The loan to value of the migrated positions would cause liquidation. Increase migrated collateral or reduce migrated borrow to continue.":"The loan to value of the migrated positions would cause liquidation. Increase migrated collateral or reduce migrated borrow to continue.","The requested amount is greater than the max loan size in stable rate mode":"The requested amount is greater than the max loan size in stable rate mode","The total amount of your assets denominated in USD that can be used as collateral for borrowing assets.":"The total amount of your assets denominated in USD that can be used as collateral for borrowing assets.","The underlying asset cannot be rescued":"The underlying asset cannot be rescued","The underlying balance needs to be greater than 0":"The underlying balance needs to be greater than 0","The weighted average of APY for all borrowed assets, including incentives.":"The weighted average of APY for all borrowed assets, including incentives.","The weighted average of APY for all supplied assets, including incentives.":"The weighted average of APY for all supplied assets, including incentives.","There are not enough funds in the{0}reserve to borrow":["There are not enough funds in the",["0"],"reserve to borrow"],"There is not enough collateral to cover a new borrow":"There is not enough collateral to cover a new borrow","There is not enough liquidity for the target asset to perform the switch. Try lowering the amount.":"There is not enough liquidity for the target asset to perform the switch. Try lowering the amount.","There was some error. Please try changing the parameters or <0><1>copy the error":"There was some error. Please try changing the parameters or <0><1>copy the error","These assets are temporarily frozen or paused by Aave community decisions, meaning that further supply / borrow, or rate swap of these assets are unavailable. Withdrawals and debt repayments are allowed. Follow the <0>Aave governance forum for further updates.":"These assets are temporarily frozen or paused by Aave community decisions, meaning that further supply / borrow, or rate swap of these assets are unavailable. Withdrawals and debt repayments are allowed. Follow the <0>Aave governance forum for further updates.","These funds have been borrowed and are not available for withdrawal at this time.":"These funds have been borrowed and are not available for withdrawal at this time.","This action will reduce V2 health factor below liquidation threshold. retain collateral or migrate borrow position to continue.":"This action will reduce V2 health factor below liquidation threshold. retain collateral or migrate borrow position to continue.","This action will reduce health factor of V3 below liquidation threshold. Increase migrated collateral or reduce migrated borrow to continue.":"This action will reduce health factor of V3 below liquidation threshold. Increase migrated collateral or reduce migrated borrow to continue.","This action will reduce your health factor. Please be mindful of the increased risk of collateral liquidation.":"This action will reduce your health factor. Please be mindful of the increased risk of collateral liquidation.","This address is blocked on app.aave.com because it is associated with one or more":"This address is blocked on app.aave.com because it is associated with one or more","This asset has almost reached its borrow cap. There is only {messageValue} available to be borrowed from this market.":["This asset has almost reached its borrow cap. There is only ",["messageValue"]," available to be borrowed from this market."],"This asset has almost reached its supply cap. There can only be {messageValue} supplied to this market.":["This asset has almost reached its supply cap. There can only be ",["messageValue"]," supplied to this market."],"This asset has been paused due to a community decision. Supply, withdraw, borrows and repays are impacted.":"This asset has been paused due to a community decision. Supply, withdraw, borrows and repays are impacted.","This asset has reached its borrow cap. Nothing is available to be borrowed from this market.":"This asset has reached its borrow cap. Nothing is available to be borrowed from this market.","This asset has reached its supply cap. Nothing is available to be supplied from this market.":"This asset has reached its supply cap. Nothing is available to be supplied from this market.","This asset is frozen due to an Aave Protocol Governance decision. <0>More details":"This asset is frozen due to an Aave Protocol Governance decision. <0>More details","This asset is frozen due to an Aave Protocol Governance decision. On the 20th of December 2022, renFIL will no longer be supported and cannot be bridged back to its native network. It is recommended to withdraw supply positions and repay borrow positions so that renFIL can be bridged back to FIL before the deadline. After this date, it will no longer be possible to convert renFIL to FIL. <0>More details":"This asset is frozen due to an Aave Protocol Governance decision. On the 20th of December 2022, renFIL will no longer be supported and cannot be bridged back to its native network. It is recommended to withdraw supply positions and repay borrow positions so that renFIL can be bridged back to FIL before the deadline. After this date, it will no longer be possible to convert renFIL to FIL. <0>More details","This asset is frozen due to an Aave community decision. <0>More details":"This asset is frozen due to an Aave community decision. <0>More details","This asset is planned to be offboarded due to an Aave Protocol Governance decision. <0>More details":"This asset is planned to be offboarded due to an Aave Protocol Governance decision. <0>More details","This gas calculation is only an estimation. Your wallet will set the price of the transaction. You can modify the gas settings directly from your wallet provider.":"This gas calculation is only an estimation. Your wallet will set the price of the transaction. You can modify the gas settings directly from your wallet provider.","This integration was<0>proposed and approvedby the community.":"This integration was<0>proposed and approvedby the community.","This is the total amount available for you to borrow. You can borrow based on your collateral and until the borrow cap is reached.":"This is the total amount available for you to borrow. You can borrow based on your collateral and until the borrow cap is reached.","This is the total amount that you are able to supply to in this reserve. You are able to supply your wallet balance up until the supply cap is reached.":"This is the total amount that you are able to supply to in this reserve. You are able to supply your wallet balance up until the supply cap is reached.","This represents the threshold at which a borrow position will be considered undercollateralized and subject to liquidation for each collateral. For example, if a collateral has a liquidation threshold of 80%, it means that the position will be liquidated when the debt value is worth 80% of the collateral value.":"This represents the threshold at which a borrow position will be considered undercollateralized and subject to liquidation for each collateral. For example, if a collateral has a liquidation threshold of 80%, it means that the position will be liquidated when the debt value is worth 80% of the collateral value.","Time left to be able to withdraw your staked asset.":"Time left to be able to withdraw your staked asset.","Time left to unstake":"Time left to unstake","Time left until the withdrawal window closes.":"Time left until the withdrawal window closes.","Tip: Try increasing slippage or reduce input amount":"Tip: Try increasing slippage or reduce input amount","To borrow you need to supply any asset to be used as collateral.":"To borrow you need to supply any asset to be used as collateral.","To continue, you need to grant Aave smart contracts permission to move your funds from your wallet. Depending on the asset and wallet you use, it is done by signing the permission message (gas free), or by submitting an approval transaction (requires gas). <0>Learn more":"To continue, you need to grant Aave smart contracts permission to move your funds from your wallet. Depending on the asset and wallet you use, it is done by signing the permission message (gas free), or by submitting an approval transaction (requires gas). <0>Learn more","To enable E-mode for the {0} category, all borrow positions outside of this category must be closed.":["To enable E-mode for the ",["0"]," category, all borrow positions outside of this category must be closed."],"To repay on behalf of a user an explicit amount to repay is needed":"To repay on behalf of a user an explicit amount to repay is needed","To request access for this permissioned market, please visit: <0>Acces Provider Name":"To request access for this permissioned market, please visit: <0>Acces Provider Name","To submit a proposal for minor changes to the protocol, you'll need at least 80.00K power. If you want to change the core code base, you'll need 320k power.<0>Learn more.":"To submit a proposal for minor changes to the protocol, you'll need at least 80.00K power. If you want to change the core code base, you'll need 320k power.<0>Learn more.","Top 10 addresses":"Top 10 addresses","Total available":"Total available","Total borrowed":"Total borrowed","Total borrows":"Total borrows","Total emission per day":"Total emission per day","Total interest accrued":"Total interest accrued","Total market size":"Total market size","Total supplied":"Total supplied","Total worth":"Total worth","Track wallet":"Track wallet","Track wallet balance in read-only mode":"Track wallet balance in read-only mode","Transaction failed":"Transaction failed","Transaction history":"Transaction history","Transaction history is not currently available for this market":"Transaction history is not currently available for this market","Transaction overview":"Transaction overview","Transactions":"Transactions","UNSTAKE {symbol}":["UNSTAKE ",["symbol"]],"Unavailable":"Unavailable","Unbacked":"Unbacked","Unbacked mint cap is exceeded":"Unbacked mint cap is exceeded","Underlying asset does not exist in {marketName} v3 Market, hence this position cannot be migrated.":["Underlying asset does not exist in ",["marketName"]," v3 Market, hence this position cannot be migrated."],"Underlying token":"Underlying token","Unstake now":"Unstake now","Unstake window":"Unstake window","Unstaked":"Unstaked","Unstaking {symbol}":["Unstaking ",["symbol"]],"Update: Disruptions reported for WETH, WBTC, WMATIC, and USDT. AIP 230 will resolve the disruptions and the market will be operating as normal on ~26th May 13h00 UTC.":"Update: Disruptions reported for WETH, WBTC, WMATIC, and USDT. AIP 230 will resolve the disruptions and the market will be operating as normal on ~26th May 13h00 UTC.","Use it to vote for or against active proposals.":"Use it to vote for or against active proposals.","Use your AAVE and stkAAVE balance to delegate your voting and proposition powers. You will not be sending any tokens, only the rights to vote and propose changes to the protocol. You can re-delegate or revoke power to self at any time.":"Use your AAVE and stkAAVE balance to delegate your voting and proposition powers. You will not be sending any tokens, only the rights to vote and propose changes to the protocol. You can re-delegate or revoke power to self at any time.","Used as collateral":"Used as collateral","User cannot withdraw more than the available balance":"User cannot withdraw more than the available balance","User did not borrow the specified currency":"User did not borrow the specified currency","User does not have outstanding stable rate debt on this reserve":"User does not have outstanding stable rate debt on this reserve","User does not have outstanding variable rate debt on this reserve":"User does not have outstanding variable rate debt on this reserve","User is in isolation mode":"User is in isolation mode","User is trying to borrow multiple assets including a siloed one":"User is trying to borrow multiple assets including a siloed one","Users who stake AAVE in Safety Module (i.e. stkAAVE holders) receive a discount on GHO borrow interest rate. The discount applies to 100 GHO for every 1 stkAAVE held. Use the calculator below to see GHO borrow rate with the discount applied.":"Users who stake AAVE in Safety Module (i.e. stkAAVE holders) receive a discount on GHO borrow interest rate. The discount applies to 100 GHO for every 1 stkAAVE held. Use the calculator below to see GHO borrow rate with the discount applied.","Utilization Rate":"Utilization Rate","VIEW TX":"VIEW TX","VOTE NAY":"VOTE NAY","VOTE YAE":"VOTE YAE","Variable":"Variable","Variable debt supply is not zero":"Variable debt supply is not zero","Variable interest rate will <0>fluctuate based on the market conditions. Recommended for short-term positions.":"Variable interest rate will <0>fluctuate based on the market conditions. Recommended for short-term positions.","Variable rate":"Variable rate","Version 2":"Version 2","Version 3":"Version 3","View":"View","View Transactions":"View Transactions","View all votes":"View all votes","View contract":"View contract","View details":"View details","View on Explorer":"View on Explorer","Vote NAY":"Vote NAY","Vote YAE":"Vote YAE","Voted NAY":"Voted NAY","Voted YAE":"Voted YAE","Votes":"Votes","Voting":"Voting","Voting power":"Voting power","Voting results":"Voting results","Wallet Balance":"Wallet Balance","Wallet balance":"Wallet balance","Wallet not detected. Connect or install wallet and retry":"Wallet not detected. Connect or install wallet and retry","Wallets are provided by External Providers and by selecting you agree to Terms of those Providers. Your access to the wallet might be reliant on the External Provider being operational.":"Wallets are provided by External Providers and by selecting you agree to Terms of those Providers. Your access to the wallet might be reliant on the External Provider being operational.","We couldn't find any assets related to your search. Try again with a different asset name, symbol, or address.":"We couldn't find any assets related to your search. Try again with a different asset name, symbol, or address.","We couldn't find any transactions related to your search. Try again with a different asset name, or reset filters.":"We couldn't find any transactions related to your search. Try again with a different asset name, or reset filters.","We couldn’t detect a wallet. Connect a wallet to stake and view your balance.":"We couldn’t detect a wallet. Connect a wallet to stake and view your balance.","We suggest you go back to the Dashboard.":"We suggest you go back to the Dashboard.","Website":"Website","When a liquidation occurs, liquidators repay up to 50% of the outstanding borrowed amount on behalf of the borrower. In return, they can buy the collateral at a discount and keep the difference (liquidation penalty) as a bonus.":"When a liquidation occurs, liquidators repay up to 50% of the outstanding borrowed amount on behalf of the borrower. In return, they can buy the collateral at a discount and keep the difference (liquidation penalty) as a bonus.","With a voting power of <0/>":"With a voting power of <0/>","With testnet Faucet you can get free assets to test the Aave Protocol. Make sure to switch your wallet provider to the appropriate testnet network, select desired asset, and click ‘Faucet’ to get tokens transferred to your wallet. The assets on a testnet are not “real,” meaning they have no monetary value. <0>Learn more":"With testnet Faucet you can get free assets to test the Aave Protocol. Make sure to switch your wallet provider to the appropriate testnet network, select desired asset, and click ‘Faucet’ to get tokens transferred to your wallet. The assets on a testnet are not “real,” meaning they have no monetary value. <0>Learn more","Withdraw":"Withdraw","Withdraw & Switch":"Withdraw & Switch","Withdraw and Switch":"Withdraw and Switch","Withdraw {symbol}":["Withdraw ",["symbol"]],"Withdrawing and Switching":"Withdrawing and Switching","Withdrawing this amount will reduce your health factor and increase risk of liquidation.":"Withdrawing this amount will reduce your health factor and increase risk of liquidation.","Withdrawing {symbol}":["Withdrawing ",["symbol"]],"Wrong Network":"Wrong Network","YAE":"YAE","You are entering Isolation mode":"You are entering Isolation mode","You can borrow this asset with a stable rate only if you borrow more than the amount you are supplying as collateral.":"You can borrow this asset with a stable rate only if you borrow more than the amount you are supplying as collateral.","You can not change Interest Type to stable as your borrowings are higher than your collateral":"You can not change Interest Type to stable as your borrowings are higher than your collateral","You can not disable E-Mode as your current collateralization level is above 80%, disabling E-Mode can cause liquidation. To exit E-Mode supply or repay borrowed positions.":"You can not disable E-Mode as your current collateralization level is above 80%, disabling E-Mode can cause liquidation. To exit E-Mode supply or repay borrowed positions.","You can not switch usage as collateral mode for this currency, because it will cause collateral call":"You can not switch usage as collateral mode for this currency, because it will cause collateral call","You can not use this currency as collateral":"You can not use this currency as collateral","You can not withdraw this amount because it will cause collateral call":"You can not withdraw this amount because it will cause collateral call","You can only switch to tokens with variable APY types. After this transaction, you may change the variable rate to a stable one if available.":"You can only switch to tokens with variable APY types. After this transaction, you may change the variable rate to a stable one if available.","You can only withdraw your assets from the Security Module after the cooldown period ends and the unstake window is active.":"You can only withdraw your assets from the Security Module after the cooldown period ends and the unstake window is active.","You can report incident to our <0>Discord or<1>Github.":"You can report incident to our <0>Discord or<1>Github.","You cancelled the transaction.":"You cancelled the transaction.","You did not participate in this proposal":"You did not participate in this proposal","You do not have supplies in this currency":"You do not have supplies in this currency","You don’t have enough funds in your wallet to repay the full amount. If you proceed to repay with your current amount of funds, you will still have a small borrowing position in your dashboard.":"You don’t have enough funds in your wallet to repay the full amount. If you proceed to repay with your current amount of funds, you will still have a small borrowing position in your dashboard.","You have no AAVE/stkAAVE balance to delegate.":"You have no AAVE/stkAAVE balance to delegate.","You have not borrow yet using this currency":"You have not borrow yet using this currency","You may borrow up to <0/> GHO at <1/> (max discount)":"You may borrow up to <0/> GHO at <1/> (max discount)","You may enter a custom amount in the field.":"You may enter a custom amount in the field.","You switched to {0} rate":["You switched to ",["0"]," rate"],"You unstake here":"You unstake here","You voted {0}":["You voted ",["0"]],"You will exit isolation mode and other tokens can now be used as collateral":"You will exit isolation mode and other tokens can now be used as collateral","You {action} <0/> {symbol}":["You ",["action"]," <0/> ",["symbol"]],"You've successfully switched borrow position.":"You've successfully switched borrow position.","You've successfully switched tokens.":"You've successfully switched tokens.","You've successfully withdrew & switched tokens.":"You've successfully withdrew & switched tokens.","Your balance is lower than the selected amount.":"Your balance is lower than the selected amount.","Your borrows":"Your borrows","Your current loan to value based on your collateral supplied.":"Your current loan to value based on your collateral supplied.","Your health factor and loan to value determine the assurance of your collateral. To avoid liquidations you can supply more collateral or repay borrow positions.":"Your health factor and loan to value determine the assurance of your collateral. To avoid liquidations you can supply more collateral or repay borrow positions.","Your info":"Your info","Your proposition power is based on your AAVE/stkAAVE balance and received delegations.":"Your proposition power is based on your AAVE/stkAAVE balance and received delegations.","Your reward balance is 0":"Your reward balance is 0","Your supplies":"Your supplies","Your voting info":"Your voting info","Your voting power is based on your AAVE/stkAAVE balance and received delegations.":"Your voting power is based on your AAVE/stkAAVE balance and received delegations.","Your {name} wallet is empty. Purchase or transfer assets or use <0>{0} to transfer your {network} assets.":["Your ",["name"]," wallet is empty. Purchase or transfer assets or use <0>",["0"]," to transfer your ",["network"]," assets."],"Your {name} wallet is empty. Purchase or transfer assets.":["Your ",["name"]," wallet is empty. Purchase or transfer assets."],"Your {networkName} wallet is empty. Get free test assets at":["Your ",["networkName"]," wallet is empty. Get free test assets at"],"Your {networkName} wallet is empty. Get free test {0} at":["Your ",["networkName"]," wallet is empty. Get free test ",["0"]," at"],"Zero address not valid":"Zero address not valid","assets":"assets","blocked activities":"blocked activities","copy the error":"copy the error","disabled":"disabled","documentation":"documentation","enabled":"enabled","ends":"ends","for":"for","of":"of","on":"on","please check that the amount you want to supply is not currently being used for staking. If it is being used for staking, your transaction might fail.":"please check that the amount you want to supply is not currently being used for staking. If it is being used for staking, your transaction might fail.","repaid":"repaid","stETH supplied as collateral will continue to accrue staking rewards provided by daily rebases.":"stETH supplied as collateral will continue to accrue staking rewards provided by daily rebases.","stETH tokens will be migrated to Wrapped stETH using Lido Protocol wrapper which leads to supply balance change after migration: {0}":["stETH tokens will be migrated to Wrapped stETH using Lido Protocol wrapper which leads to supply balance change after migration: ",["0"]],"staking view":"staking view","starts":"starts","stkAAVE holders get a discount on GHO borrow rate":"stkAAVE holders get a discount on GHO borrow rate","to":"to","tokens is not the same as staking them. If you wish to stake your":"tokens is not the same as staking them. If you wish to stake your","tokens, please go to the":"tokens, please go to the","withdrew":"withdrew","{0}":[["0"]],"{0} Balance":[["0"]," Balance"],"{0} Faucet":[["0"]," Faucet"],"{0} on-ramp service is provided by External Provider and by selecting you agree to Terms of the Provider. Your access to the service might be reliant on the External Provider being operational.":[["0"]," on-ramp service is provided by External Provider and by selecting you agree to Terms of the Provider. Your access to the service might be reliant on the External Provider being operational."],"{0}{name}":[["0"],["name"]],"{currentMethod}":[["currentMethod"]],"{d}d":[["d"],"d"],"{h}h":[["h"],"h"],"{m}m":[["m"],"m"],"{networkName} Faucet":[["networkName"]," Faucet"],"{notifyText}":[["notifyText"]],"{numSelected}/{numAvailable} assets selected":[["numSelected"],"/",["numAvailable"]," assets selected"],"{s}s":[["s"],"s"],"{title}":[["title"]],"{tooltipText}":[["tooltipText"]]}}; \ No newline at end of file diff --git a/src/locales/en/messages.po b/src/locales/en/messages.po index 6547d47c47..b3d1564489 100644 --- a/src/locales/en/messages.po +++ b/src/locales/en/messages.po @@ -240,9 +240,9 @@ msgstr "Amount must be greater than 0" msgid "Amount to unstake" msgstr "Amount to unstake" -#: pages/governance/proposal/[proposalId].governance.tsx -msgid "An error has occurred fetching the proposal metadata from IPFS." -msgstr "An error has occurred fetching the proposal metadata from IPFS." +#: src/modules/governance/proposal/ProposalOverview.tsx +msgid "An error has occurred fetching the proposal." +msgstr "An error has occurred fetching the proposal." #: src/components/transactions/TxActionsWrapper.tsx msgid "Approve Confirmed" @@ -351,10 +351,6 @@ msgstr "Assets with zero LTV ({assetsBlockingWithdraw}) must be withdrawn or dis msgid "At a discount" msgstr "At a discount" -#: pages/governance/proposal/[proposalId].governance.tsx -msgid "Author" -msgstr "Author" - #: src/components/transactions/Borrow/BorrowModalContent.tsx #: src/components/transactions/Borrow/GhoBorrowModalContent.tsx #: src/components/transactions/Withdraw/WithdrawAndSwitchModalContent.tsx @@ -598,6 +594,10 @@ msgstr "Can be collateral" msgid "Can be executed" msgstr "Can be executed" +#: src/components/transactions/GovRepresentatives/GovRepresentativesModalContent.tsx +msgid "Can't validate the wallet address. Try again." +msgstr "Can't validate the wallet address. Try again." + #: src/components/TitleWithSearchBar.tsx #: src/modules/history/HistoryWrapperMobile.tsx msgid "Cancel" @@ -716,6 +716,18 @@ msgstr "Collector Contract" msgid "Collector Info" msgstr "Collector Info" +#: src/components/transactions/GovRepresentatives/GovRepresentativesActions.tsx +msgid "Confirm transaction" +msgstr "Confirm transaction" + +#: src/components/transactions/GovRepresentatives/GovRepresentativesActions.tsx +msgid "Confirming transaction" +msgstr "Confirming transaction" + +#: src/modules/governance/RepresentativesInfoPanel.tsx +msgid "Connect" +msgstr "Connect" + #: src/components/WalletConnection/ConnectWalletButton.tsx #: src/layouts/WalletWidget.tsx msgid "Connect wallet" @@ -758,15 +770,11 @@ msgstr "Copy error text" msgid "Covered debt" msgstr "Covered debt" -#: pages/governance/proposal/[proposalId].governance.tsx -msgid "Created" -msgstr "Created" - #: src/modules/dashboard/LiquidationRiskParametresModal/LiquidationRiskParametresModal.tsx msgid "Current LTV" msgstr "Current LTV" -#: pages/governance/proposal/[proposalId].governance.tsx +#: src/modules/governance/proposal/VotingResults.tsx msgid "Current differential" msgstr "Current differential" @@ -779,7 +787,7 @@ msgstr "Current v2 Balance" msgid "Current v2 balance" msgstr "Current v2 balance" -#: pages/governance/proposal/[proposalId].governance.tsx +#: src/modules/governance/proposal/VotingResults.tsx msgid "Current votes" msgstr "Current votes" @@ -831,8 +839,8 @@ msgstr "Details" msgid "Developers" msgstr "Developers" -#: pages/governance/proposal/[proposalId].governance.tsx #: src/modules/governance/ProposalListItem.tsx +#: src/modules/governance/proposal/VotingResults.tsx msgid "Differential" msgstr "Differential" @@ -930,6 +938,10 @@ msgstr "E-Mode increases your LTV for a selected category of assets up to<0/>. < msgid "E-Mode increases your LTV for a selected category of assets, meaning that when E-mode is enabled, you will have higher borrowing power over assets of the same E-mode category which are defined by Aave Governance. You can enter E-Mode from your <0>Dashboard. To learn more about E-Mode and applied restrictions in <1>FAQ or <2>Aave V3 Technical Paper." msgstr "E-Mode increases your LTV for a selected category of assets, meaning that when E-mode is enabled, you will have higher borrowing power over assets of the same E-mode category which are defined by Aave Governance. You can enter E-Mode from your <0>Dashboard. To learn more about E-Mode and applied restrictions in <1>FAQ or <2>Aave V3 Technical Paper." +#: src/modules/governance/RepresentativesInfoPanel.tsx +msgid "Edit" +msgstr "Edit" + #: src/modules/reserve-overview/Gho/GhoInterestRateGraph.tsx msgid "Effective interest rate" msgstr "Effective interest rate" @@ -968,14 +980,6 @@ msgstr "Enabling E-Mode only allows you to borrow assets belonging to the select msgid "Enabling this asset as collateral increases your borrowing power and Health Factor. However, it can get liquidated if your health factor drops below 1." msgstr "Enabling this asset as collateral increases your borrowing power and Health Factor. However, it can get liquidated if your health factor drops below 1." -#: pages/governance/proposal/[proposalId].governance.tsx -msgid "Ended" -msgstr "Ended" - -#: pages/governance/proposal/[proposalId].governance.tsx -msgid "Ends" -msgstr "Ends" - #: src/layouts/components/LanguageSwitcher.tsx msgid "English" msgstr "English" @@ -1000,10 +1004,6 @@ msgstr "Estimated compounding interest, including discount for Staking {0}AAVE i msgid "Exceeds the discount" msgstr "Exceeds the discount" -#: pages/governance/proposal/[proposalId].governance.tsx -msgid "Executed" -msgstr "Executed" - #: src/components/transactions/Repay/CollateralRepayModalContent.tsx msgid "Expected amount to repay" msgstr "Expected amount to repay" @@ -1068,10 +1068,6 @@ msgstr "Flashloan is disabled for this asset, hence this position cannot be migr msgid "For repayment of a specific type of debt, the user needs to have debt that type" msgstr "For repayment of a specific type of debt, the user needs to have debt that type" -#: pages/governance/proposal/[proposalId].governance.tsx -msgid "Forum discussion" -msgstr "Forum discussion" - #: src/layouts/components/LanguageSwitcher.tsx msgid "French" msgstr "French" @@ -1290,6 +1286,10 @@ msgstr "Learn more in our <0>FAQ guide" msgid "Learn more." msgstr "Learn more." +#: src/modules/governance/RepresentativesInfoPanel.tsx +msgid "Linked addresses" +msgstr "Linked addresses" + #: src/layouts/MobileMenu.tsx msgid "Links" msgstr "Links" @@ -1563,8 +1563,8 @@ msgstr "Not enough staked balance" msgid "Not enough voting power to participate in this proposal" msgstr "Not enough voting power to participate in this proposal" -#: pages/governance/proposal/[proposalId].governance.tsx -#: pages/governance/proposal/[proposalId].governance.tsx +#: src/modules/governance/proposal/VotingResults.tsx +#: src/modules/governance/proposal/VotingResults.tsx msgid "Not reached" msgstr "Not reached" @@ -1711,11 +1711,11 @@ msgstr "Price impact {0}%" msgid "Privacy" msgstr "Privacy" -#: pages/governance/proposal/[proposalId].governance.tsx +#: src/modules/governance/proposal/ProposalDetails.tsx msgid "Proposal details" msgstr "Proposal details" -#: pages/governance/proposal/[proposalId].governance.tsx +#: src/modules/governance/proposal/ProposalOverview.tsx msgid "Proposal overview" msgstr "Proposal overview" @@ -1753,8 +1753,8 @@ msgstr "Protocol supply cap at 100% for this asset. Further supply unavailable." msgid "Protocol supply cap is at 100% for this asset. Further supply unavailable." msgstr "Protocol supply cap is at 100% for this asset. Further supply unavailable." -#: pages/governance/proposal/[proposalId].governance.tsx #: src/modules/governance/ProposalListItem.tsx +#: src/modules/governance/proposal/VotingResults.tsx msgid "Quorum" msgstr "Quorum" @@ -1762,12 +1762,12 @@ msgstr "Quorum" msgid "Rate change" msgstr "Rate change" -#: pages/governance/proposal/[proposalId].governance.tsx +#: src/modules/governance/proposal/ProposalOverview.tsx msgid "Raw-Ipfs" msgstr "Raw-Ipfs" -#: pages/governance/proposal/[proposalId].governance.tsx -#: pages/governance/proposal/[proposalId].governance.tsx +#: src/modules/governance/proposal/VotingResults.tsx +#: src/modules/governance/proposal/VotingResults.tsx msgid "Reached" msgstr "Reached" @@ -1826,6 +1826,10 @@ msgstr "Remaining debt" msgid "Remaining supply" msgstr "Remaining supply" +#: src/components/transactions/GovRepresentatives/GovRepresentativesModalContent.tsx +msgid "Remove" +msgstr "Remove" + #: src/components/transactions/Repay/CollateralRepayModalContent.tsx msgid "Repaid" msgstr "Repaid" @@ -1859,6 +1863,10 @@ msgstr "Repaying {symbol}" msgid "Repayment amount to reach {0}% utilization" msgstr "Repayment amount to reach {0}% utilization" +#: src/modules/governance/RepresentativesInfoPanel.tsx +msgid "Representative smart contract wallet (ie. Safe) addresses on other chains." +msgstr "Representative smart contract wallet (ie. Safe) addresses on other chains." + #: src/modules/reserve-overview/ReserveTopDetails.tsx msgid "Reserve Size" msgstr "Reserve Size" @@ -1940,10 +1948,6 @@ msgstr "Safety of your deposited collateral against the borrowed assets and its msgid "Save and share" msgstr "Save and share" -#: pages/governance/proposal/[proposalId].governance.tsx -msgid "Seatbelt report" -msgstr "Seatbelt report" - #: src/components/transactions/Warnings/ChangeNetworkWarning.tsx msgid "Seems like we can't switch the network automatically. Please check if you can change it from the wallet." msgstr "Seems like we can't switch the network automatically. Please check if you can change it from the wallet." @@ -2000,12 +2004,12 @@ msgstr "Set up delegation" msgid "Setup notifications about your Health Factor using the Hal app." msgstr "Setup notifications about your Health Factor using the Hal app." -#: pages/governance/proposal/[proposalId].governance.tsx #: src/components/transactions/GovVote/GovVoteModalContent.tsx +#: src/modules/governance/proposal/ProposalOverview.tsx msgid "Share on Lens" msgstr "Share on Lens" -#: pages/governance/proposal/[proposalId].governance.tsx +#: src/modules/governance/proposal/ProposalOverview.tsx msgid "Share on twitter" msgstr "Share on twitter" @@ -2151,11 +2155,7 @@ msgstr "Staking balance" msgid "Staking discount" msgstr "Staking discount" -#: pages/governance/proposal/[proposalId].governance.tsx -msgid "Started" -msgstr "Started" - -#: pages/governance/proposal/[proposalId].governance.tsx +#: src/modules/governance/proposal/VotingResults.tsx msgid "State" msgstr "State" @@ -2578,10 +2578,6 @@ msgstr "Total market size" msgid "Total supplied" msgstr "Total supplied" -#: pages/governance/proposal/[proposalId].governance.tsx -msgid "Total voting power" -msgstr "Total voting power" - #: src/components/transactions/ClaimRewards/ClaimRewardsModalContent.tsx msgid "Total worth" msgstr "Total worth" @@ -2810,7 +2806,7 @@ msgstr "Voting" msgid "Voting power" msgstr "Voting power" -#: pages/governance/proposal/[proposalId].governance.tsx +#: src/modules/governance/proposal/VotingResults.tsx msgid "Voting results" msgstr "Voting results" diff --git a/src/modules/governance/ProposalListItem.tsx b/src/modules/governance/ProposalListItem.tsx index 4710b6815f..835b7753ef 100644 --- a/src/modules/governance/ProposalListItem.tsx +++ b/src/modules/governance/ProposalListItem.tsx @@ -9,7 +9,7 @@ import { useRootStore } from 'src/store/root'; import { GOVERNANCE_PAGE } from 'src/utils/mixPanelEvents'; import { FormattedProposalTime } from './FormattedProposalTime'; -import { StateBadge } from './StateBadge'; +// import { StateBadge } from './StateBadge'; import { formatProposal } from './utils/formatProposal'; import { isProposalStateImmutable } from './utils/immutableStates'; import { VoteBar } from './VoteBar'; @@ -57,7 +57,7 @@ export function ProposalListItem({ {ipfs.title} - + {/* */} ('all'); - const [searchQuery, setSearchQuery] = useState(''); - const [loadedIndex, setLoadedIndex] = useState(1); - const searchEngineRef = useRef( - new Fuse(initialProposals, { - keys: ['ipfs.title', 'ipfs.shortDescription'], - threshold: 0.3, - }) - ); - - const { data } = useProposals(); - console.log(data); - - const votes = useProposalVotes({ proposalId: '32' }); - console.log(votes); - - const { data: proposalData, isFetching: fetchingProposals } = useGetProposalsData(); - console.log(proposalData); - - const { data: config } = useGetVotingConfig(); - console.log(config); - - // if proposal is active, we need to query the votes from the subgraph - - // async function fetchNewProposals() { - // try { - // const count = await governanceContract.getProposalsCount(); - // const nextProposals: GovernancePageProps['proposals'] = []; - // console.log(`fetching ${count - proposals.length} new proposals`); - // if (count - proposals.length) { - // for (let i = proposals.length; i < count; i++) { - // const { values, ...rest } = await governanceContract.getProposal({ proposalId: i }); - // const proposal = await enhanceProposalWithTimes(rest); - // const proposalMetadata = await getProposalMetadata( - // proposal.ipfsHash, - // governanceConfig.ipfsGateway - // ); - // nextProposals.unshift({ - // ipfs: { - // id: i, - // originalHash: proposal.ipfsHash, - // ...proposalMetadata, - // }, - // proposal: proposal, - // prerendered: false, - // }); - // } - // nextProposals.map((elem) => searchEngineRef.current.add(elem)); - // setProposals((p) => [...nextProposals, ...p]); - // } - // setLoadingNewProposals(false); - // } catch (e) { - // console.log('error fetching new proposals', e); - // } - // } - - // async function updatePendingProposals() { - // const pendingProposals = proposals.filter( - // ({ proposal }) => !isProposalStateImmutable(proposal) - // ); - // try { - // if (pendingProposals.length) { - // const updatedProposals = await Promise.all( - // pendingProposals.map(async ({ proposal }) => { - // const { values, ...rest } = await governanceContract.getProposal({ - // proposalId: proposal.id, - // }); - // return enhanceProposalWithTimes(rest); - // }) - // ); - // setProposals((proposals) => { - // updatedProposals.map((proposal) => { - // proposals[proposals.length - 1 - proposal.id].proposal = proposal; - // proposals[proposals.length - 1 - proposal.id].prerendered = false; - // }); - // return proposals; - // }); - // } - // setUpdatingPendingProposals(false); - // } catch (e) { - // console.log('error updating proposals', e); - // } - // } - - // usePolling(fetchNewProposals, 60000, false, [proposals.length]); - // usePolling(updatePendingProposals, 30000, false, [proposals.length]); - - const filteredByState = useMemo(() => { - // filters by proposal state and pins large executors at the top - - const filtered = proposals - .filter((item) => proposalFilter === 'all' || item.proposal.state === proposalFilter) - .reduce( - ( - accumulator: GovernancePageProps['proposals'], - current: GovernancePageProps['proposals'][0] - ) => - current.proposal.state === 'Active' && - current.proposal.executor === AaveGovernanceV2.LONG_EXECUTOR - ? [current, ...accumulator] - : [...accumulator, current], - [] - ); - - searchEngineRef.current.setCollection(filtered); - return filtered; - }, [proposals, proposalFilter]); - - const filteredByQuery = useMemo(() => { - if (!searchQuery) return filteredByState; - const filteredByQuery = searchEngineRef.current.search(searchQuery); - return filteredByQuery.map((elem) => elem.item); - }, [searchQuery, filteredByState]); - - const loadedProposals = useMemo( - () => filteredByQuery.slice(0, loadedIndex * 10), - [filteredByQuery, loadedIndex] - ); - - const onSearchTermChange = (value: string) => { - setLoadedIndex(1); - setSearchQuery(value); - }; - - const handleLoadMore = () => { - setLoadedIndex((loadedIndex) => loadedIndex + 1); - }; - - return ( - - - {(loadingNewProposals || updatingPendingProposals) && } - {loadedProposals.length ? ( - - {loadedProposals.map(({ proposal, prerendered, ipfs }) => ( - - ))} - - ) : ( - - )} - - ); -} diff --git a/src/modules/governance/ProposalsV3List.tsx b/src/modules/governance/ProposalsV3List.tsx index 928eefc8ce..d56108b60a 100644 --- a/src/modules/governance/ProposalsV3List.tsx +++ b/src/modules/governance/ProposalsV3List.tsx @@ -41,7 +41,7 @@ export const ProposalsV3List = () => { totalNumberOfProposalsLoaded === undefined || totalNumberOfProposalsLoaded < totalCount } > - {data?.pages.map((group, i) => ( + {data?.pages.map((group, i) => ( {group.proposals.map((proposal, index) => ( { const { openGovRepresentatives } = useModalContext(); @@ -123,6 +123,6 @@ export const RepresentativesInfoPanel = () => { ); }; -const Representing = () => { +// const Representing = () => { -} +// } diff --git a/src/modules/governance/proposal/ProposalDetails.tsx b/src/modules/governance/proposal/ProposalDetails.tsx index 05d60741d9..749b62e63c 100644 --- a/src/modules/governance/proposal/ProposalDetails.tsx +++ b/src/modules/governance/proposal/ProposalDetails.tsx @@ -1,27 +1,23 @@ -import { Trans } from "@lingui/macro" -import { Box, Paper, SvgIcon, Typography } from "@mui/material" -import { ExternalLinkIcon } from '@heroicons/react/solid'; -import { Row } from "src/components/primitives/Row" -import { useRootStore } from "src/store/root"; -import dayjs from "dayjs"; +import { Trans } from '@lingui/macro'; +import { Paper, Typography } from '@mui/material'; -const formatTime = (timestamp: number): string => - dayjs.unix(timestamp).format('D MMM YYYY, HH:mm UTC Z'); +// const formatTime = (timestamp: number): string => +// dayjs.unix(timestamp).format('D MMM YYYY, HH:mm UTC Z'); export const ProposalDetails = () => { - const proposalHasExpired: boolean = false + // const proposalHasExpired: boolean = false; /* proposal ? dayjs() > dayjs.unix(proposal.expirationTimestamp) : false; */ - const trackEvent = useRootStore((store) => store.trackEvent); + // const trackEvent = useRootStore((store) => store.trackEvent); return ( Proposal details - {proposal ? ( + {/* {proposal ? ( <> { )} {proposal.executed && ( - Executed} - sx={{ height: 48 }} - captionVariant="description" - > + Executed} sx={{ height: 48 }} captionVariant="description"> {formatTime(proposal.executionTime)} )} {ipfs?.author && ( - Author} - sx={{ height: 48 }} - captionVariant="description" - > + Author} sx={{ height: 48 }} captionVariant="description"> @@ -177,7 +165,7 @@ export const ProposalDetails = () => { <> - )} + )} */} - ) -} \ No newline at end of file + ); +}; diff --git a/src/modules/governance/proposal/ProposalOverview.tsx b/src/modules/governance/proposal/ProposalOverview.tsx index 2eb6834b8a..e614d8a1fa 100644 --- a/src/modules/governance/proposal/ProposalOverview.tsx +++ b/src/modules/governance/proposal/ProposalOverview.tsx @@ -1,19 +1,35 @@ -import { Trans } from "@lingui/macro"; -import { Box, Button, Paper, Skeleton, SvgIcon, Table, TableBody, TableCell, TableContainer, TableHead, TableRow, Typography, styled, useMediaQuery, useTheme } from "@mui/material"; -import { StateBadge } from "src/modules/governance/StateBadge"; -import { FormattedProposalTime } from "src/modules/governance/FormattedProposalTime"; -import ReactMarkdown from "react-markdown"; -import { IpfsType } from "src/static-build/ipfs"; -import { CustomProposalType } from "src/static-build/proposal"; -import { DownloadIcon } from "@heroicons/react/solid"; -import { GENERAL } from "src/utils/mixPanelEvents"; -import { Twitter } from "@mui/icons-material"; -import remarkGfm from "remark-gfm"; -import { useRootStore } from "src/store/root"; -import { governanceConfig } from "src/ui-config/governanceConfig"; -import { Warning } from "src/components/primitives/Warning"; -import { LensIcon } from "src/components/icons/LensIcon"; -import { EnhancedProposal } from "src/hooks/governance/useProposal"; +import { DownloadIcon } from '@heroicons/react/solid'; +import { Trans } from '@lingui/macro'; +import { Twitter } from '@mui/icons-material'; +import { + Box, + Button, + Paper, + Skeleton, + styled, + SvgIcon, + Table, + TableBody, + TableCell, + TableContainer, + TableHead, + TableRow, + Typography, + useMediaQuery, + useTheme, +} from '@mui/material'; +import ReactMarkdown from 'react-markdown'; +import remarkGfm from 'remark-gfm'; +import { LensIcon } from 'src/components/icons/LensIcon'; +import { Warning } from 'src/components/primitives/Warning'; +import { EnhancedProposal } from 'src/hooks/governance/useProposal'; +// import { FormattedProposalTime } from 'src/modules/governance/FormattedProposalTime'; +import { StateBadge } from 'src/modules/governance/StateBadge'; +// import { IpfsType } from 'src/static-build/ipfs'; +// import { CustomProposalType } from 'src/static-build/proposal'; +import { useRootStore } from 'src/store/root'; +import { governanceConfig } from 'src/ui-config/governanceConfig'; +import { GENERAL } from 'src/utils/mixPanelEvents'; const CenterAlignedImage = styled('img')({ display: 'block', @@ -32,10 +48,9 @@ interface ProposalOverviewProps { } export const ProposalOverview = ({ proposal, loading, error }: ProposalOverviewProps) => { - - const trackEvent = useRootStore(store => store.trackEvent) + const trackEvent = useRootStore((store) => store.trackEvent); const { breakpoints, palette } = useTheme(); - const lgUp = useMediaQuery(breakpoints.up('lg')) + const lgUp = useMediaQuery(breakpoints.up('lg')); return ( @@ -65,11 +80,13 @@ export const ProposalOverview = ({ proposal, loading, error }: ProposalOverviewP }} > - + - { - /* + {/* !loading && ( - + ) - */ - } + */} @@ -113,7 +114,9 @@ export function VoteInfo({ proposal }: VoteInfoProps) { color="error" variant="contained" fullWidth - onClick={() => openGovVote(+proposal.proposal.proposalId, false, powerAtProposalStart)} + onClick={() => + openGovVote(+proposal.proposal.proposalId, false, powerAtProposalStart) + } sx={{ mt: 2 }} > Vote NAY diff --git a/src/modules/governance/proposal/VotersListContainer.tsx b/src/modules/governance/proposal/VotersListContainer.tsx index 1e0cbe4a42..2f396fcbfa 100644 --- a/src/modules/governance/proposal/VotersListContainer.tsx +++ b/src/modules/governance/proposal/VotersListContainer.tsx @@ -2,14 +2,13 @@ import { Trans } from '@lingui/macro'; import { Box, Button, CircularProgress, Typography, useMediaQuery, useTheme } from '@mui/material'; import { useState } from 'react'; import { Row } from 'src/components/primitives/Row'; -import { CustomProposalType } from 'src/static-build/proposal'; +import { ProposalVotes } from 'src/hooks/governance/useProposalVotes'; import { useRootStore } from 'src/store/root'; import { AIP } from 'src/utils/mixPanelEvents'; -import { FormattedProposalV3, formatProposal } from '../utils/formatProposal'; +import { FormattedProposalV3 } from '../utils/formatProposal'; import { VotersList } from './VotersList'; import { VotersListModal } from './VotersListModal'; -import { ProposalVotes } from 'src/hooks/governance/useProposalVotes'; type VotersListProps = { proposal: FormattedProposalV3; @@ -77,7 +76,11 @@ export const VotersListContainer = ({ proposal, proposalVotes }: VotersListProps - {proposalVotes.combinedVotes.length > 10 ? Top 10 addresses : Addresses} + {proposalVotes.combinedVotes.length > 10 ? ( + Top 10 addresses + ) : ( + Addresses + )} Votes diff --git a/src/modules/governance/proposal/VotersListItem.tsx b/src/modules/governance/proposal/VotersListItem.tsx index 7557be010a..a91d56c7dc 100644 --- a/src/modules/governance/proposal/VotersListItem.tsx +++ b/src/modules/governance/proposal/VotersListItem.tsx @@ -3,12 +3,12 @@ import { Avatar, Box, SvgIcon, Typography } from '@mui/material'; import { blo } from 'blo'; import { FormattedNumber } from 'src/components/primitives/FormattedNumber'; import { Link } from 'src/components/primitives/Link'; +import { ProposalVote } from 'src/hooks/governance/useProposalVotes'; import { useRootStore } from 'src/store/root'; import { GENERAL } from 'src/utils/mixPanelEvents'; import { textCenterEllipsis } from '../../../helpers/text-center-ellipsis'; -import type { GovernanceVoter } from './VotersListContainer'; -import { ProposalVote } from 'src/hooks/governance/useProposalVotes'; +// import type { GovernanceVoter } from './VotersListContainer'; type VotersListItemProps = { compact: boolean; @@ -52,12 +52,12 @@ export const VotersListItem = ({ compact, voter }: VotersListItemProps): JSX.Ele displayVotingPower < 1 ? 4 : displayVotingPower < 10 - ? 3 - : displayVotingPower < 1000 || displayVotingPower > 1000000 - ? 2 - : displayVotingPower > 100000 - ? 1 - : 0; + ? 3 + : displayVotingPower < 1000 || displayVotingPower > 1000000 + ? 2 + : displayVotingPower > 100000 + ? 1 + : 0; // Don't show any results that come back with zero or negative voting power if (Number(voter.votingPower) <= 0) return null; diff --git a/src/modules/governance/proposal/VotingResults.tsx b/src/modules/governance/proposal/VotingResults.tsx index a0a3c8a0ab..d4f5cc3a6e 100644 --- a/src/modules/governance/proposal/VotingResults.tsx +++ b/src/modules/governance/proposal/VotingResults.tsx @@ -1,19 +1,19 @@ -import { Trans } from "@lingui/macro"; -import { Box, Paper, Skeleton, Typography } from "@mui/material"; -import { VoteBar } from "../VoteBar"; -import { VotersListContainer } from "./VotersListContainer"; -import { Row } from "src/components/primitives/Row"; -import { StateBadge } from "../StateBadge"; -import { FormattedProposalTime } from "../FormattedProposalTime"; -import { FormattedNumber } from "src/components/primitives/FormattedNumber"; -import { CheckBadge } from "src/components/primitives/CheckBadge"; -import { FormattedProposalV3 } from "../utils/formatProposal"; -import { ProposalVotes } from "src/hooks/governance/useProposalVotes"; +import { Trans } from '@lingui/macro'; +import { Box, Paper, Skeleton, Typography } from '@mui/material'; +import { CheckBadge } from 'src/components/primitives/CheckBadge'; +import { FormattedNumber } from 'src/components/primitives/FormattedNumber'; +import { Row } from 'src/components/primitives/Row'; +import { ProposalVotes } from 'src/hooks/governance/useProposalVotes'; + +import { StateBadge } from '../StateBadge'; +import { FormattedProposalV3 } from '../utils/formatProposal'; +import { VoteBar } from '../VoteBar'; +import { VotersListContainer } from './VotersListContainer'; interface VotingResultsPros { - proposal: FormattedProposalV3 + proposal: FormattedProposalV3; proposalVotes: ProposalVotes; - loading: boolean + loading: boolean; } export const VotingResults = ({ proposal, loading, proposalVotes }: VotingResultsPros) => { @@ -31,13 +31,14 @@ export const VotingResults = ({ proposal, loading, proposalVotes }: VotingResult sx={{ mt: 8 }} loading={loading} /> - + - State} - sx={{ height: 48 }} - captionVariant="description" - > + State} sx={{ height: 48 }} captionVariant="description"> - { - /* + {/* - */ - } + */} - Quorum} - sx={{ height: 48 }} - captionVariant="description" - > + Quorum} sx={{ height: 48 }} captionVariant="description"> Reached : Not reached} @@ -93,8 +88,7 @@ export const VotingResults = ({ proposal, loading, proposalVotes }: VotingResult roundDown sx={{ display: 'block' }} /> - { - /* + {/* - */ - } + */} - { - /* + {/* - */ - } + */} - { - /* + {/* Total voting power} sx={{ height: 48 }} @@ -164,8 +154,7 @@ export const VotingResults = ({ proposal, loading, proposalVotes }: VotingResult compact={false} /> -*/ - } +*/} ) : ( <> @@ -175,4 +164,4 @@ export const VotingResults = ({ proposal, loading, proposalVotes }: VotingResult )} ); -} \ No newline at end of file +}; From f1ff3b4cead17be059f6ffc4094d04735f20fd9c Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Mon, 18 Dec 2023 11:58:23 -0600 Subject: [PATCH 28/84] fix: lint --- src/components/primitives/Link.tsx | 2 +- src/hooks/governance/useProposalVotes.ts | 8 ++++---- src/modules/governance/proposal/VotersList.tsx | 2 +- src/modules/governance/proposal/VotersListModal.tsx | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/components/primitives/Link.tsx b/src/components/primitives/Link.tsx index 4fa4a308a9..c9acc1a8ed 100644 --- a/src/components/primitives/Link.tsx +++ b/src/components/primitives/Link.tsx @@ -11,7 +11,7 @@ const Anchor = styled('a')({}); interface NextLinkComposedProps extends Omit, 'href'>, - Omit { + Omit { to: NextLinkProps['href']; linkAs?: NextLinkProps['as']; href?: NextLinkProps['href']; diff --git a/src/hooks/governance/useProposalVotes.ts b/src/hooks/governance/useProposalVotes.ts index e77790438a..e023839e19 100644 --- a/src/hooks/governance/useProposalVotes.ts +++ b/src/hooks/governance/useProposalVotes.ts @@ -10,10 +10,10 @@ export type ProposalVote = { }; export interface ProposalVotes { - yaeVotes: ProposalVote[], - nayVotes: ProposalVote[], - combinedVotes: ProposalVote[], - isFetching: boolean, + yaeVotes: ProposalVote[]; + nayVotes: ProposalVote[]; + combinedVotes: ProposalVote[]; + isFetching: boolean; } const VOTING_MACHING_SUBGRAPH_URL = diff --git a/src/modules/governance/proposal/VotersList.tsx b/src/modules/governance/proposal/VotersList.tsx index 741c6f3ed8..05990b48df 100644 --- a/src/modules/governance/proposal/VotersList.tsx +++ b/src/modules/governance/proposal/VotersList.tsx @@ -1,9 +1,9 @@ import { Box, Theme } from '@mui/material'; import { SxProps } from '@mui/system'; import { Fragment } from 'react'; +import { ProposalVote } from 'src/hooks/governance/useProposalVotes'; import { VotersListItem } from './VotersListItem'; -import { ProposalVote } from 'src/hooks/governance/useProposalVotes'; type VotersListProps = { compact?: boolean; diff --git a/src/modules/governance/proposal/VotersListModal.tsx b/src/modules/governance/proposal/VotersListModal.tsx index f0a9abb1b3..2f7054e7f9 100644 --- a/src/modules/governance/proposal/VotersListModal.tsx +++ b/src/modules/governance/proposal/VotersListModal.tsx @@ -4,12 +4,12 @@ import { useState } from 'react'; import { Row } from 'src/components/primitives/Row'; import StyledToggleButton from 'src/components/StyledToggleButton'; import StyledToggleButtonGroup from 'src/components/StyledToggleButtonGroup'; +import { ProposalVotes } from 'src/hooks/governance/useProposalVotes'; import { BasicModal } from '../../../components/primitives/BasicModal'; import { FormattedProposalV3 } from '../utils/formatProposal'; import { VoteBar } from '../VoteBar'; import { VotersList } from './VotersList'; -import { ProposalVotes } from 'src/hooks/governance/useProposalVotes'; type VotersListModalProps = { open: boolean; From 0b51f2a260eb92b3a5bd63da2543cae3d0c78c34 Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Mon, 18 Dec 2023 12:14:23 -0600 Subject: [PATCH 29/84] fix: revert --- src/ui-config/menu-items/index.tsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/ui-config/menu-items/index.tsx b/src/ui-config/menu-items/index.tsx index bcbb8f12ae..d64cc9c37d 100644 --- a/src/ui-config/menu-items/index.tsx +++ b/src/ui-config/menu-items/index.tsx @@ -37,10 +37,10 @@ export const navigation: Navigation[] = [ link: ROUTES.governance, title: t`Governance`, dataCy: 'menuGovernance', - // isVisible: () => - // process.env.NEXT_PUBLIC_ENABLE_GOVERNANCE === 'true' && - // process.env.NEXT_PUBLIC_ENV === 'prod' && - // !ENABLE_TESTNET, + isVisible: () => + process.env.NEXT_PUBLIC_ENABLE_GOVERNANCE === 'true' && + process.env.NEXT_PUBLIC_ENV === 'prod' && + !ENABLE_TESTNET, }, { link: ROUTES.faucet, From ee2ea4cab1b6a24006708cfe3cdb140c5b754bd1 Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Mon, 18 Dec 2023 13:13:55 -0600 Subject: [PATCH 30/84] fix: testing --- pages/governance/index.governance.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/pages/governance/index.governance.tsx b/pages/governance/index.governance.tsx index 592a535fe9..8871b8e092 100644 --- a/pages/governance/index.governance.tsx +++ b/pages/governance/index.governance.tsx @@ -87,6 +87,7 @@ export default function Governance(props: GovernancePageProps) { 'Page Name': 'Governance', }); }, [trackEvent]); + return ( <> From d7e554fed45fdc3ec587a15775fe2a3c16daf977 Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Mon, 18 Dec 2023 13:22:34 -0600 Subject: [PATCH 31/84] fix: test --- pages/governance/index.governance.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/pages/governance/index.governance.tsx b/pages/governance/index.governance.tsx index 8871b8e092..592a535fe9 100644 --- a/pages/governance/index.governance.tsx +++ b/pages/governance/index.governance.tsx @@ -87,7 +87,6 @@ export default function Governance(props: GovernancePageProps) { 'Page Name': 'Governance', }); }, [trackEvent]); - return ( <> From 3c50cd76af21fafcd9a8c6e4426bc6541405bef3 Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Mon, 18 Dec 2023 13:26:17 -0600 Subject: [PATCH 32/84] fix: deployment --- next.config.js | 3 ++- src/ui-config/menu-items/index.tsx | 8 ++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/next.config.js b/next.config.js index d1a9f8e690..e7d68db04b 100644 --- a/next.config.js +++ b/next.config.js @@ -4,7 +4,8 @@ const withBundleAnalyzer = require('@next/bundle-analyzer')({ }); const pageExtensions = ['page.tsx']; -if (process.env.NEXT_PUBLIC_ENABLE_GOVERNANCE === 'true') pageExtensions.push('governance.tsx'); +// if (process.env.NEXT_PUBLIC_ENABLE_GOVERNANCE === 'true') pageExtensions.push('governance.tsx'); // TODO: put back in +pageExtensions.push('governance.tsx'); if (process.env.NEXT_PUBLIC_ENABLE_STAKING === 'true') pageExtensions.push('staking.tsx'); /** @type {import('next').NextConfig} */ diff --git a/src/ui-config/menu-items/index.tsx b/src/ui-config/menu-items/index.tsx index d64cc9c37d..bcbb8f12ae 100644 --- a/src/ui-config/menu-items/index.tsx +++ b/src/ui-config/menu-items/index.tsx @@ -37,10 +37,10 @@ export const navigation: Navigation[] = [ link: ROUTES.governance, title: t`Governance`, dataCy: 'menuGovernance', - isVisible: () => - process.env.NEXT_PUBLIC_ENABLE_GOVERNANCE === 'true' && - process.env.NEXT_PUBLIC_ENV === 'prod' && - !ENABLE_TESTNET, + // isVisible: () => + // process.env.NEXT_PUBLIC_ENABLE_GOVERNANCE === 'true' && + // process.env.NEXT_PUBLIC_ENV === 'prod' && + // !ENABLE_TESTNET, }, { link: ROUTES.faucet, From 6fba25c44a9d2046fad31fcfbeb5f524a91de801 Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Mon, 18 Dec 2023 14:49:20 -0600 Subject: [PATCH 33/84] feat: representing view --- src/locales/en/messages.js | 2 +- src/locales/en/messages.po | 5 + .../governance/RepresentativesInfoPanel.tsx | 208 ++++++++++++------ 3 files changed, 145 insertions(+), 70 deletions(-) diff --git a/src/locales/en/messages.js b/src/locales/en/messages.js index f294071d99..1f518240c5 100644 --- a/src/locales/en/messages.js +++ b/src/locales/en/messages.js @@ -1 +1 @@ -/*eslint-disable*/module.exports={messages:{"...":"...",".CSV":".CSV",".JSON":".JSON","<0><1><2/>Add <3/> stkAAVE to borrow at <4/> (max discount)":"<0><1><2/>Add <3/> stkAAVE to borrow at <4/> (max discount)","<0><1><2/>Add stkAAVE to see borrow rate with discount":"<0><1><2/>Add stkAAVE to see borrow rate with discount","<0>Ampleforth is a rebasing asset. Visit the <1>documentation to learn more.":"<0>Ampleforth is a rebasing asset. Visit the <1>documentation to learn more.","<0>Attention: Parameter changes via governance can alter your account health factor and risk of liquidation. Follow the <1>Aave governance forum for updates.":"<0>Attention: Parameter changes via governance can alter your account health factor and risk of liquidation. Follow the <1>Aave governance forum for updates.","<0>Slippage tolerance <1>{selectedSlippage}% <2>{0}":["<0>Slippage tolerance <1>",["selectedSlippage"],"% <2>",["0"],""],"AAVE holders (Ethereum network only) can stake their AAVE in the Safety Module to add more security to the protocol and earn Safety Incentives. In the case of a shortfall event, up to 30% of your stake can be slashed to cover the deficit, providing an additional layer of protection for the protocol.":"AAVE holders (Ethereum network only) can stake their AAVE in the Safety Module to add more security to the protocol and earn Safety Incentives. In the case of a shortfall event, up to 30% of your stake can be slashed to cover the deficit, providing an additional layer of protection for the protocol.","APR":"APR","APY":"APY","APY change":"APY change","APY type":"APY type","APY type change":"APY type change","APY with discount applied":"APY with discount applied","APY, borrow rate":"APY, borrow rate","APY, stable":"APY, stable","APY, variable":"APY, variable","AToken supply is not zero":"AToken supply is not zero","Aave Governance":"Aave Governance","Aave aToken":"Aave aToken","Aave debt token":"Aave debt token","Aave is a fully decentralized, community governed protocol by the AAVE token-holders. AAVE token-holders collectively discuss, propose, and vote on upgrades to the protocol. AAVE token-holders (Ethereum network only) can either vote themselves on new proposals or delagate to an address of choice. To learn more check out the Governance":"Aave is a fully decentralized, community governed protocol by the AAVE token-holders. AAVE token-holders collectively discuss, propose, and vote on upgrades to the protocol. AAVE token-holders (Ethereum network only) can either vote themselves on new proposals or delagate to an address of choice. To learn more check out the Governance","Aave per month":"Aave per month","About GHO":"About GHO","Account":"Account","Action cannot be performed because the reserve is frozen":"Action cannot be performed because the reserve is frozen","Action cannot be performed because the reserve is paused":"Action cannot be performed because the reserve is paused","Action requires an active reserve":"Action requires an active reserve","Activate Cooldown":"Activate Cooldown","Add stkAAVE to see borrow APY with the discount":"Add stkAAVE to see borrow APY with the discount","Add to wallet":"Add to wallet","Add {0} to wallet to track your balance.":["Add ",["0"]," to wallet to track your balance."],"Address is not a contract":"Address is not a contract","Addresses":"Addresses","Addresses ({0})":["Addresses (",["0"],")"],"All Assets":"All Assets","All done!":"All done!","All proposals":"All proposals","All transactions":"All transactions","Allowance required action":"Allowance required action","Allows you to decide whether to use a supplied asset as collateral. An asset used as collateral will affect your borrowing power and health factor.":"Allows you to decide whether to use a supplied asset as collateral. An asset used as collateral will affect your borrowing power and health factor.","Allows you to switch between <0>variable and <1>stable interest rates, where variable rate can increase and decrease depending on the amount of liquidity in the reserve, and stable rate will stay the same for the duration of your loan.":"Allows you to switch between <0>variable and <1>stable interest rates, where variable rate can increase and decrease depending on the amount of liquidity in the reserve, and stable rate will stay the same for the duration of your loan.","Amount":"Amount","Amount claimable":"Amount claimable","Amount in cooldown":"Amount in cooldown","Amount must be greater than 0":"Amount must be greater than 0","Amount to unstake":"Amount to unstake","An error has occurred fetching the proposal.":"An error has occurred fetching the proposal.","Approve Confirmed":"Approve Confirmed","Approve with":"Approve with","Approve {symbol} to continue":["Approve ",["symbol"]," to continue"],"Approving {symbol}...":["Approving ",["symbol"],"..."],"Array parameters that should be equal length are not":"Array parameters that should be equal length are not","Asset":"Asset","Asset can be only used as collateral in isolation mode with limited borrowing power. To enter isolation mode, disable all other collateral.":"Asset can be only used as collateral in isolation mode with limited borrowing power. To enter isolation mode, disable all other collateral.","Asset can only be used as collateral in isolation mode only.":"Asset can only be used as collateral in isolation mode only.","Asset cannot be migrated because you have isolated collateral in {marketName} v3 Market which limits borrowable assets. You can manage your collateral in <0>{marketName} V3 Dashboard":["Asset cannot be migrated because you have isolated collateral in ",["marketName"]," v3 Market which limits borrowable assets. You can manage your collateral in <0>",["marketName"]," V3 Dashboard"],"Asset cannot be migrated due to insufficient liquidity or borrow cap limitation in {marketName} v3 market.":["Asset cannot be migrated due to insufficient liquidity or borrow cap limitation in ",["marketName"]," v3 market."],"Asset cannot be migrated due to supply cap restriction in {marketName} v3 market.":["Asset cannot be migrated due to supply cap restriction in ",["marketName"]," v3 market."],"Asset cannot be migrated to {marketName} V3 Market due to E-mode restrictions. You can disable or manage E-mode categories in your <0>V3 Dashboard":["Asset cannot be migrated to ",["marketName"]," V3 Market due to E-mode restrictions. You can disable or manage E-mode categories in your <0>V3 Dashboard"],"Asset cannot be migrated to {marketName} v3 Market since collateral asset will enable isolation mode.":["Asset cannot be migrated to ",["marketName"]," v3 Market since collateral asset will enable isolation mode."],"Asset cannot be used as collateral.":"Asset cannot be used as collateral.","Asset category":"Asset category","Asset is frozen in {marketName} v3 market, hence this position cannot be migrated.":["Asset is frozen in ",["marketName"]," v3 market, hence this position cannot be migrated."],"Asset is not borrowable in isolation mode":"Asset is not borrowable in isolation mode","Asset is not listed":"Asset is not listed","Asset supply is limited to a certain amount to reduce protocol exposure to the asset and to help manage risks involved.":"Asset supply is limited to a certain amount to reduce protocol exposure to the asset and to help manage risks involved.","Assets":"Assets","Assets to borrow":"Assets to borrow","Assets to supply":"Assets to supply","Assets with zero LTV ({assetsBlockingWithdraw}) must be withdrawn or disabled as collateral to perform this action":["Assets with zero LTV (",["assetsBlockingWithdraw"],") must be withdrawn or disabled as collateral to perform this action"],"At a discount":"At a discount","Available":"Available","Available assets":"Available assets","Available liquidity":"Available liquidity","Available on":"Available on","Available rewards":"Available rewards","Available to borrow":"Available to borrow","Available to supply":"Available to supply","Back to Dashboard":"Back to Dashboard","Balance":"Balance","Balance to revoke":"Balance to revoke","Be careful - You are very close to liquidation. Consider depositing more collateral or paying down some of your borrowed positions":"Be careful - You are very close to liquidation. Consider depositing more collateral or paying down some of your borrowed positions","Be mindful of the network congestion and gas prices.":"Be mindful of the network congestion and gas prices.","Because this asset is paused, no actions can be taken until further notice":"Because this asset is paused, no actions can be taken until further notice","Before supplying":"Before supplying","Blocked Address":"Blocked Address","Borrow":"Borrow","Borrow APY":"Borrow APY","Borrow APY rate":"Borrow APY rate","Borrow APY, variable":"Borrow APY, variable","Borrow amount to reach {0}% utilization":["Borrow amount to reach ",["0"],"% utilization"],"Borrow and repay in same block is not allowed":"Borrow and repay in same block is not allowed","Borrow apy":"Borrow apy","Borrow balance":"Borrow balance","Borrow balance after repay":"Borrow balance after repay","Borrow balance after switch":"Borrow balance after switch","Borrow cap":"Borrow cap","Borrow cap is exceeded":"Borrow cap is exceeded","Borrow info":"Borrow info","Borrow power used":"Borrow power used","Borrow rate APY":"Borrow rate APY","Borrow rate change":"Borrow rate change","Borrow {symbol}":["Borrow ",["symbol"]],"Borrowed":"Borrowed","Borrowed asset amount":"Borrowed asset amount","Borrowing is currently unavailable for {0}.":["Borrowing is currently unavailable for ",["0"],"."],"Borrowing is disabled due to an Aave community decision. <0>More details":"Borrowing is disabled due to an Aave community decision. <0>More details","Borrowing is not enabled":"Borrowing is not enabled","Borrowing is unavailable because you’re using Isolation mode. To manage Isolation mode visit your <0>Dashboard.":"Borrowing is unavailable because you’re using Isolation mode. To manage Isolation mode visit your <0>Dashboard.","Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) and Isolation mode. To manage E-Mode and Isolation mode visit your <0>Dashboard.":"Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) and Isolation mode. To manage E-Mode and Isolation mode visit your <0>Dashboard.","Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) for {0} category. To manage E-Mode categories visit your <0>Dashboard.":["Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) for ",["0"]," category. To manage E-Mode categories visit your <0>Dashboard."],"Borrowing of this asset is limited to a certain amount to minimize liquidity pool insolvency.":"Borrowing of this asset is limited to a certain amount to minimize liquidity pool insolvency.","Borrowing power and assets are limited due to Isolation mode.":"Borrowing power and assets are limited due to Isolation mode.","Borrowing this amount will reduce your health factor and increase risk of liquidation.":"Borrowing this amount will reduce your health factor and increase risk of liquidation.","Borrowing {symbol}":["Borrowing ",["symbol"]],"Both":"Both","Buy Crypto With Fiat":"Buy Crypto With Fiat","Buy Crypto with Fiat":"Buy Crypto with Fiat","Buy {cryptoSymbol} with Fiat":["Buy ",["cryptoSymbol"]," with Fiat"],"COPIED!":"COPIED!","COPY IMAGE":"COPY IMAGE","Can be collateral":"Can be collateral","Can be executed":"Can be executed","Can't validate the wallet address. Try again.":"Can't validate the wallet address. Try again.","Cancel":"Cancel","Cannot disable E-Mode":"Cannot disable E-Mode","Choose how much voting/proposition power to give to someone else by delegating some of your AAVE or stkAAVE balance. Your tokens will remain in your account, but your delegate will be able to vote or propose on your behalf. If your AAVE or stkAAVE balance changes, your delegate's voting/proposition power will be automatically adjusted.":"Choose how much voting/proposition power to give to someone else by delegating some of your AAVE or stkAAVE balance. Your tokens will remain in your account, but your delegate will be able to vote or propose on your behalf. If your AAVE or stkAAVE balance changes, your delegate's voting/proposition power will be automatically adjusted.","Choose one of the on-ramp services":"Choose one of the on-ramp services","Claim":"Claim","Claim all":"Claim all","Claim all rewards":"Claim all rewards","Claim {0}":["Claim ",["0"]],"Claim {symbol}":["Claim ",["symbol"]],"Claimable AAVE":"Claimable AAVE","Claimed":"Claimed","Claiming":"Claiming","Claiming {symbol}":["Claiming ",["symbol"]],"Close":"Close","Collateral":"Collateral","Collateral balance after repay":"Collateral balance after repay","Collateral change":"Collateral change","Collateral is (mostly) the same currency that is being borrowed":"Collateral is (mostly) the same currency that is being borrowed","Collateral to repay with":"Collateral to repay with","Collateral usage":"Collateral usage","Collateral usage is limited because of Isolation mode.":"Collateral usage is limited because of Isolation mode.","Collateral usage is limited because of isolation mode.":"Collateral usage is limited because of isolation mode.","Collateral usage is limited because of isolation mode. <0>Learn More":"Collateral usage is limited because of isolation mode. <0>Learn More","Collateralization":"Collateralization","Collector Contract":"Collector Contract","Collector Info":"Collector Info","Confirm transaction":"Confirm transaction","Confirming transaction":"Confirming transaction","Connect":"Connect","Connect wallet":"Connect wallet","Cooldown period":"Cooldown period","Cooldown period warning":"Cooldown period warning","Cooldown time left":"Cooldown time left","Cooldown to unstake":"Cooldown to unstake","Cooling down...":"Cooling down...","Copy address":"Copy address","Copy error message":"Copy error message","Copy error text":"Copy error text","Covered debt":"Covered debt","Current LTV":"Current LTV","Current differential":"Current differential","Current v2 Balance":"Current v2 Balance","Current v2 balance":"Current v2 balance","Current votes":"Current votes","Dark mode":"Dark mode","Dashboard":"Dashboard","Data couldn't be fetched, please reload graph.":"Data couldn't be fetched, please reload graph.","Debt":"Debt","Debt ceiling is exceeded":"Debt ceiling is exceeded","Debt ceiling is not zero":"Debt ceiling is not zero","Debt ceiling limits the amount possible to borrow against this asset by protocol users. Debt ceiling is specific to assets in isolation mode and is denoted in USD.":"Debt ceiling limits the amount possible to borrow against this asset by protocol users. Debt ceiling is specific to assets in isolation mode and is denoted in USD.","Delegated power":"Delegated power","Details":"Details","Developers":"Developers","Differential":"Differential","Disable E-Mode":"Disable E-Mode","Disable testnet":"Disable testnet","Disable {symbol} as collateral":["Disable ",["symbol"]," as collateral"],"Disabled":"Disabled","Disabling E-Mode":"Disabling E-Mode","Disabling this asset as collateral affects your borrowing power and Health Factor.":"Disabling this asset as collateral affects your borrowing power and Health Factor.","Disconnect Wallet":"Disconnect Wallet","Discord channel":"Discord channel","Discount":"Discount","Discount applied for <0/> staking AAVE":"Discount applied for <0/> staking AAVE","Discount model parameters":"Discount model parameters","Discount parameters are decided by the Aave community and may be changed over time. Check Governance for updates and vote to participate. <0>Learn more":"Discount parameters are decided by the Aave community and may be changed over time. Check Governance for updates and vote to participate. <0>Learn more","Discountable amount":"Discountable amount","Docs":"Docs","Download":"Download","Due to internal stETH mechanics required for rebasing support, it is not possible to perform a collateral switch where stETH is the source token.":"Due to internal stETH mechanics required for rebasing support, it is not possible to perform a collateral switch where stETH is the source token.","Due to the Horizon bridge exploit, certain assets on the Harmony network are not at parity with Ethereum, which affects the Aave V3 Harmony market.":"Due to the Horizon bridge exploit, certain assets on the Harmony network are not at parity with Ethereum, which affects the Aave V3 Harmony market.","E-Mode":"E-Mode","E-Mode Category":"E-Mode Category","E-Mode category":"E-Mode category","E-Mode increases your LTV for a selected category of assets up to 97%. <0>Learn more":"E-Mode increases your LTV for a selected category of assets up to 97%. <0>Learn more","E-Mode increases your LTV for a selected category of assets up to<0/>. <1>Learn more":"E-Mode increases your LTV for a selected category of assets up to<0/>. <1>Learn more","E-Mode increases your LTV for a selected category of assets, meaning that when E-mode is enabled, you will have higher borrowing power over assets of the same E-mode category which are defined by Aave Governance. You can enter E-Mode from your <0>Dashboard. To learn more about E-Mode and applied restrictions in <1>FAQ or <2>Aave V3 Technical Paper.":"E-Mode increases your LTV for a selected category of assets, meaning that when E-mode is enabled, you will have higher borrowing power over assets of the same E-mode category which are defined by Aave Governance. You can enter E-Mode from your <0>Dashboard. To learn more about E-Mode and applied restrictions in <1>FAQ or <2>Aave V3 Technical Paper.","Edit":"Edit","Effective interest rate":"Effective interest rate","Efficiency mode (E-Mode)":"Efficiency mode (E-Mode)","Emode":"Emode","Enable E-Mode":"Enable E-Mode","Enable {symbol} as collateral":["Enable ",["symbol"]," as collateral"],"Enabled":"Enabled","Enabling E-Mode":"Enabling E-Mode","Enabling E-Mode only allows you to borrow assets belonging to the selected category. Please visit our <0>FAQ guide to learn more about how it works and the applied restrictions.":"Enabling E-Mode only allows you to borrow assets belonging to the selected category. Please visit our <0>FAQ guide to learn more about how it works and the applied restrictions.","Enabling this asset as collateral increases your borrowing power and Health Factor. However, it can get liquidated if your health factor drops below 1.":"Enabling this asset as collateral increases your borrowing power and Health Factor. However, it can get liquidated if your health factor drops below 1.","English":"English","Enter ETH address":"Enter ETH address","Enter an amount":"Enter an amount","Error connecting. Try refreshing the page.":"Error connecting. Try refreshing the page.","Estimated compounding interest, including discount for Staking {0}AAVE in Safety Module.":["Estimated compounding interest, including discount for Staking ",["0"],"AAVE in Safety Module."],"Exceeds the discount":"Exceeds the discount","Expected amount to repay":"Expected amount to repay","Expires":"Expires","Export data to":"Export data to","FAQ":"FAQ","FAQS":"FAQS","Failed to load proposal voters. Please refresh the page.":"Failed to load proposal voters. Please refresh the page.","Faucet":"Faucet","Faucet {0}":["Faucet ",["0"]],"Fetching data...":"Fetching data...","Filter":"Filter","Fixed":"Fixed","Fixed rate":"Fixed rate","Flashloan is disabled for this asset, hence this position cannot be migrated.":"Flashloan is disabled for this asset, hence this position cannot be migrated.","For repayment of a specific type of debt, the user needs to have debt that type":"For repayment of a specific type of debt, the user needs to have debt that type","French":"French","Funds in the Safety Module":"Funds in the Safety Module","GHO is a native decentralized, collateral-backed digital asset pegged to USD. It is created by users via borrowing against multiple collateral. When user repays their GHO borrow position, the protocol burns that user's GHO. All the interest payments accrued by minters of GHO would be directly transferred to the AaveDAO treasury.":"GHO is a native decentralized, collateral-backed digital asset pegged to USD. It is created by users via borrowing against multiple collateral. When user repays their GHO borrow position, the protocol burns that user's GHO. All the interest payments accrued by minters of GHO would be directly transferred to the AaveDAO treasury.","Get ABP Token":"Get ABP Token","Global settings":"Global settings","Go Back":"Go Back","Go to Balancer Pool":"Go to Balancer Pool","Go to V3 Dashboard":"Go to V3 Dashboard","Governance":"Governance","Greek":"Greek","Health Factor ({0} v2)":["Health Factor (",["0"]," v2)"],"Health Factor ({0} v3)":["Health Factor (",["0"]," v3)"],"Health factor":"Health factor","Health factor is lesser than the liquidation threshold":"Health factor is lesser than the liquidation threshold","Health factor is not below the threshold":"Health factor is not below the threshold","Hide":"Hide","Holders of stkAAVE receive a discount on the GHO borrowing rate":"Holders of stkAAVE receive a discount on the GHO borrowing rate","I acknowledge the risks involved.":"I acknowledge the risks involved.","I fully understand the risks of migrating.":"I fully understand the risks of migrating.","I understand how cooldown ({0}) and unstaking ({1}) work":["I understand how cooldown (",["0"],") and unstaking (",["1"],") work"],"If the error continues to happen,<0/> you may report it to this":"If the error continues to happen,<0/> you may report it to this","If the health factor goes below 1, the liquidation of your collateral might be triggered.":"If the health factor goes below 1, the liquidation of your collateral might be triggered.","If you DO NOT unstake within {0} of unstake window, you will need to activate cooldown process again.":["If you DO NOT unstake within ",["0"]," of unstake window, you will need to activate cooldown process again."],"If your loan to value goes above the liquidation threshold your collateral supplied may be liquidated.":"If your loan to value goes above the liquidation threshold your collateral supplied may be liquidated.","In E-Mode some assets are not borrowable. Exit E-Mode to get access to all assets":"In E-Mode some assets are not borrowable. Exit E-Mode to get access to all assets","In Isolation mode, you cannot supply other assets as collateral. A global debt ceiling limits the borrowing power of the isolated asset. To exit isolation mode disable {0} as collateral before borrowing another asset. Read more in our <0>FAQ":["In Isolation mode, you cannot supply other assets as collateral. A global debt ceiling limits the borrowing power of the isolated asset. To exit isolation mode disable ",["0"]," as collateral before borrowing another asset. Read more in our <0>FAQ"],"Inconsistent flashloan parameters":"Inconsistent flashloan parameters","Insufficient collateral to cover new borrow position. Wallet must have borrowing power remaining to perform debt switch.":"Insufficient collateral to cover new borrow position. Wallet must have borrowing power remaining to perform debt switch.","Interest accrued":"Interest accrued","Interest rate rebalance conditions were not met":"Interest rate rebalance conditions were not met","Interest rate strategy":"Interest rate strategy","Interest rate that is determined by Aave Governance. This rate may be changed over time depending on the need for the GHO supply to contract/expand. <0>Learn more":"Interest rate that is determined by Aave Governance. This rate may be changed over time depending on the need for the GHO supply to contract/expand. <0>Learn more","Invalid amount to burn":"Invalid amount to burn","Invalid amount to mint":"Invalid amount to mint","Invalid bridge protocol fee":"Invalid bridge protocol fee","Invalid expiration":"Invalid expiration","Invalid flashloan premium":"Invalid flashloan premium","Invalid return value of the flashloan executor function":"Invalid return value of the flashloan executor function","Invalid signature":"Invalid signature","Isolated":"Isolated","Isolated Debt Ceiling":"Isolated Debt Ceiling","Isolated assets have limited borrowing power and other assets cannot be used as collateral.":"Isolated assets have limited borrowing power and other assets cannot be used as collateral.","Join the community discussion":"Join the community discussion","LEARN MORE":"LEARN MORE","Language":"Language","Learn more":"Learn more","Learn more about risks involved":"Learn more about risks involved","Learn more in our <0>FAQ guide":"Learn more in our <0>FAQ guide","Learn more.":"Learn more.","Linked addresses":"Linked addresses","Links":"Links","Liqudation":"Liqudation","Liquidated collateral":"Liquidated collateral","Liquidation":"Liquidation","Liquidation <0/> threshold":"Liquidation <0/> threshold","Liquidation Threshold":"Liquidation Threshold","Liquidation at":"Liquidation at","Liquidation penalty":"Liquidation penalty","Liquidation risk":"Liquidation risk","Liquidation risk parameters":"Liquidation risk parameters","Liquidation threshold":"Liquidation threshold","Liquidation value":"Liquidation value","Loading data...":"Loading data...","Ltv validation failed":"Ltv validation failed","MAI has been paused due to a community decision. Supply, borrows and repays are impacted. <0>More details":"MAI has been paused due to a community decision. Supply, borrows and repays are impacted. <0>More details","MAX":"MAX","Manage analytics":"Manage analytics","Market":"Market","Markets":"Markets","Max":"Max","Max LTV":"Max LTV","Max slashing":"Max slashing","Max slippage":"Max slippage","Maximum amount available to borrow against this asset is limited because debt ceiling is at {0}%.":["Maximum amount available to borrow against this asset is limited because debt ceiling is at ",["0"],"%."],"Maximum amount available to borrow is <0/> {0} (<1/>).":["Maximum amount available to borrow is <0/> ",["0"]," (<1/>)."],"Maximum amount available to borrow is limited because protocol borrow cap is nearly reached.":"Maximum amount available to borrow is limited because protocol borrow cap is nearly reached.","Maximum amount available to supply is <0/> {0} (<1/>).":["Maximum amount available to supply is <0/> ",["0"]," (<1/>)."],"Maximum amount available to supply is limited because protocol supply cap is at {0}%.":["Maximum amount available to supply is limited because protocol supply cap is at ",["0"],"%."],"Maximum loan to value":"Maximum loan to value","Meet GHO":"Meet GHO","Menu":"Menu","Migrate":"Migrate","Migrate to V3":"Migrate to V3","Migrate to v3":"Migrate to v3","Migrate to {0} v3 Market":["Migrate to ",["0"]," v3 Market"],"Migrated":"Migrated","Migrating":"Migrating","Migrating multiple collaterals and borrowed assets at the same time can be an expensive operation and might fail in certain situations.<0>Therefore it’s not recommended to migrate positions with more than 5 assets (deposited + borrowed) at the same time.":"Migrating multiple collaterals and borrowed assets at the same time can be an expensive operation and might fail in certain situations.<0>Therefore it’s not recommended to migrate positions with more than 5 assets (deposited + borrowed) at the same time.","Migration risks":"Migration risks","Minimum GHO borrow amount":"Minimum GHO borrow amount","Minimum USD value received":"Minimum USD value received","Minimum staked Aave amount":"Minimum staked Aave amount","Minimum {0} received":["Minimum ",["0"]," received"],"More":"More","NAY":"NAY","Need help connecting a wallet? <0>Read our FAQ":"Need help connecting a wallet? <0>Read our FAQ","Net APR":"Net APR","Net APY":"Net APY","Net APY is the combined effect of all supply and borrow positions on net worth, including incentives. It is possible to have a negative net APY if debt APY is higher than supply APY.":"Net APY is the combined effect of all supply and borrow positions on net worth, including incentives. It is possible to have a negative net APY if debt APY is higher than supply APY.","Net worth":"Net worth","Network":"Network","Network not supported for this wallet":"Network not supported for this wallet","New APY":"New APY","No assets selected to migrate.":"No assets selected to migrate.","No rewards to claim":"No rewards to claim","No search results{0}":["No search results",["0"]],"No transactions yet.":"No transactions yet.","No voting power":"No voting power","None":"None","Not a valid address":"Not a valid address","Not enough balance on your wallet":"Not enough balance on your wallet","Not enough collateral to repay this amount of debt with":"Not enough collateral to repay this amount of debt with","Not enough staked balance":"Not enough staked balance","Not enough voting power to participate in this proposal":"Not enough voting power to participate in this proposal","Not reached":"Not reached","Nothing borrowed yet":"Nothing borrowed yet","Nothing found":"Nothing found","Nothing staked":"Nothing staked","Nothing supplied yet":"Nothing supplied yet","Notify":"Notify","Ok, Close":"Ok, Close","Ok, I got it":"Ok, I got it","Operation not supported":"Operation not supported","Oracle price":"Oracle price","Overview":"Overview","Page not found":"Page not found","Participating in this {symbol} reserve gives annualized rewards.":["Participating in this ",["symbol"]," reserve gives annualized rewards."],"Pending...":"Pending...","Per the community, the Fantom market has been frozen.":"Per the community, the Fantom market has been frozen.","Per the community, the V2 AMM market has been deprecated.":"Per the community, the V2 AMM market has been deprecated.","Please always be aware of your <0>Health Factor (HF) when partially migrating a position and that your rates will be updated to V3 rates.":"Please always be aware of your <0>Health Factor (HF) when partially migrating a position and that your rates will be updated to V3 rates.","Please connect a wallet to view your personal information here.":"Please connect a wallet to view your personal information here.","Please connect your wallet to be able to switch your tokens.":"Please connect your wallet to be able to switch your tokens.","Please connect your wallet to get free testnet assets.":"Please connect your wallet to get free testnet assets.","Please connect your wallet to see migration tool.":"Please connect your wallet to see migration tool.","Please connect your wallet to see your supplies, borrowings, and open positions.":"Please connect your wallet to see your supplies, borrowings, and open positions.","Please connect your wallet to view transaction history.":"Please connect your wallet to view transaction history.","Please enter a valid wallet address.":"Please enter a valid wallet address.","Please switch to {networkName}.":["Please switch to ",["networkName"],"."],"Please, connect your wallet":"Please, connect your wallet","Pool addresses provider is not registered":"Pool addresses provider is not registered","Powered by":"Powered by","Preview tx and migrate":"Preview tx and migrate","Price":"Price","Price data is not currently available for this reserve on the protocol subgraph":"Price data is not currently available for this reserve on the protocol subgraph","Price impact":"Price impact","Price impact is the spread between the total value of the entry tokens switched and the destination tokens obtained (in USD), which results from the limited liquidity of the trading pair.":"Price impact is the spread between the total value of the entry tokens switched and the destination tokens obtained (in USD), which results from the limited liquidity of the trading pair.","Price impact {0}%":["Price impact ",["0"],"%"],"Privacy":"Privacy","Proposal details":"Proposal details","Proposal overview":"Proposal overview","Proposals":"Proposals","Proposition":"Proposition","Protocol borrow cap at 100% for this asset. Further borrowing unavailable.":"Protocol borrow cap at 100% for this asset. Further borrowing unavailable.","Protocol borrow cap is at 100% for this asset. Further borrowing unavailable.":"Protocol borrow cap is at 100% for this asset. Further borrowing unavailable.","Protocol debt ceiling is at 100% for this asset. Further borrowing against this asset is unavailable.":"Protocol debt ceiling is at 100% for this asset. Further borrowing against this asset is unavailable.","Protocol debt ceiling is at 100% for this asset. Futher borrowing against this asset is unavailable.":"Protocol debt ceiling is at 100% for this asset. Futher borrowing against this asset is unavailable.","Protocol supply cap at 100% for this asset. Further supply unavailable.":"Protocol supply cap at 100% for this asset. Further supply unavailable.","Protocol supply cap is at 100% for this asset. Further supply unavailable.":"Protocol supply cap is at 100% for this asset. Further supply unavailable.","Quorum":"Quorum","Rate change":"Rate change","Raw-Ipfs":"Raw-Ipfs","Reached":"Reached","Reactivate cooldown period to unstake {0} {stakedToken}":["Reactivate cooldown period to unstake ",["0"]," ",["stakedToken"]],"Read more here.":"Read more here.","Read-only mode allows to see address positions in Aave, but you won't be able to perform transactions.":"Read-only mode allows to see address positions in Aave, but you won't be able to perform transactions.","Read-only mode.":"Read-only mode.","Read-only mode. Connect to a wallet to perform transactions.":"Read-only mode. Connect to a wallet to perform transactions.","Receive (est.)":"Receive (est.)","Received":"Received","Recipient address":"Recipient address","Rejected connection request":"Rejected connection request","Reload":"Reload","Reload the page":"Reload the page","Remaining debt":"Remaining debt","Remaining supply":"Remaining supply","Remove":"Remove","Repaid":"Repaid","Repay":"Repay","Repay with":"Repay with","Repay {symbol}":["Repay ",["symbol"]],"Repaying {symbol}":["Repaying ",["symbol"]],"Repayment amount to reach {0}% utilization":["Repayment amount to reach ",["0"],"% utilization"],"Representative smart contract wallet (ie. Safe) addresses on other chains.":"Representative smart contract wallet (ie. Safe) addresses on other chains.","Reserve Size":"Reserve Size","Reserve factor":"Reserve factor","Reserve factor is a percentage of interest which goes to a {0} that is controlled by Aave governance to promote ecosystem growth.":["Reserve factor is a percentage of interest which goes to a ",["0"]," that is controlled by Aave governance to promote ecosystem growth."],"Reserve status & configuration":"Reserve status & configuration","Reset":"Reset","Restake":"Restake","Restake {symbol}":["Restake ",["symbol"]],"Restaked":"Restaked","Restaking {symbol}":["Restaking ",["symbol"]],"Review approval tx details":"Review approval tx details","Review changes to continue":"Review changes to continue","Review tx":"Review tx","Review tx details":"Review tx details","Revoke power":"Revoke power","Reward(s) to claim":"Reward(s) to claim","Rewards APR":"Rewards APR","Risk details":"Risk details","SEE CHARTS":"SEE CHARTS","Safety of your deposited collateral against the borrowed assets and its underlying value.":"Safety of your deposited collateral against the borrowed assets and its underlying value.","Save and share":"Save and share","Seems like we can't switch the network automatically. Please check if you can change it from the wallet.":"Seems like we can't switch the network automatically. Please check if you can change it from the wallet.","Select":"Select","Select APY type to switch":"Select APY type to switch","Select an asset":"Select an asset","Select language":"Select language","Select slippage tolerance":"Select slippage tolerance","Select v2 borrows to migrate":"Select v2 borrows to migrate","Select v2 supplies to migrate":"Select v2 supplies to migrate","Selected assets have successfully migrated. Visit the Market Dashboard to see them.":"Selected assets have successfully migrated. Visit the Market Dashboard to see them.","Selected borrow assets":"Selected borrow assets","Selected supply assets":"Selected supply assets","Send feedback":"Send feedback","Set up delegation":"Set up delegation","Setup notifications about your Health Factor using the Hal app.":"Setup notifications about your Health Factor using the Hal app.","Share on Lens":"Share on Lens","Share on twitter":"Share on twitter","Show":"Show","Show Frozen or paused assets":"Show Frozen or paused assets","Show assets with 0 balance":"Show assets with 0 balance","Sign to continue":"Sign to continue","Signatures ready":"Signatures ready","Signing":"Signing","Since this asset is frozen, the only available actions are withdraw and repay which can be accessed from the <0>Dashboard":"Since this asset is frozen, the only available actions are withdraw and repay which can be accessed from the <0>Dashboard","Since this is a test network, you can get any of the assets if you have ETH on your wallet":"Since this is a test network, you can get any of the assets if you have ETH on your wallet","Slippage":"Slippage","Slippage is the difference between the quoted and received amounts from changing market conditions between the moment the transaction is submitted and its verification.":"Slippage is the difference between the quoted and received amounts from changing market conditions between the moment the transaction is submitted and its verification.","Some migrated assets will not be used as collateral due to enabled isolation mode in {marketName} V3 Market. Visit <0>{marketName} V3 Dashboard to manage isolation mode.":["Some migrated assets will not be used as collateral due to enabled isolation mode in ",["marketName"]," V3 Market. Visit <0>",["marketName"]," V3 Dashboard to manage isolation mode."],"Something went wrong":"Something went wrong","Sorry, an unexpected error happened. In the meantime you may try reloading the page, or come back later.":"Sorry, an unexpected error happened. In the meantime you may try reloading the page, or come back later.","Sorry, we couldn't find the page you were looking for.":"Sorry, we couldn't find the page you were looking for.","Spanish":"Spanish","Stable":"Stable","Stable Interest Type is disabled for this currency":"Stable Interest Type is disabled for this currency","Stable borrowing is enabled":"Stable borrowing is enabled","Stable borrowing is not enabled":"Stable borrowing is not enabled","Stable debt supply is not zero":"Stable debt supply is not zero","Stable interest rate will <0>stay the same for the duration of your loan. Recommended for long-term loan periods and for users who prefer predictability.":"Stable interest rate will <0>stay the same for the duration of your loan. Recommended for long-term loan periods and for users who prefer predictability.","Stablecoin":"Stablecoin","Stake":"Stake","Stake AAVE":"Stake AAVE","Stake ABPT":"Stake ABPT","Stake cooldown activated":"Stake cooldown activated","Staked":"Staked","Staking":"Staking","Staking APR":"Staking APR","Staking Rewards":"Staking Rewards","Staking balance":"Staking balance","Staking discount":"Staking discount","State":"State","Supplied":"Supplied","Supplied asset amount":"Supplied asset amount","Supply":"Supply","Supply APY":"Supply APY","Supply apy":"Supply apy","Supply balance":"Supply balance","Supply balance after switch":"Supply balance after switch","Supply cap is exceeded":"Supply cap is exceeded","Supply cap on target reserve reached. Try lowering the amount.":"Supply cap on target reserve reached. Try lowering the amount.","Supply {symbol}":["Supply ",["symbol"]],"Supplying your":"Supplying your","Supplying {symbol}":["Supplying ",["symbol"]],"Switch":"Switch","Switch APY type":"Switch APY type","Switch E-Mode":"Switch E-Mode","Switch E-Mode category":"Switch E-Mode category","Switch Network":"Switch Network","Switch borrow position":"Switch borrow position","Switch rate":"Switch rate","Switch to":"Switch to","Switched":"Switched","Switching":"Switching","Switching E-Mode":"Switching E-Mode","Switching rate":"Switching rate","Techpaper":"Techpaper","Terms":"Terms","Test Assets":"Test Assets","Testnet mode":"Testnet mode","Testnet mode is ON":"Testnet mode is ON","Thank you for voting!!":"Thank you for voting!!","The % of your total borrowing power used. This is based on the amount of your collateral supplied and the total amount that you can borrow.":"The % of your total borrowing power used. This is based on the amount of your collateral supplied and the total amount that you can borrow.","The Aave Balancer Pool Token (ABPT) is a liquidity pool token. You can receive ABPT by depositing a combination of AAVE + ETH in the Balancer liquidity pool. You can then stake your BPT in the Safety Module to secure the protocol and earn Safety Incentives.":"The Aave Balancer Pool Token (ABPT) is a liquidity pool token. You can receive ABPT by depositing a combination of AAVE + ETH in the Balancer liquidity pool. You can then stake your BPT in the Safety Module to secure the protocol and earn Safety Incentives.","The Aave Protocol is programmed to always use the price of 1 GHO = $1. This is different from using market pricing via oracles for other crypto assets. This creates stabilizing arbitrage opportunities when the price of GHO fluctuates.":"The Aave Protocol is programmed to always use the price of 1 GHO = $1. This is different from using market pricing via oracles for other crypto assets. This creates stabilizing arbitrage opportunities when the price of GHO fluctuates.","The Maximum LTV ratio represents the maximum borrowing power of a specific collateral. For example, if a collateral has an LTV of 75%, the user can borrow up to 0.75 worth of ETH in the principal currency for every 1 ETH worth of collateral.":"The Maximum LTV ratio represents the maximum borrowing power of a specific collateral. For example, if a collateral has an LTV of 75%, the user can borrow up to 0.75 worth of ETH in the principal currency for every 1 ETH worth of collateral.","The Stable Rate is not enabled for this currency":"The Stable Rate is not enabled for this currency","The address of the pool addresses provider is invalid":"The address of the pool addresses provider is invalid","The app is running in testnet mode. Learn how it works in":"The app is running in testnet mode. Learn how it works in","The caller of the function is not an AToken":"The caller of the function is not an AToken","The caller of this function must be a pool":"The caller of this function must be a pool","The collateral balance is 0":"The collateral balance is 0","The collateral chosen cannot be liquidated":"The collateral chosen cannot be liquidated","The cooldown period is the time required prior to unstaking your tokens (20 days). You can only withdraw your assets from the Security Module after the cooldown period and within the unstake window.<0>Learn more":"The cooldown period is the time required prior to unstaking your tokens (20 days). You can only withdraw your assets from the Security Module after the cooldown period and within the unstake window.<0>Learn more","The cooldown period is {0}. After {1} of cooldown, you will enter unstake window of {2}. You will continue receiving rewards during cooldown and unstake window.":["The cooldown period is ",["0"],". After ",["1"]," of cooldown, you will enter unstake window of ",["2"],". You will continue receiving rewards during cooldown and unstake window."],"The effects on the health factor would cause liquidation. Try lowering the amount.":"The effects on the health factor would cause liquidation. Try lowering the amount.","The loan to value of the migrated positions would cause liquidation. Increase migrated collateral or reduce migrated borrow to continue.":"The loan to value of the migrated positions would cause liquidation. Increase migrated collateral or reduce migrated borrow to continue.","The requested amount is greater than the max loan size in stable rate mode":"The requested amount is greater than the max loan size in stable rate mode","The total amount of your assets denominated in USD that can be used as collateral for borrowing assets.":"The total amount of your assets denominated in USD that can be used as collateral for borrowing assets.","The underlying asset cannot be rescued":"The underlying asset cannot be rescued","The underlying balance needs to be greater than 0":"The underlying balance needs to be greater than 0","The weighted average of APY for all borrowed assets, including incentives.":"The weighted average of APY for all borrowed assets, including incentives.","The weighted average of APY for all supplied assets, including incentives.":"The weighted average of APY for all supplied assets, including incentives.","There are not enough funds in the{0}reserve to borrow":["There are not enough funds in the",["0"],"reserve to borrow"],"There is not enough collateral to cover a new borrow":"There is not enough collateral to cover a new borrow","There is not enough liquidity for the target asset to perform the switch. Try lowering the amount.":"There is not enough liquidity for the target asset to perform the switch. Try lowering the amount.","There was some error. Please try changing the parameters or <0><1>copy the error":"There was some error. Please try changing the parameters or <0><1>copy the error","These assets are temporarily frozen or paused by Aave community decisions, meaning that further supply / borrow, or rate swap of these assets are unavailable. Withdrawals and debt repayments are allowed. Follow the <0>Aave governance forum for further updates.":"These assets are temporarily frozen or paused by Aave community decisions, meaning that further supply / borrow, or rate swap of these assets are unavailable. Withdrawals and debt repayments are allowed. Follow the <0>Aave governance forum for further updates.","These funds have been borrowed and are not available for withdrawal at this time.":"These funds have been borrowed and are not available for withdrawal at this time.","This action will reduce V2 health factor below liquidation threshold. retain collateral or migrate borrow position to continue.":"This action will reduce V2 health factor below liquidation threshold. retain collateral or migrate borrow position to continue.","This action will reduce health factor of V3 below liquidation threshold. Increase migrated collateral or reduce migrated borrow to continue.":"This action will reduce health factor of V3 below liquidation threshold. Increase migrated collateral or reduce migrated borrow to continue.","This action will reduce your health factor. Please be mindful of the increased risk of collateral liquidation.":"This action will reduce your health factor. Please be mindful of the increased risk of collateral liquidation.","This address is blocked on app.aave.com because it is associated with one or more":"This address is blocked on app.aave.com because it is associated with one or more","This asset has almost reached its borrow cap. There is only {messageValue} available to be borrowed from this market.":["This asset has almost reached its borrow cap. There is only ",["messageValue"]," available to be borrowed from this market."],"This asset has almost reached its supply cap. There can only be {messageValue} supplied to this market.":["This asset has almost reached its supply cap. There can only be ",["messageValue"]," supplied to this market."],"This asset has been paused due to a community decision. Supply, withdraw, borrows and repays are impacted.":"This asset has been paused due to a community decision. Supply, withdraw, borrows and repays are impacted.","This asset has reached its borrow cap. Nothing is available to be borrowed from this market.":"This asset has reached its borrow cap. Nothing is available to be borrowed from this market.","This asset has reached its supply cap. Nothing is available to be supplied from this market.":"This asset has reached its supply cap. Nothing is available to be supplied from this market.","This asset is frozen due to an Aave Protocol Governance decision. <0>More details":"This asset is frozen due to an Aave Protocol Governance decision. <0>More details","This asset is frozen due to an Aave Protocol Governance decision. On the 20th of December 2022, renFIL will no longer be supported and cannot be bridged back to its native network. It is recommended to withdraw supply positions and repay borrow positions so that renFIL can be bridged back to FIL before the deadline. After this date, it will no longer be possible to convert renFIL to FIL. <0>More details":"This asset is frozen due to an Aave Protocol Governance decision. On the 20th of December 2022, renFIL will no longer be supported and cannot be bridged back to its native network. It is recommended to withdraw supply positions and repay borrow positions so that renFIL can be bridged back to FIL before the deadline. After this date, it will no longer be possible to convert renFIL to FIL. <0>More details","This asset is frozen due to an Aave community decision. <0>More details":"This asset is frozen due to an Aave community decision. <0>More details","This asset is planned to be offboarded due to an Aave Protocol Governance decision. <0>More details":"This asset is planned to be offboarded due to an Aave Protocol Governance decision. <0>More details","This gas calculation is only an estimation. Your wallet will set the price of the transaction. You can modify the gas settings directly from your wallet provider.":"This gas calculation is only an estimation. Your wallet will set the price of the transaction. You can modify the gas settings directly from your wallet provider.","This integration was<0>proposed and approvedby the community.":"This integration was<0>proposed and approvedby the community.","This is the total amount available for you to borrow. You can borrow based on your collateral and until the borrow cap is reached.":"This is the total amount available for you to borrow. You can borrow based on your collateral and until the borrow cap is reached.","This is the total amount that you are able to supply to in this reserve. You are able to supply your wallet balance up until the supply cap is reached.":"This is the total amount that you are able to supply to in this reserve. You are able to supply your wallet balance up until the supply cap is reached.","This represents the threshold at which a borrow position will be considered undercollateralized and subject to liquidation for each collateral. For example, if a collateral has a liquidation threshold of 80%, it means that the position will be liquidated when the debt value is worth 80% of the collateral value.":"This represents the threshold at which a borrow position will be considered undercollateralized and subject to liquidation for each collateral. For example, if a collateral has a liquidation threshold of 80%, it means that the position will be liquidated when the debt value is worth 80% of the collateral value.","Time left to be able to withdraw your staked asset.":"Time left to be able to withdraw your staked asset.","Time left to unstake":"Time left to unstake","Time left until the withdrawal window closes.":"Time left until the withdrawal window closes.","Tip: Try increasing slippage or reduce input amount":"Tip: Try increasing slippage or reduce input amount","To borrow you need to supply any asset to be used as collateral.":"To borrow you need to supply any asset to be used as collateral.","To continue, you need to grant Aave smart contracts permission to move your funds from your wallet. Depending on the asset and wallet you use, it is done by signing the permission message (gas free), or by submitting an approval transaction (requires gas). <0>Learn more":"To continue, you need to grant Aave smart contracts permission to move your funds from your wallet. Depending on the asset and wallet you use, it is done by signing the permission message (gas free), or by submitting an approval transaction (requires gas). <0>Learn more","To enable E-mode for the {0} category, all borrow positions outside of this category must be closed.":["To enable E-mode for the ",["0"]," category, all borrow positions outside of this category must be closed."],"To repay on behalf of a user an explicit amount to repay is needed":"To repay on behalf of a user an explicit amount to repay is needed","To request access for this permissioned market, please visit: <0>Acces Provider Name":"To request access for this permissioned market, please visit: <0>Acces Provider Name","To submit a proposal for minor changes to the protocol, you'll need at least 80.00K power. If you want to change the core code base, you'll need 320k power.<0>Learn more.":"To submit a proposal for minor changes to the protocol, you'll need at least 80.00K power. If you want to change the core code base, you'll need 320k power.<0>Learn more.","Top 10 addresses":"Top 10 addresses","Total available":"Total available","Total borrowed":"Total borrowed","Total borrows":"Total borrows","Total emission per day":"Total emission per day","Total interest accrued":"Total interest accrued","Total market size":"Total market size","Total supplied":"Total supplied","Total worth":"Total worth","Track wallet":"Track wallet","Track wallet balance in read-only mode":"Track wallet balance in read-only mode","Transaction failed":"Transaction failed","Transaction history":"Transaction history","Transaction history is not currently available for this market":"Transaction history is not currently available for this market","Transaction overview":"Transaction overview","Transactions":"Transactions","UNSTAKE {symbol}":["UNSTAKE ",["symbol"]],"Unavailable":"Unavailable","Unbacked":"Unbacked","Unbacked mint cap is exceeded":"Unbacked mint cap is exceeded","Underlying asset does not exist in {marketName} v3 Market, hence this position cannot be migrated.":["Underlying asset does not exist in ",["marketName"]," v3 Market, hence this position cannot be migrated."],"Underlying token":"Underlying token","Unstake now":"Unstake now","Unstake window":"Unstake window","Unstaked":"Unstaked","Unstaking {symbol}":["Unstaking ",["symbol"]],"Update: Disruptions reported for WETH, WBTC, WMATIC, and USDT. AIP 230 will resolve the disruptions and the market will be operating as normal on ~26th May 13h00 UTC.":"Update: Disruptions reported for WETH, WBTC, WMATIC, and USDT. AIP 230 will resolve the disruptions and the market will be operating as normal on ~26th May 13h00 UTC.","Use it to vote for or against active proposals.":"Use it to vote for or against active proposals.","Use your AAVE and stkAAVE balance to delegate your voting and proposition powers. You will not be sending any tokens, only the rights to vote and propose changes to the protocol. You can re-delegate or revoke power to self at any time.":"Use your AAVE and stkAAVE balance to delegate your voting and proposition powers. You will not be sending any tokens, only the rights to vote and propose changes to the protocol. You can re-delegate or revoke power to self at any time.","Used as collateral":"Used as collateral","User cannot withdraw more than the available balance":"User cannot withdraw more than the available balance","User did not borrow the specified currency":"User did not borrow the specified currency","User does not have outstanding stable rate debt on this reserve":"User does not have outstanding stable rate debt on this reserve","User does not have outstanding variable rate debt on this reserve":"User does not have outstanding variable rate debt on this reserve","User is in isolation mode":"User is in isolation mode","User is trying to borrow multiple assets including a siloed one":"User is trying to borrow multiple assets including a siloed one","Users who stake AAVE in Safety Module (i.e. stkAAVE holders) receive a discount on GHO borrow interest rate. The discount applies to 100 GHO for every 1 stkAAVE held. Use the calculator below to see GHO borrow rate with the discount applied.":"Users who stake AAVE in Safety Module (i.e. stkAAVE holders) receive a discount on GHO borrow interest rate. The discount applies to 100 GHO for every 1 stkAAVE held. Use the calculator below to see GHO borrow rate with the discount applied.","Utilization Rate":"Utilization Rate","VIEW TX":"VIEW TX","VOTE NAY":"VOTE NAY","VOTE YAE":"VOTE YAE","Variable":"Variable","Variable debt supply is not zero":"Variable debt supply is not zero","Variable interest rate will <0>fluctuate based on the market conditions. Recommended for short-term positions.":"Variable interest rate will <0>fluctuate based on the market conditions. Recommended for short-term positions.","Variable rate":"Variable rate","Version 2":"Version 2","Version 3":"Version 3","View":"View","View Transactions":"View Transactions","View all votes":"View all votes","View contract":"View contract","View details":"View details","View on Explorer":"View on Explorer","Vote NAY":"Vote NAY","Vote YAE":"Vote YAE","Voted NAY":"Voted NAY","Voted YAE":"Voted YAE","Votes":"Votes","Voting":"Voting","Voting power":"Voting power","Voting results":"Voting results","Wallet Balance":"Wallet Balance","Wallet balance":"Wallet balance","Wallet not detected. Connect or install wallet and retry":"Wallet not detected. Connect or install wallet and retry","Wallets are provided by External Providers and by selecting you agree to Terms of those Providers. Your access to the wallet might be reliant on the External Provider being operational.":"Wallets are provided by External Providers and by selecting you agree to Terms of those Providers. Your access to the wallet might be reliant on the External Provider being operational.","We couldn't find any assets related to your search. Try again with a different asset name, symbol, or address.":"We couldn't find any assets related to your search. Try again with a different asset name, symbol, or address.","We couldn't find any transactions related to your search. Try again with a different asset name, or reset filters.":"We couldn't find any transactions related to your search. Try again with a different asset name, or reset filters.","We couldn’t detect a wallet. Connect a wallet to stake and view your balance.":"We couldn’t detect a wallet. Connect a wallet to stake and view your balance.","We suggest you go back to the Dashboard.":"We suggest you go back to the Dashboard.","Website":"Website","When a liquidation occurs, liquidators repay up to 50% of the outstanding borrowed amount on behalf of the borrower. In return, they can buy the collateral at a discount and keep the difference (liquidation penalty) as a bonus.":"When a liquidation occurs, liquidators repay up to 50% of the outstanding borrowed amount on behalf of the borrower. In return, they can buy the collateral at a discount and keep the difference (liquidation penalty) as a bonus.","With a voting power of <0/>":"With a voting power of <0/>","With testnet Faucet you can get free assets to test the Aave Protocol. Make sure to switch your wallet provider to the appropriate testnet network, select desired asset, and click ‘Faucet’ to get tokens transferred to your wallet. The assets on a testnet are not “real,” meaning they have no monetary value. <0>Learn more":"With testnet Faucet you can get free assets to test the Aave Protocol. Make sure to switch your wallet provider to the appropriate testnet network, select desired asset, and click ‘Faucet’ to get tokens transferred to your wallet. The assets on a testnet are not “real,” meaning they have no monetary value. <0>Learn more","Withdraw":"Withdraw","Withdraw & Switch":"Withdraw & Switch","Withdraw and Switch":"Withdraw and Switch","Withdraw {symbol}":["Withdraw ",["symbol"]],"Withdrawing and Switching":"Withdrawing and Switching","Withdrawing this amount will reduce your health factor and increase risk of liquidation.":"Withdrawing this amount will reduce your health factor and increase risk of liquidation.","Withdrawing {symbol}":["Withdrawing ",["symbol"]],"Wrong Network":"Wrong Network","YAE":"YAE","You are entering Isolation mode":"You are entering Isolation mode","You can borrow this asset with a stable rate only if you borrow more than the amount you are supplying as collateral.":"You can borrow this asset with a stable rate only if you borrow more than the amount you are supplying as collateral.","You can not change Interest Type to stable as your borrowings are higher than your collateral":"You can not change Interest Type to stable as your borrowings are higher than your collateral","You can not disable E-Mode as your current collateralization level is above 80%, disabling E-Mode can cause liquidation. To exit E-Mode supply or repay borrowed positions.":"You can not disable E-Mode as your current collateralization level is above 80%, disabling E-Mode can cause liquidation. To exit E-Mode supply or repay borrowed positions.","You can not switch usage as collateral mode for this currency, because it will cause collateral call":"You can not switch usage as collateral mode for this currency, because it will cause collateral call","You can not use this currency as collateral":"You can not use this currency as collateral","You can not withdraw this amount because it will cause collateral call":"You can not withdraw this amount because it will cause collateral call","You can only switch to tokens with variable APY types. After this transaction, you may change the variable rate to a stable one if available.":"You can only switch to tokens with variable APY types. After this transaction, you may change the variable rate to a stable one if available.","You can only withdraw your assets from the Security Module after the cooldown period ends and the unstake window is active.":"You can only withdraw your assets from the Security Module after the cooldown period ends and the unstake window is active.","You can report incident to our <0>Discord or<1>Github.":"You can report incident to our <0>Discord or<1>Github.","You cancelled the transaction.":"You cancelled the transaction.","You did not participate in this proposal":"You did not participate in this proposal","You do not have supplies in this currency":"You do not have supplies in this currency","You don’t have enough funds in your wallet to repay the full amount. If you proceed to repay with your current amount of funds, you will still have a small borrowing position in your dashboard.":"You don’t have enough funds in your wallet to repay the full amount. If you proceed to repay with your current amount of funds, you will still have a small borrowing position in your dashboard.","You have no AAVE/stkAAVE balance to delegate.":"You have no AAVE/stkAAVE balance to delegate.","You have not borrow yet using this currency":"You have not borrow yet using this currency","You may borrow up to <0/> GHO at <1/> (max discount)":"You may borrow up to <0/> GHO at <1/> (max discount)","You may enter a custom amount in the field.":"You may enter a custom amount in the field.","You switched to {0} rate":["You switched to ",["0"]," rate"],"You unstake here":"You unstake here","You voted {0}":["You voted ",["0"]],"You will exit isolation mode and other tokens can now be used as collateral":"You will exit isolation mode and other tokens can now be used as collateral","You {action} <0/> {symbol}":["You ",["action"]," <0/> ",["symbol"]],"You've successfully switched borrow position.":"You've successfully switched borrow position.","You've successfully switched tokens.":"You've successfully switched tokens.","You've successfully withdrew & switched tokens.":"You've successfully withdrew & switched tokens.","Your balance is lower than the selected amount.":"Your balance is lower than the selected amount.","Your borrows":"Your borrows","Your current loan to value based on your collateral supplied.":"Your current loan to value based on your collateral supplied.","Your health factor and loan to value determine the assurance of your collateral. To avoid liquidations you can supply more collateral or repay borrow positions.":"Your health factor and loan to value determine the assurance of your collateral. To avoid liquidations you can supply more collateral or repay borrow positions.","Your info":"Your info","Your proposition power is based on your AAVE/stkAAVE balance and received delegations.":"Your proposition power is based on your AAVE/stkAAVE balance and received delegations.","Your reward balance is 0":"Your reward balance is 0","Your supplies":"Your supplies","Your voting info":"Your voting info","Your voting power is based on your AAVE/stkAAVE balance and received delegations.":"Your voting power is based on your AAVE/stkAAVE balance and received delegations.","Your {name} wallet is empty. Purchase or transfer assets or use <0>{0} to transfer your {network} assets.":["Your ",["name"]," wallet is empty. Purchase or transfer assets or use <0>",["0"]," to transfer your ",["network"]," assets."],"Your {name} wallet is empty. Purchase or transfer assets.":["Your ",["name"]," wallet is empty. Purchase or transfer assets."],"Your {networkName} wallet is empty. Get free test assets at":["Your ",["networkName"]," wallet is empty. Get free test assets at"],"Your {networkName} wallet is empty. Get free test {0} at":["Your ",["networkName"]," wallet is empty. Get free test ",["0"]," at"],"Zero address not valid":"Zero address not valid","assets":"assets","blocked activities":"blocked activities","copy the error":"copy the error","disabled":"disabled","documentation":"documentation","enabled":"enabled","ends":"ends","for":"for","of":"of","on":"on","please check that the amount you want to supply is not currently being used for staking. If it is being used for staking, your transaction might fail.":"please check that the amount you want to supply is not currently being used for staking. If it is being used for staking, your transaction might fail.","repaid":"repaid","stETH supplied as collateral will continue to accrue staking rewards provided by daily rebases.":"stETH supplied as collateral will continue to accrue staking rewards provided by daily rebases.","stETH tokens will be migrated to Wrapped stETH using Lido Protocol wrapper which leads to supply balance change after migration: {0}":["stETH tokens will be migrated to Wrapped stETH using Lido Protocol wrapper which leads to supply balance change after migration: ",["0"]],"staking view":"staking view","starts":"starts","stkAAVE holders get a discount on GHO borrow rate":"stkAAVE holders get a discount on GHO borrow rate","to":"to","tokens is not the same as staking them. If you wish to stake your":"tokens is not the same as staking them. If you wish to stake your","tokens, please go to the":"tokens, please go to the","withdrew":"withdrew","{0}":[["0"]],"{0} Balance":[["0"]," Balance"],"{0} Faucet":[["0"]," Faucet"],"{0} on-ramp service is provided by External Provider and by selecting you agree to Terms of the Provider. Your access to the service might be reliant on the External Provider being operational.":[["0"]," on-ramp service is provided by External Provider and by selecting you agree to Terms of the Provider. Your access to the service might be reliant on the External Provider being operational."],"{0}{name}":[["0"],["name"]],"{currentMethod}":[["currentMethod"]],"{d}d":[["d"],"d"],"{h}h":[["h"],"h"],"{m}m":[["m"],"m"],"{networkName} Faucet":[["networkName"]," Faucet"],"{notifyText}":[["notifyText"]],"{numSelected}/{numAvailable} assets selected":[["numSelected"],"/",["numAvailable"]," assets selected"],"{s}s":[["s"],"s"],"{title}":[["title"]],"{tooltipText}":[["tooltipText"]]}}; \ No newline at end of file +/*eslint-disable*/module.exports={messages:{"...":"...",".CSV":".CSV",".JSON":".JSON","<0><1><2/>Add <3/> stkAAVE to borrow at <4/> (max discount)":"<0><1><2/>Add <3/> stkAAVE to borrow at <4/> (max discount)","<0><1><2/>Add stkAAVE to see borrow rate with discount":"<0><1><2/>Add stkAAVE to see borrow rate with discount","<0>Ampleforth is a rebasing asset. Visit the <1>documentation to learn more.":"<0>Ampleforth is a rebasing asset. Visit the <1>documentation to learn more.","<0>Attention: Parameter changes via governance can alter your account health factor and risk of liquidation. Follow the <1>Aave governance forum for updates.":"<0>Attention: Parameter changes via governance can alter your account health factor and risk of liquidation. Follow the <1>Aave governance forum for updates.","<0>Slippage tolerance <1>{selectedSlippage}% <2>{0}":["<0>Slippage tolerance <1>",["selectedSlippage"],"% <2>",["0"],""],"AAVE holders (Ethereum network only) can stake their AAVE in the Safety Module to add more security to the protocol and earn Safety Incentives. In the case of a shortfall event, up to 30% of your stake can be slashed to cover the deficit, providing an additional layer of protection for the protocol.":"AAVE holders (Ethereum network only) can stake their AAVE in the Safety Module to add more security to the protocol and earn Safety Incentives. In the case of a shortfall event, up to 30% of your stake can be slashed to cover the deficit, providing an additional layer of protection for the protocol.","APR":"APR","APY":"APY","APY change":"APY change","APY type":"APY type","APY type change":"APY type change","APY with discount applied":"APY with discount applied","APY, borrow rate":"APY, borrow rate","APY, stable":"APY, stable","APY, variable":"APY, variable","AToken supply is not zero":"AToken supply is not zero","Aave Governance":"Aave Governance","Aave aToken":"Aave aToken","Aave debt token":"Aave debt token","Aave is a fully decentralized, community governed protocol by the AAVE token-holders. AAVE token-holders collectively discuss, propose, and vote on upgrades to the protocol. AAVE token-holders (Ethereum network only) can either vote themselves on new proposals or delagate to an address of choice. To learn more check out the Governance":"Aave is a fully decentralized, community governed protocol by the AAVE token-holders. AAVE token-holders collectively discuss, propose, and vote on upgrades to the protocol. AAVE token-holders (Ethereum network only) can either vote themselves on new proposals or delagate to an address of choice. To learn more check out the Governance","Aave per month":"Aave per month","About GHO":"About GHO","Account":"Account","Action cannot be performed because the reserve is frozen":"Action cannot be performed because the reserve is frozen","Action cannot be performed because the reserve is paused":"Action cannot be performed because the reserve is paused","Action requires an active reserve":"Action requires an active reserve","Activate Cooldown":"Activate Cooldown","Add stkAAVE to see borrow APY with the discount":"Add stkAAVE to see borrow APY with the discount","Add to wallet":"Add to wallet","Add {0} to wallet to track your balance.":["Add ",["0"]," to wallet to track your balance."],"Address is not a contract":"Address is not a contract","Addresses":"Addresses","Addresses ({0})":["Addresses (",["0"],")"],"All Assets":"All Assets","All done!":"All done!","All proposals":"All proposals","All transactions":"All transactions","Allowance required action":"Allowance required action","Allows you to decide whether to use a supplied asset as collateral. An asset used as collateral will affect your borrowing power and health factor.":"Allows you to decide whether to use a supplied asset as collateral. An asset used as collateral will affect your borrowing power and health factor.","Allows you to switch between <0>variable and <1>stable interest rates, where variable rate can increase and decrease depending on the amount of liquidity in the reserve, and stable rate will stay the same for the duration of your loan.":"Allows you to switch between <0>variable and <1>stable interest rates, where variable rate can increase and decrease depending on the amount of liquidity in the reserve, and stable rate will stay the same for the duration of your loan.","Amount":"Amount","Amount claimable":"Amount claimable","Amount in cooldown":"Amount in cooldown","Amount must be greater than 0":"Amount must be greater than 0","Amount to unstake":"Amount to unstake","An error has occurred fetching the proposal.":"An error has occurred fetching the proposal.","Approve Confirmed":"Approve Confirmed","Approve with":"Approve with","Approve {symbol} to continue":["Approve ",["symbol"]," to continue"],"Approving {symbol}...":["Approving ",["symbol"],"..."],"Array parameters that should be equal length are not":"Array parameters that should be equal length are not","Asset":"Asset","Asset can be only used as collateral in isolation mode with limited borrowing power. To enter isolation mode, disable all other collateral.":"Asset can be only used as collateral in isolation mode with limited borrowing power. To enter isolation mode, disable all other collateral.","Asset can only be used as collateral in isolation mode only.":"Asset can only be used as collateral in isolation mode only.","Asset cannot be migrated because you have isolated collateral in {marketName} v3 Market which limits borrowable assets. You can manage your collateral in <0>{marketName} V3 Dashboard":["Asset cannot be migrated because you have isolated collateral in ",["marketName"]," v3 Market which limits borrowable assets. You can manage your collateral in <0>",["marketName"]," V3 Dashboard"],"Asset cannot be migrated due to insufficient liquidity or borrow cap limitation in {marketName} v3 market.":["Asset cannot be migrated due to insufficient liquidity or borrow cap limitation in ",["marketName"]," v3 market."],"Asset cannot be migrated due to supply cap restriction in {marketName} v3 market.":["Asset cannot be migrated due to supply cap restriction in ",["marketName"]," v3 market."],"Asset cannot be migrated to {marketName} V3 Market due to E-mode restrictions. You can disable or manage E-mode categories in your <0>V3 Dashboard":["Asset cannot be migrated to ",["marketName"]," V3 Market due to E-mode restrictions. You can disable or manage E-mode categories in your <0>V3 Dashboard"],"Asset cannot be migrated to {marketName} v3 Market since collateral asset will enable isolation mode.":["Asset cannot be migrated to ",["marketName"]," v3 Market since collateral asset will enable isolation mode."],"Asset cannot be used as collateral.":"Asset cannot be used as collateral.","Asset category":"Asset category","Asset is frozen in {marketName} v3 market, hence this position cannot be migrated.":["Asset is frozen in ",["marketName"]," v3 market, hence this position cannot be migrated."],"Asset is not borrowable in isolation mode":"Asset is not borrowable in isolation mode","Asset is not listed":"Asset is not listed","Asset supply is limited to a certain amount to reduce protocol exposure to the asset and to help manage risks involved.":"Asset supply is limited to a certain amount to reduce protocol exposure to the asset and to help manage risks involved.","Assets":"Assets","Assets to borrow":"Assets to borrow","Assets to supply":"Assets to supply","Assets with zero LTV ({assetsBlockingWithdraw}) must be withdrawn or disabled as collateral to perform this action":["Assets with zero LTV (",["assetsBlockingWithdraw"],") must be withdrawn or disabled as collateral to perform this action"],"At a discount":"At a discount","Available":"Available","Available assets":"Available assets","Available liquidity":"Available liquidity","Available on":"Available on","Available rewards":"Available rewards","Available to borrow":"Available to borrow","Available to supply":"Available to supply","Back to Dashboard":"Back to Dashboard","Balance":"Balance","Balance to revoke":"Balance to revoke","Be careful - You are very close to liquidation. Consider depositing more collateral or paying down some of your borrowed positions":"Be careful - You are very close to liquidation. Consider depositing more collateral or paying down some of your borrowed positions","Be mindful of the network congestion and gas prices.":"Be mindful of the network congestion and gas prices.","Because this asset is paused, no actions can be taken until further notice":"Because this asset is paused, no actions can be taken until further notice","Before supplying":"Before supplying","Blocked Address":"Blocked Address","Borrow":"Borrow","Borrow APY":"Borrow APY","Borrow APY rate":"Borrow APY rate","Borrow APY, variable":"Borrow APY, variable","Borrow amount to reach {0}% utilization":["Borrow amount to reach ",["0"],"% utilization"],"Borrow and repay in same block is not allowed":"Borrow and repay in same block is not allowed","Borrow apy":"Borrow apy","Borrow balance":"Borrow balance","Borrow balance after repay":"Borrow balance after repay","Borrow balance after switch":"Borrow balance after switch","Borrow cap":"Borrow cap","Borrow cap is exceeded":"Borrow cap is exceeded","Borrow info":"Borrow info","Borrow power used":"Borrow power used","Borrow rate APY":"Borrow rate APY","Borrow rate change":"Borrow rate change","Borrow {symbol}":["Borrow ",["symbol"]],"Borrowed":"Borrowed","Borrowed asset amount":"Borrowed asset amount","Borrowing is currently unavailable for {0}.":["Borrowing is currently unavailable for ",["0"],"."],"Borrowing is disabled due to an Aave community decision. <0>More details":"Borrowing is disabled due to an Aave community decision. <0>More details","Borrowing is not enabled":"Borrowing is not enabled","Borrowing is unavailable because you’re using Isolation mode. To manage Isolation mode visit your <0>Dashboard.":"Borrowing is unavailable because you’re using Isolation mode. To manage Isolation mode visit your <0>Dashboard.","Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) and Isolation mode. To manage E-Mode and Isolation mode visit your <0>Dashboard.":"Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) and Isolation mode. To manage E-Mode and Isolation mode visit your <0>Dashboard.","Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) for {0} category. To manage E-Mode categories visit your <0>Dashboard.":["Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) for ",["0"]," category. To manage E-Mode categories visit your <0>Dashboard."],"Borrowing of this asset is limited to a certain amount to minimize liquidity pool insolvency.":"Borrowing of this asset is limited to a certain amount to minimize liquidity pool insolvency.","Borrowing power and assets are limited due to Isolation mode.":"Borrowing power and assets are limited due to Isolation mode.","Borrowing this amount will reduce your health factor and increase risk of liquidation.":"Borrowing this amount will reduce your health factor and increase risk of liquidation.","Borrowing {symbol}":["Borrowing ",["symbol"]],"Both":"Both","Buy Crypto With Fiat":"Buy Crypto With Fiat","Buy Crypto with Fiat":"Buy Crypto with Fiat","Buy {cryptoSymbol} with Fiat":["Buy ",["cryptoSymbol"]," with Fiat"],"COPIED!":"COPIED!","COPY IMAGE":"COPY IMAGE","Can be collateral":"Can be collateral","Can be executed":"Can be executed","Can't validate the wallet address. Try again.":"Can't validate the wallet address. Try again.","Cancel":"Cancel","Cannot disable E-Mode":"Cannot disable E-Mode","Choose how much voting/proposition power to give to someone else by delegating some of your AAVE or stkAAVE balance. Your tokens will remain in your account, but your delegate will be able to vote or propose on your behalf. If your AAVE or stkAAVE balance changes, your delegate's voting/proposition power will be automatically adjusted.":"Choose how much voting/proposition power to give to someone else by delegating some of your AAVE or stkAAVE balance. Your tokens will remain in your account, but your delegate will be able to vote or propose on your behalf. If your AAVE or stkAAVE balance changes, your delegate's voting/proposition power will be automatically adjusted.","Choose one of the on-ramp services":"Choose one of the on-ramp services","Claim":"Claim","Claim all":"Claim all","Claim all rewards":"Claim all rewards","Claim {0}":["Claim ",["0"]],"Claim {symbol}":["Claim ",["symbol"]],"Claimable AAVE":"Claimable AAVE","Claimed":"Claimed","Claiming":"Claiming","Claiming {symbol}":["Claiming ",["symbol"]],"Close":"Close","Collateral":"Collateral","Collateral balance after repay":"Collateral balance after repay","Collateral change":"Collateral change","Collateral is (mostly) the same currency that is being borrowed":"Collateral is (mostly) the same currency that is being borrowed","Collateral to repay with":"Collateral to repay with","Collateral usage":"Collateral usage","Collateral usage is limited because of Isolation mode.":"Collateral usage is limited because of Isolation mode.","Collateral usage is limited because of isolation mode.":"Collateral usage is limited because of isolation mode.","Collateral usage is limited because of isolation mode. <0>Learn More":"Collateral usage is limited because of isolation mode. <0>Learn More","Collateralization":"Collateralization","Collector Contract":"Collector Contract","Collector Info":"Collector Info","Confirm transaction":"Confirm transaction","Confirming transaction":"Confirming transaction","Connect":"Connect","Connect wallet":"Connect wallet","Cooldown period":"Cooldown period","Cooldown period warning":"Cooldown period warning","Cooldown time left":"Cooldown time left","Cooldown to unstake":"Cooldown to unstake","Cooling down...":"Cooling down...","Copy address":"Copy address","Copy error message":"Copy error message","Copy error text":"Copy error text","Covered debt":"Covered debt","Current LTV":"Current LTV","Current differential":"Current differential","Current v2 Balance":"Current v2 Balance","Current v2 balance":"Current v2 balance","Current votes":"Current votes","Dark mode":"Dark mode","Dashboard":"Dashboard","Data couldn't be fetched, please reload graph.":"Data couldn't be fetched, please reload graph.","Debt":"Debt","Debt ceiling is exceeded":"Debt ceiling is exceeded","Debt ceiling is not zero":"Debt ceiling is not zero","Debt ceiling limits the amount possible to borrow against this asset by protocol users. Debt ceiling is specific to assets in isolation mode and is denoted in USD.":"Debt ceiling limits the amount possible to borrow against this asset by protocol users. Debt ceiling is specific to assets in isolation mode and is denoted in USD.","Delegated power":"Delegated power","Details":"Details","Developers":"Developers","Differential":"Differential","Disable E-Mode":"Disable E-Mode","Disable testnet":"Disable testnet","Disable {symbol} as collateral":["Disable ",["symbol"]," as collateral"],"Disabled":"Disabled","Disabling E-Mode":"Disabling E-Mode","Disabling this asset as collateral affects your borrowing power and Health Factor.":"Disabling this asset as collateral affects your borrowing power and Health Factor.","Disconnect Wallet":"Disconnect Wallet","Discord channel":"Discord channel","Discount":"Discount","Discount applied for <0/> staking AAVE":"Discount applied for <0/> staking AAVE","Discount model parameters":"Discount model parameters","Discount parameters are decided by the Aave community and may be changed over time. Check Governance for updates and vote to participate. <0>Learn more":"Discount parameters are decided by the Aave community and may be changed over time. Check Governance for updates and vote to participate. <0>Learn more","Discountable amount":"Discountable amount","Docs":"Docs","Download":"Download","Due to internal stETH mechanics required for rebasing support, it is not possible to perform a collateral switch where stETH is the source token.":"Due to internal stETH mechanics required for rebasing support, it is not possible to perform a collateral switch where stETH is the source token.","Due to the Horizon bridge exploit, certain assets on the Harmony network are not at parity with Ethereum, which affects the Aave V3 Harmony market.":"Due to the Horizon bridge exploit, certain assets on the Harmony network are not at parity with Ethereum, which affects the Aave V3 Harmony market.","E-Mode":"E-Mode","E-Mode Category":"E-Mode Category","E-Mode category":"E-Mode category","E-Mode increases your LTV for a selected category of assets up to 97%. <0>Learn more":"E-Mode increases your LTV for a selected category of assets up to 97%. <0>Learn more","E-Mode increases your LTV for a selected category of assets up to<0/>. <1>Learn more":"E-Mode increases your LTV for a selected category of assets up to<0/>. <1>Learn more","E-Mode increases your LTV for a selected category of assets, meaning that when E-mode is enabled, you will have higher borrowing power over assets of the same E-mode category which are defined by Aave Governance. You can enter E-Mode from your <0>Dashboard. To learn more about E-Mode and applied restrictions in <1>FAQ or <2>Aave V3 Technical Paper.":"E-Mode increases your LTV for a selected category of assets, meaning that when E-mode is enabled, you will have higher borrowing power over assets of the same E-mode category which are defined by Aave Governance. You can enter E-Mode from your <0>Dashboard. To learn more about E-Mode and applied restrictions in <1>FAQ or <2>Aave V3 Technical Paper.","Edit":"Edit","Effective interest rate":"Effective interest rate","Efficiency mode (E-Mode)":"Efficiency mode (E-Mode)","Emode":"Emode","Enable E-Mode":"Enable E-Mode","Enable {symbol} as collateral":["Enable ",["symbol"]," as collateral"],"Enabled":"Enabled","Enabling E-Mode":"Enabling E-Mode","Enabling E-Mode only allows you to borrow assets belonging to the selected category. Please visit our <0>FAQ guide to learn more about how it works and the applied restrictions.":"Enabling E-Mode only allows you to borrow assets belonging to the selected category. Please visit our <0>FAQ guide to learn more about how it works and the applied restrictions.","Enabling this asset as collateral increases your borrowing power and Health Factor. However, it can get liquidated if your health factor drops below 1.":"Enabling this asset as collateral increases your borrowing power and Health Factor. However, it can get liquidated if your health factor drops below 1.","English":"English","Enter ETH address":"Enter ETH address","Enter an amount":"Enter an amount","Error connecting. Try refreshing the page.":"Error connecting. Try refreshing the page.","Estimated compounding interest, including discount for Staking {0}AAVE in Safety Module.":["Estimated compounding interest, including discount for Staking ",["0"],"AAVE in Safety Module."],"Exceeds the discount":"Exceeds the discount","Expected amount to repay":"Expected amount to repay","Expires":"Expires","Export data to":"Export data to","FAQ":"FAQ","FAQS":"FAQS","Failed to load proposal voters. Please refresh the page.":"Failed to load proposal voters. Please refresh the page.","Faucet":"Faucet","Faucet {0}":["Faucet ",["0"]],"Fetching data...":"Fetching data...","Filter":"Filter","Fixed":"Fixed","Fixed rate":"Fixed rate","Flashloan is disabled for this asset, hence this position cannot be migrated.":"Flashloan is disabled for this asset, hence this position cannot be migrated.","For repayment of a specific type of debt, the user needs to have debt that type":"For repayment of a specific type of debt, the user needs to have debt that type","French":"French","Funds in the Safety Module":"Funds in the Safety Module","GHO is a native decentralized, collateral-backed digital asset pegged to USD. It is created by users via borrowing against multiple collateral. When user repays their GHO borrow position, the protocol burns that user's GHO. All the interest payments accrued by minters of GHO would be directly transferred to the AaveDAO treasury.":"GHO is a native decentralized, collateral-backed digital asset pegged to USD. It is created by users via borrowing against multiple collateral. When user repays their GHO borrow position, the protocol burns that user's GHO. All the interest payments accrued by minters of GHO would be directly transferred to the AaveDAO treasury.","Get ABP Token":"Get ABP Token","Global settings":"Global settings","Go Back":"Go Back","Go to Balancer Pool":"Go to Balancer Pool","Go to V3 Dashboard":"Go to V3 Dashboard","Governance":"Governance","Greek":"Greek","Health Factor ({0} v2)":["Health Factor (",["0"]," v2)"],"Health Factor ({0} v3)":["Health Factor (",["0"]," v3)"],"Health factor":"Health factor","Health factor is lesser than the liquidation threshold":"Health factor is lesser than the liquidation threshold","Health factor is not below the threshold":"Health factor is not below the threshold","Hide":"Hide","Holders of stkAAVE receive a discount on the GHO borrowing rate":"Holders of stkAAVE receive a discount on the GHO borrowing rate","I acknowledge the risks involved.":"I acknowledge the risks involved.","I fully understand the risks of migrating.":"I fully understand the risks of migrating.","I understand how cooldown ({0}) and unstaking ({1}) work":["I understand how cooldown (",["0"],") and unstaking (",["1"],") work"],"If the error continues to happen,<0/> you may report it to this":"If the error continues to happen,<0/> you may report it to this","If the health factor goes below 1, the liquidation of your collateral might be triggered.":"If the health factor goes below 1, the liquidation of your collateral might be triggered.","If you DO NOT unstake within {0} of unstake window, you will need to activate cooldown process again.":["If you DO NOT unstake within ",["0"]," of unstake window, you will need to activate cooldown process again."],"If your loan to value goes above the liquidation threshold your collateral supplied may be liquidated.":"If your loan to value goes above the liquidation threshold your collateral supplied may be liquidated.","In E-Mode some assets are not borrowable. Exit E-Mode to get access to all assets":"In E-Mode some assets are not borrowable. Exit E-Mode to get access to all assets","In Isolation mode, you cannot supply other assets as collateral. A global debt ceiling limits the borrowing power of the isolated asset. To exit isolation mode disable {0} as collateral before borrowing another asset. Read more in our <0>FAQ":["In Isolation mode, you cannot supply other assets as collateral. A global debt ceiling limits the borrowing power of the isolated asset. To exit isolation mode disable ",["0"]," as collateral before borrowing another asset. Read more in our <0>FAQ"],"Inconsistent flashloan parameters":"Inconsistent flashloan parameters","Insufficient collateral to cover new borrow position. Wallet must have borrowing power remaining to perform debt switch.":"Insufficient collateral to cover new borrow position. Wallet must have borrowing power remaining to perform debt switch.","Interest accrued":"Interest accrued","Interest rate rebalance conditions were not met":"Interest rate rebalance conditions were not met","Interest rate strategy":"Interest rate strategy","Interest rate that is determined by Aave Governance. This rate may be changed over time depending on the need for the GHO supply to contract/expand. <0>Learn more":"Interest rate that is determined by Aave Governance. This rate may be changed over time depending on the need for the GHO supply to contract/expand. <0>Learn more","Invalid amount to burn":"Invalid amount to burn","Invalid amount to mint":"Invalid amount to mint","Invalid bridge protocol fee":"Invalid bridge protocol fee","Invalid expiration":"Invalid expiration","Invalid flashloan premium":"Invalid flashloan premium","Invalid return value of the flashloan executor function":"Invalid return value of the flashloan executor function","Invalid signature":"Invalid signature","Isolated":"Isolated","Isolated Debt Ceiling":"Isolated Debt Ceiling","Isolated assets have limited borrowing power and other assets cannot be used as collateral.":"Isolated assets have limited borrowing power and other assets cannot be used as collateral.","Join the community discussion":"Join the community discussion","LEARN MORE":"LEARN MORE","Language":"Language","Learn more":"Learn more","Learn more about risks involved":"Learn more about risks involved","Learn more in our <0>FAQ guide":"Learn more in our <0>FAQ guide","Learn more.":"Learn more.","Linked addresses":"Linked addresses","Links":"Links","Liqudation":"Liqudation","Liquidated collateral":"Liquidated collateral","Liquidation":"Liquidation","Liquidation <0/> threshold":"Liquidation <0/> threshold","Liquidation Threshold":"Liquidation Threshold","Liquidation at":"Liquidation at","Liquidation penalty":"Liquidation penalty","Liquidation risk":"Liquidation risk","Liquidation risk parameters":"Liquidation risk parameters","Liquidation threshold":"Liquidation threshold","Liquidation value":"Liquidation value","Loading data...":"Loading data...","Ltv validation failed":"Ltv validation failed","MAI has been paused due to a community decision. Supply, borrows and repays are impacted. <0>More details":"MAI has been paused due to a community decision. Supply, borrows and repays are impacted. <0>More details","MAX":"MAX","Manage analytics":"Manage analytics","Market":"Market","Markets":"Markets","Max":"Max","Max LTV":"Max LTV","Max slashing":"Max slashing","Max slippage":"Max slippage","Maximum amount available to borrow against this asset is limited because debt ceiling is at {0}%.":["Maximum amount available to borrow against this asset is limited because debt ceiling is at ",["0"],"%."],"Maximum amount available to borrow is <0/> {0} (<1/>).":["Maximum amount available to borrow is <0/> ",["0"]," (<1/>)."],"Maximum amount available to borrow is limited because protocol borrow cap is nearly reached.":"Maximum amount available to borrow is limited because protocol borrow cap is nearly reached.","Maximum amount available to supply is <0/> {0} (<1/>).":["Maximum amount available to supply is <0/> ",["0"]," (<1/>)."],"Maximum amount available to supply is limited because protocol supply cap is at {0}%.":["Maximum amount available to supply is limited because protocol supply cap is at ",["0"],"%."],"Maximum loan to value":"Maximum loan to value","Meet GHO":"Meet GHO","Menu":"Menu","Migrate":"Migrate","Migrate to V3":"Migrate to V3","Migrate to v3":"Migrate to v3","Migrate to {0} v3 Market":["Migrate to ",["0"]," v3 Market"],"Migrated":"Migrated","Migrating":"Migrating","Migrating multiple collaterals and borrowed assets at the same time can be an expensive operation and might fail in certain situations.<0>Therefore it’s not recommended to migrate positions with more than 5 assets (deposited + borrowed) at the same time.":"Migrating multiple collaterals and borrowed assets at the same time can be an expensive operation and might fail in certain situations.<0>Therefore it’s not recommended to migrate positions with more than 5 assets (deposited + borrowed) at the same time.","Migration risks":"Migration risks","Minimum GHO borrow amount":"Minimum GHO borrow amount","Minimum USD value received":"Minimum USD value received","Minimum staked Aave amount":"Minimum staked Aave amount","Minimum {0} received":["Minimum ",["0"]," received"],"More":"More","NAY":"NAY","Need help connecting a wallet? <0>Read our FAQ":"Need help connecting a wallet? <0>Read our FAQ","Net APR":"Net APR","Net APY":"Net APY","Net APY is the combined effect of all supply and borrow positions on net worth, including incentives. It is possible to have a negative net APY if debt APY is higher than supply APY.":"Net APY is the combined effect of all supply and borrow positions on net worth, including incentives. It is possible to have a negative net APY if debt APY is higher than supply APY.","Net worth":"Net worth","Network":"Network","Network not supported for this wallet":"Network not supported for this wallet","New APY":"New APY","No assets selected to migrate.":"No assets selected to migrate.","No rewards to claim":"No rewards to claim","No search results{0}":["No search results",["0"]],"No transactions yet.":"No transactions yet.","No voting power":"No voting power","None":"None","Not a valid address":"Not a valid address","Not enough balance on your wallet":"Not enough balance on your wallet","Not enough collateral to repay this amount of debt with":"Not enough collateral to repay this amount of debt with","Not enough staked balance":"Not enough staked balance","Not enough voting power to participate in this proposal":"Not enough voting power to participate in this proposal","Not reached":"Not reached","Nothing borrowed yet":"Nothing borrowed yet","Nothing found":"Nothing found","Nothing staked":"Nothing staked","Nothing supplied yet":"Nothing supplied yet","Notify":"Notify","Ok, Close":"Ok, Close","Ok, I got it":"Ok, I got it","Operation not supported":"Operation not supported","Oracle price":"Oracle price","Overview":"Overview","Page not found":"Page not found","Participating in this {symbol} reserve gives annualized rewards.":["Participating in this ",["symbol"]," reserve gives annualized rewards."],"Pending...":"Pending...","Per the community, the Fantom market has been frozen.":"Per the community, the Fantom market has been frozen.","Per the community, the V2 AMM market has been deprecated.":"Per the community, the V2 AMM market has been deprecated.","Please always be aware of your <0>Health Factor (HF) when partially migrating a position and that your rates will be updated to V3 rates.":"Please always be aware of your <0>Health Factor (HF) when partially migrating a position and that your rates will be updated to V3 rates.","Please connect a wallet to view your personal information here.":"Please connect a wallet to view your personal information here.","Please connect your wallet to be able to switch your tokens.":"Please connect your wallet to be able to switch your tokens.","Please connect your wallet to get free testnet assets.":"Please connect your wallet to get free testnet assets.","Please connect your wallet to see migration tool.":"Please connect your wallet to see migration tool.","Please connect your wallet to see your supplies, borrowings, and open positions.":"Please connect your wallet to see your supplies, borrowings, and open positions.","Please connect your wallet to view transaction history.":"Please connect your wallet to view transaction history.","Please enter a valid wallet address.":"Please enter a valid wallet address.","Please switch to {networkName}.":["Please switch to ",["networkName"],"."],"Please, connect your wallet":"Please, connect your wallet","Pool addresses provider is not registered":"Pool addresses provider is not registered","Powered by":"Powered by","Preview tx and migrate":"Preview tx and migrate","Price":"Price","Price data is not currently available for this reserve on the protocol subgraph":"Price data is not currently available for this reserve on the protocol subgraph","Price impact":"Price impact","Price impact is the spread between the total value of the entry tokens switched and the destination tokens obtained (in USD), which results from the limited liquidity of the trading pair.":"Price impact is the spread between the total value of the entry tokens switched and the destination tokens obtained (in USD), which results from the limited liquidity of the trading pair.","Price impact {0}%":["Price impact ",["0"],"%"],"Privacy":"Privacy","Proposal details":"Proposal details","Proposal overview":"Proposal overview","Proposals":"Proposals","Proposition":"Proposition","Protocol borrow cap at 100% for this asset. Further borrowing unavailable.":"Protocol borrow cap at 100% for this asset. Further borrowing unavailable.","Protocol borrow cap is at 100% for this asset. Further borrowing unavailable.":"Protocol borrow cap is at 100% for this asset. Further borrowing unavailable.","Protocol debt ceiling is at 100% for this asset. Further borrowing against this asset is unavailable.":"Protocol debt ceiling is at 100% for this asset. Further borrowing against this asset is unavailable.","Protocol debt ceiling is at 100% for this asset. Futher borrowing against this asset is unavailable.":"Protocol debt ceiling is at 100% for this asset. Futher borrowing against this asset is unavailable.","Protocol supply cap at 100% for this asset. Further supply unavailable.":"Protocol supply cap at 100% for this asset. Further supply unavailable.","Protocol supply cap is at 100% for this asset. Further supply unavailable.":"Protocol supply cap is at 100% for this asset. Further supply unavailable.","Quorum":"Quorum","Rate change":"Rate change","Raw-Ipfs":"Raw-Ipfs","Reached":"Reached","Reactivate cooldown period to unstake {0} {stakedToken}":["Reactivate cooldown period to unstake ",["0"]," ",["stakedToken"]],"Read more here.":"Read more here.","Read-only mode allows to see address positions in Aave, but you won't be able to perform transactions.":"Read-only mode allows to see address positions in Aave, but you won't be able to perform transactions.","Read-only mode.":"Read-only mode.","Read-only mode. Connect to a wallet to perform transactions.":"Read-only mode. Connect to a wallet to perform transactions.","Receive (est.)":"Receive (est.)","Received":"Received","Recipient address":"Recipient address","Rejected connection request":"Rejected connection request","Reload":"Reload","Reload the page":"Reload the page","Remaining debt":"Remaining debt","Remaining supply":"Remaining supply","Remove":"Remove","Repaid":"Repaid","Repay":"Repay","Repay with":"Repay with","Repay {symbol}":["Repay ",["symbol"]],"Repaying {symbol}":["Repaying ",["symbol"]],"Repayment amount to reach {0}% utilization":["Repayment amount to reach ",["0"],"% utilization"],"Representative smart contract wallet (ie. Safe) addresses on other chains.":"Representative smart contract wallet (ie. Safe) addresses on other chains.","Representing smart contract wallet (ie. Safe) addresses on other chains.":"Representing smart contract wallet (ie. Safe) addresses on other chains.","Reserve Size":"Reserve Size","Reserve factor":"Reserve factor","Reserve factor is a percentage of interest which goes to a {0} that is controlled by Aave governance to promote ecosystem growth.":["Reserve factor is a percentage of interest which goes to a ",["0"]," that is controlled by Aave governance to promote ecosystem growth."],"Reserve status & configuration":"Reserve status & configuration","Reset":"Reset","Restake":"Restake","Restake {symbol}":["Restake ",["symbol"]],"Restaked":"Restaked","Restaking {symbol}":["Restaking ",["symbol"]],"Review approval tx details":"Review approval tx details","Review changes to continue":"Review changes to continue","Review tx":"Review tx","Review tx details":"Review tx details","Revoke power":"Revoke power","Reward(s) to claim":"Reward(s) to claim","Rewards APR":"Rewards APR","Risk details":"Risk details","SEE CHARTS":"SEE CHARTS","Safety of your deposited collateral against the borrowed assets and its underlying value.":"Safety of your deposited collateral against the borrowed assets and its underlying value.","Save and share":"Save and share","Seems like we can't switch the network automatically. Please check if you can change it from the wallet.":"Seems like we can't switch the network automatically. Please check if you can change it from the wallet.","Select":"Select","Select APY type to switch":"Select APY type to switch","Select an asset":"Select an asset","Select language":"Select language","Select slippage tolerance":"Select slippage tolerance","Select v2 borrows to migrate":"Select v2 borrows to migrate","Select v2 supplies to migrate":"Select v2 supplies to migrate","Selected assets have successfully migrated. Visit the Market Dashboard to see them.":"Selected assets have successfully migrated. Visit the Market Dashboard to see them.","Selected borrow assets":"Selected borrow assets","Selected supply assets":"Selected supply assets","Send feedback":"Send feedback","Set up delegation":"Set up delegation","Setup notifications about your Health Factor using the Hal app.":"Setup notifications about your Health Factor using the Hal app.","Share on Lens":"Share on Lens","Share on twitter":"Share on twitter","Show":"Show","Show Frozen or paused assets":"Show Frozen or paused assets","Show assets with 0 balance":"Show assets with 0 balance","Sign to continue":"Sign to continue","Signatures ready":"Signatures ready","Signing":"Signing","Since this asset is frozen, the only available actions are withdraw and repay which can be accessed from the <0>Dashboard":"Since this asset is frozen, the only available actions are withdraw and repay which can be accessed from the <0>Dashboard","Since this is a test network, you can get any of the assets if you have ETH on your wallet":"Since this is a test network, you can get any of the assets if you have ETH on your wallet","Slippage":"Slippage","Slippage is the difference between the quoted and received amounts from changing market conditions between the moment the transaction is submitted and its verification.":"Slippage is the difference between the quoted and received amounts from changing market conditions between the moment the transaction is submitted and its verification.","Some migrated assets will not be used as collateral due to enabled isolation mode in {marketName} V3 Market. Visit <0>{marketName} V3 Dashboard to manage isolation mode.":["Some migrated assets will not be used as collateral due to enabled isolation mode in ",["marketName"]," V3 Market. Visit <0>",["marketName"]," V3 Dashboard to manage isolation mode."],"Something went wrong":"Something went wrong","Sorry, an unexpected error happened. In the meantime you may try reloading the page, or come back later.":"Sorry, an unexpected error happened. In the meantime you may try reloading the page, or come back later.","Sorry, we couldn't find the page you were looking for.":"Sorry, we couldn't find the page you were looking for.","Spanish":"Spanish","Stable":"Stable","Stable Interest Type is disabled for this currency":"Stable Interest Type is disabled for this currency","Stable borrowing is enabled":"Stable borrowing is enabled","Stable borrowing is not enabled":"Stable borrowing is not enabled","Stable debt supply is not zero":"Stable debt supply is not zero","Stable interest rate will <0>stay the same for the duration of your loan. Recommended for long-term loan periods and for users who prefer predictability.":"Stable interest rate will <0>stay the same for the duration of your loan. Recommended for long-term loan periods and for users who prefer predictability.","Stablecoin":"Stablecoin","Stake":"Stake","Stake AAVE":"Stake AAVE","Stake ABPT":"Stake ABPT","Stake cooldown activated":"Stake cooldown activated","Staked":"Staked","Staking":"Staking","Staking APR":"Staking APR","Staking Rewards":"Staking Rewards","Staking balance":"Staking balance","Staking discount":"Staking discount","State":"State","Supplied":"Supplied","Supplied asset amount":"Supplied asset amount","Supply":"Supply","Supply APY":"Supply APY","Supply apy":"Supply apy","Supply balance":"Supply balance","Supply balance after switch":"Supply balance after switch","Supply cap is exceeded":"Supply cap is exceeded","Supply cap on target reserve reached. Try lowering the amount.":"Supply cap on target reserve reached. Try lowering the amount.","Supply {symbol}":["Supply ",["symbol"]],"Supplying your":"Supplying your","Supplying {symbol}":["Supplying ",["symbol"]],"Switch":"Switch","Switch APY type":"Switch APY type","Switch E-Mode":"Switch E-Mode","Switch E-Mode category":"Switch E-Mode category","Switch Network":"Switch Network","Switch borrow position":"Switch borrow position","Switch rate":"Switch rate","Switch to":"Switch to","Switched":"Switched","Switching":"Switching","Switching E-Mode":"Switching E-Mode","Switching rate":"Switching rate","Techpaper":"Techpaper","Terms":"Terms","Test Assets":"Test Assets","Testnet mode":"Testnet mode","Testnet mode is ON":"Testnet mode is ON","Thank you for voting!!":"Thank you for voting!!","The % of your total borrowing power used. This is based on the amount of your collateral supplied and the total amount that you can borrow.":"The % of your total borrowing power used. This is based on the amount of your collateral supplied and the total amount that you can borrow.","The Aave Balancer Pool Token (ABPT) is a liquidity pool token. You can receive ABPT by depositing a combination of AAVE + ETH in the Balancer liquidity pool. You can then stake your BPT in the Safety Module to secure the protocol and earn Safety Incentives.":"The Aave Balancer Pool Token (ABPT) is a liquidity pool token. You can receive ABPT by depositing a combination of AAVE + ETH in the Balancer liquidity pool. You can then stake your BPT in the Safety Module to secure the protocol and earn Safety Incentives.","The Aave Protocol is programmed to always use the price of 1 GHO = $1. This is different from using market pricing via oracles for other crypto assets. This creates stabilizing arbitrage opportunities when the price of GHO fluctuates.":"The Aave Protocol is programmed to always use the price of 1 GHO = $1. This is different from using market pricing via oracles for other crypto assets. This creates stabilizing arbitrage opportunities when the price of GHO fluctuates.","The Maximum LTV ratio represents the maximum borrowing power of a specific collateral. For example, if a collateral has an LTV of 75%, the user can borrow up to 0.75 worth of ETH in the principal currency for every 1 ETH worth of collateral.":"The Maximum LTV ratio represents the maximum borrowing power of a specific collateral. For example, if a collateral has an LTV of 75%, the user can borrow up to 0.75 worth of ETH in the principal currency for every 1 ETH worth of collateral.","The Stable Rate is not enabled for this currency":"The Stable Rate is not enabled for this currency","The address of the pool addresses provider is invalid":"The address of the pool addresses provider is invalid","The app is running in testnet mode. Learn how it works in":"The app is running in testnet mode. Learn how it works in","The caller of the function is not an AToken":"The caller of the function is not an AToken","The caller of this function must be a pool":"The caller of this function must be a pool","The collateral balance is 0":"The collateral balance is 0","The collateral chosen cannot be liquidated":"The collateral chosen cannot be liquidated","The cooldown period is the time required prior to unstaking your tokens (20 days). You can only withdraw your assets from the Security Module after the cooldown period and within the unstake window.<0>Learn more":"The cooldown period is the time required prior to unstaking your tokens (20 days). You can only withdraw your assets from the Security Module after the cooldown period and within the unstake window.<0>Learn more","The cooldown period is {0}. After {1} of cooldown, you will enter unstake window of {2}. You will continue receiving rewards during cooldown and unstake window.":["The cooldown period is ",["0"],". After ",["1"]," of cooldown, you will enter unstake window of ",["2"],". You will continue receiving rewards during cooldown and unstake window."],"The effects on the health factor would cause liquidation. Try lowering the amount.":"The effects on the health factor would cause liquidation. Try lowering the amount.","The loan to value of the migrated positions would cause liquidation. Increase migrated collateral or reduce migrated borrow to continue.":"The loan to value of the migrated positions would cause liquidation. Increase migrated collateral or reduce migrated borrow to continue.","The requested amount is greater than the max loan size in stable rate mode":"The requested amount is greater than the max loan size in stable rate mode","The total amount of your assets denominated in USD that can be used as collateral for borrowing assets.":"The total amount of your assets denominated in USD that can be used as collateral for borrowing assets.","The underlying asset cannot be rescued":"The underlying asset cannot be rescued","The underlying balance needs to be greater than 0":"The underlying balance needs to be greater than 0","The weighted average of APY for all borrowed assets, including incentives.":"The weighted average of APY for all borrowed assets, including incentives.","The weighted average of APY for all supplied assets, including incentives.":"The weighted average of APY for all supplied assets, including incentives.","There are not enough funds in the{0}reserve to borrow":["There are not enough funds in the",["0"],"reserve to borrow"],"There is not enough collateral to cover a new borrow":"There is not enough collateral to cover a new borrow","There is not enough liquidity for the target asset to perform the switch. Try lowering the amount.":"There is not enough liquidity for the target asset to perform the switch. Try lowering the amount.","There was some error. Please try changing the parameters or <0><1>copy the error":"There was some error. Please try changing the parameters or <0><1>copy the error","These assets are temporarily frozen or paused by Aave community decisions, meaning that further supply / borrow, or rate swap of these assets are unavailable. Withdrawals and debt repayments are allowed. Follow the <0>Aave governance forum for further updates.":"These assets are temporarily frozen or paused by Aave community decisions, meaning that further supply / borrow, or rate swap of these assets are unavailable. Withdrawals and debt repayments are allowed. Follow the <0>Aave governance forum for further updates.","These funds have been borrowed and are not available for withdrawal at this time.":"These funds have been borrowed and are not available for withdrawal at this time.","This action will reduce V2 health factor below liquidation threshold. retain collateral or migrate borrow position to continue.":"This action will reduce V2 health factor below liquidation threshold. retain collateral or migrate borrow position to continue.","This action will reduce health factor of V3 below liquidation threshold. Increase migrated collateral or reduce migrated borrow to continue.":"This action will reduce health factor of V3 below liquidation threshold. Increase migrated collateral or reduce migrated borrow to continue.","This action will reduce your health factor. Please be mindful of the increased risk of collateral liquidation.":"This action will reduce your health factor. Please be mindful of the increased risk of collateral liquidation.","This address is blocked on app.aave.com because it is associated with one or more":"This address is blocked on app.aave.com because it is associated with one or more","This asset has almost reached its borrow cap. There is only {messageValue} available to be borrowed from this market.":["This asset has almost reached its borrow cap. There is only ",["messageValue"]," available to be borrowed from this market."],"This asset has almost reached its supply cap. There can only be {messageValue} supplied to this market.":["This asset has almost reached its supply cap. There can only be ",["messageValue"]," supplied to this market."],"This asset has been paused due to a community decision. Supply, withdraw, borrows and repays are impacted.":"This asset has been paused due to a community decision. Supply, withdraw, borrows and repays are impacted.","This asset has reached its borrow cap. Nothing is available to be borrowed from this market.":"This asset has reached its borrow cap. Nothing is available to be borrowed from this market.","This asset has reached its supply cap. Nothing is available to be supplied from this market.":"This asset has reached its supply cap. Nothing is available to be supplied from this market.","This asset is frozen due to an Aave Protocol Governance decision. <0>More details":"This asset is frozen due to an Aave Protocol Governance decision. <0>More details","This asset is frozen due to an Aave Protocol Governance decision. On the 20th of December 2022, renFIL will no longer be supported and cannot be bridged back to its native network. It is recommended to withdraw supply positions and repay borrow positions so that renFIL can be bridged back to FIL before the deadline. After this date, it will no longer be possible to convert renFIL to FIL. <0>More details":"This asset is frozen due to an Aave Protocol Governance decision. On the 20th of December 2022, renFIL will no longer be supported and cannot be bridged back to its native network. It is recommended to withdraw supply positions and repay borrow positions so that renFIL can be bridged back to FIL before the deadline. After this date, it will no longer be possible to convert renFIL to FIL. <0>More details","This asset is frozen due to an Aave community decision. <0>More details":"This asset is frozen due to an Aave community decision. <0>More details","This asset is planned to be offboarded due to an Aave Protocol Governance decision. <0>More details":"This asset is planned to be offboarded due to an Aave Protocol Governance decision. <0>More details","This gas calculation is only an estimation. Your wallet will set the price of the transaction. You can modify the gas settings directly from your wallet provider.":"This gas calculation is only an estimation. Your wallet will set the price of the transaction. You can modify the gas settings directly from your wallet provider.","This integration was<0>proposed and approvedby the community.":"This integration was<0>proposed and approvedby the community.","This is the total amount available for you to borrow. You can borrow based on your collateral and until the borrow cap is reached.":"This is the total amount available for you to borrow. You can borrow based on your collateral and until the borrow cap is reached.","This is the total amount that you are able to supply to in this reserve. You are able to supply your wallet balance up until the supply cap is reached.":"This is the total amount that you are able to supply to in this reserve. You are able to supply your wallet balance up until the supply cap is reached.","This represents the threshold at which a borrow position will be considered undercollateralized and subject to liquidation for each collateral. For example, if a collateral has a liquidation threshold of 80%, it means that the position will be liquidated when the debt value is worth 80% of the collateral value.":"This represents the threshold at which a borrow position will be considered undercollateralized and subject to liquidation for each collateral. For example, if a collateral has a liquidation threshold of 80%, it means that the position will be liquidated when the debt value is worth 80% of the collateral value.","Time left to be able to withdraw your staked asset.":"Time left to be able to withdraw your staked asset.","Time left to unstake":"Time left to unstake","Time left until the withdrawal window closes.":"Time left until the withdrawal window closes.","Tip: Try increasing slippage or reduce input amount":"Tip: Try increasing slippage or reduce input amount","To borrow you need to supply any asset to be used as collateral.":"To borrow you need to supply any asset to be used as collateral.","To continue, you need to grant Aave smart contracts permission to move your funds from your wallet. Depending on the asset and wallet you use, it is done by signing the permission message (gas free), or by submitting an approval transaction (requires gas). <0>Learn more":"To continue, you need to grant Aave smart contracts permission to move your funds from your wallet. Depending on the asset and wallet you use, it is done by signing the permission message (gas free), or by submitting an approval transaction (requires gas). <0>Learn more","To enable E-mode for the {0} category, all borrow positions outside of this category must be closed.":["To enable E-mode for the ",["0"]," category, all borrow positions outside of this category must be closed."],"To repay on behalf of a user an explicit amount to repay is needed":"To repay on behalf of a user an explicit amount to repay is needed","To request access for this permissioned market, please visit: <0>Acces Provider Name":"To request access for this permissioned market, please visit: <0>Acces Provider Name","To submit a proposal for minor changes to the protocol, you'll need at least 80.00K power. If you want to change the core code base, you'll need 320k power.<0>Learn more.":"To submit a proposal for minor changes to the protocol, you'll need at least 80.00K power. If you want to change the core code base, you'll need 320k power.<0>Learn more.","Top 10 addresses":"Top 10 addresses","Total available":"Total available","Total borrowed":"Total borrowed","Total borrows":"Total borrows","Total emission per day":"Total emission per day","Total interest accrued":"Total interest accrued","Total market size":"Total market size","Total supplied":"Total supplied","Total worth":"Total worth","Track wallet":"Track wallet","Track wallet balance in read-only mode":"Track wallet balance in read-only mode","Transaction failed":"Transaction failed","Transaction history":"Transaction history","Transaction history is not currently available for this market":"Transaction history is not currently available for this market","Transaction overview":"Transaction overview","Transactions":"Transactions","UNSTAKE {symbol}":["UNSTAKE ",["symbol"]],"Unavailable":"Unavailable","Unbacked":"Unbacked","Unbacked mint cap is exceeded":"Unbacked mint cap is exceeded","Underlying asset does not exist in {marketName} v3 Market, hence this position cannot be migrated.":["Underlying asset does not exist in ",["marketName"]," v3 Market, hence this position cannot be migrated."],"Underlying token":"Underlying token","Unstake now":"Unstake now","Unstake window":"Unstake window","Unstaked":"Unstaked","Unstaking {symbol}":["Unstaking ",["symbol"]],"Update: Disruptions reported for WETH, WBTC, WMATIC, and USDT. AIP 230 will resolve the disruptions and the market will be operating as normal on ~26th May 13h00 UTC.":"Update: Disruptions reported for WETH, WBTC, WMATIC, and USDT. AIP 230 will resolve the disruptions and the market will be operating as normal on ~26th May 13h00 UTC.","Use it to vote for or against active proposals.":"Use it to vote for or against active proposals.","Use your AAVE and stkAAVE balance to delegate your voting and proposition powers. You will not be sending any tokens, only the rights to vote and propose changes to the protocol. You can re-delegate or revoke power to self at any time.":"Use your AAVE and stkAAVE balance to delegate your voting and proposition powers. You will not be sending any tokens, only the rights to vote and propose changes to the protocol. You can re-delegate or revoke power to self at any time.","Used as collateral":"Used as collateral","User cannot withdraw more than the available balance":"User cannot withdraw more than the available balance","User did not borrow the specified currency":"User did not borrow the specified currency","User does not have outstanding stable rate debt on this reserve":"User does not have outstanding stable rate debt on this reserve","User does not have outstanding variable rate debt on this reserve":"User does not have outstanding variable rate debt on this reserve","User is in isolation mode":"User is in isolation mode","User is trying to borrow multiple assets including a siloed one":"User is trying to borrow multiple assets including a siloed one","Users who stake AAVE in Safety Module (i.e. stkAAVE holders) receive a discount on GHO borrow interest rate. The discount applies to 100 GHO for every 1 stkAAVE held. Use the calculator below to see GHO borrow rate with the discount applied.":"Users who stake AAVE in Safety Module (i.e. stkAAVE holders) receive a discount on GHO borrow interest rate. The discount applies to 100 GHO for every 1 stkAAVE held. Use the calculator below to see GHO borrow rate with the discount applied.","Utilization Rate":"Utilization Rate","VIEW TX":"VIEW TX","VOTE NAY":"VOTE NAY","VOTE YAE":"VOTE YAE","Variable":"Variable","Variable debt supply is not zero":"Variable debt supply is not zero","Variable interest rate will <0>fluctuate based on the market conditions. Recommended for short-term positions.":"Variable interest rate will <0>fluctuate based on the market conditions. Recommended for short-term positions.","Variable rate":"Variable rate","Version 2":"Version 2","Version 3":"Version 3","View":"View","View Transactions":"View Transactions","View all votes":"View all votes","View contract":"View contract","View details":"View details","View on Explorer":"View on Explorer","Vote NAY":"Vote NAY","Vote YAE":"Vote YAE","Voted NAY":"Voted NAY","Voted YAE":"Voted YAE","Votes":"Votes","Voting":"Voting","Voting power":"Voting power","Voting results":"Voting results","Wallet Balance":"Wallet Balance","Wallet balance":"Wallet balance","Wallet not detected. Connect or install wallet and retry":"Wallet not detected. Connect or install wallet and retry","Wallets are provided by External Providers and by selecting you agree to Terms of those Providers. Your access to the wallet might be reliant on the External Provider being operational.":"Wallets are provided by External Providers and by selecting you agree to Terms of those Providers. Your access to the wallet might be reliant on the External Provider being operational.","We couldn't find any assets related to your search. Try again with a different asset name, symbol, or address.":"We couldn't find any assets related to your search. Try again with a different asset name, symbol, or address.","We couldn't find any transactions related to your search. Try again with a different asset name, or reset filters.":"We couldn't find any transactions related to your search. Try again with a different asset name, or reset filters.","We couldn’t detect a wallet. Connect a wallet to stake and view your balance.":"We couldn’t detect a wallet. Connect a wallet to stake and view your balance.","We suggest you go back to the Dashboard.":"We suggest you go back to the Dashboard.","Website":"Website","When a liquidation occurs, liquidators repay up to 50% of the outstanding borrowed amount on behalf of the borrower. In return, they can buy the collateral at a discount and keep the difference (liquidation penalty) as a bonus.":"When a liquidation occurs, liquidators repay up to 50% of the outstanding borrowed amount on behalf of the borrower. In return, they can buy the collateral at a discount and keep the difference (liquidation penalty) as a bonus.","With a voting power of <0/>":"With a voting power of <0/>","With testnet Faucet you can get free assets to test the Aave Protocol. Make sure to switch your wallet provider to the appropriate testnet network, select desired asset, and click ‘Faucet’ to get tokens transferred to your wallet. The assets on a testnet are not “real,” meaning they have no monetary value. <0>Learn more":"With testnet Faucet you can get free assets to test the Aave Protocol. Make sure to switch your wallet provider to the appropriate testnet network, select desired asset, and click ‘Faucet’ to get tokens transferred to your wallet. The assets on a testnet are not “real,” meaning they have no monetary value. <0>Learn more","Withdraw":"Withdraw","Withdraw & Switch":"Withdraw & Switch","Withdraw and Switch":"Withdraw and Switch","Withdraw {symbol}":["Withdraw ",["symbol"]],"Withdrawing and Switching":"Withdrawing and Switching","Withdrawing this amount will reduce your health factor and increase risk of liquidation.":"Withdrawing this amount will reduce your health factor and increase risk of liquidation.","Withdrawing {symbol}":["Withdrawing ",["symbol"]],"Wrong Network":"Wrong Network","YAE":"YAE","You are entering Isolation mode":"You are entering Isolation mode","You can borrow this asset with a stable rate only if you borrow more than the amount you are supplying as collateral.":"You can borrow this asset with a stable rate only if you borrow more than the amount you are supplying as collateral.","You can not change Interest Type to stable as your borrowings are higher than your collateral":"You can not change Interest Type to stable as your borrowings are higher than your collateral","You can not disable E-Mode as your current collateralization level is above 80%, disabling E-Mode can cause liquidation. To exit E-Mode supply or repay borrowed positions.":"You can not disable E-Mode as your current collateralization level is above 80%, disabling E-Mode can cause liquidation. To exit E-Mode supply or repay borrowed positions.","You can not switch usage as collateral mode for this currency, because it will cause collateral call":"You can not switch usage as collateral mode for this currency, because it will cause collateral call","You can not use this currency as collateral":"You can not use this currency as collateral","You can not withdraw this amount because it will cause collateral call":"You can not withdraw this amount because it will cause collateral call","You can only switch to tokens with variable APY types. After this transaction, you may change the variable rate to a stable one if available.":"You can only switch to tokens with variable APY types. After this transaction, you may change the variable rate to a stable one if available.","You can only withdraw your assets from the Security Module after the cooldown period ends and the unstake window is active.":"You can only withdraw your assets from the Security Module after the cooldown period ends and the unstake window is active.","You can report incident to our <0>Discord or<1>Github.":"You can report incident to our <0>Discord or<1>Github.","You cancelled the transaction.":"You cancelled the transaction.","You did not participate in this proposal":"You did not participate in this proposal","You do not have supplies in this currency":"You do not have supplies in this currency","You don’t have enough funds in your wallet to repay the full amount. If you proceed to repay with your current amount of funds, you will still have a small borrowing position in your dashboard.":"You don’t have enough funds in your wallet to repay the full amount. If you proceed to repay with your current amount of funds, you will still have a small borrowing position in your dashboard.","You have no AAVE/stkAAVE balance to delegate.":"You have no AAVE/stkAAVE balance to delegate.","You have not borrow yet using this currency":"You have not borrow yet using this currency","You may borrow up to <0/> GHO at <1/> (max discount)":"You may borrow up to <0/> GHO at <1/> (max discount)","You may enter a custom amount in the field.":"You may enter a custom amount in the field.","You switched to {0} rate":["You switched to ",["0"]," rate"],"You unstake here":"You unstake here","You voted {0}":["You voted ",["0"]],"You will exit isolation mode and other tokens can now be used as collateral":"You will exit isolation mode and other tokens can now be used as collateral","You {action} <0/> {symbol}":["You ",["action"]," <0/> ",["symbol"]],"You've successfully switched borrow position.":"You've successfully switched borrow position.","You've successfully switched tokens.":"You've successfully switched tokens.","You've successfully withdrew & switched tokens.":"You've successfully withdrew & switched tokens.","Your balance is lower than the selected amount.":"Your balance is lower than the selected amount.","Your borrows":"Your borrows","Your current loan to value based on your collateral supplied.":"Your current loan to value based on your collateral supplied.","Your health factor and loan to value determine the assurance of your collateral. To avoid liquidations you can supply more collateral or repay borrow positions.":"Your health factor and loan to value determine the assurance of your collateral. To avoid liquidations you can supply more collateral or repay borrow positions.","Your info":"Your info","Your proposition power is based on your AAVE/stkAAVE balance and received delegations.":"Your proposition power is based on your AAVE/stkAAVE balance and received delegations.","Your reward balance is 0":"Your reward balance is 0","Your supplies":"Your supplies","Your voting info":"Your voting info","Your voting power is based on your AAVE/stkAAVE balance and received delegations.":"Your voting power is based on your AAVE/stkAAVE balance and received delegations.","Your {name} wallet is empty. Purchase or transfer assets or use <0>{0} to transfer your {network} assets.":["Your ",["name"]," wallet is empty. Purchase or transfer assets or use <0>",["0"]," to transfer your ",["network"]," assets."],"Your {name} wallet is empty. Purchase or transfer assets.":["Your ",["name"]," wallet is empty. Purchase or transfer assets."],"Your {networkName} wallet is empty. Get free test assets at":["Your ",["networkName"]," wallet is empty. Get free test assets at"],"Your {networkName} wallet is empty. Get free test {0} at":["Your ",["networkName"]," wallet is empty. Get free test ",["0"]," at"],"Zero address not valid":"Zero address not valid","assets":"assets","blocked activities":"blocked activities","copy the error":"copy the error","disabled":"disabled","documentation":"documentation","enabled":"enabled","ends":"ends","for":"for","of":"of","on":"on","please check that the amount you want to supply is not currently being used for staking. If it is being used for staking, your transaction might fail.":"please check that the amount you want to supply is not currently being used for staking. If it is being used for staking, your transaction might fail.","repaid":"repaid","stETH supplied as collateral will continue to accrue staking rewards provided by daily rebases.":"stETH supplied as collateral will continue to accrue staking rewards provided by daily rebases.","stETH tokens will be migrated to Wrapped stETH using Lido Protocol wrapper which leads to supply balance change after migration: {0}":["stETH tokens will be migrated to Wrapped stETH using Lido Protocol wrapper which leads to supply balance change after migration: ",["0"]],"staking view":"staking view","starts":"starts","stkAAVE holders get a discount on GHO borrow rate":"stkAAVE holders get a discount on GHO borrow rate","to":"to","tokens is not the same as staking them. If you wish to stake your":"tokens is not the same as staking them. If you wish to stake your","tokens, please go to the":"tokens, please go to the","withdrew":"withdrew","{0}":[["0"]],"{0} Balance":[["0"]," Balance"],"{0} Faucet":[["0"]," Faucet"],"{0} on-ramp service is provided by External Provider and by selecting you agree to Terms of the Provider. Your access to the service might be reliant on the External Provider being operational.":[["0"]," on-ramp service is provided by External Provider and by selecting you agree to Terms of the Provider. Your access to the service might be reliant on the External Provider being operational."],"{0}{name}":[["0"],["name"]],"{currentMethod}":[["currentMethod"]],"{d}d":[["d"],"d"],"{h}h":[["h"],"h"],"{m}m":[["m"],"m"],"{networkName} Faucet":[["networkName"]," Faucet"],"{notifyText}":[["notifyText"]],"{numSelected}/{numAvailable} assets selected":[["numSelected"],"/",["numAvailable"]," assets selected"],"{s}s":[["s"],"s"],"{title}":[["title"]],"{tooltipText}":[["tooltipText"]]}}; \ No newline at end of file diff --git a/src/locales/en/messages.po b/src/locales/en/messages.po index b3d1564489..ee8ab845b6 100644 --- a/src/locales/en/messages.po +++ b/src/locales/en/messages.po @@ -1540,6 +1540,7 @@ msgstr "No voting power" #: src/components/transactions/Emode/EmodeModalContent.tsx #: src/components/transactions/Emode/EmodeModalContent.tsx #: src/components/transactions/FlowCommons/TxModalDetails.tsx +#: src/modules/governance/RepresentativesInfoPanel.tsx msgid "None" msgstr "None" @@ -1867,6 +1868,10 @@ msgstr "Repayment amount to reach {0}% utilization" msgid "Representative smart contract wallet (ie. Safe) addresses on other chains." msgstr "Representative smart contract wallet (ie. Safe) addresses on other chains." +#: src/modules/governance/RepresentativesInfoPanel.tsx +msgid "Representing smart contract wallet (ie. Safe) addresses on other chains." +msgstr "Representing smart contract wallet (ie. Safe) addresses on other chains." + #: src/modules/reserve-overview/ReserveTopDetails.tsx msgid "Reserve Size" msgstr "Reserve Size" diff --git a/src/modules/governance/RepresentativesInfoPanel.tsx b/src/modules/governance/RepresentativesInfoPanel.tsx index 17319547c2..65741c6c6f 100644 --- a/src/modules/governance/RepresentativesInfoPanel.tsx +++ b/src/modules/governance/RepresentativesInfoPanel.tsx @@ -1,3 +1,4 @@ +import { Representative, Rpresented } from '@aave/contract-helpers'; import { PlusIcon } from '@heroicons/react/outline'; import { ExternalLinkIcon } from '@heroicons/react/solid'; import { Trans } from '@lingui/macro'; @@ -12,8 +13,11 @@ import { networkConfigs } from 'src/ui-config/networksConfig'; import { ZERO_ADDRESS } from './utils/formatProposal'; -// const userWithRepChosen = '0xAd9A211D227d2D9c1B5573f73CDa0284b758Ac0C'; +// Setting up a representative is only useful for smart contract wallets. +// If connected account is an EOA, this section is hidden. +// If an account has representatives, then we assume that there is no need to set up a representative, +// and it will show the addresses that have selected the current account to represent them. export const RepresentativesInfoPanel = () => { const { openGovRepresentatives } = useModalContext(); const account = useRootStore((state) => state.account); @@ -25,12 +29,14 @@ export const RepresentativesInfoPanel = () => { console.log(isContractAddress, fetchingIsContractAddress); - console.log(data); - const isAddressSelectedAsRepresentative = data?.Represented.some( (r) => r.votersRepresented.length > 0 ); + // if (!isContractAddress) { + // return null; + // } + return ( @@ -49,73 +55,26 @@ export const RepresentativesInfoPanel = () => { - - Representative smart contract wallet (ie. Safe) addresses on other chains. - + {isAddressSelectedAsRepresentative ? ( + + Representing smart contract wallet (ie. Safe) addresses on other chains. + + ) : ( + + Representative smart contract wallet (ie. Safe) addresses on other chains. + + )} - {data?.Representatives.map((representative, i) => ( - - - network logo - - {networkConfigs[representative.chainId].name} - - - {representative.representative === ZERO_ADDRESS ? ( - - ({ - height: '24px', - width: '24px', - background: theme.palette.background.disabled, - })} - onClick={() => openGovRepresentatives(data?.Representatives || [])} - > - - - - - - Connect - - - ) : ( - - - - {representative.representative} - - ({ - width: 14, - height: 14, - ml: 0.5, - color: theme.palette.text.muted, - })} - > - - - - - )} - - ))} + {isAddressSelectedAsRepresentative ? ( + + ) : ( + openGovRepresentatives(data?.Representatives || [])} + /> + )} @@ -123,6 +82,117 @@ export const RepresentativesInfoPanel = () => { ); }; -// const Representing = () => { +const Representatives = ({ + representatives, + onOpenRepresentatives, +}: { + representatives: Representative[]; + onOpenRepresentatives: () => void; +}) => { + return ( + <> + {representatives.map((representative, i) => ( + + + {representative.representative === ZERO_ADDRESS ? ( + + ({ + height: '24px', + width: '24px', + background: theme.palette.background.disabled, + })} + onClick={onOpenRepresentatives} + > + + + + + + Connect + + + ) : ( + + )} + + ))} + + ); +}; + +const Representing = ({ representing }: { representing: Rpresented[] }) => { + return ( + <> + {representing.map((representing, i) => ( + + + {representing.votersRepresented.length === 0 ? ( + + None + + ) : ( + representing.votersRepresented.map((voter, i) => ( + + )) + )} + + ))} + + ); +}; + +const Network = ({ + networkLogoPath, + networkName, +}: { + networkLogoPath: string; + networkName: string; +}) => { + return ( + + network logo + {networkName} + + ); +}; -// } +const AddressLink = ({ explorerLink, address }: { explorerLink: string; address: string }) => { + return ( + + + + {address} + + ({ + width: 14, + height: 14, + ml: 0.5, + color: theme.palette.text.muted, + })} + > + + + + + ); +}; From 0dcba9f0c14943364cb834925bd92c00cded7d11 Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Mon, 18 Dec 2023 16:49:40 -0600 Subject: [PATCH 34/84] feat: refactoring config --- src/hooks/governance/useProposal.ts | 6 +-- src/hooks/governance/useProposalVotes.ts | 14 +++--- src/hooks/governance/useProposals.ts | 34 ++++---------- src/services/GovernanceV3Service.ts | 26 +++++------ src/services/VotingMachineService.ts | 47 ++++++-------------- src/ui-config/governanceConfig.ts | 56 ++++++++++++++++++++++++ 6 files changed, 102 insertions(+), 81 deletions(-) diff --git a/src/hooks/governance/useProposal.ts b/src/hooks/governance/useProposal.ts index a9caf73845..cefd37b8fc 100644 --- a/src/hooks/governance/useProposal.ts +++ b/src/hooks/governance/useProposal.ts @@ -3,6 +3,7 @@ import { useQuery } from '@tanstack/react-query'; import request, { gql } from 'graphql-request'; import { GovernanceV3Service } from 'src/services/GovernanceV3Service'; import { VotingMachineService } from 'src/services/VotingMachineService'; +import { governanceV3Config } from 'src/ui-config/governanceConfig'; import { useSharedDependencies } from 'src/ui-config/SharedDependenciesProvider'; export type SubgraphProposal = { @@ -20,9 +21,6 @@ export interface EnhancedProposal { votingMachineData: VotingMachineProposal; } -const GOV_CORE_SUBGRAPH_URL = - 'https://api.goldsky.com/api/public/project_clk74pd7lueg738tw9sjh79d6/subgraphs/governance-v3/v2.0.1/gn'; - const getProposalQuery = gql` query getProposals($proposalId: Int!) { proposalCreateds(where: { proposalId: $proposalId }) { @@ -38,7 +36,7 @@ const getProposalQuery = gql` export const getProposal = async (proposalId: number) => { const result = await request<{ proposalCreateds: SubgraphProposal[] }>( - GOV_CORE_SUBGRAPH_URL, + governanceV3Config.governanceCoreSubgraphUrl, getProposalQuery, { proposalId, diff --git a/src/hooks/governance/useProposalVotes.ts b/src/hooks/governance/useProposalVotes.ts index e023839e19..c21123b822 100644 --- a/src/hooks/governance/useProposalVotes.ts +++ b/src/hooks/governance/useProposalVotes.ts @@ -1,6 +1,7 @@ import { normalizeBN } from '@aave/math-utils'; import { useQuery } from '@tanstack/react-query'; import request, { gql } from 'graphql-request'; +import { governanceV3Config } from 'src/ui-config/governanceConfig'; export type ProposalVote = { proposalId: string; @@ -16,9 +17,6 @@ export interface ProposalVotes { isFetching: boolean; } -const VOTING_MACHING_SUBGRAPH_URL = - 'https://api.goldsky.com/api/public/project_clk74pd7lueg738tw9sjh79d6/subgraphs/votingmachine-sepolia/v1/gn'; - const getProposalVotes = gql` query getProposalVotes($proposalId: String!) { voteEmitteds(where: { proposalId: $proposalId }) { @@ -33,9 +31,13 @@ const getProposalVotes = gql` export const useProposalVotesQuery = ({ proposalId }: { proposalId: string }) => { return useQuery({ queryFn: () => - request<{ voteEmitteds: ProposalVote[] }>(VOTING_MACHING_SUBGRAPH_URL, getProposalVotes, { - proposalId, - }), + request<{ voteEmitteds: ProposalVote[] }>( + governanceV3Config.votingMachineSubgraphUrl, + getProposalVotes, + { + proposalId, + } + ), queryKey: ['proposalVotes', proposalId], enabled: true, refetchOnMount: false, diff --git a/src/hooks/governance/useProposals.ts b/src/hooks/governance/useProposals.ts index aa24e2cbd6..6c38d15a41 100644 --- a/src/hooks/governance/useProposals.ts +++ b/src/hooks/governance/useProposals.ts @@ -2,6 +2,7 @@ import { useInfiniteQuery, useQuery } from '@tanstack/react-query'; import request, { gql } from 'graphql-request'; import { GovernanceV3Service } from 'src/services/GovernanceV3Service'; import { VotingMachineService } from 'src/services/VotingMachineService'; +import { governanceV3Config } from 'src/ui-config/governanceConfig'; import { useSharedDependencies } from 'src/ui-config/SharedDependenciesProvider'; export type SubgraphProposal = { @@ -13,9 +14,6 @@ export type SubgraphProposal = { author: string; }; -const GOV_CORE_SUBGRAPH_URL = - 'https://api.goldsky.com/api/public/project_clk74pd7lueg738tw9sjh79d6/subgraphs/governance-v3/v2.0.1/gn'; - const getProposalsQuery = gql` query getProposals($first: Int!, $skip: Int!) { proposalCreateds(orderBy: proposalId, orderDirection: desc, first: $first, skip: $skip) { @@ -30,10 +28,14 @@ const getProposalsQuery = gql` `; export const getProposals = (first: number, skip: number) => - request<{ proposalCreateds: SubgraphProposal[] }>(GOV_CORE_SUBGRAPH_URL, getProposalsQuery, { - first, - skip, - }); + request<{ proposalCreateds: SubgraphProposal[] }>( + governanceV3Config.governanceCoreSubgraphUrl, + getProposalsQuery, + { + first, + skip, + } + ); const PAGE_SIZE = 10; @@ -135,21 +137,3 @@ export const useGetVotingConfig = () => { staleTime: Infinity, }); }; - -// TODO: group proposals by chain ID, query the correct voting contract for each proposal, -// and then merge the results together, orderd by propopsal id descending -// export const useGetVotingMachineProposalsData = ( -// proposals: Array<{ id: number; snapshotBlockHash: string }>, -// enabled: boolean -// ) => { -// const { votingMachineSerivce } = useSharedDependencies(); -// return useQuery({ -// queryFn: () => votingMachineSerivce.getProposalsData(proposals), -// queryKey: ['votingMachineProposalsData'], -// enabled: proposals?.length > 0 && enabled, -// refetchOnMount: false, -// refetchOnWindowFocus: false, -// refetchOnReconnect: false, -// // staleTime: Infinity, ???? -// }); -// }; diff --git a/src/services/GovernanceV3Service.ts b/src/services/GovernanceV3Service.ts index 817ced9a2c..163753854a 100644 --- a/src/services/GovernanceV3Service.ts +++ b/src/services/GovernanceV3Service.ts @@ -4,27 +4,27 @@ import { GovernanceCoreService, GovernanceDataHelperService, } from '@aave/contract-helpers'; +import { governanceV3Config, votingChainIds } from 'src/ui-config/governanceConfig'; import { getProvider } from 'src/utils/marketsAndNetworksConfig'; -const govCoreAddressSepolia = '0xc4ABF658C3Dda84225cF8A07d7D5Bb6Aa41d9E59'; -const govDataHelperSepolia = '0x863f9De2f82AB502612E8B7d4f4863c8535cb8cA'; -const votingChainIds = [ChainId.sepolia, ChainId.fuji]; - export class GovernanceV3Service { private getDataHelperService() { const provider = getProvider(ChainId.sepolia); // TODO: pass in market data - return new GovernanceDataHelperService(govDataHelperSepolia, provider); + return new GovernanceDataHelperService( + governanceV3Config.addresses.GOVERNANCE_DATA_HELPER, + provider + ); } private getCoreService() { const provider = getProvider(ChainId.sepolia); // TODO: pass in market data - return new GovernanceCoreService(govCoreAddressSepolia, provider); + return new GovernanceCoreService(governanceV3Config.addresses.GOVERNANCE_CORE, provider); } async getProposalsData(from = 0, to = 0, limit = 10) { const dataHelperService = this.getDataHelperService(); const proposals = await dataHelperService.getProposalsData( - govCoreAddressSepolia, + governanceV3Config.addresses.GOVERNANCE_CORE, from, to, limit @@ -34,10 +34,10 @@ export class GovernanceV3Service { async getVotingConfig() { const dataHelperService = this.getDataHelperService(); - const votingConfig = await dataHelperService.getConstants(govCoreAddressSepolia, [ - AccessLevel.Short_Executor, - AccessLevel.Long_Executor, - ]); + const votingConfig = await dataHelperService.getConstants( + governanceV3Config.addresses.GOVERNANCE_CORE, + [AccessLevel.Short_Executor, AccessLevel.Long_Executor] + ); return votingConfig; } @@ -49,9 +49,9 @@ export class GovernanceV3Service { async getRepresentationData(user: string) { const dataHelperService = this.getDataHelperService(); const representationData = await dataHelperService.getRepresentationData( - govCoreAddressSepolia, + governanceV3Config.addresses.GOVERNANCE_CORE, user, - votingChainIds + [...votingChainIds] ); return representationData; } diff --git a/src/services/VotingMachineService.ts b/src/services/VotingMachineService.ts index bb615f052d..fdc50b198b 100644 --- a/src/services/VotingMachineService.ts +++ b/src/services/VotingMachineService.ts @@ -1,19 +1,10 @@ -import { - ChainId, - VotingMachineDataHelperService, - VotingMachineProposal, -} from '@aave/contract-helpers'; +import { VotingMachineDataHelperService, VotingMachineProposal } from '@aave/contract-helpers'; +import { ZERO_ADDRESS } from 'src/modules/governance/utils/formatProposal'; +import { governanceV3Config, VotingChain } from 'src/ui-config/governanceConfig'; import { getProvider } from 'src/utils/marketsAndNetworksConfig'; -const votingPortalSepolia = '0x1079bAa48E56065d43b4344866B187a485cb0A92'; -const votingPortalFuji = '0x4f47EdF2577995aBd7B875Eed75b3F28a20E696F'; -const votingMachineSepolia = '0xA1995F1d5A8A247c064a76F336E1C2ecD24Ef0D9'; -const votingMachineFuji = '0x767AA57554690D23D1E0594E8746271C97e1A1e4'; -const votingPortalDataHelperSepolia = '0x133210F3fe2deEB34e65deB6861ee3dF87393977'; -const votingPortalDataHelperFuji = '0x133210F3fe2deEB34e65deB6861ee3dF87393977'; - type VotingChainProposal = { - [chainId: number]: { + [key in VotingChain]: { [votingPortalAddress: string]: Array<{ id: number; snapshotBlockHash: string; @@ -21,25 +12,12 @@ type VotingChainProposal = { }; }; -// TODO: clean this up, we can pull from the address book -const votingMachineMap: { - [chainId: number]: { [votingPortalAddress: string]: string }; -} = { - [ChainId.sepolia]: { - [votingPortalSepolia]: votingMachineSepolia, - votingPortalDataHelper: votingPortalDataHelperSepolia, - }, - [ChainId.fuji]: { - [votingPortalFuji]: votingMachineFuji, - votingPortalDataHelper: votingPortalDataHelperFuji, - }, -}; - export class VotingMachineService { - private getDataHelperService(chainId: ChainId) { + private getDataHelperService(chainId: VotingChain) { const provider = getProvider(chainId); + governanceV3Config.votingChainConfig; return new VotingMachineDataHelperService( - votingMachineMap[chainId].votingPortalDataHelper, + governanceV3Config.votingChainConfig[chainId].votingPortalDataHelperAddress, provider ); } @@ -52,7 +30,7 @@ export class VotingMachineService { }> ) { const proposalsByVotingChainId: VotingChainProposal = proposals.reduce((acc, proposal) => { - const chainId = proposal.chainId; + const chainId: VotingChain = proposal.chainId; const votingPortalAddress = proposal.votingPortalAddress; if (!acc[chainId]) { @@ -74,13 +52,16 @@ export class VotingMachineService { const promises: Promise[] = []; Object.entries(proposalsByVotingChainId).forEach(([chainId, proposals]) => { - const dataHelperService = this.getDataHelperService(+chainId); + const chainIdKey = +chainId as VotingChain; + const dataHelperService = this.getDataHelperService(chainIdKey); Object.entries(proposals).forEach(([votingPortalAddress, proposals]) => { promises.push( dataHelperService.getProposalsData( - votingMachineMap[+chainId][votingPortalAddress], + governanceV3Config.votingChainConfig[chainIdKey].portalToMachineMap[ + votingPortalAddress + ], proposals, - '0x0000000000000000000000000000000000000000' + ZERO_ADDRESS ) ); }); diff --git a/src/ui-config/governanceConfig.ts b/src/ui-config/governanceConfig.ts index 3d400c3965..e0ec8de620 100644 --- a/src/ui-config/governanceConfig.ts +++ b/src/ui-config/governanceConfig.ts @@ -45,3 +45,59 @@ export const governanceConfig: GovernanceConfig = { ipfsGateway: 'https://cloudflare-ipfs.com/ipfs', fallbackIpfsGateway: 'https://ipfs.io/ipfs', }; + +export const votingChainIds = [ChainId.sepolia, ChainId.fuji] as const; +export type VotingChain = typeof votingChainIds[number]; + +export interface VotingMachineConfig { + portalToMachineMap: { [votingPoralAddress: string]: string }; + votingPortalDataHelperAddress: string; +} + +export interface GovernanceV3Config { + coreChainId: ChainId; + votingMachineSubgraphUrl: string; + governanceCoreSubgraphUrl: string; + votingChainConfig: { [key in VotingChain]: VotingMachineConfig }; + addresses: { + GOVERNANCE_CORE: string; + GOVERNANCE_DATA_HELPER: string; + }; + votingAssets: string[]; +} + +const sepoliaVotingMachineConfig: VotingMachineConfig = { + portalToMachineMap: { + '0x1079bAa48E56065d43b4344866B187a485cb0A92': '0xA1995F1d5A8A247c064a76F336E1C2ecD24Ef0D9', + }, + votingPortalDataHelperAddress: '0x133210F3fe2deEB34e65deB6861ee3dF87393977', +}; + +const fujiVotingMachineConfig: VotingMachineConfig = { + portalToMachineMap: { + '0x4f47EdF2577995aBd7B875Eed75b3F28a20E696F': '0x767AA57554690D23D1E0594E8746271C97e1A1e4', + }, + votingPortalDataHelperAddress: '0x133210F3fe2deEB34e65deB6861ee3dF87393977', +}; + +export const governanceV3Config: GovernanceV3Config = { + coreChainId: ChainId.sepolia, + votingMachineSubgraphUrl: + 'https://api.goldsky.com/api/public/project_clk74pd7lueg738tw9sjh79d6/subgraphs/votingmachine-sepolia/v1/gn', + governanceCoreSubgraphUrl: + 'https://api.goldsky.com/api/public/project_clk74pd7lueg738tw9sjh79d6/subgraphs/governance-v3/v2.0.1/gn', + votingChainConfig: { + [ChainId.sepolia]: sepoliaVotingMachineConfig, + [ChainId.fuji]: fujiVotingMachineConfig, + }, + votingAssets: [ + // TODO: could query the contracts for list of voting assets + '0xdaEcee477B931b209e8123401EA37582ACB3811d', + '0x354032B31339853A3D682613749F183328d07275', + '0x26aAB2aE39897338c2d91491C46c14a8c2a67919', + ], + addresses: { + GOVERNANCE_CORE: '0xc4ABF658C3Dda84225cF8A07d7D5Bb6Aa41d9E59', + GOVERNANCE_DATA_HELPER: '0x863f9De2f82AB502612E8B7d4f4863c8535cb8cA', + }, +}; From 744edfb97f052bc8b9ba9ac97d61f34e23448ea8 Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Mon, 18 Dec 2023 20:57:18 -0600 Subject: [PATCH 35/84] feat: new subgraph --- src/ui-config/governanceConfig.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ui-config/governanceConfig.ts b/src/ui-config/governanceConfig.ts index e0ec8de620..6787b5d067 100644 --- a/src/ui-config/governanceConfig.ts +++ b/src/ui-config/governanceConfig.ts @@ -83,7 +83,7 @@ const fujiVotingMachineConfig: VotingMachineConfig = { export const governanceV3Config: GovernanceV3Config = { coreChainId: ChainId.sepolia, votingMachineSubgraphUrl: - 'https://api.goldsky.com/api/public/project_clk74pd7lueg738tw9sjh79d6/subgraphs/votingmachine-sepolia/v1/gn', + 'https://api.goldsky.com/api/public/project_clk74pd7lueg738tw9sjh79d6/subgraphs/votingmachine-sepolia-avalanche-testnet/v2/gn', governanceCoreSubgraphUrl: 'https://api.goldsky.com/api/public/project_clk74pd7lueg738tw9sjh79d6/subgraphs/governance-v3/v2.0.1/gn', votingChainConfig: { From 912e5ca1febe549bcf2c960aaca7007646b5f7a5 Mon Sep 17 00:00:00 2001 From: Mark Hinschberger Date: Tue, 19 Dec 2023 10:29:16 -0500 Subject: [PATCH 36/84] chore: init setup --- public/icons/tokens/aaave.svg | 1 + .../GovDelegation/DelegationTokenSelector.tsx | 17 +++++++++++++++-- .../GovDelegationModalContent.tsx | 18 ++++++++++++++---- src/locales/en/messages.js | 2 +- src/locales/en/messages.po | 12 ++++++------ src/modules/governance/DelegatedInfoPanel.tsx | 6 +++--- .../governance/VotingPowerInfoPanel.tsx | 1 + src/services/GovernanceService.ts | 6 ++++-- src/ui-config/governanceConfig.ts | 9 +++++---- 9 files changed, 50 insertions(+), 22 deletions(-) create mode 100644 public/icons/tokens/aaave.svg diff --git a/public/icons/tokens/aaave.svg b/public/icons/tokens/aaave.svg new file mode 100644 index 0000000000..761b21a287 --- /dev/null +++ b/public/icons/tokens/aaave.svg @@ -0,0 +1 @@ + diff --git a/src/components/transactions/GovDelegation/DelegationTokenSelector.tsx b/src/components/transactions/GovDelegation/DelegationTokenSelector.tsx index ff4273ee20..3abc4ee680 100644 --- a/src/components/transactions/GovDelegation/DelegationTokenSelector.tsx +++ b/src/components/transactions/GovDelegation/DelegationTokenSelector.tsx @@ -22,6 +22,7 @@ export enum DelegationTokenType { BOTH = 0, AAVE, STKAAVE, + aAave, } export type DelegationTokenSelectorProps = { @@ -87,7 +88,7 @@ export const DelegationTokenSelector = ({ filter, }: DelegationTokenSelectorProps) => { const { - data: { aave, stkAave }, + data: { aave, stkAave, aAave }, } = useGovernanceTokens(); const filteredTokens = filter ? filterTokens(delegationTokens, delegationType) : delegationTokens; @@ -113,7 +114,12 @@ export const DelegationTokenSelector = ({ value={DelegationTokenType.BOTH} control={} componentsProps={{ typography: { width: '100%' } }} - label={} + label={ + + } data-cy={`delegate-token-both`} /> } data-cy={`delegate-token-stkAAVE`} /> + } + componentsProps={{ typography: { width: '100%' } }} + label={} + data-cy={`delegate-token-aAave`} + /> ); diff --git a/src/components/transactions/GovDelegation/GovDelegationModalContent.tsx b/src/components/transactions/GovDelegation/GovDelegationModalContent.tsx index 4cbbdcd24c..44bd7c247a 100644 --- a/src/components/transactions/GovDelegation/GovDelegationModalContent.tsx +++ b/src/components/transactions/GovDelegation/GovDelegationModalContent.tsx @@ -48,7 +48,7 @@ export const GovDelegationModalContent: React.FC const currentChainId = useRootStore((store) => store.currentChainId); const currentMarketData = useRootStore((store) => store.currentMarketData); const { - data: { aave, stkAave }, + data: { aave, stkAave, aAave }, } = useGovernanceTokens(); const { data: powers, refetch } = usePowers(currentMarketData); // error states @@ -97,6 +97,15 @@ export const GovDelegationModalContent: React.FC propositionDelegatee: powers?.aavePropositionDelegatee, type: DelegationTokenType.AAVE, }, + { + address: governanceConfig.aAaveTokenAddress, + symbol: 'aAave', + name: 'aAave', + amount: aAave, + votingDelegatee: powers?.aaveVotingDelegatee, + propositionDelegatee: powers?.aavePropositionDelegatee, + type: DelegationTokenType.AAVE, + }, ]; // handle delegate address errors @@ -179,9 +188,10 @@ export const GovDelegationModalContent: React.FC > Choose how much voting/proposition power to give to someone else by delegating some of - your AAVE or stkAAVE balance. Your tokens will remain in your account, but your delegate - will be able to vote or propose on your behalf. If your AAVE or stkAAVE balance changes, - your delegate's voting/proposition power will be automatically adjusted. + your AAVE, stkAAVE or aAave balance. Your tokens will remain in your account, but your + delegate will be able to vote or propose on your behalf. If your AAVE, stkAAVE or aAave + balance changes, your delegate's voting/proposition power will be automatically + adjusted. )} diff --git a/src/locales/en/messages.js b/src/locales/en/messages.js index ff4aff6f97..f29c7e67e9 100644 --- a/src/locales/en/messages.js +++ b/src/locales/en/messages.js @@ -1 +1 @@ -/*eslint-disable*/module.exports={messages:{"...":"...",".CSV":".CSV",".JSON":".JSON","<0><1><2/>Add <3/> stkAAVE to borrow at <4/> (max discount)":"<0><1><2/>Add <3/> stkAAVE to borrow at <4/> (max discount)","<0><1><2/>Add stkAAVE to see borrow rate with discount":"<0><1><2/>Add stkAAVE to see borrow rate with discount","<0>Ampleforth is a rebasing asset. Visit the <1>documentation to learn more.":"<0>Ampleforth is a rebasing asset. Visit the <1>documentation to learn more.","<0>Attention: Parameter changes via governance can alter your account health factor and risk of liquidation. Follow the <1>Aave governance forum for updates.":"<0>Attention: Parameter changes via governance can alter your account health factor and risk of liquidation. Follow the <1>Aave governance forum for updates.","<0>Slippage tolerance <1>{selectedSlippage}% <2>{0}":["<0>Slippage tolerance <1>",["selectedSlippage"],"% <2>",["0"],""],"AAVE holders (Ethereum network only) can stake their AAVE in the Safety Module to add more security to the protocol and earn Safety Incentives. In the case of a shortfall event, up to 30% of your stake can be slashed to cover the deficit, providing an additional layer of protection for the protocol.":"AAVE holders (Ethereum network only) can stake their AAVE in the Safety Module to add more security to the protocol and earn Safety Incentives. In the case of a shortfall event, up to 30% of your stake can be slashed to cover the deficit, providing an additional layer of protection for the protocol.","APR":"APR","APY":"APY","APY change":"APY change","APY type":"APY type","APY type change":"APY type change","APY with discount applied":"APY with discount applied","APY, borrow rate":"APY, borrow rate","APY, stable":"APY, stable","APY, variable":"APY, variable","AToken supply is not zero":"AToken supply is not zero","Aave Governance":"Aave Governance","Aave aToken":"Aave aToken","Aave debt token":"Aave debt token","Aave is a fully decentralized, community governed protocol by the AAVE token-holders. AAVE token-holders collectively discuss, propose, and vote on upgrades to the protocol. AAVE token-holders (Ethereum network only) can either vote themselves on new proposals or delagate to an address of choice. To learn more check out the Governance":"Aave is a fully decentralized, community governed protocol by the AAVE token-holders. AAVE token-holders collectively discuss, propose, and vote on upgrades to the protocol. AAVE token-holders (Ethereum network only) can either vote themselves on new proposals or delagate to an address of choice. To learn more check out the Governance","Aave per month":"Aave per month","About GHO":"About GHO","Account":"Account","Action cannot be performed because the reserve is frozen":"Action cannot be performed because the reserve is frozen","Action cannot be performed because the reserve is paused":"Action cannot be performed because the reserve is paused","Action requires an active reserve":"Action requires an active reserve","Activate Cooldown":"Activate Cooldown","Add stkAAVE to see borrow APY with the discount":"Add stkAAVE to see borrow APY with the discount","Add to wallet":"Add to wallet","Add {0} to wallet to track your balance.":["Add ",["0"]," to wallet to track your balance."],"Address is not a contract":"Address is not a contract","Addresses":"Addresses","Addresses ({0})":["Addresses (",["0"],")"],"All Assets":"All Assets","All done!":"All done!","All proposals":"All proposals","All transactions":"All transactions","Allowance required action":"Allowance required action","Allows you to decide whether to use a supplied asset as collateral. An asset used as collateral will affect your borrowing power and health factor.":"Allows you to decide whether to use a supplied asset as collateral. An asset used as collateral will affect your borrowing power and health factor.","Allows you to switch between <0>variable and <1>stable interest rates, where variable rate can increase and decrease depending on the amount of liquidity in the reserve, and stable rate will stay the same for the duration of your loan.":"Allows you to switch between <0>variable and <1>stable interest rates, where variable rate can increase and decrease depending on the amount of liquidity in the reserve, and stable rate will stay the same for the duration of your loan.","Amount":"Amount","Amount claimable":"Amount claimable","Amount in cooldown":"Amount in cooldown","Amount must be greater than 0":"Amount must be greater than 0","Amount to unstake":"Amount to unstake","An error has occurred fetching the proposal metadata from IPFS.":"An error has occurred fetching the proposal metadata from IPFS.","Approve Confirmed":"Approve Confirmed","Approve with":"Approve with","Approve {symbol} to continue":["Approve ",["symbol"]," to continue"],"Approving {symbol}...":["Approving ",["symbol"],"..."],"Array parameters that should be equal length are not":"Array parameters that should be equal length are not","Asset":"Asset","Asset can be only used as collateral in isolation mode with limited borrowing power. To enter isolation mode, disable all other collateral.":"Asset can be only used as collateral in isolation mode with limited borrowing power. To enter isolation mode, disable all other collateral.","Asset can only be used as collateral in isolation mode only.":"Asset can only be used as collateral in isolation mode only.","Asset cannot be migrated because you have isolated collateral in {marketName} v3 Market which limits borrowable assets. You can manage your collateral in <0>{marketName} V3 Dashboard":["Asset cannot be migrated because you have isolated collateral in ",["marketName"]," v3 Market which limits borrowable assets. You can manage your collateral in <0>",["marketName"]," V3 Dashboard"],"Asset cannot be migrated due to insufficient liquidity or borrow cap limitation in {marketName} v3 market.":["Asset cannot be migrated due to insufficient liquidity or borrow cap limitation in ",["marketName"]," v3 market."],"Asset cannot be migrated due to supply cap restriction in {marketName} v3 market.":["Asset cannot be migrated due to supply cap restriction in ",["marketName"]," v3 market."],"Asset cannot be migrated to {marketName} V3 Market due to E-mode restrictions. You can disable or manage E-mode categories in your <0>V3 Dashboard":["Asset cannot be migrated to ",["marketName"]," V3 Market due to E-mode restrictions. You can disable or manage E-mode categories in your <0>V3 Dashboard"],"Asset cannot be migrated to {marketName} v3 Market since collateral asset will enable isolation mode.":["Asset cannot be migrated to ",["marketName"]," v3 Market since collateral asset will enable isolation mode."],"Asset cannot be used as collateral.":"Asset cannot be used as collateral.","Asset category":"Asset category","Asset is frozen in {marketName} v3 market, hence this position cannot be migrated.":["Asset is frozen in ",["marketName"]," v3 market, hence this position cannot be migrated."],"Asset is not borrowable in isolation mode":"Asset is not borrowable in isolation mode","Asset is not listed":"Asset is not listed","Asset supply is limited to a certain amount to reduce protocol exposure to the asset and to help manage risks involved.":"Asset supply is limited to a certain amount to reduce protocol exposure to the asset and to help manage risks involved.","Assets":"Assets","Assets to borrow":"Assets to borrow","Assets to supply":"Assets to supply","Assets with zero LTV ({assetsBlockingWithdraw}) must be withdrawn or disabled as collateral to perform this action":["Assets with zero LTV (",["assetsBlockingWithdraw"],") must be withdrawn or disabled as collateral to perform this action"],"At a discount":"At a discount","Author":"Author","Available":"Available","Available assets":"Available assets","Available liquidity":"Available liquidity","Available on":"Available on","Available rewards":"Available rewards","Available to borrow":"Available to borrow","Available to supply":"Available to supply","Back to Dashboard":"Back to Dashboard","Balance":"Balance","Balance to revoke":"Balance to revoke","Be careful - You are very close to liquidation. Consider depositing more collateral or paying down some of your borrowed positions":"Be careful - You are very close to liquidation. Consider depositing more collateral or paying down some of your borrowed positions","Be mindful of the network congestion and gas prices.":"Be mindful of the network congestion and gas prices.","Because this asset is paused, no actions can be taken until further notice":"Because this asset is paused, no actions can be taken until further notice","Before supplying":"Before supplying","Blocked Address":"Blocked Address","Borrow":"Borrow","Borrow APY":"Borrow APY","Borrow APY rate":"Borrow APY rate","Borrow APY, variable":"Borrow APY, variable","Borrow amount to reach {0}% utilization":["Borrow amount to reach ",["0"],"% utilization"],"Borrow and repay in same block is not allowed":"Borrow and repay in same block is not allowed","Borrow apy":"Borrow apy","Borrow balance":"Borrow balance","Borrow balance after repay":"Borrow balance after repay","Borrow balance after switch":"Borrow balance after switch","Borrow cap":"Borrow cap","Borrow cap is exceeded":"Borrow cap is exceeded","Borrow info":"Borrow info","Borrow power used":"Borrow power used","Borrow rate APY":"Borrow rate APY","Borrow rate change":"Borrow rate change","Borrow {symbol}":["Borrow ",["symbol"]],"Borrowed":"Borrowed","Borrowed asset amount":"Borrowed asset amount","Borrowing is currently unavailable for {0}.":["Borrowing is currently unavailable for ",["0"],"."],"Borrowing is disabled due to an Aave community decision. <0>More details":"Borrowing is disabled due to an Aave community decision. <0>More details","Borrowing is not enabled":"Borrowing is not enabled","Borrowing is unavailable because you’re using Isolation mode. To manage Isolation mode visit your <0>Dashboard.":"Borrowing is unavailable because you’re using Isolation mode. To manage Isolation mode visit your <0>Dashboard.","Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) and Isolation mode. To manage E-Mode and Isolation mode visit your <0>Dashboard.":"Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) and Isolation mode. To manage E-Mode and Isolation mode visit your <0>Dashboard.","Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) for {0} category. To manage E-Mode categories visit your <0>Dashboard.":["Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) for ",["0"]," category. To manage E-Mode categories visit your <0>Dashboard."],"Borrowing of this asset is limited to a certain amount to minimize liquidity pool insolvency.":"Borrowing of this asset is limited to a certain amount to minimize liquidity pool insolvency.","Borrowing power and assets are limited due to Isolation mode.":"Borrowing power and assets are limited due to Isolation mode.","Borrowing this amount will reduce your health factor and increase risk of liquidation.":"Borrowing this amount will reduce your health factor and increase risk of liquidation.","Borrowing {symbol}":["Borrowing ",["symbol"]],"Both":"Both","Buy Crypto With Fiat":"Buy Crypto With Fiat","Buy Crypto with Fiat":"Buy Crypto with Fiat","Buy {cryptoSymbol} with Fiat":["Buy ",["cryptoSymbol"]," with Fiat"],"COPIED!":"COPIED!","COPY IMAGE":"COPY IMAGE","Can be collateral":"Can be collateral","Can be executed":"Can be executed","Cancel":"Cancel","Cannot disable E-Mode":"Cannot disable E-Mode","Choose how much voting/proposition power to give to someone else by delegating some of your AAVE or stkAAVE balance. Your tokens will remain in your account, but your delegate will be able to vote or propose on your behalf. If your AAVE or stkAAVE balance changes, your delegate's voting/proposition power will be automatically adjusted.":"Choose how much voting/proposition power to give to someone else by delegating some of your AAVE or stkAAVE balance. Your tokens will remain in your account, but your delegate will be able to vote or propose on your behalf. If your AAVE or stkAAVE balance changes, your delegate's voting/proposition power will be automatically adjusted.","Choose one of the on-ramp services":"Choose one of the on-ramp services","Claim":"Claim","Claim all":"Claim all","Claim all rewards":"Claim all rewards","Claim {0}":["Claim ",["0"]],"Claim {symbol}":["Claim ",["symbol"]],"Claimable AAVE":"Claimable AAVE","Claimed":"Claimed","Claiming":"Claiming","Claiming {symbol}":["Claiming ",["symbol"]],"Close":"Close","Collateral":"Collateral","Collateral balance after repay":"Collateral balance after repay","Collateral change":"Collateral change","Collateral is (mostly) the same currency that is being borrowed":"Collateral is (mostly) the same currency that is being borrowed","Collateral to repay with":"Collateral to repay with","Collateral usage":"Collateral usage","Collateral usage is limited because of Isolation mode.":"Collateral usage is limited because of Isolation mode.","Collateral usage is limited because of isolation mode.":"Collateral usage is limited because of isolation mode.","Collateral usage is limited because of isolation mode. <0>Learn More":"Collateral usage is limited because of isolation mode. <0>Learn More","Collateralization":"Collateralization","Collector Contract":"Collector Contract","Collector Info":"Collector Info","Connect wallet":"Connect wallet","Cooldown period":"Cooldown period","Cooldown period warning":"Cooldown period warning","Cooldown time left":"Cooldown time left","Cooldown to unstake":"Cooldown to unstake","Cooling down...":"Cooling down...","Copy address":"Copy address","Copy error message":"Copy error message","Copy error text":"Copy error text","Covered debt":"Covered debt","Created":"Created","Current LTV":"Current LTV","Current differential":"Current differential","Current v2 Balance":"Current v2 Balance","Current v2 balance":"Current v2 balance","Current votes":"Current votes","Dark mode":"Dark mode","Dashboard":"Dashboard","Data couldn't be fetched, please reload graph.":"Data couldn't be fetched, please reload graph.","Debt":"Debt","Debt ceiling is exceeded":"Debt ceiling is exceeded","Debt ceiling is not zero":"Debt ceiling is not zero","Debt ceiling limits the amount possible to borrow against this asset by protocol users. Debt ceiling is specific to assets in isolation mode and is denoted in USD.":"Debt ceiling limits the amount possible to borrow against this asset by protocol users. Debt ceiling is specific to assets in isolation mode and is denoted in USD.","Delegated power":"Delegated power","Details":"Details","Developers":"Developers","Differential":"Differential","Disable E-Mode":"Disable E-Mode","Disable testnet":"Disable testnet","Disable {symbol} as collateral":["Disable ",["symbol"]," as collateral"],"Disabled":"Disabled","Disabling E-Mode":"Disabling E-Mode","Disabling this asset as collateral affects your borrowing power and Health Factor.":"Disabling this asset as collateral affects your borrowing power and Health Factor.","Disconnect Wallet":"Disconnect Wallet","Discord channel":"Discord channel","Discount":"Discount","Discount applied for <0/> staking AAVE":"Discount applied for <0/> staking AAVE","Discount model parameters":"Discount model parameters","Discount parameters are decided by the Aave community and may be changed over time. Check Governance for updates and vote to participate. <0>Learn more":"Discount parameters are decided by the Aave community and may be changed over time. Check Governance for updates and vote to participate. <0>Learn more","Discountable amount":"Discountable amount","Docs":"Docs","Download":"Download","Due to internal stETH mechanics required for rebasing support, it is not possible to perform a collateral switch where stETH is the source token.":"Due to internal stETH mechanics required for rebasing support, it is not possible to perform a collateral switch where stETH is the source token.","Due to the Horizon bridge exploit, certain assets on the Harmony network are not at parity with Ethereum, which affects the Aave V3 Harmony market.":"Due to the Horizon bridge exploit, certain assets on the Harmony network are not at parity with Ethereum, which affects the Aave V3 Harmony market.","E-Mode":"E-Mode","E-Mode Category":"E-Mode Category","E-Mode category":"E-Mode category","E-Mode increases your LTV for a selected category of assets up to 97%. <0>Learn more":"E-Mode increases your LTV for a selected category of assets up to 97%. <0>Learn more","E-Mode increases your LTV for a selected category of assets up to<0/>. <1>Learn more":"E-Mode increases your LTV for a selected category of assets up to<0/>. <1>Learn more","E-Mode increases your LTV for a selected category of assets, meaning that when E-mode is enabled, you will have higher borrowing power over assets of the same E-mode category which are defined by Aave Governance. You can enter E-Mode from your <0>Dashboard. To learn more about E-Mode and applied restrictions in <1>FAQ or <2>Aave V3 Technical Paper.":"E-Mode increases your LTV for a selected category of assets, meaning that when E-mode is enabled, you will have higher borrowing power over assets of the same E-mode category which are defined by Aave Governance. You can enter E-Mode from your <0>Dashboard. To learn more about E-Mode and applied restrictions in <1>FAQ or <2>Aave V3 Technical Paper.","Effective interest rate":"Effective interest rate","Efficiency mode (E-Mode)":"Efficiency mode (E-Mode)","Emode":"Emode","Enable E-Mode":"Enable E-Mode","Enable {symbol} as collateral":["Enable ",["symbol"]," as collateral"],"Enabled":"Enabled","Enabling E-Mode":"Enabling E-Mode","Enabling E-Mode only allows you to borrow assets belonging to the selected category. Please visit our <0>FAQ guide to learn more about how it works and the applied restrictions.":"Enabling E-Mode only allows you to borrow assets belonging to the selected category. Please visit our <0>FAQ guide to learn more about how it works and the applied restrictions.","Enabling this asset as collateral increases your borrowing power and Health Factor. However, it can get liquidated if your health factor drops below 1.":"Enabling this asset as collateral increases your borrowing power and Health Factor. However, it can get liquidated if your health factor drops below 1.","Ended":"Ended","Ends":"Ends","English":"English","Enter ETH address":"Enter ETH address","Enter an amount":"Enter an amount","Error connecting. Try refreshing the page.":"Error connecting. Try refreshing the page.","Estimated compounding interest, including discount for Staking {0}AAVE in Safety Module.":["Estimated compounding interest, including discount for Staking ",["0"],"AAVE in Safety Module."],"Exceeds the discount":"Exceeds the discount","Executed":"Executed","Expected amount to repay":"Expected amount to repay","Expires":"Expires","Export data to":"Export data to","FAQ":"FAQ","FAQS":"FAQS","Failed to load proposal voters. Please refresh the page.":"Failed to load proposal voters. Please refresh the page.","Faucet":"Faucet","Faucet {0}":["Faucet ",["0"]],"Fetching data...":"Fetching data...","Filter":"Filter","Fixed":"Fixed","Fixed rate":"Fixed rate","Flashloan is disabled for this asset, hence this position cannot be migrated.":"Flashloan is disabled for this asset, hence this position cannot be migrated.","For repayment of a specific type of debt, the user needs to have debt that type":"For repayment of a specific type of debt, the user needs to have debt that type","Forum discussion":"Forum discussion","French":"French","Funds in the Safety Module":"Funds in the Safety Module","GHO is a native decentralized, collateral-backed digital asset pegged to USD. It is created by users via borrowing against multiple collateral. When user repays their GHO borrow position, the protocol burns that user's GHO. All the interest payments accrued by minters of GHO would be directly transferred to the AaveDAO treasury.":"GHO is a native decentralized, collateral-backed digital asset pegged to USD. It is created by users via borrowing against multiple collateral. When user repays their GHO borrow position, the protocol burns that user's GHO. All the interest payments accrued by minters of GHO would be directly transferred to the AaveDAO treasury.","Get ABP Token":"Get ABP Token","Global settings":"Global settings","Go Back":"Go Back","Go to Balancer Pool":"Go to Balancer Pool","Go to V3 Dashboard":"Go to V3 Dashboard","Governance":"Governance","Greek":"Greek","Health Factor ({0} v2)":["Health Factor (",["0"]," v2)"],"Health Factor ({0} v3)":["Health Factor (",["0"]," v3)"],"Health factor":"Health factor","Health factor is lesser than the liquidation threshold":"Health factor is lesser than the liquidation threshold","Health factor is not below the threshold":"Health factor is not below the threshold","Hide":"Hide","Holders of stkAAVE receive a discount on the GHO borrowing rate":"Holders of stkAAVE receive a discount on the GHO borrowing rate","I acknowledge the risks involved.":"I acknowledge the risks involved.","I fully understand the risks of migrating.":"I fully understand the risks of migrating.","I understand how cooldown ({0}) and unstaking ({1}) work":["I understand how cooldown (",["0"],") and unstaking (",["1"],") work"],"If the error continues to happen,<0/> you may report it to this":"If the error continues to happen,<0/> you may report it to this","If the health factor goes below 1, the liquidation of your collateral might be triggered.":"If the health factor goes below 1, the liquidation of your collateral might be triggered.","If you DO NOT unstake within {0} of unstake window, you will need to activate cooldown process again.":["If you DO NOT unstake within ",["0"]," of unstake window, you will need to activate cooldown process again."],"If your loan to value goes above the liquidation threshold your collateral supplied may be liquidated.":"If your loan to value goes above the liquidation threshold your collateral supplied may be liquidated.","In E-Mode some assets are not borrowable. Exit E-Mode to get access to all assets":"In E-Mode some assets are not borrowable. Exit E-Mode to get access to all assets","In Isolation mode, you cannot supply other assets as collateral. A global debt ceiling limits the borrowing power of the isolated asset. To exit isolation mode disable {0} as collateral before borrowing another asset. Read more in our <0>FAQ":["In Isolation mode, you cannot supply other assets as collateral. A global debt ceiling limits the borrowing power of the isolated asset. To exit isolation mode disable ",["0"]," as collateral before borrowing another asset. Read more in our <0>FAQ"],"Inconsistent flashloan parameters":"Inconsistent flashloan parameters","Insufficient collateral to cover new borrow position. Wallet must have borrowing power remaining to perform debt switch.":"Insufficient collateral to cover new borrow position. Wallet must have borrowing power remaining to perform debt switch.","Interest accrued":"Interest accrued","Interest rate rebalance conditions were not met":"Interest rate rebalance conditions were not met","Interest rate strategy":"Interest rate strategy","Interest rate that is determined by Aave Governance. This rate may be changed over time depending on the need for the GHO supply to contract/expand. <0>Learn more":"Interest rate that is determined by Aave Governance. This rate may be changed over time depending on the need for the GHO supply to contract/expand. <0>Learn more","Invalid amount to burn":"Invalid amount to burn","Invalid amount to mint":"Invalid amount to mint","Invalid bridge protocol fee":"Invalid bridge protocol fee","Invalid expiration":"Invalid expiration","Invalid flashloan premium":"Invalid flashloan premium","Invalid return value of the flashloan executor function":"Invalid return value of the flashloan executor function","Invalid signature":"Invalid signature","Isolated":"Isolated","Isolated Debt Ceiling":"Isolated Debt Ceiling","Isolated assets have limited borrowing power and other assets cannot be used as collateral.":"Isolated assets have limited borrowing power and other assets cannot be used as collateral.","Join the community discussion":"Join the community discussion","LEARN MORE":"LEARN MORE","Language":"Language","Learn more":"Learn more","Learn more about risks involved":"Learn more about risks involved","Learn more in our <0>FAQ guide":"Learn more in our <0>FAQ guide","Learn more.":"Learn more.","Links":"Links","Liqudation":"Liqudation","Liquidated collateral":"Liquidated collateral","Liquidation":"Liquidation","Liquidation <0/> threshold":"Liquidation <0/> threshold","Liquidation Threshold":"Liquidation Threshold","Liquidation at":"Liquidation at","Liquidation penalty":"Liquidation penalty","Liquidation risk":"Liquidation risk","Liquidation risk parameters":"Liquidation risk parameters","Liquidation threshold":"Liquidation threshold","Liquidation value":"Liquidation value","Loading data...":"Loading data...","Ltv validation failed":"Ltv validation failed","MAI has been paused due to a community decision. Supply, borrows and repays are impacted. <0>More details":"MAI has been paused due to a community decision. Supply, borrows and repays are impacted. <0>More details","MAX":"MAX","Manage analytics":"Manage analytics","Market":"Market","Markets":"Markets","Max":"Max","Max LTV":"Max LTV","Max slashing":"Max slashing","Max slippage":"Max slippage","Maximum amount available to borrow against this asset is limited because debt ceiling is at {0}%.":["Maximum amount available to borrow against this asset is limited because debt ceiling is at ",["0"],"%."],"Maximum amount available to borrow is <0/> {0} (<1/>).":["Maximum amount available to borrow is <0/> ",["0"]," (<1/>)."],"Maximum amount available to borrow is limited because protocol borrow cap is nearly reached.":"Maximum amount available to borrow is limited because protocol borrow cap is nearly reached.","Maximum amount available to supply is <0/> {0} (<1/>).":["Maximum amount available to supply is <0/> ",["0"]," (<1/>)."],"Maximum amount available to supply is limited because protocol supply cap is at {0}%.":["Maximum amount available to supply is limited because protocol supply cap is at ",["0"],"%."],"Maximum loan to value":"Maximum loan to value","Meet GHO":"Meet GHO","Menu":"Menu","Migrate":"Migrate","Migrate to V3":"Migrate to V3","Migrate to v3":"Migrate to v3","Migrate to {0} v3 Market":["Migrate to ",["0"]," v3 Market"],"Migrated":"Migrated","Migrating":"Migrating","Migrating multiple collaterals and borrowed assets at the same time can be an expensive operation and might fail in certain situations.<0>Therefore it’s not recommended to migrate positions with more than 5 assets (deposited + borrowed) at the same time.":"Migrating multiple collaterals and borrowed assets at the same time can be an expensive operation and might fail in certain situations.<0>Therefore it’s not recommended to migrate positions with more than 5 assets (deposited + borrowed) at the same time.","Migration risks":"Migration risks","Minimum GHO borrow amount":"Minimum GHO borrow amount","Minimum USD value received":"Minimum USD value received","Minimum staked Aave amount":"Minimum staked Aave amount","Minimum {0} received":["Minimum ",["0"]," received"],"More":"More","NAY":"NAY","Need help connecting a wallet? <0>Read our FAQ":"Need help connecting a wallet? <0>Read our FAQ","Net APR":"Net APR","Net APY":"Net APY","Net APY is the combined effect of all supply and borrow positions on net worth, including incentives. It is possible to have a negative net APY if debt APY is higher than supply APY.":"Net APY is the combined effect of all supply and borrow positions on net worth, including incentives. It is possible to have a negative net APY if debt APY is higher than supply APY.","Net worth":"Net worth","Network":"Network","Network not supported for this wallet":"Network not supported for this wallet","New APY":"New APY","No assets selected to migrate.":"No assets selected to migrate.","No rewards to claim":"No rewards to claim","No search results{0}":["No search results",["0"]],"No transactions yet.":"No transactions yet.","No voting power":"No voting power","None":"None","Not a valid address":"Not a valid address","Not enough balance on your wallet":"Not enough balance on your wallet","Not enough collateral to repay this amount of debt with":"Not enough collateral to repay this amount of debt with","Not enough staked balance":"Not enough staked balance","Not enough voting power to participate in this proposal":"Not enough voting power to participate in this proposal","Not reached":"Not reached","Nothing borrowed yet":"Nothing borrowed yet","Nothing found":"Nothing found","Nothing staked":"Nothing staked","Nothing supplied yet":"Nothing supplied yet","Notify":"Notify","Ok, Close":"Ok, Close","Ok, I got it":"Ok, I got it","Operation not supported":"Operation not supported","Oracle price":"Oracle price","Overview":"Overview","Page not found":"Page not found","Participating in this {symbol} reserve gives annualized rewards.":["Participating in this ",["symbol"]," reserve gives annualized rewards."],"Pending...":"Pending...","Per the community, the Fantom market has been frozen.":"Per the community, the Fantom market has been frozen.","Per the community, the V2 AMM market has been deprecated.":"Per the community, the V2 AMM market has been deprecated.","Please always be aware of your <0>Health Factor (HF) when partially migrating a position and that your rates will be updated to V3 rates.":"Please always be aware of your <0>Health Factor (HF) when partially migrating a position and that your rates will be updated to V3 rates.","Please connect a wallet to view your personal information here.":"Please connect a wallet to view your personal information here.","Please connect your wallet to be able to switch your tokens.":"Please connect your wallet to be able to switch your tokens.","Please connect your wallet to get free testnet assets.":"Please connect your wallet to get free testnet assets.","Please connect your wallet to see migration tool.":"Please connect your wallet to see migration tool.","Please connect your wallet to see your supplies, borrowings, and open positions.":"Please connect your wallet to see your supplies, borrowings, and open positions.","Please connect your wallet to view transaction history.":"Please connect your wallet to view transaction history.","Please enter a valid wallet address.":"Please enter a valid wallet address.","Please switch to {networkName}.":["Please switch to ",["networkName"],"."],"Please, connect your wallet":"Please, connect your wallet","Pool addresses provider is not registered":"Pool addresses provider is not registered","Powered by":"Powered by","Preview tx and migrate":"Preview tx and migrate","Price":"Price","Price data is not currently available for this reserve on the protocol subgraph":"Price data is not currently available for this reserve on the protocol subgraph","Price impact":"Price impact","Price impact is the spread between the total value of the entry tokens switched and the destination tokens obtained (in USD), which results from the limited liquidity of the trading pair.":"Price impact is the spread between the total value of the entry tokens switched and the destination tokens obtained (in USD), which results from the limited liquidity of the trading pair.","Price impact {0}%":["Price impact ",["0"],"%"],"Privacy":"Privacy","Proposal details":"Proposal details","Proposal overview":"Proposal overview","Proposals":"Proposals","Proposition":"Proposition","Protocol borrow cap at 100% for this asset. Further borrowing unavailable.":"Protocol borrow cap at 100% for this asset. Further borrowing unavailable.","Protocol borrow cap is at 100% for this asset. Further borrowing unavailable.":"Protocol borrow cap is at 100% for this asset. Further borrowing unavailable.","Protocol debt ceiling is at 100% for this asset. Further borrowing against this asset is unavailable.":"Protocol debt ceiling is at 100% for this asset. Further borrowing against this asset is unavailable.","Protocol debt ceiling is at 100% for this asset. Futher borrowing against this asset is unavailable.":"Protocol debt ceiling is at 100% for this asset. Futher borrowing against this asset is unavailable.","Protocol supply cap at 100% for this asset. Further supply unavailable.":"Protocol supply cap at 100% for this asset. Further supply unavailable.","Protocol supply cap is at 100% for this asset. Further supply unavailable.":"Protocol supply cap is at 100% for this asset. Further supply unavailable.","Quorum":"Quorum","Rate change":"Rate change","Raw-Ipfs":"Raw-Ipfs","Reached":"Reached","Reactivate cooldown period to unstake {0} {stakedToken}":["Reactivate cooldown period to unstake ",["0"]," ",["stakedToken"]],"Read more here.":"Read more here.","Read-only mode allows to see address positions in Aave, but you won't be able to perform transactions.":"Read-only mode allows to see address positions in Aave, but you won't be able to perform transactions.","Read-only mode.":"Read-only mode.","Read-only mode. Connect to a wallet to perform transactions.":"Read-only mode. Connect to a wallet to perform transactions.","Receive (est.)":"Receive (est.)","Received":"Received","Recipient address":"Recipient address","Rejected connection request":"Rejected connection request","Reload":"Reload","Reload the page":"Reload the page","Remaining debt":"Remaining debt","Remaining supply":"Remaining supply","Repaid":"Repaid","Repay":"Repay","Repay with":"Repay with","Repay {symbol}":["Repay ",["symbol"]],"Repaying {symbol}":["Repaying ",["symbol"]],"Repayment amount to reach {0}% utilization":["Repayment amount to reach ",["0"],"% utilization"],"Reserve Size":"Reserve Size","Reserve factor":"Reserve factor","Reserve factor is a percentage of interest which goes to a {0} that is controlled by Aave governance to promote ecosystem growth.":["Reserve factor is a percentage of interest which goes to a ",["0"]," that is controlled by Aave governance to promote ecosystem growth."],"Reserve status & configuration":"Reserve status & configuration","Reset":"Reset","Restake":"Restake","Restake {symbol}":["Restake ",["symbol"]],"Restaked":"Restaked","Restaking {symbol}":["Restaking ",["symbol"]],"Review approval tx details":"Review approval tx details","Review changes to continue":"Review changes to continue","Review tx":"Review tx","Review tx details":"Review tx details","Revoke power":"Revoke power","Reward(s) to claim":"Reward(s) to claim","Rewards APR":"Rewards APR","Risk details":"Risk details","SEE CHARTS":"SEE CHARTS","Safety of your deposited collateral against the borrowed assets and its underlying value.":"Safety of your deposited collateral against the borrowed assets and its underlying value.","Save and share":"Save and share","Seatbelt report":"Seatbelt report","Seems like we can't switch the network automatically. Please check if you can change it from the wallet.":"Seems like we can't switch the network automatically. Please check if you can change it from the wallet.","Select":"Select","Select APY type to switch":"Select APY type to switch","Select an asset":"Select an asset","Select language":"Select language","Select slippage tolerance":"Select slippage tolerance","Select v2 borrows to migrate":"Select v2 borrows to migrate","Select v2 supplies to migrate":"Select v2 supplies to migrate","Selected assets have successfully migrated. Visit the Market Dashboard to see them.":"Selected assets have successfully migrated. Visit the Market Dashboard to see them.","Selected borrow assets":"Selected borrow assets","Selected supply assets":"Selected supply assets","Send feedback":"Send feedback","Set up delegation":"Set up delegation","Setup notifications about your Health Factor using the Hal app.":"Setup notifications about your Health Factor using the Hal app.","Share on Lens":"Share on Lens","Share on twitter":"Share on twitter","Show":"Show","Show Frozen or paused assets":"Show Frozen or paused assets","Show assets with 0 balance":"Show assets with 0 balance","Sign to continue":"Sign to continue","Signatures ready":"Signatures ready","Signing":"Signing","Since this asset is frozen, the only available actions are withdraw and repay which can be accessed from the <0>Dashboard":"Since this asset is frozen, the only available actions are withdraw and repay which can be accessed from the <0>Dashboard","Since this is a test network, you can get any of the assets if you have ETH on your wallet":"Since this is a test network, you can get any of the assets if you have ETH on your wallet","Slippage":"Slippage","Slippage is the difference between the quoted and received amounts from changing market conditions between the moment the transaction is submitted and its verification.":"Slippage is the difference between the quoted and received amounts from changing market conditions between the moment the transaction is submitted and its verification.","Some migrated assets will not be used as collateral due to enabled isolation mode in {marketName} V3 Market. Visit <0>{marketName} V3 Dashboard to manage isolation mode.":["Some migrated assets will not be used as collateral due to enabled isolation mode in ",["marketName"]," V3 Market. Visit <0>",["marketName"]," V3 Dashboard to manage isolation mode."],"Something went wrong":"Something went wrong","Sorry, an unexpected error happened. In the meantime you may try reloading the page, or come back later.":"Sorry, an unexpected error happened. In the meantime you may try reloading the page, or come back later.","Sorry, we couldn't find the page you were looking for.":"Sorry, we couldn't find the page you were looking for.","Spanish":"Spanish","Stable":"Stable","Stable Interest Type is disabled for this currency":"Stable Interest Type is disabled for this currency","Stable borrowing is enabled":"Stable borrowing is enabled","Stable borrowing is not enabled":"Stable borrowing is not enabled","Stable debt supply is not zero":"Stable debt supply is not zero","Stable interest rate will <0>stay the same for the duration of your loan. Recommended for long-term loan periods and for users who prefer predictability.":"Stable interest rate will <0>stay the same for the duration of your loan. Recommended for long-term loan periods and for users who prefer predictability.","Stablecoin":"Stablecoin","Stake":"Stake","Stake AAVE":"Stake AAVE","Stake ABPT":"Stake ABPT","Stake cooldown activated":"Stake cooldown activated","Staked":"Staked","Staking":"Staking","Staking APR":"Staking APR","Staking Rewards":"Staking Rewards","Staking balance":"Staking balance","Staking discount":"Staking discount","Started":"Started","State":"State","Supplied":"Supplied","Supplied asset amount":"Supplied asset amount","Supply":"Supply","Supply APY":"Supply APY","Supply apy":"Supply apy","Supply balance":"Supply balance","Supply balance after switch":"Supply balance after switch","Supply cap is exceeded":"Supply cap is exceeded","Supply cap on target reserve reached. Try lowering the amount.":"Supply cap on target reserve reached. Try lowering the amount.","Supply {symbol}":["Supply ",["symbol"]],"Supplying your":"Supplying your","Supplying {symbol}":["Supplying ",["symbol"]],"Switch":"Switch","Switch APY type":"Switch APY type","Switch E-Mode":"Switch E-Mode","Switch E-Mode category":"Switch E-Mode category","Switch Network":"Switch Network","Switch borrow position":"Switch borrow position","Switch rate":"Switch rate","Switch to":"Switch to","Switched":"Switched","Switching":"Switching","Switching E-Mode":"Switching E-Mode","Switching rate":"Switching rate","Techpaper":"Techpaper","Terms":"Terms","Test Assets":"Test Assets","Testnet mode":"Testnet mode","Testnet mode is ON":"Testnet mode is ON","Thank you for voting!!":"Thank you for voting!!","The % of your total borrowing power used. This is based on the amount of your collateral supplied and the total amount that you can borrow.":"The % of your total borrowing power used. This is based on the amount of your collateral supplied and the total amount that you can borrow.","The Aave Balancer Pool Token (ABPT) is a liquidity pool token. You can receive ABPT by depositing a combination of AAVE + ETH in the Balancer liquidity pool. You can then stake your BPT in the Safety Module to secure the protocol and earn Safety Incentives.":"The Aave Balancer Pool Token (ABPT) is a liquidity pool token. You can receive ABPT by depositing a combination of AAVE + ETH in the Balancer liquidity pool. You can then stake your BPT in the Safety Module to secure the protocol and earn Safety Incentives.","The Aave Protocol is programmed to always use the price of 1 GHO = $1. This is different from using market pricing via oracles for other crypto assets. This creates stabilizing arbitrage opportunities when the price of GHO fluctuates.":"The Aave Protocol is programmed to always use the price of 1 GHO = $1. This is different from using market pricing via oracles for other crypto assets. This creates stabilizing arbitrage opportunities when the price of GHO fluctuates.","The Maximum LTV ratio represents the maximum borrowing power of a specific collateral. For example, if a collateral has an LTV of 75%, the user can borrow up to 0.75 worth of ETH in the principal currency for every 1 ETH worth of collateral.":"The Maximum LTV ratio represents the maximum borrowing power of a specific collateral. For example, if a collateral has an LTV of 75%, the user can borrow up to 0.75 worth of ETH in the principal currency for every 1 ETH worth of collateral.","The Stable Rate is not enabled for this currency":"The Stable Rate is not enabled for this currency","The address of the pool addresses provider is invalid":"The address of the pool addresses provider is invalid","The app is running in testnet mode. Learn how it works in":"The app is running in testnet mode. Learn how it works in","The caller of the function is not an AToken":"The caller of the function is not an AToken","The caller of this function must be a pool":"The caller of this function must be a pool","The collateral balance is 0":"The collateral balance is 0","The collateral chosen cannot be liquidated":"The collateral chosen cannot be liquidated","The cooldown period is the time required prior to unstaking your tokens (20 days). You can only withdraw your assets from the Security Module after the cooldown period and within the unstake window.<0>Learn more":"The cooldown period is the time required prior to unstaking your tokens (20 days). You can only withdraw your assets from the Security Module after the cooldown period and within the unstake window.<0>Learn more","The cooldown period is {0}. After {1} of cooldown, you will enter unstake window of {2}. You will continue receiving rewards during cooldown and unstake window.":["The cooldown period is ",["0"],". After ",["1"]," of cooldown, you will enter unstake window of ",["2"],". You will continue receiving rewards during cooldown and unstake window."],"The effects on the health factor would cause liquidation. Try lowering the amount.":"The effects on the health factor would cause liquidation. Try lowering the amount.","The loan to value of the migrated positions would cause liquidation. Increase migrated collateral or reduce migrated borrow to continue.":"The loan to value of the migrated positions would cause liquidation. Increase migrated collateral or reduce migrated borrow to continue.","The requested amount is greater than the max loan size in stable rate mode":"The requested amount is greater than the max loan size in stable rate mode","The total amount of your assets denominated in USD that can be used as collateral for borrowing assets.":"The total amount of your assets denominated in USD that can be used as collateral for borrowing assets.","The underlying asset cannot be rescued":"The underlying asset cannot be rescued","The underlying balance needs to be greater than 0":"The underlying balance needs to be greater than 0","The weighted average of APY for all borrowed assets, including incentives.":"The weighted average of APY for all borrowed assets, including incentives.","The weighted average of APY for all supplied assets, including incentives.":"The weighted average of APY for all supplied assets, including incentives.","There are not enough funds in the{0}reserve to borrow":["There are not enough funds in the",["0"],"reserve to borrow"],"There is not enough collateral to cover a new borrow":"There is not enough collateral to cover a new borrow","There is not enough liquidity for the target asset to perform the switch. Try lowering the amount.":"There is not enough liquidity for the target asset to perform the switch. Try lowering the amount.","There was some error. Please try changing the parameters or <0><1>copy the error":"There was some error. Please try changing the parameters or <0><1>copy the error","These assets are temporarily frozen or paused by Aave community decisions, meaning that further supply / borrow, or rate swap of these assets are unavailable. Withdrawals and debt repayments are allowed. Follow the <0>Aave governance forum for further updates.":"These assets are temporarily frozen or paused by Aave community decisions, meaning that further supply / borrow, or rate swap of these assets are unavailable. Withdrawals and debt repayments are allowed. Follow the <0>Aave governance forum for further updates.","These funds have been borrowed and are not available for withdrawal at this time.":"These funds have been borrowed and are not available for withdrawal at this time.","This action will reduce V2 health factor below liquidation threshold. retain collateral or migrate borrow position to continue.":"This action will reduce V2 health factor below liquidation threshold. retain collateral or migrate borrow position to continue.","This action will reduce health factor of V3 below liquidation threshold. Increase migrated collateral or reduce migrated borrow to continue.":"This action will reduce health factor of V3 below liquidation threshold. Increase migrated collateral or reduce migrated borrow to continue.","This action will reduce your health factor. Please be mindful of the increased risk of collateral liquidation.":"This action will reduce your health factor. Please be mindful of the increased risk of collateral liquidation.","This address is blocked on app.aave.com because it is associated with one or more":"This address is blocked on app.aave.com because it is associated with one or more","This asset has almost reached its borrow cap. There is only {messageValue} available to be borrowed from this market.":["This asset has almost reached its borrow cap. There is only ",["messageValue"]," available to be borrowed from this market."],"This asset has almost reached its supply cap. There can only be {messageValue} supplied to this market.":["This asset has almost reached its supply cap. There can only be ",["messageValue"]," supplied to this market."],"This asset has been paused due to a community decision. Supply, withdraw, borrows and repays are impacted.":"This asset has been paused due to a community decision. Supply, withdraw, borrows and repays are impacted.","This asset has reached its borrow cap. Nothing is available to be borrowed from this market.":"This asset has reached its borrow cap. Nothing is available to be borrowed from this market.","This asset has reached its supply cap. Nothing is available to be supplied from this market.":"This asset has reached its supply cap. Nothing is available to be supplied from this market.","This asset is frozen due to an Aave Protocol Governance decision. <0>More details":"This asset is frozen due to an Aave Protocol Governance decision. <0>More details","This asset is frozen due to an Aave Protocol Governance decision. On the 20th of December 2022, renFIL will no longer be supported and cannot be bridged back to its native network. It is recommended to withdraw supply positions and repay borrow positions so that renFIL can be bridged back to FIL before the deadline. After this date, it will no longer be possible to convert renFIL to FIL. <0>More details":"This asset is frozen due to an Aave Protocol Governance decision. On the 20th of December 2022, renFIL will no longer be supported and cannot be bridged back to its native network. It is recommended to withdraw supply positions and repay borrow positions so that renFIL can be bridged back to FIL before the deadline. After this date, it will no longer be possible to convert renFIL to FIL. <0>More details","This asset is frozen due to an Aave community decision. <0>More details":"This asset is frozen due to an Aave community decision. <0>More details","This asset is planned to be offboarded due to an Aave Protocol Governance decision. <0>More details":"This asset is planned to be offboarded due to an Aave Protocol Governance decision. <0>More details","This gas calculation is only an estimation. Your wallet will set the price of the transaction. You can modify the gas settings directly from your wallet provider.":"This gas calculation is only an estimation. Your wallet will set the price of the transaction. You can modify the gas settings directly from your wallet provider.","This integration was<0>proposed and approvedby the community.":"This integration was<0>proposed and approvedby the community.","This is the total amount available for you to borrow. You can borrow based on your collateral and until the borrow cap is reached.":"This is the total amount available for you to borrow. You can borrow based on your collateral and until the borrow cap is reached.","This is the total amount that you are able to supply to in this reserve. You are able to supply your wallet balance up until the supply cap is reached.":"This is the total amount that you are able to supply to in this reserve. You are able to supply your wallet balance up until the supply cap is reached.","This represents the threshold at which a borrow position will be considered undercollateralized and subject to liquidation for each collateral. For example, if a collateral has a liquidation threshold of 80%, it means that the position will be liquidated when the debt value is worth 80% of the collateral value.":"This represents the threshold at which a borrow position will be considered undercollateralized and subject to liquidation for each collateral. For example, if a collateral has a liquidation threshold of 80%, it means that the position will be liquidated when the debt value is worth 80% of the collateral value.","Time left to be able to withdraw your staked asset.":"Time left to be able to withdraw your staked asset.","Time left to unstake":"Time left to unstake","Time left until the withdrawal window closes.":"Time left until the withdrawal window closes.","Tip: Try increasing slippage or reduce input amount":"Tip: Try increasing slippage or reduce input amount","To borrow you need to supply any asset to be used as collateral.":"To borrow you need to supply any asset to be used as collateral.","To continue, you need to grant Aave smart contracts permission to move your funds from your wallet. Depending on the asset and wallet you use, it is done by signing the permission message (gas free), or by submitting an approval transaction (requires gas). <0>Learn more":"To continue, you need to grant Aave smart contracts permission to move your funds from your wallet. Depending on the asset and wallet you use, it is done by signing the permission message (gas free), or by submitting an approval transaction (requires gas). <0>Learn more","To enable E-mode for the {0} category, all borrow positions outside of this category must be closed.":["To enable E-mode for the ",["0"]," category, all borrow positions outside of this category must be closed."],"To repay on behalf of a user an explicit amount to repay is needed":"To repay on behalf of a user an explicit amount to repay is needed","To request access for this permissioned market, please visit: <0>Acces Provider Name":"To request access for this permissioned market, please visit: <0>Acces Provider Name","To submit a proposal for minor changes to the protocol, you'll need at least 80.00K power. If you want to change the core code base, you'll need 320k power.<0>Learn more.":"To submit a proposal for minor changes to the protocol, you'll need at least 80.00K power. If you want to change the core code base, you'll need 320k power.<0>Learn more.","Top 10 addresses":"Top 10 addresses","Total available":"Total available","Total borrowed":"Total borrowed","Total borrows":"Total borrows","Total emission per day":"Total emission per day","Total interest accrued":"Total interest accrued","Total market size":"Total market size","Total supplied":"Total supplied","Total voting power":"Total voting power","Total worth":"Total worth","Track wallet":"Track wallet","Track wallet balance in read-only mode":"Track wallet balance in read-only mode","Transaction failed":"Transaction failed","Transaction history":"Transaction history","Transaction history is not currently available for this market":"Transaction history is not currently available for this market","Transaction overview":"Transaction overview","Transactions":"Transactions","UNSTAKE {symbol}":["UNSTAKE ",["symbol"]],"Unavailable":"Unavailable","Unbacked":"Unbacked","Unbacked mint cap is exceeded":"Unbacked mint cap is exceeded","Underlying asset does not exist in {marketName} v3 Market, hence this position cannot be migrated.":["Underlying asset does not exist in ",["marketName"]," v3 Market, hence this position cannot be migrated."],"Underlying token":"Underlying token","Unstake now":"Unstake now","Unstake window":"Unstake window","Unstaked":"Unstaked","Unstaking {symbol}":["Unstaking ",["symbol"]],"Update: Disruptions reported for WETH, WBTC, WMATIC, and USDT. AIP 230 will resolve the disruptions and the market will be operating as normal on ~26th May 13h00 UTC.":"Update: Disruptions reported for WETH, WBTC, WMATIC, and USDT. AIP 230 will resolve the disruptions and the market will be operating as normal on ~26th May 13h00 UTC.","Use it to vote for or against active proposals.":"Use it to vote for or against active proposals.","Use your AAVE and stkAAVE balance to delegate your voting and proposition powers. You will not be sending any tokens, only the rights to vote and propose changes to the protocol. You can re-delegate or revoke power to self at any time.":"Use your AAVE and stkAAVE balance to delegate your voting and proposition powers. You will not be sending any tokens, only the rights to vote and propose changes to the protocol. You can re-delegate or revoke power to self at any time.","Used as collateral":"Used as collateral","User cannot withdraw more than the available balance":"User cannot withdraw more than the available balance","User did not borrow the specified currency":"User did not borrow the specified currency","User does not have outstanding stable rate debt on this reserve":"User does not have outstanding stable rate debt on this reserve","User does not have outstanding variable rate debt on this reserve":"User does not have outstanding variable rate debt on this reserve","User is in isolation mode":"User is in isolation mode","User is trying to borrow multiple assets including a siloed one":"User is trying to borrow multiple assets including a siloed one","Users who stake AAVE in Safety Module (i.e. stkAAVE holders) receive a discount on GHO borrow interest rate. The discount applies to 100 GHO for every 1 stkAAVE held. Use the calculator below to see GHO borrow rate with the discount applied.":"Users who stake AAVE in Safety Module (i.e. stkAAVE holders) receive a discount on GHO borrow interest rate. The discount applies to 100 GHO for every 1 stkAAVE held. Use the calculator below to see GHO borrow rate with the discount applied.","Utilization Rate":"Utilization Rate","VIEW TX":"VIEW TX","VOTE NAY":"VOTE NAY","VOTE YAE":"VOTE YAE","Variable":"Variable","Variable debt supply is not zero":"Variable debt supply is not zero","Variable interest rate will <0>fluctuate based on the market conditions. Recommended for short-term positions.":"Variable interest rate will <0>fluctuate based on the market conditions. Recommended for short-term positions.","Variable rate":"Variable rate","Version 2":"Version 2","Version 3":"Version 3","View":"View","View Transactions":"View Transactions","View all votes":"View all votes","View contract":"View contract","View details":"View details","View on Explorer":"View on Explorer","Vote NAY":"Vote NAY","Vote YAE":"Vote YAE","Voted NAY":"Voted NAY","Voted YAE":"Voted YAE","Votes":"Votes","Voting":"Voting","Voting power":"Voting power","Voting results":"Voting results","Wallet Balance":"Wallet Balance","Wallet balance":"Wallet balance","Wallet not detected. Connect or install wallet and retry":"Wallet not detected. Connect or install wallet and retry","Wallets are provided by External Providers and by selecting you agree to Terms of those Providers. Your access to the wallet might be reliant on the External Provider being operational.":"Wallets are provided by External Providers and by selecting you agree to Terms of those Providers. Your access to the wallet might be reliant on the External Provider being operational.","We couldn't find any assets related to your search. Try again with a different asset name, symbol, or address.":"We couldn't find any assets related to your search. Try again with a different asset name, symbol, or address.","We couldn't find any transactions related to your search. Try again with a different asset name, or reset filters.":"We couldn't find any transactions related to your search. Try again with a different asset name, or reset filters.","We couldn’t detect a wallet. Connect a wallet to stake and view your balance.":"We couldn’t detect a wallet. Connect a wallet to stake and view your balance.","We suggest you go back to the Dashboard.":"We suggest you go back to the Dashboard.","Website":"Website","When a liquidation occurs, liquidators repay up to 50% of the outstanding borrowed amount on behalf of the borrower. In return, they can buy the collateral at a discount and keep the difference (liquidation penalty) as a bonus.":"When a liquidation occurs, liquidators repay up to 50% of the outstanding borrowed amount on behalf of the borrower. In return, they can buy the collateral at a discount and keep the difference (liquidation penalty) as a bonus.","With a voting power of <0/>":"With a voting power of <0/>","With testnet Faucet you can get free assets to test the Aave Protocol. Make sure to switch your wallet provider to the appropriate testnet network, select desired asset, and click ‘Faucet’ to get tokens transferred to your wallet. The assets on a testnet are not “real,” meaning they have no monetary value. <0>Learn more":"With testnet Faucet you can get free assets to test the Aave Protocol. Make sure to switch your wallet provider to the appropriate testnet network, select desired asset, and click ‘Faucet’ to get tokens transferred to your wallet. The assets on a testnet are not “real,” meaning they have no monetary value. <0>Learn more","Withdraw":"Withdraw","Withdraw & Switch":"Withdraw & Switch","Withdraw and Switch":"Withdraw and Switch","Withdraw {symbol}":["Withdraw ",["symbol"]],"Withdrawing and Switching":"Withdrawing and Switching","Withdrawing this amount will reduce your health factor and increase risk of liquidation.":"Withdrawing this amount will reduce your health factor and increase risk of liquidation.","Withdrawing {symbol}":["Withdrawing ",["symbol"]],"Wrong Network":"Wrong Network","YAE":"YAE","You are entering Isolation mode":"You are entering Isolation mode","You can borrow this asset with a stable rate only if you borrow more than the amount you are supplying as collateral.":"You can borrow this asset with a stable rate only if you borrow more than the amount you are supplying as collateral.","You can not change Interest Type to stable as your borrowings are higher than your collateral":"You can not change Interest Type to stable as your borrowings are higher than your collateral","You can not disable E-Mode as your current collateralization level is above 80%, disabling E-Mode can cause liquidation. To exit E-Mode supply or repay borrowed positions.":"You can not disable E-Mode as your current collateralization level is above 80%, disabling E-Mode can cause liquidation. To exit E-Mode supply or repay borrowed positions.","You can not switch usage as collateral mode for this currency, because it will cause collateral call":"You can not switch usage as collateral mode for this currency, because it will cause collateral call","You can not use this currency as collateral":"You can not use this currency as collateral","You can not withdraw this amount because it will cause collateral call":"You can not withdraw this amount because it will cause collateral call","You can only switch to tokens with variable APY types. After this transaction, you may change the variable rate to a stable one if available.":"You can only switch to tokens with variable APY types. After this transaction, you may change the variable rate to a stable one if available.","You can only withdraw your assets from the Security Module after the cooldown period ends and the unstake window is active.":"You can only withdraw your assets from the Security Module after the cooldown period ends and the unstake window is active.","You can report incident to our <0>Discord or<1>Github.":"You can report incident to our <0>Discord or<1>Github.","You cancelled the transaction.":"You cancelled the transaction.","You did not participate in this proposal":"You did not participate in this proposal","You do not have supplies in this currency":"You do not have supplies in this currency","You don’t have enough funds in your wallet to repay the full amount. If you proceed to repay with your current amount of funds, you will still have a small borrowing position in your dashboard.":"You don’t have enough funds in your wallet to repay the full amount. If you proceed to repay with your current amount of funds, you will still have a small borrowing position in your dashboard.","You have no AAVE/stkAAVE balance to delegate.":"You have no AAVE/stkAAVE balance to delegate.","You have not borrow yet using this currency":"You have not borrow yet using this currency","You may borrow up to <0/> GHO at <1/> (max discount)":"You may borrow up to <0/> GHO at <1/> (max discount)","You may enter a custom amount in the field.":"You may enter a custom amount in the field.","You switched to {0} rate":["You switched to ",["0"]," rate"],"You unstake here":"You unstake here","You voted {0}":["You voted ",["0"]],"You will exit isolation mode and other tokens can now be used as collateral":"You will exit isolation mode and other tokens can now be used as collateral","You {action} <0/> {symbol}":["You ",["action"]," <0/> ",["symbol"]],"You've successfully switched borrow position.":"You've successfully switched borrow position.","You've successfully switched tokens.":"You've successfully switched tokens.","You've successfully withdrew & switched tokens.":"You've successfully withdrew & switched tokens.","Your balance is lower than the selected amount.":"Your balance is lower than the selected amount.","Your borrows":"Your borrows","Your current loan to value based on your collateral supplied.":"Your current loan to value based on your collateral supplied.","Your health factor and loan to value determine the assurance of your collateral. To avoid liquidations you can supply more collateral or repay borrow positions.":"Your health factor and loan to value determine the assurance of your collateral. To avoid liquidations you can supply more collateral or repay borrow positions.","Your info":"Your info","Your proposition power is based on your AAVE/stkAAVE balance and received delegations.":"Your proposition power is based on your AAVE/stkAAVE balance and received delegations.","Your reward balance is 0":"Your reward balance is 0","Your supplies":"Your supplies","Your voting info":"Your voting info","Your voting power is based on your AAVE/stkAAVE balance and received delegations.":"Your voting power is based on your AAVE/stkAAVE balance and received delegations.","Your {name} wallet is empty. Purchase or transfer assets or use <0>{0} to transfer your {network} assets.":["Your ",["name"]," wallet is empty. Purchase or transfer assets or use <0>",["0"]," to transfer your ",["network"]," assets."],"Your {name} wallet is empty. Purchase or transfer assets.":["Your ",["name"]," wallet is empty. Purchase or transfer assets."],"Your {networkName} wallet is empty. Get free test assets at":["Your ",["networkName"]," wallet is empty. Get free test assets at"],"Your {networkName} wallet is empty. Get free test {0} at":["Your ",["networkName"]," wallet is empty. Get free test ",["0"]," at"],"Zero address not valid":"Zero address not valid","assets":"assets","blocked activities":"blocked activities","copy the error":"copy the error","disabled":"disabled","documentation":"documentation","enabled":"enabled","ends":"ends","for":"for","of":"of","on":"on","please check that the amount you want to supply is not currently being used for staking. If it is being used for staking, your transaction might fail.":"please check that the amount you want to supply is not currently being used for staking. If it is being used for staking, your transaction might fail.","repaid":"repaid","stETH supplied as collateral will continue to accrue staking rewards provided by daily rebases.":"stETH supplied as collateral will continue to accrue staking rewards provided by daily rebases.","stETH tokens will be migrated to Wrapped stETH using Lido Protocol wrapper which leads to supply balance change after migration: {0}":["stETH tokens will be migrated to Wrapped stETH using Lido Protocol wrapper which leads to supply balance change after migration: ",["0"]],"staking view":"staking view","starts":"starts","stkAAVE holders get a discount on GHO borrow rate":"stkAAVE holders get a discount on GHO borrow rate","to":"to","tokens is not the same as staking them. If you wish to stake your":"tokens is not the same as staking them. If you wish to stake your","tokens, please go to the":"tokens, please go to the","withdrew":"withdrew","{0}":[["0"]],"{0} Balance":[["0"]," Balance"],"{0} Faucet":[["0"]," Faucet"],"{0} on-ramp service is provided by External Provider and by selecting you agree to Terms of the Provider. Your access to the service might be reliant on the External Provider being operational.":[["0"]," on-ramp service is provided by External Provider and by selecting you agree to Terms of the Provider. Your access to the service might be reliant on the External Provider being operational."],"{0}{name}":[["0"],["name"]],"{currentMethod}":[["currentMethod"]],"{d}d":[["d"],"d"],"{h}h":[["h"],"h"],"{m}m":[["m"],"m"],"{networkName} Faucet":[["networkName"]," Faucet"],"{notifyText}":[["notifyText"]],"{numSelected}/{numAvailable} assets selected":[["numSelected"],"/",["numAvailable"]," assets selected"],"{s}s":[["s"],"s"],"{title}":[["title"]],"{tooltipText}":[["tooltipText"]]}}; \ No newline at end of file +/*eslint-disable*/module.exports={messages:{"...":"...",".CSV":".CSV",".JSON":".JSON","<0><1><2/>Add <3/> stkAAVE to borrow at <4/> (max discount)":"<0><1><2/>Add <3/> stkAAVE to borrow at <4/> (max discount)","<0><1><2/>Add stkAAVE to see borrow rate with discount":"<0><1><2/>Add stkAAVE to see borrow rate with discount","<0>Ampleforth is a rebasing asset. Visit the <1>documentation to learn more.":"<0>Ampleforth is a rebasing asset. Visit the <1>documentation to learn more.","<0>Attention: Parameter changes via governance can alter your account health factor and risk of liquidation. Follow the <1>Aave governance forum for updates.":"<0>Attention: Parameter changes via governance can alter your account health factor and risk of liquidation. Follow the <1>Aave governance forum for updates.","<0>Slippage tolerance <1>{selectedSlippage}% <2>{0}":["<0>Slippage tolerance <1>",["selectedSlippage"],"% <2>",["0"],""],"AAVE holders (Ethereum network only) can stake their AAVE in the Safety Module to add more security to the protocol and earn Safety Incentives. In the case of a shortfall event, up to 30% of your stake can be slashed to cover the deficit, providing an additional layer of protection for the protocol.":"AAVE holders (Ethereum network only) can stake their AAVE in the Safety Module to add more security to the protocol and earn Safety Incentives. In the case of a shortfall event, up to 30% of your stake can be slashed to cover the deficit, providing an additional layer of protection for the protocol.","APR":"APR","APY":"APY","APY change":"APY change","APY type":"APY type","APY type change":"APY type change","APY with discount applied":"APY with discount applied","APY, borrow rate":"APY, borrow rate","APY, stable":"APY, stable","APY, variable":"APY, variable","AToken supply is not zero":"AToken supply is not zero","Aave Governance":"Aave Governance","Aave aToken":"Aave aToken","Aave debt token":"Aave debt token","Aave is a fully decentralized, community governed protocol by the AAVE token-holders. AAVE token-holders collectively discuss, propose, and vote on upgrades to the protocol. AAVE token-holders (Ethereum network only) can either vote themselves on new proposals or delagate to an address of choice. To learn more check out the Governance":"Aave is a fully decentralized, community governed protocol by the AAVE token-holders. AAVE token-holders collectively discuss, propose, and vote on upgrades to the protocol. AAVE token-holders (Ethereum network only) can either vote themselves on new proposals or delagate to an address of choice. To learn more check out the Governance","Aave per month":"Aave per month","About GHO":"About GHO","Account":"Account","Action cannot be performed because the reserve is frozen":"Action cannot be performed because the reserve is frozen","Action cannot be performed because the reserve is paused":"Action cannot be performed because the reserve is paused","Action requires an active reserve":"Action requires an active reserve","Activate Cooldown":"Activate Cooldown","Add stkAAVE to see borrow APY with the discount":"Add stkAAVE to see borrow APY with the discount","Add to wallet":"Add to wallet","Add {0} to wallet to track your balance.":["Add ",["0"]," to wallet to track your balance."],"Address is not a contract":"Address is not a contract","Addresses":"Addresses","Addresses ({0})":["Addresses (",["0"],")"],"All Assets":"All Assets","All done!":"All done!","All proposals":"All proposals","All transactions":"All transactions","Allowance required action":"Allowance required action","Allows you to decide whether to use a supplied asset as collateral. An asset used as collateral will affect your borrowing power and health factor.":"Allows you to decide whether to use a supplied asset as collateral. An asset used as collateral will affect your borrowing power and health factor.","Allows you to switch between <0>variable and <1>stable interest rates, where variable rate can increase and decrease depending on the amount of liquidity in the reserve, and stable rate will stay the same for the duration of your loan.":"Allows you to switch between <0>variable and <1>stable interest rates, where variable rate can increase and decrease depending on the amount of liquidity in the reserve, and stable rate will stay the same for the duration of your loan.","Amount":"Amount","Amount claimable":"Amount claimable","Amount in cooldown":"Amount in cooldown","Amount must be greater than 0":"Amount must be greater than 0","Amount to unstake":"Amount to unstake","An error has occurred fetching the proposal metadata from IPFS.":"An error has occurred fetching the proposal metadata from IPFS.","Approve Confirmed":"Approve Confirmed","Approve with":"Approve with","Approve {symbol} to continue":["Approve ",["symbol"]," to continue"],"Approving {symbol}...":["Approving ",["symbol"],"..."],"Array parameters that should be equal length are not":"Array parameters that should be equal length are not","Asset":"Asset","Asset can be only used as collateral in isolation mode with limited borrowing power. To enter isolation mode, disable all other collateral.":"Asset can be only used as collateral in isolation mode with limited borrowing power. To enter isolation mode, disable all other collateral.","Asset can only be used as collateral in isolation mode only.":"Asset can only be used as collateral in isolation mode only.","Asset cannot be migrated because you have isolated collateral in {marketName} v3 Market which limits borrowable assets. You can manage your collateral in <0>{marketName} V3 Dashboard":["Asset cannot be migrated because you have isolated collateral in ",["marketName"]," v3 Market which limits borrowable assets. You can manage your collateral in <0>",["marketName"]," V3 Dashboard"],"Asset cannot be migrated due to insufficient liquidity or borrow cap limitation in {marketName} v3 market.":["Asset cannot be migrated due to insufficient liquidity or borrow cap limitation in ",["marketName"]," v3 market."],"Asset cannot be migrated due to supply cap restriction in {marketName} v3 market.":["Asset cannot be migrated due to supply cap restriction in ",["marketName"]," v3 market."],"Asset cannot be migrated to {marketName} V3 Market due to E-mode restrictions. You can disable or manage E-mode categories in your <0>V3 Dashboard":["Asset cannot be migrated to ",["marketName"]," V3 Market due to E-mode restrictions. You can disable or manage E-mode categories in your <0>V3 Dashboard"],"Asset cannot be migrated to {marketName} v3 Market since collateral asset will enable isolation mode.":["Asset cannot be migrated to ",["marketName"]," v3 Market since collateral asset will enable isolation mode."],"Asset cannot be used as collateral.":"Asset cannot be used as collateral.","Asset category":"Asset category","Asset is frozen in {marketName} v3 market, hence this position cannot be migrated.":["Asset is frozen in ",["marketName"]," v3 market, hence this position cannot be migrated."],"Asset is not borrowable in isolation mode":"Asset is not borrowable in isolation mode","Asset is not listed":"Asset is not listed","Asset supply is limited to a certain amount to reduce protocol exposure to the asset and to help manage risks involved.":"Asset supply is limited to a certain amount to reduce protocol exposure to the asset and to help manage risks involved.","Assets":"Assets","Assets to borrow":"Assets to borrow","Assets to supply":"Assets to supply","Assets with zero LTV ({assetsBlockingWithdraw}) must be withdrawn or disabled as collateral to perform this action":["Assets with zero LTV (",["assetsBlockingWithdraw"],") must be withdrawn or disabled as collateral to perform this action"],"At a discount":"At a discount","Author":"Author","Available":"Available","Available assets":"Available assets","Available liquidity":"Available liquidity","Available on":"Available on","Available rewards":"Available rewards","Available to borrow":"Available to borrow","Available to supply":"Available to supply","Back to Dashboard":"Back to Dashboard","Balance":"Balance","Balance to revoke":"Balance to revoke","Be careful - You are very close to liquidation. Consider depositing more collateral or paying down some of your borrowed positions":"Be careful - You are very close to liquidation. Consider depositing more collateral or paying down some of your borrowed positions","Be mindful of the network congestion and gas prices.":"Be mindful of the network congestion and gas prices.","Because this asset is paused, no actions can be taken until further notice":"Because this asset is paused, no actions can be taken until further notice","Before supplying":"Before supplying","Blocked Address":"Blocked Address","Borrow":"Borrow","Borrow APY":"Borrow APY","Borrow APY rate":"Borrow APY rate","Borrow APY, variable":"Borrow APY, variable","Borrow amount to reach {0}% utilization":["Borrow amount to reach ",["0"],"% utilization"],"Borrow and repay in same block is not allowed":"Borrow and repay in same block is not allowed","Borrow apy":"Borrow apy","Borrow balance":"Borrow balance","Borrow balance after repay":"Borrow balance after repay","Borrow balance after switch":"Borrow balance after switch","Borrow cap":"Borrow cap","Borrow cap is exceeded":"Borrow cap is exceeded","Borrow info":"Borrow info","Borrow power used":"Borrow power used","Borrow rate APY":"Borrow rate APY","Borrow rate change":"Borrow rate change","Borrow {symbol}":["Borrow ",["symbol"]],"Borrowed":"Borrowed","Borrowed asset amount":"Borrowed asset amount","Borrowing is currently unavailable for {0}.":["Borrowing is currently unavailable for ",["0"],"."],"Borrowing is disabled due to an Aave community decision. <0>More details":"Borrowing is disabled due to an Aave community decision. <0>More details","Borrowing is not enabled":"Borrowing is not enabled","Borrowing is unavailable because you’re using Isolation mode. To manage Isolation mode visit your <0>Dashboard.":"Borrowing is unavailable because you’re using Isolation mode. To manage Isolation mode visit your <0>Dashboard.","Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) and Isolation mode. To manage E-Mode and Isolation mode visit your <0>Dashboard.":"Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) and Isolation mode. To manage E-Mode and Isolation mode visit your <0>Dashboard.","Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) for {0} category. To manage E-Mode categories visit your <0>Dashboard.":["Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) for ",["0"]," category. To manage E-Mode categories visit your <0>Dashboard."],"Borrowing of this asset is limited to a certain amount to minimize liquidity pool insolvency.":"Borrowing of this asset is limited to a certain amount to minimize liquidity pool insolvency.","Borrowing power and assets are limited due to Isolation mode.":"Borrowing power and assets are limited due to Isolation mode.","Borrowing this amount will reduce your health factor and increase risk of liquidation.":"Borrowing this amount will reduce your health factor and increase risk of liquidation.","Borrowing {symbol}":["Borrowing ",["symbol"]],"Both":"Both","Buy Crypto With Fiat":"Buy Crypto With Fiat","Buy Crypto with Fiat":"Buy Crypto with Fiat","Buy {cryptoSymbol} with Fiat":["Buy ",["cryptoSymbol"]," with Fiat"],"COPIED!":"COPIED!","COPY IMAGE":"COPY IMAGE","Can be collateral":"Can be collateral","Can be executed":"Can be executed","Cancel":"Cancel","Cannot disable E-Mode":"Cannot disable E-Mode","Choose how much voting/proposition power to give to someone else by delegating some of your AAVE, stkAAVE or aAave balance. Your tokens will remain in your account, but your delegate will be able to vote or propose on your behalf. If your AAVE, stkAAVE or aAave balance changes, your delegate's voting/proposition power will be automatically adjusted.":"Choose how much voting/proposition power to give to someone else by delegating some of your AAVE, stkAAVE or aAave balance. Your tokens will remain in your account, but your delegate will be able to vote or propose on your behalf. If your AAVE, stkAAVE or aAave balance changes, your delegate's voting/proposition power will be automatically adjusted.","Choose one of the on-ramp services":"Choose one of the on-ramp services","Claim":"Claim","Claim all":"Claim all","Claim all rewards":"Claim all rewards","Claim {0}":["Claim ",["0"]],"Claim {symbol}":["Claim ",["symbol"]],"Claimable AAVE":"Claimable AAVE","Claimed":"Claimed","Claiming":"Claiming","Claiming {symbol}":["Claiming ",["symbol"]],"Close":"Close","Collateral":"Collateral","Collateral balance after repay":"Collateral balance after repay","Collateral change":"Collateral change","Collateral is (mostly) the same currency that is being borrowed":"Collateral is (mostly) the same currency that is being borrowed","Collateral to repay with":"Collateral to repay with","Collateral usage":"Collateral usage","Collateral usage is limited because of Isolation mode.":"Collateral usage is limited because of Isolation mode.","Collateral usage is limited because of isolation mode.":"Collateral usage is limited because of isolation mode.","Collateral usage is limited because of isolation mode. <0>Learn More":"Collateral usage is limited because of isolation mode. <0>Learn More","Collateralization":"Collateralization","Collector Contract":"Collector Contract","Collector Info":"Collector Info","Connect wallet":"Connect wallet","Cooldown period":"Cooldown period","Cooldown period warning":"Cooldown period warning","Cooldown time left":"Cooldown time left","Cooldown to unstake":"Cooldown to unstake","Cooling down...":"Cooling down...","Copy address":"Copy address","Copy error message":"Copy error message","Copy error text":"Copy error text","Covered debt":"Covered debt","Created":"Created","Current LTV":"Current LTV","Current differential":"Current differential","Current v2 Balance":"Current v2 Balance","Current v2 balance":"Current v2 balance","Current votes":"Current votes","Dark mode":"Dark mode","Dashboard":"Dashboard","Data couldn't be fetched, please reload graph.":"Data couldn't be fetched, please reload graph.","Debt":"Debt","Debt ceiling is exceeded":"Debt ceiling is exceeded","Debt ceiling is not zero":"Debt ceiling is not zero","Debt ceiling limits the amount possible to borrow against this asset by protocol users. Debt ceiling is specific to assets in isolation mode and is denoted in USD.":"Debt ceiling limits the amount possible to borrow against this asset by protocol users. Debt ceiling is specific to assets in isolation mode and is denoted in USD.","Delegated power":"Delegated power","Details":"Details","Developers":"Developers","Differential":"Differential","Disable E-Mode":"Disable E-Mode","Disable testnet":"Disable testnet","Disable {symbol} as collateral":["Disable ",["symbol"]," as collateral"],"Disabled":"Disabled","Disabling E-Mode":"Disabling E-Mode","Disabling this asset as collateral affects your borrowing power and Health Factor.":"Disabling this asset as collateral affects your borrowing power and Health Factor.","Disconnect Wallet":"Disconnect Wallet","Discord channel":"Discord channel","Discount":"Discount","Discount applied for <0/> staking AAVE":"Discount applied for <0/> staking AAVE","Discount model parameters":"Discount model parameters","Discount parameters are decided by the Aave community and may be changed over time. Check Governance for updates and vote to participate. <0>Learn more":"Discount parameters are decided by the Aave community and may be changed over time. Check Governance for updates and vote to participate. <0>Learn more","Discountable amount":"Discountable amount","Docs":"Docs","Download":"Download","Due to internal stETH mechanics required for rebasing support, it is not possible to perform a collateral switch where stETH is the source token.":"Due to internal stETH mechanics required for rebasing support, it is not possible to perform a collateral switch where stETH is the source token.","Due to the Horizon bridge exploit, certain assets on the Harmony network are not at parity with Ethereum, which affects the Aave V3 Harmony market.":"Due to the Horizon bridge exploit, certain assets on the Harmony network are not at parity with Ethereum, which affects the Aave V3 Harmony market.","E-Mode":"E-Mode","E-Mode Category":"E-Mode Category","E-Mode category":"E-Mode category","E-Mode increases your LTV for a selected category of assets up to 97%. <0>Learn more":"E-Mode increases your LTV for a selected category of assets up to 97%. <0>Learn more","E-Mode increases your LTV for a selected category of assets up to<0/>. <1>Learn more":"E-Mode increases your LTV for a selected category of assets up to<0/>. <1>Learn more","E-Mode increases your LTV for a selected category of assets, meaning that when E-mode is enabled, you will have higher borrowing power over assets of the same E-mode category which are defined by Aave Governance. You can enter E-Mode from your <0>Dashboard. To learn more about E-Mode and applied restrictions in <1>FAQ or <2>Aave V3 Technical Paper.":"E-Mode increases your LTV for a selected category of assets, meaning that when E-mode is enabled, you will have higher borrowing power over assets of the same E-mode category which are defined by Aave Governance. You can enter E-Mode from your <0>Dashboard. To learn more about E-Mode and applied restrictions in <1>FAQ or <2>Aave V3 Technical Paper.","Effective interest rate":"Effective interest rate","Efficiency mode (E-Mode)":"Efficiency mode (E-Mode)","Emode":"Emode","Enable E-Mode":"Enable E-Mode","Enable {symbol} as collateral":["Enable ",["symbol"]," as collateral"],"Enabled":"Enabled","Enabling E-Mode":"Enabling E-Mode","Enabling E-Mode only allows you to borrow assets belonging to the selected category. Please visit our <0>FAQ guide to learn more about how it works and the applied restrictions.":"Enabling E-Mode only allows you to borrow assets belonging to the selected category. Please visit our <0>FAQ guide to learn more about how it works and the applied restrictions.","Enabling this asset as collateral increases your borrowing power and Health Factor. However, it can get liquidated if your health factor drops below 1.":"Enabling this asset as collateral increases your borrowing power and Health Factor. However, it can get liquidated if your health factor drops below 1.","Ended":"Ended","Ends":"Ends","English":"English","Enter ETH address":"Enter ETH address","Enter an amount":"Enter an amount","Error connecting. Try refreshing the page.":"Error connecting. Try refreshing the page.","Estimated compounding interest, including discount for Staking {0}AAVE in Safety Module.":["Estimated compounding interest, including discount for Staking ",["0"],"AAVE in Safety Module."],"Exceeds the discount":"Exceeds the discount","Executed":"Executed","Expected amount to repay":"Expected amount to repay","Expires":"Expires","Export data to":"Export data to","FAQ":"FAQ","FAQS":"FAQS","Failed to load proposal voters. Please refresh the page.":"Failed to load proposal voters. Please refresh the page.","Faucet":"Faucet","Faucet {0}":["Faucet ",["0"]],"Fetching data...":"Fetching data...","Filter":"Filter","Fixed":"Fixed","Fixed rate":"Fixed rate","Flashloan is disabled for this asset, hence this position cannot be migrated.":"Flashloan is disabled for this asset, hence this position cannot be migrated.","For repayment of a specific type of debt, the user needs to have debt that type":"For repayment of a specific type of debt, the user needs to have debt that type","Forum discussion":"Forum discussion","French":"French","Funds in the Safety Module":"Funds in the Safety Module","GHO is a native decentralized, collateral-backed digital asset pegged to USD. It is created by users via borrowing against multiple collateral. When user repays their GHO borrow position, the protocol burns that user's GHO. All the interest payments accrued by minters of GHO would be directly transferred to the AaveDAO treasury.":"GHO is a native decentralized, collateral-backed digital asset pegged to USD. It is created by users via borrowing against multiple collateral. When user repays their GHO borrow position, the protocol burns that user's GHO. All the interest payments accrued by minters of GHO would be directly transferred to the AaveDAO treasury.","Get ABP Token":"Get ABP Token","Global settings":"Global settings","Go Back":"Go Back","Go to Balancer Pool":"Go to Balancer Pool","Go to V3 Dashboard":"Go to V3 Dashboard","Governance":"Governance","Greek":"Greek","Health Factor ({0} v2)":["Health Factor (",["0"]," v2)"],"Health Factor ({0} v3)":["Health Factor (",["0"]," v3)"],"Health factor":"Health factor","Health factor is lesser than the liquidation threshold":"Health factor is lesser than the liquidation threshold","Health factor is not below the threshold":"Health factor is not below the threshold","Hide":"Hide","Holders of stkAAVE receive a discount on the GHO borrowing rate":"Holders of stkAAVE receive a discount on the GHO borrowing rate","I acknowledge the risks involved.":"I acknowledge the risks involved.","I fully understand the risks of migrating.":"I fully understand the risks of migrating.","I understand how cooldown ({0}) and unstaking ({1}) work":["I understand how cooldown (",["0"],") and unstaking (",["1"],") work"],"If the error continues to happen,<0/> you may report it to this":"If the error continues to happen,<0/> you may report it to this","If the health factor goes below 1, the liquidation of your collateral might be triggered.":"If the health factor goes below 1, the liquidation of your collateral might be triggered.","If you DO NOT unstake within {0} of unstake window, you will need to activate cooldown process again.":["If you DO NOT unstake within ",["0"]," of unstake window, you will need to activate cooldown process again."],"If your loan to value goes above the liquidation threshold your collateral supplied may be liquidated.":"If your loan to value goes above the liquidation threshold your collateral supplied may be liquidated.","In E-Mode some assets are not borrowable. Exit E-Mode to get access to all assets":"In E-Mode some assets are not borrowable. Exit E-Mode to get access to all assets","In Isolation mode, you cannot supply other assets as collateral. A global debt ceiling limits the borrowing power of the isolated asset. To exit isolation mode disable {0} as collateral before borrowing another asset. Read more in our <0>FAQ":["In Isolation mode, you cannot supply other assets as collateral. A global debt ceiling limits the borrowing power of the isolated asset. To exit isolation mode disable ",["0"]," as collateral before borrowing another asset. Read more in our <0>FAQ"],"Inconsistent flashloan parameters":"Inconsistent flashloan parameters","Insufficient collateral to cover new borrow position. Wallet must have borrowing power remaining to perform debt switch.":"Insufficient collateral to cover new borrow position. Wallet must have borrowing power remaining to perform debt switch.","Interest accrued":"Interest accrued","Interest rate rebalance conditions were not met":"Interest rate rebalance conditions were not met","Interest rate strategy":"Interest rate strategy","Interest rate that is determined by Aave Governance. This rate may be changed over time depending on the need for the GHO supply to contract/expand. <0>Learn more":"Interest rate that is determined by Aave Governance. This rate may be changed over time depending on the need for the GHO supply to contract/expand. <0>Learn more","Invalid amount to burn":"Invalid amount to burn","Invalid amount to mint":"Invalid amount to mint","Invalid bridge protocol fee":"Invalid bridge protocol fee","Invalid expiration":"Invalid expiration","Invalid flashloan premium":"Invalid flashloan premium","Invalid return value of the flashloan executor function":"Invalid return value of the flashloan executor function","Invalid signature":"Invalid signature","Isolated":"Isolated","Isolated Debt Ceiling":"Isolated Debt Ceiling","Isolated assets have limited borrowing power and other assets cannot be used as collateral.":"Isolated assets have limited borrowing power and other assets cannot be used as collateral.","Join the community discussion":"Join the community discussion","LEARN MORE":"LEARN MORE","Language":"Language","Learn more":"Learn more","Learn more about risks involved":"Learn more about risks involved","Learn more in our <0>FAQ guide":"Learn more in our <0>FAQ guide","Learn more.":"Learn more.","Links":"Links","Liqudation":"Liqudation","Liquidated collateral":"Liquidated collateral","Liquidation":"Liquidation","Liquidation <0/> threshold":"Liquidation <0/> threshold","Liquidation Threshold":"Liquidation Threshold","Liquidation at":"Liquidation at","Liquidation penalty":"Liquidation penalty","Liquidation risk":"Liquidation risk","Liquidation risk parameters":"Liquidation risk parameters","Liquidation threshold":"Liquidation threshold","Liquidation value":"Liquidation value","Loading data...":"Loading data...","Ltv validation failed":"Ltv validation failed","MAI has been paused due to a community decision. Supply, borrows and repays are impacted. <0>More details":"MAI has been paused due to a community decision. Supply, borrows and repays are impacted. <0>More details","MAX":"MAX","Manage analytics":"Manage analytics","Market":"Market","Markets":"Markets","Max":"Max","Max LTV":"Max LTV","Max slashing":"Max slashing","Max slippage":"Max slippage","Maximum amount available to borrow against this asset is limited because debt ceiling is at {0}%.":["Maximum amount available to borrow against this asset is limited because debt ceiling is at ",["0"],"%."],"Maximum amount available to borrow is <0/> {0} (<1/>).":["Maximum amount available to borrow is <0/> ",["0"]," (<1/>)."],"Maximum amount available to borrow is limited because protocol borrow cap is nearly reached.":"Maximum amount available to borrow is limited because protocol borrow cap is nearly reached.","Maximum amount available to supply is <0/> {0} (<1/>).":["Maximum amount available to supply is <0/> ",["0"]," (<1/>)."],"Maximum amount available to supply is limited because protocol supply cap is at {0}%.":["Maximum amount available to supply is limited because protocol supply cap is at ",["0"],"%."],"Maximum loan to value":"Maximum loan to value","Meet GHO":"Meet GHO","Menu":"Menu","Migrate":"Migrate","Migrate to V3":"Migrate to V3","Migrate to v3":"Migrate to v3","Migrate to {0} v3 Market":["Migrate to ",["0"]," v3 Market"],"Migrated":"Migrated","Migrating":"Migrating","Migrating multiple collaterals and borrowed assets at the same time can be an expensive operation and might fail in certain situations.<0>Therefore it’s not recommended to migrate positions with more than 5 assets (deposited + borrowed) at the same time.":"Migrating multiple collaterals and borrowed assets at the same time can be an expensive operation and might fail in certain situations.<0>Therefore it’s not recommended to migrate positions with more than 5 assets (deposited + borrowed) at the same time.","Migration risks":"Migration risks","Minimum GHO borrow amount":"Minimum GHO borrow amount","Minimum USD value received":"Minimum USD value received","Minimum staked Aave amount":"Minimum staked Aave amount","Minimum {0} received":["Minimum ",["0"]," received"],"More":"More","NAY":"NAY","Need help connecting a wallet? <0>Read our FAQ":"Need help connecting a wallet? <0>Read our FAQ","Net APR":"Net APR","Net APY":"Net APY","Net APY is the combined effect of all supply and borrow positions on net worth, including incentives. It is possible to have a negative net APY if debt APY is higher than supply APY.":"Net APY is the combined effect of all supply and borrow positions on net worth, including incentives. It is possible to have a negative net APY if debt APY is higher than supply APY.","Net worth":"Net worth","Network":"Network","Network not supported for this wallet":"Network not supported for this wallet","New APY":"New APY","No assets selected to migrate.":"No assets selected to migrate.","No rewards to claim":"No rewards to claim","No search results{0}":["No search results",["0"]],"No transactions yet.":"No transactions yet.","No voting power":"No voting power","None":"None","Not a valid address":"Not a valid address","Not enough balance on your wallet":"Not enough balance on your wallet","Not enough collateral to repay this amount of debt with":"Not enough collateral to repay this amount of debt with","Not enough staked balance":"Not enough staked balance","Not enough voting power to participate in this proposal":"Not enough voting power to participate in this proposal","Not reached":"Not reached","Nothing borrowed yet":"Nothing borrowed yet","Nothing found":"Nothing found","Nothing staked":"Nothing staked","Nothing supplied yet":"Nothing supplied yet","Notify":"Notify","Ok, Close":"Ok, Close","Ok, I got it":"Ok, I got it","Operation not supported":"Operation not supported","Oracle price":"Oracle price","Overview":"Overview","Page not found":"Page not found","Participating in this {symbol} reserve gives annualized rewards.":["Participating in this ",["symbol"]," reserve gives annualized rewards."],"Pending...":"Pending...","Per the community, the Fantom market has been frozen.":"Per the community, the Fantom market has been frozen.","Per the community, the V2 AMM market has been deprecated.":"Per the community, the V2 AMM market has been deprecated.","Please always be aware of your <0>Health Factor (HF) when partially migrating a position and that your rates will be updated to V3 rates.":"Please always be aware of your <0>Health Factor (HF) when partially migrating a position and that your rates will be updated to V3 rates.","Please connect a wallet to view your personal information here.":"Please connect a wallet to view your personal information here.","Please connect your wallet to be able to switch your tokens.":"Please connect your wallet to be able to switch your tokens.","Please connect your wallet to get free testnet assets.":"Please connect your wallet to get free testnet assets.","Please connect your wallet to see migration tool.":"Please connect your wallet to see migration tool.","Please connect your wallet to see your supplies, borrowings, and open positions.":"Please connect your wallet to see your supplies, borrowings, and open positions.","Please connect your wallet to view transaction history.":"Please connect your wallet to view transaction history.","Please enter a valid wallet address.":"Please enter a valid wallet address.","Please switch to {networkName}.":["Please switch to ",["networkName"],"."],"Please, connect your wallet":"Please, connect your wallet","Pool addresses provider is not registered":"Pool addresses provider is not registered","Powered by":"Powered by","Preview tx and migrate":"Preview tx and migrate","Price":"Price","Price data is not currently available for this reserve on the protocol subgraph":"Price data is not currently available for this reserve on the protocol subgraph","Price impact":"Price impact","Price impact is the spread between the total value of the entry tokens switched and the destination tokens obtained (in USD), which results from the limited liquidity of the trading pair.":"Price impact is the spread between the total value of the entry tokens switched and the destination tokens obtained (in USD), which results from the limited liquidity of the trading pair.","Price impact {0}%":["Price impact ",["0"],"%"],"Privacy":"Privacy","Proposal details":"Proposal details","Proposal overview":"Proposal overview","Proposals":"Proposals","Proposition":"Proposition","Protocol borrow cap at 100% for this asset. Further borrowing unavailable.":"Protocol borrow cap at 100% for this asset. Further borrowing unavailable.","Protocol borrow cap is at 100% for this asset. Further borrowing unavailable.":"Protocol borrow cap is at 100% for this asset. Further borrowing unavailable.","Protocol debt ceiling is at 100% for this asset. Further borrowing against this asset is unavailable.":"Protocol debt ceiling is at 100% for this asset. Further borrowing against this asset is unavailable.","Protocol debt ceiling is at 100% for this asset. Futher borrowing against this asset is unavailable.":"Protocol debt ceiling is at 100% for this asset. Futher borrowing against this asset is unavailable.","Protocol supply cap at 100% for this asset. Further supply unavailable.":"Protocol supply cap at 100% for this asset. Further supply unavailable.","Protocol supply cap is at 100% for this asset. Further supply unavailable.":"Protocol supply cap is at 100% for this asset. Further supply unavailable.","Quorum":"Quorum","Rate change":"Rate change","Raw-Ipfs":"Raw-Ipfs","Reached":"Reached","Reactivate cooldown period to unstake {0} {stakedToken}":["Reactivate cooldown period to unstake ",["0"]," ",["stakedToken"]],"Read more here.":"Read more here.","Read-only mode allows to see address positions in Aave, but you won't be able to perform transactions.":"Read-only mode allows to see address positions in Aave, but you won't be able to perform transactions.","Read-only mode.":"Read-only mode.","Read-only mode. Connect to a wallet to perform transactions.":"Read-only mode. Connect to a wallet to perform transactions.","Receive (est.)":"Receive (est.)","Received":"Received","Recipient address":"Recipient address","Rejected connection request":"Rejected connection request","Reload":"Reload","Reload the page":"Reload the page","Remaining debt":"Remaining debt","Remaining supply":"Remaining supply","Repaid":"Repaid","Repay":"Repay","Repay with":"Repay with","Repay {symbol}":["Repay ",["symbol"]],"Repaying {symbol}":["Repaying ",["symbol"]],"Repayment amount to reach {0}% utilization":["Repayment amount to reach ",["0"],"% utilization"],"Reserve Size":"Reserve Size","Reserve factor":"Reserve factor","Reserve factor is a percentage of interest which goes to a {0} that is controlled by Aave governance to promote ecosystem growth.":["Reserve factor is a percentage of interest which goes to a ",["0"]," that is controlled by Aave governance to promote ecosystem growth."],"Reserve status & configuration":"Reserve status & configuration","Reset":"Reset","Restake":"Restake","Restake {symbol}":["Restake ",["symbol"]],"Restaked":"Restaked","Restaking {symbol}":["Restaking ",["symbol"]],"Review approval tx details":"Review approval tx details","Review changes to continue":"Review changes to continue","Review tx":"Review tx","Review tx details":"Review tx details","Revoke power":"Revoke power","Reward(s) to claim":"Reward(s) to claim","Rewards APR":"Rewards APR","Risk details":"Risk details","SEE CHARTS":"SEE CHARTS","Safety of your deposited collateral against the borrowed assets and its underlying value.":"Safety of your deposited collateral against the borrowed assets and its underlying value.","Save and share":"Save and share","Seatbelt report":"Seatbelt report","Seems like we can't switch the network automatically. Please check if you can change it from the wallet.":"Seems like we can't switch the network automatically. Please check if you can change it from the wallet.","Select":"Select","Select APY type to switch":"Select APY type to switch","Select an asset":"Select an asset","Select language":"Select language","Select slippage tolerance":"Select slippage tolerance","Select v2 borrows to migrate":"Select v2 borrows to migrate","Select v2 supplies to migrate":"Select v2 supplies to migrate","Selected assets have successfully migrated. Visit the Market Dashboard to see them.":"Selected assets have successfully migrated. Visit the Market Dashboard to see them.","Selected borrow assets":"Selected borrow assets","Selected supply assets":"Selected supply assets","Send feedback":"Send feedback","Set up delegation":"Set up delegation","Setup notifications about your Health Factor using the Hal app.":"Setup notifications about your Health Factor using the Hal app.","Share on Lens":"Share on Lens","Share on twitter":"Share on twitter","Show":"Show","Show Frozen or paused assets":"Show Frozen or paused assets","Show assets with 0 balance":"Show assets with 0 balance","Sign to continue":"Sign to continue","Signatures ready":"Signatures ready","Signing":"Signing","Since this asset is frozen, the only available actions are withdraw and repay which can be accessed from the <0>Dashboard":"Since this asset is frozen, the only available actions are withdraw and repay which can be accessed from the <0>Dashboard","Since this is a test network, you can get any of the assets if you have ETH on your wallet":"Since this is a test network, you can get any of the assets if you have ETH on your wallet","Slippage":"Slippage","Slippage is the difference between the quoted and received amounts from changing market conditions between the moment the transaction is submitted and its verification.":"Slippage is the difference between the quoted and received amounts from changing market conditions between the moment the transaction is submitted and its verification.","Some migrated assets will not be used as collateral due to enabled isolation mode in {marketName} V3 Market. Visit <0>{marketName} V3 Dashboard to manage isolation mode.":["Some migrated assets will not be used as collateral due to enabled isolation mode in ",["marketName"]," V3 Market. Visit <0>",["marketName"]," V3 Dashboard to manage isolation mode."],"Something went wrong":"Something went wrong","Sorry, an unexpected error happened. In the meantime you may try reloading the page, or come back later.":"Sorry, an unexpected error happened. In the meantime you may try reloading the page, or come back later.","Sorry, we couldn't find the page you were looking for.":"Sorry, we couldn't find the page you were looking for.","Spanish":"Spanish","Stable":"Stable","Stable Interest Type is disabled for this currency":"Stable Interest Type is disabled for this currency","Stable borrowing is enabled":"Stable borrowing is enabled","Stable borrowing is not enabled":"Stable borrowing is not enabled","Stable debt supply is not zero":"Stable debt supply is not zero","Stable interest rate will <0>stay the same for the duration of your loan. Recommended for long-term loan periods and for users who prefer predictability.":"Stable interest rate will <0>stay the same for the duration of your loan. Recommended for long-term loan periods and for users who prefer predictability.","Stablecoin":"Stablecoin","Stake":"Stake","Stake AAVE":"Stake AAVE","Stake ABPT":"Stake ABPT","Stake cooldown activated":"Stake cooldown activated","Staked":"Staked","Staking":"Staking","Staking APR":"Staking APR","Staking Rewards":"Staking Rewards","Staking balance":"Staking balance","Staking discount":"Staking discount","Started":"Started","State":"State","Supplied":"Supplied","Supplied asset amount":"Supplied asset amount","Supply":"Supply","Supply APY":"Supply APY","Supply apy":"Supply apy","Supply balance":"Supply balance","Supply balance after switch":"Supply balance after switch","Supply cap is exceeded":"Supply cap is exceeded","Supply cap on target reserve reached. Try lowering the amount.":"Supply cap on target reserve reached. Try lowering the amount.","Supply {symbol}":["Supply ",["symbol"]],"Supplying your":"Supplying your","Supplying {symbol}":["Supplying ",["symbol"]],"Switch":"Switch","Switch APY type":"Switch APY type","Switch E-Mode":"Switch E-Mode","Switch E-Mode category":"Switch E-Mode category","Switch Network":"Switch Network","Switch borrow position":"Switch borrow position","Switch rate":"Switch rate","Switch to":"Switch to","Switched":"Switched","Switching":"Switching","Switching E-Mode":"Switching E-Mode","Switching rate":"Switching rate","Techpaper":"Techpaper","Terms":"Terms","Test Assets":"Test Assets","Testnet mode":"Testnet mode","Testnet mode is ON":"Testnet mode is ON","Thank you for voting!!":"Thank you for voting!!","The % of your total borrowing power used. This is based on the amount of your collateral supplied and the total amount that you can borrow.":"The % of your total borrowing power used. This is based on the amount of your collateral supplied and the total amount that you can borrow.","The Aave Balancer Pool Token (ABPT) is a liquidity pool token. You can receive ABPT by depositing a combination of AAVE + ETH in the Balancer liquidity pool. You can then stake your BPT in the Safety Module to secure the protocol and earn Safety Incentives.":"The Aave Balancer Pool Token (ABPT) is a liquidity pool token. You can receive ABPT by depositing a combination of AAVE + ETH in the Balancer liquidity pool. You can then stake your BPT in the Safety Module to secure the protocol and earn Safety Incentives.","The Aave Protocol is programmed to always use the price of 1 GHO = $1. This is different from using market pricing via oracles for other crypto assets. This creates stabilizing arbitrage opportunities when the price of GHO fluctuates.":"The Aave Protocol is programmed to always use the price of 1 GHO = $1. This is different from using market pricing via oracles for other crypto assets. This creates stabilizing arbitrage opportunities when the price of GHO fluctuates.","The Maximum LTV ratio represents the maximum borrowing power of a specific collateral. For example, if a collateral has an LTV of 75%, the user can borrow up to 0.75 worth of ETH in the principal currency for every 1 ETH worth of collateral.":"The Maximum LTV ratio represents the maximum borrowing power of a specific collateral. For example, if a collateral has an LTV of 75%, the user can borrow up to 0.75 worth of ETH in the principal currency for every 1 ETH worth of collateral.","The Stable Rate is not enabled for this currency":"The Stable Rate is not enabled for this currency","The address of the pool addresses provider is invalid":"The address of the pool addresses provider is invalid","The app is running in testnet mode. Learn how it works in":"The app is running in testnet mode. Learn how it works in","The caller of the function is not an AToken":"The caller of the function is not an AToken","The caller of this function must be a pool":"The caller of this function must be a pool","The collateral balance is 0":"The collateral balance is 0","The collateral chosen cannot be liquidated":"The collateral chosen cannot be liquidated","The cooldown period is the time required prior to unstaking your tokens (20 days). You can only withdraw your assets from the Security Module after the cooldown period and within the unstake window.<0>Learn more":"The cooldown period is the time required prior to unstaking your tokens (20 days). You can only withdraw your assets from the Security Module after the cooldown period and within the unstake window.<0>Learn more","The cooldown period is {0}. After {1} of cooldown, you will enter unstake window of {2}. You will continue receiving rewards during cooldown and unstake window.":["The cooldown period is ",["0"],". After ",["1"]," of cooldown, you will enter unstake window of ",["2"],". You will continue receiving rewards during cooldown and unstake window."],"The effects on the health factor would cause liquidation. Try lowering the amount.":"The effects on the health factor would cause liquidation. Try lowering the amount.","The loan to value of the migrated positions would cause liquidation. Increase migrated collateral or reduce migrated borrow to continue.":"The loan to value of the migrated positions would cause liquidation. Increase migrated collateral or reduce migrated borrow to continue.","The requested amount is greater than the max loan size in stable rate mode":"The requested amount is greater than the max loan size in stable rate mode","The total amount of your assets denominated in USD that can be used as collateral for borrowing assets.":"The total amount of your assets denominated in USD that can be used as collateral for borrowing assets.","The underlying asset cannot be rescued":"The underlying asset cannot be rescued","The underlying balance needs to be greater than 0":"The underlying balance needs to be greater than 0","The weighted average of APY for all borrowed assets, including incentives.":"The weighted average of APY for all borrowed assets, including incentives.","The weighted average of APY for all supplied assets, including incentives.":"The weighted average of APY for all supplied assets, including incentives.","There are not enough funds in the{0}reserve to borrow":["There are not enough funds in the",["0"],"reserve to borrow"],"There is not enough collateral to cover a new borrow":"There is not enough collateral to cover a new borrow","There is not enough liquidity for the target asset to perform the switch. Try lowering the amount.":"There is not enough liquidity for the target asset to perform the switch. Try lowering the amount.","There was some error. Please try changing the parameters or <0><1>copy the error":"There was some error. Please try changing the parameters or <0><1>copy the error","These assets are temporarily frozen or paused by Aave community decisions, meaning that further supply / borrow, or rate swap of these assets are unavailable. Withdrawals and debt repayments are allowed. Follow the <0>Aave governance forum for further updates.":"These assets are temporarily frozen or paused by Aave community decisions, meaning that further supply / borrow, or rate swap of these assets are unavailable. Withdrawals and debt repayments are allowed. Follow the <0>Aave governance forum for further updates.","These funds have been borrowed and are not available for withdrawal at this time.":"These funds have been borrowed and are not available for withdrawal at this time.","This action will reduce V2 health factor below liquidation threshold. retain collateral or migrate borrow position to continue.":"This action will reduce V2 health factor below liquidation threshold. retain collateral or migrate borrow position to continue.","This action will reduce health factor of V3 below liquidation threshold. Increase migrated collateral or reduce migrated borrow to continue.":"This action will reduce health factor of V3 below liquidation threshold. Increase migrated collateral or reduce migrated borrow to continue.","This action will reduce your health factor. Please be mindful of the increased risk of collateral liquidation.":"This action will reduce your health factor. Please be mindful of the increased risk of collateral liquidation.","This address is blocked on app.aave.com because it is associated with one or more":"This address is blocked on app.aave.com because it is associated with one or more","This asset has almost reached its borrow cap. There is only {messageValue} available to be borrowed from this market.":["This asset has almost reached its borrow cap. There is only ",["messageValue"]," available to be borrowed from this market."],"This asset has almost reached its supply cap. There can only be {messageValue} supplied to this market.":["This asset has almost reached its supply cap. There can only be ",["messageValue"]," supplied to this market."],"This asset has been paused due to a community decision. Supply, withdraw, borrows and repays are impacted.":"This asset has been paused due to a community decision. Supply, withdraw, borrows and repays are impacted.","This asset has reached its borrow cap. Nothing is available to be borrowed from this market.":"This asset has reached its borrow cap. Nothing is available to be borrowed from this market.","This asset has reached its supply cap. Nothing is available to be supplied from this market.":"This asset has reached its supply cap. Nothing is available to be supplied from this market.","This asset is frozen due to an Aave Protocol Governance decision. <0>More details":"This asset is frozen due to an Aave Protocol Governance decision. <0>More details","This asset is frozen due to an Aave Protocol Governance decision. On the 20th of December 2022, renFIL will no longer be supported and cannot be bridged back to its native network. It is recommended to withdraw supply positions and repay borrow positions so that renFIL can be bridged back to FIL before the deadline. After this date, it will no longer be possible to convert renFIL to FIL. <0>More details":"This asset is frozen due to an Aave Protocol Governance decision. On the 20th of December 2022, renFIL will no longer be supported and cannot be bridged back to its native network. It is recommended to withdraw supply positions and repay borrow positions so that renFIL can be bridged back to FIL before the deadline. After this date, it will no longer be possible to convert renFIL to FIL. <0>More details","This asset is frozen due to an Aave community decision. <0>More details":"This asset is frozen due to an Aave community decision. <0>More details","This asset is planned to be offboarded due to an Aave Protocol Governance decision. <0>More details":"This asset is planned to be offboarded due to an Aave Protocol Governance decision. <0>More details","This gas calculation is only an estimation. Your wallet will set the price of the transaction. You can modify the gas settings directly from your wallet provider.":"This gas calculation is only an estimation. Your wallet will set the price of the transaction. You can modify the gas settings directly from your wallet provider.","This integration was<0>proposed and approvedby the community.":"This integration was<0>proposed and approvedby the community.","This is the total amount available for you to borrow. You can borrow based on your collateral and until the borrow cap is reached.":"This is the total amount available for you to borrow. You can borrow based on your collateral and until the borrow cap is reached.","This is the total amount that you are able to supply to in this reserve. You are able to supply your wallet balance up until the supply cap is reached.":"This is the total amount that you are able to supply to in this reserve. You are able to supply your wallet balance up until the supply cap is reached.","This represents the threshold at which a borrow position will be considered undercollateralized and subject to liquidation for each collateral. For example, if a collateral has a liquidation threshold of 80%, it means that the position will be liquidated when the debt value is worth 80% of the collateral value.":"This represents the threshold at which a borrow position will be considered undercollateralized and subject to liquidation for each collateral. For example, if a collateral has a liquidation threshold of 80%, it means that the position will be liquidated when the debt value is worth 80% of the collateral value.","Time left to be able to withdraw your staked asset.":"Time left to be able to withdraw your staked asset.","Time left to unstake":"Time left to unstake","Time left until the withdrawal window closes.":"Time left until the withdrawal window closes.","Tip: Try increasing slippage or reduce input amount":"Tip: Try increasing slippage or reduce input amount","To borrow you need to supply any asset to be used as collateral.":"To borrow you need to supply any asset to be used as collateral.","To continue, you need to grant Aave smart contracts permission to move your funds from your wallet. Depending on the asset and wallet you use, it is done by signing the permission message (gas free), or by submitting an approval transaction (requires gas). <0>Learn more":"To continue, you need to grant Aave smart contracts permission to move your funds from your wallet. Depending on the asset and wallet you use, it is done by signing the permission message (gas free), or by submitting an approval transaction (requires gas). <0>Learn more","To enable E-mode for the {0} category, all borrow positions outside of this category must be closed.":["To enable E-mode for the ",["0"]," category, all borrow positions outside of this category must be closed."],"To repay on behalf of a user an explicit amount to repay is needed":"To repay on behalf of a user an explicit amount to repay is needed","To request access for this permissioned market, please visit: <0>Acces Provider Name":"To request access for this permissioned market, please visit: <0>Acces Provider Name","To submit a proposal for minor changes to the protocol, you'll need at least 80.00K power. If you want to change the core code base, you'll need 320k power.<0>Learn more.":"To submit a proposal for minor changes to the protocol, you'll need at least 80.00K power. If you want to change the core code base, you'll need 320k power.<0>Learn more.","Top 10 addresses":"Top 10 addresses","Total available":"Total available","Total borrowed":"Total borrowed","Total borrows":"Total borrows","Total emission per day":"Total emission per day","Total interest accrued":"Total interest accrued","Total market size":"Total market size","Total supplied":"Total supplied","Total voting power":"Total voting power","Total worth":"Total worth","Track wallet":"Track wallet","Track wallet balance in read-only mode":"Track wallet balance in read-only mode","Transaction failed":"Transaction failed","Transaction history":"Transaction history","Transaction history is not currently available for this market":"Transaction history is not currently available for this market","Transaction overview":"Transaction overview","Transactions":"Transactions","UNSTAKE {symbol}":["UNSTAKE ",["symbol"]],"Unavailable":"Unavailable","Unbacked":"Unbacked","Unbacked mint cap is exceeded":"Unbacked mint cap is exceeded","Underlying asset does not exist in {marketName} v3 Market, hence this position cannot be migrated.":["Underlying asset does not exist in ",["marketName"]," v3 Market, hence this position cannot be migrated."],"Underlying token":"Underlying token","Unstake now":"Unstake now","Unstake window":"Unstake window","Unstaked":"Unstaked","Unstaking {symbol}":["Unstaking ",["symbol"]],"Update: Disruptions reported for WETH, WBTC, WMATIC, and USDT. AIP 230 will resolve the disruptions and the market will be operating as normal on ~26th May 13h00 UTC.":"Update: Disruptions reported for WETH, WBTC, WMATIC, and USDT. AIP 230 will resolve the disruptions and the market will be operating as normal on ~26th May 13h00 UTC.","Use it to vote for or against active proposals.":"Use it to vote for or against active proposals.","Use your AAVE, stkAAVE, or aAave balance to delegate your voting and proposition powers. You will not be sending any tokens, only the rights to vote and propose changes to the protocol. You can re-delegate or revoke power to self at any time.":"Use your AAVE, stkAAVE, or aAave balance to delegate your voting and proposition powers. You will not be sending any tokens, only the rights to vote and propose changes to the protocol. You can re-delegate or revoke power to self at any time.","Used as collateral":"Used as collateral","User cannot withdraw more than the available balance":"User cannot withdraw more than the available balance","User did not borrow the specified currency":"User did not borrow the specified currency","User does not have outstanding stable rate debt on this reserve":"User does not have outstanding stable rate debt on this reserve","User does not have outstanding variable rate debt on this reserve":"User does not have outstanding variable rate debt on this reserve","User is in isolation mode":"User is in isolation mode","User is trying to borrow multiple assets including a siloed one":"User is trying to borrow multiple assets including a siloed one","Users who stake AAVE in Safety Module (i.e. stkAAVE holders) receive a discount on GHO borrow interest rate. The discount applies to 100 GHO for every 1 stkAAVE held. Use the calculator below to see GHO borrow rate with the discount applied.":"Users who stake AAVE in Safety Module (i.e. stkAAVE holders) receive a discount on GHO borrow interest rate. The discount applies to 100 GHO for every 1 stkAAVE held. Use the calculator below to see GHO borrow rate with the discount applied.","Utilization Rate":"Utilization Rate","VIEW TX":"VIEW TX","VOTE NAY":"VOTE NAY","VOTE YAE":"VOTE YAE","Variable":"Variable","Variable debt supply is not zero":"Variable debt supply is not zero","Variable interest rate will <0>fluctuate based on the market conditions. Recommended for short-term positions.":"Variable interest rate will <0>fluctuate based on the market conditions. Recommended for short-term positions.","Variable rate":"Variable rate","Version 2":"Version 2","Version 3":"Version 3","View":"View","View Transactions":"View Transactions","View all votes":"View all votes","View contract":"View contract","View details":"View details","View on Explorer":"View on Explorer","Vote NAY":"Vote NAY","Vote YAE":"Vote YAE","Voted NAY":"Voted NAY","Voted YAE":"Voted YAE","Votes":"Votes","Voting":"Voting","Voting power":"Voting power","Voting results":"Voting results","Wallet Balance":"Wallet Balance","Wallet balance":"Wallet balance","Wallet not detected. Connect or install wallet and retry":"Wallet not detected. Connect or install wallet and retry","Wallets are provided by External Providers and by selecting you agree to Terms of those Providers. Your access to the wallet might be reliant on the External Provider being operational.":"Wallets are provided by External Providers and by selecting you agree to Terms of those Providers. Your access to the wallet might be reliant on the External Provider being operational.","We couldn't find any assets related to your search. Try again with a different asset name, symbol, or address.":"We couldn't find any assets related to your search. Try again with a different asset name, symbol, or address.","We couldn't find any transactions related to your search. Try again with a different asset name, or reset filters.":"We couldn't find any transactions related to your search. Try again with a different asset name, or reset filters.","We couldn’t detect a wallet. Connect a wallet to stake and view your balance.":"We couldn’t detect a wallet. Connect a wallet to stake and view your balance.","We suggest you go back to the Dashboard.":"We suggest you go back to the Dashboard.","Website":"Website","When a liquidation occurs, liquidators repay up to 50% of the outstanding borrowed amount on behalf of the borrower. In return, they can buy the collateral at a discount and keep the difference (liquidation penalty) as a bonus.":"When a liquidation occurs, liquidators repay up to 50% of the outstanding borrowed amount on behalf of the borrower. In return, they can buy the collateral at a discount and keep the difference (liquidation penalty) as a bonus.","With a voting power of <0/>":"With a voting power of <0/>","With testnet Faucet you can get free assets to test the Aave Protocol. Make sure to switch your wallet provider to the appropriate testnet network, select desired asset, and click ‘Faucet’ to get tokens transferred to your wallet. The assets on a testnet are not “real,” meaning they have no monetary value. <0>Learn more":"With testnet Faucet you can get free assets to test the Aave Protocol. Make sure to switch your wallet provider to the appropriate testnet network, select desired asset, and click ‘Faucet’ to get tokens transferred to your wallet. The assets on a testnet are not “real,” meaning they have no monetary value. <0>Learn more","Withdraw":"Withdraw","Withdraw & Switch":"Withdraw & Switch","Withdraw and Switch":"Withdraw and Switch","Withdraw {symbol}":["Withdraw ",["symbol"]],"Withdrawing and Switching":"Withdrawing and Switching","Withdrawing this amount will reduce your health factor and increase risk of liquidation.":"Withdrawing this amount will reduce your health factor and increase risk of liquidation.","Withdrawing {symbol}":["Withdrawing ",["symbol"]],"Wrong Network":"Wrong Network","YAE":"YAE","You are entering Isolation mode":"You are entering Isolation mode","You can borrow this asset with a stable rate only if you borrow more than the amount you are supplying as collateral.":"You can borrow this asset with a stable rate only if you borrow more than the amount you are supplying as collateral.","You can not change Interest Type to stable as your borrowings are higher than your collateral":"You can not change Interest Type to stable as your borrowings are higher than your collateral","You can not disable E-Mode as your current collateralization level is above 80%, disabling E-Mode can cause liquidation. To exit E-Mode supply or repay borrowed positions.":"You can not disable E-Mode as your current collateralization level is above 80%, disabling E-Mode can cause liquidation. To exit E-Mode supply or repay borrowed positions.","You can not switch usage as collateral mode for this currency, because it will cause collateral call":"You can not switch usage as collateral mode for this currency, because it will cause collateral call","You can not use this currency as collateral":"You can not use this currency as collateral","You can not withdraw this amount because it will cause collateral call":"You can not withdraw this amount because it will cause collateral call","You can only switch to tokens with variable APY types. After this transaction, you may change the variable rate to a stable one if available.":"You can only switch to tokens with variable APY types. After this transaction, you may change the variable rate to a stable one if available.","You can only withdraw your assets from the Security Module after the cooldown period ends and the unstake window is active.":"You can only withdraw your assets from the Security Module after the cooldown period ends and the unstake window is active.","You can report incident to our <0>Discord or<1>Github.":"You can report incident to our <0>Discord or<1>Github.","You cancelled the transaction.":"You cancelled the transaction.","You did not participate in this proposal":"You did not participate in this proposal","You do not have supplies in this currency":"You do not have supplies in this currency","You don’t have enough funds in your wallet to repay the full amount. If you proceed to repay with your current amount of funds, you will still have a small borrowing position in your dashboard.":"You don’t have enough funds in your wallet to repay the full amount. If you proceed to repay with your current amount of funds, you will still have a small borrowing position in your dashboard.","You have no AAVE/stkAAVE/aAave balance to delegate.":"You have no AAVE/stkAAVE/aAave balance to delegate.","You have not borrow yet using this currency":"You have not borrow yet using this currency","You may borrow up to <0/> GHO at <1/> (max discount)":"You may borrow up to <0/> GHO at <1/> (max discount)","You may enter a custom amount in the field.":"You may enter a custom amount in the field.","You switched to {0} rate":["You switched to ",["0"]," rate"],"You unstake here":"You unstake here","You voted {0}":["You voted ",["0"]],"You will exit isolation mode and other tokens can now be used as collateral":"You will exit isolation mode and other tokens can now be used as collateral","You {action} <0/> {symbol}":["You ",["action"]," <0/> ",["symbol"]],"You've successfully switched borrow position.":"You've successfully switched borrow position.","You've successfully switched tokens.":"You've successfully switched tokens.","You've successfully withdrew & switched tokens.":"You've successfully withdrew & switched tokens.","Your balance is lower than the selected amount.":"Your balance is lower than the selected amount.","Your borrows":"Your borrows","Your current loan to value based on your collateral supplied.":"Your current loan to value based on your collateral supplied.","Your health factor and loan to value determine the assurance of your collateral. To avoid liquidations you can supply more collateral or repay borrow positions.":"Your health factor and loan to value determine the assurance of your collateral. To avoid liquidations you can supply more collateral or repay borrow positions.","Your info":"Your info","Your proposition power is based on your AAVE/stkAAVE balance and received delegations.":"Your proposition power is based on your AAVE/stkAAVE balance and received delegations.","Your reward balance is 0":"Your reward balance is 0","Your supplies":"Your supplies","Your voting info":"Your voting info","Your voting power is based on your AAVE/stkAAVE balance and received delegations.":"Your voting power is based on your AAVE/stkAAVE balance and received delegations.","Your {name} wallet is empty. Purchase or transfer assets or use <0>{0} to transfer your {network} assets.":["Your ",["name"]," wallet is empty. Purchase or transfer assets or use <0>",["0"]," to transfer your ",["network"]," assets."],"Your {name} wallet is empty. Purchase or transfer assets.":["Your ",["name"]," wallet is empty. Purchase or transfer assets."],"Your {networkName} wallet is empty. Get free test assets at":["Your ",["networkName"]," wallet is empty. Get free test assets at"],"Your {networkName} wallet is empty. Get free test {0} at":["Your ",["networkName"]," wallet is empty. Get free test ",["0"]," at"],"Zero address not valid":"Zero address not valid","assets":"assets","blocked activities":"blocked activities","copy the error":"copy the error","disabled":"disabled","documentation":"documentation","enabled":"enabled","ends":"ends","for":"for","of":"of","on":"on","please check that the amount you want to supply is not currently being used for staking. If it is being used for staking, your transaction might fail.":"please check that the amount you want to supply is not currently being used for staking. If it is being used for staking, your transaction might fail.","repaid":"repaid","stETH supplied as collateral will continue to accrue staking rewards provided by daily rebases.":"stETH supplied as collateral will continue to accrue staking rewards provided by daily rebases.","stETH tokens will be migrated to Wrapped stETH using Lido Protocol wrapper which leads to supply balance change after migration: {0}":["stETH tokens will be migrated to Wrapped stETH using Lido Protocol wrapper which leads to supply balance change after migration: ",["0"]],"staking view":"staking view","starts":"starts","stkAAVE holders get a discount on GHO borrow rate":"stkAAVE holders get a discount on GHO borrow rate","to":"to","tokens is not the same as staking them. If you wish to stake your":"tokens is not the same as staking them. If you wish to stake your","tokens, please go to the":"tokens, please go to the","withdrew":"withdrew","{0}":[["0"]],"{0} Balance":[["0"]," Balance"],"{0} Faucet":[["0"]," Faucet"],"{0} on-ramp service is provided by External Provider and by selecting you agree to Terms of the Provider. Your access to the service might be reliant on the External Provider being operational.":[["0"]," on-ramp service is provided by External Provider and by selecting you agree to Terms of the Provider. Your access to the service might be reliant on the External Provider being operational."],"{0}{name}":[["0"],["name"]],"{currentMethod}":[["currentMethod"]],"{d}d":[["d"],"d"],"{h}h":[["h"],"h"],"{m}m":[["m"],"m"],"{networkName} Faucet":[["networkName"]," Faucet"],"{notifyText}":[["notifyText"]],"{numSelected}/{numAvailable} assets selected":[["numSelected"],"/",["numAvailable"]," assets selected"],"{s}s":[["s"],"s"],"{title}":[["title"]],"{tooltipText}":[["tooltipText"]]}}; \ No newline at end of file diff --git a/src/locales/en/messages.po b/src/locales/en/messages.po index 6547d47c47..4b6caa03d1 100644 --- a/src/locales/en/messages.po +++ b/src/locales/en/messages.po @@ -608,8 +608,8 @@ msgid "Cannot disable E-Mode" msgstr "Cannot disable E-Mode" #: src/components/transactions/GovDelegation/GovDelegationModalContent.tsx -msgid "Choose how much voting/proposition power to give to someone else by delegating some of your AAVE or stkAAVE balance. Your tokens will remain in your account, but your delegate will be able to vote or propose on your behalf. If your AAVE or stkAAVE balance changes, your delegate's voting/proposition power will be automatically adjusted." -msgstr "Choose how much voting/proposition power to give to someone else by delegating some of your AAVE or stkAAVE balance. Your tokens will remain in your account, but your delegate will be able to vote or propose on your behalf. If your AAVE or stkAAVE balance changes, your delegate's voting/proposition power will be automatically adjusted." +msgid "Choose how much voting/proposition power to give to someone else by delegating some of your AAVE, stkAAVE or aAave balance. Your tokens will remain in your account, but your delegate will be able to vote or propose on your behalf. If your AAVE, stkAAVE or aAave balance changes, your delegate's voting/proposition power will be automatically adjusted." +msgstr "Choose how much voting/proposition power to give to someone else by delegating some of your AAVE, stkAAVE or aAave balance. Your tokens will remain in your account, but your delegate will be able to vote or propose on your behalf. If your AAVE, stkAAVE or aAave balance changes, your delegate's voting/proposition power will be automatically adjusted." #: src/modules/staking/BuyWithFiatModal.tsx msgid "Choose one of the on-ramp services" @@ -2667,8 +2667,8 @@ msgid "Use it to vote for or against active proposals." msgstr "Use it to vote for or against active proposals." #: src/modules/governance/DelegatedInfoPanel.tsx -msgid "Use your AAVE and stkAAVE balance to delegate your voting and proposition powers. You will not be sending any tokens, only the rights to vote and propose changes to the protocol. You can re-delegate or revoke power to self at any time." -msgstr "Use your AAVE and stkAAVE balance to delegate your voting and proposition powers. You will not be sending any tokens, only the rights to vote and propose changes to the protocol. You can re-delegate or revoke power to self at any time." +msgid "Use your AAVE, stkAAVE, or aAave balance to delegate your voting and proposition powers. You will not be sending any tokens, only the rights to vote and propose changes to the protocol. You can re-delegate or revoke power to self at any time." +msgstr "Use your AAVE, stkAAVE, or aAave balance to delegate your voting and proposition powers. You will not be sending any tokens, only the rights to vote and propose changes to the protocol. You can re-delegate or revoke power to self at any time." #: src/modules/dashboard/lists/SuppliedPositionsList/SuppliedPositionsListMobileItem.tsx msgid "Used as collateral" @@ -2971,8 +2971,8 @@ msgid "You don’t have enough funds in your wallet to repay the full amount. If msgstr "You don’t have enough funds in your wallet to repay the full amount. If you proceed to repay with your current amount of funds, you will still have a small borrowing position in your dashboard." #: src/modules/governance/DelegatedInfoPanel.tsx -msgid "You have no AAVE/stkAAVE balance to delegate." -msgstr "You have no AAVE/stkAAVE balance to delegate." +msgid "You have no AAVE/stkAAVE/aAave balance to delegate." +msgstr "You have no AAVE/stkAAVE/aAave balance to delegate." #: src/components/transactions/RateSwitch/RateSwitchModalContent.tsx msgid "You have not borrow yet using this currency" diff --git a/src/modules/governance/DelegatedInfoPanel.tsx b/src/modules/governance/DelegatedInfoPanel.tsx index 8d9c5cd87a..7907109e16 100644 --- a/src/modules/governance/DelegatedInfoPanel.tsx +++ b/src/modules/governance/DelegatedInfoPanel.tsx @@ -139,8 +139,8 @@ export const DelegatedInfoPanel = () => { - Use your AAVE and stkAAVE balance to delegate your voting and proposition powers. You - will not be sending any tokens, only the rights to vote and propose changes to the + Use your AAVE, stkAAVE, or aAave balance to delegate your voting and proposition powers. + You will not be sending any tokens, only the rights to vote and propose changes to the protocol. You can re-delegate or revoke power to self at any time. { {disableButton ? ( - You have no AAVE/stkAAVE balance to delegate. + You have no AAVE/stkAAVE/aAave balance to delegate. ) : ( <> diff --git a/src/modules/governance/VotingPowerInfoPanel.tsx b/src/modules/governance/VotingPowerInfoPanel.tsx index 108e4806c0..8d66dc1e4e 100644 --- a/src/modules/governance/VotingPowerInfoPanel.tsx +++ b/src/modules/governance/VotingPowerInfoPanel.tsx @@ -14,6 +14,7 @@ export function VotingPowerInfoPanel() { const user = useRootStore((store) => store.account); const currentMarketData = useRootStore((store) => store.currentMarketData); const { data: powers } = usePowers(currentMarketData); + console.log('powers', powers); return ( { - const { aaveTokenAddress, stkAaveTokenAddress } = governanceConfig; + const { aaveTokenAddress, stkAaveTokenAddress, aAaveTokenAddress } = governanceConfig; const aaveGovernanceService = this.getAaveGovernanceService(marketData); const [aaveTokenPower, stkAaveTokenPower] = await aaveGovernanceService.getTokensPower({ user: user, - tokens: [aaveTokenAddress, stkAaveTokenAddress], + tokens: [aaveTokenAddress, stkAaveTokenAddress, aAaveTokenAddress], }); + // todo setup powers for aAaveToken const powers = { votingPower: normalize( valueToBigNumber(aaveTokenPower.votingPower.toString()) .plus(stkAaveTokenPower.votingPower.toString()) + // .plust(aAaveTokenAddress.votingPower.toString()) .toString(), 18 ), diff --git a/src/ui-config/governanceConfig.ts b/src/ui-config/governanceConfig.ts index 3d400c3965..3c00971089 100644 --- a/src/ui-config/governanceConfig.ts +++ b/src/ui-config/governanceConfig.ts @@ -1,4 +1,5 @@ import { ChainId } from '@aave/contract-helpers'; +// import { AaveV3Ethereum } from '@bgd-labs/aave-address-book'; export interface GovernanceConfig { chainId: ChainId; @@ -29,9 +30,9 @@ export const governanceConfig: GovernanceConfig = { averageNetworkBlockTime: 13.5, queryGovernanceDataUrl: 'https://api.thegraph.com/subgraphs/name/aave/governance-v2', wsGovernanceDataUrl: 'wss://api.thegraph.com/subgraphs/name/aave/governance-v2', - aaveTokenAddress: '0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9', - aAaveTokenAddress: '0xDa5E8e1C3596D3Cc11a4dd5aD66b8f03B5410F8C', - stkAaveTokenAddress: '0x4da27a545c0c5b758a6ba100e3a049001de870f5', + aaveTokenAddress: '0xdaEcee477B931b209e8123401EA37582ACB3811d', // AaveV3Ethereum.ASSETS.AAVE.UNDERLYING, + aAaveTokenAddress: '0x26aAB2aE39897338c2d91491C46c14a8c2a67919', // AaveV3Ethereum.ASSETS.AAVE.A_TOKEN, + stkAaveTokenAddress: '0x354032B31339853A3D682613749F183328d07275', // '0x4da27a545c0c5b758a6ba100e3a049001de870f5', governanceForumLink: 'https://governance.aave.com', governanceFAQLink: 'https://docs.aave.com/faq/governance', walletBalanceProvider: '0x8E8dAd5409E0263a51C0aB5055dA66Be28cFF922', @@ -40,7 +41,7 @@ export const governanceConfig: GovernanceConfig = { AAVE_GOVERNANCE_V2: '0xEC568fffba86c094cf06b22134B23074DFE2252c', AAVE_GOVERNANCE_V2_EXECUTOR_SHORT: '0x61910EcD7e8e942136CE7Fe7943f956cea1CC2f7', AAVE_GOVERNANCE_V2_EXECUTOR_LONG: '0xEE56e2B3D491590B5b31738cC34d5232F378a8D5', - AAVE_GOVERNANCE_V2_HELPER: '0xBb7baf0534423e3108E1D03c259104cDba2C1cB7', + AAVE_GOVERNANCE_V2_HELPER: '0x78b04AD18d76B6E2F41C84af4C4C5C5c61b60a10', // '0xBb7baf0534423e3108E1D03c259104cDba2C1cB7', }, ipfsGateway: 'https://cloudflare-ipfs.com/ipfs', fallbackIpfsGateway: 'https://ipfs.io/ipfs', From 4bff116e0ec2e595f882ea023e52d168dc9b7e88 Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Tue, 19 Dec 2023 12:12:08 -0600 Subject: [PATCH 37/84] feat: get voting powers at blockhash --- package.json | 2 +- src/hooks/governance/useVotingPowerAt.ts | 9 ++++---- src/services/GovernanceV3Service.ts | 26 ++++++++++++++++++++++++ src/ui-config/queries.ts | 12 +++-------- yarn.lock | 8 ++++---- 5 files changed, 38 insertions(+), 19 deletions(-) diff --git a/package.json b/package.json index 38c5355fbe..de5363d0d6 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "test:coverage": "jest --coverage" }, "dependencies": { - "@aave/contract-helpers": "1.21.2-d0266e10411329ea9ae0ad5e4793c390d5eca701.0", + "@aave/contract-helpers": "1.21.2-69530bfb4329c0af9a5f9f3663950c956a53230f.0", "@aave/math-utils": "1.21.1", "@bgd-labs/aave-address-book": "^2.10.0", "@emotion/cache": "11.10.3", diff --git a/src/hooks/governance/useVotingPowerAt.ts b/src/hooks/governance/useVotingPowerAt.ts index 2649c5247b..733083bf8c 100644 --- a/src/hooks/governance/useVotingPowerAt.ts +++ b/src/hooks/governance/useVotingPowerAt.ts @@ -1,15 +1,14 @@ import { useQuery } from '@tanstack/react-query'; import { useRootStore } from 'src/store/root'; -import { MarketDataType } from 'src/ui-config/marketsConfig'; import { queryKeysFactory } from 'src/ui-config/queries'; import { useSharedDependencies } from 'src/ui-config/SharedDependenciesProvider'; -export const useVotingPowerAt = (marketData: MarketDataType, strategy: string, block: number) => { - const { governanceService } = useSharedDependencies(); +export const useVotingPowerAt = (blockhash: string, votingAssets: string[]) => { + const { governanceV3Service } = useSharedDependencies(); const user = useRootStore((store) => store.account); return useQuery({ - queryFn: () => governanceService.getVotingPowerAt(marketData, user, strategy, block), - queryKey: queryKeysFactory.votingPowerAt(user, strategy, block, marketData), + queryFn: () => governanceV3Service.getVotingPowerAt(blockhash, user, votingAssets), + queryKey: queryKeysFactory.votingPowerAt(user, blockhash, votingAssets), enabled: !!user, }); }; diff --git a/src/services/GovernanceV3Service.ts b/src/services/GovernanceV3Service.ts index 163753854a..86b9035951 100644 --- a/src/services/GovernanceV3Service.ts +++ b/src/services/GovernanceV3Service.ts @@ -1,8 +1,10 @@ import { + AaveTokenV3Service, AccessLevel, ChainId, GovernanceCoreService, GovernanceDataHelperService, + GovernancePowerType, } from '@aave/contract-helpers'; import { governanceV3Config, votingChainIds } from 'src/ui-config/governanceConfig'; import { getProvider } from 'src/utils/marketsAndNetworksConfig'; @@ -63,4 +65,28 @@ export class GovernanceV3Service { const coreService = this.getCoreService(); return coreService.updateRepresentativesForChain(user, representatives); } + + async getVotingPowerAt(blockHash: string, user: string, votingAssets: string[]) { + const provider = getProvider(governanceV3Config.coreChainId); + const block = await provider.getBlock(blockHash); + console.log('current block', block); + + const tokenServices = votingAssets.map((token) => { + return { + asset: token, + service: new AaveTokenV3Service(token, provider), + }; + }); + + const tokenPowerMap: { [token: string]: string } = {}; + await Promise.all( + tokenServices.map(async (s) => { + const power = await s.service.getPowerAt(block.number, user, GovernancePowerType.VOTING); + tokenPowerMap[s.asset.toLowerCase()] = power.toString(); + }) + ); + + console.log('powers', tokenPowerMap); + return tokenPowerMap; + } } diff --git a/src/ui-config/queries.ts b/src/ui-config/queries.ts index 9d6694bb74..ecc3ad1737 100644 --- a/src/ui-config/queries.ts +++ b/src/ui-config/queries.ts @@ -25,17 +25,11 @@ export const queryKeysFactory = { proposalId, 'voteOnProposal', ], - votingPowerAt: ( - user: string, - strategy: string, - blockNumber: number, - marketData: MarketDataType - ) => [ + votingPowerAt: (user: string, blockHash: string, votingAssets: string[]) => [ ...queryKeysFactory.governance, ...queryKeysFactory.user(user), - ...queryKeysFactory.market(marketData), - strategy, - blockNumber, + ...votingAssets, + blockHash, 'votingPowerAt', ], governanceRepresentatives: (user: string) => [ diff --git a/yarn.lock b/yarn.lock index 86830d7993..44ad1f0390 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,10 +2,10 @@ # yarn lockfile v1 -"@aave/contract-helpers@1.21.2-d0266e10411329ea9ae0ad5e4793c390d5eca701.0": - version "1.21.2-d0266e10411329ea9ae0ad5e4793c390d5eca701.0" - resolved "https://registry.yarnpkg.com/@aave/contract-helpers/-/contract-helpers-1.21.2-d0266e10411329ea9ae0ad5e4793c390d5eca701.0.tgz#35a93469d4c567e81d2fd04bc31a32f2908dcfe0" - integrity sha512-BzU3aW98cnd6Hxetk6nV4nwBgNavZs5kueoRkPJ5ZqwcqrZOj+9xD4fAFXqazh5ynf62LlpYvQxQsLq50IJSnw== +"@aave/contract-helpers@1.21.2-69530bfb4329c0af9a5f9f3663950c956a53230f.0": + version "1.21.2-69530bfb4329c0af9a5f9f3663950c956a53230f.0" + resolved "https://registry.yarnpkg.com/@aave/contract-helpers/-/contract-helpers-1.21.2-69530bfb4329c0af9a5f9f3663950c956a53230f.0.tgz#34f6dd5ed13e5c6f7e85e7470371f86b386157ee" + integrity sha512-EMK/Wz+3UZ+RumAih+H0TzD+JlylIAAyyi7MF/lhO9Oi+1Ft3lGb8SvpD9KL2XSdegBtT3pd0APExToR/tj9mw== dependencies: isomorphic-unfetch "^3.1.0" From cb74b7d2758bc9367457f268b41fc7c505998f40 Mon Sep 17 00:00:00 2001 From: Mark Hinschberger Date: Tue, 19 Dec 2023 19:49:13 -0500 Subject: [PATCH 38/84] chore: testing powers --- .../GovDelegationModalContent.tsx | 1 + src/locales/en/messages.js | 2 +- src/locales/en/messages.po | 5 ++- .../governance/VotingPowerInfoPanel.tsx | 3 +- src/services/GovernanceService.ts | 34 ++++++++++++++++--- src/ui-config/governanceConfig.ts | 6 ++-- 6 files changed, 40 insertions(+), 11 deletions(-) diff --git a/src/components/transactions/GovDelegation/GovDelegationModalContent.tsx b/src/components/transactions/GovDelegation/GovDelegationModalContent.tsx index 44bd7c247a..8be3cd4385 100644 --- a/src/components/transactions/GovDelegation/GovDelegationModalContent.tsx +++ b/src/components/transactions/GovDelegation/GovDelegationModalContent.tsx @@ -131,6 +131,7 @@ export const GovDelegationModalContent: React.FC if (txState.success) refetch(); }, [txState.success, refetch]); + console.log('whats the powers', powers); // is Network mismatched const govChain = currentNetworkConfig.isFork && diff --git a/src/locales/en/messages.js b/src/locales/en/messages.js index 554d40577e..12ed1ad382 100644 --- a/src/locales/en/messages.js +++ b/src/locales/en/messages.js @@ -1 +1 @@ -/*eslint-disable*/module.exports={messages:{"...":"...",".CSV":".CSV",".JSON":".JSON","<0><1><2/>Add <3/> stkAAVE to borrow at <4/> (max discount)":"<0><1><2/>Add <3/> stkAAVE to borrow at <4/> (max discount)","<0><1><2/>Add stkAAVE to see borrow rate with discount":"<0><1><2/>Add stkAAVE to see borrow rate with discount","<0>Ampleforth is a rebasing asset. Visit the <1>documentation to learn more.":"<0>Ampleforth is a rebasing asset. Visit the <1>documentation to learn more.","<0>Attention: Parameter changes via governance can alter your account health factor and risk of liquidation. Follow the <1>Aave governance forum for updates.":"<0>Attention: Parameter changes via governance can alter your account health factor and risk of liquidation. Follow the <1>Aave governance forum for updates.","<0>Slippage tolerance <1>{selectedSlippage}% <2>{0}":["<0>Slippage tolerance <1>",["selectedSlippage"],"% <2>",["0"],""],"AAVE holders (Ethereum network only) can stake their AAVE in the Safety Module to add more security to the protocol and earn Safety Incentives. In the case of a shortfall event, up to 30% of your stake can be slashed to cover the deficit, providing an additional layer of protection for the protocol.":"AAVE holders (Ethereum network only) can stake their AAVE in the Safety Module to add more security to the protocol and earn Safety Incentives. In the case of a shortfall event, up to 30% of your stake can be slashed to cover the deficit, providing an additional layer of protection for the protocol.","APR":"APR","APY":"APY","APY change":"APY change","APY type":"APY type","APY type change":"APY type change","APY with discount applied":"APY with discount applied","APY, borrow rate":"APY, borrow rate","APY, stable":"APY, stable","APY, variable":"APY, variable","AToken supply is not zero":"AToken supply is not zero","Aave Governance":"Aave Governance","Aave aToken":"Aave aToken","Aave debt token":"Aave debt token","Aave is a fully decentralized, community governed protocol by the AAVE token-holders. AAVE token-holders collectively discuss, propose, and vote on upgrades to the protocol. AAVE token-holders (Ethereum network only) can either vote themselves on new proposals or delagate to an address of choice. To learn more check out the Governance":"Aave is a fully decentralized, community governed protocol by the AAVE token-holders. AAVE token-holders collectively discuss, propose, and vote on upgrades to the protocol. AAVE token-holders (Ethereum network only) can either vote themselves on new proposals or delagate to an address of choice. To learn more check out the Governance","Aave per month":"Aave per month","About GHO":"About GHO","Account":"Account","Action cannot be performed because the reserve is frozen":"Action cannot be performed because the reserve is frozen","Action cannot be performed because the reserve is paused":"Action cannot be performed because the reserve is paused","Action requires an active reserve":"Action requires an active reserve","Activate Cooldown":"Activate Cooldown","Add stkAAVE to see borrow APY with the discount":"Add stkAAVE to see borrow APY with the discount","Add to wallet":"Add to wallet","Add {0} to wallet to track your balance.":["Add ",["0"]," to wallet to track your balance."],"Address is not a contract":"Address is not a contract","Addresses":"Addresses","Addresses ({0})":["Addresses (",["0"],")"],"All Assets":"All Assets","All done!":"All done!","All proposals":"All proposals","All transactions":"All transactions","Allowance required action":"Allowance required action","Allows you to decide whether to use a supplied asset as collateral. An asset used as collateral will affect your borrowing power and health factor.":"Allows you to decide whether to use a supplied asset as collateral. An asset used as collateral will affect your borrowing power and health factor.","Allows you to switch between <0>variable and <1>stable interest rates, where variable rate can increase and decrease depending on the amount of liquidity in the reserve, and stable rate will stay the same for the duration of your loan.":"Allows you to switch between <0>variable and <1>stable interest rates, where variable rate can increase and decrease depending on the amount of liquidity in the reserve, and stable rate will stay the same for the duration of your loan.","Amount":"Amount","Amount claimable":"Amount claimable","Amount in cooldown":"Amount in cooldown","Amount must be greater than 0":"Amount must be greater than 0","Amount to unstake":"Amount to unstake","An error has occurred fetching the proposal.":"An error has occurred fetching the proposal.","Approve Confirmed":"Approve Confirmed","Approve with":"Approve with","Approve {symbol} to continue":["Approve ",["symbol"]," to continue"],"Approving {symbol}...":["Approving ",["symbol"],"..."],"Array parameters that should be equal length are not":"Array parameters that should be equal length are not","Asset":"Asset","Asset can be only used as collateral in isolation mode with limited borrowing power. To enter isolation mode, disable all other collateral.":"Asset can be only used as collateral in isolation mode with limited borrowing power. To enter isolation mode, disable all other collateral.","Asset can only be used as collateral in isolation mode only.":"Asset can only be used as collateral in isolation mode only.","Asset cannot be migrated because you have isolated collateral in {marketName} v3 Market which limits borrowable assets. You can manage your collateral in <0>{marketName} V3 Dashboard":["Asset cannot be migrated because you have isolated collateral in ",["marketName"]," v3 Market which limits borrowable assets. You can manage your collateral in <0>",["marketName"]," V3 Dashboard"],"Asset cannot be migrated due to insufficient liquidity or borrow cap limitation in {marketName} v3 market.":["Asset cannot be migrated due to insufficient liquidity or borrow cap limitation in ",["marketName"]," v3 market."],"Asset cannot be migrated due to supply cap restriction in {marketName} v3 market.":["Asset cannot be migrated due to supply cap restriction in ",["marketName"]," v3 market."],"Asset cannot be migrated to {marketName} V3 Market due to E-mode restrictions. You can disable or manage E-mode categories in your <0>V3 Dashboard":["Asset cannot be migrated to ",["marketName"]," V3 Market due to E-mode restrictions. You can disable or manage E-mode categories in your <0>V3 Dashboard"],"Asset cannot be migrated to {marketName} v3 Market since collateral asset will enable isolation mode.":["Asset cannot be migrated to ",["marketName"]," v3 Market since collateral asset will enable isolation mode."],"Asset cannot be used as collateral.":"Asset cannot be used as collateral.","Asset category":"Asset category","Asset is frozen in {marketName} v3 market, hence this position cannot be migrated.":["Asset is frozen in ",["marketName"]," v3 market, hence this position cannot be migrated."],"Asset is not borrowable in isolation mode":"Asset is not borrowable in isolation mode","Asset is not listed":"Asset is not listed","Asset supply is limited to a certain amount to reduce protocol exposure to the asset and to help manage risks involved.":"Asset supply is limited to a certain amount to reduce protocol exposure to the asset and to help manage risks involved.","Assets":"Assets","Assets to borrow":"Assets to borrow","Assets to supply":"Assets to supply","Assets with zero LTV ({assetsBlockingWithdraw}) must be withdrawn or disabled as collateral to perform this action":["Assets with zero LTV (",["assetsBlockingWithdraw"],") must be withdrawn or disabled as collateral to perform this action"],"At a discount":"At a discount","Available":"Available","Available assets":"Available assets","Available liquidity":"Available liquidity","Available on":"Available on","Available rewards":"Available rewards","Available to borrow":"Available to borrow","Available to supply":"Available to supply","Back to Dashboard":"Back to Dashboard","Balance":"Balance","Balance to revoke":"Balance to revoke","Be careful - You are very close to liquidation. Consider depositing more collateral or paying down some of your borrowed positions":"Be careful - You are very close to liquidation. Consider depositing more collateral or paying down some of your borrowed positions","Be mindful of the network congestion and gas prices.":"Be mindful of the network congestion and gas prices.","Because this asset is paused, no actions can be taken until further notice":"Because this asset is paused, no actions can be taken until further notice","Before supplying":"Before supplying","Blocked Address":"Blocked Address","Borrow":"Borrow","Borrow APY":"Borrow APY","Borrow APY rate":"Borrow APY rate","Borrow APY, variable":"Borrow APY, variable","Borrow amount to reach {0}% utilization":["Borrow amount to reach ",["0"],"% utilization"],"Borrow and repay in same block is not allowed":"Borrow and repay in same block is not allowed","Borrow apy":"Borrow apy","Borrow balance":"Borrow balance","Borrow balance after repay":"Borrow balance after repay","Borrow balance after switch":"Borrow balance after switch","Borrow cap":"Borrow cap","Borrow cap is exceeded":"Borrow cap is exceeded","Borrow info":"Borrow info","Borrow power used":"Borrow power used","Borrow rate APY":"Borrow rate APY","Borrow rate change":"Borrow rate change","Borrow {symbol}":["Borrow ",["symbol"]],"Borrowed":"Borrowed","Borrowed asset amount":"Borrowed asset amount","Borrowing is currently unavailable for {0}.":["Borrowing is currently unavailable for ",["0"],"."],"Borrowing is disabled due to an Aave community decision. <0>More details":"Borrowing is disabled due to an Aave community decision. <0>More details","Borrowing is not enabled":"Borrowing is not enabled","Borrowing is unavailable because you’re using Isolation mode. To manage Isolation mode visit your <0>Dashboard.":"Borrowing is unavailable because you’re using Isolation mode. To manage Isolation mode visit your <0>Dashboard.","Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) and Isolation mode. To manage E-Mode and Isolation mode visit your <0>Dashboard.":"Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) and Isolation mode. To manage E-Mode and Isolation mode visit your <0>Dashboard.","Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) for {0} category. To manage E-Mode categories visit your <0>Dashboard.":["Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) for ",["0"]," category. To manage E-Mode categories visit your <0>Dashboard."],"Borrowing of this asset is limited to a certain amount to minimize liquidity pool insolvency.":"Borrowing of this asset is limited to a certain amount to minimize liquidity pool insolvency.","Borrowing power and assets are limited due to Isolation mode.":"Borrowing power and assets are limited due to Isolation mode.","Borrowing this amount will reduce your health factor and increase risk of liquidation.":"Borrowing this amount will reduce your health factor and increase risk of liquidation.","Borrowing {symbol}":["Borrowing ",["symbol"]],"Both":"Both","Buy Crypto With Fiat":"Buy Crypto With Fiat","Buy Crypto with Fiat":"Buy Crypto with Fiat","Buy {cryptoSymbol} with Fiat":["Buy ",["cryptoSymbol"]," with Fiat"],"COPIED!":"COPIED!","COPY IMAGE":"COPY IMAGE","Can be collateral":"Can be collateral","Can be executed":"Can be executed","Can't validate the wallet address. Try again.":"Can't validate the wallet address. Try again.","Cancel":"Cancel","Cannot disable E-Mode":"Cannot disable E-Mode","Choose how much voting/proposition power to give to someone else by delegating some of your AAVE, stkAAVE or aAave balance. Your tokens will remain in your account, but your delegate will be able to vote or propose on your behalf. If your AAVE, stkAAVE or aAave balance changes, your delegate's voting/proposition power will be automatically adjusted.":"Choose how much voting/proposition power to give to someone else by delegating some of your AAVE, stkAAVE or aAave balance. Your tokens will remain in your account, but your delegate will be able to vote or propose on your behalf. If your AAVE, stkAAVE or aAave balance changes, your delegate's voting/proposition power will be automatically adjusted.","Choose one of the on-ramp services":"Choose one of the on-ramp services","Claim":"Claim","Claim all":"Claim all","Claim all rewards":"Claim all rewards","Claim {0}":["Claim ",["0"]],"Claim {symbol}":["Claim ",["symbol"]],"Claimable AAVE":"Claimable AAVE","Claimed":"Claimed","Claiming":"Claiming","Claiming {symbol}":["Claiming ",["symbol"]],"Close":"Close","Collateral":"Collateral","Collateral balance after repay":"Collateral balance after repay","Collateral change":"Collateral change","Collateral is (mostly) the same currency that is being borrowed":"Collateral is (mostly) the same currency that is being borrowed","Collateral to repay with":"Collateral to repay with","Collateral usage":"Collateral usage","Collateral usage is limited because of Isolation mode.":"Collateral usage is limited because of Isolation mode.","Collateral usage is limited because of isolation mode.":"Collateral usage is limited because of isolation mode.","Collateral usage is limited because of isolation mode. <0>Learn More":"Collateral usage is limited because of isolation mode. <0>Learn More","Collateralization":"Collateralization","Collector Contract":"Collector Contract","Collector Info":"Collector Info","Confirm transaction":"Confirm transaction","Confirming transaction":"Confirming transaction","Connect":"Connect","Connect wallet":"Connect wallet","Cooldown period":"Cooldown period","Cooldown period warning":"Cooldown period warning","Cooldown time left":"Cooldown time left","Cooldown to unstake":"Cooldown to unstake","Cooling down...":"Cooling down...","Copy address":"Copy address","Copy error message":"Copy error message","Copy error text":"Copy error text","Covered debt":"Covered debt","Current LTV":"Current LTV","Current differential":"Current differential","Current v2 Balance":"Current v2 Balance","Current v2 balance":"Current v2 balance","Current votes":"Current votes","Dark mode":"Dark mode","Dashboard":"Dashboard","Data couldn't be fetched, please reload graph.":"Data couldn't be fetched, please reload graph.","Debt":"Debt","Debt ceiling is exceeded":"Debt ceiling is exceeded","Debt ceiling is not zero":"Debt ceiling is not zero","Debt ceiling limits the amount possible to borrow against this asset by protocol users. Debt ceiling is specific to assets in isolation mode and is denoted in USD.":"Debt ceiling limits the amount possible to borrow against this asset by protocol users. Debt ceiling is specific to assets in isolation mode and is denoted in USD.","Delegated power":"Delegated power","Details":"Details","Developers":"Developers","Differential":"Differential","Disable E-Mode":"Disable E-Mode","Disable testnet":"Disable testnet","Disable {symbol} as collateral":["Disable ",["symbol"]," as collateral"],"Disabled":"Disabled","Disabling E-Mode":"Disabling E-Mode","Disabling this asset as collateral affects your borrowing power and Health Factor.":"Disabling this asset as collateral affects your borrowing power and Health Factor.","Disconnect Wallet":"Disconnect Wallet","Discord channel":"Discord channel","Discount":"Discount","Discount applied for <0/> staking AAVE":"Discount applied for <0/> staking AAVE","Discount model parameters":"Discount model parameters","Discount parameters are decided by the Aave community and may be changed over time. Check Governance for updates and vote to participate. <0>Learn more":"Discount parameters are decided by the Aave community and may be changed over time. Check Governance for updates and vote to participate. <0>Learn more","Discountable amount":"Discountable amount","Docs":"Docs","Download":"Download","Due to internal stETH mechanics required for rebasing support, it is not possible to perform a collateral switch where stETH is the source token.":"Due to internal stETH mechanics required for rebasing support, it is not possible to perform a collateral switch where stETH is the source token.","Due to the Horizon bridge exploit, certain assets on the Harmony network are not at parity with Ethereum, which affects the Aave V3 Harmony market.":"Due to the Horizon bridge exploit, certain assets on the Harmony network are not at parity with Ethereum, which affects the Aave V3 Harmony market.","E-Mode":"E-Mode","E-Mode Category":"E-Mode Category","E-Mode category":"E-Mode category","E-Mode increases your LTV for a selected category of assets up to 97%. <0>Learn more":"E-Mode increases your LTV for a selected category of assets up to 97%. <0>Learn more","E-Mode increases your LTV for a selected category of assets up to<0/>. <1>Learn more":"E-Mode increases your LTV for a selected category of assets up to<0/>. <1>Learn more","E-Mode increases your LTV for a selected category of assets, meaning that when E-mode is enabled, you will have higher borrowing power over assets of the same E-mode category which are defined by Aave Governance. You can enter E-Mode from your <0>Dashboard. To learn more about E-Mode and applied restrictions in <1>FAQ or <2>Aave V3 Technical Paper.":"E-Mode increases your LTV for a selected category of assets, meaning that when E-mode is enabled, you will have higher borrowing power over assets of the same E-mode category which are defined by Aave Governance. You can enter E-Mode from your <0>Dashboard. To learn more about E-Mode and applied restrictions in <1>FAQ or <2>Aave V3 Technical Paper.","Edit":"Edit","Effective interest rate":"Effective interest rate","Efficiency mode (E-Mode)":"Efficiency mode (E-Mode)","Emode":"Emode","Enable E-Mode":"Enable E-Mode","Enable {symbol} as collateral":["Enable ",["symbol"]," as collateral"],"Enabled":"Enabled","Enabling E-Mode":"Enabling E-Mode","Enabling E-Mode only allows you to borrow assets belonging to the selected category. Please visit our <0>FAQ guide to learn more about how it works and the applied restrictions.":"Enabling E-Mode only allows you to borrow assets belonging to the selected category. Please visit our <0>FAQ guide to learn more about how it works and the applied restrictions.","Enabling this asset as collateral increases your borrowing power and Health Factor. However, it can get liquidated if your health factor drops below 1.":"Enabling this asset as collateral increases your borrowing power and Health Factor. However, it can get liquidated if your health factor drops below 1.","English":"English","Enter ETH address":"Enter ETH address","Enter an amount":"Enter an amount","Error connecting. Try refreshing the page.":"Error connecting. Try refreshing the page.","Estimated compounding interest, including discount for Staking {0}AAVE in Safety Module.":["Estimated compounding interest, including discount for Staking ",["0"],"AAVE in Safety Module."],"Exceeds the discount":"Exceeds the discount","Expected amount to repay":"Expected amount to repay","Expires":"Expires","Export data to":"Export data to","FAQ":"FAQ","FAQS":"FAQS","Failed to load proposal voters. Please refresh the page.":"Failed to load proposal voters. Please refresh the page.","Faucet":"Faucet","Faucet {0}":["Faucet ",["0"]],"Fetching data...":"Fetching data...","Filter":"Filter","Fixed":"Fixed","Fixed rate":"Fixed rate","Flashloan is disabled for this asset, hence this position cannot be migrated.":"Flashloan is disabled for this asset, hence this position cannot be migrated.","For repayment of a specific type of debt, the user needs to have debt that type":"For repayment of a specific type of debt, the user needs to have debt that type","French":"French","Funds in the Safety Module":"Funds in the Safety Module","GHO is a native decentralized, collateral-backed digital asset pegged to USD. It is created by users via borrowing against multiple collateral. When user repays their GHO borrow position, the protocol burns that user's GHO. All the interest payments accrued by minters of GHO would be directly transferred to the AaveDAO treasury.":"GHO is a native decentralized, collateral-backed digital asset pegged to USD. It is created by users via borrowing against multiple collateral. When user repays their GHO borrow position, the protocol burns that user's GHO. All the interest payments accrued by minters of GHO would be directly transferred to the AaveDAO treasury.","Get ABP Token":"Get ABP Token","Global settings":"Global settings","Go Back":"Go Back","Go to Balancer Pool":"Go to Balancer Pool","Go to V3 Dashboard":"Go to V3 Dashboard","Governance":"Governance","Greek":"Greek","Health Factor ({0} v2)":["Health Factor (",["0"]," v2)"],"Health Factor ({0} v3)":["Health Factor (",["0"]," v3)"],"Health factor":"Health factor","Health factor is lesser than the liquidation threshold":"Health factor is lesser than the liquidation threshold","Health factor is not below the threshold":"Health factor is not below the threshold","Hide":"Hide","Holders of stkAAVE receive a discount on the GHO borrowing rate":"Holders of stkAAVE receive a discount on the GHO borrowing rate","I acknowledge the risks involved.":"I acknowledge the risks involved.","I fully understand the risks of migrating.":"I fully understand the risks of migrating.","I understand how cooldown ({0}) and unstaking ({1}) work":["I understand how cooldown (",["0"],") and unstaking (",["1"],") work"],"If the error continues to happen,<0/> you may report it to this":"If the error continues to happen,<0/> you may report it to this","If the health factor goes below 1, the liquidation of your collateral might be triggered.":"If the health factor goes below 1, the liquidation of your collateral might be triggered.","If you DO NOT unstake within {0} of unstake window, you will need to activate cooldown process again.":["If you DO NOT unstake within ",["0"]," of unstake window, you will need to activate cooldown process again."],"If your loan to value goes above the liquidation threshold your collateral supplied may be liquidated.":"If your loan to value goes above the liquidation threshold your collateral supplied may be liquidated.","In E-Mode some assets are not borrowable. Exit E-Mode to get access to all assets":"In E-Mode some assets are not borrowable. Exit E-Mode to get access to all assets","In Isolation mode, you cannot supply other assets as collateral. A global debt ceiling limits the borrowing power of the isolated asset. To exit isolation mode disable {0} as collateral before borrowing another asset. Read more in our <0>FAQ":["In Isolation mode, you cannot supply other assets as collateral. A global debt ceiling limits the borrowing power of the isolated asset. To exit isolation mode disable ",["0"]," as collateral before borrowing another asset. Read more in our <0>FAQ"],"Inconsistent flashloan parameters":"Inconsistent flashloan parameters","Insufficient collateral to cover new borrow position. Wallet must have borrowing power remaining to perform debt switch.":"Insufficient collateral to cover new borrow position. Wallet must have borrowing power remaining to perform debt switch.","Interest accrued":"Interest accrued","Interest rate rebalance conditions were not met":"Interest rate rebalance conditions were not met","Interest rate strategy":"Interest rate strategy","Interest rate that is determined by Aave Governance. This rate may be changed over time depending on the need for the GHO supply to contract/expand. <0>Learn more":"Interest rate that is determined by Aave Governance. This rate may be changed over time depending on the need for the GHO supply to contract/expand. <0>Learn more","Invalid amount to burn":"Invalid amount to burn","Invalid amount to mint":"Invalid amount to mint","Invalid bridge protocol fee":"Invalid bridge protocol fee","Invalid expiration":"Invalid expiration","Invalid flashloan premium":"Invalid flashloan premium","Invalid return value of the flashloan executor function":"Invalid return value of the flashloan executor function","Invalid signature":"Invalid signature","Isolated":"Isolated","Isolated Debt Ceiling":"Isolated Debt Ceiling","Isolated assets have limited borrowing power and other assets cannot be used as collateral.":"Isolated assets have limited borrowing power and other assets cannot be used as collateral.","Join the community discussion":"Join the community discussion","LEARN MORE":"LEARN MORE","Language":"Language","Learn more":"Learn more","Learn more about risks involved":"Learn more about risks involved","Learn more in our <0>FAQ guide":"Learn more in our <0>FAQ guide","Learn more.":"Learn more.","Linked addresses":"Linked addresses","Links":"Links","Liqudation":"Liqudation","Liquidated collateral":"Liquidated collateral","Liquidation":"Liquidation","Liquidation <0/> threshold":"Liquidation <0/> threshold","Liquidation Threshold":"Liquidation Threshold","Liquidation at":"Liquidation at","Liquidation penalty":"Liquidation penalty","Liquidation risk":"Liquidation risk","Liquidation risk parameters":"Liquidation risk parameters","Liquidation threshold":"Liquidation threshold","Liquidation value":"Liquidation value","Loading data...":"Loading data...","Ltv validation failed":"Ltv validation failed","MAI has been paused due to a community decision. Supply, borrows and repays are impacted. <0>More details":"MAI has been paused due to a community decision. Supply, borrows and repays are impacted. <0>More details","MAX":"MAX","Manage analytics":"Manage analytics","Market":"Market","Markets":"Markets","Max":"Max","Max LTV":"Max LTV","Max slashing":"Max slashing","Max slippage":"Max slippage","Maximum amount available to borrow against this asset is limited because debt ceiling is at {0}%.":["Maximum amount available to borrow against this asset is limited because debt ceiling is at ",["0"],"%."],"Maximum amount available to borrow is <0/> {0} (<1/>).":["Maximum amount available to borrow is <0/> ",["0"]," (<1/>)."],"Maximum amount available to borrow is limited because protocol borrow cap is nearly reached.":"Maximum amount available to borrow is limited because protocol borrow cap is nearly reached.","Maximum amount available to supply is <0/> {0} (<1/>).":["Maximum amount available to supply is <0/> ",["0"]," (<1/>)."],"Maximum amount available to supply is limited because protocol supply cap is at {0}%.":["Maximum amount available to supply is limited because protocol supply cap is at ",["0"],"%."],"Maximum loan to value":"Maximum loan to value","Meet GHO":"Meet GHO","Menu":"Menu","Migrate":"Migrate","Migrate to V3":"Migrate to V3","Migrate to v3":"Migrate to v3","Migrate to {0} v3 Market":["Migrate to ",["0"]," v3 Market"],"Migrated":"Migrated","Migrating":"Migrating","Migrating multiple collaterals and borrowed assets at the same time can be an expensive operation and might fail in certain situations.<0>Therefore it’s not recommended to migrate positions with more than 5 assets (deposited + borrowed) at the same time.":"Migrating multiple collaterals and borrowed assets at the same time can be an expensive operation and might fail in certain situations.<0>Therefore it’s not recommended to migrate positions with more than 5 assets (deposited + borrowed) at the same time.","Migration risks":"Migration risks","Minimum GHO borrow amount":"Minimum GHO borrow amount","Minimum USD value received":"Minimum USD value received","Minimum staked Aave amount":"Minimum staked Aave amount","Minimum {0} received":["Minimum ",["0"]," received"],"More":"More","NAY":"NAY","Need help connecting a wallet? <0>Read our FAQ":"Need help connecting a wallet? <0>Read our FAQ","Net APR":"Net APR","Net APY":"Net APY","Net APY is the combined effect of all supply and borrow positions on net worth, including incentives. It is possible to have a negative net APY if debt APY is higher than supply APY.":"Net APY is the combined effect of all supply and borrow positions on net worth, including incentives. It is possible to have a negative net APY if debt APY is higher than supply APY.","Net worth":"Net worth","Network":"Network","Network not supported for this wallet":"Network not supported for this wallet","New APY":"New APY","No assets selected to migrate.":"No assets selected to migrate.","No rewards to claim":"No rewards to claim","No search results{0}":["No search results",["0"]],"No transactions yet.":"No transactions yet.","No voting power":"No voting power","None":"None","Not a valid address":"Not a valid address","Not enough balance on your wallet":"Not enough balance on your wallet","Not enough collateral to repay this amount of debt with":"Not enough collateral to repay this amount of debt with","Not enough staked balance":"Not enough staked balance","Not enough voting power to participate in this proposal":"Not enough voting power to participate in this proposal","Not reached":"Not reached","Nothing borrowed yet":"Nothing borrowed yet","Nothing found":"Nothing found","Nothing staked":"Nothing staked","Nothing supplied yet":"Nothing supplied yet","Notify":"Notify","Ok, Close":"Ok, Close","Ok, I got it":"Ok, I got it","Operation not supported":"Operation not supported","Oracle price":"Oracle price","Overview":"Overview","Page not found":"Page not found","Participating in this {symbol} reserve gives annualized rewards.":["Participating in this ",["symbol"]," reserve gives annualized rewards."],"Pending...":"Pending...","Per the community, the Fantom market has been frozen.":"Per the community, the Fantom market has been frozen.","Per the community, the V2 AMM market has been deprecated.":"Per the community, the V2 AMM market has been deprecated.","Please always be aware of your <0>Health Factor (HF) when partially migrating a position and that your rates will be updated to V3 rates.":"Please always be aware of your <0>Health Factor (HF) when partially migrating a position and that your rates will be updated to V3 rates.","Please connect a wallet to view your personal information here.":"Please connect a wallet to view your personal information here.","Please connect your wallet to be able to switch your tokens.":"Please connect your wallet to be able to switch your tokens.","Please connect your wallet to get free testnet assets.":"Please connect your wallet to get free testnet assets.","Please connect your wallet to see migration tool.":"Please connect your wallet to see migration tool.","Please connect your wallet to see your supplies, borrowings, and open positions.":"Please connect your wallet to see your supplies, borrowings, and open positions.","Please connect your wallet to view transaction history.":"Please connect your wallet to view transaction history.","Please enter a valid wallet address.":"Please enter a valid wallet address.","Please switch to {networkName}.":["Please switch to ",["networkName"],"."],"Please, connect your wallet":"Please, connect your wallet","Pool addresses provider is not registered":"Pool addresses provider is not registered","Powered by":"Powered by","Preview tx and migrate":"Preview tx and migrate","Price":"Price","Price data is not currently available for this reserve on the protocol subgraph":"Price data is not currently available for this reserve on the protocol subgraph","Price impact":"Price impact","Price impact is the spread between the total value of the entry tokens switched and the destination tokens obtained (in USD), which results from the limited liquidity of the trading pair.":"Price impact is the spread between the total value of the entry tokens switched and the destination tokens obtained (in USD), which results from the limited liquidity of the trading pair.","Price impact {0}%":["Price impact ",["0"],"%"],"Privacy":"Privacy","Proposal details":"Proposal details","Proposal overview":"Proposal overview","Proposals":"Proposals","Proposition":"Proposition","Protocol borrow cap at 100% for this asset. Further borrowing unavailable.":"Protocol borrow cap at 100% for this asset. Further borrowing unavailable.","Protocol borrow cap is at 100% for this asset. Further borrowing unavailable.":"Protocol borrow cap is at 100% for this asset. Further borrowing unavailable.","Protocol debt ceiling is at 100% for this asset. Further borrowing against this asset is unavailable.":"Protocol debt ceiling is at 100% for this asset. Further borrowing against this asset is unavailable.","Protocol debt ceiling is at 100% for this asset. Futher borrowing against this asset is unavailable.":"Protocol debt ceiling is at 100% for this asset. Futher borrowing against this asset is unavailable.","Protocol supply cap at 100% for this asset. Further supply unavailable.":"Protocol supply cap at 100% for this asset. Further supply unavailable.","Protocol supply cap is at 100% for this asset. Further supply unavailable.":"Protocol supply cap is at 100% for this asset. Further supply unavailable.","Quorum":"Quorum","Rate change":"Rate change","Raw-Ipfs":"Raw-Ipfs","Reached":"Reached","Reactivate cooldown period to unstake {0} {stakedToken}":["Reactivate cooldown period to unstake ",["0"]," ",["stakedToken"]],"Read more here.":"Read more here.","Read-only mode allows to see address positions in Aave, but you won't be able to perform transactions.":"Read-only mode allows to see address positions in Aave, but you won't be able to perform transactions.","Read-only mode.":"Read-only mode.","Read-only mode. Connect to a wallet to perform transactions.":"Read-only mode. Connect to a wallet to perform transactions.","Receive (est.)":"Receive (est.)","Received":"Received","Recipient address":"Recipient address","Rejected connection request":"Rejected connection request","Reload":"Reload","Reload the page":"Reload the page","Remaining debt":"Remaining debt","Remaining supply":"Remaining supply","Remove":"Remove","Repaid":"Repaid","Repay":"Repay","Repay with":"Repay with","Repay {symbol}":["Repay ",["symbol"]],"Repaying {symbol}":["Repaying ",["symbol"]],"Repayment amount to reach {0}% utilization":["Repayment amount to reach ",["0"],"% utilization"],"Representative smart contract wallet (ie. Safe) addresses on other chains.":"Representative smart contract wallet (ie. Safe) addresses on other chains.","Representing smart contract wallet (ie. Safe) addresses on other chains.":"Representing smart contract wallet (ie. Safe) addresses on other chains.","Reserve Size":"Reserve Size","Reserve factor":"Reserve factor","Reserve factor is a percentage of interest which goes to a {0} that is controlled by Aave governance to promote ecosystem growth.":["Reserve factor is a percentage of interest which goes to a ",["0"]," that is controlled by Aave governance to promote ecosystem growth."],"Reserve status & configuration":"Reserve status & configuration","Reset":"Reset","Restake":"Restake","Restake {symbol}":["Restake ",["symbol"]],"Restaked":"Restaked","Restaking {symbol}":["Restaking ",["symbol"]],"Review approval tx details":"Review approval tx details","Review changes to continue":"Review changes to continue","Review tx":"Review tx","Review tx details":"Review tx details","Revoke power":"Revoke power","Reward(s) to claim":"Reward(s) to claim","Rewards APR":"Rewards APR","Risk details":"Risk details","SEE CHARTS":"SEE CHARTS","Safety of your deposited collateral against the borrowed assets and its underlying value.":"Safety of your deposited collateral against the borrowed assets and its underlying value.","Save and share":"Save and share","Seems like we can't switch the network automatically. Please check if you can change it from the wallet.":"Seems like we can't switch the network automatically. Please check if you can change it from the wallet.","Select":"Select","Select APY type to switch":"Select APY type to switch","Select an asset":"Select an asset","Select language":"Select language","Select slippage tolerance":"Select slippage tolerance","Select v2 borrows to migrate":"Select v2 borrows to migrate","Select v2 supplies to migrate":"Select v2 supplies to migrate","Selected assets have successfully migrated. Visit the Market Dashboard to see them.":"Selected assets have successfully migrated. Visit the Market Dashboard to see them.","Selected borrow assets":"Selected borrow assets","Selected supply assets":"Selected supply assets","Send feedback":"Send feedback","Set up delegation":"Set up delegation","Setup notifications about your Health Factor using the Hal app.":"Setup notifications about your Health Factor using the Hal app.","Share on Lens":"Share on Lens","Share on twitter":"Share on twitter","Show":"Show","Show Frozen or paused assets":"Show Frozen or paused assets","Show assets with 0 balance":"Show assets with 0 balance","Sign to continue":"Sign to continue","Signatures ready":"Signatures ready","Signing":"Signing","Since this asset is frozen, the only available actions are withdraw and repay which can be accessed from the <0>Dashboard":"Since this asset is frozen, the only available actions are withdraw and repay which can be accessed from the <0>Dashboard","Since this is a test network, you can get any of the assets if you have ETH on your wallet":"Since this is a test network, you can get any of the assets if you have ETH on your wallet","Slippage":"Slippage","Slippage is the difference between the quoted and received amounts from changing market conditions between the moment the transaction is submitted and its verification.":"Slippage is the difference between the quoted and received amounts from changing market conditions between the moment the transaction is submitted and its verification.","Some migrated assets will not be used as collateral due to enabled isolation mode in {marketName} V3 Market. Visit <0>{marketName} V3 Dashboard to manage isolation mode.":["Some migrated assets will not be used as collateral due to enabled isolation mode in ",["marketName"]," V3 Market. Visit <0>",["marketName"]," V3 Dashboard to manage isolation mode."],"Something went wrong":"Something went wrong","Sorry, an unexpected error happened. In the meantime you may try reloading the page, or come back later.":"Sorry, an unexpected error happened. In the meantime you may try reloading the page, or come back later.","Sorry, we couldn't find the page you were looking for.":"Sorry, we couldn't find the page you were looking for.","Spanish":"Spanish","Stable":"Stable","Stable Interest Type is disabled for this currency":"Stable Interest Type is disabled for this currency","Stable borrowing is enabled":"Stable borrowing is enabled","Stable borrowing is not enabled":"Stable borrowing is not enabled","Stable debt supply is not zero":"Stable debt supply is not zero","Stable interest rate will <0>stay the same for the duration of your loan. Recommended for long-term loan periods and for users who prefer predictability.":"Stable interest rate will <0>stay the same for the duration of your loan. Recommended for long-term loan periods and for users who prefer predictability.","Stablecoin":"Stablecoin","Stake":"Stake","Stake AAVE":"Stake AAVE","Stake ABPT":"Stake ABPT","Stake cooldown activated":"Stake cooldown activated","Staked":"Staked","Staking":"Staking","Staking APR":"Staking APR","Staking Rewards":"Staking Rewards","Staking balance":"Staking balance","Staking discount":"Staking discount","State":"State","Supplied":"Supplied","Supplied asset amount":"Supplied asset amount","Supply":"Supply","Supply APY":"Supply APY","Supply apy":"Supply apy","Supply balance":"Supply balance","Supply balance after switch":"Supply balance after switch","Supply cap is exceeded":"Supply cap is exceeded","Supply cap on target reserve reached. Try lowering the amount.":"Supply cap on target reserve reached. Try lowering the amount.","Supply {symbol}":["Supply ",["symbol"]],"Supplying your":"Supplying your","Supplying {symbol}":["Supplying ",["symbol"]],"Switch":"Switch","Switch APY type":"Switch APY type","Switch E-Mode":"Switch E-Mode","Switch E-Mode category":"Switch E-Mode category","Switch Network":"Switch Network","Switch borrow position":"Switch borrow position","Switch rate":"Switch rate","Switch to":"Switch to","Switched":"Switched","Switching":"Switching","Switching E-Mode":"Switching E-Mode","Switching rate":"Switching rate","Techpaper":"Techpaper","Terms":"Terms","Test Assets":"Test Assets","Testnet mode":"Testnet mode","Testnet mode is ON":"Testnet mode is ON","Thank you for voting!!":"Thank you for voting!!","The % of your total borrowing power used. This is based on the amount of your collateral supplied and the total amount that you can borrow.":"The % of your total borrowing power used. This is based on the amount of your collateral supplied and the total amount that you can borrow.","The Aave Balancer Pool Token (ABPT) is a liquidity pool token. You can receive ABPT by depositing a combination of AAVE + ETH in the Balancer liquidity pool. You can then stake your BPT in the Safety Module to secure the protocol and earn Safety Incentives.":"The Aave Balancer Pool Token (ABPT) is a liquidity pool token. You can receive ABPT by depositing a combination of AAVE + ETH in the Balancer liquidity pool. You can then stake your BPT in the Safety Module to secure the protocol and earn Safety Incentives.","The Aave Protocol is programmed to always use the price of 1 GHO = $1. This is different from using market pricing via oracles for other crypto assets. This creates stabilizing arbitrage opportunities when the price of GHO fluctuates.":"The Aave Protocol is programmed to always use the price of 1 GHO = $1. This is different from using market pricing via oracles for other crypto assets. This creates stabilizing arbitrage opportunities when the price of GHO fluctuates.","The Maximum LTV ratio represents the maximum borrowing power of a specific collateral. For example, if a collateral has an LTV of 75%, the user can borrow up to 0.75 worth of ETH in the principal currency for every 1 ETH worth of collateral.":"The Maximum LTV ratio represents the maximum borrowing power of a specific collateral. For example, if a collateral has an LTV of 75%, the user can borrow up to 0.75 worth of ETH in the principal currency for every 1 ETH worth of collateral.","The Stable Rate is not enabled for this currency":"The Stable Rate is not enabled for this currency","The address of the pool addresses provider is invalid":"The address of the pool addresses provider is invalid","The app is running in testnet mode. Learn how it works in":"The app is running in testnet mode. Learn how it works in","The caller of the function is not an AToken":"The caller of the function is not an AToken","The caller of this function must be a pool":"The caller of this function must be a pool","The collateral balance is 0":"The collateral balance is 0","The collateral chosen cannot be liquidated":"The collateral chosen cannot be liquidated","The cooldown period is the time required prior to unstaking your tokens (20 days). You can only withdraw your assets from the Security Module after the cooldown period and within the unstake window.<0>Learn more":"The cooldown period is the time required prior to unstaking your tokens (20 days). You can only withdraw your assets from the Security Module after the cooldown period and within the unstake window.<0>Learn more","The cooldown period is {0}. After {1} of cooldown, you will enter unstake window of {2}. You will continue receiving rewards during cooldown and unstake window.":["The cooldown period is ",["0"],". After ",["1"]," of cooldown, you will enter unstake window of ",["2"],". You will continue receiving rewards during cooldown and unstake window."],"The effects on the health factor would cause liquidation. Try lowering the amount.":"The effects on the health factor would cause liquidation. Try lowering the amount.","The loan to value of the migrated positions would cause liquidation. Increase migrated collateral or reduce migrated borrow to continue.":"The loan to value of the migrated positions would cause liquidation. Increase migrated collateral or reduce migrated borrow to continue.","The requested amount is greater than the max loan size in stable rate mode":"The requested amount is greater than the max loan size in stable rate mode","The total amount of your assets denominated in USD that can be used as collateral for borrowing assets.":"The total amount of your assets denominated in USD that can be used as collateral for borrowing assets.","The underlying asset cannot be rescued":"The underlying asset cannot be rescued","The underlying balance needs to be greater than 0":"The underlying balance needs to be greater than 0","The weighted average of APY for all borrowed assets, including incentives.":"The weighted average of APY for all borrowed assets, including incentives.","The weighted average of APY for all supplied assets, including incentives.":"The weighted average of APY for all supplied assets, including incentives.","There are not enough funds in the{0}reserve to borrow":["There are not enough funds in the",["0"],"reserve to borrow"],"There is not enough collateral to cover a new borrow":"There is not enough collateral to cover a new borrow","There is not enough liquidity for the target asset to perform the switch. Try lowering the amount.":"There is not enough liquidity for the target asset to perform the switch. Try lowering the amount.","There was some error. Please try changing the parameters or <0><1>copy the error":"There was some error. Please try changing the parameters or <0><1>copy the error","These assets are temporarily frozen or paused by Aave community decisions, meaning that further supply / borrow, or rate swap of these assets are unavailable. Withdrawals and debt repayments are allowed. Follow the <0>Aave governance forum for further updates.":"These assets are temporarily frozen or paused by Aave community decisions, meaning that further supply / borrow, or rate swap of these assets are unavailable. Withdrawals and debt repayments are allowed. Follow the <0>Aave governance forum for further updates.","These funds have been borrowed and are not available for withdrawal at this time.":"These funds have been borrowed and are not available for withdrawal at this time.","This action will reduce V2 health factor below liquidation threshold. retain collateral or migrate borrow position to continue.":"This action will reduce V2 health factor below liquidation threshold. retain collateral or migrate borrow position to continue.","This action will reduce health factor of V3 below liquidation threshold. Increase migrated collateral or reduce migrated borrow to continue.":"This action will reduce health factor of V3 below liquidation threshold. Increase migrated collateral or reduce migrated borrow to continue.","This action will reduce your health factor. Please be mindful of the increased risk of collateral liquidation.":"This action will reduce your health factor. Please be mindful of the increased risk of collateral liquidation.","This address is blocked on app.aave.com because it is associated with one or more":"This address is blocked on app.aave.com because it is associated with one or more","This asset has almost reached its borrow cap. There is only {messageValue} available to be borrowed from this market.":["This asset has almost reached its borrow cap. There is only ",["messageValue"]," available to be borrowed from this market."],"This asset has almost reached its supply cap. There can only be {messageValue} supplied to this market.":["This asset has almost reached its supply cap. There can only be ",["messageValue"]," supplied to this market."],"This asset has been paused due to a community decision. Supply, withdraw, borrows and repays are impacted.":"This asset has been paused due to a community decision. Supply, withdraw, borrows and repays are impacted.","This asset has reached its borrow cap. Nothing is available to be borrowed from this market.":"This asset has reached its borrow cap. Nothing is available to be borrowed from this market.","This asset has reached its supply cap. Nothing is available to be supplied from this market.":"This asset has reached its supply cap. Nothing is available to be supplied from this market.","This asset is frozen due to an Aave Protocol Governance decision. <0>More details":"This asset is frozen due to an Aave Protocol Governance decision. <0>More details","This asset is frozen due to an Aave Protocol Governance decision. On the 20th of December 2022, renFIL will no longer be supported and cannot be bridged back to its native network. It is recommended to withdraw supply positions and repay borrow positions so that renFIL can be bridged back to FIL before the deadline. After this date, it will no longer be possible to convert renFIL to FIL. <0>More details":"This asset is frozen due to an Aave Protocol Governance decision. On the 20th of December 2022, renFIL will no longer be supported and cannot be bridged back to its native network. It is recommended to withdraw supply positions and repay borrow positions so that renFIL can be bridged back to FIL before the deadline. After this date, it will no longer be possible to convert renFIL to FIL. <0>More details","This asset is frozen due to an Aave community decision. <0>More details":"This asset is frozen due to an Aave community decision. <0>More details","This asset is planned to be offboarded due to an Aave Protocol Governance decision. <0>More details":"This asset is planned to be offboarded due to an Aave Protocol Governance decision. <0>More details","This gas calculation is only an estimation. Your wallet will set the price of the transaction. You can modify the gas settings directly from your wallet provider.":"This gas calculation is only an estimation. Your wallet will set the price of the transaction. You can modify the gas settings directly from your wallet provider.","This integration was<0>proposed and approvedby the community.":"This integration was<0>proposed and approvedby the community.","This is the total amount available for you to borrow. You can borrow based on your collateral and until the borrow cap is reached.":"This is the total amount available for you to borrow. You can borrow based on your collateral and until the borrow cap is reached.","This is the total amount that you are able to supply to in this reserve. You are able to supply your wallet balance up until the supply cap is reached.":"This is the total amount that you are able to supply to in this reserve. You are able to supply your wallet balance up until the supply cap is reached.","This represents the threshold at which a borrow position will be considered undercollateralized and subject to liquidation for each collateral. For example, if a collateral has a liquidation threshold of 80%, it means that the position will be liquidated when the debt value is worth 80% of the collateral value.":"This represents the threshold at which a borrow position will be considered undercollateralized and subject to liquidation for each collateral. For example, if a collateral has a liquidation threshold of 80%, it means that the position will be liquidated when the debt value is worth 80% of the collateral value.","Time left to be able to withdraw your staked asset.":"Time left to be able to withdraw your staked asset.","Time left to unstake":"Time left to unstake","Time left until the withdrawal window closes.":"Time left until the withdrawal window closes.","Tip: Try increasing slippage or reduce input amount":"Tip: Try increasing slippage or reduce input amount","To borrow you need to supply any asset to be used as collateral.":"To borrow you need to supply any asset to be used as collateral.","To continue, you need to grant Aave smart contracts permission to move your funds from your wallet. Depending on the asset and wallet you use, it is done by signing the permission message (gas free), or by submitting an approval transaction (requires gas). <0>Learn more":"To continue, you need to grant Aave smart contracts permission to move your funds from your wallet. Depending on the asset and wallet you use, it is done by signing the permission message (gas free), or by submitting an approval transaction (requires gas). <0>Learn more","To enable E-mode for the {0} category, all borrow positions outside of this category must be closed.":["To enable E-mode for the ",["0"]," category, all borrow positions outside of this category must be closed."],"To repay on behalf of a user an explicit amount to repay is needed":"To repay on behalf of a user an explicit amount to repay is needed","To request access for this permissioned market, please visit: <0>Acces Provider Name":"To request access for this permissioned market, please visit: <0>Acces Provider Name","To submit a proposal for minor changes to the protocol, you'll need at least 80.00K power. If you want to change the core code base, you'll need 320k power.<0>Learn more.":"To submit a proposal for minor changes to the protocol, you'll need at least 80.00K power. If you want to change the core code base, you'll need 320k power.<0>Learn more.","Top 10 addresses":"Top 10 addresses","Total available":"Total available","Total borrowed":"Total borrowed","Total borrows":"Total borrows","Total emission per day":"Total emission per day","Total interest accrued":"Total interest accrued","Total market size":"Total market size","Total supplied":"Total supplied","Total worth":"Total worth","Track wallet":"Track wallet","Track wallet balance in read-only mode":"Track wallet balance in read-only mode","Transaction failed":"Transaction failed","Transaction history":"Transaction history","Transaction history is not currently available for this market":"Transaction history is not currently available for this market","Transaction overview":"Transaction overview","Transactions":"Transactions","UNSTAKE {symbol}":["UNSTAKE ",["symbol"]],"Unavailable":"Unavailable","Unbacked":"Unbacked","Unbacked mint cap is exceeded":"Unbacked mint cap is exceeded","Underlying asset does not exist in {marketName} v3 Market, hence this position cannot be migrated.":["Underlying asset does not exist in ",["marketName"]," v3 Market, hence this position cannot be migrated."],"Underlying token":"Underlying token","Unstake now":"Unstake now","Unstake window":"Unstake window","Unstaked":"Unstaked","Unstaking {symbol}":["Unstaking ",["symbol"]],"Update: Disruptions reported for WETH, WBTC, WMATIC, and USDT. AIP 230 will resolve the disruptions and the market will be operating as normal on ~26th May 13h00 UTC.":"Update: Disruptions reported for WETH, WBTC, WMATIC, and USDT. AIP 230 will resolve the disruptions and the market will be operating as normal on ~26th May 13h00 UTC.","Use it to vote for or against active proposals.":"Use it to vote for or against active proposals.","Use your AAVE, stkAAVE, or aAave balance to delegate your voting and proposition powers. You will not be sending any tokens, only the rights to vote and propose changes to the protocol. You can re-delegate or revoke power to self at any time.":"Use your AAVE, stkAAVE, or aAave balance to delegate your voting and proposition powers. You will not be sending any tokens, only the rights to vote and propose changes to the protocol. You can re-delegate or revoke power to self at any time.","Used as collateral":"Used as collateral","User cannot withdraw more than the available balance":"User cannot withdraw more than the available balance","User did not borrow the specified currency":"User did not borrow the specified currency","User does not have outstanding stable rate debt on this reserve":"User does not have outstanding stable rate debt on this reserve","User does not have outstanding variable rate debt on this reserve":"User does not have outstanding variable rate debt on this reserve","User is in isolation mode":"User is in isolation mode","User is trying to borrow multiple assets including a siloed one":"User is trying to borrow multiple assets including a siloed one","Users who stake AAVE in Safety Module (i.e. stkAAVE holders) receive a discount on GHO borrow interest rate. The discount applies to 100 GHO for every 1 stkAAVE held. Use the calculator below to see GHO borrow rate with the discount applied.":"Users who stake AAVE in Safety Module (i.e. stkAAVE holders) receive a discount on GHO borrow interest rate. The discount applies to 100 GHO for every 1 stkAAVE held. Use the calculator below to see GHO borrow rate with the discount applied.","Utilization Rate":"Utilization Rate","VIEW TX":"VIEW TX","VOTE NAY":"VOTE NAY","VOTE YAE":"VOTE YAE","Variable":"Variable","Variable debt supply is not zero":"Variable debt supply is not zero","Variable interest rate will <0>fluctuate based on the market conditions. Recommended for short-term positions.":"Variable interest rate will <0>fluctuate based on the market conditions. Recommended for short-term positions.","Variable rate":"Variable rate","Version 2":"Version 2","Version 3":"Version 3","View":"View","View Transactions":"View Transactions","View all votes":"View all votes","View contract":"View contract","View details":"View details","View on Explorer":"View on Explorer","Vote NAY":"Vote NAY","Vote YAE":"Vote YAE","Voted NAY":"Voted NAY","Voted YAE":"Voted YAE","Votes":"Votes","Voting":"Voting","Voting power":"Voting power","Voting results":"Voting results","Wallet Balance":"Wallet Balance","Wallet balance":"Wallet balance","Wallet not detected. Connect or install wallet and retry":"Wallet not detected. Connect or install wallet and retry","Wallets are provided by External Providers and by selecting you agree to Terms of those Providers. Your access to the wallet might be reliant on the External Provider being operational.":"Wallets are provided by External Providers and by selecting you agree to Terms of those Providers. Your access to the wallet might be reliant on the External Provider being operational.","We couldn't find any assets related to your search. Try again with a different asset name, symbol, or address.":"We couldn't find any assets related to your search. Try again with a different asset name, symbol, or address.","We couldn't find any transactions related to your search. Try again with a different asset name, or reset filters.":"We couldn't find any transactions related to your search. Try again with a different asset name, or reset filters.","We couldn’t detect a wallet. Connect a wallet to stake and view your balance.":"We couldn’t detect a wallet. Connect a wallet to stake and view your balance.","We suggest you go back to the Dashboard.":"We suggest you go back to the Dashboard.","Website":"Website","When a liquidation occurs, liquidators repay up to 50% of the outstanding borrowed amount on behalf of the borrower. In return, they can buy the collateral at a discount and keep the difference (liquidation penalty) as a bonus.":"When a liquidation occurs, liquidators repay up to 50% of the outstanding borrowed amount on behalf of the borrower. In return, they can buy the collateral at a discount and keep the difference (liquidation penalty) as a bonus.","With a voting power of <0/>":"With a voting power of <0/>","With testnet Faucet you can get free assets to test the Aave Protocol. Make sure to switch your wallet provider to the appropriate testnet network, select desired asset, and click ‘Faucet’ to get tokens transferred to your wallet. The assets on a testnet are not “real,” meaning they have no monetary value. <0>Learn more":"With testnet Faucet you can get free assets to test the Aave Protocol. Make sure to switch your wallet provider to the appropriate testnet network, select desired asset, and click ‘Faucet’ to get tokens transferred to your wallet. The assets on a testnet are not “real,” meaning they have no monetary value. <0>Learn more","Withdraw":"Withdraw","Withdraw & Switch":"Withdraw & Switch","Withdraw and Switch":"Withdraw and Switch","Withdraw {symbol}":["Withdraw ",["symbol"]],"Withdrawing and Switching":"Withdrawing and Switching","Withdrawing this amount will reduce your health factor and increase risk of liquidation.":"Withdrawing this amount will reduce your health factor and increase risk of liquidation.","Withdrawing {symbol}":["Withdrawing ",["symbol"]],"Wrong Network":"Wrong Network","YAE":"YAE","You are entering Isolation mode":"You are entering Isolation mode","You can borrow this asset with a stable rate only if you borrow more than the amount you are supplying as collateral.":"You can borrow this asset with a stable rate only if you borrow more than the amount you are supplying as collateral.","You can not change Interest Type to stable as your borrowings are higher than your collateral":"You can not change Interest Type to stable as your borrowings are higher than your collateral","You can not disable E-Mode as your current collateralization level is above 80%, disabling E-Mode can cause liquidation. To exit E-Mode supply or repay borrowed positions.":"You can not disable E-Mode as your current collateralization level is above 80%, disabling E-Mode can cause liquidation. To exit E-Mode supply or repay borrowed positions.","You can not switch usage as collateral mode for this currency, because it will cause collateral call":"You can not switch usage as collateral mode for this currency, because it will cause collateral call","You can not use this currency as collateral":"You can not use this currency as collateral","You can not withdraw this amount because it will cause collateral call":"You can not withdraw this amount because it will cause collateral call","You can only switch to tokens with variable APY types. After this transaction, you may change the variable rate to a stable one if available.":"You can only switch to tokens with variable APY types. After this transaction, you may change the variable rate to a stable one if available.","You can only withdraw your assets from the Security Module after the cooldown period ends and the unstake window is active.":"You can only withdraw your assets from the Security Module after the cooldown period ends and the unstake window is active.","You can report incident to our <0>Discord or<1>Github.":"You can report incident to our <0>Discord or<1>Github.","You cancelled the transaction.":"You cancelled the transaction.","You did not participate in this proposal":"You did not participate in this proposal","You do not have supplies in this currency":"You do not have supplies in this currency","You don’t have enough funds in your wallet to repay the full amount. If you proceed to repay with your current amount of funds, you will still have a small borrowing position in your dashboard.":"You don’t have enough funds in your wallet to repay the full amount. If you proceed to repay with your current amount of funds, you will still have a small borrowing position in your dashboard.","You have no AAVE/stkAAVE/aAave balance to delegate.":"You have no AAVE/stkAAVE/aAave balance to delegate.","You have not borrow yet using this currency":"You have not borrow yet using this currency","You may borrow up to <0/> GHO at <1/> (max discount)":"You may borrow up to <0/> GHO at <1/> (max discount)","You may enter a custom amount in the field.":"You may enter a custom amount in the field.","You switched to {0} rate":["You switched to ",["0"]," rate"],"You unstake here":"You unstake here","You voted {0}":["You voted ",["0"]],"You will exit isolation mode and other tokens can now be used as collateral":"You will exit isolation mode and other tokens can now be used as collateral","You {action} <0/> {symbol}":["You ",["action"]," <0/> ",["symbol"]],"You've successfully switched borrow position.":"You've successfully switched borrow position.","You've successfully switched tokens.":"You've successfully switched tokens.","You've successfully withdrew & switched tokens.":"You've successfully withdrew & switched tokens.","Your balance is lower than the selected amount.":"Your balance is lower than the selected amount.","Your borrows":"Your borrows","Your current loan to value based on your collateral supplied.":"Your current loan to value based on your collateral supplied.","Your health factor and loan to value determine the assurance of your collateral. To avoid liquidations you can supply more collateral or repay borrow positions.":"Your health factor and loan to value determine the assurance of your collateral. To avoid liquidations you can supply more collateral or repay borrow positions.","Your info":"Your info","Your proposition power is based on your AAVE/stkAAVE balance and received delegations.":"Your proposition power is based on your AAVE/stkAAVE balance and received delegations.","Your reward balance is 0":"Your reward balance is 0","Your supplies":"Your supplies","Your voting info":"Your voting info","Your voting power is based on your AAVE/stkAAVE balance and received delegations.":"Your voting power is based on your AAVE/stkAAVE balance and received delegations.","Your {name} wallet is empty. Purchase or transfer assets or use <0>{0} to transfer your {network} assets.":["Your ",["name"]," wallet is empty. Purchase or transfer assets or use <0>",["0"]," to transfer your ",["network"]," assets."],"Your {name} wallet is empty. Purchase or transfer assets.":["Your ",["name"]," wallet is empty. Purchase or transfer assets."],"Your {networkName} wallet is empty. Get free test assets at":["Your ",["networkName"]," wallet is empty. Get free test assets at"],"Your {networkName} wallet is empty. Get free test {0} at":["Your ",["networkName"]," wallet is empty. Get free test ",["0"]," at"],"Zero address not valid":"Zero address not valid","assets":"assets","blocked activities":"blocked activities","copy the error":"copy the error","disabled":"disabled","documentation":"documentation","enabled":"enabled","ends":"ends","for":"for","of":"of","on":"on","please check that the amount you want to supply is not currently being used for staking. If it is being used for staking, your transaction might fail.":"please check that the amount you want to supply is not currently being used for staking. If it is being used for staking, your transaction might fail.","repaid":"repaid","stETH supplied as collateral will continue to accrue staking rewards provided by daily rebases.":"stETH supplied as collateral will continue to accrue staking rewards provided by daily rebases.","stETH tokens will be migrated to Wrapped stETH using Lido Protocol wrapper which leads to supply balance change after migration: {0}":["stETH tokens will be migrated to Wrapped stETH using Lido Protocol wrapper which leads to supply balance change after migration: ",["0"]],"staking view":"staking view","starts":"starts","stkAAVE holders get a discount on GHO borrow rate":"stkAAVE holders get a discount on GHO borrow rate","to":"to","tokens is not the same as staking them. If you wish to stake your":"tokens is not the same as staking them. If you wish to stake your","tokens, please go to the":"tokens, please go to the","withdrew":"withdrew","{0}":[["0"]],"{0} Balance":[["0"]," Balance"],"{0} Faucet":[["0"]," Faucet"],"{0} on-ramp service is provided by External Provider and by selecting you agree to Terms of the Provider. Your access to the service might be reliant on the External Provider being operational.":[["0"]," on-ramp service is provided by External Provider and by selecting you agree to Terms of the Provider. Your access to the service might be reliant on the External Provider being operational."],"{0}{name}":[["0"],["name"]],"{currentMethod}":[["currentMethod"]],"{d}d":[["d"],"d"],"{h}h":[["h"],"h"],"{m}m":[["m"],"m"],"{networkName} Faucet":[["networkName"]," Faucet"],"{notifyText}":[["notifyText"]],"{numSelected}/{numAvailable} assets selected":[["numSelected"],"/",["numAvailable"]," assets selected"],"{s}s":[["s"],"s"],"{title}":[["title"]],"{tooltipText}":[["tooltipText"]]}}; \ No newline at end of file +/*eslint-disable*/module.exports={messages:{"...":"...",".CSV":".CSV",".JSON":".JSON","<0><1><2/>Add <3/> stkAAVE to borrow at <4/> (max discount)":"<0><1><2/>Add <3/> stkAAVE to borrow at <4/> (max discount)","<0><1><2/>Add stkAAVE to see borrow rate with discount":"<0><1><2/>Add stkAAVE to see borrow rate with discount","<0>Ampleforth is a rebasing asset. Visit the <1>documentation to learn more.":"<0>Ampleforth is a rebasing asset. Visit the <1>documentation to learn more.","<0>Attention: Parameter changes via governance can alter your account health factor and risk of liquidation. Follow the <1>Aave governance forum for updates.":"<0>Attention: Parameter changes via governance can alter your account health factor and risk of liquidation. Follow the <1>Aave governance forum for updates.","<0>Slippage tolerance <1>{selectedSlippage}% <2>{0}":["<0>Slippage tolerance <1>",["selectedSlippage"],"% <2>",["0"],""],"AAVE holders (Ethereum network only) can stake their AAVE in the Safety Module to add more security to the protocol and earn Safety Incentives. In the case of a shortfall event, up to 30% of your stake can be slashed to cover the deficit, providing an additional layer of protection for the protocol.":"AAVE holders (Ethereum network only) can stake their AAVE in the Safety Module to add more security to the protocol and earn Safety Incentives. In the case of a shortfall event, up to 30% of your stake can be slashed to cover the deficit, providing an additional layer of protection for the protocol.","APR":"APR","APY":"APY","APY change":"APY change","APY type":"APY type","APY type change":"APY type change","APY with discount applied":"APY with discount applied","APY, borrow rate":"APY, borrow rate","APY, stable":"APY, stable","APY, variable":"APY, variable","AToken supply is not zero":"AToken supply is not zero","Aave Governance":"Aave Governance","Aave aToken":"Aave aToken","Aave debt token":"Aave debt token","Aave is a fully decentralized, community governed protocol by the AAVE token-holders. AAVE token-holders collectively discuss, propose, and vote on upgrades to the protocol. AAVE token-holders (Ethereum network only) can either vote themselves on new proposals or delagate to an address of choice. To learn more check out the Governance":"Aave is a fully decentralized, community governed protocol by the AAVE token-holders. AAVE token-holders collectively discuss, propose, and vote on upgrades to the protocol. AAVE token-holders (Ethereum network only) can either vote themselves on new proposals or delagate to an address of choice. To learn more check out the Governance","Aave per month":"Aave per month","About GHO":"About GHO","Account":"Account","Action cannot be performed because the reserve is frozen":"Action cannot be performed because the reserve is frozen","Action cannot be performed because the reserve is paused":"Action cannot be performed because the reserve is paused","Action requires an active reserve":"Action requires an active reserve","Activate Cooldown":"Activate Cooldown","Add stkAAVE to see borrow APY with the discount":"Add stkAAVE to see borrow APY with the discount","Add to wallet":"Add to wallet","Add {0} to wallet to track your balance.":["Add ",["0"]," to wallet to track your balance."],"Address is not a contract":"Address is not a contract","Addresses":"Addresses","Addresses ({0})":["Addresses (",["0"],")"],"All Assets":"All Assets","All done!":"All done!","All proposals":"All proposals","All transactions":"All transactions","Allowance required action":"Allowance required action","Allows you to decide whether to use a supplied asset as collateral. An asset used as collateral will affect your borrowing power and health factor.":"Allows you to decide whether to use a supplied asset as collateral. An asset used as collateral will affect your borrowing power and health factor.","Allows you to switch between <0>variable and <1>stable interest rates, where variable rate can increase and decrease depending on the amount of liquidity in the reserve, and stable rate will stay the same for the duration of your loan.":"Allows you to switch between <0>variable and <1>stable interest rates, where variable rate can increase and decrease depending on the amount of liquidity in the reserve, and stable rate will stay the same for the duration of your loan.","Amount":"Amount","Amount claimable":"Amount claimable","Amount in cooldown":"Amount in cooldown","Amount must be greater than 0":"Amount must be greater than 0","Amount to unstake":"Amount to unstake","An error has occurred fetching the proposal.":"An error has occurred fetching the proposal.","Approve Confirmed":"Approve Confirmed","Approve with":"Approve with","Approve {symbol} to continue":["Approve ",["symbol"]," to continue"],"Approving {symbol}...":["Approving ",["symbol"],"..."],"Array parameters that should be equal length are not":"Array parameters that should be equal length are not","Asset":"Asset","Asset can be only used as collateral in isolation mode with limited borrowing power. To enter isolation mode, disable all other collateral.":"Asset can be only used as collateral in isolation mode with limited borrowing power. To enter isolation mode, disable all other collateral.","Asset can only be used as collateral in isolation mode only.":"Asset can only be used as collateral in isolation mode only.","Asset cannot be migrated because you have isolated collateral in {marketName} v3 Market which limits borrowable assets. You can manage your collateral in <0>{marketName} V3 Dashboard":["Asset cannot be migrated because you have isolated collateral in ",["marketName"]," v3 Market which limits borrowable assets. You can manage your collateral in <0>",["marketName"]," V3 Dashboard"],"Asset cannot be migrated due to insufficient liquidity or borrow cap limitation in {marketName} v3 market.":["Asset cannot be migrated due to insufficient liquidity or borrow cap limitation in ",["marketName"]," v3 market."],"Asset cannot be migrated due to supply cap restriction in {marketName} v3 market.":["Asset cannot be migrated due to supply cap restriction in ",["marketName"]," v3 market."],"Asset cannot be migrated to {marketName} V3 Market due to E-mode restrictions. You can disable or manage E-mode categories in your <0>V3 Dashboard":["Asset cannot be migrated to ",["marketName"]," V3 Market due to E-mode restrictions. You can disable or manage E-mode categories in your <0>V3 Dashboard"],"Asset cannot be migrated to {marketName} v3 Market since collateral asset will enable isolation mode.":["Asset cannot be migrated to ",["marketName"]," v3 Market since collateral asset will enable isolation mode."],"Asset cannot be used as collateral.":"Asset cannot be used as collateral.","Asset category":"Asset category","Asset is frozen in {marketName} v3 market, hence this position cannot be migrated.":["Asset is frozen in ",["marketName"]," v3 market, hence this position cannot be migrated."],"Asset is not borrowable in isolation mode":"Asset is not borrowable in isolation mode","Asset is not listed":"Asset is not listed","Asset supply is limited to a certain amount to reduce protocol exposure to the asset and to help manage risks involved.":"Asset supply is limited to a certain amount to reduce protocol exposure to the asset and to help manage risks involved.","Assets":"Assets","Assets to borrow":"Assets to borrow","Assets to supply":"Assets to supply","Assets with zero LTV ({assetsBlockingWithdraw}) must be withdrawn or disabled as collateral to perform this action":["Assets with zero LTV (",["assetsBlockingWithdraw"],") must be withdrawn or disabled as collateral to perform this action"],"At a discount":"At a discount","Available":"Available","Available assets":"Available assets","Available liquidity":"Available liquidity","Available on":"Available on","Available rewards":"Available rewards","Available to borrow":"Available to borrow","Available to supply":"Available to supply","Back to Dashboard":"Back to Dashboard","Balance":"Balance","Balance to revoke":"Balance to revoke","Be careful - You are very close to liquidation. Consider depositing more collateral or paying down some of your borrowed positions":"Be careful - You are very close to liquidation. Consider depositing more collateral or paying down some of your borrowed positions","Be mindful of the network congestion and gas prices.":"Be mindful of the network congestion and gas prices.","Because this asset is paused, no actions can be taken until further notice":"Because this asset is paused, no actions can be taken until further notice","Before supplying":"Before supplying","Blocked Address":"Blocked Address","Borrow":"Borrow","Borrow APY":"Borrow APY","Borrow APY rate":"Borrow APY rate","Borrow APY, variable":"Borrow APY, variable","Borrow amount to reach {0}% utilization":["Borrow amount to reach ",["0"],"% utilization"],"Borrow and repay in same block is not allowed":"Borrow and repay in same block is not allowed","Borrow apy":"Borrow apy","Borrow balance":"Borrow balance","Borrow balance after repay":"Borrow balance after repay","Borrow balance after switch":"Borrow balance after switch","Borrow cap":"Borrow cap","Borrow cap is exceeded":"Borrow cap is exceeded","Borrow info":"Borrow info","Borrow power used":"Borrow power used","Borrow rate APY":"Borrow rate APY","Borrow rate change":"Borrow rate change","Borrow {symbol}":["Borrow ",["symbol"]],"Borrowed":"Borrowed","Borrowed asset amount":"Borrowed asset amount","Borrowing is currently unavailable for {0}.":["Borrowing is currently unavailable for ",["0"],"."],"Borrowing is disabled due to an Aave community decision. <0>More details":"Borrowing is disabled due to an Aave community decision. <0>More details","Borrowing is not enabled":"Borrowing is not enabled","Borrowing is unavailable because you’re using Isolation mode. To manage Isolation mode visit your <0>Dashboard.":"Borrowing is unavailable because you’re using Isolation mode. To manage Isolation mode visit your <0>Dashboard.","Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) and Isolation mode. To manage E-Mode and Isolation mode visit your <0>Dashboard.":"Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) and Isolation mode. To manage E-Mode and Isolation mode visit your <0>Dashboard.","Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) for {0} category. To manage E-Mode categories visit your <0>Dashboard.":["Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) for ",["0"]," category. To manage E-Mode categories visit your <0>Dashboard."],"Borrowing of this asset is limited to a certain amount to minimize liquidity pool insolvency.":"Borrowing of this asset is limited to a certain amount to minimize liquidity pool insolvency.","Borrowing power and assets are limited due to Isolation mode.":"Borrowing power and assets are limited due to Isolation mode.","Borrowing this amount will reduce your health factor and increase risk of liquidation.":"Borrowing this amount will reduce your health factor and increase risk of liquidation.","Borrowing {symbol}":["Borrowing ",["symbol"]],"Both":"Both","Buy Crypto With Fiat":"Buy Crypto With Fiat","Buy Crypto with Fiat":"Buy Crypto with Fiat","Buy {cryptoSymbol} with Fiat":["Buy ",["cryptoSymbol"]," with Fiat"],"COPIED!":"COPIED!","COPY IMAGE":"COPY IMAGE","Can be collateral":"Can be collateral","Can be executed":"Can be executed","Can't validate the wallet address. Try again.":"Can't validate the wallet address. Try again.","Cancel":"Cancel","Cannot disable E-Mode":"Cannot disable E-Mode","Choose how much voting/proposition power to give to someone else by delegating some of your AAVE, stkAAVE or aAave balance. Your tokens will remain in your account, but your delegate will be able to vote or propose on your behalf. If your AAVE, stkAAVE or aAave balance changes, your delegate's voting/proposition power will be automatically adjusted.":"Choose how much voting/proposition power to give to someone else by delegating some of your AAVE, stkAAVE or aAave balance. Your tokens will remain in your account, but your delegate will be able to vote or propose on your behalf. If your AAVE, stkAAVE or aAave balance changes, your delegate's voting/proposition power will be automatically adjusted.","Choose one of the on-ramp services":"Choose one of the on-ramp services","Claim":"Claim","Claim all":"Claim all","Claim all rewards":"Claim all rewards","Claim {0}":["Claim ",["0"]],"Claim {symbol}":["Claim ",["symbol"]],"Claimable AAVE":"Claimable AAVE","Claimed":"Claimed","Claiming":"Claiming","Claiming {symbol}":["Claiming ",["symbol"]],"Close":"Close","Collateral":"Collateral","Collateral balance after repay":"Collateral balance after repay","Collateral change":"Collateral change","Collateral is (mostly) the same currency that is being borrowed":"Collateral is (mostly) the same currency that is being borrowed","Collateral to repay with":"Collateral to repay with","Collateral usage":"Collateral usage","Collateral usage is limited because of Isolation mode.":"Collateral usage is limited because of Isolation mode.","Collateral usage is limited because of isolation mode.":"Collateral usage is limited because of isolation mode.","Collateral usage is limited because of isolation mode. <0>Learn More":"Collateral usage is limited because of isolation mode. <0>Learn More","Collateralization":"Collateralization","Collector Contract":"Collector Contract","Collector Info":"Collector Info","Confirm transaction":"Confirm transaction","Confirming transaction":"Confirming transaction","Connect":"Connect","Connect wallet":"Connect wallet","Cooldown period":"Cooldown period","Cooldown period warning":"Cooldown period warning","Cooldown time left":"Cooldown time left","Cooldown to unstake":"Cooldown to unstake","Cooling down...":"Cooling down...","Copy address":"Copy address","Copy error message":"Copy error message","Copy error text":"Copy error text","Covered debt":"Covered debt","Current LTV":"Current LTV","Current differential":"Current differential","Current v2 Balance":"Current v2 Balance","Current v2 balance":"Current v2 balance","Current votes":"Current votes","Dark mode":"Dark mode","Dashboard":"Dashboard","Data couldn't be fetched, please reload graph.":"Data couldn't be fetched, please reload graph.","Debt":"Debt","Debt ceiling is exceeded":"Debt ceiling is exceeded","Debt ceiling is not zero":"Debt ceiling is not zero","Debt ceiling limits the amount possible to borrow against this asset by protocol users. Debt ceiling is specific to assets in isolation mode and is denoted in USD.":"Debt ceiling limits the amount possible to borrow against this asset by protocol users. Debt ceiling is specific to assets in isolation mode and is denoted in USD.","Delegated power":"Delegated power","Details":"Details","Developers":"Developers","Differential":"Differential","Disable E-Mode":"Disable E-Mode","Disable testnet":"Disable testnet","Disable {symbol} as collateral":["Disable ",["symbol"]," as collateral"],"Disabled":"Disabled","Disabling E-Mode":"Disabling E-Mode","Disabling this asset as collateral affects your borrowing power and Health Factor.":"Disabling this asset as collateral affects your borrowing power and Health Factor.","Disconnect Wallet":"Disconnect Wallet","Discord channel":"Discord channel","Discount":"Discount","Discount applied for <0/> staking AAVE":"Discount applied for <0/> staking AAVE","Discount model parameters":"Discount model parameters","Discount parameters are decided by the Aave community and may be changed over time. Check Governance for updates and vote to participate. <0>Learn more":"Discount parameters are decided by the Aave community and may be changed over time. Check Governance for updates and vote to participate. <0>Learn more","Discountable amount":"Discountable amount","Docs":"Docs","Download":"Download","Due to internal stETH mechanics required for rebasing support, it is not possible to perform a collateral switch where stETH is the source token.":"Due to internal stETH mechanics required for rebasing support, it is not possible to perform a collateral switch where stETH is the source token.","Due to the Horizon bridge exploit, certain assets on the Harmony network are not at parity with Ethereum, which affects the Aave V3 Harmony market.":"Due to the Horizon bridge exploit, certain assets on the Harmony network are not at parity with Ethereum, which affects the Aave V3 Harmony market.","E-Mode":"E-Mode","E-Mode Category":"E-Mode Category","E-Mode category":"E-Mode category","E-Mode increases your LTV for a selected category of assets up to 97%. <0>Learn more":"E-Mode increases your LTV for a selected category of assets up to 97%. <0>Learn more","E-Mode increases your LTV for a selected category of assets up to<0/>. <1>Learn more":"E-Mode increases your LTV for a selected category of assets up to<0/>. <1>Learn more","E-Mode increases your LTV for a selected category of assets, meaning that when E-mode is enabled, you will have higher borrowing power over assets of the same E-mode category which are defined by Aave Governance. You can enter E-Mode from your <0>Dashboard. To learn more about E-Mode and applied restrictions in <1>FAQ or <2>Aave V3 Technical Paper.":"E-Mode increases your LTV for a selected category of assets, meaning that when E-mode is enabled, you will have higher borrowing power over assets of the same E-mode category which are defined by Aave Governance. You can enter E-Mode from your <0>Dashboard. To learn more about E-Mode and applied restrictions in <1>FAQ or <2>Aave V3 Technical Paper.","Edit":"Edit","Effective interest rate":"Effective interest rate","Efficiency mode (E-Mode)":"Efficiency mode (E-Mode)","Emode":"Emode","Enable E-Mode":"Enable E-Mode","Enable {symbol} as collateral":["Enable ",["symbol"]," as collateral"],"Enabled":"Enabled","Enabling E-Mode":"Enabling E-Mode","Enabling E-Mode only allows you to borrow assets belonging to the selected category. Please visit our <0>FAQ guide to learn more about how it works and the applied restrictions.":"Enabling E-Mode only allows you to borrow assets belonging to the selected category. Please visit our <0>FAQ guide to learn more about how it works and the applied restrictions.","Enabling this asset as collateral increases your borrowing power and Health Factor. However, it can get liquidated if your health factor drops below 1.":"Enabling this asset as collateral increases your borrowing power and Health Factor. However, it can get liquidated if your health factor drops below 1.","English":"English","Enter ETH address":"Enter ETH address","Enter an amount":"Enter an amount","Error connecting. Try refreshing the page.":"Error connecting. Try refreshing the page.","Estimated compounding interest, including discount for Staking {0}AAVE in Safety Module.":["Estimated compounding interest, including discount for Staking ",["0"],"AAVE in Safety Module."],"Exceeds the discount":"Exceeds the discount","Expected amount to repay":"Expected amount to repay","Expires":"Expires","Export data to":"Export data to","FAQ":"FAQ","FAQS":"FAQS","Failed to load proposal voters. Please refresh the page.":"Failed to load proposal voters. Please refresh the page.","Faucet":"Faucet","Faucet {0}":["Faucet ",["0"]],"Fetching data...":"Fetching data...","Filter":"Filter","Fixed":"Fixed","Fixed rate":"Fixed rate","Flashloan is disabled for this asset, hence this position cannot be migrated.":"Flashloan is disabled for this asset, hence this position cannot be migrated.","For repayment of a specific type of debt, the user needs to have debt that type":"For repayment of a specific type of debt, the user needs to have debt that type","French":"French","Funds in the Safety Module":"Funds in the Safety Module","GHO is a native decentralized, collateral-backed digital asset pegged to USD. It is created by users via borrowing against multiple collateral. When user repays their GHO borrow position, the protocol burns that user's GHO. All the interest payments accrued by minters of GHO would be directly transferred to the AaveDAO treasury.":"GHO is a native decentralized, collateral-backed digital asset pegged to USD. It is created by users via borrowing against multiple collateral. When user repays their GHO borrow position, the protocol burns that user's GHO. All the interest payments accrued by minters of GHO would be directly transferred to the AaveDAO treasury.","Get ABP Token":"Get ABP Token","Global settings":"Global settings","Go Back":"Go Back","Go to Balancer Pool":"Go to Balancer Pool","Go to V3 Dashboard":"Go to V3 Dashboard","Governance":"Governance","Greek":"Greek","Health Factor ({0} v2)":["Health Factor (",["0"]," v2)"],"Health Factor ({0} v3)":["Health Factor (",["0"]," v3)"],"Health factor":"Health factor","Health factor is lesser than the liquidation threshold":"Health factor is lesser than the liquidation threshold","Health factor is not below the threshold":"Health factor is not below the threshold","Hide":"Hide","Holders of stkAAVE receive a discount on the GHO borrowing rate":"Holders of stkAAVE receive a discount on the GHO borrowing rate","I acknowledge the risks involved.":"I acknowledge the risks involved.","I fully understand the risks of migrating.":"I fully understand the risks of migrating.","I understand how cooldown ({0}) and unstaking ({1}) work":["I understand how cooldown (",["0"],") and unstaking (",["1"],") work"],"If the error continues to happen,<0/> you may report it to this":"If the error continues to happen,<0/> you may report it to this","If the health factor goes below 1, the liquidation of your collateral might be triggered.":"If the health factor goes below 1, the liquidation of your collateral might be triggered.","If you DO NOT unstake within {0} of unstake window, you will need to activate cooldown process again.":["If you DO NOT unstake within ",["0"]," of unstake window, you will need to activate cooldown process again."],"If your loan to value goes above the liquidation threshold your collateral supplied may be liquidated.":"If your loan to value goes above the liquidation threshold your collateral supplied may be liquidated.","In E-Mode some assets are not borrowable. Exit E-Mode to get access to all assets":"In E-Mode some assets are not borrowable. Exit E-Mode to get access to all assets","In Isolation mode, you cannot supply other assets as collateral. A global debt ceiling limits the borrowing power of the isolated asset. To exit isolation mode disable {0} as collateral before borrowing another asset. Read more in our <0>FAQ":["In Isolation mode, you cannot supply other assets as collateral. A global debt ceiling limits the borrowing power of the isolated asset. To exit isolation mode disable ",["0"]," as collateral before borrowing another asset. Read more in our <0>FAQ"],"Inconsistent flashloan parameters":"Inconsistent flashloan parameters","Insufficient collateral to cover new borrow position. Wallet must have borrowing power remaining to perform debt switch.":"Insufficient collateral to cover new borrow position. Wallet must have borrowing power remaining to perform debt switch.","Interest accrued":"Interest accrued","Interest rate rebalance conditions were not met":"Interest rate rebalance conditions were not met","Interest rate strategy":"Interest rate strategy","Interest rate that is determined by Aave Governance. This rate may be changed over time depending on the need for the GHO supply to contract/expand. <0>Learn more":"Interest rate that is determined by Aave Governance. This rate may be changed over time depending on the need for the GHO supply to contract/expand. <0>Learn more","Invalid amount to burn":"Invalid amount to burn","Invalid amount to mint":"Invalid amount to mint","Invalid bridge protocol fee":"Invalid bridge protocol fee","Invalid expiration":"Invalid expiration","Invalid flashloan premium":"Invalid flashloan premium","Invalid return value of the flashloan executor function":"Invalid return value of the flashloan executor function","Invalid signature":"Invalid signature","Isolated":"Isolated","Isolated Debt Ceiling":"Isolated Debt Ceiling","Isolated assets have limited borrowing power and other assets cannot be used as collateral.":"Isolated assets have limited borrowing power and other assets cannot be used as collateral.","Join the community discussion":"Join the community discussion","LEARN MORE":"LEARN MORE","Language":"Language","Learn more":"Learn more","Learn more about risks involved":"Learn more about risks involved","Learn more in our <0>FAQ guide":"Learn more in our <0>FAQ guide","Learn more.":"Learn more.","Linked addresses":"Linked addresses","Links":"Links","Liqudation":"Liqudation","Liquidated collateral":"Liquidated collateral","Liquidation":"Liquidation","Liquidation <0/> threshold":"Liquidation <0/> threshold","Liquidation Threshold":"Liquidation Threshold","Liquidation at":"Liquidation at","Liquidation penalty":"Liquidation penalty","Liquidation risk":"Liquidation risk","Liquidation risk parameters":"Liquidation risk parameters","Liquidation threshold":"Liquidation threshold","Liquidation value":"Liquidation value","Loading data...":"Loading data...","Ltv validation failed":"Ltv validation failed","MAI has been paused due to a community decision. Supply, borrows and repays are impacted. <0>More details":"MAI has been paused due to a community decision. Supply, borrows and repays are impacted. <0>More details","MAX":"MAX","Manage analytics":"Manage analytics","Market":"Market","Markets":"Markets","Max":"Max","Max LTV":"Max LTV","Max slashing":"Max slashing","Max slippage":"Max slippage","Maximum amount available to borrow against this asset is limited because debt ceiling is at {0}%.":["Maximum amount available to borrow against this asset is limited because debt ceiling is at ",["0"],"%."],"Maximum amount available to borrow is <0/> {0} (<1/>).":["Maximum amount available to borrow is <0/> ",["0"]," (<1/>)."],"Maximum amount available to borrow is limited because protocol borrow cap is nearly reached.":"Maximum amount available to borrow is limited because protocol borrow cap is nearly reached.","Maximum amount available to supply is <0/> {0} (<1/>).":["Maximum amount available to supply is <0/> ",["0"]," (<1/>)."],"Maximum amount available to supply is limited because protocol supply cap is at {0}%.":["Maximum amount available to supply is limited because protocol supply cap is at ",["0"],"%."],"Maximum loan to value":"Maximum loan to value","Meet GHO":"Meet GHO","Menu":"Menu","Migrate":"Migrate","Migrate to V3":"Migrate to V3","Migrate to v3":"Migrate to v3","Migrate to {0} v3 Market":["Migrate to ",["0"]," v3 Market"],"Migrated":"Migrated","Migrating":"Migrating","Migrating multiple collaterals and borrowed assets at the same time can be an expensive operation and might fail in certain situations.<0>Therefore it’s not recommended to migrate positions with more than 5 assets (deposited + borrowed) at the same time.":"Migrating multiple collaterals and borrowed assets at the same time can be an expensive operation and might fail in certain situations.<0>Therefore it’s not recommended to migrate positions with more than 5 assets (deposited + borrowed) at the same time.","Migration risks":"Migration risks","Minimum GHO borrow amount":"Minimum GHO borrow amount","Minimum USD value received":"Minimum USD value received","Minimum staked Aave amount":"Minimum staked Aave amount","Minimum {0} received":["Minimum ",["0"]," received"],"More":"More","NAY":"NAY","Need help connecting a wallet? <0>Read our FAQ":"Need help connecting a wallet? <0>Read our FAQ","Net APR":"Net APR","Net APY":"Net APY","Net APY is the combined effect of all supply and borrow positions on net worth, including incentives. It is possible to have a negative net APY if debt APY is higher than supply APY.":"Net APY is the combined effect of all supply and borrow positions on net worth, including incentives. It is possible to have a negative net APY if debt APY is higher than supply APY.","Net worth":"Net worth","Network":"Network","Network not supported for this wallet":"Network not supported for this wallet","New APY":"New APY","No assets selected to migrate.":"No assets selected to migrate.","No rewards to claim":"No rewards to claim","No search results{0}":["No search results",["0"]],"No transactions yet.":"No transactions yet.","No voting power":"No voting power","None":"None","Not a valid address":"Not a valid address","Not enough balance on your wallet":"Not enough balance on your wallet","Not enough collateral to repay this amount of debt with":"Not enough collateral to repay this amount of debt with","Not enough staked balance":"Not enough staked balance","Not enough voting power to participate in this proposal":"Not enough voting power to participate in this proposal","Not reached":"Not reached","Nothing borrowed yet":"Nothing borrowed yet","Nothing found":"Nothing found","Nothing staked":"Nothing staked","Nothing supplied yet":"Nothing supplied yet","Notify":"Notify","Ok, Close":"Ok, Close","Ok, I got it":"Ok, I got it","Operation not supported":"Operation not supported","Oracle price":"Oracle price","Overview":"Overview","Page not found":"Page not found","Participating in this {symbol} reserve gives annualized rewards.":["Participating in this ",["symbol"]," reserve gives annualized rewards."],"Pending...":"Pending...","Per the community, the Fantom market has been frozen.":"Per the community, the Fantom market has been frozen.","Per the community, the V2 AMM market has been deprecated.":"Per the community, the V2 AMM market has been deprecated.","Please always be aware of your <0>Health Factor (HF) when partially migrating a position and that your rates will be updated to V3 rates.":"Please always be aware of your <0>Health Factor (HF) when partially migrating a position and that your rates will be updated to V3 rates.","Please connect a wallet to view your personal information here.":"Please connect a wallet to view your personal information here.","Please connect your wallet to be able to switch your tokens.":"Please connect your wallet to be able to switch your tokens.","Please connect your wallet to get free testnet assets.":"Please connect your wallet to get free testnet assets.","Please connect your wallet to see migration tool.":"Please connect your wallet to see migration tool.","Please connect your wallet to see your supplies, borrowings, and open positions.":"Please connect your wallet to see your supplies, borrowings, and open positions.","Please connect your wallet to view transaction history.":"Please connect your wallet to view transaction history.","Please enter a valid wallet address.":"Please enter a valid wallet address.","Please switch to {networkName}.":["Please switch to ",["networkName"],"."],"Please, connect your wallet":"Please, connect your wallet","Pool addresses provider is not registered":"Pool addresses provider is not registered","Powered by":"Powered by","Preview tx and migrate":"Preview tx and migrate","Price":"Price","Price data is not currently available for this reserve on the protocol subgraph":"Price data is not currently available for this reserve on the protocol subgraph","Price impact":"Price impact","Price impact is the spread between the total value of the entry tokens switched and the destination tokens obtained (in USD), which results from the limited liquidity of the trading pair.":"Price impact is the spread between the total value of the entry tokens switched and the destination tokens obtained (in USD), which results from the limited liquidity of the trading pair.","Price impact {0}%":["Price impact ",["0"],"%"],"Privacy":"Privacy","Proposal details":"Proposal details","Proposal overview":"Proposal overview","Proposals":"Proposals","Proposition":"Proposition","Protocol borrow cap at 100% for this asset. Further borrowing unavailable.":"Protocol borrow cap at 100% for this asset. Further borrowing unavailable.","Protocol borrow cap is at 100% for this asset. Further borrowing unavailable.":"Protocol borrow cap is at 100% for this asset. Further borrowing unavailable.","Protocol debt ceiling is at 100% for this asset. Further borrowing against this asset is unavailable.":"Protocol debt ceiling is at 100% for this asset. Further borrowing against this asset is unavailable.","Protocol debt ceiling is at 100% for this asset. Futher borrowing against this asset is unavailable.":"Protocol debt ceiling is at 100% for this asset. Futher borrowing against this asset is unavailable.","Protocol supply cap at 100% for this asset. Further supply unavailable.":"Protocol supply cap at 100% for this asset. Further supply unavailable.","Protocol supply cap is at 100% for this asset. Further supply unavailable.":"Protocol supply cap is at 100% for this asset. Further supply unavailable.","Quorum":"Quorum","Rate change":"Rate change","Raw-Ipfs":"Raw-Ipfs","Reached":"Reached","Reactivate cooldown period to unstake {0} {stakedToken}":["Reactivate cooldown period to unstake ",["0"]," ",["stakedToken"]],"Read more here.":"Read more here.","Read-only mode allows to see address positions in Aave, but you won't be able to perform transactions.":"Read-only mode allows to see address positions in Aave, but you won't be able to perform transactions.","Read-only mode.":"Read-only mode.","Read-only mode. Connect to a wallet to perform transactions.":"Read-only mode. Connect to a wallet to perform transactions.","Receive (est.)":"Receive (est.)","Received":"Received","Recipient address":"Recipient address","Rejected connection request":"Rejected connection request","Reload":"Reload","Reload the page":"Reload the page","Remaining debt":"Remaining debt","Remaining supply":"Remaining supply","Remove":"Remove","Repaid":"Repaid","Repay":"Repay","Repay with":"Repay with","Repay {symbol}":["Repay ",["symbol"]],"Repaying {symbol}":["Repaying ",["symbol"]],"Repayment amount to reach {0}% utilization":["Repayment amount to reach ",["0"],"% utilization"],"Representative smart contract wallet (ie. Safe) addresses on other chains.":"Representative smart contract wallet (ie. Safe) addresses on other chains.","Representing smart contract wallet (ie. Safe) addresses on other chains.":"Representing smart contract wallet (ie. Safe) addresses on other chains.","Reserve Size":"Reserve Size","Reserve factor":"Reserve factor","Reserve factor is a percentage of interest which goes to a {0} that is controlled by Aave governance to promote ecosystem growth.":["Reserve factor is a percentage of interest which goes to a ",["0"]," that is controlled by Aave governance to promote ecosystem growth."],"Reserve status & configuration":"Reserve status & configuration","Reset":"Reset","Restake":"Restake","Restake {symbol}":["Restake ",["symbol"]],"Restaked":"Restaked","Restaking {symbol}":["Restaking ",["symbol"]],"Review approval tx details":"Review approval tx details","Review changes to continue":"Review changes to continue","Review tx":"Review tx","Review tx details":"Review tx details","Revoke power":"Revoke power","Reward(s) to claim":"Reward(s) to claim","Rewards APR":"Rewards APR","Risk details":"Risk details","SEE CHARTS":"SEE CHARTS","Safety of your deposited collateral against the borrowed assets and its underlying value.":"Safety of your deposited collateral against the borrowed assets and its underlying value.","Save and share":"Save and share","Seems like we can't switch the network automatically. Please check if you can change it from the wallet.":"Seems like we can't switch the network automatically. Please check if you can change it from the wallet.","Select":"Select","Select APY type to switch":"Select APY type to switch","Select an asset":"Select an asset","Select language":"Select language","Select slippage tolerance":"Select slippage tolerance","Select v2 borrows to migrate":"Select v2 borrows to migrate","Select v2 supplies to migrate":"Select v2 supplies to migrate","Selected assets have successfully migrated. Visit the Market Dashboard to see them.":"Selected assets have successfully migrated. Visit the Market Dashboard to see them.","Selected borrow assets":"Selected borrow assets","Selected supply assets":"Selected supply assets","Send feedback":"Send feedback","Set up delegation":"Set up delegation","Setup notifications about your Health Factor using the Hal app.":"Setup notifications about your Health Factor using the Hal app.","Share on Lens":"Share on Lens","Share on twitter":"Share on twitter","Show":"Show","Show Frozen or paused assets":"Show Frozen or paused assets","Show assets with 0 balance":"Show assets with 0 balance","Sign to continue":"Sign to continue","Signatures ready":"Signatures ready","Signing":"Signing","Since this asset is frozen, the only available actions are withdraw and repay which can be accessed from the <0>Dashboard":"Since this asset is frozen, the only available actions are withdraw and repay which can be accessed from the <0>Dashboard","Since this is a test network, you can get any of the assets if you have ETH on your wallet":"Since this is a test network, you can get any of the assets if you have ETH on your wallet","Slippage":"Slippage","Slippage is the difference between the quoted and received amounts from changing market conditions between the moment the transaction is submitted and its verification.":"Slippage is the difference between the quoted and received amounts from changing market conditions between the moment the transaction is submitted and its verification.","Some migrated assets will not be used as collateral due to enabled isolation mode in {marketName} V3 Market. Visit <0>{marketName} V3 Dashboard to manage isolation mode.":["Some migrated assets will not be used as collateral due to enabled isolation mode in ",["marketName"]," V3 Market. Visit <0>",["marketName"]," V3 Dashboard to manage isolation mode."],"Something went wrong":"Something went wrong","Sorry, an unexpected error happened. In the meantime you may try reloading the page, or come back later.":"Sorry, an unexpected error happened. In the meantime you may try reloading the page, or come back later.","Sorry, we couldn't find the page you were looking for.":"Sorry, we couldn't find the page you were looking for.","Spanish":"Spanish","Stable":"Stable","Stable Interest Type is disabled for this currency":"Stable Interest Type is disabled for this currency","Stable borrowing is enabled":"Stable borrowing is enabled","Stable borrowing is not enabled":"Stable borrowing is not enabled","Stable debt supply is not zero":"Stable debt supply is not zero","Stable interest rate will <0>stay the same for the duration of your loan. Recommended for long-term loan periods and for users who prefer predictability.":"Stable interest rate will <0>stay the same for the duration of your loan. Recommended for long-term loan periods and for users who prefer predictability.","Stablecoin":"Stablecoin","Stake":"Stake","Stake AAVE":"Stake AAVE","Stake ABPT":"Stake ABPT","Stake cooldown activated":"Stake cooldown activated","Staked":"Staked","Staking":"Staking","Staking APR":"Staking APR","Staking Rewards":"Staking Rewards","Staking balance":"Staking balance","Staking discount":"Staking discount","State":"State","Supplied":"Supplied","Supplied asset amount":"Supplied asset amount","Supply":"Supply","Supply APY":"Supply APY","Supply apy":"Supply apy","Supply balance":"Supply balance","Supply balance after switch":"Supply balance after switch","Supply cap is exceeded":"Supply cap is exceeded","Supply cap on target reserve reached. Try lowering the amount.":"Supply cap on target reserve reached. Try lowering the amount.","Supply {symbol}":["Supply ",["symbol"]],"Supplying your":"Supplying your","Supplying {symbol}":["Supplying ",["symbol"]],"Switch":"Switch","Switch APY type":"Switch APY type","Switch E-Mode":"Switch E-Mode","Switch E-Mode category":"Switch E-Mode category","Switch Network":"Switch Network","Switch borrow position":"Switch borrow position","Switch rate":"Switch rate","Switch to":"Switch to","Switched":"Switched","Switching":"Switching","Switching E-Mode":"Switching E-Mode","Switching rate":"Switching rate","Techpaper":"Techpaper","Terms":"Terms","Test Assets":"Test Assets","Testnet mode":"Testnet mode","Testnet mode is ON":"Testnet mode is ON","Thank you for voting!!":"Thank you for voting!!","The % of your total borrowing power used. This is based on the amount of your collateral supplied and the total amount that you can borrow.":"The % of your total borrowing power used. This is based on the amount of your collateral supplied and the total amount that you can borrow.","The Aave Balancer Pool Token (ABPT) is a liquidity pool token. You can receive ABPT by depositing a combination of AAVE + ETH in the Balancer liquidity pool. You can then stake your BPT in the Safety Module to secure the protocol and earn Safety Incentives.":"The Aave Balancer Pool Token (ABPT) is a liquidity pool token. You can receive ABPT by depositing a combination of AAVE + ETH in the Balancer liquidity pool. You can then stake your BPT in the Safety Module to secure the protocol and earn Safety Incentives.","The Aave Protocol is programmed to always use the price of 1 GHO = $1. This is different from using market pricing via oracles for other crypto assets. This creates stabilizing arbitrage opportunities when the price of GHO fluctuates.":"The Aave Protocol is programmed to always use the price of 1 GHO = $1. This is different from using market pricing via oracles for other crypto assets. This creates stabilizing arbitrage opportunities when the price of GHO fluctuates.","The Maximum LTV ratio represents the maximum borrowing power of a specific collateral. For example, if a collateral has an LTV of 75%, the user can borrow up to 0.75 worth of ETH in the principal currency for every 1 ETH worth of collateral.":"The Maximum LTV ratio represents the maximum borrowing power of a specific collateral. For example, if a collateral has an LTV of 75%, the user can borrow up to 0.75 worth of ETH in the principal currency for every 1 ETH worth of collateral.","The Stable Rate is not enabled for this currency":"The Stable Rate is not enabled for this currency","The address of the pool addresses provider is invalid":"The address of the pool addresses provider is invalid","The app is running in testnet mode. Learn how it works in":"The app is running in testnet mode. Learn how it works in","The caller of the function is not an AToken":"The caller of the function is not an AToken","The caller of this function must be a pool":"The caller of this function must be a pool","The collateral balance is 0":"The collateral balance is 0","The collateral chosen cannot be liquidated":"The collateral chosen cannot be liquidated","The cooldown period is the time required prior to unstaking your tokens (20 days). You can only withdraw your assets from the Security Module after the cooldown period and within the unstake window.<0>Learn more":"The cooldown period is the time required prior to unstaking your tokens (20 days). You can only withdraw your assets from the Security Module after the cooldown period and within the unstake window.<0>Learn more","The cooldown period is {0}. After {1} of cooldown, you will enter unstake window of {2}. You will continue receiving rewards during cooldown and unstake window.":["The cooldown period is ",["0"],". After ",["1"]," of cooldown, you will enter unstake window of ",["2"],". You will continue receiving rewards during cooldown and unstake window."],"The effects on the health factor would cause liquidation. Try lowering the amount.":"The effects on the health factor would cause liquidation. Try lowering the amount.","The loan to value of the migrated positions would cause liquidation. Increase migrated collateral or reduce migrated borrow to continue.":"The loan to value of the migrated positions would cause liquidation. Increase migrated collateral or reduce migrated borrow to continue.","The requested amount is greater than the max loan size in stable rate mode":"The requested amount is greater than the max loan size in stable rate mode","The total amount of your assets denominated in USD that can be used as collateral for borrowing assets.":"The total amount of your assets denominated in USD that can be used as collateral for borrowing assets.","The underlying asset cannot be rescued":"The underlying asset cannot be rescued","The underlying balance needs to be greater than 0":"The underlying balance needs to be greater than 0","The weighted average of APY for all borrowed assets, including incentives.":"The weighted average of APY for all borrowed assets, including incentives.","The weighted average of APY for all supplied assets, including incentives.":"The weighted average of APY for all supplied assets, including incentives.","There are not enough funds in the{0}reserve to borrow":["There are not enough funds in the",["0"],"reserve to borrow"],"There is not enough collateral to cover a new borrow":"There is not enough collateral to cover a new borrow","There is not enough liquidity for the target asset to perform the switch. Try lowering the amount.":"There is not enough liquidity for the target asset to perform the switch. Try lowering the amount.","There was some error. Please try changing the parameters or <0><1>copy the error":"There was some error. Please try changing the parameters or <0><1>copy the error","These assets are temporarily frozen or paused by Aave community decisions, meaning that further supply / borrow, or rate swap of these assets are unavailable. Withdrawals and debt repayments are allowed. Follow the <0>Aave governance forum for further updates.":"These assets are temporarily frozen or paused by Aave community decisions, meaning that further supply / borrow, or rate swap of these assets are unavailable. Withdrawals and debt repayments are allowed. Follow the <0>Aave governance forum for further updates.","These funds have been borrowed and are not available for withdrawal at this time.":"These funds have been borrowed and are not available for withdrawal at this time.","This action will reduce V2 health factor below liquidation threshold. retain collateral or migrate borrow position to continue.":"This action will reduce V2 health factor below liquidation threshold. retain collateral or migrate borrow position to continue.","This action will reduce health factor of V3 below liquidation threshold. Increase migrated collateral or reduce migrated borrow to continue.":"This action will reduce health factor of V3 below liquidation threshold. Increase migrated collateral or reduce migrated borrow to continue.","This action will reduce your health factor. Please be mindful of the increased risk of collateral liquidation.":"This action will reduce your health factor. Please be mindful of the increased risk of collateral liquidation.","This address is blocked on app.aave.com because it is associated with one or more":"This address is blocked on app.aave.com because it is associated with one or more","This asset has almost reached its borrow cap. There is only {messageValue} available to be borrowed from this market.":["This asset has almost reached its borrow cap. There is only ",["messageValue"]," available to be borrowed from this market."],"This asset has almost reached its supply cap. There can only be {messageValue} supplied to this market.":["This asset has almost reached its supply cap. There can only be ",["messageValue"]," supplied to this market."],"This asset has been paused due to a community decision. Supply, withdraw, borrows and repays are impacted.":"This asset has been paused due to a community decision. Supply, withdraw, borrows and repays are impacted.","This asset has reached its borrow cap. Nothing is available to be borrowed from this market.":"This asset has reached its borrow cap. Nothing is available to be borrowed from this market.","This asset has reached its supply cap. Nothing is available to be supplied from this market.":"This asset has reached its supply cap. Nothing is available to be supplied from this market.","This asset is frozen due to an Aave Protocol Governance decision. <0>More details":"This asset is frozen due to an Aave Protocol Governance decision. <0>More details","This asset is frozen due to an Aave Protocol Governance decision. On the 20th of December 2022, renFIL will no longer be supported and cannot be bridged back to its native network. It is recommended to withdraw supply positions and repay borrow positions so that renFIL can be bridged back to FIL before the deadline. After this date, it will no longer be possible to convert renFIL to FIL. <0>More details":"This asset is frozen due to an Aave Protocol Governance decision. On the 20th of December 2022, renFIL will no longer be supported and cannot be bridged back to its native network. It is recommended to withdraw supply positions and repay borrow positions so that renFIL can be bridged back to FIL before the deadline. After this date, it will no longer be possible to convert renFIL to FIL. <0>More details","This asset is frozen due to an Aave community decision. <0>More details":"This asset is frozen due to an Aave community decision. <0>More details","This asset is planned to be offboarded due to an Aave Protocol Governance decision. <0>More details":"This asset is planned to be offboarded due to an Aave Protocol Governance decision. <0>More details","This gas calculation is only an estimation. Your wallet will set the price of the transaction. You can modify the gas settings directly from your wallet provider.":"This gas calculation is only an estimation. Your wallet will set the price of the transaction. You can modify the gas settings directly from your wallet provider.","This integration was<0>proposed and approvedby the community.":"This integration was<0>proposed and approvedby the community.","This is the total amount available for you to borrow. You can borrow based on your collateral and until the borrow cap is reached.":"This is the total amount available for you to borrow. You can borrow based on your collateral and until the borrow cap is reached.","This is the total amount that you are able to supply to in this reserve. You are able to supply your wallet balance up until the supply cap is reached.":"This is the total amount that you are able to supply to in this reserve. You are able to supply your wallet balance up until the supply cap is reached.","This represents the threshold at which a borrow position will be considered undercollateralized and subject to liquidation for each collateral. For example, if a collateral has a liquidation threshold of 80%, it means that the position will be liquidated when the debt value is worth 80% of the collateral value.":"This represents the threshold at which a borrow position will be considered undercollateralized and subject to liquidation for each collateral. For example, if a collateral has a liquidation threshold of 80%, it means that the position will be liquidated when the debt value is worth 80% of the collateral value.","Time left to be able to withdraw your staked asset.":"Time left to be able to withdraw your staked asset.","Time left to unstake":"Time left to unstake","Time left until the withdrawal window closes.":"Time left until the withdrawal window closes.","Tip: Try increasing slippage or reduce input amount":"Tip: Try increasing slippage or reduce input amount","To borrow you need to supply any asset to be used as collateral.":"To borrow you need to supply any asset to be used as collateral.","To continue, you need to grant Aave smart contracts permission to move your funds from your wallet. Depending on the asset and wallet you use, it is done by signing the permission message (gas free), or by submitting an approval transaction (requires gas). <0>Learn more":"To continue, you need to grant Aave smart contracts permission to move your funds from your wallet. Depending on the asset and wallet you use, it is done by signing the permission message (gas free), or by submitting an approval transaction (requires gas). <0>Learn more","To enable E-mode for the {0} category, all borrow positions outside of this category must be closed.":["To enable E-mode for the ",["0"]," category, all borrow positions outside of this category must be closed."],"To repay on behalf of a user an explicit amount to repay is needed":"To repay on behalf of a user an explicit amount to repay is needed","To request access for this permissioned market, please visit: <0>Acces Provider Name":"To request access for this permissioned market, please visit: <0>Acces Provider Name","To submit a proposal for minor changes to the protocol, you'll need at least 80.00K power. If you want to change the core code base, you'll need 320k power.<0>Learn more.":"To submit a proposal for minor changes to the protocol, you'll need at least 80.00K power. If you want to change the core code base, you'll need 320k power.<0>Learn more.","Top 10 addresses":"Top 10 addresses","Total available":"Total available","Total borrowed":"Total borrowed","Total borrows":"Total borrows","Total emission per day":"Total emission per day","Total interest accrued":"Total interest accrued","Total market size":"Total market size","Total supplied":"Total supplied","Total worth":"Total worth","Track wallet":"Track wallet","Track wallet balance in read-only mode":"Track wallet balance in read-only mode","Transaction failed":"Transaction failed","Transaction history":"Transaction history","Transaction history is not currently available for this market":"Transaction history is not currently available for this market","Transaction overview":"Transaction overview","Transactions":"Transactions","UNSTAKE {symbol}":["UNSTAKE ",["symbol"]],"Unavailable":"Unavailable","Unbacked":"Unbacked","Unbacked mint cap is exceeded":"Unbacked mint cap is exceeded","Underlying asset does not exist in {marketName} v3 Market, hence this position cannot be migrated.":["Underlying asset does not exist in ",["marketName"]," v3 Market, hence this position cannot be migrated."],"Underlying token":"Underlying token","Unstake now":"Unstake now","Unstake window":"Unstake window","Unstaked":"Unstaked","Unstaking {symbol}":["Unstaking ",["symbol"]],"Update: Disruptions reported for WETH, WBTC, WMATIC, and USDT. AIP 230 will resolve the disruptions and the market will be operating as normal on ~26th May 13h00 UTC.":"Update: Disruptions reported for WETH, WBTC, WMATIC, and USDT. AIP 230 will resolve the disruptions and the market will be operating as normal on ~26th May 13h00 UTC.","Use it to vote for or against active proposals.":"Use it to vote for or against active proposals.","Use your AAVE, stkAAVE, or aAave balance to delegate your voting and proposition powers. You will not be sending any tokens, only the rights to vote and propose changes to the protocol. You can re-delegate or revoke power to self at any time.":"Use your AAVE, stkAAVE, or aAave balance to delegate your voting and proposition powers. You will not be sending any tokens, only the rights to vote and propose changes to the protocol. You can re-delegate or revoke power to self at any time.","Used as collateral":"Used as collateral","User cannot withdraw more than the available balance":"User cannot withdraw more than the available balance","User did not borrow the specified currency":"User did not borrow the specified currency","User does not have outstanding stable rate debt on this reserve":"User does not have outstanding stable rate debt on this reserve","User does not have outstanding variable rate debt on this reserve":"User does not have outstanding variable rate debt on this reserve","User is in isolation mode":"User is in isolation mode","User is trying to borrow multiple assets including a siloed one":"User is trying to borrow multiple assets including a siloed one","Users who stake AAVE in Safety Module (i.e. stkAAVE holders) receive a discount on GHO borrow interest rate. The discount applies to 100 GHO for every 1 stkAAVE held. Use the calculator below to see GHO borrow rate with the discount applied.":"Users who stake AAVE in Safety Module (i.e. stkAAVE holders) receive a discount on GHO borrow interest rate. The discount applies to 100 GHO for every 1 stkAAVE held. Use the calculator below to see GHO borrow rate with the discount applied.","Utilization Rate":"Utilization Rate","VIEW TX":"VIEW TX","VOTE NAY":"VOTE NAY","VOTE YAE":"VOTE YAE","Variable":"Variable","Variable debt supply is not zero":"Variable debt supply is not zero","Variable interest rate will <0>fluctuate based on the market conditions. Recommended for short-term positions.":"Variable interest rate will <0>fluctuate based on the market conditions. Recommended for short-term positions.","Variable rate":"Variable rate","Version 2":"Version 2","Version 3":"Version 3","View":"View","View Transactions":"View Transactions","View all votes":"View all votes","View contract":"View contract","View details":"View details","View on Explorer":"View on Explorer","Vote NAY":"Vote NAY","Vote YAE":"Vote YAE","Voted NAY":"Voted NAY","Voted YAE":"Voted YAE","Votes":"Votes","Voting":"Voting","Voting power":"Voting power","Voting results":"Voting results","Wallet Balance":"Wallet Balance","Wallet balance":"Wallet balance","Wallet not detected. Connect or install wallet and retry":"Wallet not detected. Connect or install wallet and retry","Wallets are provided by External Providers and by selecting you agree to Terms of those Providers. Your access to the wallet might be reliant on the External Provider being operational.":"Wallets are provided by External Providers and by selecting you agree to Terms of those Providers. Your access to the wallet might be reliant on the External Provider being operational.","We couldn't find any assets related to your search. Try again with a different asset name, symbol, or address.":"We couldn't find any assets related to your search. Try again with a different asset name, symbol, or address.","We couldn't find any transactions related to your search. Try again with a different asset name, or reset filters.":"We couldn't find any transactions related to your search. Try again with a different asset name, or reset filters.","We couldn’t detect a wallet. Connect a wallet to stake and view your balance.":"We couldn’t detect a wallet. Connect a wallet to stake and view your balance.","We suggest you go back to the Dashboard.":"We suggest you go back to the Dashboard.","Website":"Website","When a liquidation occurs, liquidators repay up to 50% of the outstanding borrowed amount on behalf of the borrower. In return, they can buy the collateral at a discount and keep the difference (liquidation penalty) as a bonus.":"When a liquidation occurs, liquidators repay up to 50% of the outstanding borrowed amount on behalf of the borrower. In return, they can buy the collateral at a discount and keep the difference (liquidation penalty) as a bonus.","With a voting power of <0/>":"With a voting power of <0/>","With testnet Faucet you can get free assets to test the Aave Protocol. Make sure to switch your wallet provider to the appropriate testnet network, select desired asset, and click ‘Faucet’ to get tokens transferred to your wallet. The assets on a testnet are not “real,” meaning they have no monetary value. <0>Learn more":"With testnet Faucet you can get free assets to test the Aave Protocol. Make sure to switch your wallet provider to the appropriate testnet network, select desired asset, and click ‘Faucet’ to get tokens transferred to your wallet. The assets on a testnet are not “real,” meaning they have no monetary value. <0>Learn more","Withdraw":"Withdraw","Withdraw & Switch":"Withdraw & Switch","Withdraw and Switch":"Withdraw and Switch","Withdraw {symbol}":["Withdraw ",["symbol"]],"Withdrawing and Switching":"Withdrawing and Switching","Withdrawing this amount will reduce your health factor and increase risk of liquidation.":"Withdrawing this amount will reduce your health factor and increase risk of liquidation.","Withdrawing {symbol}":["Withdrawing ",["symbol"]],"Wrong Network":"Wrong Network","YAE":"YAE","You are entering Isolation mode":"You are entering Isolation mode","You can borrow this asset with a stable rate only if you borrow more than the amount you are supplying as collateral.":"You can borrow this asset with a stable rate only if you borrow more than the amount you are supplying as collateral.","You can not change Interest Type to stable as your borrowings are higher than your collateral":"You can not change Interest Type to stable as your borrowings are higher than your collateral","You can not disable E-Mode as your current collateralization level is above 80%, disabling E-Mode can cause liquidation. To exit E-Mode supply or repay borrowed positions.":"You can not disable E-Mode as your current collateralization level is above 80%, disabling E-Mode can cause liquidation. To exit E-Mode supply or repay borrowed positions.","You can not switch usage as collateral mode for this currency, because it will cause collateral call":"You can not switch usage as collateral mode for this currency, because it will cause collateral call","You can not use this currency as collateral":"You can not use this currency as collateral","You can not withdraw this amount because it will cause collateral call":"You can not withdraw this amount because it will cause collateral call","You can only switch to tokens with variable APY types. After this transaction, you may change the variable rate to a stable one if available.":"You can only switch to tokens with variable APY types. After this transaction, you may change the variable rate to a stable one if available.","You can only withdraw your assets from the Security Module after the cooldown period ends and the unstake window is active.":"You can only withdraw your assets from the Security Module after the cooldown period ends and the unstake window is active.","You can report incident to our <0>Discord or<1>Github.":"You can report incident to our <0>Discord or<1>Github.","You cancelled the transaction.":"You cancelled the transaction.","You did not participate in this proposal":"You did not participate in this proposal","You do not have supplies in this currency":"You do not have supplies in this currency","You don’t have enough funds in your wallet to repay the full amount. If you proceed to repay with your current amount of funds, you will still have a small borrowing position in your dashboard.":"You don’t have enough funds in your wallet to repay the full amount. If you proceed to repay with your current amount of funds, you will still have a small borrowing position in your dashboard.","You have no AAVE/stkAAVE/aAave balance to delegate.":"You have no AAVE/stkAAVE/aAave balance to delegate.","You have not borrow yet using this currency":"You have not borrow yet using this currency","You may borrow up to <0/> GHO at <1/> (max discount)":"You may borrow up to <0/> GHO at <1/> (max discount)","You may enter a custom amount in the field.":"You may enter a custom amount in the field.","You switched to {0} rate":["You switched to ",["0"]," rate"],"You unstake here":"You unstake here","You voted {0}":["You voted ",["0"]],"You will exit isolation mode and other tokens can now be used as collateral":"You will exit isolation mode and other tokens can now be used as collateral","You {action} <0/> {symbol}":["You ",["action"]," <0/> ",["symbol"]],"You've successfully switched borrow position.":"You've successfully switched borrow position.","You've successfully switched tokens.":"You've successfully switched tokens.","You've successfully withdrew & switched tokens.":"You've successfully withdrew & switched tokens.","Your balance is lower than the selected amount.":"Your balance is lower than the selected amount.","Your borrows":"Your borrows","Your current loan to value based on your collateral supplied.":"Your current loan to value based on your collateral supplied.","Your health factor and loan to value determine the assurance of your collateral. To avoid liquidations you can supply more collateral or repay borrow positions.":"Your health factor and loan to value determine the assurance of your collateral. To avoid liquidations you can supply more collateral or repay borrow positions.","Your info":"Your info","Your infossss":"Your infossss","Your proposition power is based on your AAVE/stkAAVE balance and received delegations.":"Your proposition power is based on your AAVE/stkAAVE balance and received delegations.","Your reward balance is 0":"Your reward balance is 0","Your supplies":"Your supplies","Your voting info":"Your voting info","Your voting power is based on your AAVE/stkAAVE balance and received delegations.":"Your voting power is based on your AAVE/stkAAVE balance and received delegations.","Your {name} wallet is empty. Purchase or transfer assets or use <0>{0} to transfer your {network} assets.":["Your ",["name"]," wallet is empty. Purchase or transfer assets or use <0>",["0"]," to transfer your ",["network"]," assets."],"Your {name} wallet is empty. Purchase or transfer assets.":["Your ",["name"]," wallet is empty. Purchase or transfer assets."],"Your {networkName} wallet is empty. Get free test assets at":["Your ",["networkName"]," wallet is empty. Get free test assets at"],"Your {networkName} wallet is empty. Get free test {0} at":["Your ",["networkName"]," wallet is empty. Get free test ",["0"]," at"],"Zero address not valid":"Zero address not valid","assets":"assets","blocked activities":"blocked activities","copy the error":"copy the error","disabled":"disabled","documentation":"documentation","enabled":"enabled","ends":"ends","for":"for","of":"of","on":"on","please check that the amount you want to supply is not currently being used for staking. If it is being used for staking, your transaction might fail.":"please check that the amount you want to supply is not currently being used for staking. If it is being used for staking, your transaction might fail.","repaid":"repaid","stETH supplied as collateral will continue to accrue staking rewards provided by daily rebases.":"stETH supplied as collateral will continue to accrue staking rewards provided by daily rebases.","stETH tokens will be migrated to Wrapped stETH using Lido Protocol wrapper which leads to supply balance change after migration: {0}":["stETH tokens will be migrated to Wrapped stETH using Lido Protocol wrapper which leads to supply balance change after migration: ",["0"]],"staking view":"staking view","starts":"starts","stkAAVE holders get a discount on GHO borrow rate":"stkAAVE holders get a discount on GHO borrow rate","to":"to","tokens is not the same as staking them. If you wish to stake your":"tokens is not the same as staking them. If you wish to stake your","tokens, please go to the":"tokens, please go to the","withdrew":"withdrew","{0}":[["0"]],"{0} Balance":[["0"]," Balance"],"{0} Faucet":[["0"]," Faucet"],"{0} on-ramp service is provided by External Provider and by selecting you agree to Terms of the Provider. Your access to the service might be reliant on the External Provider being operational.":[["0"]," on-ramp service is provided by External Provider and by selecting you agree to Terms of the Provider. Your access to the service might be reliant on the External Provider being operational."],"{0}{name}":[["0"],["name"]],"{currentMethod}":[["currentMethod"]],"{d}d":[["d"],"d"],"{h}h":[["h"],"h"],"{m}m":[["m"],"m"],"{networkName} Faucet":[["networkName"]," Faucet"],"{notifyText}":[["notifyText"]],"{numSelected}/{numAvailable} assets selected":[["numSelected"],"/",["numAvailable"]," assets selected"],"{s}s":[["s"],"s"],"{title}":[["title"]],"{tooltipText}":[["tooltipText"]]}}; \ No newline at end of file diff --git a/src/locales/en/messages.po b/src/locales/en/messages.po index e26761486b..e767eb1872 100644 --- a/src/locales/en/messages.po +++ b/src/locales/en/messages.po @@ -3040,12 +3040,15 @@ msgstr "Your health factor and loan to value determine the assurance of your col #: pages/governance/index.governance.tsx #: pages/reserve-overview.page.tsx #: src/modules/governance/UserGovernanceInfo.tsx -#: src/modules/governance/VotingPowerInfoPanel.tsx #: src/modules/reserve-overview/ReserveActions.tsx #: src/modules/reserve-overview/ReserveActions.tsx msgid "Your info" msgstr "Your info" +#: src/modules/governance/VotingPowerInfoPanel.tsx +msgid "Your infossss" +msgstr "Your infossss" + #: src/modules/governance/VotingPowerInfoPanel.tsx msgid "Your proposition power is based on your AAVE/stkAAVE balance and received delegations." msgstr "Your proposition power is based on your AAVE/stkAAVE balance and received delegations." diff --git a/src/modules/governance/VotingPowerInfoPanel.tsx b/src/modules/governance/VotingPowerInfoPanel.tsx index 8d66dc1e4e..217a9c5bdb 100644 --- a/src/modules/governance/VotingPowerInfoPanel.tsx +++ b/src/modules/governance/VotingPowerInfoPanel.tsx @@ -15,13 +15,14 @@ export function VotingPowerInfoPanel() { const currentMarketData = useRootStore((store) => store.currentMarketData); const { data: powers } = usePowers(currentMarketData); console.log('powers', powers); + console.log('FOOOOOOO'); return ( - Your info + Your infossss { const { aaveTokenAddress, stkAaveTokenAddress, aAaveTokenAddress } = governanceConfig; + const aaveGovernanceService = this.getAaveGovernanceService(marketData); - const [aaveTokenPower, stkAaveTokenPower] = await aaveGovernanceService.getTokensPower({ - user: user, - tokens: [aaveTokenAddress, stkAaveTokenAddress, aAaveTokenAddress], - }); + + const [aaveTokenPower, stkAaveTokenPower, aAaveTokenPower] = + await aaveGovernanceService.getTokensPower({ + user: user, + tokens: [aaveTokenAddress, stkAaveTokenAddress, aAaveTokenAddress], + }); + + console.log('aAaveTokenPower', aAaveTokenPower.votingPower.toString()); // todo setup powers for aAaveToken const powers = { votingPower: normalize( valueToBigNumber(aaveTokenPower.votingPower.toString()) .plus(stkAaveTokenPower.votingPower.toString()) - // .plust(aAaveTokenAddress.votingPower.toString()) + .plus(aAaveTokenPower.votingPower.toString()) .toString(), 18 ), + aAaveTokenPower, aaveTokenPower, stkAaveTokenPower, propositionPower: normalize( valueToBigNumber(aaveTokenPower.propositionPower.toString()) .plus(stkAaveTokenPower.propositionPower.toString()) + .plus(aAaveTokenPower.votingPower.toString()) .toString(), 18 ), + aAaveVotingDelegatee: checkIfDelegateeIsUser( + aAaveTokenPower.delegatedAddressVotingPower, + user + ), + aAavePropositionDelegatee: checkIfDelegateeIsUser( + aAaveTokenPower.delegatedAddressPropositionPower, + user + ), + aaveVotingDelegatee: checkIfDelegateeIsUser(aaveTokenPower.delegatedAddressVotingPower, user), aavePropositionDelegatee: checkIfDelegateeIsUser( aaveTokenPower.delegatedAddressPropositionPower, @@ -101,6 +123,8 @@ export class GovernanceService { user ), }; + + console.log('here the powers', powers); return powers; } } diff --git a/src/ui-config/governanceConfig.ts b/src/ui-config/governanceConfig.ts index b521002ab1..adf214f9e1 100644 --- a/src/ui-config/governanceConfig.ts +++ b/src/ui-config/governanceConfig.ts @@ -25,7 +25,7 @@ export interface GovernanceConfig { } export const governanceConfig: GovernanceConfig = { - chainId: ChainId.mainnet, + chainId: ChainId.sepolia, votingAssetName: 'AAVE + stkAAVE', averageNetworkBlockTime: 13.5, queryGovernanceDataUrl: 'https://api.thegraph.com/subgraphs/name/aave/governance-v2', @@ -35,10 +35,10 @@ export const governanceConfig: GovernanceConfig = { stkAaveTokenAddress: '0x354032B31339853A3D682613749F183328d07275', // '0x4da27a545c0c5b758a6ba100e3a049001de870f5', governanceForumLink: 'https://governance.aave.com', governanceFAQLink: 'https://docs.aave.com/faq/governance', - walletBalanceProvider: '0x8E8dAd5409E0263a51C0aB5055dA66Be28cFF922', + walletBalanceProvider: '0xCD4e0d6D2b1252E2A709B8aE97DBA31164C5a709', // < Sepolia main 0x8E8dAd5409E0263a51C0aB5055dA66Be28cFF922', governanceSnapshotLink: 'https://snapshot.org/#/aave.eth', addresses: { - AAVE_GOVERNANCE_V2: '0xEC568fffba86c094cf06b22134B23074DFE2252c', + AAVE_GOVERNANCE_V2: '0xc4ABF658C3Dda84225cF8A07d7D5Bb6Aa41d9E59', // '0xEC568fffba86c094cf06b22134B23074DFE2252c', AAVE_GOVERNANCE_V2_EXECUTOR_SHORT: '0x61910EcD7e8e942136CE7Fe7943f956cea1CC2f7', AAVE_GOVERNANCE_V2_EXECUTOR_LONG: '0xEE56e2B3D491590B5b31738cC34d5232F378a8D5', AAVE_GOVERNANCE_V2_HELPER: '0x78b04AD18d76B6E2F41C84af4C4C5C5c61b60a10', // '0xBb7baf0534423e3108E1D03c259104cDba2C1cB7', From e4ddf3450be8f356b93a68ef38c258480ccb6da5 Mon Sep 17 00:00:00 2001 From: Joaquin Battilana Date: Wed, 20 Dec 2023 00:56:31 -0300 Subject: [PATCH 39/84] feat: proposal structure preparing for vote --- .../proposal/[proposalId].governance.tsx | 1 + .../transactions/GovVote/GovVoteActions.tsx | 35 +++++-------------- .../transactions/GovVote/GovVoteModal.tsx | 8 ++--- .../GovVote/GovVoteModalContent.tsx | 26 ++++++-------- src/hooks/governance/useProposal.ts | 26 ++++++++------ src/hooks/useModal.tsx | 12 ++++--- src/modules/governance/proposal/VoteInfo.tsx | 35 +++++++------------ src/services/GovernanceV3Service.ts | 20 +++++------ src/services/VotingMachineService.ts | 5 +-- 9 files changed, 70 insertions(+), 98 deletions(-) diff --git a/pages/governance/proposal/[proposalId].governance.tsx b/pages/governance/proposal/[proposalId].governance.tsx index b4c70b9dbd..e06819e84c 100644 --- a/pages/governance/proposal/[proposalId].governance.tsx +++ b/pages/governance/proposal/[proposalId].governance.tsx @@ -30,6 +30,7 @@ export default function ProposalPage() { isLoading: newProposalLoading, error: newProposalError, } = useProposal(+proposalId); + const { data: constants, isLoading: constantsLoading } = useGetVotingConfig(); const proposalVotes = useProposalVotes({ proposalId }); diff --git a/src/components/transactions/GovVote/GovVoteActions.tsx b/src/components/transactions/GovVote/GovVoteActions.tsx index 8ccb9032f2..997459367f 100644 --- a/src/components/transactions/GovVote/GovVoteActions.tsx +++ b/src/components/transactions/GovVote/GovVoteActions.tsx @@ -1,48 +1,31 @@ -import { ProtocolAction } from '@aave/contract-helpers'; import { Trans } from '@lingui/macro'; -import { useTransactionHandler } from 'src/helpers/useTransactionHandler'; -import { useWeb3Context } from 'src/libs/hooks/useWeb3Context'; -import { useRootStore } from 'src/store/root'; +import { EnhancedProposal } from 'src/hooks/governance/useProposal'; +import { useModalContext } from 'src/hooks/useModal'; import { TxActionsWrapper } from '../TxActionsWrapper'; export type GovVoteActionsProps = { isWrongNetwork: boolean; blocked: boolean; - proposalId: number; + proposal: EnhancedProposal; support: boolean; }; export const GovVoteActions = ({ isWrongNetwork, blocked, - proposalId, + proposal, support, }: GovVoteActionsProps) => { - const submitVote = useRootStore((state) => state.submitVote); - const { currentAccount } = useWeb3Context(); + const { mainTxState, loadingTxns } = useModalContext(); - const { action, loadingTxns, mainTxState, requiresApproval } = useTransactionHandler({ - tryPermit: false, - handleGetTxns: async () => { - return submitVote({ - proposalId: Number(proposalId), - user: currentAccount, - support: support || false, - }); - }, - eventTxInfo: { - proposalId, - support, - }, - protocolAction: ProtocolAction.vote, - skip: blocked, - deps: [], - }); + const action = async () => { + console.log(proposal); + }; return ( { const { type, close, args } = useModalContext(); return ( - {args?.power && args?.proposalId && args?.support !== undefined && ( - + {args?.power && args?.proposal && args?.support !== undefined && ( + )} ); diff --git a/src/components/transactions/GovVote/GovVoteModalContent.tsx b/src/components/transactions/GovVote/GovVoteModalContent.tsx index 548df6a8fb..8c4a2c40bd 100644 --- a/src/components/transactions/GovVote/GovVoteModalContent.tsx +++ b/src/components/transactions/GovVote/GovVoteModalContent.tsx @@ -1,10 +1,9 @@ import { Trans } from '@lingui/macro'; import { Box, Button, Typography, useTheme } from '@mui/material'; +import { EnhancedProposal } from 'src/hooks/governance/useProposal'; import { useModalContext } from 'src/hooks/useModal'; -import { useProtocolDataContext } from 'src/hooks/useProtocolDataContext'; import { useWeb3Context } from 'src/libs/hooks/useWeb3Context'; import { useRootStore } from 'src/store/root'; -import { governanceConfig } from 'src/ui-config/governanceConfig'; import { getNetworkConfig } from 'src/utils/marketsAndNetworksConfig'; import { AIP } from 'src/utils/mixPanelEvents'; @@ -18,7 +17,7 @@ import { ChangeNetworkWarning } from '../Warnings/ChangeNetworkWarning'; import { GovVoteActions } from './GovVoteActions'; export type GovVoteModalContentProps = { - proposalId: number; + proposal: EnhancedProposal; support: boolean; power: string; }; @@ -35,13 +34,12 @@ export enum ErrorType { } export const GovVoteModalContent = ({ - proposalId, + proposal, support, power: votingPower, }: GovVoteModalContentProps) => { const { chainId: connectedChainId, readOnlyModeAddress } = useWeb3Context(); const { gasLimit, mainTxState: txState, txError } = useModalContext(); - const { currentNetworkConfig, currentChainId } = useProtocolDataContext(); const { palette } = useTheme(); const trackEvent = useRootStore((store) => store.trackEvent); @@ -65,15 +63,11 @@ export const GovVoteModalContent = ({ } }; - // is Network mismatched - const govChain = - currentNetworkConfig.isFork && - currentNetworkConfig.underlyingChainId === governanceConfig.chainId - ? currentChainId - : governanceConfig.chainId; - const isWrongNetwork = connectedChainId !== govChain; + const proposalVotingChain = proposal.proposalData.votingChainId; - const networkConfig = getNetworkConfig(govChain); + const isWrongNetwork = connectedChainId !== proposalVotingChain; + + const networkConfig = getNetworkConfig(proposalVotingChain); if (txError && txError.blocking) { return ; @@ -110,21 +104,21 @@ export const GovVoteModalContent = ({ <> {isWrongNetwork && !readOnlyModeAddress && ( - + )} {blockingError !== undefined && ( {handleBlocked()} )} - + Voting power} value={votingPower} /> {txError && } { async function fetchProposal( proposalId: number, governanceV3Service: GovernanceV3Service, - votingMachineService: VotingMachineService + votingMachineService: VotingMachineService, + user?: string ): Promise { const proposal = await getProposal(proposalId); const proposalData = (await governanceV3Service.getProposalsData(+proposalId, +proposalId, 1))[0]; const votingMachineData = ( - await votingMachineService.getProposalsData([ - { - id: +proposalData.id, - snapshotBlockHash: proposalData.proposalData.snapshotBlockHash, - chainId: proposalData.votingChainId, - votingPortalAddress: proposalData.proposalData.votingPortal, - }, - ]) + await votingMachineService.getProposalsData( + [ + { + id: +proposalData.id, + snapshotBlockHash: proposalData.proposalData.snapshotBlockHash, + chainId: proposalData.votingChainId, + votingPortalAddress: proposalData.proposalData.votingPortal, + }, + ], + user + ) )[0]; return { @@ -74,8 +79,9 @@ async function fetchProposal( export const useProposal = (proposalId: number) => { const { governanceV3Service, votingMachineSerivce } = useSharedDependencies(); + const user = useRootStore((store) => store.account); return useQuery({ - queryFn: () => fetchProposal(proposalId, governanceV3Service, votingMachineSerivce), + queryFn: () => fetchProposal(proposalId, governanceV3Service, votingMachineSerivce, user), queryKey: ['governance_proposal', proposalId], refetchOnMount: false, refetchOnWindowFocus: false, diff --git a/src/hooks/useModal.tsx b/src/hooks/useModal.tsx index 1d9688f4ed..3f78630b51 100644 --- a/src/hooks/useModal.tsx +++ b/src/hooks/useModal.tsx @@ -6,6 +6,8 @@ import { useRootStore } from 'src/store/root'; import { TxErrorType } from 'src/ui-config/errorMapping'; import { GENERAL } from 'src/utils/mixPanelEvents'; +import { EnhancedProposal } from './governance/useProposal'; + export enum ModalType { Supply, Withdraw, @@ -33,7 +35,7 @@ export enum ModalType { export interface ModalArgsType { underlyingAsset?: string; - proposalId?: number; + proposal?: EnhancedProposal; support?: boolean; power?: string; icon?: string; @@ -101,7 +103,7 @@ export interface ModalContextType { openGovDelegation: () => void; openRevokeGovDelegation: () => void; openV3Migration: () => void; - openGovVote: (proposalId: number, support: boolean, power: string) => void; + openGovVote: (proposal: EnhancedProposal, support: boolean, power: string) => void; openSwitch: (underlyingAsset?: string) => void; openGovRepresentatives: ( representatives: Array<{ chainId: ChainId; representative: string }> @@ -294,14 +296,14 @@ export const ModalContextProvider: React.FC = ({ children }) => { trackEvent(GENERAL.OPEN_MODAL, { modal: 'Revoke Governance Delegation' }); setType(ModalType.RevokeGovDelegation); }, - openGovVote: (proposalId, support, power) => { + openGovVote: (proposal, support, power) => { trackEvent(GENERAL.OPEN_MODAL, { modal: 'Vote', - proposalId: proposalId, + proposalId: proposal.proposalData.id, voteSide: support, }); setType(ModalType.GovVote); - setArgs({ proposalId, support, power }); + setArgs({ proposal, support, power }); }, openGovRepresentatives: (representatives) => { trackEvent(GENERAL.OPEN_MODAL, { modal: 'Representatives' }); diff --git a/src/modules/governance/proposal/VoteInfo.tsx b/src/modules/governance/proposal/VoteInfo.tsx index 45445469cb..dadfb1591a 100644 --- a/src/modules/governance/proposal/VoteInfo.tsx +++ b/src/modules/governance/proposal/VoteInfo.tsx @@ -1,15 +1,14 @@ import { ProposalV3State } from '@aave/contract-helpers'; import { Trans } from '@lingui/macro'; import { Button, Paper, Typography } from '@mui/material'; +import { constants } from 'ethers'; import { FormattedNumber } from 'src/components/primitives/FormattedNumber'; import { Row } from 'src/components/primitives/Row'; import { Warning } from 'src/components/primitives/Warning'; import { ConnectWalletButton } from 'src/components/WalletConnection/ConnectWalletButton'; import { EnhancedProposal } from 'src/hooks/governance/useProposal'; -// import { useVoteOnProposal } from 'src/hooks/governance/useVoteOnProposal'; -// import { useVotingPowerAt } from 'src/hooks/governance/useVotingPowerAt'; +import { useVotingPowerAt } from 'src/hooks/governance/useVotingPowerAt'; import { useModalContext } from 'src/hooks/useModal'; -// import { CustomProposalType } from 'src/static-build/proposal'; import { useRootStore } from 'src/store/root'; interface VoteInfoProps { @@ -19,26 +18,22 @@ interface VoteInfoProps { export function VoteInfo({ proposal }: VoteInfoProps) { const { openGovVote } = useModalContext(); const user = useRootStore((state) => state.account); - const currentMarketData = useRootStore((store) => store.currentMarketData); - console.log(currentMarketData); - // const { data: voteOnProposal } = useVoteOnProposal(currentMarketData, id); - // const { data: powerAtProposalStart } = useVotingPowerAt(currentMarketData, strategy, startBlock); + const voteOnProposal = proposal.votingMachineData.votedInfo; - const voteOnProposal = { - support: true, - }; + const blockHash = + proposal.proposalData.proposalData.snapshotBlockHash === constants.HashZero + ? 'latest' + : proposal.proposalData.proposalData.snapshotBlockHash; - const powerAtProposalStart = 0; + const { data: powerAtProposalStart } = useVotingPowerAt( + blockHash, + proposal.votingMachineData.votingAssets + ); const voteOngoing = proposal.proposalData.proposalData.state === ProposalV3State.Active; - // Messages - /* const didVote = powerAtProposalStart && voteOnProposal?.votingPower !== '0'; const showAlreadyVotedMsg = !!user && voteOnProposal && didVote; - */ - const didVote = true; - const showAlreadyVotedMsg = !!user && didVote; const showCannotVoteMsg = !!user && voteOngoing && Number(powerAtProposalStart) === 0; const showCanVoteMsg = @@ -104,9 +99,7 @@ export function VoteInfo({ proposal }: VoteInfoProps) { color="success" variant="contained" fullWidth - onClick={() => - openGovVote(+proposal.proposal.proposalId, true, powerAtProposalStart) - } + onClick={() => openGovVote(proposal, true, powerAtProposalStart)} > Vote YAE @@ -114,9 +107,7 @@ export function VoteInfo({ proposal }: VoteInfoProps) { color="error" variant="contained" fullWidth - onClick={() => - openGovVote(+proposal.proposal.proposalId, false, powerAtProposalStart) - } + onClick={() => openGovVote(proposal, false, powerAtProposalStart)} sx={{ mt: 2 }} > Vote NAY diff --git a/src/services/GovernanceV3Service.ts b/src/services/GovernanceV3Service.ts index 86b9035951..59e2a0b6bd 100644 --- a/src/services/GovernanceV3Service.ts +++ b/src/services/GovernanceV3Service.ts @@ -6,6 +6,8 @@ import { GovernanceDataHelperService, GovernancePowerType, } from '@aave/contract-helpers'; +import { BigNumber } from 'ethers'; +import { formatUnits } from 'ethers/lib/utils'; import { governanceV3Config, votingChainIds } from 'src/ui-config/governanceConfig'; import { getProvider } from 'src/utils/marketsAndNetworksConfig'; @@ -69,7 +71,6 @@ export class GovernanceV3Service { async getVotingPowerAt(blockHash: string, user: string, votingAssets: string[]) { const provider = getProvider(governanceV3Config.coreChainId); const block = await provider.getBlock(blockHash); - console.log('current block', block); const tokenServices = votingAssets.map((token) => { return { @@ -77,16 +78,13 @@ export class GovernanceV3Service { service: new AaveTokenV3Service(token, provider), }; }); - - const tokenPowerMap: { [token: string]: string } = {}; - await Promise.all( - tokenServices.map(async (s) => { - const power = await s.service.getPowerAt(block.number, user, GovernancePowerType.VOTING); - tokenPowerMap[s.asset.toLowerCase()] = power.toString(); - }) + const result = await Promise.all( + tokenServices.map( + async (s) => (await s.service.getPowerAt(block.number, user, GovernancePowerType.VOTING))[0] + ) ); - - console.log('powers', tokenPowerMap); - return tokenPowerMap; + console.log(result); + const totalPower = result.reduce((acum, elem) => acum.add(elem), BigNumber.from(0)); + return formatUnits(totalPower, 18); } } diff --git a/src/services/VotingMachineService.ts b/src/services/VotingMachineService.ts index fdc50b198b..160eca6494 100644 --- a/src/services/VotingMachineService.ts +++ b/src/services/VotingMachineService.ts @@ -27,7 +27,8 @@ export class VotingMachineService { snapshotBlockHash: string; chainId: number; votingPortalAddress: string; - }> + }>, + user?: string ) { const proposalsByVotingChainId: VotingChainProposal = proposals.reduce((acc, proposal) => { const chainId: VotingChain = proposal.chainId; @@ -61,7 +62,7 @@ export class VotingMachineService { votingPortalAddress ], proposals, - ZERO_ADDRESS + user || ZERO_ADDRESS ) ); }); From 26909f8419a1b3923395df20c7f322547d91ad4e Mon Sep 17 00:00:00 2001 From: Mark Hinschberger Date: Wed, 20 Dec 2023 13:48:59 -0500 Subject: [PATCH 40/84] feat: continue delegation --- .../GovDelegationModalContent.tsx | 7 +-- src/helpers/useGovernanceDelegate.tsx | 55 +++++++++++++++++-- src/hooks/governance/useGovernanceTokens.ts | 1 + src/modules/governance/DelegatedInfoPanel.tsx | 45 +++++++++++++-- src/services/GovernanceService.ts | 18 ++---- src/ui-config/SharedDependenciesProvider.tsx | 1 - 6 files changed, 101 insertions(+), 26 deletions(-) diff --git a/src/components/transactions/GovDelegation/GovDelegationModalContent.tsx b/src/components/transactions/GovDelegation/GovDelegationModalContent.tsx index 8be3cd4385..a9c538aa78 100644 --- a/src/components/transactions/GovDelegation/GovDelegationModalContent.tsx +++ b/src/components/transactions/GovDelegation/GovDelegationModalContent.tsx @@ -102,9 +102,9 @@ export const GovDelegationModalContent: React.FC symbol: 'aAave', name: 'aAave', amount: aAave, - votingDelegatee: powers?.aaveVotingDelegatee, - propositionDelegatee: powers?.aavePropositionDelegatee, - type: DelegationTokenType.AAVE, + votingDelegatee: powers?.aAaveVotingDelegatee, + propositionDelegatee: powers?.aAavePropositionDelegatee, + type: DelegationTokenType.aAave, }, ]; @@ -131,7 +131,6 @@ export const GovDelegationModalContent: React.FC if (txState.success) refetch(); }, [txState.success, refetch]); - console.log('whats the powers', powers); // is Network mismatched const govChain = currentNetworkConfig.isFork && diff --git a/src/helpers/useGovernanceDelegate.tsx b/src/helpers/useGovernanceDelegate.tsx index e9d4df6ee7..e77a37b840 100644 --- a/src/helpers/useGovernanceDelegate.tsx +++ b/src/helpers/useGovernanceDelegate.tsx @@ -34,6 +34,7 @@ export const useGovernanceDelegate = ( const [actionTx, setActionTx] = useState(); const [aaveNonce, setAaveNonce] = useState(0); const [stkAaveNonce, setStkAaveNonce] = useState(0); + const [aAaveNonce, setAAaveNonce] = useState(0); const [deadline, setDeadline] = useState(Math.floor(Date.now() / 1000 + 3600).toString()); const prepareDelegateSignature = useRootStore((state) => state.prepareDelegateSignature); const prepareDelegateByTypeSignature = useRootStore( @@ -91,11 +92,17 @@ export const useGovernanceDelegate = ( setMainTxState({ ...mainTxState, loading: true }); const { v: v1, r: r1, s: s1 } = utils.splitSignature(signatures[0]); const { v: v2, r: r2, s: s2 } = utils.splitSignature(signatures[1]); + const { v: v3, r: r3, s: s3 } = utils.splitSignature(signatures[2]); + let txs: EthereumTransactionTypeExtended[] = []; if (delegationType === DelegationType.BOTH) { txs = await delegateTokensBySig({ user, - tokens: [governanceConfig.aaveTokenAddress, governanceConfig.stkAaveTokenAddress], + tokens: [ + governanceConfig.aaveTokenAddress, + governanceConfig.stkAaveTokenAddress, + governanceConfig.aAaveTokenAddress, + ], data: [ { delegatee, @@ -113,12 +120,24 @@ export const useGovernanceDelegate = ( r: r2, s: s2, }, + { + delegatee, + nonce: aAaveNonce, + expiry: deadline, + v: v3, + r: r3, + s: s3, + }, ], }); } else { txs = await delegateTokensByTypeBySig({ user, - tokens: [governanceConfig.aaveTokenAddress, governanceConfig.stkAaveTokenAddress], + tokens: [ + governanceConfig.aaveTokenAddress, + governanceConfig.stkAaveTokenAddress, + governanceConfig.aAaveTokenAddress, + ], data: [ { delegatee, @@ -138,6 +157,15 @@ export const useGovernanceDelegate = ( r: r2, s: s2, }, + { + delegatee, + nonce: aAaveNonce, + expiry: deadline, + delegationType, + v: v3, + r: r3, + s: s3, + }, ], }); } @@ -196,11 +224,13 @@ export const useGovernanceDelegate = ( const [aaveNonce, stkAaveNonce] = await Promise.all([ getTokenNonce(user, governanceConfig.aaveTokenAddress), getTokenNonce(user, governanceConfig.stkAaveTokenAddress), + getTokenNonce(user, governanceConfig.aAaveTokenAddress), ]); const deadline = Math.floor(Date.now() / 1000 + 3600).toString(); setDeadline(deadline); setAaveNonce(aaveNonce); setStkAaveNonce(stkAaveNonce); + setAAaveNonce(aAaveNonce); const txs = [ { delegatee, @@ -216,6 +246,13 @@ export const useGovernanceDelegate = ( governanceTokenName: 'Staked Aave', expiry: deadline, }, + { + delegatee, + nonce: String(aAaveNonce), + governanceToken: governanceConfig.aAaveTokenAddress, + governanceTokenName: 'aAave', + expiry: deadline, + }, ]; const unsignedPayloads: string[] = []; for (const tx of txs) { @@ -275,7 +312,12 @@ export const useGovernanceDelegate = ( governanceToken: delegationTokenType === DelegationTokenType.AAVE ? governanceConfig.aaveTokenAddress - : governanceConfig.stkAaveTokenAddress, + : delegationTokenType === DelegationTokenType.STKAAVE + ? governanceConfig.stkAaveTokenAddress + : governanceConfig.aAaveTokenAddress, + // delegationTokenType === DelegationTokenType.AAVE + // ? governanceConfig.aaveTokenAddress + // : governanceConfig.stkAaveTokenAddress, }); } else { txs = await delegateByType({ @@ -284,7 +326,12 @@ export const useGovernanceDelegate = ( governanceToken: delegationTokenType === DelegationTokenType.AAVE ? governanceConfig.aaveTokenAddress - : governanceConfig.stkAaveTokenAddress, + : delegationTokenType === DelegationTokenType.STKAAVE + ? governanceConfig.stkAaveTokenAddress + : governanceConfig.aAaveTokenAddress, + // delegationTokenType === DelegationTokenType.AAVE + // ? governanceConfig.aaveTokenAddress + // : governanceConfig.stkAaveTokenAddress, }); } setActionTx(txs[0]); diff --git a/src/hooks/governance/useGovernanceTokens.ts b/src/hooks/governance/useGovernanceTokens.ts index 76d86b011b..7391c08679 100644 --- a/src/hooks/governance/useGovernanceTokens.ts +++ b/src/hooks/governance/useGovernanceTokens.ts @@ -7,6 +7,7 @@ export const useGovernanceTokens = () => { const { governanceWalletBalanceService } = useSharedDependencies(); const currentMarketData = useRootStore((store) => store.currentMarketData); const user = useRootStore((store) => store.account); + return useQuery({ queryFn: () => governanceWalletBalanceService.getGovernanceTokensBalance(currentMarketData, user), diff --git a/src/modules/governance/DelegatedInfoPanel.tsx b/src/modules/governance/DelegatedInfoPanel.tsx index 7907109e16..0e7667be5a 100644 --- a/src/modules/governance/DelegatedInfoPanel.tsx +++ b/src/modules/governance/DelegatedInfoPanel.tsx @@ -10,6 +10,7 @@ import { ExternalUserDisplay } from 'src/components/UserDisplay'; import { useGovernanceTokens } from 'src/hooks/governance/useGovernanceTokens'; import { usePowers } from 'src/hooks/governance/usePowers'; import { useModalContext } from 'src/hooks/useModal'; +import { ZERO_ADDRESS } from 'src/modules/governance/utils/formatProposal'; import { useRootStore } from 'src/store/root'; import { GENERAL } from 'src/utils/mixPanelEvents'; @@ -20,6 +21,8 @@ type DelegatedPowerProps = { aaveDelegatee: string; stkAaveDelegatee: string; title: string; + aAavePower: string; + aAaveDelegatee: string; }; const DelegatedPower: React.FC = ({ @@ -28,12 +31,15 @@ const DelegatedPower: React.FC = ({ stkAavePower, aaveDelegatee, stkAaveDelegatee, + aAaveDelegatee, + aAavePower, title, }) => { const isAaveSelfDelegated = !aaveDelegatee || user === aaveDelegatee; const isStkAaveSelfDelegated = !stkAaveDelegatee || user === stkAaveDelegatee; + const isAAaveSelfDelegated = !aAaveDelegatee || user === aAaveDelegatee; - if (isAaveSelfDelegated && isStkAaveSelfDelegated) return null; + if (isAaveSelfDelegated && isStkAaveSelfDelegated && isAAaveSelfDelegated) return null; return ( @@ -41,7 +47,9 @@ const DelegatedPower: React.FC = ({ {title} - {aaveDelegatee === stkAaveDelegatee ? ( + {aaveDelegatee !== ZERO_ADDRESS && + aaveDelegatee === stkAaveDelegatee && + aaveDelegatee === aAaveDelegatee ? ( = ({ )} + + {!isAAaveSelfDelegated && ( + + } + > + + + + + + )} )} @@ -109,7 +135,7 @@ export const DelegatedInfoPanel = () => { const address = useRootStore((store) => store.account); const currentMarketData = useRootStore((store) => store.currentMarketData); const { - data: { aave, stkAave }, + data: { aave, stkAave, aAave }, } = useGovernanceTokens(); const { data: powers } = usePowers(currentMarketData); const { openGovDelegation, openRevokeGovDelegation } = useModalContext(); @@ -120,16 +146,21 @@ export const DelegatedInfoPanel = () => { const disableButton = Number(aave) <= 0 && Number(stkAave) <= 0 && + Number(aAave) <= 0 && powers.aavePropositionDelegatee === '' && powers.aaveVotingDelegatee === '' && powers.stkAavePropositionDelegatee === '' && - powers.stkAaveVotingDelegatee === ''; + powers.stkAaveVotingDelegatee === '' && + powers.aAavePropositionDelegatee === '' && + powers.aAaveVotingDelegatee === ''; const showRevokeButton = powers.aavePropositionDelegatee !== '' || powers.aaveVotingDelegatee !== '' || powers.stkAavePropositionDelegatee !== '' || - powers.stkAaveVotingDelegatee !== ''; + powers.stkAaveVotingDelegatee !== '' || + powers.aAaveVotingDelegatee !== '' || + powers.aAavePropositionDelegatee !== ''; return ( @@ -163,6 +194,8 @@ export const DelegatedInfoPanel = () => { { /> - delegatee.toLocaleLowerCase() === userAddress.toLocaleLowerCase() ? '' : delegatee; - + delegatee == ZERO_ADDRESS || delegatee.toLocaleLowerCase() === userAddress.toLocaleLowerCase() + ? '' + : delegatee; export class GovernanceService { constructor(private readonly getProvider: (chainId: number) => Provider) {} private getAaveGovernanceService(marketData: MarketDataType) { const provider = this.getProvider(marketData.chainId); - - console.log( - 'PARAMS', - governanceConfig.addresses.AAVE_GOVERNANCE_V2, - governanceConfig.addresses.AAVE_GOVERNANCE_V2_HELPER - ); return new AaveGovernanceService(provider, { GOVERNANCE_ADDRESS: governanceConfig.addresses.AAVE_GOVERNANCE_V2, GOVERNANCE_HELPER_ADDRESS: governanceConfig.addresses.AAVE_GOVERNANCE_V2_HELPER, @@ -79,8 +77,6 @@ export class GovernanceService { user: user, tokens: [aaveTokenAddress, stkAaveTokenAddress, aAaveTokenAddress], }); - - console.log('aAaveTokenPower', aAaveTokenPower.votingPower.toString()); // todo setup powers for aAaveToken const powers = { votingPower: normalize( @@ -123,8 +119,6 @@ export class GovernanceService { user ), }; - - console.log('here the powers', powers); return powers; } } diff --git a/src/ui-config/SharedDependenciesProvider.tsx b/src/ui-config/SharedDependenciesProvider.tsx index 329fdff2c8..78a5185330 100644 --- a/src/ui-config/SharedDependenciesProvider.tsx +++ b/src/ui-config/SharedDependenciesProvider.tsx @@ -45,7 +45,6 @@ export const SharedDependenciesProvider: React.FC = ({ children }) => { const governanceService = new GovernanceService(getGovernanceProvider); const governanceV3Service = new GovernanceV3Service(); const votingMachineSerivce = new VotingMachineService(); - const governanceWalletBalanceService = new WalletBalanceService(getGovernanceProvider); const poolTokensBalanceService = new WalletBalanceService(getProvider); const uiStakeDataService = new UiStakeDataService(getStakeProvider); From e609e04a18b788c6cb9e5e1c7655b4a0cce1bafa Mon Sep 17 00:00:00 2001 From: Mark Hinschberger Date: Wed, 20 Dec 2023 14:14:27 -0500 Subject: [PATCH 41/84] chore: remove debug --- src/locales/en/messages.js | 2 +- src/locales/en/messages.po | 5 +---- src/modules/governance/VotingPowerInfoPanel.tsx | 4 +--- 3 files changed, 3 insertions(+), 8 deletions(-) diff --git a/src/locales/en/messages.js b/src/locales/en/messages.js index 12ed1ad382..554d40577e 100644 --- a/src/locales/en/messages.js +++ b/src/locales/en/messages.js @@ -1 +1 @@ -/*eslint-disable*/module.exports={messages:{"...":"...",".CSV":".CSV",".JSON":".JSON","<0><1><2/>Add <3/> stkAAVE to borrow at <4/> (max discount)":"<0><1><2/>Add <3/> stkAAVE to borrow at <4/> (max discount)","<0><1><2/>Add stkAAVE to see borrow rate with discount":"<0><1><2/>Add stkAAVE to see borrow rate with discount","<0>Ampleforth is a rebasing asset. Visit the <1>documentation to learn more.":"<0>Ampleforth is a rebasing asset. Visit the <1>documentation to learn more.","<0>Attention: Parameter changes via governance can alter your account health factor and risk of liquidation. Follow the <1>Aave governance forum for updates.":"<0>Attention: Parameter changes via governance can alter your account health factor and risk of liquidation. Follow the <1>Aave governance forum for updates.","<0>Slippage tolerance <1>{selectedSlippage}% <2>{0}":["<0>Slippage tolerance <1>",["selectedSlippage"],"% <2>",["0"],""],"AAVE holders (Ethereum network only) can stake their AAVE in the Safety Module to add more security to the protocol and earn Safety Incentives. In the case of a shortfall event, up to 30% of your stake can be slashed to cover the deficit, providing an additional layer of protection for the protocol.":"AAVE holders (Ethereum network only) can stake their AAVE in the Safety Module to add more security to the protocol and earn Safety Incentives. In the case of a shortfall event, up to 30% of your stake can be slashed to cover the deficit, providing an additional layer of protection for the protocol.","APR":"APR","APY":"APY","APY change":"APY change","APY type":"APY type","APY type change":"APY type change","APY with discount applied":"APY with discount applied","APY, borrow rate":"APY, borrow rate","APY, stable":"APY, stable","APY, variable":"APY, variable","AToken supply is not zero":"AToken supply is not zero","Aave Governance":"Aave Governance","Aave aToken":"Aave aToken","Aave debt token":"Aave debt token","Aave is a fully decentralized, community governed protocol by the AAVE token-holders. AAVE token-holders collectively discuss, propose, and vote on upgrades to the protocol. AAVE token-holders (Ethereum network only) can either vote themselves on new proposals or delagate to an address of choice. To learn more check out the Governance":"Aave is a fully decentralized, community governed protocol by the AAVE token-holders. AAVE token-holders collectively discuss, propose, and vote on upgrades to the protocol. AAVE token-holders (Ethereum network only) can either vote themselves on new proposals or delagate to an address of choice. To learn more check out the Governance","Aave per month":"Aave per month","About GHO":"About GHO","Account":"Account","Action cannot be performed because the reserve is frozen":"Action cannot be performed because the reserve is frozen","Action cannot be performed because the reserve is paused":"Action cannot be performed because the reserve is paused","Action requires an active reserve":"Action requires an active reserve","Activate Cooldown":"Activate Cooldown","Add stkAAVE to see borrow APY with the discount":"Add stkAAVE to see borrow APY with the discount","Add to wallet":"Add to wallet","Add {0} to wallet to track your balance.":["Add ",["0"]," to wallet to track your balance."],"Address is not a contract":"Address is not a contract","Addresses":"Addresses","Addresses ({0})":["Addresses (",["0"],")"],"All Assets":"All Assets","All done!":"All done!","All proposals":"All proposals","All transactions":"All transactions","Allowance required action":"Allowance required action","Allows you to decide whether to use a supplied asset as collateral. An asset used as collateral will affect your borrowing power and health factor.":"Allows you to decide whether to use a supplied asset as collateral. An asset used as collateral will affect your borrowing power and health factor.","Allows you to switch between <0>variable and <1>stable interest rates, where variable rate can increase and decrease depending on the amount of liquidity in the reserve, and stable rate will stay the same for the duration of your loan.":"Allows you to switch between <0>variable and <1>stable interest rates, where variable rate can increase and decrease depending on the amount of liquidity in the reserve, and stable rate will stay the same for the duration of your loan.","Amount":"Amount","Amount claimable":"Amount claimable","Amount in cooldown":"Amount in cooldown","Amount must be greater than 0":"Amount must be greater than 0","Amount to unstake":"Amount to unstake","An error has occurred fetching the proposal.":"An error has occurred fetching the proposal.","Approve Confirmed":"Approve Confirmed","Approve with":"Approve with","Approve {symbol} to continue":["Approve ",["symbol"]," to continue"],"Approving {symbol}...":["Approving ",["symbol"],"..."],"Array parameters that should be equal length are not":"Array parameters that should be equal length are not","Asset":"Asset","Asset can be only used as collateral in isolation mode with limited borrowing power. To enter isolation mode, disable all other collateral.":"Asset can be only used as collateral in isolation mode with limited borrowing power. To enter isolation mode, disable all other collateral.","Asset can only be used as collateral in isolation mode only.":"Asset can only be used as collateral in isolation mode only.","Asset cannot be migrated because you have isolated collateral in {marketName} v3 Market which limits borrowable assets. You can manage your collateral in <0>{marketName} V3 Dashboard":["Asset cannot be migrated because you have isolated collateral in ",["marketName"]," v3 Market which limits borrowable assets. You can manage your collateral in <0>",["marketName"]," V3 Dashboard"],"Asset cannot be migrated due to insufficient liquidity or borrow cap limitation in {marketName} v3 market.":["Asset cannot be migrated due to insufficient liquidity or borrow cap limitation in ",["marketName"]," v3 market."],"Asset cannot be migrated due to supply cap restriction in {marketName} v3 market.":["Asset cannot be migrated due to supply cap restriction in ",["marketName"]," v3 market."],"Asset cannot be migrated to {marketName} V3 Market due to E-mode restrictions. You can disable or manage E-mode categories in your <0>V3 Dashboard":["Asset cannot be migrated to ",["marketName"]," V3 Market due to E-mode restrictions. You can disable or manage E-mode categories in your <0>V3 Dashboard"],"Asset cannot be migrated to {marketName} v3 Market since collateral asset will enable isolation mode.":["Asset cannot be migrated to ",["marketName"]," v3 Market since collateral asset will enable isolation mode."],"Asset cannot be used as collateral.":"Asset cannot be used as collateral.","Asset category":"Asset category","Asset is frozen in {marketName} v3 market, hence this position cannot be migrated.":["Asset is frozen in ",["marketName"]," v3 market, hence this position cannot be migrated."],"Asset is not borrowable in isolation mode":"Asset is not borrowable in isolation mode","Asset is not listed":"Asset is not listed","Asset supply is limited to a certain amount to reduce protocol exposure to the asset and to help manage risks involved.":"Asset supply is limited to a certain amount to reduce protocol exposure to the asset and to help manage risks involved.","Assets":"Assets","Assets to borrow":"Assets to borrow","Assets to supply":"Assets to supply","Assets with zero LTV ({assetsBlockingWithdraw}) must be withdrawn or disabled as collateral to perform this action":["Assets with zero LTV (",["assetsBlockingWithdraw"],") must be withdrawn or disabled as collateral to perform this action"],"At a discount":"At a discount","Available":"Available","Available assets":"Available assets","Available liquidity":"Available liquidity","Available on":"Available on","Available rewards":"Available rewards","Available to borrow":"Available to borrow","Available to supply":"Available to supply","Back to Dashboard":"Back to Dashboard","Balance":"Balance","Balance to revoke":"Balance to revoke","Be careful - You are very close to liquidation. Consider depositing more collateral or paying down some of your borrowed positions":"Be careful - You are very close to liquidation. Consider depositing more collateral or paying down some of your borrowed positions","Be mindful of the network congestion and gas prices.":"Be mindful of the network congestion and gas prices.","Because this asset is paused, no actions can be taken until further notice":"Because this asset is paused, no actions can be taken until further notice","Before supplying":"Before supplying","Blocked Address":"Blocked Address","Borrow":"Borrow","Borrow APY":"Borrow APY","Borrow APY rate":"Borrow APY rate","Borrow APY, variable":"Borrow APY, variable","Borrow amount to reach {0}% utilization":["Borrow amount to reach ",["0"],"% utilization"],"Borrow and repay in same block is not allowed":"Borrow and repay in same block is not allowed","Borrow apy":"Borrow apy","Borrow balance":"Borrow balance","Borrow balance after repay":"Borrow balance after repay","Borrow balance after switch":"Borrow balance after switch","Borrow cap":"Borrow cap","Borrow cap is exceeded":"Borrow cap is exceeded","Borrow info":"Borrow info","Borrow power used":"Borrow power used","Borrow rate APY":"Borrow rate APY","Borrow rate change":"Borrow rate change","Borrow {symbol}":["Borrow ",["symbol"]],"Borrowed":"Borrowed","Borrowed asset amount":"Borrowed asset amount","Borrowing is currently unavailable for {0}.":["Borrowing is currently unavailable for ",["0"],"."],"Borrowing is disabled due to an Aave community decision. <0>More details":"Borrowing is disabled due to an Aave community decision. <0>More details","Borrowing is not enabled":"Borrowing is not enabled","Borrowing is unavailable because you’re using Isolation mode. To manage Isolation mode visit your <0>Dashboard.":"Borrowing is unavailable because you’re using Isolation mode. To manage Isolation mode visit your <0>Dashboard.","Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) and Isolation mode. To manage E-Mode and Isolation mode visit your <0>Dashboard.":"Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) and Isolation mode. To manage E-Mode and Isolation mode visit your <0>Dashboard.","Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) for {0} category. To manage E-Mode categories visit your <0>Dashboard.":["Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) for ",["0"]," category. To manage E-Mode categories visit your <0>Dashboard."],"Borrowing of this asset is limited to a certain amount to minimize liquidity pool insolvency.":"Borrowing of this asset is limited to a certain amount to minimize liquidity pool insolvency.","Borrowing power and assets are limited due to Isolation mode.":"Borrowing power and assets are limited due to Isolation mode.","Borrowing this amount will reduce your health factor and increase risk of liquidation.":"Borrowing this amount will reduce your health factor and increase risk of liquidation.","Borrowing {symbol}":["Borrowing ",["symbol"]],"Both":"Both","Buy Crypto With Fiat":"Buy Crypto With Fiat","Buy Crypto with Fiat":"Buy Crypto with Fiat","Buy {cryptoSymbol} with Fiat":["Buy ",["cryptoSymbol"]," with Fiat"],"COPIED!":"COPIED!","COPY IMAGE":"COPY IMAGE","Can be collateral":"Can be collateral","Can be executed":"Can be executed","Can't validate the wallet address. Try again.":"Can't validate the wallet address. Try again.","Cancel":"Cancel","Cannot disable E-Mode":"Cannot disable E-Mode","Choose how much voting/proposition power to give to someone else by delegating some of your AAVE, stkAAVE or aAave balance. Your tokens will remain in your account, but your delegate will be able to vote or propose on your behalf. If your AAVE, stkAAVE or aAave balance changes, your delegate's voting/proposition power will be automatically adjusted.":"Choose how much voting/proposition power to give to someone else by delegating some of your AAVE, stkAAVE or aAave balance. Your tokens will remain in your account, but your delegate will be able to vote or propose on your behalf. If your AAVE, stkAAVE or aAave balance changes, your delegate's voting/proposition power will be automatically adjusted.","Choose one of the on-ramp services":"Choose one of the on-ramp services","Claim":"Claim","Claim all":"Claim all","Claim all rewards":"Claim all rewards","Claim {0}":["Claim ",["0"]],"Claim {symbol}":["Claim ",["symbol"]],"Claimable AAVE":"Claimable AAVE","Claimed":"Claimed","Claiming":"Claiming","Claiming {symbol}":["Claiming ",["symbol"]],"Close":"Close","Collateral":"Collateral","Collateral balance after repay":"Collateral balance after repay","Collateral change":"Collateral change","Collateral is (mostly) the same currency that is being borrowed":"Collateral is (mostly) the same currency that is being borrowed","Collateral to repay with":"Collateral to repay with","Collateral usage":"Collateral usage","Collateral usage is limited because of Isolation mode.":"Collateral usage is limited because of Isolation mode.","Collateral usage is limited because of isolation mode.":"Collateral usage is limited because of isolation mode.","Collateral usage is limited because of isolation mode. <0>Learn More":"Collateral usage is limited because of isolation mode. <0>Learn More","Collateralization":"Collateralization","Collector Contract":"Collector Contract","Collector Info":"Collector Info","Confirm transaction":"Confirm transaction","Confirming transaction":"Confirming transaction","Connect":"Connect","Connect wallet":"Connect wallet","Cooldown period":"Cooldown period","Cooldown period warning":"Cooldown period warning","Cooldown time left":"Cooldown time left","Cooldown to unstake":"Cooldown to unstake","Cooling down...":"Cooling down...","Copy address":"Copy address","Copy error message":"Copy error message","Copy error text":"Copy error text","Covered debt":"Covered debt","Current LTV":"Current LTV","Current differential":"Current differential","Current v2 Balance":"Current v2 Balance","Current v2 balance":"Current v2 balance","Current votes":"Current votes","Dark mode":"Dark mode","Dashboard":"Dashboard","Data couldn't be fetched, please reload graph.":"Data couldn't be fetched, please reload graph.","Debt":"Debt","Debt ceiling is exceeded":"Debt ceiling is exceeded","Debt ceiling is not zero":"Debt ceiling is not zero","Debt ceiling limits the amount possible to borrow against this asset by protocol users. Debt ceiling is specific to assets in isolation mode and is denoted in USD.":"Debt ceiling limits the amount possible to borrow against this asset by protocol users. Debt ceiling is specific to assets in isolation mode and is denoted in USD.","Delegated power":"Delegated power","Details":"Details","Developers":"Developers","Differential":"Differential","Disable E-Mode":"Disable E-Mode","Disable testnet":"Disable testnet","Disable {symbol} as collateral":["Disable ",["symbol"]," as collateral"],"Disabled":"Disabled","Disabling E-Mode":"Disabling E-Mode","Disabling this asset as collateral affects your borrowing power and Health Factor.":"Disabling this asset as collateral affects your borrowing power and Health Factor.","Disconnect Wallet":"Disconnect Wallet","Discord channel":"Discord channel","Discount":"Discount","Discount applied for <0/> staking AAVE":"Discount applied for <0/> staking AAVE","Discount model parameters":"Discount model parameters","Discount parameters are decided by the Aave community and may be changed over time. Check Governance for updates and vote to participate. <0>Learn more":"Discount parameters are decided by the Aave community and may be changed over time. Check Governance for updates and vote to participate. <0>Learn more","Discountable amount":"Discountable amount","Docs":"Docs","Download":"Download","Due to internal stETH mechanics required for rebasing support, it is not possible to perform a collateral switch where stETH is the source token.":"Due to internal stETH mechanics required for rebasing support, it is not possible to perform a collateral switch where stETH is the source token.","Due to the Horizon bridge exploit, certain assets on the Harmony network are not at parity with Ethereum, which affects the Aave V3 Harmony market.":"Due to the Horizon bridge exploit, certain assets on the Harmony network are not at parity with Ethereum, which affects the Aave V3 Harmony market.","E-Mode":"E-Mode","E-Mode Category":"E-Mode Category","E-Mode category":"E-Mode category","E-Mode increases your LTV for a selected category of assets up to 97%. <0>Learn more":"E-Mode increases your LTV for a selected category of assets up to 97%. <0>Learn more","E-Mode increases your LTV for a selected category of assets up to<0/>. <1>Learn more":"E-Mode increases your LTV for a selected category of assets up to<0/>. <1>Learn more","E-Mode increases your LTV for a selected category of assets, meaning that when E-mode is enabled, you will have higher borrowing power over assets of the same E-mode category which are defined by Aave Governance. You can enter E-Mode from your <0>Dashboard. To learn more about E-Mode and applied restrictions in <1>FAQ or <2>Aave V3 Technical Paper.":"E-Mode increases your LTV for a selected category of assets, meaning that when E-mode is enabled, you will have higher borrowing power over assets of the same E-mode category which are defined by Aave Governance. You can enter E-Mode from your <0>Dashboard. To learn more about E-Mode and applied restrictions in <1>FAQ or <2>Aave V3 Technical Paper.","Edit":"Edit","Effective interest rate":"Effective interest rate","Efficiency mode (E-Mode)":"Efficiency mode (E-Mode)","Emode":"Emode","Enable E-Mode":"Enable E-Mode","Enable {symbol} as collateral":["Enable ",["symbol"]," as collateral"],"Enabled":"Enabled","Enabling E-Mode":"Enabling E-Mode","Enabling E-Mode only allows you to borrow assets belonging to the selected category. Please visit our <0>FAQ guide to learn more about how it works and the applied restrictions.":"Enabling E-Mode only allows you to borrow assets belonging to the selected category. Please visit our <0>FAQ guide to learn more about how it works and the applied restrictions.","Enabling this asset as collateral increases your borrowing power and Health Factor. However, it can get liquidated if your health factor drops below 1.":"Enabling this asset as collateral increases your borrowing power and Health Factor. However, it can get liquidated if your health factor drops below 1.","English":"English","Enter ETH address":"Enter ETH address","Enter an amount":"Enter an amount","Error connecting. Try refreshing the page.":"Error connecting. Try refreshing the page.","Estimated compounding interest, including discount for Staking {0}AAVE in Safety Module.":["Estimated compounding interest, including discount for Staking ",["0"],"AAVE in Safety Module."],"Exceeds the discount":"Exceeds the discount","Expected amount to repay":"Expected amount to repay","Expires":"Expires","Export data to":"Export data to","FAQ":"FAQ","FAQS":"FAQS","Failed to load proposal voters. Please refresh the page.":"Failed to load proposal voters. Please refresh the page.","Faucet":"Faucet","Faucet {0}":["Faucet ",["0"]],"Fetching data...":"Fetching data...","Filter":"Filter","Fixed":"Fixed","Fixed rate":"Fixed rate","Flashloan is disabled for this asset, hence this position cannot be migrated.":"Flashloan is disabled for this asset, hence this position cannot be migrated.","For repayment of a specific type of debt, the user needs to have debt that type":"For repayment of a specific type of debt, the user needs to have debt that type","French":"French","Funds in the Safety Module":"Funds in the Safety Module","GHO is a native decentralized, collateral-backed digital asset pegged to USD. It is created by users via borrowing against multiple collateral. When user repays their GHO borrow position, the protocol burns that user's GHO. All the interest payments accrued by minters of GHO would be directly transferred to the AaveDAO treasury.":"GHO is a native decentralized, collateral-backed digital asset pegged to USD. It is created by users via borrowing against multiple collateral. When user repays their GHO borrow position, the protocol burns that user's GHO. All the interest payments accrued by minters of GHO would be directly transferred to the AaveDAO treasury.","Get ABP Token":"Get ABP Token","Global settings":"Global settings","Go Back":"Go Back","Go to Balancer Pool":"Go to Balancer Pool","Go to V3 Dashboard":"Go to V3 Dashboard","Governance":"Governance","Greek":"Greek","Health Factor ({0} v2)":["Health Factor (",["0"]," v2)"],"Health Factor ({0} v3)":["Health Factor (",["0"]," v3)"],"Health factor":"Health factor","Health factor is lesser than the liquidation threshold":"Health factor is lesser than the liquidation threshold","Health factor is not below the threshold":"Health factor is not below the threshold","Hide":"Hide","Holders of stkAAVE receive a discount on the GHO borrowing rate":"Holders of stkAAVE receive a discount on the GHO borrowing rate","I acknowledge the risks involved.":"I acknowledge the risks involved.","I fully understand the risks of migrating.":"I fully understand the risks of migrating.","I understand how cooldown ({0}) and unstaking ({1}) work":["I understand how cooldown (",["0"],") and unstaking (",["1"],") work"],"If the error continues to happen,<0/> you may report it to this":"If the error continues to happen,<0/> you may report it to this","If the health factor goes below 1, the liquidation of your collateral might be triggered.":"If the health factor goes below 1, the liquidation of your collateral might be triggered.","If you DO NOT unstake within {0} of unstake window, you will need to activate cooldown process again.":["If you DO NOT unstake within ",["0"]," of unstake window, you will need to activate cooldown process again."],"If your loan to value goes above the liquidation threshold your collateral supplied may be liquidated.":"If your loan to value goes above the liquidation threshold your collateral supplied may be liquidated.","In E-Mode some assets are not borrowable. Exit E-Mode to get access to all assets":"In E-Mode some assets are not borrowable. Exit E-Mode to get access to all assets","In Isolation mode, you cannot supply other assets as collateral. A global debt ceiling limits the borrowing power of the isolated asset. To exit isolation mode disable {0} as collateral before borrowing another asset. Read more in our <0>FAQ":["In Isolation mode, you cannot supply other assets as collateral. A global debt ceiling limits the borrowing power of the isolated asset. To exit isolation mode disable ",["0"]," as collateral before borrowing another asset. Read more in our <0>FAQ"],"Inconsistent flashloan parameters":"Inconsistent flashloan parameters","Insufficient collateral to cover new borrow position. Wallet must have borrowing power remaining to perform debt switch.":"Insufficient collateral to cover new borrow position. Wallet must have borrowing power remaining to perform debt switch.","Interest accrued":"Interest accrued","Interest rate rebalance conditions were not met":"Interest rate rebalance conditions were not met","Interest rate strategy":"Interest rate strategy","Interest rate that is determined by Aave Governance. This rate may be changed over time depending on the need for the GHO supply to contract/expand. <0>Learn more":"Interest rate that is determined by Aave Governance. This rate may be changed over time depending on the need for the GHO supply to contract/expand. <0>Learn more","Invalid amount to burn":"Invalid amount to burn","Invalid amount to mint":"Invalid amount to mint","Invalid bridge protocol fee":"Invalid bridge protocol fee","Invalid expiration":"Invalid expiration","Invalid flashloan premium":"Invalid flashloan premium","Invalid return value of the flashloan executor function":"Invalid return value of the flashloan executor function","Invalid signature":"Invalid signature","Isolated":"Isolated","Isolated Debt Ceiling":"Isolated Debt Ceiling","Isolated assets have limited borrowing power and other assets cannot be used as collateral.":"Isolated assets have limited borrowing power and other assets cannot be used as collateral.","Join the community discussion":"Join the community discussion","LEARN MORE":"LEARN MORE","Language":"Language","Learn more":"Learn more","Learn more about risks involved":"Learn more about risks involved","Learn more in our <0>FAQ guide":"Learn more in our <0>FAQ guide","Learn more.":"Learn more.","Linked addresses":"Linked addresses","Links":"Links","Liqudation":"Liqudation","Liquidated collateral":"Liquidated collateral","Liquidation":"Liquidation","Liquidation <0/> threshold":"Liquidation <0/> threshold","Liquidation Threshold":"Liquidation Threshold","Liquidation at":"Liquidation at","Liquidation penalty":"Liquidation penalty","Liquidation risk":"Liquidation risk","Liquidation risk parameters":"Liquidation risk parameters","Liquidation threshold":"Liquidation threshold","Liquidation value":"Liquidation value","Loading data...":"Loading data...","Ltv validation failed":"Ltv validation failed","MAI has been paused due to a community decision. Supply, borrows and repays are impacted. <0>More details":"MAI has been paused due to a community decision. Supply, borrows and repays are impacted. <0>More details","MAX":"MAX","Manage analytics":"Manage analytics","Market":"Market","Markets":"Markets","Max":"Max","Max LTV":"Max LTV","Max slashing":"Max slashing","Max slippage":"Max slippage","Maximum amount available to borrow against this asset is limited because debt ceiling is at {0}%.":["Maximum amount available to borrow against this asset is limited because debt ceiling is at ",["0"],"%."],"Maximum amount available to borrow is <0/> {0} (<1/>).":["Maximum amount available to borrow is <0/> ",["0"]," (<1/>)."],"Maximum amount available to borrow is limited because protocol borrow cap is nearly reached.":"Maximum amount available to borrow is limited because protocol borrow cap is nearly reached.","Maximum amount available to supply is <0/> {0} (<1/>).":["Maximum amount available to supply is <0/> ",["0"]," (<1/>)."],"Maximum amount available to supply is limited because protocol supply cap is at {0}%.":["Maximum amount available to supply is limited because protocol supply cap is at ",["0"],"%."],"Maximum loan to value":"Maximum loan to value","Meet GHO":"Meet GHO","Menu":"Menu","Migrate":"Migrate","Migrate to V3":"Migrate to V3","Migrate to v3":"Migrate to v3","Migrate to {0} v3 Market":["Migrate to ",["0"]," v3 Market"],"Migrated":"Migrated","Migrating":"Migrating","Migrating multiple collaterals and borrowed assets at the same time can be an expensive operation and might fail in certain situations.<0>Therefore it’s not recommended to migrate positions with more than 5 assets (deposited + borrowed) at the same time.":"Migrating multiple collaterals and borrowed assets at the same time can be an expensive operation and might fail in certain situations.<0>Therefore it’s not recommended to migrate positions with more than 5 assets (deposited + borrowed) at the same time.","Migration risks":"Migration risks","Minimum GHO borrow amount":"Minimum GHO borrow amount","Minimum USD value received":"Minimum USD value received","Minimum staked Aave amount":"Minimum staked Aave amount","Minimum {0} received":["Minimum ",["0"]," received"],"More":"More","NAY":"NAY","Need help connecting a wallet? <0>Read our FAQ":"Need help connecting a wallet? <0>Read our FAQ","Net APR":"Net APR","Net APY":"Net APY","Net APY is the combined effect of all supply and borrow positions on net worth, including incentives. It is possible to have a negative net APY if debt APY is higher than supply APY.":"Net APY is the combined effect of all supply and borrow positions on net worth, including incentives. It is possible to have a negative net APY if debt APY is higher than supply APY.","Net worth":"Net worth","Network":"Network","Network not supported for this wallet":"Network not supported for this wallet","New APY":"New APY","No assets selected to migrate.":"No assets selected to migrate.","No rewards to claim":"No rewards to claim","No search results{0}":["No search results",["0"]],"No transactions yet.":"No transactions yet.","No voting power":"No voting power","None":"None","Not a valid address":"Not a valid address","Not enough balance on your wallet":"Not enough balance on your wallet","Not enough collateral to repay this amount of debt with":"Not enough collateral to repay this amount of debt with","Not enough staked balance":"Not enough staked balance","Not enough voting power to participate in this proposal":"Not enough voting power to participate in this proposal","Not reached":"Not reached","Nothing borrowed yet":"Nothing borrowed yet","Nothing found":"Nothing found","Nothing staked":"Nothing staked","Nothing supplied yet":"Nothing supplied yet","Notify":"Notify","Ok, Close":"Ok, Close","Ok, I got it":"Ok, I got it","Operation not supported":"Operation not supported","Oracle price":"Oracle price","Overview":"Overview","Page not found":"Page not found","Participating in this {symbol} reserve gives annualized rewards.":["Participating in this ",["symbol"]," reserve gives annualized rewards."],"Pending...":"Pending...","Per the community, the Fantom market has been frozen.":"Per the community, the Fantom market has been frozen.","Per the community, the V2 AMM market has been deprecated.":"Per the community, the V2 AMM market has been deprecated.","Please always be aware of your <0>Health Factor (HF) when partially migrating a position and that your rates will be updated to V3 rates.":"Please always be aware of your <0>Health Factor (HF) when partially migrating a position and that your rates will be updated to V3 rates.","Please connect a wallet to view your personal information here.":"Please connect a wallet to view your personal information here.","Please connect your wallet to be able to switch your tokens.":"Please connect your wallet to be able to switch your tokens.","Please connect your wallet to get free testnet assets.":"Please connect your wallet to get free testnet assets.","Please connect your wallet to see migration tool.":"Please connect your wallet to see migration tool.","Please connect your wallet to see your supplies, borrowings, and open positions.":"Please connect your wallet to see your supplies, borrowings, and open positions.","Please connect your wallet to view transaction history.":"Please connect your wallet to view transaction history.","Please enter a valid wallet address.":"Please enter a valid wallet address.","Please switch to {networkName}.":["Please switch to ",["networkName"],"."],"Please, connect your wallet":"Please, connect your wallet","Pool addresses provider is not registered":"Pool addresses provider is not registered","Powered by":"Powered by","Preview tx and migrate":"Preview tx and migrate","Price":"Price","Price data is not currently available for this reserve on the protocol subgraph":"Price data is not currently available for this reserve on the protocol subgraph","Price impact":"Price impact","Price impact is the spread between the total value of the entry tokens switched and the destination tokens obtained (in USD), which results from the limited liquidity of the trading pair.":"Price impact is the spread between the total value of the entry tokens switched and the destination tokens obtained (in USD), which results from the limited liquidity of the trading pair.","Price impact {0}%":["Price impact ",["0"],"%"],"Privacy":"Privacy","Proposal details":"Proposal details","Proposal overview":"Proposal overview","Proposals":"Proposals","Proposition":"Proposition","Protocol borrow cap at 100% for this asset. Further borrowing unavailable.":"Protocol borrow cap at 100% for this asset. Further borrowing unavailable.","Protocol borrow cap is at 100% for this asset. Further borrowing unavailable.":"Protocol borrow cap is at 100% for this asset. Further borrowing unavailable.","Protocol debt ceiling is at 100% for this asset. Further borrowing against this asset is unavailable.":"Protocol debt ceiling is at 100% for this asset. Further borrowing against this asset is unavailable.","Protocol debt ceiling is at 100% for this asset. Futher borrowing against this asset is unavailable.":"Protocol debt ceiling is at 100% for this asset. Futher borrowing against this asset is unavailable.","Protocol supply cap at 100% for this asset. Further supply unavailable.":"Protocol supply cap at 100% for this asset. Further supply unavailable.","Protocol supply cap is at 100% for this asset. Further supply unavailable.":"Protocol supply cap is at 100% for this asset. Further supply unavailable.","Quorum":"Quorum","Rate change":"Rate change","Raw-Ipfs":"Raw-Ipfs","Reached":"Reached","Reactivate cooldown period to unstake {0} {stakedToken}":["Reactivate cooldown period to unstake ",["0"]," ",["stakedToken"]],"Read more here.":"Read more here.","Read-only mode allows to see address positions in Aave, but you won't be able to perform transactions.":"Read-only mode allows to see address positions in Aave, but you won't be able to perform transactions.","Read-only mode.":"Read-only mode.","Read-only mode. Connect to a wallet to perform transactions.":"Read-only mode. Connect to a wallet to perform transactions.","Receive (est.)":"Receive (est.)","Received":"Received","Recipient address":"Recipient address","Rejected connection request":"Rejected connection request","Reload":"Reload","Reload the page":"Reload the page","Remaining debt":"Remaining debt","Remaining supply":"Remaining supply","Remove":"Remove","Repaid":"Repaid","Repay":"Repay","Repay with":"Repay with","Repay {symbol}":["Repay ",["symbol"]],"Repaying {symbol}":["Repaying ",["symbol"]],"Repayment amount to reach {0}% utilization":["Repayment amount to reach ",["0"],"% utilization"],"Representative smart contract wallet (ie. Safe) addresses on other chains.":"Representative smart contract wallet (ie. Safe) addresses on other chains.","Representing smart contract wallet (ie. Safe) addresses on other chains.":"Representing smart contract wallet (ie. Safe) addresses on other chains.","Reserve Size":"Reserve Size","Reserve factor":"Reserve factor","Reserve factor is a percentage of interest which goes to a {0} that is controlled by Aave governance to promote ecosystem growth.":["Reserve factor is a percentage of interest which goes to a ",["0"]," that is controlled by Aave governance to promote ecosystem growth."],"Reserve status & configuration":"Reserve status & configuration","Reset":"Reset","Restake":"Restake","Restake {symbol}":["Restake ",["symbol"]],"Restaked":"Restaked","Restaking {symbol}":["Restaking ",["symbol"]],"Review approval tx details":"Review approval tx details","Review changes to continue":"Review changes to continue","Review tx":"Review tx","Review tx details":"Review tx details","Revoke power":"Revoke power","Reward(s) to claim":"Reward(s) to claim","Rewards APR":"Rewards APR","Risk details":"Risk details","SEE CHARTS":"SEE CHARTS","Safety of your deposited collateral against the borrowed assets and its underlying value.":"Safety of your deposited collateral against the borrowed assets and its underlying value.","Save and share":"Save and share","Seems like we can't switch the network automatically. Please check if you can change it from the wallet.":"Seems like we can't switch the network automatically. Please check if you can change it from the wallet.","Select":"Select","Select APY type to switch":"Select APY type to switch","Select an asset":"Select an asset","Select language":"Select language","Select slippage tolerance":"Select slippage tolerance","Select v2 borrows to migrate":"Select v2 borrows to migrate","Select v2 supplies to migrate":"Select v2 supplies to migrate","Selected assets have successfully migrated. Visit the Market Dashboard to see them.":"Selected assets have successfully migrated. Visit the Market Dashboard to see them.","Selected borrow assets":"Selected borrow assets","Selected supply assets":"Selected supply assets","Send feedback":"Send feedback","Set up delegation":"Set up delegation","Setup notifications about your Health Factor using the Hal app.":"Setup notifications about your Health Factor using the Hal app.","Share on Lens":"Share on Lens","Share on twitter":"Share on twitter","Show":"Show","Show Frozen or paused assets":"Show Frozen or paused assets","Show assets with 0 balance":"Show assets with 0 balance","Sign to continue":"Sign to continue","Signatures ready":"Signatures ready","Signing":"Signing","Since this asset is frozen, the only available actions are withdraw and repay which can be accessed from the <0>Dashboard":"Since this asset is frozen, the only available actions are withdraw and repay which can be accessed from the <0>Dashboard","Since this is a test network, you can get any of the assets if you have ETH on your wallet":"Since this is a test network, you can get any of the assets if you have ETH on your wallet","Slippage":"Slippage","Slippage is the difference between the quoted and received amounts from changing market conditions between the moment the transaction is submitted and its verification.":"Slippage is the difference between the quoted and received amounts from changing market conditions between the moment the transaction is submitted and its verification.","Some migrated assets will not be used as collateral due to enabled isolation mode in {marketName} V3 Market. Visit <0>{marketName} V3 Dashboard to manage isolation mode.":["Some migrated assets will not be used as collateral due to enabled isolation mode in ",["marketName"]," V3 Market. Visit <0>",["marketName"]," V3 Dashboard to manage isolation mode."],"Something went wrong":"Something went wrong","Sorry, an unexpected error happened. In the meantime you may try reloading the page, or come back later.":"Sorry, an unexpected error happened. In the meantime you may try reloading the page, or come back later.","Sorry, we couldn't find the page you were looking for.":"Sorry, we couldn't find the page you were looking for.","Spanish":"Spanish","Stable":"Stable","Stable Interest Type is disabled for this currency":"Stable Interest Type is disabled for this currency","Stable borrowing is enabled":"Stable borrowing is enabled","Stable borrowing is not enabled":"Stable borrowing is not enabled","Stable debt supply is not zero":"Stable debt supply is not zero","Stable interest rate will <0>stay the same for the duration of your loan. Recommended for long-term loan periods and for users who prefer predictability.":"Stable interest rate will <0>stay the same for the duration of your loan. Recommended for long-term loan periods and for users who prefer predictability.","Stablecoin":"Stablecoin","Stake":"Stake","Stake AAVE":"Stake AAVE","Stake ABPT":"Stake ABPT","Stake cooldown activated":"Stake cooldown activated","Staked":"Staked","Staking":"Staking","Staking APR":"Staking APR","Staking Rewards":"Staking Rewards","Staking balance":"Staking balance","Staking discount":"Staking discount","State":"State","Supplied":"Supplied","Supplied asset amount":"Supplied asset amount","Supply":"Supply","Supply APY":"Supply APY","Supply apy":"Supply apy","Supply balance":"Supply balance","Supply balance after switch":"Supply balance after switch","Supply cap is exceeded":"Supply cap is exceeded","Supply cap on target reserve reached. Try lowering the amount.":"Supply cap on target reserve reached. Try lowering the amount.","Supply {symbol}":["Supply ",["symbol"]],"Supplying your":"Supplying your","Supplying {symbol}":["Supplying ",["symbol"]],"Switch":"Switch","Switch APY type":"Switch APY type","Switch E-Mode":"Switch E-Mode","Switch E-Mode category":"Switch E-Mode category","Switch Network":"Switch Network","Switch borrow position":"Switch borrow position","Switch rate":"Switch rate","Switch to":"Switch to","Switched":"Switched","Switching":"Switching","Switching E-Mode":"Switching E-Mode","Switching rate":"Switching rate","Techpaper":"Techpaper","Terms":"Terms","Test Assets":"Test Assets","Testnet mode":"Testnet mode","Testnet mode is ON":"Testnet mode is ON","Thank you for voting!!":"Thank you for voting!!","The % of your total borrowing power used. This is based on the amount of your collateral supplied and the total amount that you can borrow.":"The % of your total borrowing power used. This is based on the amount of your collateral supplied and the total amount that you can borrow.","The Aave Balancer Pool Token (ABPT) is a liquidity pool token. You can receive ABPT by depositing a combination of AAVE + ETH in the Balancer liquidity pool. You can then stake your BPT in the Safety Module to secure the protocol and earn Safety Incentives.":"The Aave Balancer Pool Token (ABPT) is a liquidity pool token. You can receive ABPT by depositing a combination of AAVE + ETH in the Balancer liquidity pool. You can then stake your BPT in the Safety Module to secure the protocol and earn Safety Incentives.","The Aave Protocol is programmed to always use the price of 1 GHO = $1. This is different from using market pricing via oracles for other crypto assets. This creates stabilizing arbitrage opportunities when the price of GHO fluctuates.":"The Aave Protocol is programmed to always use the price of 1 GHO = $1. This is different from using market pricing via oracles for other crypto assets. This creates stabilizing arbitrage opportunities when the price of GHO fluctuates.","The Maximum LTV ratio represents the maximum borrowing power of a specific collateral. For example, if a collateral has an LTV of 75%, the user can borrow up to 0.75 worth of ETH in the principal currency for every 1 ETH worth of collateral.":"The Maximum LTV ratio represents the maximum borrowing power of a specific collateral. For example, if a collateral has an LTV of 75%, the user can borrow up to 0.75 worth of ETH in the principal currency for every 1 ETH worth of collateral.","The Stable Rate is not enabled for this currency":"The Stable Rate is not enabled for this currency","The address of the pool addresses provider is invalid":"The address of the pool addresses provider is invalid","The app is running in testnet mode. Learn how it works in":"The app is running in testnet mode. Learn how it works in","The caller of the function is not an AToken":"The caller of the function is not an AToken","The caller of this function must be a pool":"The caller of this function must be a pool","The collateral balance is 0":"The collateral balance is 0","The collateral chosen cannot be liquidated":"The collateral chosen cannot be liquidated","The cooldown period is the time required prior to unstaking your tokens (20 days). You can only withdraw your assets from the Security Module after the cooldown period and within the unstake window.<0>Learn more":"The cooldown period is the time required prior to unstaking your tokens (20 days). You can only withdraw your assets from the Security Module after the cooldown period and within the unstake window.<0>Learn more","The cooldown period is {0}. After {1} of cooldown, you will enter unstake window of {2}. You will continue receiving rewards during cooldown and unstake window.":["The cooldown period is ",["0"],". After ",["1"]," of cooldown, you will enter unstake window of ",["2"],". You will continue receiving rewards during cooldown and unstake window."],"The effects on the health factor would cause liquidation. Try lowering the amount.":"The effects on the health factor would cause liquidation. Try lowering the amount.","The loan to value of the migrated positions would cause liquidation. Increase migrated collateral or reduce migrated borrow to continue.":"The loan to value of the migrated positions would cause liquidation. Increase migrated collateral or reduce migrated borrow to continue.","The requested amount is greater than the max loan size in stable rate mode":"The requested amount is greater than the max loan size in stable rate mode","The total amount of your assets denominated in USD that can be used as collateral for borrowing assets.":"The total amount of your assets denominated in USD that can be used as collateral for borrowing assets.","The underlying asset cannot be rescued":"The underlying asset cannot be rescued","The underlying balance needs to be greater than 0":"The underlying balance needs to be greater than 0","The weighted average of APY for all borrowed assets, including incentives.":"The weighted average of APY for all borrowed assets, including incentives.","The weighted average of APY for all supplied assets, including incentives.":"The weighted average of APY for all supplied assets, including incentives.","There are not enough funds in the{0}reserve to borrow":["There are not enough funds in the",["0"],"reserve to borrow"],"There is not enough collateral to cover a new borrow":"There is not enough collateral to cover a new borrow","There is not enough liquidity for the target asset to perform the switch. Try lowering the amount.":"There is not enough liquidity for the target asset to perform the switch. Try lowering the amount.","There was some error. Please try changing the parameters or <0><1>copy the error":"There was some error. Please try changing the parameters or <0><1>copy the error","These assets are temporarily frozen or paused by Aave community decisions, meaning that further supply / borrow, or rate swap of these assets are unavailable. Withdrawals and debt repayments are allowed. Follow the <0>Aave governance forum for further updates.":"These assets are temporarily frozen or paused by Aave community decisions, meaning that further supply / borrow, or rate swap of these assets are unavailable. Withdrawals and debt repayments are allowed. Follow the <0>Aave governance forum for further updates.","These funds have been borrowed and are not available for withdrawal at this time.":"These funds have been borrowed and are not available for withdrawal at this time.","This action will reduce V2 health factor below liquidation threshold. retain collateral or migrate borrow position to continue.":"This action will reduce V2 health factor below liquidation threshold. retain collateral or migrate borrow position to continue.","This action will reduce health factor of V3 below liquidation threshold. Increase migrated collateral or reduce migrated borrow to continue.":"This action will reduce health factor of V3 below liquidation threshold. Increase migrated collateral or reduce migrated borrow to continue.","This action will reduce your health factor. Please be mindful of the increased risk of collateral liquidation.":"This action will reduce your health factor. Please be mindful of the increased risk of collateral liquidation.","This address is blocked on app.aave.com because it is associated with one or more":"This address is blocked on app.aave.com because it is associated with one or more","This asset has almost reached its borrow cap. There is only {messageValue} available to be borrowed from this market.":["This asset has almost reached its borrow cap. There is only ",["messageValue"]," available to be borrowed from this market."],"This asset has almost reached its supply cap. There can only be {messageValue} supplied to this market.":["This asset has almost reached its supply cap. There can only be ",["messageValue"]," supplied to this market."],"This asset has been paused due to a community decision. Supply, withdraw, borrows and repays are impacted.":"This asset has been paused due to a community decision. Supply, withdraw, borrows and repays are impacted.","This asset has reached its borrow cap. Nothing is available to be borrowed from this market.":"This asset has reached its borrow cap. Nothing is available to be borrowed from this market.","This asset has reached its supply cap. Nothing is available to be supplied from this market.":"This asset has reached its supply cap. Nothing is available to be supplied from this market.","This asset is frozen due to an Aave Protocol Governance decision. <0>More details":"This asset is frozen due to an Aave Protocol Governance decision. <0>More details","This asset is frozen due to an Aave Protocol Governance decision. On the 20th of December 2022, renFIL will no longer be supported and cannot be bridged back to its native network. It is recommended to withdraw supply positions and repay borrow positions so that renFIL can be bridged back to FIL before the deadline. After this date, it will no longer be possible to convert renFIL to FIL. <0>More details":"This asset is frozen due to an Aave Protocol Governance decision. On the 20th of December 2022, renFIL will no longer be supported and cannot be bridged back to its native network. It is recommended to withdraw supply positions and repay borrow positions so that renFIL can be bridged back to FIL before the deadline. After this date, it will no longer be possible to convert renFIL to FIL. <0>More details","This asset is frozen due to an Aave community decision. <0>More details":"This asset is frozen due to an Aave community decision. <0>More details","This asset is planned to be offboarded due to an Aave Protocol Governance decision. <0>More details":"This asset is planned to be offboarded due to an Aave Protocol Governance decision. <0>More details","This gas calculation is only an estimation. Your wallet will set the price of the transaction. You can modify the gas settings directly from your wallet provider.":"This gas calculation is only an estimation. Your wallet will set the price of the transaction. You can modify the gas settings directly from your wallet provider.","This integration was<0>proposed and approvedby the community.":"This integration was<0>proposed and approvedby the community.","This is the total amount available for you to borrow. You can borrow based on your collateral and until the borrow cap is reached.":"This is the total amount available for you to borrow. You can borrow based on your collateral and until the borrow cap is reached.","This is the total amount that you are able to supply to in this reserve. You are able to supply your wallet balance up until the supply cap is reached.":"This is the total amount that you are able to supply to in this reserve. You are able to supply your wallet balance up until the supply cap is reached.","This represents the threshold at which a borrow position will be considered undercollateralized and subject to liquidation for each collateral. For example, if a collateral has a liquidation threshold of 80%, it means that the position will be liquidated when the debt value is worth 80% of the collateral value.":"This represents the threshold at which a borrow position will be considered undercollateralized and subject to liquidation for each collateral. For example, if a collateral has a liquidation threshold of 80%, it means that the position will be liquidated when the debt value is worth 80% of the collateral value.","Time left to be able to withdraw your staked asset.":"Time left to be able to withdraw your staked asset.","Time left to unstake":"Time left to unstake","Time left until the withdrawal window closes.":"Time left until the withdrawal window closes.","Tip: Try increasing slippage or reduce input amount":"Tip: Try increasing slippage or reduce input amount","To borrow you need to supply any asset to be used as collateral.":"To borrow you need to supply any asset to be used as collateral.","To continue, you need to grant Aave smart contracts permission to move your funds from your wallet. Depending on the asset and wallet you use, it is done by signing the permission message (gas free), or by submitting an approval transaction (requires gas). <0>Learn more":"To continue, you need to grant Aave smart contracts permission to move your funds from your wallet. Depending on the asset and wallet you use, it is done by signing the permission message (gas free), or by submitting an approval transaction (requires gas). <0>Learn more","To enable E-mode for the {0} category, all borrow positions outside of this category must be closed.":["To enable E-mode for the ",["0"]," category, all borrow positions outside of this category must be closed."],"To repay on behalf of a user an explicit amount to repay is needed":"To repay on behalf of a user an explicit amount to repay is needed","To request access for this permissioned market, please visit: <0>Acces Provider Name":"To request access for this permissioned market, please visit: <0>Acces Provider Name","To submit a proposal for minor changes to the protocol, you'll need at least 80.00K power. If you want to change the core code base, you'll need 320k power.<0>Learn more.":"To submit a proposal for minor changes to the protocol, you'll need at least 80.00K power. If you want to change the core code base, you'll need 320k power.<0>Learn more.","Top 10 addresses":"Top 10 addresses","Total available":"Total available","Total borrowed":"Total borrowed","Total borrows":"Total borrows","Total emission per day":"Total emission per day","Total interest accrued":"Total interest accrued","Total market size":"Total market size","Total supplied":"Total supplied","Total worth":"Total worth","Track wallet":"Track wallet","Track wallet balance in read-only mode":"Track wallet balance in read-only mode","Transaction failed":"Transaction failed","Transaction history":"Transaction history","Transaction history is not currently available for this market":"Transaction history is not currently available for this market","Transaction overview":"Transaction overview","Transactions":"Transactions","UNSTAKE {symbol}":["UNSTAKE ",["symbol"]],"Unavailable":"Unavailable","Unbacked":"Unbacked","Unbacked mint cap is exceeded":"Unbacked mint cap is exceeded","Underlying asset does not exist in {marketName} v3 Market, hence this position cannot be migrated.":["Underlying asset does not exist in ",["marketName"]," v3 Market, hence this position cannot be migrated."],"Underlying token":"Underlying token","Unstake now":"Unstake now","Unstake window":"Unstake window","Unstaked":"Unstaked","Unstaking {symbol}":["Unstaking ",["symbol"]],"Update: Disruptions reported for WETH, WBTC, WMATIC, and USDT. AIP 230 will resolve the disruptions and the market will be operating as normal on ~26th May 13h00 UTC.":"Update: Disruptions reported for WETH, WBTC, WMATIC, and USDT. AIP 230 will resolve the disruptions and the market will be operating as normal on ~26th May 13h00 UTC.","Use it to vote for or against active proposals.":"Use it to vote for or against active proposals.","Use your AAVE, stkAAVE, or aAave balance to delegate your voting and proposition powers. You will not be sending any tokens, only the rights to vote and propose changes to the protocol. You can re-delegate or revoke power to self at any time.":"Use your AAVE, stkAAVE, or aAave balance to delegate your voting and proposition powers. You will not be sending any tokens, only the rights to vote and propose changes to the protocol. You can re-delegate or revoke power to self at any time.","Used as collateral":"Used as collateral","User cannot withdraw more than the available balance":"User cannot withdraw more than the available balance","User did not borrow the specified currency":"User did not borrow the specified currency","User does not have outstanding stable rate debt on this reserve":"User does not have outstanding stable rate debt on this reserve","User does not have outstanding variable rate debt on this reserve":"User does not have outstanding variable rate debt on this reserve","User is in isolation mode":"User is in isolation mode","User is trying to borrow multiple assets including a siloed one":"User is trying to borrow multiple assets including a siloed one","Users who stake AAVE in Safety Module (i.e. stkAAVE holders) receive a discount on GHO borrow interest rate. The discount applies to 100 GHO for every 1 stkAAVE held. Use the calculator below to see GHO borrow rate with the discount applied.":"Users who stake AAVE in Safety Module (i.e. stkAAVE holders) receive a discount on GHO borrow interest rate. The discount applies to 100 GHO for every 1 stkAAVE held. Use the calculator below to see GHO borrow rate with the discount applied.","Utilization Rate":"Utilization Rate","VIEW TX":"VIEW TX","VOTE NAY":"VOTE NAY","VOTE YAE":"VOTE YAE","Variable":"Variable","Variable debt supply is not zero":"Variable debt supply is not zero","Variable interest rate will <0>fluctuate based on the market conditions. Recommended for short-term positions.":"Variable interest rate will <0>fluctuate based on the market conditions. Recommended for short-term positions.","Variable rate":"Variable rate","Version 2":"Version 2","Version 3":"Version 3","View":"View","View Transactions":"View Transactions","View all votes":"View all votes","View contract":"View contract","View details":"View details","View on Explorer":"View on Explorer","Vote NAY":"Vote NAY","Vote YAE":"Vote YAE","Voted NAY":"Voted NAY","Voted YAE":"Voted YAE","Votes":"Votes","Voting":"Voting","Voting power":"Voting power","Voting results":"Voting results","Wallet Balance":"Wallet Balance","Wallet balance":"Wallet balance","Wallet not detected. Connect or install wallet and retry":"Wallet not detected. Connect or install wallet and retry","Wallets are provided by External Providers and by selecting you agree to Terms of those Providers. Your access to the wallet might be reliant on the External Provider being operational.":"Wallets are provided by External Providers and by selecting you agree to Terms of those Providers. Your access to the wallet might be reliant on the External Provider being operational.","We couldn't find any assets related to your search. Try again with a different asset name, symbol, or address.":"We couldn't find any assets related to your search. Try again with a different asset name, symbol, or address.","We couldn't find any transactions related to your search. Try again with a different asset name, or reset filters.":"We couldn't find any transactions related to your search. Try again with a different asset name, or reset filters.","We couldn’t detect a wallet. Connect a wallet to stake and view your balance.":"We couldn’t detect a wallet. Connect a wallet to stake and view your balance.","We suggest you go back to the Dashboard.":"We suggest you go back to the Dashboard.","Website":"Website","When a liquidation occurs, liquidators repay up to 50% of the outstanding borrowed amount on behalf of the borrower. In return, they can buy the collateral at a discount and keep the difference (liquidation penalty) as a bonus.":"When a liquidation occurs, liquidators repay up to 50% of the outstanding borrowed amount on behalf of the borrower. In return, they can buy the collateral at a discount and keep the difference (liquidation penalty) as a bonus.","With a voting power of <0/>":"With a voting power of <0/>","With testnet Faucet you can get free assets to test the Aave Protocol. Make sure to switch your wallet provider to the appropriate testnet network, select desired asset, and click ‘Faucet’ to get tokens transferred to your wallet. The assets on a testnet are not “real,” meaning they have no monetary value. <0>Learn more":"With testnet Faucet you can get free assets to test the Aave Protocol. Make sure to switch your wallet provider to the appropriate testnet network, select desired asset, and click ‘Faucet’ to get tokens transferred to your wallet. The assets on a testnet are not “real,” meaning they have no monetary value. <0>Learn more","Withdraw":"Withdraw","Withdraw & Switch":"Withdraw & Switch","Withdraw and Switch":"Withdraw and Switch","Withdraw {symbol}":["Withdraw ",["symbol"]],"Withdrawing and Switching":"Withdrawing and Switching","Withdrawing this amount will reduce your health factor and increase risk of liquidation.":"Withdrawing this amount will reduce your health factor and increase risk of liquidation.","Withdrawing {symbol}":["Withdrawing ",["symbol"]],"Wrong Network":"Wrong Network","YAE":"YAE","You are entering Isolation mode":"You are entering Isolation mode","You can borrow this asset with a stable rate only if you borrow more than the amount you are supplying as collateral.":"You can borrow this asset with a stable rate only if you borrow more than the amount you are supplying as collateral.","You can not change Interest Type to stable as your borrowings are higher than your collateral":"You can not change Interest Type to stable as your borrowings are higher than your collateral","You can not disable E-Mode as your current collateralization level is above 80%, disabling E-Mode can cause liquidation. To exit E-Mode supply or repay borrowed positions.":"You can not disable E-Mode as your current collateralization level is above 80%, disabling E-Mode can cause liquidation. To exit E-Mode supply or repay borrowed positions.","You can not switch usage as collateral mode for this currency, because it will cause collateral call":"You can not switch usage as collateral mode for this currency, because it will cause collateral call","You can not use this currency as collateral":"You can not use this currency as collateral","You can not withdraw this amount because it will cause collateral call":"You can not withdraw this amount because it will cause collateral call","You can only switch to tokens with variable APY types. After this transaction, you may change the variable rate to a stable one if available.":"You can only switch to tokens with variable APY types. After this transaction, you may change the variable rate to a stable one if available.","You can only withdraw your assets from the Security Module after the cooldown period ends and the unstake window is active.":"You can only withdraw your assets from the Security Module after the cooldown period ends and the unstake window is active.","You can report incident to our <0>Discord or<1>Github.":"You can report incident to our <0>Discord or<1>Github.","You cancelled the transaction.":"You cancelled the transaction.","You did not participate in this proposal":"You did not participate in this proposal","You do not have supplies in this currency":"You do not have supplies in this currency","You don’t have enough funds in your wallet to repay the full amount. If you proceed to repay with your current amount of funds, you will still have a small borrowing position in your dashboard.":"You don’t have enough funds in your wallet to repay the full amount. If you proceed to repay with your current amount of funds, you will still have a small borrowing position in your dashboard.","You have no AAVE/stkAAVE/aAave balance to delegate.":"You have no AAVE/stkAAVE/aAave balance to delegate.","You have not borrow yet using this currency":"You have not borrow yet using this currency","You may borrow up to <0/> GHO at <1/> (max discount)":"You may borrow up to <0/> GHO at <1/> (max discount)","You may enter a custom amount in the field.":"You may enter a custom amount in the field.","You switched to {0} rate":["You switched to ",["0"]," rate"],"You unstake here":"You unstake here","You voted {0}":["You voted ",["0"]],"You will exit isolation mode and other tokens can now be used as collateral":"You will exit isolation mode and other tokens can now be used as collateral","You {action} <0/> {symbol}":["You ",["action"]," <0/> ",["symbol"]],"You've successfully switched borrow position.":"You've successfully switched borrow position.","You've successfully switched tokens.":"You've successfully switched tokens.","You've successfully withdrew & switched tokens.":"You've successfully withdrew & switched tokens.","Your balance is lower than the selected amount.":"Your balance is lower than the selected amount.","Your borrows":"Your borrows","Your current loan to value based on your collateral supplied.":"Your current loan to value based on your collateral supplied.","Your health factor and loan to value determine the assurance of your collateral. To avoid liquidations you can supply more collateral or repay borrow positions.":"Your health factor and loan to value determine the assurance of your collateral. To avoid liquidations you can supply more collateral or repay borrow positions.","Your info":"Your info","Your infossss":"Your infossss","Your proposition power is based on your AAVE/stkAAVE balance and received delegations.":"Your proposition power is based on your AAVE/stkAAVE balance and received delegations.","Your reward balance is 0":"Your reward balance is 0","Your supplies":"Your supplies","Your voting info":"Your voting info","Your voting power is based on your AAVE/stkAAVE balance and received delegations.":"Your voting power is based on your AAVE/stkAAVE balance and received delegations.","Your {name} wallet is empty. Purchase or transfer assets or use <0>{0} to transfer your {network} assets.":["Your ",["name"]," wallet is empty. Purchase or transfer assets or use <0>",["0"]," to transfer your ",["network"]," assets."],"Your {name} wallet is empty. Purchase or transfer assets.":["Your ",["name"]," wallet is empty. Purchase or transfer assets."],"Your {networkName} wallet is empty. Get free test assets at":["Your ",["networkName"]," wallet is empty. Get free test assets at"],"Your {networkName} wallet is empty. Get free test {0} at":["Your ",["networkName"]," wallet is empty. Get free test ",["0"]," at"],"Zero address not valid":"Zero address not valid","assets":"assets","blocked activities":"blocked activities","copy the error":"copy the error","disabled":"disabled","documentation":"documentation","enabled":"enabled","ends":"ends","for":"for","of":"of","on":"on","please check that the amount you want to supply is not currently being used for staking. If it is being used for staking, your transaction might fail.":"please check that the amount you want to supply is not currently being used for staking. If it is being used for staking, your transaction might fail.","repaid":"repaid","stETH supplied as collateral will continue to accrue staking rewards provided by daily rebases.":"stETH supplied as collateral will continue to accrue staking rewards provided by daily rebases.","stETH tokens will be migrated to Wrapped stETH using Lido Protocol wrapper which leads to supply balance change after migration: {0}":["stETH tokens will be migrated to Wrapped stETH using Lido Protocol wrapper which leads to supply balance change after migration: ",["0"]],"staking view":"staking view","starts":"starts","stkAAVE holders get a discount on GHO borrow rate":"stkAAVE holders get a discount on GHO borrow rate","to":"to","tokens is not the same as staking them. If you wish to stake your":"tokens is not the same as staking them. If you wish to stake your","tokens, please go to the":"tokens, please go to the","withdrew":"withdrew","{0}":[["0"]],"{0} Balance":[["0"]," Balance"],"{0} Faucet":[["0"]," Faucet"],"{0} on-ramp service is provided by External Provider and by selecting you agree to Terms of the Provider. Your access to the service might be reliant on the External Provider being operational.":[["0"]," on-ramp service is provided by External Provider and by selecting you agree to Terms of the Provider. Your access to the service might be reliant on the External Provider being operational."],"{0}{name}":[["0"],["name"]],"{currentMethod}":[["currentMethod"]],"{d}d":[["d"],"d"],"{h}h":[["h"],"h"],"{m}m":[["m"],"m"],"{networkName} Faucet":[["networkName"]," Faucet"],"{notifyText}":[["notifyText"]],"{numSelected}/{numAvailable} assets selected":[["numSelected"],"/",["numAvailable"]," assets selected"],"{s}s":[["s"],"s"],"{title}":[["title"]],"{tooltipText}":[["tooltipText"]]}}; \ No newline at end of file +/*eslint-disable*/module.exports={messages:{"...":"...",".CSV":".CSV",".JSON":".JSON","<0><1><2/>Add <3/> stkAAVE to borrow at <4/> (max discount)":"<0><1><2/>Add <3/> stkAAVE to borrow at <4/> (max discount)","<0><1><2/>Add stkAAVE to see borrow rate with discount":"<0><1><2/>Add stkAAVE to see borrow rate with discount","<0>Ampleforth is a rebasing asset. Visit the <1>documentation to learn more.":"<0>Ampleforth is a rebasing asset. Visit the <1>documentation to learn more.","<0>Attention: Parameter changes via governance can alter your account health factor and risk of liquidation. Follow the <1>Aave governance forum for updates.":"<0>Attention: Parameter changes via governance can alter your account health factor and risk of liquidation. Follow the <1>Aave governance forum for updates.","<0>Slippage tolerance <1>{selectedSlippage}% <2>{0}":["<0>Slippage tolerance <1>",["selectedSlippage"],"% <2>",["0"],""],"AAVE holders (Ethereum network only) can stake their AAVE in the Safety Module to add more security to the protocol and earn Safety Incentives. In the case of a shortfall event, up to 30% of your stake can be slashed to cover the deficit, providing an additional layer of protection for the protocol.":"AAVE holders (Ethereum network only) can stake their AAVE in the Safety Module to add more security to the protocol and earn Safety Incentives. In the case of a shortfall event, up to 30% of your stake can be slashed to cover the deficit, providing an additional layer of protection for the protocol.","APR":"APR","APY":"APY","APY change":"APY change","APY type":"APY type","APY type change":"APY type change","APY with discount applied":"APY with discount applied","APY, borrow rate":"APY, borrow rate","APY, stable":"APY, stable","APY, variable":"APY, variable","AToken supply is not zero":"AToken supply is not zero","Aave Governance":"Aave Governance","Aave aToken":"Aave aToken","Aave debt token":"Aave debt token","Aave is a fully decentralized, community governed protocol by the AAVE token-holders. AAVE token-holders collectively discuss, propose, and vote on upgrades to the protocol. AAVE token-holders (Ethereum network only) can either vote themselves on new proposals or delagate to an address of choice. To learn more check out the Governance":"Aave is a fully decentralized, community governed protocol by the AAVE token-holders. AAVE token-holders collectively discuss, propose, and vote on upgrades to the protocol. AAVE token-holders (Ethereum network only) can either vote themselves on new proposals or delagate to an address of choice. To learn more check out the Governance","Aave per month":"Aave per month","About GHO":"About GHO","Account":"Account","Action cannot be performed because the reserve is frozen":"Action cannot be performed because the reserve is frozen","Action cannot be performed because the reserve is paused":"Action cannot be performed because the reserve is paused","Action requires an active reserve":"Action requires an active reserve","Activate Cooldown":"Activate Cooldown","Add stkAAVE to see borrow APY with the discount":"Add stkAAVE to see borrow APY with the discount","Add to wallet":"Add to wallet","Add {0} to wallet to track your balance.":["Add ",["0"]," to wallet to track your balance."],"Address is not a contract":"Address is not a contract","Addresses":"Addresses","Addresses ({0})":["Addresses (",["0"],")"],"All Assets":"All Assets","All done!":"All done!","All proposals":"All proposals","All transactions":"All transactions","Allowance required action":"Allowance required action","Allows you to decide whether to use a supplied asset as collateral. An asset used as collateral will affect your borrowing power and health factor.":"Allows you to decide whether to use a supplied asset as collateral. An asset used as collateral will affect your borrowing power and health factor.","Allows you to switch between <0>variable and <1>stable interest rates, where variable rate can increase and decrease depending on the amount of liquidity in the reserve, and stable rate will stay the same for the duration of your loan.":"Allows you to switch between <0>variable and <1>stable interest rates, where variable rate can increase and decrease depending on the amount of liquidity in the reserve, and stable rate will stay the same for the duration of your loan.","Amount":"Amount","Amount claimable":"Amount claimable","Amount in cooldown":"Amount in cooldown","Amount must be greater than 0":"Amount must be greater than 0","Amount to unstake":"Amount to unstake","An error has occurred fetching the proposal.":"An error has occurred fetching the proposal.","Approve Confirmed":"Approve Confirmed","Approve with":"Approve with","Approve {symbol} to continue":["Approve ",["symbol"]," to continue"],"Approving {symbol}...":["Approving ",["symbol"],"..."],"Array parameters that should be equal length are not":"Array parameters that should be equal length are not","Asset":"Asset","Asset can be only used as collateral in isolation mode with limited borrowing power. To enter isolation mode, disable all other collateral.":"Asset can be only used as collateral in isolation mode with limited borrowing power. To enter isolation mode, disable all other collateral.","Asset can only be used as collateral in isolation mode only.":"Asset can only be used as collateral in isolation mode only.","Asset cannot be migrated because you have isolated collateral in {marketName} v3 Market which limits borrowable assets. You can manage your collateral in <0>{marketName} V3 Dashboard":["Asset cannot be migrated because you have isolated collateral in ",["marketName"]," v3 Market which limits borrowable assets. You can manage your collateral in <0>",["marketName"]," V3 Dashboard"],"Asset cannot be migrated due to insufficient liquidity or borrow cap limitation in {marketName} v3 market.":["Asset cannot be migrated due to insufficient liquidity or borrow cap limitation in ",["marketName"]," v3 market."],"Asset cannot be migrated due to supply cap restriction in {marketName} v3 market.":["Asset cannot be migrated due to supply cap restriction in ",["marketName"]," v3 market."],"Asset cannot be migrated to {marketName} V3 Market due to E-mode restrictions. You can disable or manage E-mode categories in your <0>V3 Dashboard":["Asset cannot be migrated to ",["marketName"]," V3 Market due to E-mode restrictions. You can disable or manage E-mode categories in your <0>V3 Dashboard"],"Asset cannot be migrated to {marketName} v3 Market since collateral asset will enable isolation mode.":["Asset cannot be migrated to ",["marketName"]," v3 Market since collateral asset will enable isolation mode."],"Asset cannot be used as collateral.":"Asset cannot be used as collateral.","Asset category":"Asset category","Asset is frozen in {marketName} v3 market, hence this position cannot be migrated.":["Asset is frozen in ",["marketName"]," v3 market, hence this position cannot be migrated."],"Asset is not borrowable in isolation mode":"Asset is not borrowable in isolation mode","Asset is not listed":"Asset is not listed","Asset supply is limited to a certain amount to reduce protocol exposure to the asset and to help manage risks involved.":"Asset supply is limited to a certain amount to reduce protocol exposure to the asset and to help manage risks involved.","Assets":"Assets","Assets to borrow":"Assets to borrow","Assets to supply":"Assets to supply","Assets with zero LTV ({assetsBlockingWithdraw}) must be withdrawn or disabled as collateral to perform this action":["Assets with zero LTV (",["assetsBlockingWithdraw"],") must be withdrawn or disabled as collateral to perform this action"],"At a discount":"At a discount","Available":"Available","Available assets":"Available assets","Available liquidity":"Available liquidity","Available on":"Available on","Available rewards":"Available rewards","Available to borrow":"Available to borrow","Available to supply":"Available to supply","Back to Dashboard":"Back to Dashboard","Balance":"Balance","Balance to revoke":"Balance to revoke","Be careful - You are very close to liquidation. Consider depositing more collateral or paying down some of your borrowed positions":"Be careful - You are very close to liquidation. Consider depositing more collateral or paying down some of your borrowed positions","Be mindful of the network congestion and gas prices.":"Be mindful of the network congestion and gas prices.","Because this asset is paused, no actions can be taken until further notice":"Because this asset is paused, no actions can be taken until further notice","Before supplying":"Before supplying","Blocked Address":"Blocked Address","Borrow":"Borrow","Borrow APY":"Borrow APY","Borrow APY rate":"Borrow APY rate","Borrow APY, variable":"Borrow APY, variable","Borrow amount to reach {0}% utilization":["Borrow amount to reach ",["0"],"% utilization"],"Borrow and repay in same block is not allowed":"Borrow and repay in same block is not allowed","Borrow apy":"Borrow apy","Borrow balance":"Borrow balance","Borrow balance after repay":"Borrow balance after repay","Borrow balance after switch":"Borrow balance after switch","Borrow cap":"Borrow cap","Borrow cap is exceeded":"Borrow cap is exceeded","Borrow info":"Borrow info","Borrow power used":"Borrow power used","Borrow rate APY":"Borrow rate APY","Borrow rate change":"Borrow rate change","Borrow {symbol}":["Borrow ",["symbol"]],"Borrowed":"Borrowed","Borrowed asset amount":"Borrowed asset amount","Borrowing is currently unavailable for {0}.":["Borrowing is currently unavailable for ",["0"],"."],"Borrowing is disabled due to an Aave community decision. <0>More details":"Borrowing is disabled due to an Aave community decision. <0>More details","Borrowing is not enabled":"Borrowing is not enabled","Borrowing is unavailable because you’re using Isolation mode. To manage Isolation mode visit your <0>Dashboard.":"Borrowing is unavailable because you’re using Isolation mode. To manage Isolation mode visit your <0>Dashboard.","Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) and Isolation mode. To manage E-Mode and Isolation mode visit your <0>Dashboard.":"Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) and Isolation mode. To manage E-Mode and Isolation mode visit your <0>Dashboard.","Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) for {0} category. To manage E-Mode categories visit your <0>Dashboard.":["Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) for ",["0"]," category. To manage E-Mode categories visit your <0>Dashboard."],"Borrowing of this asset is limited to a certain amount to minimize liquidity pool insolvency.":"Borrowing of this asset is limited to a certain amount to minimize liquidity pool insolvency.","Borrowing power and assets are limited due to Isolation mode.":"Borrowing power and assets are limited due to Isolation mode.","Borrowing this amount will reduce your health factor and increase risk of liquidation.":"Borrowing this amount will reduce your health factor and increase risk of liquidation.","Borrowing {symbol}":["Borrowing ",["symbol"]],"Both":"Both","Buy Crypto With Fiat":"Buy Crypto With Fiat","Buy Crypto with Fiat":"Buy Crypto with Fiat","Buy {cryptoSymbol} with Fiat":["Buy ",["cryptoSymbol"]," with Fiat"],"COPIED!":"COPIED!","COPY IMAGE":"COPY IMAGE","Can be collateral":"Can be collateral","Can be executed":"Can be executed","Can't validate the wallet address. Try again.":"Can't validate the wallet address. Try again.","Cancel":"Cancel","Cannot disable E-Mode":"Cannot disable E-Mode","Choose how much voting/proposition power to give to someone else by delegating some of your AAVE, stkAAVE or aAave balance. Your tokens will remain in your account, but your delegate will be able to vote or propose on your behalf. If your AAVE, stkAAVE or aAave balance changes, your delegate's voting/proposition power will be automatically adjusted.":"Choose how much voting/proposition power to give to someone else by delegating some of your AAVE, stkAAVE or aAave balance. Your tokens will remain in your account, but your delegate will be able to vote or propose on your behalf. If your AAVE, stkAAVE or aAave balance changes, your delegate's voting/proposition power will be automatically adjusted.","Choose one of the on-ramp services":"Choose one of the on-ramp services","Claim":"Claim","Claim all":"Claim all","Claim all rewards":"Claim all rewards","Claim {0}":["Claim ",["0"]],"Claim {symbol}":["Claim ",["symbol"]],"Claimable AAVE":"Claimable AAVE","Claimed":"Claimed","Claiming":"Claiming","Claiming {symbol}":["Claiming ",["symbol"]],"Close":"Close","Collateral":"Collateral","Collateral balance after repay":"Collateral balance after repay","Collateral change":"Collateral change","Collateral is (mostly) the same currency that is being borrowed":"Collateral is (mostly) the same currency that is being borrowed","Collateral to repay with":"Collateral to repay with","Collateral usage":"Collateral usage","Collateral usage is limited because of Isolation mode.":"Collateral usage is limited because of Isolation mode.","Collateral usage is limited because of isolation mode.":"Collateral usage is limited because of isolation mode.","Collateral usage is limited because of isolation mode. <0>Learn More":"Collateral usage is limited because of isolation mode. <0>Learn More","Collateralization":"Collateralization","Collector Contract":"Collector Contract","Collector Info":"Collector Info","Confirm transaction":"Confirm transaction","Confirming transaction":"Confirming transaction","Connect":"Connect","Connect wallet":"Connect wallet","Cooldown period":"Cooldown period","Cooldown period warning":"Cooldown period warning","Cooldown time left":"Cooldown time left","Cooldown to unstake":"Cooldown to unstake","Cooling down...":"Cooling down...","Copy address":"Copy address","Copy error message":"Copy error message","Copy error text":"Copy error text","Covered debt":"Covered debt","Current LTV":"Current LTV","Current differential":"Current differential","Current v2 Balance":"Current v2 Balance","Current v2 balance":"Current v2 balance","Current votes":"Current votes","Dark mode":"Dark mode","Dashboard":"Dashboard","Data couldn't be fetched, please reload graph.":"Data couldn't be fetched, please reload graph.","Debt":"Debt","Debt ceiling is exceeded":"Debt ceiling is exceeded","Debt ceiling is not zero":"Debt ceiling is not zero","Debt ceiling limits the amount possible to borrow against this asset by protocol users. Debt ceiling is specific to assets in isolation mode and is denoted in USD.":"Debt ceiling limits the amount possible to borrow against this asset by protocol users. Debt ceiling is specific to assets in isolation mode and is denoted in USD.","Delegated power":"Delegated power","Details":"Details","Developers":"Developers","Differential":"Differential","Disable E-Mode":"Disable E-Mode","Disable testnet":"Disable testnet","Disable {symbol} as collateral":["Disable ",["symbol"]," as collateral"],"Disabled":"Disabled","Disabling E-Mode":"Disabling E-Mode","Disabling this asset as collateral affects your borrowing power and Health Factor.":"Disabling this asset as collateral affects your borrowing power and Health Factor.","Disconnect Wallet":"Disconnect Wallet","Discord channel":"Discord channel","Discount":"Discount","Discount applied for <0/> staking AAVE":"Discount applied for <0/> staking AAVE","Discount model parameters":"Discount model parameters","Discount parameters are decided by the Aave community and may be changed over time. Check Governance for updates and vote to participate. <0>Learn more":"Discount parameters are decided by the Aave community and may be changed over time. Check Governance for updates and vote to participate. <0>Learn more","Discountable amount":"Discountable amount","Docs":"Docs","Download":"Download","Due to internal stETH mechanics required for rebasing support, it is not possible to perform a collateral switch where stETH is the source token.":"Due to internal stETH mechanics required for rebasing support, it is not possible to perform a collateral switch where stETH is the source token.","Due to the Horizon bridge exploit, certain assets on the Harmony network are not at parity with Ethereum, which affects the Aave V3 Harmony market.":"Due to the Horizon bridge exploit, certain assets on the Harmony network are not at parity with Ethereum, which affects the Aave V3 Harmony market.","E-Mode":"E-Mode","E-Mode Category":"E-Mode Category","E-Mode category":"E-Mode category","E-Mode increases your LTV for a selected category of assets up to 97%. <0>Learn more":"E-Mode increases your LTV for a selected category of assets up to 97%. <0>Learn more","E-Mode increases your LTV for a selected category of assets up to<0/>. <1>Learn more":"E-Mode increases your LTV for a selected category of assets up to<0/>. <1>Learn more","E-Mode increases your LTV for a selected category of assets, meaning that when E-mode is enabled, you will have higher borrowing power over assets of the same E-mode category which are defined by Aave Governance. You can enter E-Mode from your <0>Dashboard. To learn more about E-Mode and applied restrictions in <1>FAQ or <2>Aave V3 Technical Paper.":"E-Mode increases your LTV for a selected category of assets, meaning that when E-mode is enabled, you will have higher borrowing power over assets of the same E-mode category which are defined by Aave Governance. You can enter E-Mode from your <0>Dashboard. To learn more about E-Mode and applied restrictions in <1>FAQ or <2>Aave V3 Technical Paper.","Edit":"Edit","Effective interest rate":"Effective interest rate","Efficiency mode (E-Mode)":"Efficiency mode (E-Mode)","Emode":"Emode","Enable E-Mode":"Enable E-Mode","Enable {symbol} as collateral":["Enable ",["symbol"]," as collateral"],"Enabled":"Enabled","Enabling E-Mode":"Enabling E-Mode","Enabling E-Mode only allows you to borrow assets belonging to the selected category. Please visit our <0>FAQ guide to learn more about how it works and the applied restrictions.":"Enabling E-Mode only allows you to borrow assets belonging to the selected category. Please visit our <0>FAQ guide to learn more about how it works and the applied restrictions.","Enabling this asset as collateral increases your borrowing power and Health Factor. However, it can get liquidated if your health factor drops below 1.":"Enabling this asset as collateral increases your borrowing power and Health Factor. However, it can get liquidated if your health factor drops below 1.","English":"English","Enter ETH address":"Enter ETH address","Enter an amount":"Enter an amount","Error connecting. Try refreshing the page.":"Error connecting. Try refreshing the page.","Estimated compounding interest, including discount for Staking {0}AAVE in Safety Module.":["Estimated compounding interest, including discount for Staking ",["0"],"AAVE in Safety Module."],"Exceeds the discount":"Exceeds the discount","Expected amount to repay":"Expected amount to repay","Expires":"Expires","Export data to":"Export data to","FAQ":"FAQ","FAQS":"FAQS","Failed to load proposal voters. Please refresh the page.":"Failed to load proposal voters. Please refresh the page.","Faucet":"Faucet","Faucet {0}":["Faucet ",["0"]],"Fetching data...":"Fetching data...","Filter":"Filter","Fixed":"Fixed","Fixed rate":"Fixed rate","Flashloan is disabled for this asset, hence this position cannot be migrated.":"Flashloan is disabled for this asset, hence this position cannot be migrated.","For repayment of a specific type of debt, the user needs to have debt that type":"For repayment of a specific type of debt, the user needs to have debt that type","French":"French","Funds in the Safety Module":"Funds in the Safety Module","GHO is a native decentralized, collateral-backed digital asset pegged to USD. It is created by users via borrowing against multiple collateral. When user repays their GHO borrow position, the protocol burns that user's GHO. All the interest payments accrued by minters of GHO would be directly transferred to the AaveDAO treasury.":"GHO is a native decentralized, collateral-backed digital asset pegged to USD. It is created by users via borrowing against multiple collateral. When user repays their GHO borrow position, the protocol burns that user's GHO. All the interest payments accrued by minters of GHO would be directly transferred to the AaveDAO treasury.","Get ABP Token":"Get ABP Token","Global settings":"Global settings","Go Back":"Go Back","Go to Balancer Pool":"Go to Balancer Pool","Go to V3 Dashboard":"Go to V3 Dashboard","Governance":"Governance","Greek":"Greek","Health Factor ({0} v2)":["Health Factor (",["0"]," v2)"],"Health Factor ({0} v3)":["Health Factor (",["0"]," v3)"],"Health factor":"Health factor","Health factor is lesser than the liquidation threshold":"Health factor is lesser than the liquidation threshold","Health factor is not below the threshold":"Health factor is not below the threshold","Hide":"Hide","Holders of stkAAVE receive a discount on the GHO borrowing rate":"Holders of stkAAVE receive a discount on the GHO borrowing rate","I acknowledge the risks involved.":"I acknowledge the risks involved.","I fully understand the risks of migrating.":"I fully understand the risks of migrating.","I understand how cooldown ({0}) and unstaking ({1}) work":["I understand how cooldown (",["0"],") and unstaking (",["1"],") work"],"If the error continues to happen,<0/> you may report it to this":"If the error continues to happen,<0/> you may report it to this","If the health factor goes below 1, the liquidation of your collateral might be triggered.":"If the health factor goes below 1, the liquidation of your collateral might be triggered.","If you DO NOT unstake within {0} of unstake window, you will need to activate cooldown process again.":["If you DO NOT unstake within ",["0"]," of unstake window, you will need to activate cooldown process again."],"If your loan to value goes above the liquidation threshold your collateral supplied may be liquidated.":"If your loan to value goes above the liquidation threshold your collateral supplied may be liquidated.","In E-Mode some assets are not borrowable. Exit E-Mode to get access to all assets":"In E-Mode some assets are not borrowable. Exit E-Mode to get access to all assets","In Isolation mode, you cannot supply other assets as collateral. A global debt ceiling limits the borrowing power of the isolated asset. To exit isolation mode disable {0} as collateral before borrowing another asset. Read more in our <0>FAQ":["In Isolation mode, you cannot supply other assets as collateral. A global debt ceiling limits the borrowing power of the isolated asset. To exit isolation mode disable ",["0"]," as collateral before borrowing another asset. Read more in our <0>FAQ"],"Inconsistent flashloan parameters":"Inconsistent flashloan parameters","Insufficient collateral to cover new borrow position. Wallet must have borrowing power remaining to perform debt switch.":"Insufficient collateral to cover new borrow position. Wallet must have borrowing power remaining to perform debt switch.","Interest accrued":"Interest accrued","Interest rate rebalance conditions were not met":"Interest rate rebalance conditions were not met","Interest rate strategy":"Interest rate strategy","Interest rate that is determined by Aave Governance. This rate may be changed over time depending on the need for the GHO supply to contract/expand. <0>Learn more":"Interest rate that is determined by Aave Governance. This rate may be changed over time depending on the need for the GHO supply to contract/expand. <0>Learn more","Invalid amount to burn":"Invalid amount to burn","Invalid amount to mint":"Invalid amount to mint","Invalid bridge protocol fee":"Invalid bridge protocol fee","Invalid expiration":"Invalid expiration","Invalid flashloan premium":"Invalid flashloan premium","Invalid return value of the flashloan executor function":"Invalid return value of the flashloan executor function","Invalid signature":"Invalid signature","Isolated":"Isolated","Isolated Debt Ceiling":"Isolated Debt Ceiling","Isolated assets have limited borrowing power and other assets cannot be used as collateral.":"Isolated assets have limited borrowing power and other assets cannot be used as collateral.","Join the community discussion":"Join the community discussion","LEARN MORE":"LEARN MORE","Language":"Language","Learn more":"Learn more","Learn more about risks involved":"Learn more about risks involved","Learn more in our <0>FAQ guide":"Learn more in our <0>FAQ guide","Learn more.":"Learn more.","Linked addresses":"Linked addresses","Links":"Links","Liqudation":"Liqudation","Liquidated collateral":"Liquidated collateral","Liquidation":"Liquidation","Liquidation <0/> threshold":"Liquidation <0/> threshold","Liquidation Threshold":"Liquidation Threshold","Liquidation at":"Liquidation at","Liquidation penalty":"Liquidation penalty","Liquidation risk":"Liquidation risk","Liquidation risk parameters":"Liquidation risk parameters","Liquidation threshold":"Liquidation threshold","Liquidation value":"Liquidation value","Loading data...":"Loading data...","Ltv validation failed":"Ltv validation failed","MAI has been paused due to a community decision. Supply, borrows and repays are impacted. <0>More details":"MAI has been paused due to a community decision. Supply, borrows and repays are impacted. <0>More details","MAX":"MAX","Manage analytics":"Manage analytics","Market":"Market","Markets":"Markets","Max":"Max","Max LTV":"Max LTV","Max slashing":"Max slashing","Max slippage":"Max slippage","Maximum amount available to borrow against this asset is limited because debt ceiling is at {0}%.":["Maximum amount available to borrow against this asset is limited because debt ceiling is at ",["0"],"%."],"Maximum amount available to borrow is <0/> {0} (<1/>).":["Maximum amount available to borrow is <0/> ",["0"]," (<1/>)."],"Maximum amount available to borrow is limited because protocol borrow cap is nearly reached.":"Maximum amount available to borrow is limited because protocol borrow cap is nearly reached.","Maximum amount available to supply is <0/> {0} (<1/>).":["Maximum amount available to supply is <0/> ",["0"]," (<1/>)."],"Maximum amount available to supply is limited because protocol supply cap is at {0}%.":["Maximum amount available to supply is limited because protocol supply cap is at ",["0"],"%."],"Maximum loan to value":"Maximum loan to value","Meet GHO":"Meet GHO","Menu":"Menu","Migrate":"Migrate","Migrate to V3":"Migrate to V3","Migrate to v3":"Migrate to v3","Migrate to {0} v3 Market":["Migrate to ",["0"]," v3 Market"],"Migrated":"Migrated","Migrating":"Migrating","Migrating multiple collaterals and borrowed assets at the same time can be an expensive operation and might fail in certain situations.<0>Therefore it’s not recommended to migrate positions with more than 5 assets (deposited + borrowed) at the same time.":"Migrating multiple collaterals and borrowed assets at the same time can be an expensive operation and might fail in certain situations.<0>Therefore it’s not recommended to migrate positions with more than 5 assets (deposited + borrowed) at the same time.","Migration risks":"Migration risks","Minimum GHO borrow amount":"Minimum GHO borrow amount","Minimum USD value received":"Minimum USD value received","Minimum staked Aave amount":"Minimum staked Aave amount","Minimum {0} received":["Minimum ",["0"]," received"],"More":"More","NAY":"NAY","Need help connecting a wallet? <0>Read our FAQ":"Need help connecting a wallet? <0>Read our FAQ","Net APR":"Net APR","Net APY":"Net APY","Net APY is the combined effect of all supply and borrow positions on net worth, including incentives. It is possible to have a negative net APY if debt APY is higher than supply APY.":"Net APY is the combined effect of all supply and borrow positions on net worth, including incentives. It is possible to have a negative net APY if debt APY is higher than supply APY.","Net worth":"Net worth","Network":"Network","Network not supported for this wallet":"Network not supported for this wallet","New APY":"New APY","No assets selected to migrate.":"No assets selected to migrate.","No rewards to claim":"No rewards to claim","No search results{0}":["No search results",["0"]],"No transactions yet.":"No transactions yet.","No voting power":"No voting power","None":"None","Not a valid address":"Not a valid address","Not enough balance on your wallet":"Not enough balance on your wallet","Not enough collateral to repay this amount of debt with":"Not enough collateral to repay this amount of debt with","Not enough staked balance":"Not enough staked balance","Not enough voting power to participate in this proposal":"Not enough voting power to participate in this proposal","Not reached":"Not reached","Nothing borrowed yet":"Nothing borrowed yet","Nothing found":"Nothing found","Nothing staked":"Nothing staked","Nothing supplied yet":"Nothing supplied yet","Notify":"Notify","Ok, Close":"Ok, Close","Ok, I got it":"Ok, I got it","Operation not supported":"Operation not supported","Oracle price":"Oracle price","Overview":"Overview","Page not found":"Page not found","Participating in this {symbol} reserve gives annualized rewards.":["Participating in this ",["symbol"]," reserve gives annualized rewards."],"Pending...":"Pending...","Per the community, the Fantom market has been frozen.":"Per the community, the Fantom market has been frozen.","Per the community, the V2 AMM market has been deprecated.":"Per the community, the V2 AMM market has been deprecated.","Please always be aware of your <0>Health Factor (HF) when partially migrating a position and that your rates will be updated to V3 rates.":"Please always be aware of your <0>Health Factor (HF) when partially migrating a position and that your rates will be updated to V3 rates.","Please connect a wallet to view your personal information here.":"Please connect a wallet to view your personal information here.","Please connect your wallet to be able to switch your tokens.":"Please connect your wallet to be able to switch your tokens.","Please connect your wallet to get free testnet assets.":"Please connect your wallet to get free testnet assets.","Please connect your wallet to see migration tool.":"Please connect your wallet to see migration tool.","Please connect your wallet to see your supplies, borrowings, and open positions.":"Please connect your wallet to see your supplies, borrowings, and open positions.","Please connect your wallet to view transaction history.":"Please connect your wallet to view transaction history.","Please enter a valid wallet address.":"Please enter a valid wallet address.","Please switch to {networkName}.":["Please switch to ",["networkName"],"."],"Please, connect your wallet":"Please, connect your wallet","Pool addresses provider is not registered":"Pool addresses provider is not registered","Powered by":"Powered by","Preview tx and migrate":"Preview tx and migrate","Price":"Price","Price data is not currently available for this reserve on the protocol subgraph":"Price data is not currently available for this reserve on the protocol subgraph","Price impact":"Price impact","Price impact is the spread between the total value of the entry tokens switched and the destination tokens obtained (in USD), which results from the limited liquidity of the trading pair.":"Price impact is the spread between the total value of the entry tokens switched and the destination tokens obtained (in USD), which results from the limited liquidity of the trading pair.","Price impact {0}%":["Price impact ",["0"],"%"],"Privacy":"Privacy","Proposal details":"Proposal details","Proposal overview":"Proposal overview","Proposals":"Proposals","Proposition":"Proposition","Protocol borrow cap at 100% for this asset. Further borrowing unavailable.":"Protocol borrow cap at 100% for this asset. Further borrowing unavailable.","Protocol borrow cap is at 100% for this asset. Further borrowing unavailable.":"Protocol borrow cap is at 100% for this asset. Further borrowing unavailable.","Protocol debt ceiling is at 100% for this asset. Further borrowing against this asset is unavailable.":"Protocol debt ceiling is at 100% for this asset. Further borrowing against this asset is unavailable.","Protocol debt ceiling is at 100% for this asset. Futher borrowing against this asset is unavailable.":"Protocol debt ceiling is at 100% for this asset. Futher borrowing against this asset is unavailable.","Protocol supply cap at 100% for this asset. Further supply unavailable.":"Protocol supply cap at 100% for this asset. Further supply unavailable.","Protocol supply cap is at 100% for this asset. Further supply unavailable.":"Protocol supply cap is at 100% for this asset. Further supply unavailable.","Quorum":"Quorum","Rate change":"Rate change","Raw-Ipfs":"Raw-Ipfs","Reached":"Reached","Reactivate cooldown period to unstake {0} {stakedToken}":["Reactivate cooldown period to unstake ",["0"]," ",["stakedToken"]],"Read more here.":"Read more here.","Read-only mode allows to see address positions in Aave, but you won't be able to perform transactions.":"Read-only mode allows to see address positions in Aave, but you won't be able to perform transactions.","Read-only mode.":"Read-only mode.","Read-only mode. Connect to a wallet to perform transactions.":"Read-only mode. Connect to a wallet to perform transactions.","Receive (est.)":"Receive (est.)","Received":"Received","Recipient address":"Recipient address","Rejected connection request":"Rejected connection request","Reload":"Reload","Reload the page":"Reload the page","Remaining debt":"Remaining debt","Remaining supply":"Remaining supply","Remove":"Remove","Repaid":"Repaid","Repay":"Repay","Repay with":"Repay with","Repay {symbol}":["Repay ",["symbol"]],"Repaying {symbol}":["Repaying ",["symbol"]],"Repayment amount to reach {0}% utilization":["Repayment amount to reach ",["0"],"% utilization"],"Representative smart contract wallet (ie. Safe) addresses on other chains.":"Representative smart contract wallet (ie. Safe) addresses on other chains.","Representing smart contract wallet (ie. Safe) addresses on other chains.":"Representing smart contract wallet (ie. Safe) addresses on other chains.","Reserve Size":"Reserve Size","Reserve factor":"Reserve factor","Reserve factor is a percentage of interest which goes to a {0} that is controlled by Aave governance to promote ecosystem growth.":["Reserve factor is a percentage of interest which goes to a ",["0"]," that is controlled by Aave governance to promote ecosystem growth."],"Reserve status & configuration":"Reserve status & configuration","Reset":"Reset","Restake":"Restake","Restake {symbol}":["Restake ",["symbol"]],"Restaked":"Restaked","Restaking {symbol}":["Restaking ",["symbol"]],"Review approval tx details":"Review approval tx details","Review changes to continue":"Review changes to continue","Review tx":"Review tx","Review tx details":"Review tx details","Revoke power":"Revoke power","Reward(s) to claim":"Reward(s) to claim","Rewards APR":"Rewards APR","Risk details":"Risk details","SEE CHARTS":"SEE CHARTS","Safety of your deposited collateral against the borrowed assets and its underlying value.":"Safety of your deposited collateral against the borrowed assets and its underlying value.","Save and share":"Save and share","Seems like we can't switch the network automatically. Please check if you can change it from the wallet.":"Seems like we can't switch the network automatically. Please check if you can change it from the wallet.","Select":"Select","Select APY type to switch":"Select APY type to switch","Select an asset":"Select an asset","Select language":"Select language","Select slippage tolerance":"Select slippage tolerance","Select v2 borrows to migrate":"Select v2 borrows to migrate","Select v2 supplies to migrate":"Select v2 supplies to migrate","Selected assets have successfully migrated. Visit the Market Dashboard to see them.":"Selected assets have successfully migrated. Visit the Market Dashboard to see them.","Selected borrow assets":"Selected borrow assets","Selected supply assets":"Selected supply assets","Send feedback":"Send feedback","Set up delegation":"Set up delegation","Setup notifications about your Health Factor using the Hal app.":"Setup notifications about your Health Factor using the Hal app.","Share on Lens":"Share on Lens","Share on twitter":"Share on twitter","Show":"Show","Show Frozen or paused assets":"Show Frozen or paused assets","Show assets with 0 balance":"Show assets with 0 balance","Sign to continue":"Sign to continue","Signatures ready":"Signatures ready","Signing":"Signing","Since this asset is frozen, the only available actions are withdraw and repay which can be accessed from the <0>Dashboard":"Since this asset is frozen, the only available actions are withdraw and repay which can be accessed from the <0>Dashboard","Since this is a test network, you can get any of the assets if you have ETH on your wallet":"Since this is a test network, you can get any of the assets if you have ETH on your wallet","Slippage":"Slippage","Slippage is the difference between the quoted and received amounts from changing market conditions between the moment the transaction is submitted and its verification.":"Slippage is the difference between the quoted and received amounts from changing market conditions between the moment the transaction is submitted and its verification.","Some migrated assets will not be used as collateral due to enabled isolation mode in {marketName} V3 Market. Visit <0>{marketName} V3 Dashboard to manage isolation mode.":["Some migrated assets will not be used as collateral due to enabled isolation mode in ",["marketName"]," V3 Market. Visit <0>",["marketName"]," V3 Dashboard to manage isolation mode."],"Something went wrong":"Something went wrong","Sorry, an unexpected error happened. In the meantime you may try reloading the page, or come back later.":"Sorry, an unexpected error happened. In the meantime you may try reloading the page, or come back later.","Sorry, we couldn't find the page you were looking for.":"Sorry, we couldn't find the page you were looking for.","Spanish":"Spanish","Stable":"Stable","Stable Interest Type is disabled for this currency":"Stable Interest Type is disabled for this currency","Stable borrowing is enabled":"Stable borrowing is enabled","Stable borrowing is not enabled":"Stable borrowing is not enabled","Stable debt supply is not zero":"Stable debt supply is not zero","Stable interest rate will <0>stay the same for the duration of your loan. Recommended for long-term loan periods and for users who prefer predictability.":"Stable interest rate will <0>stay the same for the duration of your loan. Recommended for long-term loan periods and for users who prefer predictability.","Stablecoin":"Stablecoin","Stake":"Stake","Stake AAVE":"Stake AAVE","Stake ABPT":"Stake ABPT","Stake cooldown activated":"Stake cooldown activated","Staked":"Staked","Staking":"Staking","Staking APR":"Staking APR","Staking Rewards":"Staking Rewards","Staking balance":"Staking balance","Staking discount":"Staking discount","State":"State","Supplied":"Supplied","Supplied asset amount":"Supplied asset amount","Supply":"Supply","Supply APY":"Supply APY","Supply apy":"Supply apy","Supply balance":"Supply balance","Supply balance after switch":"Supply balance after switch","Supply cap is exceeded":"Supply cap is exceeded","Supply cap on target reserve reached. Try lowering the amount.":"Supply cap on target reserve reached. Try lowering the amount.","Supply {symbol}":["Supply ",["symbol"]],"Supplying your":"Supplying your","Supplying {symbol}":["Supplying ",["symbol"]],"Switch":"Switch","Switch APY type":"Switch APY type","Switch E-Mode":"Switch E-Mode","Switch E-Mode category":"Switch E-Mode category","Switch Network":"Switch Network","Switch borrow position":"Switch borrow position","Switch rate":"Switch rate","Switch to":"Switch to","Switched":"Switched","Switching":"Switching","Switching E-Mode":"Switching E-Mode","Switching rate":"Switching rate","Techpaper":"Techpaper","Terms":"Terms","Test Assets":"Test Assets","Testnet mode":"Testnet mode","Testnet mode is ON":"Testnet mode is ON","Thank you for voting!!":"Thank you for voting!!","The % of your total borrowing power used. This is based on the amount of your collateral supplied and the total amount that you can borrow.":"The % of your total borrowing power used. This is based on the amount of your collateral supplied and the total amount that you can borrow.","The Aave Balancer Pool Token (ABPT) is a liquidity pool token. You can receive ABPT by depositing a combination of AAVE + ETH in the Balancer liquidity pool. You can then stake your BPT in the Safety Module to secure the protocol and earn Safety Incentives.":"The Aave Balancer Pool Token (ABPT) is a liquidity pool token. You can receive ABPT by depositing a combination of AAVE + ETH in the Balancer liquidity pool. You can then stake your BPT in the Safety Module to secure the protocol and earn Safety Incentives.","The Aave Protocol is programmed to always use the price of 1 GHO = $1. This is different from using market pricing via oracles for other crypto assets. This creates stabilizing arbitrage opportunities when the price of GHO fluctuates.":"The Aave Protocol is programmed to always use the price of 1 GHO = $1. This is different from using market pricing via oracles for other crypto assets. This creates stabilizing arbitrage opportunities when the price of GHO fluctuates.","The Maximum LTV ratio represents the maximum borrowing power of a specific collateral. For example, if a collateral has an LTV of 75%, the user can borrow up to 0.75 worth of ETH in the principal currency for every 1 ETH worth of collateral.":"The Maximum LTV ratio represents the maximum borrowing power of a specific collateral. For example, if a collateral has an LTV of 75%, the user can borrow up to 0.75 worth of ETH in the principal currency for every 1 ETH worth of collateral.","The Stable Rate is not enabled for this currency":"The Stable Rate is not enabled for this currency","The address of the pool addresses provider is invalid":"The address of the pool addresses provider is invalid","The app is running in testnet mode. Learn how it works in":"The app is running in testnet mode. Learn how it works in","The caller of the function is not an AToken":"The caller of the function is not an AToken","The caller of this function must be a pool":"The caller of this function must be a pool","The collateral balance is 0":"The collateral balance is 0","The collateral chosen cannot be liquidated":"The collateral chosen cannot be liquidated","The cooldown period is the time required prior to unstaking your tokens (20 days). You can only withdraw your assets from the Security Module after the cooldown period and within the unstake window.<0>Learn more":"The cooldown period is the time required prior to unstaking your tokens (20 days). You can only withdraw your assets from the Security Module after the cooldown period and within the unstake window.<0>Learn more","The cooldown period is {0}. After {1} of cooldown, you will enter unstake window of {2}. You will continue receiving rewards during cooldown and unstake window.":["The cooldown period is ",["0"],". After ",["1"]," of cooldown, you will enter unstake window of ",["2"],". You will continue receiving rewards during cooldown and unstake window."],"The effects on the health factor would cause liquidation. Try lowering the amount.":"The effects on the health factor would cause liquidation. Try lowering the amount.","The loan to value of the migrated positions would cause liquidation. Increase migrated collateral or reduce migrated borrow to continue.":"The loan to value of the migrated positions would cause liquidation. Increase migrated collateral or reduce migrated borrow to continue.","The requested amount is greater than the max loan size in stable rate mode":"The requested amount is greater than the max loan size in stable rate mode","The total amount of your assets denominated in USD that can be used as collateral for borrowing assets.":"The total amount of your assets denominated in USD that can be used as collateral for borrowing assets.","The underlying asset cannot be rescued":"The underlying asset cannot be rescued","The underlying balance needs to be greater than 0":"The underlying balance needs to be greater than 0","The weighted average of APY for all borrowed assets, including incentives.":"The weighted average of APY for all borrowed assets, including incentives.","The weighted average of APY for all supplied assets, including incentives.":"The weighted average of APY for all supplied assets, including incentives.","There are not enough funds in the{0}reserve to borrow":["There are not enough funds in the",["0"],"reserve to borrow"],"There is not enough collateral to cover a new borrow":"There is not enough collateral to cover a new borrow","There is not enough liquidity for the target asset to perform the switch. Try lowering the amount.":"There is not enough liquidity for the target asset to perform the switch. Try lowering the amount.","There was some error. Please try changing the parameters or <0><1>copy the error":"There was some error. Please try changing the parameters or <0><1>copy the error","These assets are temporarily frozen or paused by Aave community decisions, meaning that further supply / borrow, or rate swap of these assets are unavailable. Withdrawals and debt repayments are allowed. Follow the <0>Aave governance forum for further updates.":"These assets are temporarily frozen or paused by Aave community decisions, meaning that further supply / borrow, or rate swap of these assets are unavailable. Withdrawals and debt repayments are allowed. Follow the <0>Aave governance forum for further updates.","These funds have been borrowed and are not available for withdrawal at this time.":"These funds have been borrowed and are not available for withdrawal at this time.","This action will reduce V2 health factor below liquidation threshold. retain collateral or migrate borrow position to continue.":"This action will reduce V2 health factor below liquidation threshold. retain collateral or migrate borrow position to continue.","This action will reduce health factor of V3 below liquidation threshold. Increase migrated collateral or reduce migrated borrow to continue.":"This action will reduce health factor of V3 below liquidation threshold. Increase migrated collateral or reduce migrated borrow to continue.","This action will reduce your health factor. Please be mindful of the increased risk of collateral liquidation.":"This action will reduce your health factor. Please be mindful of the increased risk of collateral liquidation.","This address is blocked on app.aave.com because it is associated with one or more":"This address is blocked on app.aave.com because it is associated with one or more","This asset has almost reached its borrow cap. There is only {messageValue} available to be borrowed from this market.":["This asset has almost reached its borrow cap. There is only ",["messageValue"]," available to be borrowed from this market."],"This asset has almost reached its supply cap. There can only be {messageValue} supplied to this market.":["This asset has almost reached its supply cap. There can only be ",["messageValue"]," supplied to this market."],"This asset has been paused due to a community decision. Supply, withdraw, borrows and repays are impacted.":"This asset has been paused due to a community decision. Supply, withdraw, borrows and repays are impacted.","This asset has reached its borrow cap. Nothing is available to be borrowed from this market.":"This asset has reached its borrow cap. Nothing is available to be borrowed from this market.","This asset has reached its supply cap. Nothing is available to be supplied from this market.":"This asset has reached its supply cap. Nothing is available to be supplied from this market.","This asset is frozen due to an Aave Protocol Governance decision. <0>More details":"This asset is frozen due to an Aave Protocol Governance decision. <0>More details","This asset is frozen due to an Aave Protocol Governance decision. On the 20th of December 2022, renFIL will no longer be supported and cannot be bridged back to its native network. It is recommended to withdraw supply positions and repay borrow positions so that renFIL can be bridged back to FIL before the deadline. After this date, it will no longer be possible to convert renFIL to FIL. <0>More details":"This asset is frozen due to an Aave Protocol Governance decision. On the 20th of December 2022, renFIL will no longer be supported and cannot be bridged back to its native network. It is recommended to withdraw supply positions and repay borrow positions so that renFIL can be bridged back to FIL before the deadline. After this date, it will no longer be possible to convert renFIL to FIL. <0>More details","This asset is frozen due to an Aave community decision. <0>More details":"This asset is frozen due to an Aave community decision. <0>More details","This asset is planned to be offboarded due to an Aave Protocol Governance decision. <0>More details":"This asset is planned to be offboarded due to an Aave Protocol Governance decision. <0>More details","This gas calculation is only an estimation. Your wallet will set the price of the transaction. You can modify the gas settings directly from your wallet provider.":"This gas calculation is only an estimation. Your wallet will set the price of the transaction. You can modify the gas settings directly from your wallet provider.","This integration was<0>proposed and approvedby the community.":"This integration was<0>proposed and approvedby the community.","This is the total amount available for you to borrow. You can borrow based on your collateral and until the borrow cap is reached.":"This is the total amount available for you to borrow. You can borrow based on your collateral and until the borrow cap is reached.","This is the total amount that you are able to supply to in this reserve. You are able to supply your wallet balance up until the supply cap is reached.":"This is the total amount that you are able to supply to in this reserve. You are able to supply your wallet balance up until the supply cap is reached.","This represents the threshold at which a borrow position will be considered undercollateralized and subject to liquidation for each collateral. For example, if a collateral has a liquidation threshold of 80%, it means that the position will be liquidated when the debt value is worth 80% of the collateral value.":"This represents the threshold at which a borrow position will be considered undercollateralized and subject to liquidation for each collateral. For example, if a collateral has a liquidation threshold of 80%, it means that the position will be liquidated when the debt value is worth 80% of the collateral value.","Time left to be able to withdraw your staked asset.":"Time left to be able to withdraw your staked asset.","Time left to unstake":"Time left to unstake","Time left until the withdrawal window closes.":"Time left until the withdrawal window closes.","Tip: Try increasing slippage or reduce input amount":"Tip: Try increasing slippage or reduce input amount","To borrow you need to supply any asset to be used as collateral.":"To borrow you need to supply any asset to be used as collateral.","To continue, you need to grant Aave smart contracts permission to move your funds from your wallet. Depending on the asset and wallet you use, it is done by signing the permission message (gas free), or by submitting an approval transaction (requires gas). <0>Learn more":"To continue, you need to grant Aave smart contracts permission to move your funds from your wallet. Depending on the asset and wallet you use, it is done by signing the permission message (gas free), or by submitting an approval transaction (requires gas). <0>Learn more","To enable E-mode for the {0} category, all borrow positions outside of this category must be closed.":["To enable E-mode for the ",["0"]," category, all borrow positions outside of this category must be closed."],"To repay on behalf of a user an explicit amount to repay is needed":"To repay on behalf of a user an explicit amount to repay is needed","To request access for this permissioned market, please visit: <0>Acces Provider Name":"To request access for this permissioned market, please visit: <0>Acces Provider Name","To submit a proposal for minor changes to the protocol, you'll need at least 80.00K power. If you want to change the core code base, you'll need 320k power.<0>Learn more.":"To submit a proposal for minor changes to the protocol, you'll need at least 80.00K power. If you want to change the core code base, you'll need 320k power.<0>Learn more.","Top 10 addresses":"Top 10 addresses","Total available":"Total available","Total borrowed":"Total borrowed","Total borrows":"Total borrows","Total emission per day":"Total emission per day","Total interest accrued":"Total interest accrued","Total market size":"Total market size","Total supplied":"Total supplied","Total worth":"Total worth","Track wallet":"Track wallet","Track wallet balance in read-only mode":"Track wallet balance in read-only mode","Transaction failed":"Transaction failed","Transaction history":"Transaction history","Transaction history is not currently available for this market":"Transaction history is not currently available for this market","Transaction overview":"Transaction overview","Transactions":"Transactions","UNSTAKE {symbol}":["UNSTAKE ",["symbol"]],"Unavailable":"Unavailable","Unbacked":"Unbacked","Unbacked mint cap is exceeded":"Unbacked mint cap is exceeded","Underlying asset does not exist in {marketName} v3 Market, hence this position cannot be migrated.":["Underlying asset does not exist in ",["marketName"]," v3 Market, hence this position cannot be migrated."],"Underlying token":"Underlying token","Unstake now":"Unstake now","Unstake window":"Unstake window","Unstaked":"Unstaked","Unstaking {symbol}":["Unstaking ",["symbol"]],"Update: Disruptions reported for WETH, WBTC, WMATIC, and USDT. AIP 230 will resolve the disruptions and the market will be operating as normal on ~26th May 13h00 UTC.":"Update: Disruptions reported for WETH, WBTC, WMATIC, and USDT. AIP 230 will resolve the disruptions and the market will be operating as normal on ~26th May 13h00 UTC.","Use it to vote for or against active proposals.":"Use it to vote for or against active proposals.","Use your AAVE, stkAAVE, or aAave balance to delegate your voting and proposition powers. You will not be sending any tokens, only the rights to vote and propose changes to the protocol. You can re-delegate or revoke power to self at any time.":"Use your AAVE, stkAAVE, or aAave balance to delegate your voting and proposition powers. You will not be sending any tokens, only the rights to vote and propose changes to the protocol. You can re-delegate or revoke power to self at any time.","Used as collateral":"Used as collateral","User cannot withdraw more than the available balance":"User cannot withdraw more than the available balance","User did not borrow the specified currency":"User did not borrow the specified currency","User does not have outstanding stable rate debt on this reserve":"User does not have outstanding stable rate debt on this reserve","User does not have outstanding variable rate debt on this reserve":"User does not have outstanding variable rate debt on this reserve","User is in isolation mode":"User is in isolation mode","User is trying to borrow multiple assets including a siloed one":"User is trying to borrow multiple assets including a siloed one","Users who stake AAVE in Safety Module (i.e. stkAAVE holders) receive a discount on GHO borrow interest rate. The discount applies to 100 GHO for every 1 stkAAVE held. Use the calculator below to see GHO borrow rate with the discount applied.":"Users who stake AAVE in Safety Module (i.e. stkAAVE holders) receive a discount on GHO borrow interest rate. The discount applies to 100 GHO for every 1 stkAAVE held. Use the calculator below to see GHO borrow rate with the discount applied.","Utilization Rate":"Utilization Rate","VIEW TX":"VIEW TX","VOTE NAY":"VOTE NAY","VOTE YAE":"VOTE YAE","Variable":"Variable","Variable debt supply is not zero":"Variable debt supply is not zero","Variable interest rate will <0>fluctuate based on the market conditions. Recommended for short-term positions.":"Variable interest rate will <0>fluctuate based on the market conditions. Recommended for short-term positions.","Variable rate":"Variable rate","Version 2":"Version 2","Version 3":"Version 3","View":"View","View Transactions":"View Transactions","View all votes":"View all votes","View contract":"View contract","View details":"View details","View on Explorer":"View on Explorer","Vote NAY":"Vote NAY","Vote YAE":"Vote YAE","Voted NAY":"Voted NAY","Voted YAE":"Voted YAE","Votes":"Votes","Voting":"Voting","Voting power":"Voting power","Voting results":"Voting results","Wallet Balance":"Wallet Balance","Wallet balance":"Wallet balance","Wallet not detected. Connect or install wallet and retry":"Wallet not detected. Connect or install wallet and retry","Wallets are provided by External Providers and by selecting you agree to Terms of those Providers. Your access to the wallet might be reliant on the External Provider being operational.":"Wallets are provided by External Providers and by selecting you agree to Terms of those Providers. Your access to the wallet might be reliant on the External Provider being operational.","We couldn't find any assets related to your search. Try again with a different asset name, symbol, or address.":"We couldn't find any assets related to your search. Try again with a different asset name, symbol, or address.","We couldn't find any transactions related to your search. Try again with a different asset name, or reset filters.":"We couldn't find any transactions related to your search. Try again with a different asset name, or reset filters.","We couldn’t detect a wallet. Connect a wallet to stake and view your balance.":"We couldn’t detect a wallet. Connect a wallet to stake and view your balance.","We suggest you go back to the Dashboard.":"We suggest you go back to the Dashboard.","Website":"Website","When a liquidation occurs, liquidators repay up to 50% of the outstanding borrowed amount on behalf of the borrower. In return, they can buy the collateral at a discount and keep the difference (liquidation penalty) as a bonus.":"When a liquidation occurs, liquidators repay up to 50% of the outstanding borrowed amount on behalf of the borrower. In return, they can buy the collateral at a discount and keep the difference (liquidation penalty) as a bonus.","With a voting power of <0/>":"With a voting power of <0/>","With testnet Faucet you can get free assets to test the Aave Protocol. Make sure to switch your wallet provider to the appropriate testnet network, select desired asset, and click ‘Faucet’ to get tokens transferred to your wallet. The assets on a testnet are not “real,” meaning they have no monetary value. <0>Learn more":"With testnet Faucet you can get free assets to test the Aave Protocol. Make sure to switch your wallet provider to the appropriate testnet network, select desired asset, and click ‘Faucet’ to get tokens transferred to your wallet. The assets on a testnet are not “real,” meaning they have no monetary value. <0>Learn more","Withdraw":"Withdraw","Withdraw & Switch":"Withdraw & Switch","Withdraw and Switch":"Withdraw and Switch","Withdraw {symbol}":["Withdraw ",["symbol"]],"Withdrawing and Switching":"Withdrawing and Switching","Withdrawing this amount will reduce your health factor and increase risk of liquidation.":"Withdrawing this amount will reduce your health factor and increase risk of liquidation.","Withdrawing {symbol}":["Withdrawing ",["symbol"]],"Wrong Network":"Wrong Network","YAE":"YAE","You are entering Isolation mode":"You are entering Isolation mode","You can borrow this asset with a stable rate only if you borrow more than the amount you are supplying as collateral.":"You can borrow this asset with a stable rate only if you borrow more than the amount you are supplying as collateral.","You can not change Interest Type to stable as your borrowings are higher than your collateral":"You can not change Interest Type to stable as your borrowings are higher than your collateral","You can not disable E-Mode as your current collateralization level is above 80%, disabling E-Mode can cause liquidation. To exit E-Mode supply or repay borrowed positions.":"You can not disable E-Mode as your current collateralization level is above 80%, disabling E-Mode can cause liquidation. To exit E-Mode supply or repay borrowed positions.","You can not switch usage as collateral mode for this currency, because it will cause collateral call":"You can not switch usage as collateral mode for this currency, because it will cause collateral call","You can not use this currency as collateral":"You can not use this currency as collateral","You can not withdraw this amount because it will cause collateral call":"You can not withdraw this amount because it will cause collateral call","You can only switch to tokens with variable APY types. After this transaction, you may change the variable rate to a stable one if available.":"You can only switch to tokens with variable APY types. After this transaction, you may change the variable rate to a stable one if available.","You can only withdraw your assets from the Security Module after the cooldown period ends and the unstake window is active.":"You can only withdraw your assets from the Security Module after the cooldown period ends and the unstake window is active.","You can report incident to our <0>Discord or<1>Github.":"You can report incident to our <0>Discord or<1>Github.","You cancelled the transaction.":"You cancelled the transaction.","You did not participate in this proposal":"You did not participate in this proposal","You do not have supplies in this currency":"You do not have supplies in this currency","You don’t have enough funds in your wallet to repay the full amount. If you proceed to repay with your current amount of funds, you will still have a small borrowing position in your dashboard.":"You don’t have enough funds in your wallet to repay the full amount. If you proceed to repay with your current amount of funds, you will still have a small borrowing position in your dashboard.","You have no AAVE/stkAAVE/aAave balance to delegate.":"You have no AAVE/stkAAVE/aAave balance to delegate.","You have not borrow yet using this currency":"You have not borrow yet using this currency","You may borrow up to <0/> GHO at <1/> (max discount)":"You may borrow up to <0/> GHO at <1/> (max discount)","You may enter a custom amount in the field.":"You may enter a custom amount in the field.","You switched to {0} rate":["You switched to ",["0"]," rate"],"You unstake here":"You unstake here","You voted {0}":["You voted ",["0"]],"You will exit isolation mode and other tokens can now be used as collateral":"You will exit isolation mode and other tokens can now be used as collateral","You {action} <0/> {symbol}":["You ",["action"]," <0/> ",["symbol"]],"You've successfully switched borrow position.":"You've successfully switched borrow position.","You've successfully switched tokens.":"You've successfully switched tokens.","You've successfully withdrew & switched tokens.":"You've successfully withdrew & switched tokens.","Your balance is lower than the selected amount.":"Your balance is lower than the selected amount.","Your borrows":"Your borrows","Your current loan to value based on your collateral supplied.":"Your current loan to value based on your collateral supplied.","Your health factor and loan to value determine the assurance of your collateral. To avoid liquidations you can supply more collateral or repay borrow positions.":"Your health factor and loan to value determine the assurance of your collateral. To avoid liquidations you can supply more collateral or repay borrow positions.","Your info":"Your info","Your proposition power is based on your AAVE/stkAAVE balance and received delegations.":"Your proposition power is based on your AAVE/stkAAVE balance and received delegations.","Your reward balance is 0":"Your reward balance is 0","Your supplies":"Your supplies","Your voting info":"Your voting info","Your voting power is based on your AAVE/stkAAVE balance and received delegations.":"Your voting power is based on your AAVE/stkAAVE balance and received delegations.","Your {name} wallet is empty. Purchase or transfer assets or use <0>{0} to transfer your {network} assets.":["Your ",["name"]," wallet is empty. Purchase or transfer assets or use <0>",["0"]," to transfer your ",["network"]," assets."],"Your {name} wallet is empty. Purchase or transfer assets.":["Your ",["name"]," wallet is empty. Purchase or transfer assets."],"Your {networkName} wallet is empty. Get free test assets at":["Your ",["networkName"]," wallet is empty. Get free test assets at"],"Your {networkName} wallet is empty. Get free test {0} at":["Your ",["networkName"]," wallet is empty. Get free test ",["0"]," at"],"Zero address not valid":"Zero address not valid","assets":"assets","blocked activities":"blocked activities","copy the error":"copy the error","disabled":"disabled","documentation":"documentation","enabled":"enabled","ends":"ends","for":"for","of":"of","on":"on","please check that the amount you want to supply is not currently being used for staking. If it is being used for staking, your transaction might fail.":"please check that the amount you want to supply is not currently being used for staking. If it is being used for staking, your transaction might fail.","repaid":"repaid","stETH supplied as collateral will continue to accrue staking rewards provided by daily rebases.":"stETH supplied as collateral will continue to accrue staking rewards provided by daily rebases.","stETH tokens will be migrated to Wrapped stETH using Lido Protocol wrapper which leads to supply balance change after migration: {0}":["stETH tokens will be migrated to Wrapped stETH using Lido Protocol wrapper which leads to supply balance change after migration: ",["0"]],"staking view":"staking view","starts":"starts","stkAAVE holders get a discount on GHO borrow rate":"stkAAVE holders get a discount on GHO borrow rate","to":"to","tokens is not the same as staking them. If you wish to stake your":"tokens is not the same as staking them. If you wish to stake your","tokens, please go to the":"tokens, please go to the","withdrew":"withdrew","{0}":[["0"]],"{0} Balance":[["0"]," Balance"],"{0} Faucet":[["0"]," Faucet"],"{0} on-ramp service is provided by External Provider and by selecting you agree to Terms of the Provider. Your access to the service might be reliant on the External Provider being operational.":[["0"]," on-ramp service is provided by External Provider and by selecting you agree to Terms of the Provider. Your access to the service might be reliant on the External Provider being operational."],"{0}{name}":[["0"],["name"]],"{currentMethod}":[["currentMethod"]],"{d}d":[["d"],"d"],"{h}h":[["h"],"h"],"{m}m":[["m"],"m"],"{networkName} Faucet":[["networkName"]," Faucet"],"{notifyText}":[["notifyText"]],"{numSelected}/{numAvailable} assets selected":[["numSelected"],"/",["numAvailable"]," assets selected"],"{s}s":[["s"],"s"],"{title}":[["title"]],"{tooltipText}":[["tooltipText"]]}}; \ No newline at end of file diff --git a/src/locales/en/messages.po b/src/locales/en/messages.po index e767eb1872..e26761486b 100644 --- a/src/locales/en/messages.po +++ b/src/locales/en/messages.po @@ -3040,15 +3040,12 @@ msgstr "Your health factor and loan to value determine the assurance of your col #: pages/governance/index.governance.tsx #: pages/reserve-overview.page.tsx #: src/modules/governance/UserGovernanceInfo.tsx +#: src/modules/governance/VotingPowerInfoPanel.tsx #: src/modules/reserve-overview/ReserveActions.tsx #: src/modules/reserve-overview/ReserveActions.tsx msgid "Your info" msgstr "Your info" -#: src/modules/governance/VotingPowerInfoPanel.tsx -msgid "Your infossss" -msgstr "Your infossss" - #: src/modules/governance/VotingPowerInfoPanel.tsx msgid "Your proposition power is based on your AAVE/stkAAVE balance and received delegations." msgstr "Your proposition power is based on your AAVE/stkAAVE balance and received delegations." diff --git a/src/modules/governance/VotingPowerInfoPanel.tsx b/src/modules/governance/VotingPowerInfoPanel.tsx index 217a9c5bdb..108e4806c0 100644 --- a/src/modules/governance/VotingPowerInfoPanel.tsx +++ b/src/modules/governance/VotingPowerInfoPanel.tsx @@ -14,15 +14,13 @@ export function VotingPowerInfoPanel() { const user = useRootStore((store) => store.account); const currentMarketData = useRootStore((store) => store.currentMarketData); const { data: powers } = usePowers(currentMarketData); - console.log('powers', powers); - console.log('FOOOOOOO'); return ( - Your infossss + Your info Date: Wed, 20 Dec 2023 15:06:43 -0600 Subject: [PATCH 42/84] feat: proposal timeline initial version --- package.json | 3 +- .../proposal/[proposalId].governance.tsx | 23 +- src/hooks/governance/usePayloadsData.ts | 56 +++++ src/locales/en/messages.js | 2 +- src/locales/en/messages.po | 17 ++ .../governance/proposal/ProposalLifecycle.tsx | 227 ++++++++++++++++++ .../governance/utils/formatProposal.ts | 33 +++ src/services/GovernanceV3Service.ts | 24 +- src/ui-config/governanceConfig.ts | 5 + yarn.lock | 147 +++++++++++- 10 files changed, 527 insertions(+), 10 deletions(-) create mode 100644 src/hooks/governance/usePayloadsData.ts create mode 100644 src/modules/governance/proposal/ProposalLifecycle.tsx diff --git a/package.json b/package.json index de5363d0d6..4432e80d80 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "test:coverage": "jest --coverage" }, "dependencies": { - "@aave/contract-helpers": "1.21.2-69530bfb4329c0af9a5f9f3663950c956a53230f.0", + "@aave/contract-helpers": "1.21.2-0513918ea5a08b3fbd67072f4e7b66a87acd716b.0", "@aave/math-utils": "1.21.1", "@bgd-labs/aave-address-book": "^2.10.0", "@emotion/cache": "11.10.3", @@ -43,6 +43,7 @@ "@heroicons/react": "^1.0.6", "@lingui/react": "^3.14.0", "@mui/icons-material": "^5.10.14", + "@mui/lab": "5.0.0-alpha.101", "@mui/material": "^5.10.9", "@paraswap/sdk": "6.2.4", "@tanstack/react-query": "^4.28.0", diff --git a/pages/governance/proposal/[proposalId].governance.tsx b/pages/governance/proposal/[proposalId].governance.tsx index e06819e84c..39ff0d67cb 100644 --- a/pages/governance/proposal/[proposalId].governance.tsx +++ b/pages/governance/proposal/[proposalId].governance.tsx @@ -3,10 +3,12 @@ import { Grid } from '@mui/material'; import dynamic from 'next/dynamic'; import { useRouter } from 'next/router'; import { Meta } from 'src/components/Meta'; +import { usePayloadsData } from 'src/hooks/governance/usePayloadsData'; import { useProposal } from 'src/hooks/governance/useProposal'; import { useGetVotingConfig } from 'src/hooks/governance/useProposals'; import { useProposalVotes } from 'src/hooks/governance/useProposalVotes'; import { MainLayout } from 'src/layouts/MainLayout'; +import { ProposalLifecycle } from 'src/modules/governance/proposal/ProposalLifecycle'; // import { ProposalDetails } from 'src/modules/governance/proposal/ProposalDetails'; import { ProposalOverview } from 'src/modules/governance/proposal/ProposalOverview'; import { ProposalTopPanel } from 'src/modules/governance/proposal/ProposalTopPanel'; @@ -31,11 +33,26 @@ export default function ProposalPage() { error: newProposalError, } = useProposal(+proposalId); + const payloadParams = + proposal?.proposalData.proposalData.payloads.map((p) => { + return { + payloadControllerAddress: p.payloadsController, + payloadId: p.payloadId, + chainId: p.chain, + }; + }) || []; + + const { data: payloadData } = usePayloadsData(payloadParams); + const { data: constants, isLoading: constantsLoading } = useGetVotingConfig(); const proposalVotes = useProposalVotes({ proposalId }); const loading = newProposalLoading || constantsLoading; + const proposalVotingConfig = constants?.votingConfigs.find( + (c) => c.accessLevel === proposal?.proposalData.proposalData.accessLevel + ); + const formattedProposal = proposal && constants && @@ -75,7 +92,11 @@ export default function ProposalPage() { proposalVotes={proposalVotes} loading={loading} /> - {/* */} + )} diff --git a/src/hooks/governance/usePayloadsData.ts b/src/hooks/governance/usePayloadsData.ts new file mode 100644 index 0000000000..70dd66173d --- /dev/null +++ b/src/hooks/governance/usePayloadsData.ts @@ -0,0 +1,56 @@ +import { ChainId, Payload } from '@aave/contract-helpers'; +import { useQuery } from '@tanstack/react-query'; +import { GovernanceV3Service } from 'src/services/GovernanceV3Service'; +import { VotingChain } from 'src/ui-config/governanceConfig'; +import { useSharedDependencies } from 'src/ui-config/SharedDependenciesProvider'; + +type PayloadParams = { + payloadControllerAddress: string; + payloadId: number; + chainId: ChainId; +}; + +type PayloadData = { + [key in ChainId]: { + [payloadsControllerAddres: string]: number[]; + }; +}; + +export const usePayloadsData = (params: PayloadParams[]) => { + const { governanceV3Service } = useSharedDependencies(); + return useQuery({ + queryFn: () => fetchPayloadsData(params, governanceV3Service), + queryKey: ['payloadsData'], // TODO + enabled: !!params.length, + }); +}; + +async function fetchPayloadsData(params: PayloadParams[], service: GovernanceV3Service) { + const payloadsByChainId: PayloadData = params.reduce( + (acc, { chainId, payloadControllerAddress, payloadId }) => { + if (!acc[chainId]) { + acc[chainId] = {}; + } + + if (!acc[chainId][payloadControllerAddress]) { + acc[chainId][payloadControllerAddress] = []; + } + + acc[chainId][payloadControllerAddress].push(payloadId); + return acc; + }, + {} as PayloadData + ); + + const promises: Promise[] = []; + Object.entries(payloadsByChainId).forEach(([chainId, payloads]) => { + const chainIdKey = +chainId as VotingChain; + Object.entries(payloads).forEach(([payloadControllerAddress, payloadIds]) => { + promises.push(service.getPayloadsData(payloadControllerAddress, payloadIds, chainIdKey)); + }); + }); + + const data = await Promise.all(promises); + console.log(data.flat()); + return data.flat(); +} diff --git a/src/locales/en/messages.js b/src/locales/en/messages.js index 554d40577e..3b961a11c9 100644 --- a/src/locales/en/messages.js +++ b/src/locales/en/messages.js @@ -1 +1 @@ -/*eslint-disable*/module.exports={messages:{"...":"...",".CSV":".CSV",".JSON":".JSON","<0><1><2/>Add <3/> stkAAVE to borrow at <4/> (max discount)":"<0><1><2/>Add <3/> stkAAVE to borrow at <4/> (max discount)","<0><1><2/>Add stkAAVE to see borrow rate with discount":"<0><1><2/>Add stkAAVE to see borrow rate with discount","<0>Ampleforth is a rebasing asset. Visit the <1>documentation to learn more.":"<0>Ampleforth is a rebasing asset. Visit the <1>documentation to learn more.","<0>Attention: Parameter changes via governance can alter your account health factor and risk of liquidation. Follow the <1>Aave governance forum for updates.":"<0>Attention: Parameter changes via governance can alter your account health factor and risk of liquidation. Follow the <1>Aave governance forum for updates.","<0>Slippage tolerance <1>{selectedSlippage}% <2>{0}":["<0>Slippage tolerance <1>",["selectedSlippage"],"% <2>",["0"],""],"AAVE holders (Ethereum network only) can stake their AAVE in the Safety Module to add more security to the protocol and earn Safety Incentives. In the case of a shortfall event, up to 30% of your stake can be slashed to cover the deficit, providing an additional layer of protection for the protocol.":"AAVE holders (Ethereum network only) can stake their AAVE in the Safety Module to add more security to the protocol and earn Safety Incentives. In the case of a shortfall event, up to 30% of your stake can be slashed to cover the deficit, providing an additional layer of protection for the protocol.","APR":"APR","APY":"APY","APY change":"APY change","APY type":"APY type","APY type change":"APY type change","APY with discount applied":"APY with discount applied","APY, borrow rate":"APY, borrow rate","APY, stable":"APY, stable","APY, variable":"APY, variable","AToken supply is not zero":"AToken supply is not zero","Aave Governance":"Aave Governance","Aave aToken":"Aave aToken","Aave debt token":"Aave debt token","Aave is a fully decentralized, community governed protocol by the AAVE token-holders. AAVE token-holders collectively discuss, propose, and vote on upgrades to the protocol. AAVE token-holders (Ethereum network only) can either vote themselves on new proposals or delagate to an address of choice. To learn more check out the Governance":"Aave is a fully decentralized, community governed protocol by the AAVE token-holders. AAVE token-holders collectively discuss, propose, and vote on upgrades to the protocol. AAVE token-holders (Ethereum network only) can either vote themselves on new proposals or delagate to an address of choice. To learn more check out the Governance","Aave per month":"Aave per month","About GHO":"About GHO","Account":"Account","Action cannot be performed because the reserve is frozen":"Action cannot be performed because the reserve is frozen","Action cannot be performed because the reserve is paused":"Action cannot be performed because the reserve is paused","Action requires an active reserve":"Action requires an active reserve","Activate Cooldown":"Activate Cooldown","Add stkAAVE to see borrow APY with the discount":"Add stkAAVE to see borrow APY with the discount","Add to wallet":"Add to wallet","Add {0} to wallet to track your balance.":["Add ",["0"]," to wallet to track your balance."],"Address is not a contract":"Address is not a contract","Addresses":"Addresses","Addresses ({0})":["Addresses (",["0"],")"],"All Assets":"All Assets","All done!":"All done!","All proposals":"All proposals","All transactions":"All transactions","Allowance required action":"Allowance required action","Allows you to decide whether to use a supplied asset as collateral. An asset used as collateral will affect your borrowing power and health factor.":"Allows you to decide whether to use a supplied asset as collateral. An asset used as collateral will affect your borrowing power and health factor.","Allows you to switch between <0>variable and <1>stable interest rates, where variable rate can increase and decrease depending on the amount of liquidity in the reserve, and stable rate will stay the same for the duration of your loan.":"Allows you to switch between <0>variable and <1>stable interest rates, where variable rate can increase and decrease depending on the amount of liquidity in the reserve, and stable rate will stay the same for the duration of your loan.","Amount":"Amount","Amount claimable":"Amount claimable","Amount in cooldown":"Amount in cooldown","Amount must be greater than 0":"Amount must be greater than 0","Amount to unstake":"Amount to unstake","An error has occurred fetching the proposal.":"An error has occurred fetching the proposal.","Approve Confirmed":"Approve Confirmed","Approve with":"Approve with","Approve {symbol} to continue":["Approve ",["symbol"]," to continue"],"Approving {symbol}...":["Approving ",["symbol"],"..."],"Array parameters that should be equal length are not":"Array parameters that should be equal length are not","Asset":"Asset","Asset can be only used as collateral in isolation mode with limited borrowing power. To enter isolation mode, disable all other collateral.":"Asset can be only used as collateral in isolation mode with limited borrowing power. To enter isolation mode, disable all other collateral.","Asset can only be used as collateral in isolation mode only.":"Asset can only be used as collateral in isolation mode only.","Asset cannot be migrated because you have isolated collateral in {marketName} v3 Market which limits borrowable assets. You can manage your collateral in <0>{marketName} V3 Dashboard":["Asset cannot be migrated because you have isolated collateral in ",["marketName"]," v3 Market which limits borrowable assets. You can manage your collateral in <0>",["marketName"]," V3 Dashboard"],"Asset cannot be migrated due to insufficient liquidity or borrow cap limitation in {marketName} v3 market.":["Asset cannot be migrated due to insufficient liquidity or borrow cap limitation in ",["marketName"]," v3 market."],"Asset cannot be migrated due to supply cap restriction in {marketName} v3 market.":["Asset cannot be migrated due to supply cap restriction in ",["marketName"]," v3 market."],"Asset cannot be migrated to {marketName} V3 Market due to E-mode restrictions. You can disable or manage E-mode categories in your <0>V3 Dashboard":["Asset cannot be migrated to ",["marketName"]," V3 Market due to E-mode restrictions. You can disable or manage E-mode categories in your <0>V3 Dashboard"],"Asset cannot be migrated to {marketName} v3 Market since collateral asset will enable isolation mode.":["Asset cannot be migrated to ",["marketName"]," v3 Market since collateral asset will enable isolation mode."],"Asset cannot be used as collateral.":"Asset cannot be used as collateral.","Asset category":"Asset category","Asset is frozen in {marketName} v3 market, hence this position cannot be migrated.":["Asset is frozen in ",["marketName"]," v3 market, hence this position cannot be migrated."],"Asset is not borrowable in isolation mode":"Asset is not borrowable in isolation mode","Asset is not listed":"Asset is not listed","Asset supply is limited to a certain amount to reduce protocol exposure to the asset and to help manage risks involved.":"Asset supply is limited to a certain amount to reduce protocol exposure to the asset and to help manage risks involved.","Assets":"Assets","Assets to borrow":"Assets to borrow","Assets to supply":"Assets to supply","Assets with zero LTV ({assetsBlockingWithdraw}) must be withdrawn or disabled as collateral to perform this action":["Assets with zero LTV (",["assetsBlockingWithdraw"],") must be withdrawn or disabled as collateral to perform this action"],"At a discount":"At a discount","Available":"Available","Available assets":"Available assets","Available liquidity":"Available liquidity","Available on":"Available on","Available rewards":"Available rewards","Available to borrow":"Available to borrow","Available to supply":"Available to supply","Back to Dashboard":"Back to Dashboard","Balance":"Balance","Balance to revoke":"Balance to revoke","Be careful - You are very close to liquidation. Consider depositing more collateral or paying down some of your borrowed positions":"Be careful - You are very close to liquidation. Consider depositing more collateral or paying down some of your borrowed positions","Be mindful of the network congestion and gas prices.":"Be mindful of the network congestion and gas prices.","Because this asset is paused, no actions can be taken until further notice":"Because this asset is paused, no actions can be taken until further notice","Before supplying":"Before supplying","Blocked Address":"Blocked Address","Borrow":"Borrow","Borrow APY":"Borrow APY","Borrow APY rate":"Borrow APY rate","Borrow APY, variable":"Borrow APY, variable","Borrow amount to reach {0}% utilization":["Borrow amount to reach ",["0"],"% utilization"],"Borrow and repay in same block is not allowed":"Borrow and repay in same block is not allowed","Borrow apy":"Borrow apy","Borrow balance":"Borrow balance","Borrow balance after repay":"Borrow balance after repay","Borrow balance after switch":"Borrow balance after switch","Borrow cap":"Borrow cap","Borrow cap is exceeded":"Borrow cap is exceeded","Borrow info":"Borrow info","Borrow power used":"Borrow power used","Borrow rate APY":"Borrow rate APY","Borrow rate change":"Borrow rate change","Borrow {symbol}":["Borrow ",["symbol"]],"Borrowed":"Borrowed","Borrowed asset amount":"Borrowed asset amount","Borrowing is currently unavailable for {0}.":["Borrowing is currently unavailable for ",["0"],"."],"Borrowing is disabled due to an Aave community decision. <0>More details":"Borrowing is disabled due to an Aave community decision. <0>More details","Borrowing is not enabled":"Borrowing is not enabled","Borrowing is unavailable because you’re using Isolation mode. To manage Isolation mode visit your <0>Dashboard.":"Borrowing is unavailable because you’re using Isolation mode. To manage Isolation mode visit your <0>Dashboard.","Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) and Isolation mode. To manage E-Mode and Isolation mode visit your <0>Dashboard.":"Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) and Isolation mode. To manage E-Mode and Isolation mode visit your <0>Dashboard.","Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) for {0} category. To manage E-Mode categories visit your <0>Dashboard.":["Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) for ",["0"]," category. To manage E-Mode categories visit your <0>Dashboard."],"Borrowing of this asset is limited to a certain amount to minimize liquidity pool insolvency.":"Borrowing of this asset is limited to a certain amount to minimize liquidity pool insolvency.","Borrowing power and assets are limited due to Isolation mode.":"Borrowing power and assets are limited due to Isolation mode.","Borrowing this amount will reduce your health factor and increase risk of liquidation.":"Borrowing this amount will reduce your health factor and increase risk of liquidation.","Borrowing {symbol}":["Borrowing ",["symbol"]],"Both":"Both","Buy Crypto With Fiat":"Buy Crypto With Fiat","Buy Crypto with Fiat":"Buy Crypto with Fiat","Buy {cryptoSymbol} with Fiat":["Buy ",["cryptoSymbol"]," with Fiat"],"COPIED!":"COPIED!","COPY IMAGE":"COPY IMAGE","Can be collateral":"Can be collateral","Can be executed":"Can be executed","Can't validate the wallet address. Try again.":"Can't validate the wallet address. Try again.","Cancel":"Cancel","Cannot disable E-Mode":"Cannot disable E-Mode","Choose how much voting/proposition power to give to someone else by delegating some of your AAVE, stkAAVE or aAave balance. Your tokens will remain in your account, but your delegate will be able to vote or propose on your behalf. If your AAVE, stkAAVE or aAave balance changes, your delegate's voting/proposition power will be automatically adjusted.":"Choose how much voting/proposition power to give to someone else by delegating some of your AAVE, stkAAVE or aAave balance. Your tokens will remain in your account, but your delegate will be able to vote or propose on your behalf. If your AAVE, stkAAVE or aAave balance changes, your delegate's voting/proposition power will be automatically adjusted.","Choose one of the on-ramp services":"Choose one of the on-ramp services","Claim":"Claim","Claim all":"Claim all","Claim all rewards":"Claim all rewards","Claim {0}":["Claim ",["0"]],"Claim {symbol}":["Claim ",["symbol"]],"Claimable AAVE":"Claimable AAVE","Claimed":"Claimed","Claiming":"Claiming","Claiming {symbol}":["Claiming ",["symbol"]],"Close":"Close","Collateral":"Collateral","Collateral balance after repay":"Collateral balance after repay","Collateral change":"Collateral change","Collateral is (mostly) the same currency that is being borrowed":"Collateral is (mostly) the same currency that is being borrowed","Collateral to repay with":"Collateral to repay with","Collateral usage":"Collateral usage","Collateral usage is limited because of Isolation mode.":"Collateral usage is limited because of Isolation mode.","Collateral usage is limited because of isolation mode.":"Collateral usage is limited because of isolation mode.","Collateral usage is limited because of isolation mode. <0>Learn More":"Collateral usage is limited because of isolation mode. <0>Learn More","Collateralization":"Collateralization","Collector Contract":"Collector Contract","Collector Info":"Collector Info","Confirm transaction":"Confirm transaction","Confirming transaction":"Confirming transaction","Connect":"Connect","Connect wallet":"Connect wallet","Cooldown period":"Cooldown period","Cooldown period warning":"Cooldown period warning","Cooldown time left":"Cooldown time left","Cooldown to unstake":"Cooldown to unstake","Cooling down...":"Cooling down...","Copy address":"Copy address","Copy error message":"Copy error message","Copy error text":"Copy error text","Covered debt":"Covered debt","Current LTV":"Current LTV","Current differential":"Current differential","Current v2 Balance":"Current v2 Balance","Current v2 balance":"Current v2 balance","Current votes":"Current votes","Dark mode":"Dark mode","Dashboard":"Dashboard","Data couldn't be fetched, please reload graph.":"Data couldn't be fetched, please reload graph.","Debt":"Debt","Debt ceiling is exceeded":"Debt ceiling is exceeded","Debt ceiling is not zero":"Debt ceiling is not zero","Debt ceiling limits the amount possible to borrow against this asset by protocol users. Debt ceiling is specific to assets in isolation mode and is denoted in USD.":"Debt ceiling limits the amount possible to borrow against this asset by protocol users. Debt ceiling is specific to assets in isolation mode and is denoted in USD.","Delegated power":"Delegated power","Details":"Details","Developers":"Developers","Differential":"Differential","Disable E-Mode":"Disable E-Mode","Disable testnet":"Disable testnet","Disable {symbol} as collateral":["Disable ",["symbol"]," as collateral"],"Disabled":"Disabled","Disabling E-Mode":"Disabling E-Mode","Disabling this asset as collateral affects your borrowing power and Health Factor.":"Disabling this asset as collateral affects your borrowing power and Health Factor.","Disconnect Wallet":"Disconnect Wallet","Discord channel":"Discord channel","Discount":"Discount","Discount applied for <0/> staking AAVE":"Discount applied for <0/> staking AAVE","Discount model parameters":"Discount model parameters","Discount parameters are decided by the Aave community and may be changed over time. Check Governance for updates and vote to participate. <0>Learn more":"Discount parameters are decided by the Aave community and may be changed over time. Check Governance for updates and vote to participate. <0>Learn more","Discountable amount":"Discountable amount","Docs":"Docs","Download":"Download","Due to internal stETH mechanics required for rebasing support, it is not possible to perform a collateral switch where stETH is the source token.":"Due to internal stETH mechanics required for rebasing support, it is not possible to perform a collateral switch where stETH is the source token.","Due to the Horizon bridge exploit, certain assets on the Harmony network are not at parity with Ethereum, which affects the Aave V3 Harmony market.":"Due to the Horizon bridge exploit, certain assets on the Harmony network are not at parity with Ethereum, which affects the Aave V3 Harmony market.","E-Mode":"E-Mode","E-Mode Category":"E-Mode Category","E-Mode category":"E-Mode category","E-Mode increases your LTV for a selected category of assets up to 97%. <0>Learn more":"E-Mode increases your LTV for a selected category of assets up to 97%. <0>Learn more","E-Mode increases your LTV for a selected category of assets up to<0/>. <1>Learn more":"E-Mode increases your LTV for a selected category of assets up to<0/>. <1>Learn more","E-Mode increases your LTV for a selected category of assets, meaning that when E-mode is enabled, you will have higher borrowing power over assets of the same E-mode category which are defined by Aave Governance. You can enter E-Mode from your <0>Dashboard. To learn more about E-Mode and applied restrictions in <1>FAQ or <2>Aave V3 Technical Paper.":"E-Mode increases your LTV for a selected category of assets, meaning that when E-mode is enabled, you will have higher borrowing power over assets of the same E-mode category which are defined by Aave Governance. You can enter E-Mode from your <0>Dashboard. To learn more about E-Mode and applied restrictions in <1>FAQ or <2>Aave V3 Technical Paper.","Edit":"Edit","Effective interest rate":"Effective interest rate","Efficiency mode (E-Mode)":"Efficiency mode (E-Mode)","Emode":"Emode","Enable E-Mode":"Enable E-Mode","Enable {symbol} as collateral":["Enable ",["symbol"]," as collateral"],"Enabled":"Enabled","Enabling E-Mode":"Enabling E-Mode","Enabling E-Mode only allows you to borrow assets belonging to the selected category. Please visit our <0>FAQ guide to learn more about how it works and the applied restrictions.":"Enabling E-Mode only allows you to borrow assets belonging to the selected category. Please visit our <0>FAQ guide to learn more about how it works and the applied restrictions.","Enabling this asset as collateral increases your borrowing power and Health Factor. However, it can get liquidated if your health factor drops below 1.":"Enabling this asset as collateral increases your borrowing power and Health Factor. However, it can get liquidated if your health factor drops below 1.","English":"English","Enter ETH address":"Enter ETH address","Enter an amount":"Enter an amount","Error connecting. Try refreshing the page.":"Error connecting. Try refreshing the page.","Estimated compounding interest, including discount for Staking {0}AAVE in Safety Module.":["Estimated compounding interest, including discount for Staking ",["0"],"AAVE in Safety Module."],"Exceeds the discount":"Exceeds the discount","Expected amount to repay":"Expected amount to repay","Expires":"Expires","Export data to":"Export data to","FAQ":"FAQ","FAQS":"FAQS","Failed to load proposal voters. Please refresh the page.":"Failed to load proposal voters. Please refresh the page.","Faucet":"Faucet","Faucet {0}":["Faucet ",["0"]],"Fetching data...":"Fetching data...","Filter":"Filter","Fixed":"Fixed","Fixed rate":"Fixed rate","Flashloan is disabled for this asset, hence this position cannot be migrated.":"Flashloan is disabled for this asset, hence this position cannot be migrated.","For repayment of a specific type of debt, the user needs to have debt that type":"For repayment of a specific type of debt, the user needs to have debt that type","French":"French","Funds in the Safety Module":"Funds in the Safety Module","GHO is a native decentralized, collateral-backed digital asset pegged to USD. It is created by users via borrowing against multiple collateral. When user repays their GHO borrow position, the protocol burns that user's GHO. All the interest payments accrued by minters of GHO would be directly transferred to the AaveDAO treasury.":"GHO is a native decentralized, collateral-backed digital asset pegged to USD. It is created by users via borrowing against multiple collateral. When user repays their GHO borrow position, the protocol burns that user's GHO. All the interest payments accrued by minters of GHO would be directly transferred to the AaveDAO treasury.","Get ABP Token":"Get ABP Token","Global settings":"Global settings","Go Back":"Go Back","Go to Balancer Pool":"Go to Balancer Pool","Go to V3 Dashboard":"Go to V3 Dashboard","Governance":"Governance","Greek":"Greek","Health Factor ({0} v2)":["Health Factor (",["0"]," v2)"],"Health Factor ({0} v3)":["Health Factor (",["0"]," v3)"],"Health factor":"Health factor","Health factor is lesser than the liquidation threshold":"Health factor is lesser than the liquidation threshold","Health factor is not below the threshold":"Health factor is not below the threshold","Hide":"Hide","Holders of stkAAVE receive a discount on the GHO borrowing rate":"Holders of stkAAVE receive a discount on the GHO borrowing rate","I acknowledge the risks involved.":"I acknowledge the risks involved.","I fully understand the risks of migrating.":"I fully understand the risks of migrating.","I understand how cooldown ({0}) and unstaking ({1}) work":["I understand how cooldown (",["0"],") and unstaking (",["1"],") work"],"If the error continues to happen,<0/> you may report it to this":"If the error continues to happen,<0/> you may report it to this","If the health factor goes below 1, the liquidation of your collateral might be triggered.":"If the health factor goes below 1, the liquidation of your collateral might be triggered.","If you DO NOT unstake within {0} of unstake window, you will need to activate cooldown process again.":["If you DO NOT unstake within ",["0"]," of unstake window, you will need to activate cooldown process again."],"If your loan to value goes above the liquidation threshold your collateral supplied may be liquidated.":"If your loan to value goes above the liquidation threshold your collateral supplied may be liquidated.","In E-Mode some assets are not borrowable. Exit E-Mode to get access to all assets":"In E-Mode some assets are not borrowable. Exit E-Mode to get access to all assets","In Isolation mode, you cannot supply other assets as collateral. A global debt ceiling limits the borrowing power of the isolated asset. To exit isolation mode disable {0} as collateral before borrowing another asset. Read more in our <0>FAQ":["In Isolation mode, you cannot supply other assets as collateral. A global debt ceiling limits the borrowing power of the isolated asset. To exit isolation mode disable ",["0"]," as collateral before borrowing another asset. Read more in our <0>FAQ"],"Inconsistent flashloan parameters":"Inconsistent flashloan parameters","Insufficient collateral to cover new borrow position. Wallet must have borrowing power remaining to perform debt switch.":"Insufficient collateral to cover new borrow position. Wallet must have borrowing power remaining to perform debt switch.","Interest accrued":"Interest accrued","Interest rate rebalance conditions were not met":"Interest rate rebalance conditions were not met","Interest rate strategy":"Interest rate strategy","Interest rate that is determined by Aave Governance. This rate may be changed over time depending on the need for the GHO supply to contract/expand. <0>Learn more":"Interest rate that is determined by Aave Governance. This rate may be changed over time depending on the need for the GHO supply to contract/expand. <0>Learn more","Invalid amount to burn":"Invalid amount to burn","Invalid amount to mint":"Invalid amount to mint","Invalid bridge protocol fee":"Invalid bridge protocol fee","Invalid expiration":"Invalid expiration","Invalid flashloan premium":"Invalid flashloan premium","Invalid return value of the flashloan executor function":"Invalid return value of the flashloan executor function","Invalid signature":"Invalid signature","Isolated":"Isolated","Isolated Debt Ceiling":"Isolated Debt Ceiling","Isolated assets have limited borrowing power and other assets cannot be used as collateral.":"Isolated assets have limited borrowing power and other assets cannot be used as collateral.","Join the community discussion":"Join the community discussion","LEARN MORE":"LEARN MORE","Language":"Language","Learn more":"Learn more","Learn more about risks involved":"Learn more about risks involved","Learn more in our <0>FAQ guide":"Learn more in our <0>FAQ guide","Learn more.":"Learn more.","Linked addresses":"Linked addresses","Links":"Links","Liqudation":"Liqudation","Liquidated collateral":"Liquidated collateral","Liquidation":"Liquidation","Liquidation <0/> threshold":"Liquidation <0/> threshold","Liquidation Threshold":"Liquidation Threshold","Liquidation at":"Liquidation at","Liquidation penalty":"Liquidation penalty","Liquidation risk":"Liquidation risk","Liquidation risk parameters":"Liquidation risk parameters","Liquidation threshold":"Liquidation threshold","Liquidation value":"Liquidation value","Loading data...":"Loading data...","Ltv validation failed":"Ltv validation failed","MAI has been paused due to a community decision. Supply, borrows and repays are impacted. <0>More details":"MAI has been paused due to a community decision. Supply, borrows and repays are impacted. <0>More details","MAX":"MAX","Manage analytics":"Manage analytics","Market":"Market","Markets":"Markets","Max":"Max","Max LTV":"Max LTV","Max slashing":"Max slashing","Max slippage":"Max slippage","Maximum amount available to borrow against this asset is limited because debt ceiling is at {0}%.":["Maximum amount available to borrow against this asset is limited because debt ceiling is at ",["0"],"%."],"Maximum amount available to borrow is <0/> {0} (<1/>).":["Maximum amount available to borrow is <0/> ",["0"]," (<1/>)."],"Maximum amount available to borrow is limited because protocol borrow cap is nearly reached.":"Maximum amount available to borrow is limited because protocol borrow cap is nearly reached.","Maximum amount available to supply is <0/> {0} (<1/>).":["Maximum amount available to supply is <0/> ",["0"]," (<1/>)."],"Maximum amount available to supply is limited because protocol supply cap is at {0}%.":["Maximum amount available to supply is limited because protocol supply cap is at ",["0"],"%."],"Maximum loan to value":"Maximum loan to value","Meet GHO":"Meet GHO","Menu":"Menu","Migrate":"Migrate","Migrate to V3":"Migrate to V3","Migrate to v3":"Migrate to v3","Migrate to {0} v3 Market":["Migrate to ",["0"]," v3 Market"],"Migrated":"Migrated","Migrating":"Migrating","Migrating multiple collaterals and borrowed assets at the same time can be an expensive operation and might fail in certain situations.<0>Therefore it’s not recommended to migrate positions with more than 5 assets (deposited + borrowed) at the same time.":"Migrating multiple collaterals and borrowed assets at the same time can be an expensive operation and might fail in certain situations.<0>Therefore it’s not recommended to migrate positions with more than 5 assets (deposited + borrowed) at the same time.","Migration risks":"Migration risks","Minimum GHO borrow amount":"Minimum GHO borrow amount","Minimum USD value received":"Minimum USD value received","Minimum staked Aave amount":"Minimum staked Aave amount","Minimum {0} received":["Minimum ",["0"]," received"],"More":"More","NAY":"NAY","Need help connecting a wallet? <0>Read our FAQ":"Need help connecting a wallet? <0>Read our FAQ","Net APR":"Net APR","Net APY":"Net APY","Net APY is the combined effect of all supply and borrow positions on net worth, including incentives. It is possible to have a negative net APY if debt APY is higher than supply APY.":"Net APY is the combined effect of all supply and borrow positions on net worth, including incentives. It is possible to have a negative net APY if debt APY is higher than supply APY.","Net worth":"Net worth","Network":"Network","Network not supported for this wallet":"Network not supported for this wallet","New APY":"New APY","No assets selected to migrate.":"No assets selected to migrate.","No rewards to claim":"No rewards to claim","No search results{0}":["No search results",["0"]],"No transactions yet.":"No transactions yet.","No voting power":"No voting power","None":"None","Not a valid address":"Not a valid address","Not enough balance on your wallet":"Not enough balance on your wallet","Not enough collateral to repay this amount of debt with":"Not enough collateral to repay this amount of debt with","Not enough staked balance":"Not enough staked balance","Not enough voting power to participate in this proposal":"Not enough voting power to participate in this proposal","Not reached":"Not reached","Nothing borrowed yet":"Nothing borrowed yet","Nothing found":"Nothing found","Nothing staked":"Nothing staked","Nothing supplied yet":"Nothing supplied yet","Notify":"Notify","Ok, Close":"Ok, Close","Ok, I got it":"Ok, I got it","Operation not supported":"Operation not supported","Oracle price":"Oracle price","Overview":"Overview","Page not found":"Page not found","Participating in this {symbol} reserve gives annualized rewards.":["Participating in this ",["symbol"]," reserve gives annualized rewards."],"Pending...":"Pending...","Per the community, the Fantom market has been frozen.":"Per the community, the Fantom market has been frozen.","Per the community, the V2 AMM market has been deprecated.":"Per the community, the V2 AMM market has been deprecated.","Please always be aware of your <0>Health Factor (HF) when partially migrating a position and that your rates will be updated to V3 rates.":"Please always be aware of your <0>Health Factor (HF) when partially migrating a position and that your rates will be updated to V3 rates.","Please connect a wallet to view your personal information here.":"Please connect a wallet to view your personal information here.","Please connect your wallet to be able to switch your tokens.":"Please connect your wallet to be able to switch your tokens.","Please connect your wallet to get free testnet assets.":"Please connect your wallet to get free testnet assets.","Please connect your wallet to see migration tool.":"Please connect your wallet to see migration tool.","Please connect your wallet to see your supplies, borrowings, and open positions.":"Please connect your wallet to see your supplies, borrowings, and open positions.","Please connect your wallet to view transaction history.":"Please connect your wallet to view transaction history.","Please enter a valid wallet address.":"Please enter a valid wallet address.","Please switch to {networkName}.":["Please switch to ",["networkName"],"."],"Please, connect your wallet":"Please, connect your wallet","Pool addresses provider is not registered":"Pool addresses provider is not registered","Powered by":"Powered by","Preview tx and migrate":"Preview tx and migrate","Price":"Price","Price data is not currently available for this reserve on the protocol subgraph":"Price data is not currently available for this reserve on the protocol subgraph","Price impact":"Price impact","Price impact is the spread between the total value of the entry tokens switched and the destination tokens obtained (in USD), which results from the limited liquidity of the trading pair.":"Price impact is the spread between the total value of the entry tokens switched and the destination tokens obtained (in USD), which results from the limited liquidity of the trading pair.","Price impact {0}%":["Price impact ",["0"],"%"],"Privacy":"Privacy","Proposal details":"Proposal details","Proposal overview":"Proposal overview","Proposals":"Proposals","Proposition":"Proposition","Protocol borrow cap at 100% for this asset. Further borrowing unavailable.":"Protocol borrow cap at 100% for this asset. Further borrowing unavailable.","Protocol borrow cap is at 100% for this asset. Further borrowing unavailable.":"Protocol borrow cap is at 100% for this asset. Further borrowing unavailable.","Protocol debt ceiling is at 100% for this asset. Further borrowing against this asset is unavailable.":"Protocol debt ceiling is at 100% for this asset. Further borrowing against this asset is unavailable.","Protocol debt ceiling is at 100% for this asset. Futher borrowing against this asset is unavailable.":"Protocol debt ceiling is at 100% for this asset. Futher borrowing against this asset is unavailable.","Protocol supply cap at 100% for this asset. Further supply unavailable.":"Protocol supply cap at 100% for this asset. Further supply unavailable.","Protocol supply cap is at 100% for this asset. Further supply unavailable.":"Protocol supply cap is at 100% for this asset. Further supply unavailable.","Quorum":"Quorum","Rate change":"Rate change","Raw-Ipfs":"Raw-Ipfs","Reached":"Reached","Reactivate cooldown period to unstake {0} {stakedToken}":["Reactivate cooldown period to unstake ",["0"]," ",["stakedToken"]],"Read more here.":"Read more here.","Read-only mode allows to see address positions in Aave, but you won't be able to perform transactions.":"Read-only mode allows to see address positions in Aave, but you won't be able to perform transactions.","Read-only mode.":"Read-only mode.","Read-only mode. Connect to a wallet to perform transactions.":"Read-only mode. Connect to a wallet to perform transactions.","Receive (est.)":"Receive (est.)","Received":"Received","Recipient address":"Recipient address","Rejected connection request":"Rejected connection request","Reload":"Reload","Reload the page":"Reload the page","Remaining debt":"Remaining debt","Remaining supply":"Remaining supply","Remove":"Remove","Repaid":"Repaid","Repay":"Repay","Repay with":"Repay with","Repay {symbol}":["Repay ",["symbol"]],"Repaying {symbol}":["Repaying ",["symbol"]],"Repayment amount to reach {0}% utilization":["Repayment amount to reach ",["0"],"% utilization"],"Representative smart contract wallet (ie. Safe) addresses on other chains.":"Representative smart contract wallet (ie. Safe) addresses on other chains.","Representing smart contract wallet (ie. Safe) addresses on other chains.":"Representing smart contract wallet (ie. Safe) addresses on other chains.","Reserve Size":"Reserve Size","Reserve factor":"Reserve factor","Reserve factor is a percentage of interest which goes to a {0} that is controlled by Aave governance to promote ecosystem growth.":["Reserve factor is a percentage of interest which goes to a ",["0"]," that is controlled by Aave governance to promote ecosystem growth."],"Reserve status & configuration":"Reserve status & configuration","Reset":"Reset","Restake":"Restake","Restake {symbol}":["Restake ",["symbol"]],"Restaked":"Restaked","Restaking {symbol}":["Restaking ",["symbol"]],"Review approval tx details":"Review approval tx details","Review changes to continue":"Review changes to continue","Review tx":"Review tx","Review tx details":"Review tx details","Revoke power":"Revoke power","Reward(s) to claim":"Reward(s) to claim","Rewards APR":"Rewards APR","Risk details":"Risk details","SEE CHARTS":"SEE CHARTS","Safety of your deposited collateral against the borrowed assets and its underlying value.":"Safety of your deposited collateral against the borrowed assets and its underlying value.","Save and share":"Save and share","Seems like we can't switch the network automatically. Please check if you can change it from the wallet.":"Seems like we can't switch the network automatically. Please check if you can change it from the wallet.","Select":"Select","Select APY type to switch":"Select APY type to switch","Select an asset":"Select an asset","Select language":"Select language","Select slippage tolerance":"Select slippage tolerance","Select v2 borrows to migrate":"Select v2 borrows to migrate","Select v2 supplies to migrate":"Select v2 supplies to migrate","Selected assets have successfully migrated. Visit the Market Dashboard to see them.":"Selected assets have successfully migrated. Visit the Market Dashboard to see them.","Selected borrow assets":"Selected borrow assets","Selected supply assets":"Selected supply assets","Send feedback":"Send feedback","Set up delegation":"Set up delegation","Setup notifications about your Health Factor using the Hal app.":"Setup notifications about your Health Factor using the Hal app.","Share on Lens":"Share on Lens","Share on twitter":"Share on twitter","Show":"Show","Show Frozen or paused assets":"Show Frozen or paused assets","Show assets with 0 balance":"Show assets with 0 balance","Sign to continue":"Sign to continue","Signatures ready":"Signatures ready","Signing":"Signing","Since this asset is frozen, the only available actions are withdraw and repay which can be accessed from the <0>Dashboard":"Since this asset is frozen, the only available actions are withdraw and repay which can be accessed from the <0>Dashboard","Since this is a test network, you can get any of the assets if you have ETH on your wallet":"Since this is a test network, you can get any of the assets if you have ETH on your wallet","Slippage":"Slippage","Slippage is the difference between the quoted and received amounts from changing market conditions between the moment the transaction is submitted and its verification.":"Slippage is the difference between the quoted and received amounts from changing market conditions between the moment the transaction is submitted and its verification.","Some migrated assets will not be used as collateral due to enabled isolation mode in {marketName} V3 Market. Visit <0>{marketName} V3 Dashboard to manage isolation mode.":["Some migrated assets will not be used as collateral due to enabled isolation mode in ",["marketName"]," V3 Market. Visit <0>",["marketName"]," V3 Dashboard to manage isolation mode."],"Something went wrong":"Something went wrong","Sorry, an unexpected error happened. In the meantime you may try reloading the page, or come back later.":"Sorry, an unexpected error happened. In the meantime you may try reloading the page, or come back later.","Sorry, we couldn't find the page you were looking for.":"Sorry, we couldn't find the page you were looking for.","Spanish":"Spanish","Stable":"Stable","Stable Interest Type is disabled for this currency":"Stable Interest Type is disabled for this currency","Stable borrowing is enabled":"Stable borrowing is enabled","Stable borrowing is not enabled":"Stable borrowing is not enabled","Stable debt supply is not zero":"Stable debt supply is not zero","Stable interest rate will <0>stay the same for the duration of your loan. Recommended for long-term loan periods and for users who prefer predictability.":"Stable interest rate will <0>stay the same for the duration of your loan. Recommended for long-term loan periods and for users who prefer predictability.","Stablecoin":"Stablecoin","Stake":"Stake","Stake AAVE":"Stake AAVE","Stake ABPT":"Stake ABPT","Stake cooldown activated":"Stake cooldown activated","Staked":"Staked","Staking":"Staking","Staking APR":"Staking APR","Staking Rewards":"Staking Rewards","Staking balance":"Staking balance","Staking discount":"Staking discount","State":"State","Supplied":"Supplied","Supplied asset amount":"Supplied asset amount","Supply":"Supply","Supply APY":"Supply APY","Supply apy":"Supply apy","Supply balance":"Supply balance","Supply balance after switch":"Supply balance after switch","Supply cap is exceeded":"Supply cap is exceeded","Supply cap on target reserve reached. Try lowering the amount.":"Supply cap on target reserve reached. Try lowering the amount.","Supply {symbol}":["Supply ",["symbol"]],"Supplying your":"Supplying your","Supplying {symbol}":["Supplying ",["symbol"]],"Switch":"Switch","Switch APY type":"Switch APY type","Switch E-Mode":"Switch E-Mode","Switch E-Mode category":"Switch E-Mode category","Switch Network":"Switch Network","Switch borrow position":"Switch borrow position","Switch rate":"Switch rate","Switch to":"Switch to","Switched":"Switched","Switching":"Switching","Switching E-Mode":"Switching E-Mode","Switching rate":"Switching rate","Techpaper":"Techpaper","Terms":"Terms","Test Assets":"Test Assets","Testnet mode":"Testnet mode","Testnet mode is ON":"Testnet mode is ON","Thank you for voting!!":"Thank you for voting!!","The % of your total borrowing power used. This is based on the amount of your collateral supplied and the total amount that you can borrow.":"The % of your total borrowing power used. This is based on the amount of your collateral supplied and the total amount that you can borrow.","The Aave Balancer Pool Token (ABPT) is a liquidity pool token. You can receive ABPT by depositing a combination of AAVE + ETH in the Balancer liquidity pool. You can then stake your BPT in the Safety Module to secure the protocol and earn Safety Incentives.":"The Aave Balancer Pool Token (ABPT) is a liquidity pool token. You can receive ABPT by depositing a combination of AAVE + ETH in the Balancer liquidity pool. You can then stake your BPT in the Safety Module to secure the protocol and earn Safety Incentives.","The Aave Protocol is programmed to always use the price of 1 GHO = $1. This is different from using market pricing via oracles for other crypto assets. This creates stabilizing arbitrage opportunities when the price of GHO fluctuates.":"The Aave Protocol is programmed to always use the price of 1 GHO = $1. This is different from using market pricing via oracles for other crypto assets. This creates stabilizing arbitrage opportunities when the price of GHO fluctuates.","The Maximum LTV ratio represents the maximum borrowing power of a specific collateral. For example, if a collateral has an LTV of 75%, the user can borrow up to 0.75 worth of ETH in the principal currency for every 1 ETH worth of collateral.":"The Maximum LTV ratio represents the maximum borrowing power of a specific collateral. For example, if a collateral has an LTV of 75%, the user can borrow up to 0.75 worth of ETH in the principal currency for every 1 ETH worth of collateral.","The Stable Rate is not enabled for this currency":"The Stable Rate is not enabled for this currency","The address of the pool addresses provider is invalid":"The address of the pool addresses provider is invalid","The app is running in testnet mode. Learn how it works in":"The app is running in testnet mode. Learn how it works in","The caller of the function is not an AToken":"The caller of the function is not an AToken","The caller of this function must be a pool":"The caller of this function must be a pool","The collateral balance is 0":"The collateral balance is 0","The collateral chosen cannot be liquidated":"The collateral chosen cannot be liquidated","The cooldown period is the time required prior to unstaking your tokens (20 days). You can only withdraw your assets from the Security Module after the cooldown period and within the unstake window.<0>Learn more":"The cooldown period is the time required prior to unstaking your tokens (20 days). You can only withdraw your assets from the Security Module after the cooldown period and within the unstake window.<0>Learn more","The cooldown period is {0}. After {1} of cooldown, you will enter unstake window of {2}. You will continue receiving rewards during cooldown and unstake window.":["The cooldown period is ",["0"],". After ",["1"]," of cooldown, you will enter unstake window of ",["2"],". You will continue receiving rewards during cooldown and unstake window."],"The effects on the health factor would cause liquidation. Try lowering the amount.":"The effects on the health factor would cause liquidation. Try lowering the amount.","The loan to value of the migrated positions would cause liquidation. Increase migrated collateral or reduce migrated borrow to continue.":"The loan to value of the migrated positions would cause liquidation. Increase migrated collateral or reduce migrated borrow to continue.","The requested amount is greater than the max loan size in stable rate mode":"The requested amount is greater than the max loan size in stable rate mode","The total amount of your assets denominated in USD that can be used as collateral for borrowing assets.":"The total amount of your assets denominated in USD that can be used as collateral for borrowing assets.","The underlying asset cannot be rescued":"The underlying asset cannot be rescued","The underlying balance needs to be greater than 0":"The underlying balance needs to be greater than 0","The weighted average of APY for all borrowed assets, including incentives.":"The weighted average of APY for all borrowed assets, including incentives.","The weighted average of APY for all supplied assets, including incentives.":"The weighted average of APY for all supplied assets, including incentives.","There are not enough funds in the{0}reserve to borrow":["There are not enough funds in the",["0"],"reserve to borrow"],"There is not enough collateral to cover a new borrow":"There is not enough collateral to cover a new borrow","There is not enough liquidity for the target asset to perform the switch. Try lowering the amount.":"There is not enough liquidity for the target asset to perform the switch. Try lowering the amount.","There was some error. Please try changing the parameters or <0><1>copy the error":"There was some error. Please try changing the parameters or <0><1>copy the error","These assets are temporarily frozen or paused by Aave community decisions, meaning that further supply / borrow, or rate swap of these assets are unavailable. Withdrawals and debt repayments are allowed. Follow the <0>Aave governance forum for further updates.":"These assets are temporarily frozen or paused by Aave community decisions, meaning that further supply / borrow, or rate swap of these assets are unavailable. Withdrawals and debt repayments are allowed. Follow the <0>Aave governance forum for further updates.","These funds have been borrowed and are not available for withdrawal at this time.":"These funds have been borrowed and are not available for withdrawal at this time.","This action will reduce V2 health factor below liquidation threshold. retain collateral or migrate borrow position to continue.":"This action will reduce V2 health factor below liquidation threshold. retain collateral or migrate borrow position to continue.","This action will reduce health factor of V3 below liquidation threshold. Increase migrated collateral or reduce migrated borrow to continue.":"This action will reduce health factor of V3 below liquidation threshold. Increase migrated collateral or reduce migrated borrow to continue.","This action will reduce your health factor. Please be mindful of the increased risk of collateral liquidation.":"This action will reduce your health factor. Please be mindful of the increased risk of collateral liquidation.","This address is blocked on app.aave.com because it is associated with one or more":"This address is blocked on app.aave.com because it is associated with one or more","This asset has almost reached its borrow cap. There is only {messageValue} available to be borrowed from this market.":["This asset has almost reached its borrow cap. There is only ",["messageValue"]," available to be borrowed from this market."],"This asset has almost reached its supply cap. There can only be {messageValue} supplied to this market.":["This asset has almost reached its supply cap. There can only be ",["messageValue"]," supplied to this market."],"This asset has been paused due to a community decision. Supply, withdraw, borrows and repays are impacted.":"This asset has been paused due to a community decision. Supply, withdraw, borrows and repays are impacted.","This asset has reached its borrow cap. Nothing is available to be borrowed from this market.":"This asset has reached its borrow cap. Nothing is available to be borrowed from this market.","This asset has reached its supply cap. Nothing is available to be supplied from this market.":"This asset has reached its supply cap. Nothing is available to be supplied from this market.","This asset is frozen due to an Aave Protocol Governance decision. <0>More details":"This asset is frozen due to an Aave Protocol Governance decision. <0>More details","This asset is frozen due to an Aave Protocol Governance decision. On the 20th of December 2022, renFIL will no longer be supported and cannot be bridged back to its native network. It is recommended to withdraw supply positions and repay borrow positions so that renFIL can be bridged back to FIL before the deadline. After this date, it will no longer be possible to convert renFIL to FIL. <0>More details":"This asset is frozen due to an Aave Protocol Governance decision. On the 20th of December 2022, renFIL will no longer be supported and cannot be bridged back to its native network. It is recommended to withdraw supply positions and repay borrow positions so that renFIL can be bridged back to FIL before the deadline. After this date, it will no longer be possible to convert renFIL to FIL. <0>More details","This asset is frozen due to an Aave community decision. <0>More details":"This asset is frozen due to an Aave community decision. <0>More details","This asset is planned to be offboarded due to an Aave Protocol Governance decision. <0>More details":"This asset is planned to be offboarded due to an Aave Protocol Governance decision. <0>More details","This gas calculation is only an estimation. Your wallet will set the price of the transaction. You can modify the gas settings directly from your wallet provider.":"This gas calculation is only an estimation. Your wallet will set the price of the transaction. You can modify the gas settings directly from your wallet provider.","This integration was<0>proposed and approvedby the community.":"This integration was<0>proposed and approvedby the community.","This is the total amount available for you to borrow. You can borrow based on your collateral and until the borrow cap is reached.":"This is the total amount available for you to borrow. You can borrow based on your collateral and until the borrow cap is reached.","This is the total amount that you are able to supply to in this reserve. You are able to supply your wallet balance up until the supply cap is reached.":"This is the total amount that you are able to supply to in this reserve. You are able to supply your wallet balance up until the supply cap is reached.","This represents the threshold at which a borrow position will be considered undercollateralized and subject to liquidation for each collateral. For example, if a collateral has a liquidation threshold of 80%, it means that the position will be liquidated when the debt value is worth 80% of the collateral value.":"This represents the threshold at which a borrow position will be considered undercollateralized and subject to liquidation for each collateral. For example, if a collateral has a liquidation threshold of 80%, it means that the position will be liquidated when the debt value is worth 80% of the collateral value.","Time left to be able to withdraw your staked asset.":"Time left to be able to withdraw your staked asset.","Time left to unstake":"Time left to unstake","Time left until the withdrawal window closes.":"Time left until the withdrawal window closes.","Tip: Try increasing slippage or reduce input amount":"Tip: Try increasing slippage or reduce input amount","To borrow you need to supply any asset to be used as collateral.":"To borrow you need to supply any asset to be used as collateral.","To continue, you need to grant Aave smart contracts permission to move your funds from your wallet. Depending on the asset and wallet you use, it is done by signing the permission message (gas free), or by submitting an approval transaction (requires gas). <0>Learn more":"To continue, you need to grant Aave smart contracts permission to move your funds from your wallet. Depending on the asset and wallet you use, it is done by signing the permission message (gas free), or by submitting an approval transaction (requires gas). <0>Learn more","To enable E-mode for the {0} category, all borrow positions outside of this category must be closed.":["To enable E-mode for the ",["0"]," category, all borrow positions outside of this category must be closed."],"To repay on behalf of a user an explicit amount to repay is needed":"To repay on behalf of a user an explicit amount to repay is needed","To request access for this permissioned market, please visit: <0>Acces Provider Name":"To request access for this permissioned market, please visit: <0>Acces Provider Name","To submit a proposal for minor changes to the protocol, you'll need at least 80.00K power. If you want to change the core code base, you'll need 320k power.<0>Learn more.":"To submit a proposal for minor changes to the protocol, you'll need at least 80.00K power. If you want to change the core code base, you'll need 320k power.<0>Learn more.","Top 10 addresses":"Top 10 addresses","Total available":"Total available","Total borrowed":"Total borrowed","Total borrows":"Total borrows","Total emission per day":"Total emission per day","Total interest accrued":"Total interest accrued","Total market size":"Total market size","Total supplied":"Total supplied","Total worth":"Total worth","Track wallet":"Track wallet","Track wallet balance in read-only mode":"Track wallet balance in read-only mode","Transaction failed":"Transaction failed","Transaction history":"Transaction history","Transaction history is not currently available for this market":"Transaction history is not currently available for this market","Transaction overview":"Transaction overview","Transactions":"Transactions","UNSTAKE {symbol}":["UNSTAKE ",["symbol"]],"Unavailable":"Unavailable","Unbacked":"Unbacked","Unbacked mint cap is exceeded":"Unbacked mint cap is exceeded","Underlying asset does not exist in {marketName} v3 Market, hence this position cannot be migrated.":["Underlying asset does not exist in ",["marketName"]," v3 Market, hence this position cannot be migrated."],"Underlying token":"Underlying token","Unstake now":"Unstake now","Unstake window":"Unstake window","Unstaked":"Unstaked","Unstaking {symbol}":["Unstaking ",["symbol"]],"Update: Disruptions reported for WETH, WBTC, WMATIC, and USDT. AIP 230 will resolve the disruptions and the market will be operating as normal on ~26th May 13h00 UTC.":"Update: Disruptions reported for WETH, WBTC, WMATIC, and USDT. AIP 230 will resolve the disruptions and the market will be operating as normal on ~26th May 13h00 UTC.","Use it to vote for or against active proposals.":"Use it to vote for or against active proposals.","Use your AAVE, stkAAVE, or aAave balance to delegate your voting and proposition powers. You will not be sending any tokens, only the rights to vote and propose changes to the protocol. You can re-delegate or revoke power to self at any time.":"Use your AAVE, stkAAVE, or aAave balance to delegate your voting and proposition powers. You will not be sending any tokens, only the rights to vote and propose changes to the protocol. You can re-delegate or revoke power to self at any time.","Used as collateral":"Used as collateral","User cannot withdraw more than the available balance":"User cannot withdraw more than the available balance","User did not borrow the specified currency":"User did not borrow the specified currency","User does not have outstanding stable rate debt on this reserve":"User does not have outstanding stable rate debt on this reserve","User does not have outstanding variable rate debt on this reserve":"User does not have outstanding variable rate debt on this reserve","User is in isolation mode":"User is in isolation mode","User is trying to borrow multiple assets including a siloed one":"User is trying to borrow multiple assets including a siloed one","Users who stake AAVE in Safety Module (i.e. stkAAVE holders) receive a discount on GHO borrow interest rate. The discount applies to 100 GHO for every 1 stkAAVE held. Use the calculator below to see GHO borrow rate with the discount applied.":"Users who stake AAVE in Safety Module (i.e. stkAAVE holders) receive a discount on GHO borrow interest rate. The discount applies to 100 GHO for every 1 stkAAVE held. Use the calculator below to see GHO borrow rate with the discount applied.","Utilization Rate":"Utilization Rate","VIEW TX":"VIEW TX","VOTE NAY":"VOTE NAY","VOTE YAE":"VOTE YAE","Variable":"Variable","Variable debt supply is not zero":"Variable debt supply is not zero","Variable interest rate will <0>fluctuate based on the market conditions. Recommended for short-term positions.":"Variable interest rate will <0>fluctuate based on the market conditions. Recommended for short-term positions.","Variable rate":"Variable rate","Version 2":"Version 2","Version 3":"Version 3","View":"View","View Transactions":"View Transactions","View all votes":"View all votes","View contract":"View contract","View details":"View details","View on Explorer":"View on Explorer","Vote NAY":"Vote NAY","Vote YAE":"Vote YAE","Voted NAY":"Voted NAY","Voted YAE":"Voted YAE","Votes":"Votes","Voting":"Voting","Voting power":"Voting power","Voting results":"Voting results","Wallet Balance":"Wallet Balance","Wallet balance":"Wallet balance","Wallet not detected. Connect or install wallet and retry":"Wallet not detected. Connect or install wallet and retry","Wallets are provided by External Providers and by selecting you agree to Terms of those Providers. Your access to the wallet might be reliant on the External Provider being operational.":"Wallets are provided by External Providers and by selecting you agree to Terms of those Providers. Your access to the wallet might be reliant on the External Provider being operational.","We couldn't find any assets related to your search. Try again with a different asset name, symbol, or address.":"We couldn't find any assets related to your search. Try again with a different asset name, symbol, or address.","We couldn't find any transactions related to your search. Try again with a different asset name, or reset filters.":"We couldn't find any transactions related to your search. Try again with a different asset name, or reset filters.","We couldn’t detect a wallet. Connect a wallet to stake and view your balance.":"We couldn’t detect a wallet. Connect a wallet to stake and view your balance.","We suggest you go back to the Dashboard.":"We suggest you go back to the Dashboard.","Website":"Website","When a liquidation occurs, liquidators repay up to 50% of the outstanding borrowed amount on behalf of the borrower. In return, they can buy the collateral at a discount and keep the difference (liquidation penalty) as a bonus.":"When a liquidation occurs, liquidators repay up to 50% of the outstanding borrowed amount on behalf of the borrower. In return, they can buy the collateral at a discount and keep the difference (liquidation penalty) as a bonus.","With a voting power of <0/>":"With a voting power of <0/>","With testnet Faucet you can get free assets to test the Aave Protocol. Make sure to switch your wallet provider to the appropriate testnet network, select desired asset, and click ‘Faucet’ to get tokens transferred to your wallet. The assets on a testnet are not “real,” meaning they have no monetary value. <0>Learn more":"With testnet Faucet you can get free assets to test the Aave Protocol. Make sure to switch your wallet provider to the appropriate testnet network, select desired asset, and click ‘Faucet’ to get tokens transferred to your wallet. The assets on a testnet are not “real,” meaning they have no monetary value. <0>Learn more","Withdraw":"Withdraw","Withdraw & Switch":"Withdraw & Switch","Withdraw and Switch":"Withdraw and Switch","Withdraw {symbol}":["Withdraw ",["symbol"]],"Withdrawing and Switching":"Withdrawing and Switching","Withdrawing this amount will reduce your health factor and increase risk of liquidation.":"Withdrawing this amount will reduce your health factor and increase risk of liquidation.","Withdrawing {symbol}":["Withdrawing ",["symbol"]],"Wrong Network":"Wrong Network","YAE":"YAE","You are entering Isolation mode":"You are entering Isolation mode","You can borrow this asset with a stable rate only if you borrow more than the amount you are supplying as collateral.":"You can borrow this asset with a stable rate only if you borrow more than the amount you are supplying as collateral.","You can not change Interest Type to stable as your borrowings are higher than your collateral":"You can not change Interest Type to stable as your borrowings are higher than your collateral","You can not disable E-Mode as your current collateralization level is above 80%, disabling E-Mode can cause liquidation. To exit E-Mode supply or repay borrowed positions.":"You can not disable E-Mode as your current collateralization level is above 80%, disabling E-Mode can cause liquidation. To exit E-Mode supply or repay borrowed positions.","You can not switch usage as collateral mode for this currency, because it will cause collateral call":"You can not switch usage as collateral mode for this currency, because it will cause collateral call","You can not use this currency as collateral":"You can not use this currency as collateral","You can not withdraw this amount because it will cause collateral call":"You can not withdraw this amount because it will cause collateral call","You can only switch to tokens with variable APY types. After this transaction, you may change the variable rate to a stable one if available.":"You can only switch to tokens with variable APY types. After this transaction, you may change the variable rate to a stable one if available.","You can only withdraw your assets from the Security Module after the cooldown period ends and the unstake window is active.":"You can only withdraw your assets from the Security Module after the cooldown period ends and the unstake window is active.","You can report incident to our <0>Discord or<1>Github.":"You can report incident to our <0>Discord or<1>Github.","You cancelled the transaction.":"You cancelled the transaction.","You did not participate in this proposal":"You did not participate in this proposal","You do not have supplies in this currency":"You do not have supplies in this currency","You don’t have enough funds in your wallet to repay the full amount. If you proceed to repay with your current amount of funds, you will still have a small borrowing position in your dashboard.":"You don’t have enough funds in your wallet to repay the full amount. If you proceed to repay with your current amount of funds, you will still have a small borrowing position in your dashboard.","You have no AAVE/stkAAVE/aAave balance to delegate.":"You have no AAVE/stkAAVE/aAave balance to delegate.","You have not borrow yet using this currency":"You have not borrow yet using this currency","You may borrow up to <0/> GHO at <1/> (max discount)":"You may borrow up to <0/> GHO at <1/> (max discount)","You may enter a custom amount in the field.":"You may enter a custom amount in the field.","You switched to {0} rate":["You switched to ",["0"]," rate"],"You unstake here":"You unstake here","You voted {0}":["You voted ",["0"]],"You will exit isolation mode and other tokens can now be used as collateral":"You will exit isolation mode and other tokens can now be used as collateral","You {action} <0/> {symbol}":["You ",["action"]," <0/> ",["symbol"]],"You've successfully switched borrow position.":"You've successfully switched borrow position.","You've successfully switched tokens.":"You've successfully switched tokens.","You've successfully withdrew & switched tokens.":"You've successfully withdrew & switched tokens.","Your balance is lower than the selected amount.":"Your balance is lower than the selected amount.","Your borrows":"Your borrows","Your current loan to value based on your collateral supplied.":"Your current loan to value based on your collateral supplied.","Your health factor and loan to value determine the assurance of your collateral. To avoid liquidations you can supply more collateral or repay borrow positions.":"Your health factor and loan to value determine the assurance of your collateral. To avoid liquidations you can supply more collateral or repay borrow positions.","Your info":"Your info","Your proposition power is based on your AAVE/stkAAVE balance and received delegations.":"Your proposition power is based on your AAVE/stkAAVE balance and received delegations.","Your reward balance is 0":"Your reward balance is 0","Your supplies":"Your supplies","Your voting info":"Your voting info","Your voting power is based on your AAVE/stkAAVE balance and received delegations.":"Your voting power is based on your AAVE/stkAAVE balance and received delegations.","Your {name} wallet is empty. Purchase or transfer assets or use <0>{0} to transfer your {network} assets.":["Your ",["name"]," wallet is empty. Purchase or transfer assets or use <0>",["0"]," to transfer your ",["network"]," assets."],"Your {name} wallet is empty. Purchase or transfer assets.":["Your ",["name"]," wallet is empty. Purchase or transfer assets."],"Your {networkName} wallet is empty. Get free test assets at":["Your ",["networkName"]," wallet is empty. Get free test assets at"],"Your {networkName} wallet is empty. Get free test {0} at":["Your ",["networkName"]," wallet is empty. Get free test ",["0"]," at"],"Zero address not valid":"Zero address not valid","assets":"assets","blocked activities":"blocked activities","copy the error":"copy the error","disabled":"disabled","documentation":"documentation","enabled":"enabled","ends":"ends","for":"for","of":"of","on":"on","please check that the amount you want to supply is not currently being used for staking. If it is being used for staking, your transaction might fail.":"please check that the amount you want to supply is not currently being used for staking. If it is being used for staking, your transaction might fail.","repaid":"repaid","stETH supplied as collateral will continue to accrue staking rewards provided by daily rebases.":"stETH supplied as collateral will continue to accrue staking rewards provided by daily rebases.","stETH tokens will be migrated to Wrapped stETH using Lido Protocol wrapper which leads to supply balance change after migration: {0}":["stETH tokens will be migrated to Wrapped stETH using Lido Protocol wrapper which leads to supply balance change after migration: ",["0"]],"staking view":"staking view","starts":"starts","stkAAVE holders get a discount on GHO borrow rate":"stkAAVE holders get a discount on GHO borrow rate","to":"to","tokens is not the same as staking them. If you wish to stake your":"tokens is not the same as staking them. If you wish to stake your","tokens, please go to the":"tokens, please go to the","withdrew":"withdrew","{0}":[["0"]],"{0} Balance":[["0"]," Balance"],"{0} Faucet":[["0"]," Faucet"],"{0} on-ramp service is provided by External Provider and by selecting you agree to Terms of the Provider. Your access to the service might be reliant on the External Provider being operational.":[["0"]," on-ramp service is provided by External Provider and by selecting you agree to Terms of the Provider. Your access to the service might be reliant on the External Provider being operational."],"{0}{name}":[["0"],["name"]],"{currentMethod}":[["currentMethod"]],"{d}d":[["d"],"d"],"{h}h":[["h"],"h"],"{m}m":[["m"],"m"],"{networkName} Faucet":[["networkName"]," Faucet"],"{notifyText}":[["notifyText"]],"{numSelected}/{numAvailable} assets selected":[["numSelected"],"/",["numAvailable"]," assets selected"],"{s}s":[["s"],"s"],"{title}":[["title"]],"{tooltipText}":[["tooltipText"]]}}; \ No newline at end of file +/*eslint-disable*/module.exports={messages:{"...":"...",".CSV":".CSV",".JSON":".JSON","<0><1><2/>Add <3/> stkAAVE to borrow at <4/> (max discount)":"<0><1><2/>Add <3/> stkAAVE to borrow at <4/> (max discount)","<0><1><2/>Add stkAAVE to see borrow rate with discount":"<0><1><2/>Add stkAAVE to see borrow rate with discount","<0>Ampleforth is a rebasing asset. Visit the <1>documentation to learn more.":"<0>Ampleforth is a rebasing asset. Visit the <1>documentation to learn more.","<0>Attention: Parameter changes via governance can alter your account health factor and risk of liquidation. Follow the <1>Aave governance forum for updates.":"<0>Attention: Parameter changes via governance can alter your account health factor and risk of liquidation. Follow the <1>Aave governance forum for updates.","<0>Slippage tolerance <1>{selectedSlippage}% <2>{0}":["<0>Slippage tolerance <1>",["selectedSlippage"],"% <2>",["0"],""],"AAVE holders (Ethereum network only) can stake their AAVE in the Safety Module to add more security to the protocol and earn Safety Incentives. In the case of a shortfall event, up to 30% of your stake can be slashed to cover the deficit, providing an additional layer of protection for the protocol.":"AAVE holders (Ethereum network only) can stake their AAVE in the Safety Module to add more security to the protocol and earn Safety Incentives. In the case of a shortfall event, up to 30% of your stake can be slashed to cover the deficit, providing an additional layer of protection for the protocol.","APR":"APR","APY":"APY","APY change":"APY change","APY type":"APY type","APY type change":"APY type change","APY with discount applied":"APY with discount applied","APY, borrow rate":"APY, borrow rate","APY, stable":"APY, stable","APY, variable":"APY, variable","AToken supply is not zero":"AToken supply is not zero","Aave Governance":"Aave Governance","Aave aToken":"Aave aToken","Aave debt token":"Aave debt token","Aave is a fully decentralized, community governed protocol by the AAVE token-holders. AAVE token-holders collectively discuss, propose, and vote on upgrades to the protocol. AAVE token-holders (Ethereum network only) can either vote themselves on new proposals or delagate to an address of choice. To learn more check out the Governance":"Aave is a fully decentralized, community governed protocol by the AAVE token-holders. AAVE token-holders collectively discuss, propose, and vote on upgrades to the protocol. AAVE token-holders (Ethereum network only) can either vote themselves on new proposals or delagate to an address of choice. To learn more check out the Governance","Aave per month":"Aave per month","About GHO":"About GHO","Account":"Account","Action cannot be performed because the reserve is frozen":"Action cannot be performed because the reserve is frozen","Action cannot be performed because the reserve is paused":"Action cannot be performed because the reserve is paused","Action requires an active reserve":"Action requires an active reserve","Activate Cooldown":"Activate Cooldown","Add stkAAVE to see borrow APY with the discount":"Add stkAAVE to see borrow APY with the discount","Add to wallet":"Add to wallet","Add {0} to wallet to track your balance.":["Add ",["0"]," to wallet to track your balance."],"Address is not a contract":"Address is not a contract","Addresses":"Addresses","Addresses ({0})":["Addresses (",["0"],")"],"All Assets":"All Assets","All done!":"All done!","All proposals":"All proposals","All transactions":"All transactions","Allowance required action":"Allowance required action","Allows you to decide whether to use a supplied asset as collateral. An asset used as collateral will affect your borrowing power and health factor.":"Allows you to decide whether to use a supplied asset as collateral. An asset used as collateral will affect your borrowing power and health factor.","Allows you to switch between <0>variable and <1>stable interest rates, where variable rate can increase and decrease depending on the amount of liquidity in the reserve, and stable rate will stay the same for the duration of your loan.":"Allows you to switch between <0>variable and <1>stable interest rates, where variable rate can increase and decrease depending on the amount of liquidity in the reserve, and stable rate will stay the same for the duration of your loan.","Amount":"Amount","Amount claimable":"Amount claimable","Amount in cooldown":"Amount in cooldown","Amount must be greater than 0":"Amount must be greater than 0","Amount to unstake":"Amount to unstake","An error has occurred fetching the proposal.":"An error has occurred fetching the proposal.","Approve Confirmed":"Approve Confirmed","Approve with":"Approve with","Approve {symbol} to continue":["Approve ",["symbol"]," to continue"],"Approving {symbol}...":["Approving ",["symbol"],"..."],"Array parameters that should be equal length are not":"Array parameters that should be equal length are not","Asset":"Asset","Asset can be only used as collateral in isolation mode with limited borrowing power. To enter isolation mode, disable all other collateral.":"Asset can be only used as collateral in isolation mode with limited borrowing power. To enter isolation mode, disable all other collateral.","Asset can only be used as collateral in isolation mode only.":"Asset can only be used as collateral in isolation mode only.","Asset cannot be migrated because you have isolated collateral in {marketName} v3 Market which limits borrowable assets. You can manage your collateral in <0>{marketName} V3 Dashboard":["Asset cannot be migrated because you have isolated collateral in ",["marketName"]," v3 Market which limits borrowable assets. You can manage your collateral in <0>",["marketName"]," V3 Dashboard"],"Asset cannot be migrated due to insufficient liquidity or borrow cap limitation in {marketName} v3 market.":["Asset cannot be migrated due to insufficient liquidity or borrow cap limitation in ",["marketName"]," v3 market."],"Asset cannot be migrated due to supply cap restriction in {marketName} v3 market.":["Asset cannot be migrated due to supply cap restriction in ",["marketName"]," v3 market."],"Asset cannot be migrated to {marketName} V3 Market due to E-mode restrictions. You can disable or manage E-mode categories in your <0>V3 Dashboard":["Asset cannot be migrated to ",["marketName"]," V3 Market due to E-mode restrictions. You can disable or manage E-mode categories in your <0>V3 Dashboard"],"Asset cannot be migrated to {marketName} v3 Market since collateral asset will enable isolation mode.":["Asset cannot be migrated to ",["marketName"]," v3 Market since collateral asset will enable isolation mode."],"Asset cannot be used as collateral.":"Asset cannot be used as collateral.","Asset category":"Asset category","Asset is frozen in {marketName} v3 market, hence this position cannot be migrated.":["Asset is frozen in ",["marketName"]," v3 market, hence this position cannot be migrated."],"Asset is not borrowable in isolation mode":"Asset is not borrowable in isolation mode","Asset is not listed":"Asset is not listed","Asset supply is limited to a certain amount to reduce protocol exposure to the asset and to help manage risks involved.":"Asset supply is limited to a certain amount to reduce protocol exposure to the asset and to help manage risks involved.","Assets":"Assets","Assets to borrow":"Assets to borrow","Assets to supply":"Assets to supply","Assets with zero LTV ({assetsBlockingWithdraw}) must be withdrawn or disabled as collateral to perform this action":["Assets with zero LTV (",["assetsBlockingWithdraw"],") must be withdrawn or disabled as collateral to perform this action"],"At a discount":"At a discount","Available":"Available","Available assets":"Available assets","Available liquidity":"Available liquidity","Available on":"Available on","Available rewards":"Available rewards","Available to borrow":"Available to borrow","Available to supply":"Available to supply","Back to Dashboard":"Back to Dashboard","Balance":"Balance","Balance to revoke":"Balance to revoke","Be careful - You are very close to liquidation. Consider depositing more collateral or paying down some of your borrowed positions":"Be careful - You are very close to liquidation. Consider depositing more collateral or paying down some of your borrowed positions","Be mindful of the network congestion and gas prices.":"Be mindful of the network congestion and gas prices.","Because this asset is paused, no actions can be taken until further notice":"Because this asset is paused, no actions can be taken until further notice","Before supplying":"Before supplying","Blocked Address":"Blocked Address","Borrow":"Borrow","Borrow APY":"Borrow APY","Borrow APY rate":"Borrow APY rate","Borrow APY, variable":"Borrow APY, variable","Borrow amount to reach {0}% utilization":["Borrow amount to reach ",["0"],"% utilization"],"Borrow and repay in same block is not allowed":"Borrow and repay in same block is not allowed","Borrow apy":"Borrow apy","Borrow balance":"Borrow balance","Borrow balance after repay":"Borrow balance after repay","Borrow balance after switch":"Borrow balance after switch","Borrow cap":"Borrow cap","Borrow cap is exceeded":"Borrow cap is exceeded","Borrow info":"Borrow info","Borrow power used":"Borrow power used","Borrow rate APY":"Borrow rate APY","Borrow rate change":"Borrow rate change","Borrow {symbol}":["Borrow ",["symbol"]],"Borrowed":"Borrowed","Borrowed asset amount":"Borrowed asset amount","Borrowing is currently unavailable for {0}.":["Borrowing is currently unavailable for ",["0"],"."],"Borrowing is disabled due to an Aave community decision. <0>More details":"Borrowing is disabled due to an Aave community decision. <0>More details","Borrowing is not enabled":"Borrowing is not enabled","Borrowing is unavailable because you’re using Isolation mode. To manage Isolation mode visit your <0>Dashboard.":"Borrowing is unavailable because you’re using Isolation mode. To manage Isolation mode visit your <0>Dashboard.","Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) and Isolation mode. To manage E-Mode and Isolation mode visit your <0>Dashboard.":"Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) and Isolation mode. To manage E-Mode and Isolation mode visit your <0>Dashboard.","Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) for {0} category. To manage E-Mode categories visit your <0>Dashboard.":["Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) for ",["0"]," category. To manage E-Mode categories visit your <0>Dashboard."],"Borrowing of this asset is limited to a certain amount to minimize liquidity pool insolvency.":"Borrowing of this asset is limited to a certain amount to minimize liquidity pool insolvency.","Borrowing power and assets are limited due to Isolation mode.":"Borrowing power and assets are limited due to Isolation mode.","Borrowing this amount will reduce your health factor and increase risk of liquidation.":"Borrowing this amount will reduce your health factor and increase risk of liquidation.","Borrowing {symbol}":["Borrowing ",["symbol"]],"Both":"Both","Buy Crypto With Fiat":"Buy Crypto With Fiat","Buy Crypto with Fiat":"Buy Crypto with Fiat","Buy {cryptoSymbol} with Fiat":["Buy ",["cryptoSymbol"]," with Fiat"],"COPIED!":"COPIED!","COPY IMAGE":"COPY IMAGE","Can be collateral":"Can be collateral","Can be executed":"Can be executed","Can't validate the wallet address. Try again.":"Can't validate the wallet address. Try again.","Cancel":"Cancel","Cannot disable E-Mode":"Cannot disable E-Mode","Choose how much voting/proposition power to give to someone else by delegating some of your AAVE, stkAAVE or aAave balance. Your tokens will remain in your account, but your delegate will be able to vote or propose on your behalf. If your AAVE, stkAAVE or aAave balance changes, your delegate's voting/proposition power will be automatically adjusted.":"Choose how much voting/proposition power to give to someone else by delegating some of your AAVE, stkAAVE or aAave balance. Your tokens will remain in your account, but your delegate will be able to vote or propose on your behalf. If your AAVE, stkAAVE or aAave balance changes, your delegate's voting/proposition power will be automatically adjusted.","Choose one of the on-ramp services":"Choose one of the on-ramp services","Claim":"Claim","Claim all":"Claim all","Claim all rewards":"Claim all rewards","Claim {0}":["Claim ",["0"]],"Claim {symbol}":["Claim ",["symbol"]],"Claimable AAVE":"Claimable AAVE","Claimed":"Claimed","Claiming":"Claiming","Claiming {symbol}":["Claiming ",["symbol"]],"Close":"Close","Collateral":"Collateral","Collateral balance after repay":"Collateral balance after repay","Collateral change":"Collateral change","Collateral is (mostly) the same currency that is being borrowed":"Collateral is (mostly) the same currency that is being borrowed","Collateral to repay with":"Collateral to repay with","Collateral usage":"Collateral usage","Collateral usage is limited because of Isolation mode.":"Collateral usage is limited because of Isolation mode.","Collateral usage is limited because of isolation mode.":"Collateral usage is limited because of isolation mode.","Collateral usage is limited because of isolation mode. <0>Learn More":"Collateral usage is limited because of isolation mode. <0>Learn More","Collateralization":"Collateralization","Collector Contract":"Collector Contract","Collector Info":"Collector Info","Confirm transaction":"Confirm transaction","Confirming transaction":"Confirming transaction","Connect":"Connect","Connect wallet":"Connect wallet","Cooldown period":"Cooldown period","Cooldown period warning":"Cooldown period warning","Cooldown time left":"Cooldown time left","Cooldown to unstake":"Cooldown to unstake","Cooling down...":"Cooling down...","Copy address":"Copy address","Copy error message":"Copy error message","Copy error text":"Copy error text","Covered debt":"Covered debt","Created":"Created","Current LTV":"Current LTV","Current differential":"Current differential","Current v2 Balance":"Current v2 Balance","Current v2 balance":"Current v2 balance","Current votes":"Current votes","Dark mode":"Dark mode","Dashboard":"Dashboard","Data couldn't be fetched, please reload graph.":"Data couldn't be fetched, please reload graph.","Debt":"Debt","Debt ceiling is exceeded":"Debt ceiling is exceeded","Debt ceiling is not zero":"Debt ceiling is not zero","Debt ceiling limits the amount possible to borrow against this asset by protocol users. Debt ceiling is specific to assets in isolation mode and is denoted in USD.":"Debt ceiling limits the amount possible to borrow against this asset by protocol users. Debt ceiling is specific to assets in isolation mode and is denoted in USD.","Delegated power":"Delegated power","Details":"Details","Developers":"Developers","Differential":"Differential","Disable E-Mode":"Disable E-Mode","Disable testnet":"Disable testnet","Disable {symbol} as collateral":["Disable ",["symbol"]," as collateral"],"Disabled":"Disabled","Disabling E-Mode":"Disabling E-Mode","Disabling this asset as collateral affects your borrowing power and Health Factor.":"Disabling this asset as collateral affects your borrowing power and Health Factor.","Disconnect Wallet":"Disconnect Wallet","Discord channel":"Discord channel","Discount":"Discount","Discount applied for <0/> staking AAVE":"Discount applied for <0/> staking AAVE","Discount model parameters":"Discount model parameters","Discount parameters are decided by the Aave community and may be changed over time. Check Governance for updates and vote to participate. <0>Learn more":"Discount parameters are decided by the Aave community and may be changed over time. Check Governance for updates and vote to participate. <0>Learn more","Discountable amount":"Discountable amount","Docs":"Docs","Download":"Download","Due to internal stETH mechanics required for rebasing support, it is not possible to perform a collateral switch where stETH is the source token.":"Due to internal stETH mechanics required for rebasing support, it is not possible to perform a collateral switch where stETH is the source token.","Due to the Horizon bridge exploit, certain assets on the Harmony network are not at parity with Ethereum, which affects the Aave V3 Harmony market.":"Due to the Horizon bridge exploit, certain assets on the Harmony network are not at parity with Ethereum, which affects the Aave V3 Harmony market.","E-Mode":"E-Mode","E-Mode Category":"E-Mode Category","E-Mode category":"E-Mode category","E-Mode increases your LTV for a selected category of assets up to 97%. <0>Learn more":"E-Mode increases your LTV for a selected category of assets up to 97%. <0>Learn more","E-Mode increases your LTV for a selected category of assets up to<0/>. <1>Learn more":"E-Mode increases your LTV for a selected category of assets up to<0/>. <1>Learn more","E-Mode increases your LTV for a selected category of assets, meaning that when E-mode is enabled, you will have higher borrowing power over assets of the same E-mode category which are defined by Aave Governance. You can enter E-Mode from your <0>Dashboard. To learn more about E-Mode and applied restrictions in <1>FAQ or <2>Aave V3 Technical Paper.":"E-Mode increases your LTV for a selected category of assets, meaning that when E-mode is enabled, you will have higher borrowing power over assets of the same E-mode category which are defined by Aave Governance. You can enter E-Mode from your <0>Dashboard. To learn more about E-Mode and applied restrictions in <1>FAQ or <2>Aave V3 Technical Paper.","Edit":"Edit","Effective interest rate":"Effective interest rate","Efficiency mode (E-Mode)":"Efficiency mode (E-Mode)","Emode":"Emode","Enable E-Mode":"Enable E-Mode","Enable {symbol} as collateral":["Enable ",["symbol"]," as collateral"],"Enabled":"Enabled","Enabling E-Mode":"Enabling E-Mode","Enabling E-Mode only allows you to borrow assets belonging to the selected category. Please visit our <0>FAQ guide to learn more about how it works and the applied restrictions.":"Enabling E-Mode only allows you to borrow assets belonging to the selected category. Please visit our <0>FAQ guide to learn more about how it works and the applied restrictions.","Enabling this asset as collateral increases your borrowing power and Health Factor. However, it can get liquidated if your health factor drops below 1.":"Enabling this asset as collateral increases your borrowing power and Health Factor. However, it can get liquidated if your health factor drops below 1.","English":"English","Enter ETH address":"Enter ETH address","Enter an amount":"Enter an amount","Error connecting. Try refreshing the page.":"Error connecting. Try refreshing the page.","Estimated compounding interest, including discount for Staking {0}AAVE in Safety Module.":["Estimated compounding interest, including discount for Staking ",["0"],"AAVE in Safety Module."],"Exceeds the discount":"Exceeds the discount","Expected amount to repay":"Expected amount to repay","Expires":"Expires","Export data to":"Export data to","FAQ":"FAQ","FAQS":"FAQS","Failed to load proposal voters. Please refresh the page.":"Failed to load proposal voters. Please refresh the page.","Faucet":"Faucet","Faucet {0}":["Faucet ",["0"]],"Fetching data...":"Fetching data...","Filter":"Filter","Fixed":"Fixed","Fixed rate":"Fixed rate","Flashloan is disabled for this asset, hence this position cannot be migrated.":"Flashloan is disabled for this asset, hence this position cannot be migrated.","For repayment of a specific type of debt, the user needs to have debt that type":"For repayment of a specific type of debt, the user needs to have debt that type","French":"French","Funds in the Safety Module":"Funds in the Safety Module","GHO is a native decentralized, collateral-backed digital asset pegged to USD. It is created by users via borrowing against multiple collateral. When user repays their GHO borrow position, the protocol burns that user's GHO. All the interest payments accrued by minters of GHO would be directly transferred to the AaveDAO treasury.":"GHO is a native decentralized, collateral-backed digital asset pegged to USD. It is created by users via borrowing against multiple collateral. When user repays their GHO borrow position, the protocol burns that user's GHO. All the interest payments accrued by minters of GHO would be directly transferred to the AaveDAO treasury.","Get ABP Token":"Get ABP Token","Global settings":"Global settings","Go Back":"Go Back","Go to Balancer Pool":"Go to Balancer Pool","Go to V3 Dashboard":"Go to V3 Dashboard","Governance":"Governance","Greek":"Greek","Health Factor ({0} v2)":["Health Factor (",["0"]," v2)"],"Health Factor ({0} v3)":["Health Factor (",["0"]," v3)"],"Health factor":"Health factor","Health factor is lesser than the liquidation threshold":"Health factor is lesser than the liquidation threshold","Health factor is not below the threshold":"Health factor is not below the threshold","Hide":"Hide","Holders of stkAAVE receive a discount on the GHO borrowing rate":"Holders of stkAAVE receive a discount on the GHO borrowing rate","I acknowledge the risks involved.":"I acknowledge the risks involved.","I fully understand the risks of migrating.":"I fully understand the risks of migrating.","I understand how cooldown ({0}) and unstaking ({1}) work":["I understand how cooldown (",["0"],") and unstaking (",["1"],") work"],"If the error continues to happen,<0/> you may report it to this":"If the error continues to happen,<0/> you may report it to this","If the health factor goes below 1, the liquidation of your collateral might be triggered.":"If the health factor goes below 1, the liquidation of your collateral might be triggered.","If you DO NOT unstake within {0} of unstake window, you will need to activate cooldown process again.":["If you DO NOT unstake within ",["0"]," of unstake window, you will need to activate cooldown process again."],"If your loan to value goes above the liquidation threshold your collateral supplied may be liquidated.":"If your loan to value goes above the liquidation threshold your collateral supplied may be liquidated.","In E-Mode some assets are not borrowable. Exit E-Mode to get access to all assets":"In E-Mode some assets are not borrowable. Exit E-Mode to get access to all assets","In Isolation mode, you cannot supply other assets as collateral. A global debt ceiling limits the borrowing power of the isolated asset. To exit isolation mode disable {0} as collateral before borrowing another asset. Read more in our <0>FAQ":["In Isolation mode, you cannot supply other assets as collateral. A global debt ceiling limits the borrowing power of the isolated asset. To exit isolation mode disable ",["0"]," as collateral before borrowing another asset. Read more in our <0>FAQ"],"Inconsistent flashloan parameters":"Inconsistent flashloan parameters","Insufficient collateral to cover new borrow position. Wallet must have borrowing power remaining to perform debt switch.":"Insufficient collateral to cover new borrow position. Wallet must have borrowing power remaining to perform debt switch.","Interest accrued":"Interest accrued","Interest rate rebalance conditions were not met":"Interest rate rebalance conditions were not met","Interest rate strategy":"Interest rate strategy","Interest rate that is determined by Aave Governance. This rate may be changed over time depending on the need for the GHO supply to contract/expand. <0>Learn more":"Interest rate that is determined by Aave Governance. This rate may be changed over time depending on the need for the GHO supply to contract/expand. <0>Learn more","Invalid amount to burn":"Invalid amount to burn","Invalid amount to mint":"Invalid amount to mint","Invalid bridge protocol fee":"Invalid bridge protocol fee","Invalid expiration":"Invalid expiration","Invalid flashloan premium":"Invalid flashloan premium","Invalid return value of the flashloan executor function":"Invalid return value of the flashloan executor function","Invalid signature":"Invalid signature","Isolated":"Isolated","Isolated Debt Ceiling":"Isolated Debt Ceiling","Isolated assets have limited borrowing power and other assets cannot be used as collateral.":"Isolated assets have limited borrowing power and other assets cannot be used as collateral.","Join the community discussion":"Join the community discussion","LEARN MORE":"LEARN MORE","Language":"Language","Learn more":"Learn more","Learn more about risks involved":"Learn more about risks involved","Learn more in our <0>FAQ guide":"Learn more in our <0>FAQ guide","Learn more.":"Learn more.","Linked addresses":"Linked addresses","Links":"Links","Liqudation":"Liqudation","Liquidated collateral":"Liquidated collateral","Liquidation":"Liquidation","Liquidation <0/> threshold":"Liquidation <0/> threshold","Liquidation Threshold":"Liquidation Threshold","Liquidation at":"Liquidation at","Liquidation penalty":"Liquidation penalty","Liquidation risk":"Liquidation risk","Liquidation risk parameters":"Liquidation risk parameters","Liquidation threshold":"Liquidation threshold","Liquidation value":"Liquidation value","Loading data...":"Loading data...","Ltv validation failed":"Ltv validation failed","MAI has been paused due to a community decision. Supply, borrows and repays are impacted. <0>More details":"MAI has been paused due to a community decision. Supply, borrows and repays are impacted. <0>More details","MAX":"MAX","Manage analytics":"Manage analytics","Market":"Market","Markets":"Markets","Max":"Max","Max LTV":"Max LTV","Max slashing":"Max slashing","Max slippage":"Max slippage","Maximum amount available to borrow against this asset is limited because debt ceiling is at {0}%.":["Maximum amount available to borrow against this asset is limited because debt ceiling is at ",["0"],"%."],"Maximum amount available to borrow is <0/> {0} (<1/>).":["Maximum amount available to borrow is <0/> ",["0"]," (<1/>)."],"Maximum amount available to borrow is limited because protocol borrow cap is nearly reached.":"Maximum amount available to borrow is limited because protocol borrow cap is nearly reached.","Maximum amount available to supply is <0/> {0} (<1/>).":["Maximum amount available to supply is <0/> ",["0"]," (<1/>)."],"Maximum amount available to supply is limited because protocol supply cap is at {0}%.":["Maximum amount available to supply is limited because protocol supply cap is at ",["0"],"%."],"Maximum loan to value":"Maximum loan to value","Meet GHO":"Meet GHO","Menu":"Menu","Migrate":"Migrate","Migrate to V3":"Migrate to V3","Migrate to v3":"Migrate to v3","Migrate to {0} v3 Market":["Migrate to ",["0"]," v3 Market"],"Migrated":"Migrated","Migrating":"Migrating","Migrating multiple collaterals and borrowed assets at the same time can be an expensive operation and might fail in certain situations.<0>Therefore it’s not recommended to migrate positions with more than 5 assets (deposited + borrowed) at the same time.":"Migrating multiple collaterals and borrowed assets at the same time can be an expensive operation and might fail in certain situations.<0>Therefore it’s not recommended to migrate positions with more than 5 assets (deposited + borrowed) at the same time.","Migration risks":"Migration risks","Minimum GHO borrow amount":"Minimum GHO borrow amount","Minimum USD value received":"Minimum USD value received","Minimum staked Aave amount":"Minimum staked Aave amount","Minimum {0} received":["Minimum ",["0"]," received"],"More":"More","NAY":"NAY","Need help connecting a wallet? <0>Read our FAQ":"Need help connecting a wallet? <0>Read our FAQ","Net APR":"Net APR","Net APY":"Net APY","Net APY is the combined effect of all supply and borrow positions on net worth, including incentives. It is possible to have a negative net APY if debt APY is higher than supply APY.":"Net APY is the combined effect of all supply and borrow positions on net worth, including incentives. It is possible to have a negative net APY if debt APY is higher than supply APY.","Net worth":"Net worth","Network":"Network","Network not supported for this wallet":"Network not supported for this wallet","New APY":"New APY","No assets selected to migrate.":"No assets selected to migrate.","No rewards to claim":"No rewards to claim","No search results{0}":["No search results",["0"]],"No transactions yet.":"No transactions yet.","No voting power":"No voting power","None":"None","Not a valid address":"Not a valid address","Not enough balance on your wallet":"Not enough balance on your wallet","Not enough collateral to repay this amount of debt with":"Not enough collateral to repay this amount of debt with","Not enough staked balance":"Not enough staked balance","Not enough voting power to participate in this proposal":"Not enough voting power to participate in this proposal","Not reached":"Not reached","Nothing borrowed yet":"Nothing borrowed yet","Nothing found":"Nothing found","Nothing staked":"Nothing staked","Nothing supplied yet":"Nothing supplied yet","Notify":"Notify","Ok, Close":"Ok, Close","Ok, I got it":"Ok, I got it","Open for voting":"Open for voting","Operation not supported":"Operation not supported","Oracle price":"Oracle price","Overview":"Overview","Page not found":"Page not found","Participating in this {symbol} reserve gives annualized rewards.":["Participating in this ",["symbol"]," reserve gives annualized rewards."],"Payloads executed":"Payloads executed","Pending...":"Pending...","Per the community, the Fantom market has been frozen.":"Per the community, the Fantom market has been frozen.","Per the community, the V2 AMM market has been deprecated.":"Per the community, the V2 AMM market has been deprecated.","Please always be aware of your <0>Health Factor (HF) when partially migrating a position and that your rates will be updated to V3 rates.":"Please always be aware of your <0>Health Factor (HF) when partially migrating a position and that your rates will be updated to V3 rates.","Please connect a wallet to view your personal information here.":"Please connect a wallet to view your personal information here.","Please connect your wallet to be able to switch your tokens.":"Please connect your wallet to be able to switch your tokens.","Please connect your wallet to get free testnet assets.":"Please connect your wallet to get free testnet assets.","Please connect your wallet to see migration tool.":"Please connect your wallet to see migration tool.","Please connect your wallet to see your supplies, borrowings, and open positions.":"Please connect your wallet to see your supplies, borrowings, and open positions.","Please connect your wallet to view transaction history.":"Please connect your wallet to view transaction history.","Please enter a valid wallet address.":"Please enter a valid wallet address.","Please switch to {networkName}.":["Please switch to ",["networkName"],"."],"Please, connect your wallet":"Please, connect your wallet","Pool addresses provider is not registered":"Pool addresses provider is not registered","Powered by":"Powered by","Preview tx and migrate":"Preview tx and migrate","Price":"Price","Price data is not currently available for this reserve on the protocol subgraph":"Price data is not currently available for this reserve on the protocol subgraph","Price impact":"Price impact","Price impact is the spread between the total value of the entry tokens switched and the destination tokens obtained (in USD), which results from the limited liquidity of the trading pair.":"Price impact is the spread between the total value of the entry tokens switched and the destination tokens obtained (in USD), which results from the limited liquidity of the trading pair.","Price impact {0}%":["Price impact ",["0"],"%"],"Privacy":"Privacy","Proposal details":"Proposal details","Proposal overview":"Proposal overview","Proposals":"Proposals","Proposition":"Proposition","Protocol borrow cap at 100% for this asset. Further borrowing unavailable.":"Protocol borrow cap at 100% for this asset. Further borrowing unavailable.","Protocol borrow cap is at 100% for this asset. Further borrowing unavailable.":"Protocol borrow cap is at 100% for this asset. Further borrowing unavailable.","Protocol debt ceiling is at 100% for this asset. Further borrowing against this asset is unavailable.":"Protocol debt ceiling is at 100% for this asset. Further borrowing against this asset is unavailable.","Protocol debt ceiling is at 100% for this asset. Futher borrowing against this asset is unavailable.":"Protocol debt ceiling is at 100% for this asset. Futher borrowing against this asset is unavailable.","Protocol supply cap at 100% for this asset. Further supply unavailable.":"Protocol supply cap at 100% for this asset. Further supply unavailable.","Protocol supply cap is at 100% for this asset. Further supply unavailable.":"Protocol supply cap is at 100% for this asset. Further supply unavailable.","Quorum":"Quorum","Rate change":"Rate change","Raw-Ipfs":"Raw-Ipfs","Reached":"Reached","Reactivate cooldown period to unstake {0} {stakedToken}":["Reactivate cooldown period to unstake ",["0"]," ",["stakedToken"]],"Read more here.":"Read more here.","Read-only mode allows to see address positions in Aave, but you won't be able to perform transactions.":"Read-only mode allows to see address positions in Aave, but you won't be able to perform transactions.","Read-only mode.":"Read-only mode.","Read-only mode. Connect to a wallet to perform transactions.":"Read-only mode. Connect to a wallet to perform transactions.","Receive (est.)":"Receive (est.)","Received":"Received","Recipient address":"Recipient address","Rejected connection request":"Rejected connection request","Reload":"Reload","Reload the page":"Reload the page","Remaining debt":"Remaining debt","Remaining supply":"Remaining supply","Remove":"Remove","Repaid":"Repaid","Repay":"Repay","Repay with":"Repay with","Repay {symbol}":["Repay ",["symbol"]],"Repaying {symbol}":["Repaying ",["symbol"]],"Repayment amount to reach {0}% utilization":["Repayment amount to reach ",["0"],"% utilization"],"Representative smart contract wallet (ie. Safe) addresses on other chains.":"Representative smart contract wallet (ie. Safe) addresses on other chains.","Representing smart contract wallet (ie. Safe) addresses on other chains.":"Representing smart contract wallet (ie. Safe) addresses on other chains.","Reserve Size":"Reserve Size","Reserve factor":"Reserve factor","Reserve factor is a percentage of interest which goes to a {0} that is controlled by Aave governance to promote ecosystem growth.":["Reserve factor is a percentage of interest which goes to a ",["0"]," that is controlled by Aave governance to promote ecosystem growth."],"Reserve status & configuration":"Reserve status & configuration","Reset":"Reset","Restake":"Restake","Restake {symbol}":["Restake ",["symbol"]],"Restaked":"Restaked","Restaking {symbol}":["Restaking ",["symbol"]],"Review approval tx details":"Review approval tx details","Review changes to continue":"Review changes to continue","Review tx":"Review tx","Review tx details":"Review tx details","Revoke power":"Revoke power","Reward(s) to claim":"Reward(s) to claim","Rewards APR":"Rewards APR","Risk details":"Risk details","SEE CHARTS":"SEE CHARTS","Safety of your deposited collateral against the borrowed assets and its underlying value.":"Safety of your deposited collateral against the borrowed assets and its underlying value.","Save and share":"Save and share","Seems like we can't switch the network automatically. Please check if you can change it from the wallet.":"Seems like we can't switch the network automatically. Please check if you can change it from the wallet.","Select":"Select","Select APY type to switch":"Select APY type to switch","Select an asset":"Select an asset","Select language":"Select language","Select slippage tolerance":"Select slippage tolerance","Select v2 borrows to migrate":"Select v2 borrows to migrate","Select v2 supplies to migrate":"Select v2 supplies to migrate","Selected assets have successfully migrated. Visit the Market Dashboard to see them.":"Selected assets have successfully migrated. Visit the Market Dashboard to see them.","Selected borrow assets":"Selected borrow assets","Selected supply assets":"Selected supply assets","Send feedback":"Send feedback","Set up delegation":"Set up delegation","Setup notifications about your Health Factor using the Hal app.":"Setup notifications about your Health Factor using the Hal app.","Share on Lens":"Share on Lens","Share on twitter":"Share on twitter","Show":"Show","Show Frozen or paused assets":"Show Frozen or paused assets","Show assets with 0 balance":"Show assets with 0 balance","Sign to continue":"Sign to continue","Signatures ready":"Signatures ready","Signing":"Signing","Since this asset is frozen, the only available actions are withdraw and repay which can be accessed from the <0>Dashboard":"Since this asset is frozen, the only available actions are withdraw and repay which can be accessed from the <0>Dashboard","Since this is a test network, you can get any of the assets if you have ETH on your wallet":"Since this is a test network, you can get any of the assets if you have ETH on your wallet","Slippage":"Slippage","Slippage is the difference between the quoted and received amounts from changing market conditions between the moment the transaction is submitted and its verification.":"Slippage is the difference between the quoted and received amounts from changing market conditions between the moment the transaction is submitted and its verification.","Some migrated assets will not be used as collateral due to enabled isolation mode in {marketName} V3 Market. Visit <0>{marketName} V3 Dashboard to manage isolation mode.":["Some migrated assets will not be used as collateral due to enabled isolation mode in ",["marketName"]," V3 Market. Visit <0>",["marketName"]," V3 Dashboard to manage isolation mode."],"Something went wrong":"Something went wrong","Sorry, an unexpected error happened. In the meantime you may try reloading the page, or come back later.":"Sorry, an unexpected error happened. In the meantime you may try reloading the page, or come back later.","Sorry, we couldn't find the page you were looking for.":"Sorry, we couldn't find the page you were looking for.","Spanish":"Spanish","Stable":"Stable","Stable Interest Type is disabled for this currency":"Stable Interest Type is disabled for this currency","Stable borrowing is enabled":"Stable borrowing is enabled","Stable borrowing is not enabled":"Stable borrowing is not enabled","Stable debt supply is not zero":"Stable debt supply is not zero","Stable interest rate will <0>stay the same for the duration of your loan. Recommended for long-term loan periods and for users who prefer predictability.":"Stable interest rate will <0>stay the same for the duration of your loan. Recommended for long-term loan periods and for users who prefer predictability.","Stablecoin":"Stablecoin","Stake":"Stake","Stake AAVE":"Stake AAVE","Stake ABPT":"Stake ABPT","Stake cooldown activated":"Stake cooldown activated","Staked":"Staked","Staking":"Staking","Staking APR":"Staking APR","Staking Rewards":"Staking Rewards","Staking balance":"Staking balance","Staking discount":"Staking discount","State":"State","Supplied":"Supplied","Supplied asset amount":"Supplied asset amount","Supply":"Supply","Supply APY":"Supply APY","Supply apy":"Supply apy","Supply balance":"Supply balance","Supply balance after switch":"Supply balance after switch","Supply cap is exceeded":"Supply cap is exceeded","Supply cap on target reserve reached. Try lowering the amount.":"Supply cap on target reserve reached. Try lowering the amount.","Supply {symbol}":["Supply ",["symbol"]],"Supplying your":"Supplying your","Supplying {symbol}":["Supplying ",["symbol"]],"Switch":"Switch","Switch APY type":"Switch APY type","Switch E-Mode":"Switch E-Mode","Switch E-Mode category":"Switch E-Mode category","Switch Network":"Switch Network","Switch borrow position":"Switch borrow position","Switch rate":"Switch rate","Switch to":"Switch to","Switched":"Switched","Switching":"Switching","Switching E-Mode":"Switching E-Mode","Switching rate":"Switching rate","Techpaper":"Techpaper","Terms":"Terms","Test Assets":"Test Assets","Testnet mode":"Testnet mode","Testnet mode is ON":"Testnet mode is ON","Thank you for voting!!":"Thank you for voting!!","The % of your total borrowing power used. This is based on the amount of your collateral supplied and the total amount that you can borrow.":"The % of your total borrowing power used. This is based on the amount of your collateral supplied and the total amount that you can borrow.","The Aave Balancer Pool Token (ABPT) is a liquidity pool token. You can receive ABPT by depositing a combination of AAVE + ETH in the Balancer liquidity pool. You can then stake your BPT in the Safety Module to secure the protocol and earn Safety Incentives.":"The Aave Balancer Pool Token (ABPT) is a liquidity pool token. You can receive ABPT by depositing a combination of AAVE + ETH in the Balancer liquidity pool. You can then stake your BPT in the Safety Module to secure the protocol and earn Safety Incentives.","The Aave Protocol is programmed to always use the price of 1 GHO = $1. This is different from using market pricing via oracles for other crypto assets. This creates stabilizing arbitrage opportunities when the price of GHO fluctuates.":"The Aave Protocol is programmed to always use the price of 1 GHO = $1. This is different from using market pricing via oracles for other crypto assets. This creates stabilizing arbitrage opportunities when the price of GHO fluctuates.","The Maximum LTV ratio represents the maximum borrowing power of a specific collateral. For example, if a collateral has an LTV of 75%, the user can borrow up to 0.75 worth of ETH in the principal currency for every 1 ETH worth of collateral.":"The Maximum LTV ratio represents the maximum borrowing power of a specific collateral. For example, if a collateral has an LTV of 75%, the user can borrow up to 0.75 worth of ETH in the principal currency for every 1 ETH worth of collateral.","The Stable Rate is not enabled for this currency":"The Stable Rate is not enabled for this currency","The address of the pool addresses provider is invalid":"The address of the pool addresses provider is invalid","The app is running in testnet mode. Learn how it works in":"The app is running in testnet mode. Learn how it works in","The caller of the function is not an AToken":"The caller of the function is not an AToken","The caller of this function must be a pool":"The caller of this function must be a pool","The collateral balance is 0":"The collateral balance is 0","The collateral chosen cannot be liquidated":"The collateral chosen cannot be liquidated","The cooldown period is the time required prior to unstaking your tokens (20 days). You can only withdraw your assets from the Security Module after the cooldown period and within the unstake window.<0>Learn more":"The cooldown period is the time required prior to unstaking your tokens (20 days). You can only withdraw your assets from the Security Module after the cooldown period and within the unstake window.<0>Learn more","The cooldown period is {0}. After {1} of cooldown, you will enter unstake window of {2}. You will continue receiving rewards during cooldown and unstake window.":["The cooldown period is ",["0"],". After ",["1"]," of cooldown, you will enter unstake window of ",["2"],". You will continue receiving rewards during cooldown and unstake window."],"The effects on the health factor would cause liquidation. Try lowering the amount.":"The effects on the health factor would cause liquidation. Try lowering the amount.","The loan to value of the migrated positions would cause liquidation. Increase migrated collateral or reduce migrated borrow to continue.":"The loan to value of the migrated positions would cause liquidation. Increase migrated collateral or reduce migrated borrow to continue.","The requested amount is greater than the max loan size in stable rate mode":"The requested amount is greater than the max loan size in stable rate mode","The total amount of your assets denominated in USD that can be used as collateral for borrowing assets.":"The total amount of your assets denominated in USD that can be used as collateral for borrowing assets.","The underlying asset cannot be rescued":"The underlying asset cannot be rescued","The underlying balance needs to be greater than 0":"The underlying balance needs to be greater than 0","The weighted average of APY for all borrowed assets, including incentives.":"The weighted average of APY for all borrowed assets, including incentives.","The weighted average of APY for all supplied assets, including incentives.":"The weighted average of APY for all supplied assets, including incentives.","There are not enough funds in the{0}reserve to borrow":["There are not enough funds in the",["0"],"reserve to borrow"],"There is not enough collateral to cover a new borrow":"There is not enough collateral to cover a new borrow","There is not enough liquidity for the target asset to perform the switch. Try lowering the amount.":"There is not enough liquidity for the target asset to perform the switch. Try lowering the amount.","There was some error. Please try changing the parameters or <0><1>copy the error":"There was some error. Please try changing the parameters or <0><1>copy the error","These assets are temporarily frozen or paused by Aave community decisions, meaning that further supply / borrow, or rate swap of these assets are unavailable. Withdrawals and debt repayments are allowed. Follow the <0>Aave governance forum for further updates.":"These assets are temporarily frozen or paused by Aave community decisions, meaning that further supply / borrow, or rate swap of these assets are unavailable. Withdrawals and debt repayments are allowed. Follow the <0>Aave governance forum for further updates.","These funds have been borrowed and are not available for withdrawal at this time.":"These funds have been borrowed and are not available for withdrawal at this time.","This action will reduce V2 health factor below liquidation threshold. retain collateral or migrate borrow position to continue.":"This action will reduce V2 health factor below liquidation threshold. retain collateral or migrate borrow position to continue.","This action will reduce health factor of V3 below liquidation threshold. Increase migrated collateral or reduce migrated borrow to continue.":"This action will reduce health factor of V3 below liquidation threshold. Increase migrated collateral or reduce migrated borrow to continue.","This action will reduce your health factor. Please be mindful of the increased risk of collateral liquidation.":"This action will reduce your health factor. Please be mindful of the increased risk of collateral liquidation.","This address is blocked on app.aave.com because it is associated with one or more":"This address is blocked on app.aave.com because it is associated with one or more","This asset has almost reached its borrow cap. There is only {messageValue} available to be borrowed from this market.":["This asset has almost reached its borrow cap. There is only ",["messageValue"]," available to be borrowed from this market."],"This asset has almost reached its supply cap. There can only be {messageValue} supplied to this market.":["This asset has almost reached its supply cap. There can only be ",["messageValue"]," supplied to this market."],"This asset has been paused due to a community decision. Supply, withdraw, borrows and repays are impacted.":"This asset has been paused due to a community decision. Supply, withdraw, borrows and repays are impacted.","This asset has reached its borrow cap. Nothing is available to be borrowed from this market.":"This asset has reached its borrow cap. Nothing is available to be borrowed from this market.","This asset has reached its supply cap. Nothing is available to be supplied from this market.":"This asset has reached its supply cap. Nothing is available to be supplied from this market.","This asset is frozen due to an Aave Protocol Governance decision. <0>More details":"This asset is frozen due to an Aave Protocol Governance decision. <0>More details","This asset is frozen due to an Aave Protocol Governance decision. On the 20th of December 2022, renFIL will no longer be supported and cannot be bridged back to its native network. It is recommended to withdraw supply positions and repay borrow positions so that renFIL can be bridged back to FIL before the deadline. After this date, it will no longer be possible to convert renFIL to FIL. <0>More details":"This asset is frozen due to an Aave Protocol Governance decision. On the 20th of December 2022, renFIL will no longer be supported and cannot be bridged back to its native network. It is recommended to withdraw supply positions and repay borrow positions so that renFIL can be bridged back to FIL before the deadline. After this date, it will no longer be possible to convert renFIL to FIL. <0>More details","This asset is frozen due to an Aave community decision. <0>More details":"This asset is frozen due to an Aave community decision. <0>More details","This asset is planned to be offboarded due to an Aave Protocol Governance decision. <0>More details":"This asset is planned to be offboarded due to an Aave Protocol Governance decision. <0>More details","This gas calculation is only an estimation. Your wallet will set the price of the transaction. You can modify the gas settings directly from your wallet provider.":"This gas calculation is only an estimation. Your wallet will set the price of the transaction. You can modify the gas settings directly from your wallet provider.","This integration was<0>proposed and approvedby the community.":"This integration was<0>proposed and approvedby the community.","This is the total amount available for you to borrow. You can borrow based on your collateral and until the borrow cap is reached.":"This is the total amount available for you to borrow. You can borrow based on your collateral and until the borrow cap is reached.","This is the total amount that you are able to supply to in this reserve. You are able to supply your wallet balance up until the supply cap is reached.":"This is the total amount that you are able to supply to in this reserve. You are able to supply your wallet balance up until the supply cap is reached.","This represents the threshold at which a borrow position will be considered undercollateralized and subject to liquidation for each collateral. For example, if a collateral has a liquidation threshold of 80%, it means that the position will be liquidated when the debt value is worth 80% of the collateral value.":"This represents the threshold at which a borrow position will be considered undercollateralized and subject to liquidation for each collateral. For example, if a collateral has a liquidation threshold of 80%, it means that the position will be liquidated when the debt value is worth 80% of the collateral value.","Time left to be able to withdraw your staked asset.":"Time left to be able to withdraw your staked asset.","Time left to unstake":"Time left to unstake","Time left until the withdrawal window closes.":"Time left until the withdrawal window closes.","Tip: Try increasing slippage or reduce input amount":"Tip: Try increasing slippage or reduce input amount","To borrow you need to supply any asset to be used as collateral.":"To borrow you need to supply any asset to be used as collateral.","To continue, you need to grant Aave smart contracts permission to move your funds from your wallet. Depending on the asset and wallet you use, it is done by signing the permission message (gas free), or by submitting an approval transaction (requires gas). <0>Learn more":"To continue, you need to grant Aave smart contracts permission to move your funds from your wallet. Depending on the asset and wallet you use, it is done by signing the permission message (gas free), or by submitting an approval transaction (requires gas). <0>Learn more","To enable E-mode for the {0} category, all borrow positions outside of this category must be closed.":["To enable E-mode for the ",["0"]," category, all borrow positions outside of this category must be closed."],"To repay on behalf of a user an explicit amount to repay is needed":"To repay on behalf of a user an explicit amount to repay is needed","To request access for this permissioned market, please visit: <0>Acces Provider Name":"To request access for this permissioned market, please visit: <0>Acces Provider Name","To submit a proposal for minor changes to the protocol, you'll need at least 80.00K power. If you want to change the core code base, you'll need 320k power.<0>Learn more.":"To submit a proposal for minor changes to the protocol, you'll need at least 80.00K power. If you want to change the core code base, you'll need 320k power.<0>Learn more.","Top 10 addresses":"Top 10 addresses","Total available":"Total available","Total borrowed":"Total borrowed","Total borrows":"Total borrows","Total emission per day":"Total emission per day","Total interest accrued":"Total interest accrued","Total market size":"Total market size","Total supplied":"Total supplied","Total worth":"Total worth","Track wallet":"Track wallet","Track wallet balance in read-only mode":"Track wallet balance in read-only mode","Transaction failed":"Transaction failed","Transaction history":"Transaction history","Transaction history is not currently available for this market":"Transaction history is not currently available for this market","Transaction overview":"Transaction overview","Transactions":"Transactions","UNSTAKE {symbol}":["UNSTAKE ",["symbol"]],"Unavailable":"Unavailable","Unbacked":"Unbacked","Unbacked mint cap is exceeded":"Unbacked mint cap is exceeded","Underlying asset does not exist in {marketName} v3 Market, hence this position cannot be migrated.":["Underlying asset does not exist in ",["marketName"]," v3 Market, hence this position cannot be migrated."],"Underlying token":"Underlying token","Unstake now":"Unstake now","Unstake window":"Unstake window","Unstaked":"Unstaked","Unstaking {symbol}":["Unstaking ",["symbol"]],"Update: Disruptions reported for WETH, WBTC, WMATIC, and USDT. AIP 230 will resolve the disruptions and the market will be operating as normal on ~26th May 13h00 UTC.":"Update: Disruptions reported for WETH, WBTC, WMATIC, and USDT. AIP 230 will resolve the disruptions and the market will be operating as normal on ~26th May 13h00 UTC.","Use it to vote for or against active proposals.":"Use it to vote for or against active proposals.","Use your AAVE, stkAAVE, or aAave balance to delegate your voting and proposition powers. You will not be sending any tokens, only the rights to vote and propose changes to the protocol. You can re-delegate or revoke power to self at any time.":"Use your AAVE, stkAAVE, or aAave balance to delegate your voting and proposition powers. You will not be sending any tokens, only the rights to vote and propose changes to the protocol. You can re-delegate or revoke power to self at any time.","Used as collateral":"Used as collateral","User cannot withdraw more than the available balance":"User cannot withdraw more than the available balance","User did not borrow the specified currency":"User did not borrow the specified currency","User does not have outstanding stable rate debt on this reserve":"User does not have outstanding stable rate debt on this reserve","User does not have outstanding variable rate debt on this reserve":"User does not have outstanding variable rate debt on this reserve","User is in isolation mode":"User is in isolation mode","User is trying to borrow multiple assets including a siloed one":"User is trying to borrow multiple assets including a siloed one","Users who stake AAVE in Safety Module (i.e. stkAAVE holders) receive a discount on GHO borrow interest rate. The discount applies to 100 GHO for every 1 stkAAVE held. Use the calculator below to see GHO borrow rate with the discount applied.":"Users who stake AAVE in Safety Module (i.e. stkAAVE holders) receive a discount on GHO borrow interest rate. The discount applies to 100 GHO for every 1 stkAAVE held. Use the calculator below to see GHO borrow rate with the discount applied.","Utilization Rate":"Utilization Rate","VIEW TX":"VIEW TX","VOTE NAY":"VOTE NAY","VOTE YAE":"VOTE YAE","Variable":"Variable","Variable debt supply is not zero":"Variable debt supply is not zero","Variable interest rate will <0>fluctuate based on the market conditions. Recommended for short-term positions.":"Variable interest rate will <0>fluctuate based on the market conditions. Recommended for short-term positions.","Variable rate":"Variable rate","Version 2":"Version 2","Version 3":"Version 3","View":"View","View Transactions":"View Transactions","View all votes":"View all votes","View contract":"View contract","View details":"View details","View on Explorer":"View on Explorer","Vote NAY":"Vote NAY","Vote YAE":"Vote YAE","Voted NAY":"Voted NAY","Voted YAE":"Voted YAE","Votes":"Votes","Voting":"Voting","Voting closed":"Voting closed","Voting power":"Voting power","Voting results":"Voting results","Wallet Balance":"Wallet Balance","Wallet balance":"Wallet balance","Wallet not detected. Connect or install wallet and retry":"Wallet not detected. Connect or install wallet and retry","Wallets are provided by External Providers and by selecting you agree to Terms of those Providers. Your access to the wallet might be reliant on the External Provider being operational.":"Wallets are provided by External Providers and by selecting you agree to Terms of those Providers. Your access to the wallet might be reliant on the External Provider being operational.","We couldn't find any assets related to your search. Try again with a different asset name, symbol, or address.":"We couldn't find any assets related to your search. Try again with a different asset name, symbol, or address.","We couldn't find any transactions related to your search. Try again with a different asset name, or reset filters.":"We couldn't find any transactions related to your search. Try again with a different asset name, or reset filters.","We couldn’t detect a wallet. Connect a wallet to stake and view your balance.":"We couldn’t detect a wallet. Connect a wallet to stake and view your balance.","We suggest you go back to the Dashboard.":"We suggest you go back to the Dashboard.","Website":"Website","When a liquidation occurs, liquidators repay up to 50% of the outstanding borrowed amount on behalf of the borrower. In return, they can buy the collateral at a discount and keep the difference (liquidation penalty) as a bonus.":"When a liquidation occurs, liquidators repay up to 50% of the outstanding borrowed amount on behalf of the borrower. In return, they can buy the collateral at a discount and keep the difference (liquidation penalty) as a bonus.","With a voting power of <0/>":"With a voting power of <0/>","With testnet Faucet you can get free assets to test the Aave Protocol. Make sure to switch your wallet provider to the appropriate testnet network, select desired asset, and click ‘Faucet’ to get tokens transferred to your wallet. The assets on a testnet are not “real,” meaning they have no monetary value. <0>Learn more":"With testnet Faucet you can get free assets to test the Aave Protocol. Make sure to switch your wallet provider to the appropriate testnet network, select desired asset, and click ‘Faucet’ to get tokens transferred to your wallet. The assets on a testnet are not “real,” meaning they have no monetary value. <0>Learn more","Withdraw":"Withdraw","Withdraw & Switch":"Withdraw & Switch","Withdraw and Switch":"Withdraw and Switch","Withdraw {symbol}":["Withdraw ",["symbol"]],"Withdrawing and Switching":"Withdrawing and Switching","Withdrawing this amount will reduce your health factor and increase risk of liquidation.":"Withdrawing this amount will reduce your health factor and increase risk of liquidation.","Withdrawing {symbol}":["Withdrawing ",["symbol"]],"Wrong Network":"Wrong Network","YAE":"YAE","You are entering Isolation mode":"You are entering Isolation mode","You can borrow this asset with a stable rate only if you borrow more than the amount you are supplying as collateral.":"You can borrow this asset with a stable rate only if you borrow more than the amount you are supplying as collateral.","You can not change Interest Type to stable as your borrowings are higher than your collateral":"You can not change Interest Type to stable as your borrowings are higher than your collateral","You can not disable E-Mode as your current collateralization level is above 80%, disabling E-Mode can cause liquidation. To exit E-Mode supply or repay borrowed positions.":"You can not disable E-Mode as your current collateralization level is above 80%, disabling E-Mode can cause liquidation. To exit E-Mode supply or repay borrowed positions.","You can not switch usage as collateral mode for this currency, because it will cause collateral call":"You can not switch usage as collateral mode for this currency, because it will cause collateral call","You can not use this currency as collateral":"You can not use this currency as collateral","You can not withdraw this amount because it will cause collateral call":"You can not withdraw this amount because it will cause collateral call","You can only switch to tokens with variable APY types. After this transaction, you may change the variable rate to a stable one if available.":"You can only switch to tokens with variable APY types. After this transaction, you may change the variable rate to a stable one if available.","You can only withdraw your assets from the Security Module after the cooldown period ends and the unstake window is active.":"You can only withdraw your assets from the Security Module after the cooldown period ends and the unstake window is active.","You can report incident to our <0>Discord or<1>Github.":"You can report incident to our <0>Discord or<1>Github.","You cancelled the transaction.":"You cancelled the transaction.","You did not participate in this proposal":"You did not participate in this proposal","You do not have supplies in this currency":"You do not have supplies in this currency","You don’t have enough funds in your wallet to repay the full amount. If you proceed to repay with your current amount of funds, you will still have a small borrowing position in your dashboard.":"You don’t have enough funds in your wallet to repay the full amount. If you proceed to repay with your current amount of funds, you will still have a small borrowing position in your dashboard.","You have no AAVE/stkAAVE/aAave balance to delegate.":"You have no AAVE/stkAAVE/aAave balance to delegate.","You have not borrow yet using this currency":"You have not borrow yet using this currency","You may borrow up to <0/> GHO at <1/> (max discount)":"You may borrow up to <0/> GHO at <1/> (max discount)","You may enter a custom amount in the field.":"You may enter a custom amount in the field.","You switched to {0} rate":["You switched to ",["0"]," rate"],"You unstake here":"You unstake here","You voted {0}":["You voted ",["0"]],"You will exit isolation mode and other tokens can now be used as collateral":"You will exit isolation mode and other tokens can now be used as collateral","You {action} <0/> {symbol}":["You ",["action"]," <0/> ",["symbol"]],"You've successfully switched borrow position.":"You've successfully switched borrow position.","You've successfully switched tokens.":"You've successfully switched tokens.","You've successfully withdrew & switched tokens.":"You've successfully withdrew & switched tokens.","Your balance is lower than the selected amount.":"Your balance is lower than the selected amount.","Your borrows":"Your borrows","Your current loan to value based on your collateral supplied.":"Your current loan to value based on your collateral supplied.","Your health factor and loan to value determine the assurance of your collateral. To avoid liquidations you can supply more collateral or repay borrow positions.":"Your health factor and loan to value determine the assurance of your collateral. To avoid liquidations you can supply more collateral or repay borrow positions.","Your info":"Your info","Your proposition power is based on your AAVE/stkAAVE balance and received delegations.":"Your proposition power is based on your AAVE/stkAAVE balance and received delegations.","Your reward balance is 0":"Your reward balance is 0","Your supplies":"Your supplies","Your voting info":"Your voting info","Your voting power is based on your AAVE/stkAAVE balance and received delegations.":"Your voting power is based on your AAVE/stkAAVE balance and received delegations.","Your {name} wallet is empty. Purchase or transfer assets or use <0>{0} to transfer your {network} assets.":["Your ",["name"]," wallet is empty. Purchase or transfer assets or use <0>",["0"]," to transfer your ",["network"]," assets."],"Your {name} wallet is empty. Purchase or transfer assets.":["Your ",["name"]," wallet is empty. Purchase or transfer assets."],"Your {networkName} wallet is empty. Get free test assets at":["Your ",["networkName"]," wallet is empty. Get free test assets at"],"Your {networkName} wallet is empty. Get free test {0} at":["Your ",["networkName"]," wallet is empty. Get free test ",["0"]," at"],"Zero address not valid":"Zero address not valid","assets":"assets","blocked activities":"blocked activities","copy the error":"copy the error","disabled":"disabled","documentation":"documentation","enabled":"enabled","ends":"ends","for":"for","of":"of","on":"on","please check that the amount you want to supply is not currently being used for staking. If it is being used for staking, your transaction might fail.":"please check that the amount you want to supply is not currently being used for staking. If it is being used for staking, your transaction might fail.","repaid":"repaid","stETH supplied as collateral will continue to accrue staking rewards provided by daily rebases.":"stETH supplied as collateral will continue to accrue staking rewards provided by daily rebases.","stETH tokens will be migrated to Wrapped stETH using Lido Protocol wrapper which leads to supply balance change after migration: {0}":["stETH tokens will be migrated to Wrapped stETH using Lido Protocol wrapper which leads to supply balance change after migration: ",["0"]],"staking view":"staking view","starts":"starts","stkAAVE holders get a discount on GHO borrow rate":"stkAAVE holders get a discount on GHO borrow rate","to":"to","tokens is not the same as staking them. If you wish to stake your":"tokens is not the same as staking them. If you wish to stake your","tokens, please go to the":"tokens, please go to the","withdrew":"withdrew","{0}":[["0"]],"{0} Balance":[["0"]," Balance"],"{0} Faucet":[["0"]," Faucet"],"{0} on-ramp service is provided by External Provider and by selecting you agree to Terms of the Provider. Your access to the service might be reliant on the External Provider being operational.":[["0"]," on-ramp service is provided by External Provider and by selecting you agree to Terms of the Provider. Your access to the service might be reliant on the External Provider being operational."],"{0}{name}":[["0"],["name"]],"{currentMethod}":[["currentMethod"]],"{d}d":[["d"],"d"],"{h}h":[["h"],"h"],"{m}m":[["m"],"m"],"{networkName} Faucet":[["networkName"]," Faucet"],"{notifyText}":[["notifyText"]],"{numSelected}/{numAvailable} assets selected":[["numSelected"],"/",["numAvailable"]," assets selected"],"{s}s":[["s"],"s"],"{title}":[["title"]],"{tooltipText}":[["tooltipText"]]}}; \ No newline at end of file diff --git a/src/locales/en/messages.po b/src/locales/en/messages.po index e26761486b..3f2da98114 100644 --- a/src/locales/en/messages.po +++ b/src/locales/en/messages.po @@ -770,6 +770,10 @@ msgstr "Copy error text" msgid "Covered debt" msgstr "Covered debt" +#: src/modules/governance/proposal/ProposalLifecycle.tsx +msgid "Created" +msgstr "Created" + #: src/modules/dashboard/LiquidationRiskParametresModal/LiquidationRiskParametresModal.tsx msgid "Current LTV" msgstr "Current LTV" @@ -1600,6 +1604,10 @@ msgstr "Ok, Close" msgid "Ok, I got it" msgstr "Ok, I got it" +#: src/modules/governance/proposal/ProposalLifecycle.tsx +msgid "Open for voting" +msgstr "Open for voting" + #: src/ui-config/errorMapping.tsx msgid "Operation not supported" msgstr "Operation not supported" @@ -1620,6 +1628,10 @@ msgstr "Page not found" msgid "Participating in this {symbol} reserve gives annualized rewards." msgstr "Participating in this {symbol} reserve gives annualized rewards." +#: src/modules/governance/proposal/ProposalLifecycle.tsx +msgid "Payloads executed" +msgstr "Payloads executed" + #: src/components/transactions/CollateralChange/CollateralChangeActions.tsx #: src/components/transactions/Faucet/FaucetActions.tsx msgid "Pending..." @@ -1713,6 +1725,7 @@ msgid "Privacy" msgstr "Privacy" #: src/modules/governance/proposal/ProposalDetails.tsx +#: src/modules/governance/proposal/ProposalLifecycle.tsx msgid "Proposal details" msgstr "Proposal details" @@ -2806,6 +2819,10 @@ msgstr "Votes" msgid "Voting" msgstr "Voting" +#: src/modules/governance/proposal/ProposalLifecycle.tsx +msgid "Voting closed" +msgstr "Voting closed" + #: src/components/transactions/GovVote/GovVoteModalContent.tsx #: src/modules/governance/proposal/VoteInfo.tsx msgid "Voting power" diff --git a/src/modules/governance/proposal/ProposalLifecycle.tsx b/src/modules/governance/proposal/ProposalLifecycle.tsx new file mode 100644 index 0000000000..d964f70dd2 --- /dev/null +++ b/src/modules/governance/proposal/ProposalLifecycle.tsx @@ -0,0 +1,227 @@ +import { + Payload, + PayloadState, + ProposalV3State, + VotingConfig, + VotingMachineProposalState, +} from '@aave/contract-helpers'; +import { Trans } from '@lingui/macro'; +import { + Timeline, + TimelineConnector, + TimelineContent, + TimelineDot, + TimelineItem, + timelineItemClasses, + TimelineSeparator, +} from '@mui/lab'; +import { Paper, Typography, useTheme } from '@mui/material'; +import dayjs from 'dayjs'; +import { ReactNode } from 'react'; +import { EnhancedProposal } from 'src/hooks/governance/useProposal'; + +enum ProposalLifecycleStep { + Created, + OpenForVoting, + VotingClosed, + PayloadsExecuted, + Cancelled, + Expired, +} + +export const ProposalLifecycle = ({ + proposal, + payloads, + votingConfig, +}: { + proposal: EnhancedProposal | undefined; + payloads: Payload[] | undefined; + votingConfig: VotingConfig | undefined; +}) => { + if (payloads === undefined || proposal === undefined || votingConfig === undefined) { + return <>; // TODO: skeleton + } + + const proposalState = getLifecycleState(proposal, payloads); + + return ( + + + Proposal details + + + = ProposalLifecycleStep.Created ? StepState.Completed : StepState.Active + } + stepName={Created} + timestamp={formatTime(proposal.proposalData.proposalData.creationTime)} + /> + ProposalLifecycleStep.OpenForVoting + ? StepState.Completed + : StepState.Active + } + stepName={Open for voting} + timestamp={formatTime(getOpenForVotingTimestamp(proposalState, proposal, votingConfig))} + /> + ProposalLifecycleStep.VotingClosed + ? StepState.Completed + : StepState.Active + } + stepName={Voting closed} + timestamp={formatTime(getVotingClosedTimestamp(proposalState, proposal, votingConfig))} + /> + Payloads executed} + timestamp={formatTime( + getPayloadsExecutedTimestamp(proposalState, proposal, votingConfig, payloads) + )} + lastStep + /> + + + ); +}; + +const getLifecycleState = (proposal: EnhancedProposal, payloads: Payload[]) => { + if (proposal.proposalData.proposalData.state === ProposalV3State.Created) { + console.log('created'); + return ProposalLifecycleStep.Created; + } + + if (proposal.proposalData.proposalData.state === ProposalV3State.Active) { + console.log('open for voting'); + return ProposalLifecycleStep.OpenForVoting; + } + + if (proposal.votingMachineData.state === VotingMachineProposalState.Finished) { + console.log('voting closed'); + return ProposalLifecycleStep.VotingClosed; + } + + const payloadsExecuted = payloads.every((payload) => payload.state === PayloadState.Executed); + if (payloadsExecuted) { + console.log('payloads executed'); + return ProposalLifecycleStep.PayloadsExecuted; + } + + if (proposal.proposalData.proposalData.state === ProposalV3State.Cancelled) { + console.log('cancelled'); + return ProposalLifecycleStep.Cancelled; + } + + if (proposal.proposalData.proposalData.state === ProposalV3State.Expired) { + console.log('expired'); + return ProposalLifecycleStep.Expired; + } + + console.log('default - created'); + return ProposalLifecycleStep.Created; // TODO +}; + +const getOpenForVotingTimestamp = ( + currentState: ProposalLifecycleStep, + proposal: EnhancedProposal, + votingConfig: VotingConfig +) => { + const votingMachineStartTime = proposal.votingMachineData.proposalData.startTime; + if (currentState === ProposalLifecycleStep.Created || votingMachineStartTime === 0) { + const creationTime = proposal.proposalData.proposalData.creationTime; + const votingStartDelay = votingConfig.config.coolDownBeforeVotingStart; + return creationTime + Number(votingStartDelay); + } + + return proposal.votingMachineData.proposalData.startTime; +}; + +const getVotingClosedTimestamp = ( + currentState: ProposalLifecycleStep, + proposal: EnhancedProposal, + votingConfig: VotingConfig +) => { + const votingMachineEndTime = proposal.votingMachineData.proposalData.endTime; + if (currentState === ProposalLifecycleStep.Created || votingMachineEndTime === 0) { + const votingDuration = votingConfig.config.votingDuration; + return getOpenForVotingTimestamp(currentState, proposal, votingConfig) + Number(votingDuration); + } + + return proposal.votingMachineData.proposalData.endTime; +}; + +const getPayloadsExecutedTimestamp = ( + currentState: ProposalLifecycleStep, + proposal: EnhancedProposal, + votingConfig: VotingConfig, + payloads: Payload[] +) => { + const executedAt = payloads.map((p) => p.executedAt).sort((a, b) => b - a)[0]; + if (currentState === ProposalLifecycleStep.Created || executedAt === 0) { + const executionDelay = payloads[0].delay; + return getVotingClosedTimestamp(currentState, proposal, votingConfig) + Number(executionDelay); + } + + return executedAt; +}; + +const formatTime = (timestamp: number) => { + return dayjs.unix(timestamp).format('MMM D, YYYY h:mm A'); +}; + +enum StepState { + Completed, + Active, +} + +const ProposalStep = ({ + stepName, + timestamp, + state, + lastStep, +}: { + stepName: ReactNode; + timestamp: string; + state: StepState; + lastStep?: boolean; +}) => { + const theme = useTheme(); + const dotColor = + state === StepState.Completed ? theme.palette.primary.main : theme.palette.text.disabled; + const connectorColor = + state === StepState.Completed ? theme.palette.primary.main : theme.palette.text.disabled; + return ( + + + + {!lastStep && } + + + + {stepName} + + + {timestamp} + + + + ); +}; diff --git a/src/modules/governance/utils/formatProposal.ts b/src/modules/governance/utils/formatProposal.ts index c183eb741b..1e56c3a90b 100644 --- a/src/modules/governance/utils/formatProposal.ts +++ b/src/modules/governance/utils/formatProposal.ts @@ -159,6 +159,8 @@ export const formatProposalV3 = ( : 0; const againstVotes = normalizeBN(votingMachineData.proposalData.againstVotes, 18).toNumber(); + // getProposalState(proposalData.proposalData, votingMachineData); + return { id: proposalData.id, title: proposal.title, @@ -174,3 +176,34 @@ export const formatProposalV3 = ( votingChainId: proposalData.votingChainId, }; }; + +export enum ProposalUIState { + PROPOSAL_CREATED, + VOTING_STARTED, + VOTING_FINISHED, + PAYLOADS_EXECUTED, +} + +// const getProposalState = (proposal: ProposalV3, votingMachineData: VotingMachineProposal) => { +// if (proposal.state === ProposalV3State.Created) { +// // voting start on ... +// } +// if (proposal.state === ProposalV3State.Active) { +// // voting ends on ... +// } +// if (proposal.state === ProposalV3State.Queued) { +// // can be executed on ... +// } +// if (proposal.state === ProposalV3State.Executed) { +// // executed on ... +// } +// if (proposal.state === ProposalV3State.Cancelled) { +// // canceled on ... +// } +// if (proposal.state === ProposalV3State.Failed) { +// // failed on ... +// } +// if (proposal.state === ProposalV3State.Expired) { +// // expired on ... +// } +// }; diff --git a/src/services/GovernanceV3Service.ts b/src/services/GovernanceV3Service.ts index 59e2a0b6bd..89bea6ca7b 100644 --- a/src/services/GovernanceV3Service.ts +++ b/src/services/GovernanceV3Service.ts @@ -5,15 +5,16 @@ import { GovernanceCoreService, GovernanceDataHelperService, GovernancePowerType, + PayloadsDataHelperService, } from '@aave/contract-helpers'; import { BigNumber } from 'ethers'; import { formatUnits } from 'ethers/lib/utils'; -import { governanceV3Config, votingChainIds } from 'src/ui-config/governanceConfig'; +import { governanceV3Config, VotingChain, votingChainIds } from 'src/ui-config/governanceConfig'; import { getProvider } from 'src/utils/marketsAndNetworksConfig'; export class GovernanceV3Service { private getDataHelperService() { - const provider = getProvider(ChainId.sepolia); // TODO: pass in market data + const provider = getProvider(governanceV3Config.coreChainId); return new GovernanceDataHelperService( governanceV3Config.addresses.GOVERNANCE_DATA_HELPER, provider @@ -21,10 +22,18 @@ export class GovernanceV3Service { } private getCoreService() { - const provider = getProvider(ChainId.sepolia); // TODO: pass in market data + const provider = getProvider(governanceV3Config.coreChainId); return new GovernanceCoreService(governanceV3Config.addresses.GOVERNANCE_CORE, provider); } + private getPayloadDataHelperService(chainId: VotingChain) { + const provider = getProvider(governanceV3Config.coreChainId); + return new PayloadsDataHelperService( + governanceV3Config.payloadsControllerDataHelpers[chainId], + provider + ); + } + async getProposalsData(from = 0, to = 0, limit = 10) { const dataHelperService = this.getDataHelperService(); const proposals = await dataHelperService.getProposalsData( @@ -87,4 +96,13 @@ export class GovernanceV3Service { const totalPower = result.reduce((acum, elem) => acum.add(elem), BigNumber.from(0)); return formatUnits(totalPower, 18); } + + async getPayloadsData(payloadsControllerAddress: string, payloadIds: number[], chainId: ChainId) { + const dataHelperService = this.getPayloadDataHelperService(chainId as VotingChain); + const payloadsData = await dataHelperService.getPayloadsData( + payloadsControllerAddress, + payloadIds + ); + return payloadsData; + } } diff --git a/src/ui-config/governanceConfig.ts b/src/ui-config/governanceConfig.ts index adf214f9e1..535b0e576d 100644 --- a/src/ui-config/governanceConfig.ts +++ b/src/ui-config/governanceConfig.ts @@ -60,6 +60,7 @@ export interface GovernanceV3Config { votingMachineSubgraphUrl: string; governanceCoreSubgraphUrl: string; votingChainConfig: { [key in VotingChain]: VotingMachineConfig }; + payloadsControllerDataHelpers: { [key in VotingChain]: string }; addresses: { GOVERNANCE_CORE: string; GOVERNANCE_DATA_HELPER: string; @@ -91,6 +92,10 @@ export const governanceV3Config: GovernanceV3Config = { [ChainId.sepolia]: sepoliaVotingMachineConfig, [ChainId.fuji]: fujiVotingMachineConfig, }, + payloadsControllerDataHelpers: { + [ChainId.sepolia]: '0x6B9AF21B95FE20b5a878b43670c23124841ec31A', + [ChainId.fuji]: '0x6B9AF21B95FE20b5a878b43670c23124841ec31A', + }, votingAssets: [ // TODO: could query the contracts for list of voting assets '0xdaEcee477B931b209e8123401EA37582ACB3811d', diff --git a/yarn.lock b/yarn.lock index 44ad1f0390..c341d4a572 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,10 +2,10 @@ # yarn lockfile v1 -"@aave/contract-helpers@1.21.2-69530bfb4329c0af9a5f9f3663950c956a53230f.0": - version "1.21.2-69530bfb4329c0af9a5f9f3663950c956a53230f.0" - resolved "https://registry.yarnpkg.com/@aave/contract-helpers/-/contract-helpers-1.21.2-69530bfb4329c0af9a5f9f3663950c956a53230f.0.tgz#34f6dd5ed13e5c6f7e85e7470371f86b386157ee" - integrity sha512-EMK/Wz+3UZ+RumAih+H0TzD+JlylIAAyyi7MF/lhO9Oi+1Ft3lGb8SvpD9KL2XSdegBtT3pd0APExToR/tj9mw== +"@aave/contract-helpers@1.21.2-0513918ea5a08b3fbd67072f4e7b66a87acd716b.0": + version "1.21.2-0513918ea5a08b3fbd67072f4e7b66a87acd716b.0" + resolved "https://registry.yarnpkg.com/@aave/contract-helpers/-/contract-helpers-1.21.2-0513918ea5a08b3fbd67072f4e7b66a87acd716b.0.tgz#01428ca6e2e0b41e1e7e1c1b3c368c5473e1f537" + integrity sha512-XVox4j3X8ZDxVpgMnShmMjDCcf9lCnyMJvKO2nO3qvG1djtWGvVe4bgbU4G9y0WRly9iC7wlHTkPgucmGNr/9g== dependencies: isomorphic-unfetch "^3.1.0" @@ -1223,6 +1223,13 @@ dependencies: regenerator-runtime "^0.13.10" +"@babel/runtime@^7.23.5": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.6.tgz#c05e610dc228855dc92ef1b53d07389ed8ab521d" + integrity sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ== + dependencies: + regenerator-runtime "^0.14.0" + "@babel/template@^7.16.7": version "7.16.7" resolved "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz" @@ -1587,6 +1594,17 @@ "@emotion/weak-memoize" "^0.3.0" stylis "4.0.13" +"@emotion/cache@^11.11.0": + version "11.11.0" + resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.11.0.tgz#809b33ee6b1cb1a625fef7a45bc568ccd9b8f3ff" + integrity sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ== + dependencies: + "@emotion/memoize" "^0.8.1" + "@emotion/sheet" "^1.2.2" + "@emotion/utils" "^1.2.1" + "@emotion/weak-memoize" "^0.3.1" + stylis "4.2.0" + "@emotion/hash@^0.9.0": version "0.9.0" resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.0.tgz#c5153d50401ee3c027a57a177bc269b16d889cb7" @@ -1604,6 +1622,11 @@ resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.0.tgz#f580f9beb67176fa57aae70b08ed510e1b18980f" integrity sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA== +"@emotion/memoize@^0.8.1": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.1.tgz#c1ddb040429c6d21d38cc945fe75c818cfb68e17" + integrity sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA== + "@emotion/react@11.10.4": version "11.10.4" resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.10.4.tgz#9dc6bccbda5d70ff68fdb204746c0e8b13a79199" @@ -1644,6 +1667,11 @@ resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.2.0.tgz#771b1987855839e214fc1741bde43089397f7be5" integrity sha512-OiTkRgpxescko+M51tZsMq7Puu/KP55wMT8BgpcXVG2hqXc0Vo0mfymJ/Uj24Hp0i083ji/o0aLddh08UEjq8w== +"@emotion/sheet@^1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.2.2.tgz#d58e788ee27267a14342303e1abb3d508b6d0fec" + integrity sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA== + "@emotion/styled@11.10.4": version "11.10.4" resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-11.10.4.tgz#e93f84a4d54003c2acbde178c3f97b421fce1cd4" @@ -1676,11 +1704,21 @@ resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.2.0.tgz#9716eaccbc6b5ded2ea5a90d65562609aab0f561" integrity sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw== +"@emotion/utils@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.2.1.tgz#bbab58465738d31ae4cb3dbb6fc00a5991f755e4" + integrity sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg== + "@emotion/weak-memoize@^0.3.0": version "0.3.0" resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz#ea89004119dc42db2e1dba0f97d553f7372f6fcb" integrity sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg== +"@emotion/weak-memoize@^0.3.1": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz#d0fce5d07b0620caa282b5131c297bb60f9d87e6" + integrity sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww== + "@eslint/eslintrc@^1.3.3": version "1.3.3" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.3.tgz#2b044ab39fdfa75b4688184f9e573ce3c5b0ff95" @@ -2620,6 +2658,20 @@ prop-types "^15.8.1" react-is "^18.2.0" +"@mui/base@5.0.0-alpha.99": + version "5.0.0-alpha.99" + resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-alpha.99.tgz#52589c72b6bf69e016e5811292529d60f81537ad" + integrity sha512-D04H6O1c0Jv561yI0SVbpa8MpqpW3G43CwJxV2o6ALfI0DMJ45w07dGafmDchb6aCWTRTdggd3rjgmuzyNwPiQ== + dependencies: + "@babel/runtime" "^7.19.0" + "@emotion/is-prop-valid" "^1.2.0" + "@mui/types" "^7.2.0" + "@mui/utils" "^5.10.6" + "@popperjs/core" "^2.11.6" + clsx "^1.2.1" + prop-types "^15.8.1" + react-is "^18.2.0" + "@mui/core-downloads-tracker@^5.10.9": version "5.10.9" resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.10.9.tgz#0279aaeecd7903c91730258b242aba4cf674fde5" @@ -2632,6 +2684,20 @@ dependencies: "@babel/runtime" "^7.20.1" +"@mui/lab@5.0.0-alpha.101": + version "5.0.0-alpha.101" + resolved "https://registry.yarnpkg.com/@mui/lab/-/lab-5.0.0-alpha.101.tgz#e743a7ff2ddeb404e00499ff757e52d7a4179934" + integrity sha512-Wvv3X4mhkCXy6VzaFECGHDpt91GuRIn+lvGjKiyBP0xHCAV3glsny4nbPB5PAnLtugnN9bTFY8nNR5oHgxdCwQ== + dependencies: + "@babel/runtime" "^7.19.0" + "@mui/base" "5.0.0-alpha.99" + "@mui/system" "^5.10.7" + "@mui/types" "^7.2.0" + "@mui/utils" "^5.10.6" + clsx "^1.2.1" + prop-types "^15.8.1" + react-is "^18.2.0" + "@mui/material@^5.10.9": version "5.10.9" resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.10.9.tgz#4ee3910ebf2c93208ad0df8fadb88f23ce2a76d8" @@ -2659,6 +2725,15 @@ "@mui/utils" "^5.10.9" prop-types "^15.8.1" +"@mui/private-theming@^5.15.1": + version "5.15.1" + resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.15.1.tgz#58fd8da48295e105067fa7361734ee0b166d9cca" + integrity sha512-wTbzuy5KjSvCPE9UVJktWHJ0b/tD5biavY9wvF+OpYDLPpdXK52vc1hTDxSbdkHIFMkJExzrwO9GvpVAHZBnFQ== + dependencies: + "@babel/runtime" "^7.23.5" + "@mui/utils" "^5.15.1" + prop-types "^15.8.1" + "@mui/styled-engine@^5.10.8": version "5.10.8" resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.10.8.tgz#2db411e4278f06f70ccb6b5cd56ace67109513f6" @@ -2669,6 +2744,30 @@ csstype "^3.1.1" prop-types "^15.8.1" +"@mui/styled-engine@^5.15.1": + version "5.15.1" + resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.15.1.tgz#00f179e51afe252022bf356f72354968f9c5bf25" + integrity sha512-7WDZTJLqGexWDjqE9oAgjU8ak6hEtUw2yQU7SIYID5kLVO2Nj/Wi/KicbLsXnTsJNvSqePIlUIWTBSXwWJCPZw== + dependencies: + "@babel/runtime" "^7.23.5" + "@emotion/cache" "^11.11.0" + csstype "^3.1.2" + prop-types "^15.8.1" + +"@mui/system@^5.10.7": + version "5.15.1" + resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.15.1.tgz#e2a79b5e188ca89a3e58aa4d27e3484edf9e24b0" + integrity sha512-LAnP0ls69rqW9eBgI29phIx/lppv+WDGI7b3EJN7VZIqw0RezA0GD7NRpV12BgEYJABEii6z5Q9B5tg7dsX0Iw== + dependencies: + "@babel/runtime" "^7.23.5" + "@mui/private-theming" "^5.15.1" + "@mui/styled-engine" "^5.15.1" + "@mui/types" "^7.2.11" + "@mui/utils" "^5.15.1" + clsx "^2.0.0" + csstype "^3.1.2" + prop-types "^15.8.1" + "@mui/system@^5.10.9": version "5.10.9" resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.10.9.tgz#69447a81dabbccab3c930f17d10f9aca5ba87bf1" @@ -2688,6 +2787,21 @@ resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.0.tgz#91380c2d42420f51f404120f7a9270eadd6f5c23" integrity sha512-lGXtFKe5lp3UxTBGqKI1l7G8sE2xBik8qCfrLHD5olwP/YU0/ReWoWT7Lp1//ri32dK39oPMrJN8TgbkCSbsNA== +"@mui/types@^7.2.11": + version "7.2.11" + resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.11.tgz#36b99a88f8010dc716128e568dc05681a69dc7ae" + integrity sha512-KWe/QTEsFFlFSH+qRYf3zoFEj3z67s+qAuSnMMg+gFwbxG7P96Hm6g300inQL1Wy///gSRb8juX7Wafvp93m3w== + +"@mui/utils@^5.10.6", "@mui/utils@^5.15.1": + version "5.15.1" + resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.15.1.tgz#71d69dc8c0f13a1fd6aca20b53ec496636e6b854" + integrity sha512-V1/d0E3Bju5YdB59HJf2G0tnHrFEvWLN+f8hAXp9+JSNy/LC2zKyqUfPPahflR6qsI681P8G9r4mEZte/SrrYA== + dependencies: + "@babel/runtime" "^7.23.5" + "@types/prop-types" "^15.7.11" + prop-types "^15.8.1" + react-is "^18.2.0" + "@mui/utils@^5.10.9": version "5.10.9" resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.10.9.tgz#9dc455f9230f43eeb81d96a9a4bdb3855bb9ea39" @@ -3534,6 +3648,11 @@ resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz" integrity sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ== +"@types/prop-types@^15.7.11": + version "15.7.11" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.11.tgz#2596fb352ee96a1379c657734d4b913a613ad563" + integrity sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng== + "@types/prop-types@^15.7.5": version "15.7.5" resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" @@ -5284,6 +5403,11 @@ clsx@^1.1.0, clsx@^1.2.1: resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12" integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== +clsx@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.0.0.tgz#12658f3fd98fafe62075595a5c30e43d18f3d00b" + integrity sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q== + co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" @@ -5613,6 +5737,11 @@ csstype@^3.0.2, csstype@^3.1.1: resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.1.tgz#841b532c45c758ee546a11d5bd7b7b473c8c30b9" integrity sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw== +csstype@^3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" + integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== + cypress-repeat@^2.3.3: version "2.3.3" resolved "https://registry.yarnpkg.com/cypress-repeat/-/cypress-repeat-2.3.3.tgz#0a0d363347137248600eff57f4ae75e4526e88d9" @@ -10848,6 +10977,11 @@ regenerator-runtime@^0.13.4: resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz" integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== +regenerator-runtime@^0.14.0: + version "0.14.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" + integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== + regenerator-transform@^0.15.0: version "0.15.0" resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.0.tgz#cbd9ead5d77fae1a48d957cf889ad0586adb6537" @@ -11667,6 +11801,11 @@ stylis@4.0.13: resolved "https://registry.npmjs.org/stylis/-/stylis-4.0.13.tgz" integrity sha512-xGPXiFVl4YED9Jh7Euv2V220mriG9u4B2TA6Ybjc1catrstKD2PpIdU3U0RKpkVBC2EhmL/F0sPCr9vrFTNRag== +stylis@4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.2.0.tgz#79daee0208964c8fe695a42fcffcac633a211a51" + integrity sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw== + superjson@^1.10.0: version "1.12.2" resolved "https://registry.yarnpkg.com/superjson/-/superjson-1.12.2.tgz#072471f1e6add2d95a38b77fef8c7a199d82103a" From 81f0fbf11417fc5efeac6a4b9ca532542f39d768 Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Wed, 20 Dec 2023 16:28:34 -0600 Subject: [PATCH 43/84] fix: gov chain id --- src/hooks/governance/useGovernanceTokens.ts | 7 +- src/hooks/governance/usePowers.ts | 3 +- src/services/GovernanceService.ts | 78 +++++++++++---------- src/services/WalletBalanceService.ts | 21 ++++-- src/ui-config/governanceConfig.ts | 2 + 5 files changed, 64 insertions(+), 47 deletions(-) diff --git a/src/hooks/governance/useGovernanceTokens.ts b/src/hooks/governance/useGovernanceTokens.ts index 7391c08679..2ce1149e4b 100644 --- a/src/hooks/governance/useGovernanceTokens.ts +++ b/src/hooks/governance/useGovernanceTokens.ts @@ -1,5 +1,6 @@ import { useQuery } from '@tanstack/react-query'; import { useRootStore } from 'src/store/root'; +import { governanceV3Config } from 'src/ui-config/governanceConfig'; import { POLLING_INTERVAL, queryKeysFactory } from 'src/ui-config/queries'; import { useSharedDependencies } from 'src/ui-config/SharedDependenciesProvider'; @@ -10,7 +11,11 @@ export const useGovernanceTokens = () => { return useQuery({ queryFn: () => - governanceWalletBalanceService.getGovernanceTokensBalance(currentMarketData, user), + governanceWalletBalanceService.getGovernanceTokensBalance( + governanceV3Config.coreChainId, + governanceV3Config.addresses.WALLET_BALANCE_PROVIDER, + user + ), queryKey: queryKeysFactory.governanceTokens(user, currentMarketData), enabled: !!user, refetchInterval: POLLING_INTERVAL, diff --git a/src/hooks/governance/usePowers.ts b/src/hooks/governance/usePowers.ts index e47111b5b7..de6cebea08 100644 --- a/src/hooks/governance/usePowers.ts +++ b/src/hooks/governance/usePowers.ts @@ -1,5 +1,6 @@ import { useQuery } from '@tanstack/react-query'; import { useRootStore } from 'src/store/root'; +import { governanceV3Config } from 'src/ui-config/governanceConfig'; import { MarketDataType } from 'src/ui-config/marketsConfig'; import { POLLING_INTERVAL, queryKeysFactory } from 'src/ui-config/queries'; import { useSharedDependencies } from 'src/ui-config/SharedDependenciesProvider'; @@ -8,7 +9,7 @@ export const usePowers = (marketData: MarketDataType) => { const { governanceService } = useSharedDependencies(); const user = useRootStore((store) => store.account); return useQuery({ - queryFn: () => governanceService.getPowers(marketData, user), + queryFn: () => governanceService.getPowers(governanceV3Config.coreChainId, user), queryKey: queryKeysFactory.powers(user, marketData), enabled: !!user, refetchInterval: POLLING_INTERVAL, diff --git a/src/services/GovernanceService.ts b/src/services/GovernanceService.ts index f45f9e525b..8d1bf4170f 100644 --- a/src/services/GovernanceService.ts +++ b/src/services/GovernanceService.ts @@ -1,9 +1,9 @@ -import { AaveGovernanceService, Power, tEthereumAddress } from '@aave/contract-helpers'; +import { AaveGovernanceService, ChainId, Power, tEthereumAddress } from '@aave/contract-helpers'; import { normalize, valueToBigNumber } from '@aave/math-utils'; import { Provider } from '@ethersproject/providers'; import { ZERO_ADDRESS } from 'src/modules/governance/utils/formatProposal'; import { governanceConfig } from 'src/ui-config/governanceConfig'; -import { MarketDataType } from 'src/ui-config/marketsConfig'; +// import { MarketDataType } from 'src/ui-config/marketsConfig'; interface Powers { votingPower: string; @@ -18,10 +18,10 @@ interface Powers { aAavePropositionDelegatee: string; } -interface VoteOnProposalData { - votingPower: string; - support: boolean; -} +// interface VoteOnProposalData { +// votingPower: string; +// support: boolean; +// } const checkIfDelegateeIsUser = (delegatee: tEthereumAddress, userAddress: tEthereumAddress) => delegatee == ZERO_ADDRESS || delegatee.toLocaleLowerCase() === userAddress.toLocaleLowerCase() @@ -30,8 +30,8 @@ const checkIfDelegateeIsUser = (delegatee: tEthereumAddress, userAddress: tEther export class GovernanceService { constructor(private readonly getProvider: (chainId: number) => Provider) {} - private getAaveGovernanceService(marketData: MarketDataType) { - const provider = this.getProvider(marketData.chainId); + private getAaveGovernanceService(chainId: ChainId) { + const provider = this.getProvider(chainId); return new AaveGovernanceService(provider, { GOVERNANCE_ADDRESS: governanceConfig.addresses.AAVE_GOVERNANCE_V2, GOVERNANCE_HELPER_ADDRESS: governanceConfig.addresses.AAVE_GOVERNANCE_V2_HELPER, @@ -39,38 +39,40 @@ export class GovernanceService { }); } - async getVotingPowerAt( - marketData: MarketDataType, - user: string, - strategy: string, - block: number - ) { - const aaveGovernanceService = this.getAaveGovernanceService(marketData); - return aaveGovernanceService.getVotingPowerAt({ - user, - strategy, - block, - }); - } - async getVoteOnProposal( - marketData: MarketDataType, - user: string, - proposalId: number - ): Promise { - const aaveGovernanceService = this.getAaveGovernanceService(marketData); - const { votingPower, support } = await aaveGovernanceService.getVoteOnProposal({ - user, - proposalId, - }); - return { - votingPower: normalize(votingPower.toString(), 18), - support, - }; - } - async getPowers(marketData: MarketDataType, user: string): Promise { + // async getVotingPowerAt( + // marketData: MarketDataType, + // user: string, + // strategy: string, + // block: number + // ) { + // const aaveGovernanceService = this.getAaveGovernanceService(marketData); + // return aaveGovernanceService.getVotingPowerAt({ + // user, + // strategy, + // block, + // }); + // } + + // async getVoteOnProposal( + // marketData: MarketDataType, + // user: string, + // proposalId: number + // ): Promise { + // const aaveGovernanceService = this.getAaveGovernanceService(marketData); + // const { votingPower, support } = await aaveGovernanceService.getVoteOnProposal({ + // user, + // proposalId, + // }); + // return { + // votingPower: normalize(votingPower.toString(), 18), + // support, + // }; + // } + + async getPowers(govChainId: ChainId, user: string): Promise { const { aaveTokenAddress, stkAaveTokenAddress, aAaveTokenAddress } = governanceConfig; - const aaveGovernanceService = this.getAaveGovernanceService(marketData); + const aaveGovernanceService = this.getAaveGovernanceService(govChainId); const [aaveTokenPower, stkAaveTokenPower, aAaveTokenPower] = await aaveGovernanceService.getTokensPower({ diff --git a/src/services/WalletBalanceService.ts b/src/services/WalletBalanceService.ts index 3e84f364f8..6bef2cc66a 100644 --- a/src/services/WalletBalanceService.ts +++ b/src/services/WalletBalanceService.ts @@ -1,4 +1,4 @@ -import { WalletBalanceProvider } from '@aave/contract-helpers'; +import { ChainId, WalletBalanceProvider } from '@aave/contract-helpers'; import { normalize } from '@aave/math-utils'; import { Provider } from '@ethersproject/providers'; import { governanceConfig } from 'src/ui-config/governanceConfig'; @@ -18,19 +18,23 @@ export type UserPoolTokensBalances = { export class WalletBalanceService { constructor(private readonly getProvider: (chainId: number) => Provider) {} - private getWalletBalanceService(marketData: MarketDataType) { - const provider = this.getProvider(marketData.chainId); + private getWalletBalanceService(chainId: ChainId, walletBalanceProviderAddress: string) { + const provider = this.getProvider(chainId); return new WalletBalanceProvider({ - walletBalanceProviderAddress: marketData.addresses.WALLET_BALANCE_PROVIDER, + walletBalanceProviderAddress, provider, }); } async getGovernanceTokensBalance( - marketData: MarketDataType, + chainId: ChainId, + walletBalanceProviderAddress: string, user: string ): Promise { - const walletBalanceService = this.getWalletBalanceService(marketData); + const walletBalanceService = this.getWalletBalanceService( + chainId, + walletBalanceProviderAddress + ); const balances = await walletBalanceService.batchBalanceOf( [user], [ @@ -50,7 +54,10 @@ export class WalletBalanceService { marketData: MarketDataType, user: string ): Promise { - const walletBalanceService = this.getWalletBalanceService(marketData); + const walletBalanceService = this.getWalletBalanceService( + marketData.chainId, + marketData.addresses.WALLET_BALANCE_PROVIDER + ); const { 0: tokenAddresses, 1: balances } = await walletBalanceService.getUserWalletBalancesForLendingPoolProvider( user, diff --git a/src/ui-config/governanceConfig.ts b/src/ui-config/governanceConfig.ts index 535b0e576d..9959c33786 100644 --- a/src/ui-config/governanceConfig.ts +++ b/src/ui-config/governanceConfig.ts @@ -64,6 +64,7 @@ export interface GovernanceV3Config { addresses: { GOVERNANCE_CORE: string; GOVERNANCE_DATA_HELPER: string; + WALLET_BALANCE_PROVIDER: string; }; votingAssets: string[]; } @@ -105,5 +106,6 @@ export const governanceV3Config: GovernanceV3Config = { addresses: { GOVERNANCE_CORE: '0xc4ABF658C3Dda84225cF8A07d7D5Bb6Aa41d9E59', GOVERNANCE_DATA_HELPER: '0x863f9De2f82AB502612E8B7d4f4863c8535cb8cA', + WALLET_BALANCE_PROVIDER: '0xCD4e0d6D2b1252E2A709B8aE97DBA31164C5a709', // AaveV3Ethereum.WALLET_BALANCE_PROVIDER, }, }; From d5b4f120302e36ab07f3722c47d4caa2c9d4ffdb Mon Sep 17 00:00:00 2001 From: Joaquin Battilana Date: Wed, 20 Dec 2023 23:06:13 -0300 Subject: [PATCH 44/84] feat: basic vote flow --- .../transactions/GovVote/GovVoteActions.tsx | 50 +- .../GovVote/temporary/VotingMachineService.ts | 42 + .../temporary/typechain/VotingMachine.ts | 1544 +++++++++++++++++ .../GovVote/temporary/typechain/common.ts | 43 + .../factory/VotingMachine__factory.ts | 1160 +++++++++++++ src/ui-config/governanceConfig.ts | 3 + src/ui-config/networksConfig.ts | 1 + src/utils/marketsAndNetworksConfig.ts | 23 +- src/utils/rotationProvider.ts | 11 + 9 files changed, 2865 insertions(+), 12 deletions(-) create mode 100644 src/components/transactions/GovVote/temporary/VotingMachineService.ts create mode 100644 src/components/transactions/GovVote/temporary/typechain/VotingMachine.ts create mode 100644 src/components/transactions/GovVote/temporary/typechain/common.ts create mode 100644 src/components/transactions/GovVote/temporary/typechain/factory/VotingMachine__factory.ts diff --git a/src/components/transactions/GovVote/GovVoteActions.tsx b/src/components/transactions/GovVote/GovVoteActions.tsx index 997459367f..b9dd7f90d4 100644 --- a/src/components/transactions/GovVote/GovVoteActions.tsx +++ b/src/components/transactions/GovVote/GovVoteActions.tsx @@ -3,6 +3,27 @@ import { EnhancedProposal } from 'src/hooks/governance/useProposal'; import { useModalContext } from 'src/hooks/useModal'; import { TxActionsWrapper } from '../TxActionsWrapper'; +import { useRootStore } from 'src/store/root'; +import { VotingMachineService } from './temporary/VotingMachineService'; +import { governanceConfig, governanceV3Config } from 'src/ui-config/governanceConfig'; +import { getProvider } from 'src/utils/marketsAndNetworksConfig'; +import { ChainId } from '@aave/contract-helpers'; +import { AbiCoder, RLP, keccak256, solidityKeccak256 } from 'ethers/lib/utils'; +import { useWeb3Context } from 'src/libs/hooks/useWeb3Context'; +import { BigNumber, constants } from 'ethers'; + +interface GetProofResponse { + balance: string, + codeHash: string, + nonce: string, + storageHash: string, + accountProof: string[], + storageProof: Array<{ + key: string, + value: string, + proof: string[] + }> +} export type GovVoteActionsProps = { isWrongNetwork: boolean; @@ -18,9 +39,36 @@ export const GovVoteActions = ({ support, }: GovVoteActionsProps) => { const { mainTxState, loadingTxns } = useModalContext(); + const user = useRootStore(store => store.account); + const estimateGasLimit = useRootStore(store => store.estimateGasLimit) + const { sendTx } = useWeb3Context(); + const proposalId = proposal.proposal.proposalId; + const assets = proposal.votingMachineData.votingAssets; + const blockHash = proposal.proposalData.proposalData.snapshotBlockHash const action = async () => { - console.log(proposal); + const coreProvider = getProvider(ChainId.sepolia); + const votingProvider = getProvider(ChainId.fuji); + const abiCoder = new AbiCoder() + const votingPowerSlot = keccak256(abiCoder.encode(["address", "uint256"], [user, 0])); + const proofs = await Promise.all(assets.map(asset => coreProvider.send("eth_getProof", [ + asset, + [votingPowerSlot], + blockHash + ]).then(rawProof => { + const asd = BigNumber.from(rawProof.storageProof[0].key).gt(constants.MaxUint256) + console.log(asd) + return { + underlyingAsset: asset, + slot: '0', + proof: RLP.encode(rawProof.storageProof[0].proof.map(elem => RLP.decode(elem))) + } + }))) + const votingMachineService = new VotingMachineService(governanceV3Config.votingChainConfig[43113].votingMachineAddress, votingProvider); + const tx = await votingMachineService.generateSubmitVoteTxData(user, +proposalId, support, proofs); + // const txWithEstimatedGas = await estimateGasLimit(tx, ChainId.fuji) + sendTx(tx) + }; return ( diff --git a/src/components/transactions/GovVote/temporary/VotingMachineService.ts b/src/components/transactions/GovVote/temporary/VotingMachineService.ts new file mode 100644 index 0000000000..9ec49234e8 --- /dev/null +++ b/src/components/transactions/GovVote/temporary/VotingMachineService.ts @@ -0,0 +1,42 @@ +import { BigNumber, PopulatedTransaction, providers } from "ethers"; +import { VotingMachine__factory } from "./typechain/factory/VotingMachine__factory"; + +export interface ProviderWithSend extends providers.Provider { + send

(method: string, params: Array

): Promise +} + +interface VotingBalanceProof { + underlyingAsset: string; + slot: string; + proof: string; +} + +export class VotingMachineService { + private readonly _contract; + private readonly _interface; + + constructor( + private readonly votingMachineContractAddress: string, + private readonly provider: ProviderWithSend + ) { + this._contract = VotingMachine__factory.connect( + votingMachineContractAddress, + provider, + ); + this._interface = VotingMachine__factory.createInterface() + } + + generateSubmitVoteTxData = async (user: string, proposalId: number, support: boolean, votingProofs: VotingBalanceProof[]) => { + const tx: PopulatedTransaction = {} + const txData = this._interface.encodeFunctionData("submitVote", [ + proposalId, + support, + votingProofs + ]); + tx.to = this.votingMachineContractAddress + tx.from = user + tx.data = txData; + tx.gasLimit = BigNumber.from(1000000); + return tx; + } +} \ No newline at end of file diff --git a/src/components/transactions/GovVote/temporary/typechain/VotingMachine.ts b/src/components/transactions/GovVote/temporary/typechain/VotingMachine.ts new file mode 100644 index 0000000000..95471c25cf --- /dev/null +++ b/src/components/transactions/GovVote/temporary/typechain/VotingMachine.ts @@ -0,0 +1,1544 @@ +/* Autogenerated file. Do not edit manually. */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, +} from "./common"; + +export declare namespace IVotingMachineWithProofs { + export type VotingAssetWithSlotStruct = { + underlyingAsset: string; + slot: BigNumberish; + }; + + export type VotingAssetWithSlotStructOutput = [string, BigNumber] & { + underlyingAsset: string; + slot: BigNumber; + }; + + export type ProposalWithoutVotesStruct = { + id: BigNumberish; + sentToGovernance: boolean; + startTime: BigNumberish; + endTime: BigNumberish; + votingClosedAndSentTimestamp: BigNumberish; + forVotes: BigNumberish; + againstVotes: BigNumberish; + creationBlockNumber: BigNumberish; + votingClosedAndSentBlockNumber: BigNumberish; + }; + + export type ProposalWithoutVotesStructOutput = [ + BigNumber, + boolean, + number, + number, + number, + BigNumber, + BigNumber, + BigNumber, + BigNumber + ] & { + id: BigNumber; + sentToGovernance: boolean; + startTime: number; + endTime: number; + votingClosedAndSentTimestamp: number; + forVotes: BigNumber; + againstVotes: BigNumber; + creationBlockNumber: BigNumber; + votingClosedAndSentBlockNumber: BigNumber; + }; + + export type ProposalVoteConfigurationStruct = { + votingDuration: BigNumberish; + l1ProposalBlockHash: BytesLike; + }; + + export type ProposalVoteConfigurationStructOutput = [number, string] & { + votingDuration: number; + l1ProposalBlockHash: string; + }; + + export type VoteStruct = { support: boolean; votingPower: BigNumberish }; + + export type VoteStructOutput = [boolean, BigNumber] & { + support: boolean; + votingPower: BigNumber; + }; + + export type VotingBalanceProofStruct = { + underlyingAsset: string; + slot: BigNumberish; + proof: BytesLike; + }; + + export type VotingBalanceProofStructOutput = [string, BigNumber, string] & { + underlyingAsset: string; + slot: BigNumber; + proof: string; + }; + + export type SignatureParamsStruct = { + v: BigNumberish; + r: BytesLike; + s: BytesLike; + }; + + export type SignatureParamsStructOutput = [number, string, string] & { + v: number; + r: string; + s: string; + }; +} + +export interface VotingMachineInterface extends utils.Interface { + functions: { + "CROSS_CHAIN_CONTROLLER()": FunctionFragment; + "DATA_WAREHOUSE()": FunctionFragment; + "DOMAIN_SEPARATOR()": FunctionFragment; + "GOVERNANCE()": FunctionFragment; + "L1_VOTING_PORTAL()": FunctionFragment; + "L1_VOTING_PORTAL_CHAIN_ID()": FunctionFragment; + "NAME()": FunctionFragment; + "REPRESENTATIVES_SLOT()": FunctionFragment; + "VOTE_SUBMITTED_BY_REPRESENTATIVE_TYPEHASH()": FunctionFragment; + "VOTE_SUBMITTED_TYPEHASH()": FunctionFragment; + "VOTING_ASSET_WITH_SLOT_RAW()": FunctionFragment; + "VOTING_ASSET_WITH_SLOT_TYPEHASH()": FunctionFragment; + "VOTING_STRATEGY()": FunctionFragment; + "closeAndSendVote(uint256)": FunctionFragment; + "decodeMessage(bytes)": FunctionFragment; + "decodeProposalMessage(bytes)": FunctionFragment; + "decodeVoteMessage(bytes)": FunctionFragment; + "eip712Domain()": FunctionFragment; + "getGasLimit()": FunctionFragment; + "getProposalById(uint256)": FunctionFragment; + "getProposalState(uint256)": FunctionFragment; + "getProposalVoteConfiguration(uint256)": FunctionFragment; + "getProposalsVoteConfigurationIds(uint256,uint256)": FunctionFragment; + "getUserProposalVote(address,uint256)": FunctionFragment; + "owner()": FunctionFragment; + "receiveCrossChainMessage(address,uint256,bytes)": FunctionFragment; + "renounceOwnership()": FunctionFragment; + "startProposalVote(uint256)": FunctionFragment; + "submitVote(uint256,bool,(address,uint128,bytes)[])": FunctionFragment; + "submitVoteAsRepresentative(uint256,bool,address,bytes,(address,uint128,bytes)[])": FunctionFragment; + "submitVoteAsRepresentativeBySignature(uint256,address,address,bool,bytes,(address,uint128,bytes)[],(uint8,bytes32,bytes32))": FunctionFragment; + "submitVoteBySignature(uint256,address,bool,(address,uint128,bytes)[],uint8,bytes32,bytes32)": FunctionFragment; + "transferOwnership(address)": FunctionFragment; + "updateGasLimit(uint256)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "CROSS_CHAIN_CONTROLLER" + | "DATA_WAREHOUSE" + | "DOMAIN_SEPARATOR" + | "GOVERNANCE" + | "L1_VOTING_PORTAL" + | "L1_VOTING_PORTAL_CHAIN_ID" + | "NAME" + | "REPRESENTATIVES_SLOT" + | "VOTE_SUBMITTED_BY_REPRESENTATIVE_TYPEHASH" + | "VOTE_SUBMITTED_TYPEHASH" + | "VOTING_ASSET_WITH_SLOT_RAW" + | "VOTING_ASSET_WITH_SLOT_TYPEHASH" + | "VOTING_STRATEGY" + | "closeAndSendVote" + | "decodeMessage" + | "decodeProposalMessage" + | "decodeVoteMessage" + | "eip712Domain" + | "getGasLimit" + | "getProposalById" + | "getProposalState" + | "getProposalVoteConfiguration" + | "getProposalsVoteConfigurationIds" + | "getUserProposalVote" + | "owner" + | "receiveCrossChainMessage" + | "renounceOwnership" + | "startProposalVote" + | "submitVote" + | "submitVoteAsRepresentative" + | "submitVoteAsRepresentativeBySignature" + | "submitVoteBySignature" + | "transferOwnership" + | "updateGasLimit" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "CROSS_CHAIN_CONTROLLER", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "DATA_WAREHOUSE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "DOMAIN_SEPARATOR", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "GOVERNANCE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "L1_VOTING_PORTAL", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "L1_VOTING_PORTAL_CHAIN_ID", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "NAME", values?: undefined): string; + encodeFunctionData( + functionFragment: "REPRESENTATIVES_SLOT", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "VOTE_SUBMITTED_BY_REPRESENTATIVE_TYPEHASH", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "VOTE_SUBMITTED_TYPEHASH", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "VOTING_ASSET_WITH_SLOT_RAW", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "VOTING_ASSET_WITH_SLOT_TYPEHASH", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "VOTING_STRATEGY", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "closeAndSendVote", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "decodeMessage", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "decodeProposalMessage", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "decodeVoteMessage", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "eip712Domain", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getGasLimit", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getProposalById", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "getProposalState", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "getProposalVoteConfiguration", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "getProposalsVoteConfigurationIds", + values: [BigNumberish, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "getUserProposalVote", + values: [string, BigNumberish] + ): string; + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "receiveCrossChainMessage", + values: [string, BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "renounceOwnership", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "startProposalVote", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "submitVote", + values: [ + BigNumberish, + boolean, + IVotingMachineWithProofs.VotingBalanceProofStruct[] + ] + ): string; + encodeFunctionData( + functionFragment: "submitVoteAsRepresentative", + values: [ + BigNumberish, + boolean, + string, + BytesLike, + IVotingMachineWithProofs.VotingBalanceProofStruct[] + ] + ): string; + encodeFunctionData( + functionFragment: "submitVoteAsRepresentativeBySignature", + values: [ + BigNumberish, + string, + string, + boolean, + BytesLike, + IVotingMachineWithProofs.VotingBalanceProofStruct[], + IVotingMachineWithProofs.SignatureParamsStruct + ] + ): string; + encodeFunctionData( + functionFragment: "submitVoteBySignature", + values: [ + BigNumberish, + string, + boolean, + IVotingMachineWithProofs.VotingBalanceProofStruct[], + BigNumberish, + BytesLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "transferOwnership", + values: [string] + ): string; + encodeFunctionData( + functionFragment: "updateGasLimit", + values: [BigNumberish] + ): string; + + decodeFunctionResult( + functionFragment: "CROSS_CHAIN_CONTROLLER", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "DATA_WAREHOUSE", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "DOMAIN_SEPARATOR", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "GOVERNANCE", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "L1_VOTING_PORTAL", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "L1_VOTING_PORTAL_CHAIN_ID", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "NAME", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "REPRESENTATIVES_SLOT", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "VOTE_SUBMITTED_BY_REPRESENTATIVE_TYPEHASH", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "VOTE_SUBMITTED_TYPEHASH", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "VOTING_ASSET_WITH_SLOT_RAW", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "VOTING_ASSET_WITH_SLOT_TYPEHASH", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "VOTING_STRATEGY", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "closeAndSendVote", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "decodeMessage", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "decodeProposalMessage", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "decodeVoteMessage", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "eip712Domain", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getGasLimit", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getProposalById", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getProposalState", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getProposalVoteConfiguration", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getProposalsVoteConfigurationIds", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getUserProposalVote", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "receiveCrossChainMessage", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "renounceOwnership", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "startProposalVote", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "submitVote", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "submitVoteAsRepresentative", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "submitVoteAsRepresentativeBySignature", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "submitVoteBySignature", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "transferOwnership", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "updateGasLimit", + data: BytesLike + ): Result; + + events: { + "EIP712DomainChanged()": EventFragment; + "GasLimitUpdated(uint256)": EventFragment; + "IncorrectTypeMessageReceived(address,uint256,bytes,bytes)": EventFragment; + "MessageReceived(address,uint256,bool,uint8,bytes,bytes)": EventFragment; + "OwnershipTransferred(address,address)": EventFragment; + "ProposalResultsSent(uint256,uint256,uint256)": EventFragment; + "ProposalVoteConfigurationBridged(uint256,bytes32,uint24,bool)": EventFragment; + "ProposalVoteStarted(uint256,bytes32,uint256,uint256)": EventFragment; + "VoteEmitted(uint256,address,bool,uint256)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "EIP712DomainChanged"): EventFragment; + getEvent(nameOrSignatureOrTopic: "GasLimitUpdated"): EventFragment; + getEvent( + nameOrSignatureOrTopic: "IncorrectTypeMessageReceived" + ): EventFragment; + getEvent(nameOrSignatureOrTopic: "MessageReceived"): EventFragment; + getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment; + getEvent(nameOrSignatureOrTopic: "ProposalResultsSent"): EventFragment; + getEvent( + nameOrSignatureOrTopic: "ProposalVoteConfigurationBridged" + ): EventFragment; + getEvent(nameOrSignatureOrTopic: "ProposalVoteStarted"): EventFragment; + getEvent(nameOrSignatureOrTopic: "VoteEmitted"): EventFragment; +} + +export interface EIP712DomainChangedEventObject {} +export type EIP712DomainChangedEvent = TypedEvent< + [], + EIP712DomainChangedEventObject +>; + +export type EIP712DomainChangedEventFilter = + TypedEventFilter; + +export interface GasLimitUpdatedEventObject { + gasLimit: BigNumber; +} +export type GasLimitUpdatedEvent = TypedEvent< + [BigNumber], + GasLimitUpdatedEventObject +>; + +export type GasLimitUpdatedEventFilter = TypedEventFilter; + +export interface IncorrectTypeMessageReceivedEventObject { + originSender: string; + originChainId: BigNumber; + message: string; + reason: string; +} +export type IncorrectTypeMessageReceivedEvent = TypedEvent< + [string, BigNumber, string, string], + IncorrectTypeMessageReceivedEventObject +>; + +export type IncorrectTypeMessageReceivedEventFilter = + TypedEventFilter; + +export interface MessageReceivedEventObject { + originSender: string; + originChainId: BigNumber; + delivered: boolean; + messageType: number; + message: string; + reason: string; +} +export type MessageReceivedEvent = TypedEvent< + [string, BigNumber, boolean, number, string, string], + MessageReceivedEventObject +>; + +export type MessageReceivedEventFilter = TypedEventFilter; + +export interface OwnershipTransferredEventObject { + previousOwner: string; + newOwner: string; +} +export type OwnershipTransferredEvent = TypedEvent< + [string, string], + OwnershipTransferredEventObject +>; + +export type OwnershipTransferredEventFilter = + TypedEventFilter; + +export interface ProposalResultsSentEventObject { + proposalId: BigNumber; + forVotes: BigNumber; + againstVotes: BigNumber; +} +export type ProposalResultsSentEvent = TypedEvent< + [BigNumber, BigNumber, BigNumber], + ProposalResultsSentEventObject +>; + +export type ProposalResultsSentEventFilter = + TypedEventFilter; + +export interface ProposalVoteConfigurationBridgedEventObject { + proposalId: BigNumber; + blockHash: string; + votingDuration: number; + voteCreated: boolean; +} +export type ProposalVoteConfigurationBridgedEvent = TypedEvent< + [BigNumber, string, number, boolean], + ProposalVoteConfigurationBridgedEventObject +>; + +export type ProposalVoteConfigurationBridgedEventFilter = + TypedEventFilter; + +export interface ProposalVoteStartedEventObject { + proposalId: BigNumber; + l1BlockHash: string; + startTime: BigNumber; + endTime: BigNumber; +} +export type ProposalVoteStartedEvent = TypedEvent< + [BigNumber, string, BigNumber, BigNumber], + ProposalVoteStartedEventObject +>; + +export type ProposalVoteStartedEventFilter = + TypedEventFilter; + +export interface VoteEmittedEventObject { + proposalId: BigNumber; + voter: string; + support: boolean; + votingPower: BigNumber; +} +export type VoteEmittedEvent = TypedEvent< + [BigNumber, string, boolean, BigNumber], + VoteEmittedEventObject +>; + +export type VoteEmittedEventFilter = TypedEventFilter; + +export interface VotingMachine extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: VotingMachineInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + CROSS_CHAIN_CONTROLLER(overrides?: CallOverrides): Promise<[string]>; + + DATA_WAREHOUSE(overrides?: CallOverrides): Promise<[string]>; + + DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise<[string]>; + + GOVERNANCE(overrides?: CallOverrides): Promise<[string]>; + + L1_VOTING_PORTAL(overrides?: CallOverrides): Promise<[string]>; + + L1_VOTING_PORTAL_CHAIN_ID(overrides?: CallOverrides): Promise<[BigNumber]>; + + NAME(overrides?: CallOverrides): Promise<[string]>; + + REPRESENTATIVES_SLOT(overrides?: CallOverrides): Promise<[BigNumber]>; + + VOTE_SUBMITTED_BY_REPRESENTATIVE_TYPEHASH( + overrides?: CallOverrides + ): Promise<[string]>; + + VOTE_SUBMITTED_TYPEHASH(overrides?: CallOverrides): Promise<[string]>; + + VOTING_ASSET_WITH_SLOT_RAW(overrides?: CallOverrides): Promise<[string]>; + + VOTING_ASSET_WITH_SLOT_TYPEHASH( + overrides?: CallOverrides + ): Promise<[string]>; + + VOTING_STRATEGY(overrides?: CallOverrides): Promise<[string]>; + + closeAndSendVote( + proposalId: BigNumberish, + overrides?: Overrides & { from?: string } + ): Promise; + + decodeMessage( + message: BytesLike, + overrides?: CallOverrides + ): Promise<[number, string]>; + + decodeProposalMessage( + message: BytesLike, + overrides?: CallOverrides + ): Promise<[BigNumber, string, number]>; + + decodeVoteMessage( + message: BytesLike, + overrides?: CallOverrides + ): Promise< + [ + BigNumber, + string, + boolean, + IVotingMachineWithProofs.VotingAssetWithSlotStructOutput[] + ] + >; + + eip712Domain( + overrides?: CallOverrides + ): Promise< + [string, string, string, BigNumber, string, string, BigNumber[]] & { + fields: string; + name: string; + version: string; + chainId: BigNumber; + verifyingContract: string; + salt: string; + extensions: BigNumber[]; + } + >; + + getGasLimit(overrides?: CallOverrides): Promise<[BigNumber]>; + + getProposalById( + proposalId: BigNumberish, + overrides?: CallOverrides + ): Promise<[IVotingMachineWithProofs.ProposalWithoutVotesStructOutput]>; + + getProposalState( + proposalId: BigNumberish, + overrides?: CallOverrides + ): Promise<[number]>; + + getProposalVoteConfiguration( + proposalId: BigNumberish, + overrides?: CallOverrides + ): Promise< + [IVotingMachineWithProofs.ProposalVoteConfigurationStructOutput] + >; + + getProposalsVoteConfigurationIds( + skip: BigNumberish, + size: BigNumberish, + overrides?: CallOverrides + ): Promise<[BigNumber[]]>; + + getUserProposalVote( + user: string, + proposalId: BigNumberish, + overrides?: CallOverrides + ): Promise<[IVotingMachineWithProofs.VoteStructOutput]>; + + owner(overrides?: CallOverrides): Promise<[string]>; + + receiveCrossChainMessage( + originSender: string, + originChainId: BigNumberish, + messageWithType: BytesLike, + overrides?: Overrides & { from?: string } + ): Promise; + + renounceOwnership( + overrides?: Overrides & { from?: string } + ): Promise; + + startProposalVote( + proposalId: BigNumberish, + overrides?: Overrides & { from?: string } + ): Promise; + + submitVote( + proposalId: BigNumberish, + support: boolean, + votingBalanceProofs: IVotingMachineWithProofs.VotingBalanceProofStruct[], + overrides?: Overrides & { from?: string } + ): Promise; + + submitVoteAsRepresentative( + proposalId: BigNumberish, + support: boolean, + voter: string, + proofOfRepresentation: BytesLike, + votingBalanceProofs: IVotingMachineWithProofs.VotingBalanceProofStruct[], + overrides?: Overrides & { from?: string } + ): Promise; + + submitVoteAsRepresentativeBySignature( + proposalId: BigNumberish, + voter: string, + representative: string, + support: boolean, + proofOfRepresentation: BytesLike, + votingBalanceProofs: IVotingMachineWithProofs.VotingBalanceProofStruct[], + signatureParams: IVotingMachineWithProofs.SignatureParamsStruct, + overrides?: Overrides & { from?: string } + ): Promise; + + submitVoteBySignature( + proposalId: BigNumberish, + voter: string, + support: boolean, + votingBalanceProofs: IVotingMachineWithProofs.VotingBalanceProofStruct[], + v: BigNumberish, + r: BytesLike, + s: BytesLike, + overrides?: Overrides & { from?: string } + ): Promise; + + transferOwnership( + newOwner: string, + overrides?: Overrides & { from?: string } + ): Promise; + + updateGasLimit( + gasLimit: BigNumberish, + overrides?: Overrides & { from?: string } + ): Promise; + }; + + CROSS_CHAIN_CONTROLLER(overrides?: CallOverrides): Promise; + + DATA_WAREHOUSE(overrides?: CallOverrides): Promise; + + DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; + + GOVERNANCE(overrides?: CallOverrides): Promise; + + L1_VOTING_PORTAL(overrides?: CallOverrides): Promise; + + L1_VOTING_PORTAL_CHAIN_ID(overrides?: CallOverrides): Promise; + + NAME(overrides?: CallOverrides): Promise; + + REPRESENTATIVES_SLOT(overrides?: CallOverrides): Promise; + + VOTE_SUBMITTED_BY_REPRESENTATIVE_TYPEHASH( + overrides?: CallOverrides + ): Promise; + + VOTE_SUBMITTED_TYPEHASH(overrides?: CallOverrides): Promise; + + VOTING_ASSET_WITH_SLOT_RAW(overrides?: CallOverrides): Promise; + + VOTING_ASSET_WITH_SLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + VOTING_STRATEGY(overrides?: CallOverrides): Promise; + + closeAndSendVote( + proposalId: BigNumberish, + overrides?: Overrides & { from?: string } + ): Promise; + + decodeMessage( + message: BytesLike, + overrides?: CallOverrides + ): Promise<[number, string]>; + + decodeProposalMessage( + message: BytesLike, + overrides?: CallOverrides + ): Promise<[BigNumber, string, number]>; + + decodeVoteMessage( + message: BytesLike, + overrides?: CallOverrides + ): Promise< + [ + BigNumber, + string, + boolean, + IVotingMachineWithProofs.VotingAssetWithSlotStructOutput[] + ] + >; + + eip712Domain( + overrides?: CallOverrides + ): Promise< + [string, string, string, BigNumber, string, string, BigNumber[]] & { + fields: string; + name: string; + version: string; + chainId: BigNumber; + verifyingContract: string; + salt: string; + extensions: BigNumber[]; + } + >; + + getGasLimit(overrides?: CallOverrides): Promise; + + getProposalById( + proposalId: BigNumberish, + overrides?: CallOverrides + ): Promise; + + getProposalState( + proposalId: BigNumberish, + overrides?: CallOverrides + ): Promise; + + getProposalVoteConfiguration( + proposalId: BigNumberish, + overrides?: CallOverrides + ): Promise; + + getProposalsVoteConfigurationIds( + skip: BigNumberish, + size: BigNumberish, + overrides?: CallOverrides + ): Promise; + + getUserProposalVote( + user: string, + proposalId: BigNumberish, + overrides?: CallOverrides + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + receiveCrossChainMessage( + originSender: string, + originChainId: BigNumberish, + messageWithType: BytesLike, + overrides?: Overrides & { from?: string } + ): Promise; + + renounceOwnership( + overrides?: Overrides & { from?: string } + ): Promise; + + startProposalVote( + proposalId: BigNumberish, + overrides?: Overrides & { from?: string } + ): Promise; + + submitVote( + proposalId: BigNumberish, + support: boolean, + votingBalanceProofs: IVotingMachineWithProofs.VotingBalanceProofStruct[], + overrides?: Overrides & { from?: string } + ): Promise; + + submitVoteAsRepresentative( + proposalId: BigNumberish, + support: boolean, + voter: string, + proofOfRepresentation: BytesLike, + votingBalanceProofs: IVotingMachineWithProofs.VotingBalanceProofStruct[], + overrides?: Overrides & { from?: string } + ): Promise; + + submitVoteAsRepresentativeBySignature( + proposalId: BigNumberish, + voter: string, + representative: string, + support: boolean, + proofOfRepresentation: BytesLike, + votingBalanceProofs: IVotingMachineWithProofs.VotingBalanceProofStruct[], + signatureParams: IVotingMachineWithProofs.SignatureParamsStruct, + overrides?: Overrides & { from?: string } + ): Promise; + + submitVoteBySignature( + proposalId: BigNumberish, + voter: string, + support: boolean, + votingBalanceProofs: IVotingMachineWithProofs.VotingBalanceProofStruct[], + v: BigNumberish, + r: BytesLike, + s: BytesLike, + overrides?: Overrides & { from?: string } + ): Promise; + + transferOwnership( + newOwner: string, + overrides?: Overrides & { from?: string } + ): Promise; + + updateGasLimit( + gasLimit: BigNumberish, + overrides?: Overrides & { from?: string } + ): Promise; + + callStatic: { + CROSS_CHAIN_CONTROLLER(overrides?: CallOverrides): Promise; + + DATA_WAREHOUSE(overrides?: CallOverrides): Promise; + + DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; + + GOVERNANCE(overrides?: CallOverrides): Promise; + + L1_VOTING_PORTAL(overrides?: CallOverrides): Promise; + + L1_VOTING_PORTAL_CHAIN_ID(overrides?: CallOverrides): Promise; + + NAME(overrides?: CallOverrides): Promise; + + REPRESENTATIVES_SLOT(overrides?: CallOverrides): Promise; + + VOTE_SUBMITTED_BY_REPRESENTATIVE_TYPEHASH( + overrides?: CallOverrides + ): Promise; + + VOTE_SUBMITTED_TYPEHASH(overrides?: CallOverrides): Promise; + + VOTING_ASSET_WITH_SLOT_RAW(overrides?: CallOverrides): Promise; + + VOTING_ASSET_WITH_SLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + VOTING_STRATEGY(overrides?: CallOverrides): Promise; + + closeAndSendVote( + proposalId: BigNumberish, + overrides?: CallOverrides + ): Promise; + + decodeMessage( + message: BytesLike, + overrides?: CallOverrides + ): Promise<[number, string]>; + + decodeProposalMessage( + message: BytesLike, + overrides?: CallOverrides + ): Promise<[BigNumber, string, number]>; + + decodeVoteMessage( + message: BytesLike, + overrides?: CallOverrides + ): Promise< + [ + BigNumber, + string, + boolean, + IVotingMachineWithProofs.VotingAssetWithSlotStructOutput[] + ] + >; + + eip712Domain( + overrides?: CallOverrides + ): Promise< + [string, string, string, BigNumber, string, string, BigNumber[]] & { + fields: string; + name: string; + version: string; + chainId: BigNumber; + verifyingContract: string; + salt: string; + extensions: BigNumber[]; + } + >; + + getGasLimit(overrides?: CallOverrides): Promise; + + getProposalById( + proposalId: BigNumberish, + overrides?: CallOverrides + ): Promise; + + getProposalState( + proposalId: BigNumberish, + overrides?: CallOverrides + ): Promise; + + getProposalVoteConfiguration( + proposalId: BigNumberish, + overrides?: CallOverrides + ): Promise; + + getProposalsVoteConfigurationIds( + skip: BigNumberish, + size: BigNumberish, + overrides?: CallOverrides + ): Promise; + + getUserProposalVote( + user: string, + proposalId: BigNumberish, + overrides?: CallOverrides + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + receiveCrossChainMessage( + originSender: string, + originChainId: BigNumberish, + messageWithType: BytesLike, + overrides?: CallOverrides + ): Promise; + + renounceOwnership(overrides?: CallOverrides): Promise; + + startProposalVote( + proposalId: BigNumberish, + overrides?: CallOverrides + ): Promise; + + submitVote( + proposalId: BigNumberish, + support: boolean, + votingBalanceProofs: IVotingMachineWithProofs.VotingBalanceProofStruct[], + overrides?: CallOverrides + ): Promise; + + submitVoteAsRepresentative( + proposalId: BigNumberish, + support: boolean, + voter: string, + proofOfRepresentation: BytesLike, + votingBalanceProofs: IVotingMachineWithProofs.VotingBalanceProofStruct[], + overrides?: CallOverrides + ): Promise; + + submitVoteAsRepresentativeBySignature( + proposalId: BigNumberish, + voter: string, + representative: string, + support: boolean, + proofOfRepresentation: BytesLike, + votingBalanceProofs: IVotingMachineWithProofs.VotingBalanceProofStruct[], + signatureParams: IVotingMachineWithProofs.SignatureParamsStruct, + overrides?: CallOverrides + ): Promise; + + submitVoteBySignature( + proposalId: BigNumberish, + voter: string, + support: boolean, + votingBalanceProofs: IVotingMachineWithProofs.VotingBalanceProofStruct[], + v: BigNumberish, + r: BytesLike, + s: BytesLike, + overrides?: CallOverrides + ): Promise; + + transferOwnership( + newOwner: string, + overrides?: CallOverrides + ): Promise; + + updateGasLimit( + gasLimit: BigNumberish, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "EIP712DomainChanged()"(): EIP712DomainChangedEventFilter; + EIP712DomainChanged(): EIP712DomainChangedEventFilter; + + "GasLimitUpdated(uint256)"( + gasLimit?: BigNumberish | null + ): GasLimitUpdatedEventFilter; + GasLimitUpdated(gasLimit?: BigNumberish | null): GasLimitUpdatedEventFilter; + + "IncorrectTypeMessageReceived(address,uint256,bytes,bytes)"( + originSender?: string | null, + originChainId?: BigNumberish | null, + message?: null, + reason?: null + ): IncorrectTypeMessageReceivedEventFilter; + IncorrectTypeMessageReceived( + originSender?: string | null, + originChainId?: BigNumberish | null, + message?: null, + reason?: null + ): IncorrectTypeMessageReceivedEventFilter; + + "MessageReceived(address,uint256,bool,uint8,bytes,bytes)"( + originSender?: string | null, + originChainId?: BigNumberish | null, + delivered?: boolean | null, + messageType?: null, + message?: null, + reason?: null + ): MessageReceivedEventFilter; + MessageReceived( + originSender?: string | null, + originChainId?: BigNumberish | null, + delivered?: boolean | null, + messageType?: null, + message?: null, + reason?: null + ): MessageReceivedEventFilter; + + "OwnershipTransferred(address,address)"( + previousOwner?: string | null, + newOwner?: string | null + ): OwnershipTransferredEventFilter; + OwnershipTransferred( + previousOwner?: string | null, + newOwner?: string | null + ): OwnershipTransferredEventFilter; + + "ProposalResultsSent(uint256,uint256,uint256)"( + proposalId?: BigNumberish | null, + forVotes?: null, + againstVotes?: null + ): ProposalResultsSentEventFilter; + ProposalResultsSent( + proposalId?: BigNumberish | null, + forVotes?: null, + againstVotes?: null + ): ProposalResultsSentEventFilter; + + "ProposalVoteConfigurationBridged(uint256,bytes32,uint24,bool)"( + proposalId?: BigNumberish | null, + blockHash?: BytesLike | null, + votingDuration?: null, + voteCreated?: boolean | null + ): ProposalVoteConfigurationBridgedEventFilter; + ProposalVoteConfigurationBridged( + proposalId?: BigNumberish | null, + blockHash?: BytesLike | null, + votingDuration?: null, + voteCreated?: boolean | null + ): ProposalVoteConfigurationBridgedEventFilter; + + "ProposalVoteStarted(uint256,bytes32,uint256,uint256)"( + proposalId?: BigNumberish | null, + l1BlockHash?: BytesLike | null, + startTime?: null, + endTime?: null + ): ProposalVoteStartedEventFilter; + ProposalVoteStarted( + proposalId?: BigNumberish | null, + l1BlockHash?: BytesLike | null, + startTime?: null, + endTime?: null + ): ProposalVoteStartedEventFilter; + + "VoteEmitted(uint256,address,bool,uint256)"( + proposalId?: BigNumberish | null, + voter?: string | null, + support?: boolean | null, + votingPower?: null + ): VoteEmittedEventFilter; + VoteEmitted( + proposalId?: BigNumberish | null, + voter?: string | null, + support?: boolean | null, + votingPower?: null + ): VoteEmittedEventFilter; + }; + + estimateGas: { + CROSS_CHAIN_CONTROLLER(overrides?: CallOverrides): Promise; + + DATA_WAREHOUSE(overrides?: CallOverrides): Promise; + + DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; + + GOVERNANCE(overrides?: CallOverrides): Promise; + + L1_VOTING_PORTAL(overrides?: CallOverrides): Promise; + + L1_VOTING_PORTAL_CHAIN_ID(overrides?: CallOverrides): Promise; + + NAME(overrides?: CallOverrides): Promise; + + REPRESENTATIVES_SLOT(overrides?: CallOverrides): Promise; + + VOTE_SUBMITTED_BY_REPRESENTATIVE_TYPEHASH( + overrides?: CallOverrides + ): Promise; + + VOTE_SUBMITTED_TYPEHASH(overrides?: CallOverrides): Promise; + + VOTING_ASSET_WITH_SLOT_RAW(overrides?: CallOverrides): Promise; + + VOTING_ASSET_WITH_SLOT_TYPEHASH( + overrides?: CallOverrides + ): Promise; + + VOTING_STRATEGY(overrides?: CallOverrides): Promise; + + closeAndSendVote( + proposalId: BigNumberish, + overrides?: Overrides & { from?: string } + ): Promise; + + decodeMessage( + message: BytesLike, + overrides?: CallOverrides + ): Promise; + + decodeProposalMessage( + message: BytesLike, + overrides?: CallOverrides + ): Promise; + + decodeVoteMessage( + message: BytesLike, + overrides?: CallOverrides + ): Promise; + + eip712Domain(overrides?: CallOverrides): Promise; + + getGasLimit(overrides?: CallOverrides): Promise; + + getProposalById( + proposalId: BigNumberish, + overrides?: CallOverrides + ): Promise; + + getProposalState( + proposalId: BigNumberish, + overrides?: CallOverrides + ): Promise; + + getProposalVoteConfiguration( + proposalId: BigNumberish, + overrides?: CallOverrides + ): Promise; + + getProposalsVoteConfigurationIds( + skip: BigNumberish, + size: BigNumberish, + overrides?: CallOverrides + ): Promise; + + getUserProposalVote( + user: string, + proposalId: BigNumberish, + overrides?: CallOverrides + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + receiveCrossChainMessage( + originSender: string, + originChainId: BigNumberish, + messageWithType: BytesLike, + overrides?: Overrides & { from?: string } + ): Promise; + + renounceOwnership( + overrides?: Overrides & { from?: string } + ): Promise; + + startProposalVote( + proposalId: BigNumberish, + overrides?: Overrides & { from?: string } + ): Promise; + + submitVote( + proposalId: BigNumberish, + support: boolean, + votingBalanceProofs: IVotingMachineWithProofs.VotingBalanceProofStruct[], + overrides?: Overrides & { from?: string } + ): Promise; + + submitVoteAsRepresentative( + proposalId: BigNumberish, + support: boolean, + voter: string, + proofOfRepresentation: BytesLike, + votingBalanceProofs: IVotingMachineWithProofs.VotingBalanceProofStruct[], + overrides?: Overrides & { from?: string } + ): Promise; + + submitVoteAsRepresentativeBySignature( + proposalId: BigNumberish, + voter: string, + representative: string, + support: boolean, + proofOfRepresentation: BytesLike, + votingBalanceProofs: IVotingMachineWithProofs.VotingBalanceProofStruct[], + signatureParams: IVotingMachineWithProofs.SignatureParamsStruct, + overrides?: Overrides & { from?: string } + ): Promise; + + submitVoteBySignature( + proposalId: BigNumberish, + voter: string, + support: boolean, + votingBalanceProofs: IVotingMachineWithProofs.VotingBalanceProofStruct[], + v: BigNumberish, + r: BytesLike, + s: BytesLike, + overrides?: Overrides & { from?: string } + ): Promise; + + transferOwnership( + newOwner: string, + overrides?: Overrides & { from?: string } + ): Promise; + + updateGasLimit( + gasLimit: BigNumberish, + overrides?: Overrides & { from?: string } + ): Promise; + }; + + populateTransaction: { + CROSS_CHAIN_CONTROLLER( + overrides?: CallOverrides + ): Promise; + + DATA_WAREHOUSE(overrides?: CallOverrides): Promise; + + DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; + + GOVERNANCE(overrides?: CallOverrides): Promise; + + L1_VOTING_PORTAL(overrides?: CallOverrides): Promise; + + L1_VOTING_PORTAL_CHAIN_ID( + overrides?: CallOverrides + ): Promise; + + NAME(overrides?: CallOverrides): Promise; + + REPRESENTATIVES_SLOT( + overrides?: CallOverrides + ): Promise; + + VOTE_SUBMITTED_BY_REPRESENTATIVE_TYPEHASH( + overrides?: CallOverrides + ): Promise; + + VOTE_SUBMITTED_TYPEHASH( + overrides?: CallOverrides + ): Promise; + + VOTING_ASSET_WITH_SLOT_RAW( + overrides?: CallOverrides + ): Promise; + + VOTING_ASSET_WITH_SLOT_TYPEHASH( + overrides?: CallOverrides + ): Promise; + + VOTING_STRATEGY(overrides?: CallOverrides): Promise; + + closeAndSendVote( + proposalId: BigNumberish, + overrides?: Overrides & { from?: string } + ): Promise; + + decodeMessage( + message: BytesLike, + overrides?: CallOverrides + ): Promise; + + decodeProposalMessage( + message: BytesLike, + overrides?: CallOverrides + ): Promise; + + decodeVoteMessage( + message: BytesLike, + overrides?: CallOverrides + ): Promise; + + eip712Domain(overrides?: CallOverrides): Promise; + + getGasLimit(overrides?: CallOverrides): Promise; + + getProposalById( + proposalId: BigNumberish, + overrides?: CallOverrides + ): Promise; + + getProposalState( + proposalId: BigNumberish, + overrides?: CallOverrides + ): Promise; + + getProposalVoteConfiguration( + proposalId: BigNumberish, + overrides?: CallOverrides + ): Promise; + + getProposalsVoteConfigurationIds( + skip: BigNumberish, + size: BigNumberish, + overrides?: CallOverrides + ): Promise; + + getUserProposalVote( + user: string, + proposalId: BigNumberish, + overrides?: CallOverrides + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + receiveCrossChainMessage( + originSender: string, + originChainId: BigNumberish, + messageWithType: BytesLike, + overrides?: Overrides & { from?: string } + ): Promise; + + renounceOwnership( + overrides?: Overrides & { from?: string } + ): Promise; + + startProposalVote( + proposalId: BigNumberish, + overrides?: Overrides & { from?: string } + ): Promise; + + submitVote( + proposalId: BigNumberish, + support: boolean, + votingBalanceProofs: IVotingMachineWithProofs.VotingBalanceProofStruct[], + overrides?: Overrides & { from?: string } + ): Promise; + + submitVoteAsRepresentative( + proposalId: BigNumberish, + support: boolean, + voter: string, + proofOfRepresentation: BytesLike, + votingBalanceProofs: IVotingMachineWithProofs.VotingBalanceProofStruct[], + overrides?: Overrides & { from?: string } + ): Promise; + + submitVoteAsRepresentativeBySignature( + proposalId: BigNumberish, + voter: string, + representative: string, + support: boolean, + proofOfRepresentation: BytesLike, + votingBalanceProofs: IVotingMachineWithProofs.VotingBalanceProofStruct[], + signatureParams: IVotingMachineWithProofs.SignatureParamsStruct, + overrides?: Overrides & { from?: string } + ): Promise; + + submitVoteBySignature( + proposalId: BigNumberish, + voter: string, + support: boolean, + votingBalanceProofs: IVotingMachineWithProofs.VotingBalanceProofStruct[], + v: BigNumberish, + r: BytesLike, + s: BytesLike, + overrides?: Overrides & { from?: string } + ): Promise; + + transferOwnership( + newOwner: string, + overrides?: Overrides & { from?: string } + ): Promise; + + updateGasLimit( + gasLimit: BigNumberish, + overrides?: Overrides & { from?: string } + ): Promise; + }; +} diff --git a/src/components/transactions/GovVote/temporary/typechain/common.ts b/src/components/transactions/GovVote/temporary/typechain/common.ts new file mode 100644 index 0000000000..3e1b0b2bf0 --- /dev/null +++ b/src/components/transactions/GovVote/temporary/typechain/common.ts @@ -0,0 +1,43 @@ +/* Autogenerated file. Do not edit manually. */ +/* eslint-disable */ +import type { Listener } from "@ethersproject/providers"; +import type { Event, EventFilter } from "ethers"; + +export interface TypedEvent< + TArgsArray extends Array = any, + TArgsObject = any +> extends Event { + args: TArgsArray & TArgsObject; +} + +export interface TypedEventFilter<_TEvent extends TypedEvent> + extends EventFilter {} + +export interface TypedListener { + (...listenerArg: [...__TypechainArgsArray, TEvent]): void; +} + +type __TypechainArgsArray = T extends TypedEvent ? U : never; + +export interface OnEvent { + ( + eventFilter: TypedEventFilter, + listener: TypedListener + ): TRes; + (eventName: string, listener: Listener): TRes; +} + +export type MinEthersFactory = { + deploy(...a: ARGS[]): Promise; +}; + +export type GetContractTypeFromFactory = F extends MinEthersFactory< + infer C, + any +> + ? C + : never; + +export type GetARGsTypeFromFactory = F extends MinEthersFactory + ? Parameters + : never; diff --git a/src/components/transactions/GovVote/temporary/typechain/factory/VotingMachine__factory.ts b/src/components/transactions/GovVote/temporary/typechain/factory/VotingMachine__factory.ts new file mode 100644 index 0000000000..db54fd7af8 --- /dev/null +++ b/src/components/transactions/GovVote/temporary/typechain/factory/VotingMachine__factory.ts @@ -0,0 +1,1160 @@ +/* Autogenerated file. Do not edit manually. */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { VotingMachine, VotingMachineInterface } from "../VotingMachine"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "crossChainController", + type: "address", + }, + { + internalType: "uint256", + name: "gasLimit", + type: "uint256", + }, + { + internalType: "uint256", + name: "l1VotingPortalChainId", + type: "uint256", + }, + { + internalType: "contract IVotingStrategy", + name: "votingStrategy", + type: "address", + }, + { + internalType: "address", + name: "l1VotingPortal", + type: "address", + }, + { + internalType: "address", + name: "governance", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + inputs: [], + name: "ECDSAInvalidSignature", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "length", + type: "uint256", + }, + ], + name: "ECDSAInvalidSignatureLength", + type: "error", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "ECDSAInvalidSignatureS", + type: "error", + }, + { + inputs: [], + name: "InvalidShortString", + type: "error", + }, + { + inputs: [ + { + internalType: "string", + name: "str", + type: "string", + }, + ], + name: "StringTooLong", + type: "error", + }, + { + anonymous: false, + inputs: [], + name: "EIP712DomainChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "gasLimit", + type: "uint256", + }, + ], + name: "GasLimitUpdated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "originSender", + type: "address", + }, + { + indexed: true, + internalType: "uint256", + name: "originChainId", + type: "uint256", + }, + { + indexed: false, + internalType: "bytes", + name: "message", + type: "bytes", + }, + { + indexed: false, + internalType: "bytes", + name: "reason", + type: "bytes", + }, + ], + name: "IncorrectTypeMessageReceived", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "originSender", + type: "address", + }, + { + indexed: true, + internalType: "uint256", + name: "originChainId", + type: "uint256", + }, + { + indexed: true, + internalType: "bool", + name: "delivered", + type: "bool", + }, + { + indexed: false, + internalType: "enum IVotingPortal.MessageType", + name: "messageType", + type: "uint8", + }, + { + indexed: false, + internalType: "bytes", + name: "message", + type: "bytes", + }, + { + indexed: false, + internalType: "bytes", + name: "reason", + type: "bytes", + }, + ], + name: "MessageReceived", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "previousOwner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "OwnershipTransferred", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "forVotes", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "againstVotes", + type: "uint256", + }, + ], + name: "ProposalResultsSent", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + indexed: true, + internalType: "bytes32", + name: "blockHash", + type: "bytes32", + }, + { + indexed: false, + internalType: "uint24", + name: "votingDuration", + type: "uint24", + }, + { + indexed: true, + internalType: "bool", + name: "voteCreated", + type: "bool", + }, + ], + name: "ProposalVoteConfigurationBridged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + indexed: true, + internalType: "bytes32", + name: "l1BlockHash", + type: "bytes32", + }, + { + indexed: false, + internalType: "uint256", + name: "startTime", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "endTime", + type: "uint256", + }, + ], + name: "ProposalVoteStarted", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + indexed: true, + internalType: "address", + name: "voter", + type: "address", + }, + { + indexed: true, + internalType: "bool", + name: "support", + type: "bool", + }, + { + indexed: false, + internalType: "uint256", + name: "votingPower", + type: "uint256", + }, + ], + name: "VoteEmitted", + type: "event", + }, + { + inputs: [], + name: "CROSS_CHAIN_CONTROLLER", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "DATA_WAREHOUSE", + outputs: [ + { + internalType: "contract IDataWarehouse", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "DOMAIN_SEPARATOR", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "GOVERNANCE", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "L1_VOTING_PORTAL", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "L1_VOTING_PORTAL_CHAIN_ID", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "NAME", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "REPRESENTATIVES_SLOT", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "VOTE_SUBMITTED_BY_REPRESENTATIVE_TYPEHASH", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "VOTE_SUBMITTED_TYPEHASH", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "VOTING_ASSET_WITH_SLOT_RAW", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "VOTING_ASSET_WITH_SLOT_TYPEHASH", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "VOTING_STRATEGY", + outputs: [ + { + internalType: "contract IVotingStrategy", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "closeAndSendVote", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes", + name: "message", + type: "bytes", + }, + ], + name: "decodeMessage", + outputs: [ + { + internalType: "enum IVotingPortal.MessageType", + name: "", + type: "uint8", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes", + name: "message", + type: "bytes", + }, + ], + name: "decodeProposalMessage", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + { + internalType: "uint24", + name: "", + type: "uint24", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes", + name: "message", + type: "bytes", + }, + ], + name: "decodeVoteMessage", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "bool", + name: "", + type: "bool", + }, + { + components: [ + { + internalType: "address", + name: "underlyingAsset", + type: "address", + }, + { + internalType: "uint128", + name: "slot", + type: "uint128", + }, + ], + internalType: "struct IVotingMachineWithProofs.VotingAssetWithSlot[]", + name: "", + type: "tuple[]", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [], + name: "eip712Domain", + outputs: [ + { + internalType: "bytes1", + name: "fields", + type: "bytes1", + }, + { + internalType: "string", + name: "name", + type: "string", + }, + { + internalType: "string", + name: "version", + type: "string", + }, + { + internalType: "uint256", + name: "chainId", + type: "uint256", + }, + { + internalType: "address", + name: "verifyingContract", + type: "address", + }, + { + internalType: "bytes32", + name: "salt", + type: "bytes32", + }, + { + internalType: "uint256[]", + name: "extensions", + type: "uint256[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getGasLimit", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "getProposalById", + outputs: [ + { + components: [ + { + internalType: "uint256", + name: "id", + type: "uint256", + }, + { + internalType: "bool", + name: "sentToGovernance", + type: "bool", + }, + { + internalType: "uint40", + name: "startTime", + type: "uint40", + }, + { + internalType: "uint40", + name: "endTime", + type: "uint40", + }, + { + internalType: "uint40", + name: "votingClosedAndSentTimestamp", + type: "uint40", + }, + { + internalType: "uint128", + name: "forVotes", + type: "uint128", + }, + { + internalType: "uint128", + name: "againstVotes", + type: "uint128", + }, + { + internalType: "uint256", + name: "creationBlockNumber", + type: "uint256", + }, + { + internalType: "uint256", + name: "votingClosedAndSentBlockNumber", + type: "uint256", + }, + ], + internalType: "struct IVotingMachineWithProofs.ProposalWithoutVotes", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "getProposalState", + outputs: [ + { + internalType: "enum IVotingMachineWithProofs.ProposalState", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "getProposalVoteConfiguration", + outputs: [ + { + components: [ + { + internalType: "uint24", + name: "votingDuration", + type: "uint24", + }, + { + internalType: "bytes32", + name: "l1ProposalBlockHash", + type: "bytes32", + }, + ], + internalType: + "struct IVotingMachineWithProofs.ProposalVoteConfiguration", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "skip", + type: "uint256", + }, + { + internalType: "uint256", + name: "size", + type: "uint256", + }, + ], + name: "getProposalsVoteConfigurationIds", + outputs: [ + { + internalType: "uint256[]", + name: "", + type: "uint256[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "user", + type: "address", + }, + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "getUserProposalVote", + outputs: [ + { + components: [ + { + internalType: "bool", + name: "support", + type: "bool", + }, + { + internalType: "uint248", + name: "votingPower", + type: "uint248", + }, + ], + internalType: "struct IVotingMachineWithProofs.Vote", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "originSender", + type: "address", + }, + { + internalType: "uint256", + name: "originChainId", + type: "uint256", + }, + { + internalType: "bytes", + name: "messageWithType", + type: "bytes", + }, + ], + name: "receiveCrossChainMessage", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "renounceOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "startProposalVote", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "bool", + name: "support", + type: "bool", + }, + { + components: [ + { + internalType: "address", + name: "underlyingAsset", + type: "address", + }, + { + internalType: "uint128", + name: "slot", + type: "uint128", + }, + { + internalType: "bytes", + name: "proof", + type: "bytes", + }, + ], + internalType: "struct IVotingMachineWithProofs.VotingBalanceProof[]", + name: "votingBalanceProofs", + type: "tuple[]", + }, + ], + name: "submitVote", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "bool", + name: "support", + type: "bool", + }, + { + internalType: "address", + name: "voter", + type: "address", + }, + { + internalType: "bytes", + name: "proofOfRepresentation", + type: "bytes", + }, + { + components: [ + { + internalType: "address", + name: "underlyingAsset", + type: "address", + }, + { + internalType: "uint128", + name: "slot", + type: "uint128", + }, + { + internalType: "bytes", + name: "proof", + type: "bytes", + }, + ], + internalType: "struct IVotingMachineWithProofs.VotingBalanceProof[]", + name: "votingBalanceProofs", + type: "tuple[]", + }, + ], + name: "submitVoteAsRepresentative", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "address", + name: "voter", + type: "address", + }, + { + internalType: "address", + name: "representative", + type: "address", + }, + { + internalType: "bool", + name: "support", + type: "bool", + }, + { + internalType: "bytes", + name: "proofOfRepresentation", + type: "bytes", + }, + { + components: [ + { + internalType: "address", + name: "underlyingAsset", + type: "address", + }, + { + internalType: "uint128", + name: "slot", + type: "uint128", + }, + { + internalType: "bytes", + name: "proof", + type: "bytes", + }, + ], + internalType: "struct IVotingMachineWithProofs.VotingBalanceProof[]", + name: "votingBalanceProofs", + type: "tuple[]", + }, + { + components: [ + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + internalType: "struct IVotingMachineWithProofs.SignatureParams", + name: "signatureParams", + type: "tuple", + }, + ], + name: "submitVoteAsRepresentativeBySignature", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "address", + name: "voter", + type: "address", + }, + { + internalType: "bool", + name: "support", + type: "bool", + }, + { + components: [ + { + internalType: "address", + name: "underlyingAsset", + type: "address", + }, + { + internalType: "uint128", + name: "slot", + type: "uint128", + }, + { + internalType: "bytes", + name: "proof", + type: "bytes", + }, + ], + internalType: "struct IVotingMachineWithProofs.VotingBalanceProof[]", + name: "votingBalanceProofs", + type: "tuple[]", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "submitVoteBySignature", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "transferOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "gasLimit", + type: "uint256", + }, + ], + name: "updateGasLimit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class VotingMachine__factory { + static readonly abi = _abi; + static createInterface(): VotingMachineInterface { + return new utils.Interface(_abi) as VotingMachineInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): VotingMachine { + return new Contract(address, _abi, signerOrProvider) as VotingMachine; + } +} diff --git a/src/ui-config/governanceConfig.ts b/src/ui-config/governanceConfig.ts index 6787b5d067..22c8790ea9 100644 --- a/src/ui-config/governanceConfig.ts +++ b/src/ui-config/governanceConfig.ts @@ -52,6 +52,7 @@ export type VotingChain = typeof votingChainIds[number]; export interface VotingMachineConfig { portalToMachineMap: { [votingPoralAddress: string]: string }; votingPortalDataHelperAddress: string; + votingMachineAddress: string; } export interface GovernanceV3Config { @@ -71,6 +72,7 @@ const sepoliaVotingMachineConfig: VotingMachineConfig = { '0x1079bAa48E56065d43b4344866B187a485cb0A92': '0xA1995F1d5A8A247c064a76F336E1C2ecD24Ef0D9', }, votingPortalDataHelperAddress: '0x133210F3fe2deEB34e65deB6861ee3dF87393977', + votingMachineAddress: '0xA1995F1d5A8A247c064a76F336E1C2ecD24Ef0D9', }; const fujiVotingMachineConfig: VotingMachineConfig = { @@ -78,6 +80,7 @@ const fujiVotingMachineConfig: VotingMachineConfig = { '0x4f47EdF2577995aBd7B875Eed75b3F28a20E696F': '0x767AA57554690D23D1E0594E8746271C97e1A1e4', }, votingPortalDataHelperAddress: '0x133210F3fe2deEB34e65deB6861ee3dF87393977', + votingMachineAddress: '0x767AA57554690D23D1E0594E8746271C97e1A1e4', }; export const governanceV3Config: GovernanceV3Config = { diff --git a/src/ui-config/networksConfig.ts b/src/ui-config/networksConfig.ts index c13337ba89..f7e99dfb97 100644 --- a/src/ui-config/networksConfig.ts +++ b/src/ui-config/networksConfig.ts @@ -54,6 +54,7 @@ export type BaseNetworkConfig = Omit; export const networkConfigs: Record = { [ChainId.sepolia]: { name: 'Ethereum Sepolia', + privateJsonRPCUrl: "https://eth-sepolia.g.alchemy.com/v2/VAfNJrTN-TopQjFDwcdLeeDOLDiFQcBP", publicJsonRPCUrl: [ 'https://eth-sepolia.public.blastapi.io', 'https://rpc.sepolia.org', diff --git a/src/utils/marketsAndNetworksConfig.ts b/src/utils/marketsAndNetworksConfig.ts index 1634a39e25..5ebb4d2b98 100644 --- a/src/utils/marketsAndNetworksConfig.ts +++ b/src/utils/marketsAndNetworksConfig.ts @@ -15,6 +15,7 @@ import { networkConfigs as _networkConfigs, } from '../ui-config/networksConfig'; import { RotationProvider } from './rotationProvider'; +import { ProviderWithSend } from 'src/components/transactions/GovVote/temporary/VotingMachineService'; export type Pool = { address: string; @@ -122,15 +123,15 @@ export const availableMarkets = Object.keys(marketsData).filter((key) => const linkBuilder = ({ baseUrl, addressPrefix = 'address', txPrefix = 'tx' }: ExplorerLinkBuilderConfig) => - ({ tx, address }: ExplorerLinkBuilderProps): string => { - if (tx) { - return `${baseUrl}/${txPrefix}/${tx}`; - } - if (address) { - return `${baseUrl}/${addressPrefix}/${address}`; - } - return baseUrl; - }; + ({ tx, address }: ExplorerLinkBuilderProps): string => { + if (tx) { + return `${baseUrl}/${txPrefix}/${tx}`; + } + if (address) { + return `${baseUrl}/${addressPrefix}/${address}`; + } + return baseUrl; + }; export function getNetworkConfig(chainId: ChainId): NetworkConfig { const config = networkConfigs[chainId]; @@ -159,14 +160,14 @@ export const isFeatureEnabled = { switch: (data: MarketDataType) => data.enabledFeatures?.switch, }; -const providers: { [network: string]: ethersProviders.Provider } = {}; +const providers: { [network: string]: ProviderWithSend } = {}; /** * Created a fallback rpc provider in which providers are prioritized from private to public and in case there are multiple public ones, from top to bottom. * @param chainId * @returns provider or fallbackprovider in case multiple rpcs are configured */ -export const getProvider = (chainId: ChainId): ethersProviders.Provider => { +export const getProvider = (chainId: ChainId): ProviderWithSend => { if (!providers[chainId]) { const config = getNetworkConfig(chainId); const chainProviders: string[] = []; diff --git a/src/utils/rotationProvider.ts b/src/utils/rotationProvider.ts index d272eec4d7..6ac0a6ebec 100644 --- a/src/utils/rotationProvider.ts +++ b/src/utils/rotationProvider.ts @@ -125,6 +125,17 @@ export class RotationProvider extends BaseProvider { return checkNetworks(networks); } + async send(method: string, params: Array): Promise { + const index = this.currentProviderIndex; + try { + return await this.providers[index].send(method, params); + } catch (e) { + console.error(e.message); + await this.rotateUrl(index); + return this.send(method, params); + } + } + // eslint-disable-next-line async perform(method: string, params: any): Promise { const index = this.currentProviderIndex; From fa8361625694466e08ff168223cf62d115e2e4f1 Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Thu, 21 Dec 2023 13:09:53 -0600 Subject: [PATCH 45/84] fix: proposal details --- src/hooks/governance/useVoteOnProposal.ts | 15 ---- .../governance/proposal/ProposalLifecycle.tsx | 84 ++++++++++--------- .../governance/proposal/VotingResults.tsx | 31 ++++--- .../governance/utils/formatProposal.ts | 27 ++++-- 4 files changed, 79 insertions(+), 78 deletions(-) delete mode 100644 src/hooks/governance/useVoteOnProposal.ts diff --git a/src/hooks/governance/useVoteOnProposal.ts b/src/hooks/governance/useVoteOnProposal.ts deleted file mode 100644 index 9579b12322..0000000000 --- a/src/hooks/governance/useVoteOnProposal.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { useQuery } from '@tanstack/react-query'; -import { useRootStore } from 'src/store/root'; -import { MarketDataType } from 'src/ui-config/marketsConfig'; -import { queryKeysFactory } from 'src/ui-config/queries'; -import { useSharedDependencies } from 'src/ui-config/SharedDependenciesProvider'; - -export const useVoteOnProposal = (marketData: MarketDataType, proposalId: number) => { - const { governanceService } = useSharedDependencies(); - const user = useRootStore((store) => store.account); - return useQuery({ - queryFn: () => governanceService.getVoteOnProposal(marketData, user, proposalId), - queryKey: queryKeysFactory.voteOnProposal(user, proposalId, marketData), - enabled: !!user, - }); -}; diff --git a/src/modules/governance/proposal/ProposalLifecycle.tsx b/src/modules/governance/proposal/ProposalLifecycle.tsx index d964f70dd2..6d75e9da32 100644 --- a/src/modules/governance/proposal/ProposalLifecycle.tsx +++ b/src/modules/governance/proposal/ProposalLifecycle.tsx @@ -44,6 +44,17 @@ export const ProposalLifecycle = ({ const proposalState = getLifecycleState(proposal, payloads); + const votingClosedStepLabel = Voting closed; + // TODO: show if passed/failed + // if (proposalState >= ProposalLifecycleStep.VotingClosed) { + // proposal.votingMachineData. + // votingClosedStepLabel = ( + // <> + // Voting closed + // {'Passed'} + // + // ); + // } return ( @@ -59,36 +70,25 @@ export const ProposalLifecycle = ({ }} > = ProposalLifecycleStep.Created ? StepState.Completed : StepState.Active - } + completed={proposalState > ProposalLifecycleStep.Created} + active={proposalState === ProposalLifecycleStep.Created} stepName={Created} timestamp={formatTime(proposal.proposalData.proposalData.creationTime)} /> ProposalLifecycleStep.OpenForVoting - ? StepState.Completed - : StepState.Active - } + completed={proposalState > ProposalLifecycleStep.OpenForVoting} + active={proposalState === ProposalLifecycleStep.OpenForVoting} stepName={Open for voting} timestamp={formatTime(getOpenForVotingTimestamp(proposalState, proposal, votingConfig))} /> ProposalLifecycleStep.VotingClosed - ? StepState.Completed - : StepState.Active - } - stepName={Voting closed} + completed={proposalState > ProposalLifecycleStep.VotingClosed} + active={proposalState === ProposalLifecycleStep.VotingClosed} + stepName={votingClosedStepLabel} timestamp={formatTime(getVotingClosedTimestamp(proposalState, proposal, votingConfig))} /> = ProposalLifecycleStep.PayloadsExecuted} stepName={Payloads executed} timestamp={formatTime( getPayloadsExecutedTimestamp(proposalState, proposal, votingConfig, payloads) @@ -102,37 +102,30 @@ export const ProposalLifecycle = ({ const getLifecycleState = (proposal: EnhancedProposal, payloads: Payload[]) => { if (proposal.proposalData.proposalData.state === ProposalV3State.Created) { - console.log('created'); return ProposalLifecycleStep.Created; } if (proposal.proposalData.proposalData.state === ProposalV3State.Active) { - console.log('open for voting'); return ProposalLifecycleStep.OpenForVoting; } if (proposal.votingMachineData.state === VotingMachineProposalState.Finished) { - console.log('voting closed'); return ProposalLifecycleStep.VotingClosed; } const payloadsExecuted = payloads.every((payload) => payload.state === PayloadState.Executed); if (payloadsExecuted) { - console.log('payloads executed'); return ProposalLifecycleStep.PayloadsExecuted; } if (proposal.proposalData.proposalData.state === ProposalV3State.Cancelled) { - console.log('cancelled'); return ProposalLifecycleStep.Cancelled; } if (proposal.proposalData.proposalData.state === ProposalV3State.Expired) { - console.log('expired'); return ProposalLifecycleStep.Expired; } - console.log('default - created'); return ProposalLifecycleStep.Created; // TODO }; @@ -184,38 +177,47 @@ const formatTime = (timestamp: number) => { return dayjs.unix(timestamp).format('MMM D, YYYY h:mm A'); }; -enum StepState { - Completed, - Active, -} - const ProposalStep = ({ stepName, timestamp, - state, lastStep, + completed, + active, }: { stepName: ReactNode; timestamp: string; - state: StepState; lastStep?: boolean; + completed?: boolean; + active?: boolean; }) => { const theme = useTheme(); - const dotColor = - state === StepState.Completed ? theme.palette.primary.main : theme.palette.text.disabled; - const connectorColor = - state === StepState.Completed ? theme.palette.primary.main : theme.palette.text.disabled; + return ( - {!lastStep && } + {!lastStep && ( + + )} - + {stepName} diff --git a/src/modules/governance/proposal/VotingResults.tsx b/src/modules/governance/proposal/VotingResults.tsx index d4f5cc3a6e..e75f31794b 100644 --- a/src/modules/governance/proposal/VotingResults.tsx +++ b/src/modules/governance/proposal/VotingResults.tsx @@ -88,15 +88,14 @@ export const VotingResults = ({ proposal, loading, proposalVotes }: VotingResult roundDown sx={{ display: 'block' }} /> - {/* - - */} + + Reached : Not reached} - checked={proposal.diffReached} + text={ + proposal.differentialReached ? Reached : Not reached + } + checked={proposal.differentialReached} sx={{ height: 48 }} variant="description" /> @@ -124,23 +125,21 @@ export const VotingResults = ({ proposal, loading, proposalVotes }: VotingResult sx={{ height: 48 }} captionVariant="description" > - {/* - - */} + {/* { + const quorum = constants.votingConfigs[proposalData.proposalData.accessLevel].config.quorum; const quorumReached = isQuorumReached( proposalData.proposalData.forVotes, - constants.votingConfigs[proposalData.proposalData.accessLevel].config.quorum, + quorum, constants.precisionDivider ); - const diffReached = isDifferentialReached( + + const forVotesBN = valueToBigNumber(proposalData.proposalData.forVotes); + const againstVotesBN = valueToBigNumber(proposalData.proposalData.againstVotes); + const currentDifferential = normalizeBN(forVotesBN.minus(againstVotesBN), 18).toString(); + + const requiredDifferential = + constants.votingConfigs[proposalData.proposalData.accessLevel].config.differential; + + const differentialReached = isDifferentialReached( proposalData.proposalData.forVotes, proposalData.proposalData.againstVotes, - constants.votingConfigs[proposalData.proposalData.accessLevel].config.differential, + requiredDifferential, constants.precisionDivider ); @@ -170,8 +182,11 @@ export const formatProposalV3 = ( againstVotes, forPercent, againstPercent, + quorum, quorumReached, - diffReached, + currentDifferential, + requiredDifferential, + differentialReached, accessLevel: proposalData.proposalData.accessLevel, votingChainId: proposalData.votingChainId, }; From f7b30e16dc2efabf311954cf5aa1b8d912e5410d Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Thu, 21 Dec 2023 13:49:15 -0600 Subject: [PATCH 46/84] fix: voting results --- src/modules/governance/utils/formatProposal.ts | 10 +++++----- src/ui-config/networksConfig.ts | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/modules/governance/utils/formatProposal.ts b/src/modules/governance/utils/formatProposal.ts index 0684ed2904..f196456c8d 100644 --- a/src/modules/governance/utils/formatProposal.ts +++ b/src/modules/governance/utils/formatProposal.ts @@ -139,21 +139,21 @@ export const formatProposalV3 = ( ): FormattedProposalV3 => { const quorum = constants.votingConfigs[proposalData.proposalData.accessLevel].config.quorum; const quorumReached = isQuorumReached( - proposalData.proposalData.forVotes, + votingMachineData.proposalData.forVotes, quorum, constants.precisionDivider ); - const forVotesBN = valueToBigNumber(proposalData.proposalData.forVotes); - const againstVotesBN = valueToBigNumber(proposalData.proposalData.againstVotes); + const forVotesBN = valueToBigNumber(votingMachineData.proposalData.forVotes); + const againstVotesBN = valueToBigNumber(votingMachineData.proposalData.againstVotes); const currentDifferential = normalizeBN(forVotesBN.minus(againstVotesBN), 18).toString(); const requiredDifferential = constants.votingConfigs[proposalData.proposalData.accessLevel].config.differential; const differentialReached = isDifferentialReached( - proposalData.proposalData.forVotes, - proposalData.proposalData.againstVotes, + votingMachineData.proposalData.forVotes, + votingMachineData.proposalData.againstVotes, requiredDifferential, constants.precisionDivider ); diff --git a/src/ui-config/networksConfig.ts b/src/ui-config/networksConfig.ts index f7e99dfb97..a857f9addd 100644 --- a/src/ui-config/networksConfig.ts +++ b/src/ui-config/networksConfig.ts @@ -54,7 +54,7 @@ export type BaseNetworkConfig = Omit; export const networkConfigs: Record = { [ChainId.sepolia]: { name: 'Ethereum Sepolia', - privateJsonRPCUrl: "https://eth-sepolia.g.alchemy.com/v2/VAfNJrTN-TopQjFDwcdLeeDOLDiFQcBP", + privateJsonRPCUrl: 'https://eth-sepolia.g.alchemy.com/v2/VAfNJrTN-TopQjFDwcdLeeDOLDiFQcBP', publicJsonRPCUrl: [ 'https://eth-sepolia.public.blastapi.io', 'https://rpc.sepolia.org', From 85a36aeb809bbd6d00af400f637f15787bc4a4a2 Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Thu, 21 Dec 2023 14:13:04 -0600 Subject: [PATCH 47/84] fix: voting subgraph urls --- .../proposal/[proposalId].governance.tsx | 5 +++- src/hooks/governance/useProposalVotes.ts | 25 ++++++++++++++----- src/ui-config/governanceConfig.ts | 8 +++--- 3 files changed, 28 insertions(+), 10 deletions(-) diff --git a/pages/governance/proposal/[proposalId].governance.tsx b/pages/governance/proposal/[proposalId].governance.tsx index 39ff0d67cb..4afaa72e61 100644 --- a/pages/governance/proposal/[proposalId].governance.tsx +++ b/pages/governance/proposal/[proposalId].governance.tsx @@ -45,7 +45,10 @@ export default function ProposalPage() { const { data: payloadData } = usePayloadsData(payloadParams); const { data: constants, isLoading: constantsLoading } = useGetVotingConfig(); - const proposalVotes = useProposalVotes({ proposalId }); + const proposalVotes = useProposalVotes({ + proposalId, + votingChainId: proposal?.proposalData.votingChainId, + }); const loading = newProposalLoading || constantsLoading; diff --git a/src/hooks/governance/useProposalVotes.ts b/src/hooks/governance/useProposalVotes.ts index c21123b822..871cc9245e 100644 --- a/src/hooks/governance/useProposalVotes.ts +++ b/src/hooks/governance/useProposalVotes.ts @@ -1,7 +1,8 @@ +import { ChainId } from '@aave/contract-helpers'; import { normalizeBN } from '@aave/math-utils'; import { useQuery } from '@tanstack/react-query'; import request, { gql } from 'graphql-request'; -import { governanceV3Config } from 'src/ui-config/governanceConfig'; +import { governanceV3Config, VotingChain } from 'src/ui-config/governanceConfig'; export type ProposalVote = { proposalId: string; @@ -28,18 +29,24 @@ const getProposalVotes = gql` } `; -export const useProposalVotesQuery = ({ proposalId }: { proposalId: string }) => { +export const useProposalVotesQuery = ({ + proposalId, + votingChainId, +}: { + proposalId: string; + votingChainId: ChainId | undefined; +}) => { return useQuery({ queryFn: () => request<{ voteEmitteds: ProposalVote[] }>( - governanceV3Config.votingMachineSubgraphUrl, + governanceV3Config.votingChainConfig[votingChainId as VotingChain].subgraphUrl, getProposalVotes, { proposalId, } ), queryKey: ['proposalVotes', proposalId], - enabled: true, + enabled: votingChainId !== undefined, refetchOnMount: false, refetchOnWindowFocus: false, refetchOnReconnect: false, @@ -55,8 +62,14 @@ const sortByVotingPower = (a: ProposalVote, b: ProposalVote) => { return a.votingPower < b.votingPower ? 1 : a.votingPower > b.votingPower ? -1 : 0; }; -export const useProposalVotes = ({ proposalId }: { proposalId: string }): ProposalVotes => { - const { data, isFetching } = useProposalVotesQuery({ proposalId }); +export const useProposalVotes = ({ + proposalId, + votingChainId, +}: { + proposalId: string; + votingChainId: ChainId | undefined; +}): ProposalVotes => { + const { data, isFetching } = useProposalVotesQuery({ proposalId, votingChainId }); return { yaeVotes: data?.filter((vote) => vote.support === true).sort(sortByVotingPower) || [], diff --git a/src/ui-config/governanceConfig.ts b/src/ui-config/governanceConfig.ts index 609c045377..f7a42762a5 100644 --- a/src/ui-config/governanceConfig.ts +++ b/src/ui-config/governanceConfig.ts @@ -54,11 +54,11 @@ export interface VotingMachineConfig { portalToMachineMap: { [votingPoralAddress: string]: string }; votingPortalDataHelperAddress: string; votingMachineAddress: string; + subgraphUrl: string; } export interface GovernanceV3Config { coreChainId: ChainId; - votingMachineSubgraphUrl: string; governanceCoreSubgraphUrl: string; votingChainConfig: { [key in VotingChain]: VotingMachineConfig }; payloadsControllerDataHelpers: { [key in VotingChain]: string }; @@ -76,6 +76,8 @@ const sepoliaVotingMachineConfig: VotingMachineConfig = { }, votingPortalDataHelperAddress: '0x133210F3fe2deEB34e65deB6861ee3dF87393977', votingMachineAddress: '0xA1995F1d5A8A247c064a76F336E1C2ecD24Ef0D9', + subgraphUrl: + 'https://api.goldsky.com/api/public/project_clk74pd7lueg738tw9sjh79d6/subgraphs/votingmachine-sepolia/v1/gn', }; const fujiVotingMachineConfig: VotingMachineConfig = { @@ -84,12 +86,12 @@ const fujiVotingMachineConfig: VotingMachineConfig = { }, votingPortalDataHelperAddress: '0x133210F3fe2deEB34e65deB6861ee3dF87393977', votingMachineAddress: '0x767AA57554690D23D1E0594E8746271C97e1A1e4', + subgraphUrl: + 'https://api.goldsky.com/api/public/project_clk74pd7lueg738tw9sjh79d6/subgraphs/votingmachine-sepolia-avalanche-testnet/v2/gn', }; export const governanceV3Config: GovernanceV3Config = { coreChainId: ChainId.sepolia, - votingMachineSubgraphUrl: - 'https://api.goldsky.com/api/public/project_clk74pd7lueg738tw9sjh79d6/subgraphs/votingmachine-sepolia-avalanche-testnet/v2/gn', governanceCoreSubgraphUrl: 'https://api.goldsky.com/api/public/project_clk74pd7lueg738tw9sjh79d6/subgraphs/governance-v3/v2.0.1/gn', votingChainConfig: { From 685e040ad0a8468f3248783466ce36dbe28050f9 Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Thu, 21 Dec 2023 14:33:29 -0600 Subject: [PATCH 48/84] fix: voting results --- src/modules/governance/proposal/VotersListItem.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/governance/proposal/VotersListItem.tsx b/src/modules/governance/proposal/VotersListItem.tsx index a91d56c7dc..d2f8a9cb33 100644 --- a/src/modules/governance/proposal/VotersListItem.tsx +++ b/src/modules/governance/proposal/VotersListItem.tsx @@ -41,13 +41,13 @@ export const VotersListItem = ({ compact, voter }: VotersListItemProps): JSX.Ele return name.length < 16 ? name : textCenterEllipsis(name, 12, 3); }; - // Voting power - convert the bignumber for displaying. Adjust decimals based off of large and small values. + // Voting power - Adjust decimals based off of large and small values. // Decimals increase in precision as values become lower: // Four for 0 Date: Thu, 21 Dec 2023 15:12:15 -0600 Subject: [PATCH 49/84] fix: temporarily remove search/filter --- src/modules/governance/ProposalListHeader.tsx | 52 ++++++++++--------- 1 file changed, 27 insertions(+), 25 deletions(-) diff --git a/src/modules/governance/ProposalListHeader.tsx b/src/modules/governance/ProposalListHeader.tsx index be8a10097f..78900415bc 100644 --- a/src/modules/governance/ProposalListHeader.tsx +++ b/src/modules/governance/ProposalListHeader.tsx @@ -9,16 +9,16 @@ import { useMediaQuery, useTheme, } from '@mui/material'; -import { useRootStore } from 'src/store/root'; -import { GOVERNANCE_PAGE } from 'src/utils/mixPanelEvents'; +// import { useRootStore } from 'src/store/root'; +// import { GOVERNANCE_PAGE } from 'src/utils/mixPanelEvents'; import { SearchInput } from '../../components/SearchInput'; import { TitleWithSearchBar } from '../../components/TitleWithSearchBar'; type ProposalListHeaderProps = { - proposalFilter: string; - handleProposalFilterChange: (value: string) => void; - handleSearchQueryChange: (value: string) => void; + proposalFilter?: string; + handleProposalFilterChange?: (value: string) => void; + handleSearchQueryChange?: (value: string) => void; }; type ProposalListHeaderElementProps = { @@ -93,19 +93,15 @@ export const ProposalListHeaderMobile: React.FC ); }; -export const ProposalListHeader: React.FC = ({ - proposalFilter, - handleProposalFilterChange, - handleSearchQueryChange, -}) => { - const handleChange = (event: SelectChangeEvent) => { - trackEvent(GOVERNANCE_PAGE.FILTER, { filter: event.target.value }); - handleProposalFilterChange(event.target.value as string); - }; +export const ProposalListHeader: React.FC = () => { + // const handleChange = (event: SelectChangeEvent) => { + // trackEvent(GOVERNANCE_PAGE.FILTER, { filter: event.target.value }); + // handleProposalFilterChange(event.target.value as string); + // }; const { breakpoints } = useTheme(); const md = useMediaQuery(breakpoints.up('md')); - const trackEvent = useRootStore((store) => store.trackEvent); + // const trackEvent = useRootStore((store) => store.trackEvent); return ( = ({ }} > {!md ? ( - + + Proposals + ) : ( - + // + + Proposals + + // )} ); From de4cc72c433478d39c2827517d253d43494fcd27 Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Thu, 21 Dec 2023 15:52:58 -0600 Subject: [PATCH 50/84] fix: config --- package.json | 2 +- src/hooks/governance/usePayloadsData.ts | 3 +- src/hooks/governance/useProposalVotes.ts | 4 +- .../governance/proposal/VotersList.tsx | 12 +- src/services/GovernanceV3Service.ts | 6 +- src/services/VotingMachineService.ts | 16 ++- src/ui-config/governanceConfig.ts | 108 ++++++++++++++---- yarn.lock | 8 +- 8 files changed, 111 insertions(+), 48 deletions(-) diff --git a/package.json b/package.json index 4432e80d80..ebf2400f6a 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "dependencies": { "@aave/contract-helpers": "1.21.2-0513918ea5a08b3fbd67072f4e7b66a87acd716b.0", "@aave/math-utils": "1.21.1", - "@bgd-labs/aave-address-book": "^2.10.0", + "@bgd-labs/aave-address-book": "^2.13.1", "@emotion/cache": "11.10.3", "@emotion/react": "11.10.4", "@emotion/server": "latest", diff --git a/src/hooks/governance/usePayloadsData.ts b/src/hooks/governance/usePayloadsData.ts index 70dd66173d..3b4e6694d6 100644 --- a/src/hooks/governance/usePayloadsData.ts +++ b/src/hooks/governance/usePayloadsData.ts @@ -1,7 +1,6 @@ import { ChainId, Payload } from '@aave/contract-helpers'; import { useQuery } from '@tanstack/react-query'; import { GovernanceV3Service } from 'src/services/GovernanceV3Service'; -import { VotingChain } from 'src/ui-config/governanceConfig'; import { useSharedDependencies } from 'src/ui-config/SharedDependenciesProvider'; type PayloadParams = { @@ -44,7 +43,7 @@ async function fetchPayloadsData(params: PayloadParams[], service: GovernanceV3S const promises: Promise[] = []; Object.entries(payloadsByChainId).forEach(([chainId, payloads]) => { - const chainIdKey = +chainId as VotingChain; + const chainIdKey = +chainId; Object.entries(payloads).forEach(([payloadControllerAddress, payloadIds]) => { promises.push(service.getPayloadsData(payloadControllerAddress, payloadIds, chainIdKey)); }); diff --git a/src/hooks/governance/useProposalVotes.ts b/src/hooks/governance/useProposalVotes.ts index 871cc9245e..6c780b20a1 100644 --- a/src/hooks/governance/useProposalVotes.ts +++ b/src/hooks/governance/useProposalVotes.ts @@ -2,7 +2,7 @@ import { ChainId } from '@aave/contract-helpers'; import { normalizeBN } from '@aave/math-utils'; import { useQuery } from '@tanstack/react-query'; import request, { gql } from 'graphql-request'; -import { governanceV3Config, VotingChain } from 'src/ui-config/governanceConfig'; +import { governanceV3Config } from 'src/ui-config/governanceConfig'; export type ProposalVote = { proposalId: string; @@ -39,7 +39,7 @@ export const useProposalVotesQuery = ({ return useQuery({ queryFn: () => request<{ voteEmitteds: ProposalVote[] }>( - governanceV3Config.votingChainConfig[votingChainId as VotingChain].subgraphUrl, + governanceV3Config.votingChainConfig[votingChainId as ChainId].subgraphUrl, getProposalVotes, { proposalId, diff --git a/src/modules/governance/proposal/VotersList.tsx b/src/modules/governance/proposal/VotersList.tsx index 05990b48df..0c3c14cc80 100644 --- a/src/modules/governance/proposal/VotersList.tsx +++ b/src/modules/governance/proposal/VotersList.tsx @@ -17,11 +17,13 @@ export const VotersList = ({ compact = false, voters, sx }: VotersListProps): JS {voters.length === 0 ? ( ) : ( - voters.map((voter) => ( - - - - )) + voters + .sort((a, b) => Number(b.votingPower) - Number(a.votingPower)) + .map((voter) => ( + + + + )) )} ); diff --git a/src/services/GovernanceV3Service.ts b/src/services/GovernanceV3Service.ts index 89bea6ca7b..60d28965e1 100644 --- a/src/services/GovernanceV3Service.ts +++ b/src/services/GovernanceV3Service.ts @@ -9,7 +9,7 @@ import { } from '@aave/contract-helpers'; import { BigNumber } from 'ethers'; import { formatUnits } from 'ethers/lib/utils'; -import { governanceV3Config, VotingChain, votingChainIds } from 'src/ui-config/governanceConfig'; +import { governanceV3Config, votingChainIds } from 'src/ui-config/governanceConfig'; import { getProvider } from 'src/utils/marketsAndNetworksConfig'; export class GovernanceV3Service { @@ -26,7 +26,7 @@ export class GovernanceV3Service { return new GovernanceCoreService(governanceV3Config.addresses.GOVERNANCE_CORE, provider); } - private getPayloadDataHelperService(chainId: VotingChain) { + private getPayloadDataHelperService(chainId: ChainId) { const provider = getProvider(governanceV3Config.coreChainId); return new PayloadsDataHelperService( governanceV3Config.payloadsControllerDataHelpers[chainId], @@ -98,7 +98,7 @@ export class GovernanceV3Service { } async getPayloadsData(payloadsControllerAddress: string, payloadIds: number[], chainId: ChainId) { - const dataHelperService = this.getPayloadDataHelperService(chainId as VotingChain); + const dataHelperService = this.getPayloadDataHelperService(chainId); const payloadsData = await dataHelperService.getPayloadsData( payloadsControllerAddress, payloadIds diff --git a/src/services/VotingMachineService.ts b/src/services/VotingMachineService.ts index 160eca6494..24c3acc276 100644 --- a/src/services/VotingMachineService.ts +++ b/src/services/VotingMachineService.ts @@ -1,10 +1,14 @@ -import { VotingMachineDataHelperService, VotingMachineProposal } from '@aave/contract-helpers'; +import { + ChainId, + VotingMachineDataHelperService, + VotingMachineProposal, +} from '@aave/contract-helpers'; import { ZERO_ADDRESS } from 'src/modules/governance/utils/formatProposal'; -import { governanceV3Config, VotingChain } from 'src/ui-config/governanceConfig'; +import { governanceV3Config } from 'src/ui-config/governanceConfig'; import { getProvider } from 'src/utils/marketsAndNetworksConfig'; type VotingChainProposal = { - [key in VotingChain]: { + [chainId: number]: { [votingPortalAddress: string]: Array<{ id: number; snapshotBlockHash: string; @@ -13,7 +17,7 @@ type VotingChainProposal = { }; export class VotingMachineService { - private getDataHelperService(chainId: VotingChain) { + private getDataHelperService(chainId: ChainId) { const provider = getProvider(chainId); governanceV3Config.votingChainConfig; return new VotingMachineDataHelperService( @@ -31,7 +35,7 @@ export class VotingMachineService { user?: string ) { const proposalsByVotingChainId: VotingChainProposal = proposals.reduce((acc, proposal) => { - const chainId: VotingChain = proposal.chainId; + const chainId = proposal.chainId; const votingPortalAddress = proposal.votingPortalAddress; if (!acc[chainId]) { @@ -53,7 +57,7 @@ export class VotingMachineService { const promises: Promise[] = []; Object.entries(proposalsByVotingChainId).forEach(([chainId, proposals]) => { - const chainIdKey = +chainId as VotingChain; + const chainIdKey = +chainId; const dataHelperService = this.getDataHelperService(chainIdKey); Object.entries(proposals).forEach(([votingPortalAddress, proposals]) => { promises.push( diff --git a/src/ui-config/governanceConfig.ts b/src/ui-config/governanceConfig.ts index f7a42762a5..f9848e2888 100644 --- a/src/ui-config/governanceConfig.ts +++ b/src/ui-config/governanceConfig.ts @@ -1,5 +1,11 @@ import { ChainId } from '@aave/contract-helpers'; -// import { AaveV3Ethereum } from '@bgd-labs/aave-address-book'; +import { + AaveSafetyModule, + AaveV3Ethereum, + GovernanceV3Avalanche, + GovernanceV3Ethereum, + GovernanceV3Polygon, +} from '@bgd-labs/aave-address-book'; export interface GovernanceConfig { chainId: ChainId; @@ -48,7 +54,6 @@ export const governanceConfig: GovernanceConfig = { }; export const votingChainIds = [ChainId.sepolia, ChainId.fuji] as const; -export type VotingChain = typeof votingChainIds[number]; export interface VotingMachineConfig { portalToMachineMap: { [votingPoralAddress: string]: string }; @@ -60,8 +65,8 @@ export interface VotingMachineConfig { export interface GovernanceV3Config { coreChainId: ChainId; governanceCoreSubgraphUrl: string; - votingChainConfig: { [key in VotingChain]: VotingMachineConfig }; - payloadsControllerDataHelpers: { [key in VotingChain]: string }; + votingChainConfig: { [chainId: number]: VotingMachineConfig }; + payloadsControllerDataHelpers: { [chainId: number]: string }; addresses: { GOVERNANCE_CORE: string; GOVERNANCE_DATA_HELPER: string; @@ -90,27 +95,80 @@ const fujiVotingMachineConfig: VotingMachineConfig = { 'https://api.goldsky.com/api/public/project_clk74pd7lueg738tw9sjh79d6/subgraphs/votingmachine-sepolia-avalanche-testnet/v2/gn', }; -export const governanceV3Config: GovernanceV3Config = { - coreChainId: ChainId.sepolia, - governanceCoreSubgraphUrl: - 'https://api.goldsky.com/api/public/project_clk74pd7lueg738tw9sjh79d6/subgraphs/governance-v3/v2.0.1/gn', - votingChainConfig: { - [ChainId.sepolia]: sepoliaVotingMachineConfig, - [ChainId.fuji]: fujiVotingMachineConfig, +type GovernanceChainConfig = { + [chainId: number]: GovernanceV3Config; +}; + +export const governanceChainConfig: GovernanceChainConfig = { + [ChainId.sepolia]: { + coreChainId: ChainId.sepolia, + governanceCoreSubgraphUrl: + 'https://api.goldsky.com/api/public/project_clk74pd7lueg738tw9sjh79d6/subgraphs/governance-v3/v2.0.1/gn', + votingChainConfig: { + [ChainId.sepolia]: sepoliaVotingMachineConfig, + [ChainId.fuji]: fujiVotingMachineConfig, + }, + payloadsControllerDataHelpers: { + [ChainId.sepolia]: '0x6B9AF21B95FE20b5a878b43670c23124841ec31A', + [ChainId.fuji]: '0x6B9AF21B95FE20b5a878b43670c23124841ec31A', + }, + votingAssets: [ + // TODO: could query the contracts for list of voting assets + '0xdaEcee477B931b209e8123401EA37582ACB3811d', + '0x354032B31339853A3D682613749F183328d07275', + '0x26aAB2aE39897338c2d91491C46c14a8c2a67919', + ], + addresses: { + GOVERNANCE_CORE: '0xc4ABF658C3Dda84225cF8A07d7D5Bb6Aa41d9E59', + GOVERNANCE_DATA_HELPER: '0x863f9De2f82AB502612E8B7d4f4863c8535cb8cA', + WALLET_BALANCE_PROVIDER: '0xCD4e0d6D2b1252E2A709B8aE97DBA31164C5a709', // AaveV3Ethereum.WALLET_BALANCE_PROVIDER, + }, }, - payloadsControllerDataHelpers: { - [ChainId.sepolia]: '0x6B9AF21B95FE20b5a878b43670c23124841ec31A', - [ChainId.fuji]: '0x6B9AF21B95FE20b5a878b43670c23124841ec31A', - }, - votingAssets: [ - // TODO: could query the contracts for list of voting assets - '0xdaEcee477B931b209e8123401EA37582ACB3811d', - '0x354032B31339853A3D682613749F183328d07275', - '0x26aAB2aE39897338c2d91491C46c14a8c2a67919', - ], - addresses: { - GOVERNANCE_CORE: '0xc4ABF658C3Dda84225cF8A07d7D5Bb6Aa41d9E59', - GOVERNANCE_DATA_HELPER: '0x863f9De2f82AB502612E8B7d4f4863c8535cb8cA', - WALLET_BALANCE_PROVIDER: '0xCD4e0d6D2b1252E2A709B8aE97DBA31164C5a709', // AaveV3Ethereum.WALLET_BALANCE_PROVIDER, + [ChainId.mainnet]: { + coreChainId: ChainId.mainnet, + governanceCoreSubgraphUrl: '', + votingChainConfig: { + [ChainId.mainnet]: { + portalToMachineMap: { + [GovernanceV3Ethereum.VOTING_PORTAL_ETH_ETH]: GovernanceV3Ethereum.VOTING_MACHINE, + }, + votingPortalDataHelperAddress: GovernanceV3Ethereum.VM_DATA_HELPER, + votingMachineAddress: GovernanceV3Ethereum.VOTING_MACHINE, + subgraphUrl: '', + }, + [ChainId.polygon]: { + portalToMachineMap: { + [GovernanceV3Ethereum.VOTING_PORTAL_ETH_POL]: GovernanceV3Polygon.VOTING_MACHINE, + }, + votingPortalDataHelperAddress: GovernanceV3Polygon.VM_DATA_HELPER, + votingMachineAddress: GovernanceV3Polygon.VOTING_MACHINE, + subgraphUrl: '', + }, + [ChainId.avalanche]: { + portalToMachineMap: { + [GovernanceV3Ethereum.VOTING_PORTAL_ETH_AVAX]: GovernanceV3Avalanche.VOTING_MACHINE, + }, + votingPortalDataHelperAddress: GovernanceV3Avalanche.VM_DATA_HELPER, + votingMachineAddress: GovernanceV3Avalanche.VOTING_MACHINE, + subgraphUrl: '', + }, + }, + payloadsControllerDataHelpers: { + [ChainId.mainnet]: GovernanceV3Ethereum.PC_DATA_HELPER, + [ChainId.polygon]: GovernanceV3Polygon.PC_DATA_HELPER, + [ChainId.avalanche]: GovernanceV3Avalanche.PC_DATA_HELPER, + }, + votingAssets: [ + AaveV3Ethereum.ASSETS.AAVE.UNDERLYING, + AaveV3Ethereum.ASSETS.AAVE.A_TOKEN, + AaveSafetyModule.STK_AAVE, + ], + addresses: { + GOVERNANCE_CORE: GovernanceV3Ethereum.GOVERNANCE, + GOVERNANCE_DATA_HELPER: GovernanceV3Ethereum.GOV_DATA_HELPER, + WALLET_BALANCE_PROVIDER: AaveV3Ethereum.WALLET_BALANCE_PROVIDER, + }, }, }; + +export const governanceV3Config = governanceChainConfig[ChainId.sepolia]; diff --git a/yarn.lock b/yarn.lock index c341d4a572..5e2e6e4a37 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1335,10 +1335,10 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@bgd-labs/aave-address-book@^2.10.0": - version "2.10.0" - resolved "https://registry.yarnpkg.com/@bgd-labs/aave-address-book/-/aave-address-book-2.10.0.tgz#19873ec0edf9ee1f1a5539162e6092b0a2b2c4b4" - integrity sha512-DVglkDCYUf7etb6mnCziIY2HPgap4X3AnC/1tC0ZqpXFrhO0lQzWBiMeWy20r1x/b81iHMQa02ULaco3LhdeVw== +"@bgd-labs/aave-address-book@^2.13.1": + version "2.13.1" + resolved "https://registry.yarnpkg.com/@bgd-labs/aave-address-book/-/aave-address-book-2.13.1.tgz#d23d9d337d8a4ee33119964a28e8547441f75e5a" + integrity sha512-2zWbx+B132O9KLT6mYRzL4tsPfXNrbbfWIyYG78TIfEnIsESOFuoXXaLa9Z2+Ok7MPVcDbPTWY32PZwackfGoA== "@coinbase/wallet-sdk@3.1.0", "@coinbase/wallet-sdk@^3.0.4": version "3.1.0" From cfc86ff4875d0d71068b160d88b688ad9f91f0d1 Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Thu, 21 Dec 2023 21:08:48 -0600 Subject: [PATCH 51/84] fix: mui versions --- package.json | 2 +- yarn.lock | 139 +++------------------------------------------------ 2 files changed, 8 insertions(+), 133 deletions(-) diff --git a/package.json b/package.json index ebf2400f6a..0e2f2aff93 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "@heroicons/react": "^1.0.6", "@lingui/react": "^3.14.0", "@mui/icons-material": "^5.10.14", - "@mui/lab": "5.0.0-alpha.101", + "@mui/lab": "5.0.0-alpha.103", "@mui/material": "^5.10.9", "@paraswap/sdk": "6.2.4", "@tanstack/react-query": "^4.28.0", diff --git a/yarn.lock b/yarn.lock index 5e2e6e4a37..6800048ef1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1223,13 +1223,6 @@ dependencies: regenerator-runtime "^0.13.10" -"@babel/runtime@^7.23.5": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.6.tgz#c05e610dc228855dc92ef1b53d07389ed8ab521d" - integrity sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ== - dependencies: - regenerator-runtime "^0.14.0" - "@babel/template@^7.16.7": version "7.16.7" resolved "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz" @@ -1594,17 +1587,6 @@ "@emotion/weak-memoize" "^0.3.0" stylis "4.0.13" -"@emotion/cache@^11.11.0": - version "11.11.0" - resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.11.0.tgz#809b33ee6b1cb1a625fef7a45bc568ccd9b8f3ff" - integrity sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ== - dependencies: - "@emotion/memoize" "^0.8.1" - "@emotion/sheet" "^1.2.2" - "@emotion/utils" "^1.2.1" - "@emotion/weak-memoize" "^0.3.1" - stylis "4.2.0" - "@emotion/hash@^0.9.0": version "0.9.0" resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.0.tgz#c5153d50401ee3c027a57a177bc269b16d889cb7" @@ -1622,11 +1604,6 @@ resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.0.tgz#f580f9beb67176fa57aae70b08ed510e1b18980f" integrity sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA== -"@emotion/memoize@^0.8.1": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.1.tgz#c1ddb040429c6d21d38cc945fe75c818cfb68e17" - integrity sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA== - "@emotion/react@11.10.4": version "11.10.4" resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.10.4.tgz#9dc6bccbda5d70ff68fdb204746c0e8b13a79199" @@ -1667,11 +1644,6 @@ resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.2.0.tgz#771b1987855839e214fc1741bde43089397f7be5" integrity sha512-OiTkRgpxescko+M51tZsMq7Puu/KP55wMT8BgpcXVG2hqXc0Vo0mfymJ/Uj24Hp0i083ji/o0aLddh08UEjq8w== -"@emotion/sheet@^1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.2.2.tgz#d58e788ee27267a14342303e1abb3d508b6d0fec" - integrity sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA== - "@emotion/styled@11.10.4": version "11.10.4" resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-11.10.4.tgz#e93f84a4d54003c2acbde178c3f97b421fce1cd4" @@ -1704,21 +1676,11 @@ resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.2.0.tgz#9716eaccbc6b5ded2ea5a90d65562609aab0f561" integrity sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw== -"@emotion/utils@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.2.1.tgz#bbab58465738d31ae4cb3dbb6fc00a5991f755e4" - integrity sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg== - "@emotion/weak-memoize@^0.3.0": version "0.3.0" resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz#ea89004119dc42db2e1dba0f97d553f7372f6fcb" integrity sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg== -"@emotion/weak-memoize@^0.3.1": - version "0.3.1" - resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz#d0fce5d07b0620caa282b5131c297bb60f9d87e6" - integrity sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww== - "@eslint/eslintrc@^1.3.3": version "1.3.3" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.3.tgz#2b044ab39fdfa75b4688184f9e573ce3c5b0ff95" @@ -2658,20 +2620,6 @@ prop-types "^15.8.1" react-is "^18.2.0" -"@mui/base@5.0.0-alpha.99": - version "5.0.0-alpha.99" - resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-alpha.99.tgz#52589c72b6bf69e016e5811292529d60f81537ad" - integrity sha512-D04H6O1c0Jv561yI0SVbpa8MpqpW3G43CwJxV2o6ALfI0DMJ45w07dGafmDchb6aCWTRTdggd3rjgmuzyNwPiQ== - dependencies: - "@babel/runtime" "^7.19.0" - "@emotion/is-prop-valid" "^1.2.0" - "@mui/types" "^7.2.0" - "@mui/utils" "^5.10.6" - "@popperjs/core" "^2.11.6" - clsx "^1.2.1" - prop-types "^15.8.1" - react-is "^18.2.0" - "@mui/core-downloads-tracker@^5.10.9": version "5.10.9" resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.10.9.tgz#0279aaeecd7903c91730258b242aba4cf674fde5" @@ -2684,16 +2632,16 @@ dependencies: "@babel/runtime" "^7.20.1" -"@mui/lab@5.0.0-alpha.101": - version "5.0.0-alpha.101" - resolved "https://registry.yarnpkg.com/@mui/lab/-/lab-5.0.0-alpha.101.tgz#e743a7ff2ddeb404e00499ff757e52d7a4179934" - integrity sha512-Wvv3X4mhkCXy6VzaFECGHDpt91GuRIn+lvGjKiyBP0xHCAV3glsny4nbPB5PAnLtugnN9bTFY8nNR5oHgxdCwQ== +"@mui/lab@5.0.0-alpha.103": + version "5.0.0-alpha.103" + resolved "https://registry.yarnpkg.com/@mui/lab/-/lab-5.0.0-alpha.103.tgz#c8fe493a6eb15ad56fd7d71097f727efa8dbc799" + integrity sha512-cYfkgSXZH/cG8BM4UGtPK0Vr9P79wfvF4S5VGiEbEsScU7yROylLZW1l11yg5nZEIVUJ7jQmcaLdlwVSTSbjzg== dependencies: "@babel/runtime" "^7.19.0" - "@mui/base" "5.0.0-alpha.99" - "@mui/system" "^5.10.7" + "@mui/base" "5.0.0-alpha.101" + "@mui/system" "^5.10.9" "@mui/types" "^7.2.0" - "@mui/utils" "^5.10.6" + "@mui/utils" "^5.10.9" clsx "^1.2.1" prop-types "^15.8.1" react-is "^18.2.0" @@ -2725,15 +2673,6 @@ "@mui/utils" "^5.10.9" prop-types "^15.8.1" -"@mui/private-theming@^5.15.1": - version "5.15.1" - resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.15.1.tgz#58fd8da48295e105067fa7361734ee0b166d9cca" - integrity sha512-wTbzuy5KjSvCPE9UVJktWHJ0b/tD5biavY9wvF+OpYDLPpdXK52vc1hTDxSbdkHIFMkJExzrwO9GvpVAHZBnFQ== - dependencies: - "@babel/runtime" "^7.23.5" - "@mui/utils" "^5.15.1" - prop-types "^15.8.1" - "@mui/styled-engine@^5.10.8": version "5.10.8" resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.10.8.tgz#2db411e4278f06f70ccb6b5cd56ace67109513f6" @@ -2744,30 +2683,6 @@ csstype "^3.1.1" prop-types "^15.8.1" -"@mui/styled-engine@^5.15.1": - version "5.15.1" - resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.15.1.tgz#00f179e51afe252022bf356f72354968f9c5bf25" - integrity sha512-7WDZTJLqGexWDjqE9oAgjU8ak6hEtUw2yQU7SIYID5kLVO2Nj/Wi/KicbLsXnTsJNvSqePIlUIWTBSXwWJCPZw== - dependencies: - "@babel/runtime" "^7.23.5" - "@emotion/cache" "^11.11.0" - csstype "^3.1.2" - prop-types "^15.8.1" - -"@mui/system@^5.10.7": - version "5.15.1" - resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.15.1.tgz#e2a79b5e188ca89a3e58aa4d27e3484edf9e24b0" - integrity sha512-LAnP0ls69rqW9eBgI29phIx/lppv+WDGI7b3EJN7VZIqw0RezA0GD7NRpV12BgEYJABEii6z5Q9B5tg7dsX0Iw== - dependencies: - "@babel/runtime" "^7.23.5" - "@mui/private-theming" "^5.15.1" - "@mui/styled-engine" "^5.15.1" - "@mui/types" "^7.2.11" - "@mui/utils" "^5.15.1" - clsx "^2.0.0" - csstype "^3.1.2" - prop-types "^15.8.1" - "@mui/system@^5.10.9": version "5.10.9" resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.10.9.tgz#69447a81dabbccab3c930f17d10f9aca5ba87bf1" @@ -2787,21 +2702,6 @@ resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.0.tgz#91380c2d42420f51f404120f7a9270eadd6f5c23" integrity sha512-lGXtFKe5lp3UxTBGqKI1l7G8sE2xBik8qCfrLHD5olwP/YU0/ReWoWT7Lp1//ri32dK39oPMrJN8TgbkCSbsNA== -"@mui/types@^7.2.11": - version "7.2.11" - resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.11.tgz#36b99a88f8010dc716128e568dc05681a69dc7ae" - integrity sha512-KWe/QTEsFFlFSH+qRYf3zoFEj3z67s+qAuSnMMg+gFwbxG7P96Hm6g300inQL1Wy///gSRb8juX7Wafvp93m3w== - -"@mui/utils@^5.10.6", "@mui/utils@^5.15.1": - version "5.15.1" - resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.15.1.tgz#71d69dc8c0f13a1fd6aca20b53ec496636e6b854" - integrity sha512-V1/d0E3Bju5YdB59HJf2G0tnHrFEvWLN+f8hAXp9+JSNy/LC2zKyqUfPPahflR6qsI681P8G9r4mEZte/SrrYA== - dependencies: - "@babel/runtime" "^7.23.5" - "@types/prop-types" "^15.7.11" - prop-types "^15.8.1" - react-is "^18.2.0" - "@mui/utils@^5.10.9": version "5.10.9" resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.10.9.tgz#9dc455f9230f43eeb81d96a9a4bdb3855bb9ea39" @@ -3648,11 +3548,6 @@ resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz" integrity sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ== -"@types/prop-types@^15.7.11": - version "15.7.11" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.11.tgz#2596fb352ee96a1379c657734d4b913a613ad563" - integrity sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng== - "@types/prop-types@^15.7.5": version "15.7.5" resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" @@ -5403,11 +5298,6 @@ clsx@^1.1.0, clsx@^1.2.1: resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12" integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== -clsx@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.0.0.tgz#12658f3fd98fafe62075595a5c30e43d18f3d00b" - integrity sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q== - co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" @@ -5737,11 +5627,6 @@ csstype@^3.0.2, csstype@^3.1.1: resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.1.tgz#841b532c45c758ee546a11d5bd7b7b473c8c30b9" integrity sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw== -csstype@^3.1.2: - version "3.1.3" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" - integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== - cypress-repeat@^2.3.3: version "2.3.3" resolved "https://registry.yarnpkg.com/cypress-repeat/-/cypress-repeat-2.3.3.tgz#0a0d363347137248600eff57f4ae75e4526e88d9" @@ -10977,11 +10862,6 @@ regenerator-runtime@^0.13.4: resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz" integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== -regenerator-runtime@^0.14.0: - version "0.14.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" - integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== - regenerator-transform@^0.15.0: version "0.15.0" resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.0.tgz#cbd9ead5d77fae1a48d957cf889ad0586adb6537" @@ -11801,11 +11681,6 @@ stylis@4.0.13: resolved "https://registry.npmjs.org/stylis/-/stylis-4.0.13.tgz" integrity sha512-xGPXiFVl4YED9Jh7Euv2V220mriG9u4B2TA6Ybjc1catrstKD2PpIdU3U0RKpkVBC2EhmL/F0sPCr9vrFTNRag== -stylis@4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.2.0.tgz#79daee0208964c8fe695a42fcffcac633a211a51" - integrity sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw== - superjson@^1.10.0: version "1.12.2" resolved "https://registry.yarnpkg.com/superjson/-/superjson-1.12.2.tgz#072471f1e6add2d95a38b77fef8c7a199d82103a" From c62c55d2bdabbadd3807b0378ae5ca6df3566565 Mon Sep 17 00:00:00 2001 From: Mark Hinschberger Date: Fri, 22 Dec 2023 07:46:05 -0500 Subject: [PATCH 52/84] chore: delegation multople --- src/ui-config/governanceConfig.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/ui-config/governanceConfig.ts b/src/ui-config/governanceConfig.ts index 9959c33786..49b2be8226 100644 --- a/src/ui-config/governanceConfig.ts +++ b/src/ui-config/governanceConfig.ts @@ -65,6 +65,7 @@ export interface GovernanceV3Config { GOVERNANCE_CORE: string; GOVERNANCE_DATA_HELPER: string; WALLET_BALANCE_PROVIDER: string; + GOVERNANCE_META_HELPER: string; }; votingAssets: string[]; } @@ -107,5 +108,6 @@ export const governanceV3Config: GovernanceV3Config = { GOVERNANCE_CORE: '0xc4ABF658C3Dda84225cF8A07d7D5Bb6Aa41d9E59', GOVERNANCE_DATA_HELPER: '0x863f9De2f82AB502612E8B7d4f4863c8535cb8cA', WALLET_BALANCE_PROVIDER: '0xCD4e0d6D2b1252E2A709B8aE97DBA31164C5a709', // AaveV3Ethereum.WALLET_BALANCE_PROVIDER, + GOVERNANCE_META_HELPER: '0x8aFD68632A4B4d9fB3F2956Ca921Eb2d69146491', // < Sepolia }, }; From 56690c92ab8adfc0f64c8d11c84be26ed4659b14 Mon Sep 17 00:00:00 2001 From: Mark Hinschberger Date: Fri, 22 Dec 2023 07:46:56 -0500 Subject: [PATCH 53/84] chore: delegation multople --- src/helpers/useGovernanceDelegate.tsx | 317 +++++++++++++++++++++----- 1 file changed, 264 insertions(+), 53 deletions(-) diff --git a/src/helpers/useGovernanceDelegate.tsx b/src/helpers/useGovernanceDelegate.tsx index e77a37b840..cad7d953f3 100644 --- a/src/helpers/useGovernanceDelegate.tsx +++ b/src/helpers/useGovernanceDelegate.tsx @@ -2,7 +2,9 @@ import { EthereumTransactionTypeExtended, gasLimitRecommendations, ProtocolAction, + tEthereumAddress, } from '@aave/contract-helpers'; +import { ethers } from 'ethers'; import { SignatureLike } from '@ethersproject/bytes'; import { TransactionResponse } from '@ethersproject/providers'; import { utils } from 'ethers'; @@ -13,10 +15,17 @@ import { useWeb3Context } from 'src/libs/hooks/useWeb3Context'; import { useRootStore } from 'src/store/root'; import { getErrorTextFromError, TxAction } from 'src/ui-config/errorMapping'; import { governanceConfig } from 'src/ui-config/governanceConfig'; +import META_DELEGATE_HELPER_ABI from 'src/meta-batch-helper.json'; import { DelegationType } from './types'; import { MOCK_SIGNED_HASH } from './useTransactionHandler'; +export enum GovernancePowerTypeApp { + VOTING, + PROPOSITION, + All, +} + export const useGovernanceDelegate = ( delegationTokenType: DelegationTokenType, delegationType: DelegationType, @@ -29,7 +38,8 @@ export const useGovernanceDelegate = ( const delegateTokensBySig = useRootStore((state) => state.delegateTokensBySig); const delegateTokensByTypeBySig = useRootStore((state) => state.delegateTokensByTypeBySig); const user = useRootStore((state) => state.account); - const { signTxData, sendTx, getTxError } = useWeb3Context(); + const { signTxData, sendTx, provider, chainId: connectedChainId, getTxError } = useWeb3Context(); + const [signatures, setSignatures] = useState([]); const [actionTx, setActionTx] = useState(); const [aaveNonce, setAaveNonce] = useState(0); @@ -90,47 +100,127 @@ export const useGovernanceDelegate = ( const action = async () => { if (isSignatureAction) { setMainTxState({ ...mainTxState, loading: true }); + + console.log('SIGNATURE', signatures); + const { v: v1, r: r1, s: s1 } = utils.splitSignature(signatures[0]); const { v: v2, r: r2, s: s2 } = utils.splitSignature(signatures[1]); const { v: v3, r: r3, s: s3 } = utils.splitSignature(signatures[2]); let txs: EthereumTransactionTypeExtended[] = []; + + console.log('DELEGATION TYPE', delegationType, DelegationType.BOTH); if (delegationType === DelegationType.BOTH) { - txs = await delegateTokensBySig({ - user, - tokens: [ - governanceConfig.aaveTokenAddress, - governanceConfig.stkAaveTokenAddress, - governanceConfig.aAaveTokenAddress, - ], - data: [ - { - delegatee, - nonce: aaveNonce, - expiry: deadline, - v: v1, - r: r1, - s: s1, - }, - { - delegatee, - nonce: stkAaveNonce, - expiry: deadline, - v: v2, - r: r2, - s: s2, - }, - { - delegatee, - nonce: aAaveNonce, - expiry: deadline, - v: v3, - r: r3, - s: s3, - }, - ], + console.log(' LETS GO IN EHRE'); + + // ALL --> Means both powers + // do delegation with meta + // continue in here + const delegateParams = [ + { + delegator: user, + delegatee, + underlyingAsset: governanceConfig.aaveTokenAddress, + deadline, + v: utils.splitSignature(signatures[0]).v, + r: utils.splitSignature(signatures[0]).r, + s: utils.splitSignature(signatures[0]).s, + delegationType: DelegationType.BOTH, + }, + { + delegator: user, + delegatee, + underlyingAsset: governanceConfig.stkAaveTokenAddress, + deadline, + v: utils.splitSignature(signatures[1]).v, + r: utils.splitSignature(signatures[1]).r, + s: utils.splitSignature(signatures[1]).s, + delegationType: DelegationType.BOTH, + }, + { + delegator: user, + delegatee, + underlyingAsset: governanceConfig.aAaveTokenAddress, + deadline, + v: utils.splitSignature(signatures[2]).v, + r: utils.splitSignature(signatures[2]).r, + s: utils.splitSignature(signatures[2]).s, + delegationType: DelegationType.BOTH, + }, + ]; + + const metaDelegateHelperContract = new ethers.Contract( + '0x8afd68632a4b4d9fb3f2956ca921eb2d69146491', + META_DELEGATE_HELPER_ABI, + provider + ); + + console.log('delegateParams --->', delegateParams); + + const txData = await metaDelegateHelperContract.populateTransaction.batchMetaDelegate( + delegateParams + ); + + console.log('txData --->', txData); + + // txs = await delegateTokensBySig({ + // user, + // tokens: [ + // governanceConfig.aaveTokenAddress, + // governanceConfig.stkAaveTokenAddress, + // governanceConfig.aAaveTokenAddress, + // ], + // data: [ + // { + // delegatee, + // nonce: aaveNonce, + // expiry: deadline, + // v: v1, + // r: r1, + // s: s1, + // }, + // { + // delegatee, + // nonce: stkAaveNonce, + // expiry: deadline, + // v: v2, + // r: r2, + // s: s2, + // }, + // { + // delegatee, + // nonce: aAaveNonce, + // expiry: deadline, + // v: v3, + // r: r3, + // s: s3, + // }, + // ], + // }); + + return processTx({ + tx: () => sendTx(txData), + successCallback: (txnResponse: TransactionResponse) => { + setMainTxState({ + txHash: txnResponse.hash, + loading: false, + success: true, + }); + setTxError(undefined); + }, + errorCallback: (error, hash) => { + console.log('whats the erorrrrrrrr', error); + const parsedError = getErrorTextFromError(error, TxAction.MAIN_ACTION); + setTxError(parsedError); + setMainTxState({ + txHash: hash, + loading: false, + }); + }, + action: TxAction.MAIN_ACTION, }); } else { + // only let one either proposition or voting txs = await delegateTokensByTypeBySig({ user, tokens: [ @@ -218,6 +308,77 @@ export const useGovernanceDelegate = ( } }; + interface BatchMetaDelegateParams { + underlyingAsset: tEthereumAddress; + delegator: tEthereumAddress; + delegatee: tEthereumAddress; + deadline: bigint; + v: number; + r: tEthereumAddress; + s: tEthereumAddress; + delegationType: GovernancePowerTypeApp; + } + + interface DelegateMetaSigParams { + underlyingAsset: tEthereumAddress; + delegatee: tEthereumAddress; + delegateByType: GovernancePowerTypeApp; + delegator: tEthereumAddress; + increaseNonce: boolean; + governanceTokenName: string; + nonce: string; + connectedChainId: number; + deadline: number; + } + const delegateMetaSig = ({ + underlyingAsset, + delegatee, + delegateByType, + delegator, + increaseNonce, + governanceTokenName, + nonce, + // connectedChainId, + deadline, + }: DelegateMetaSigParams) => { + const isAllDelegate = delegateByType === GovernancePowerTypeApp.All; + + const sigBaseType = [ + { name: 'nonce', type: 'uint256' }, + { name: 'deadline', type: 'uint256' }, + ]; + const sigParametersType = [ + { name: 'delegator', type: 'address' }, + { name: 'delegatee', type: 'address' }, + ]; + const sigDelegationTypeType = [{ name: 'delegationType', type: 'uint8' }]; + + const typesData = { + delegator: delegator, + delegatee: delegatee, + nonce: BigInt(increaseNonce ? Number(nonce) + 1 : nonce).toString(), + deadline, + }; + + const typeData = { + domain: { + name: governanceTokenName, + version: '2', + chainId: connectedChainId, + verifyingContract: underlyingAsset, + }, + types: isAllDelegate + ? { Delegate: [...sigParametersType, ...sigBaseType] } + : { + DelegateByType: [...sigParametersType, ...sigDelegationTypeType, ...sigBaseType], + }, + primaryType: isAllDelegate ? 'Delegate' : 'DelegateByType', + message: isAllDelegate ? { ...typesData } : { ...typesData, delegationType }, + }; + + return JSON.stringify(typeData); + }; + const signMetaTxs = async () => { if (delegationTokenType === DelegationTokenType.BOTH) { setApprovalTxState({ ...approvalTxState, loading: true }); @@ -231,41 +392,88 @@ export const useGovernanceDelegate = ( setAaveNonce(aaveNonce); setStkAaveNonce(stkAaveNonce); setAAaveNonce(aAaveNonce); - const txs = [ + + // const txs = [ + // { + // delegatee, + // nonce: String(aaveNonce), + // governanceToken: governanceConfig.aaveTokenAddress, + // governanceTokenName: 'Aave Token', + // expiry: deadline, + // }, + // { + // delegatee, + // nonce: String(stkAaveNonce), + // governanceToken: governanceConfig.stkAaveTokenAddress, + // governanceTokenName: 'Staked Aave', + // expiry: deadline, + // }, + // { + // delegatee, + // nonce: String(aAaveNonce), + // governanceToken: governanceConfig.aAaveTokenAddress, + // governanceTokenName: 'aAave', + // expiry: deadline, + // }, + // ]; + + // const isVotingToAddressSame = + // delegateData.votingToAddress === votingToAddress; + // const isPropositionToAddressSame = + // delegateData.propositionToAddress === propositionToAddress; + + const delegationParameters = [ { - delegatee, - nonce: String(aaveNonce), - governanceToken: governanceConfig.aaveTokenAddress, + delegator: user, + delegatee: delegatee, + underlyingAsset: governanceConfig.aaveTokenAddress, + deadline, + nonce: aaveNonce, + delegationType: DelegationType.BOTH, governanceTokenName: 'Aave Token', - expiry: deadline, + increaseNonce: false, }, { - delegatee, - nonce: String(stkAaveNonce), - governanceToken: governanceConfig.stkAaveTokenAddress, - governanceTokenName: 'Staked Aave', - expiry: deadline, + delegator: user, + delegatee: delegatee, + underlyingAsset: governanceConfig.stkAaveTokenAddress, + deadline, + nonce: stkAaveNonce, + delegationType: DelegationType.BOTH, + governanceTokenName: 'Staked Token', + increaseNonce: false, }, { - delegatee, - nonce: String(aAaveNonce), - governanceToken: governanceConfig.aAaveTokenAddress, + delegator: user, + delegatee: delegatee, + underlyingAsset: governanceConfig.aAaveTokenAddress, governanceTokenName: 'aAave', - expiry: deadline, + deadline, + nonce: aAaveNonce, + delegationType: DelegationType.BOTH, + increaseNonce: false, }, ]; + const unsignedPayloads: string[] = []; - for (const tx of txs) { + for (const tx of delegationParameters) { if (delegationType !== DelegationType.BOTH) { - const payload = await prepareDelegateByTypeSignature({ ...tx, type: delegationType }); - unsignedPayloads.push(payload); + const p = delegateMetaSig(tx); + + // console.log('P =======>', p); + + // const payload = await prepareDelegateByTypeSignature({ ...tx, type: delegationType }); + unsignedPayloads.push(p); } else { - const payload = await prepareDelegateSignature(tx); - unsignedPayloads.push(payload); + const p = await delegateMetaSig(tx); + + // const payload = await prepareDelegateSignature(tx); + unsignedPayloads.push(p); } } try { const signedPayload: SignatureLike[] = []; + for (const unsignedPayload of unsignedPayloads) { signedPayload.push(await signTxData(unsignedPayload)); } @@ -274,6 +482,9 @@ export const useGovernanceDelegate = ( loading: false, success: true, }); + + console.log('SIGNED PAYLOAD', signedPayload); + setTxError(undefined); setSignatures(signedPayload); } catch (error) { From 3564961ef74a05450ec604fde1768457f1998c94 Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Fri, 22 Dec 2023 08:18:43 -0600 Subject: [PATCH 54/84] fix: state colors --- src/modules/governance/StateBadge.tsx | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/modules/governance/StateBadge.tsx b/src/modules/governance/StateBadge.tsx index f3836f13e5..30928380d7 100644 --- a/src/modules/governance/StateBadge.tsx +++ b/src/modules/governance/StateBadge.tsx @@ -8,14 +8,13 @@ interface StateBadgeProps { const Badge = styled('span')(({ theme, state }) => { const COLOR_MAP = { - // TODO: review colors [ProposalV3State.Null]: theme.palette.secondary.main, - [ProposalV3State.Created]: theme.palette.secondary.main, + [ProposalV3State.Created]: theme.palette.primary.light, [ProposalV3State.Active]: theme.palette.success.main, - [ProposalV3State.Queued]: theme.palette.warning.main, - [ProposalV3State.Executed]: theme.palette.primary.light, - [ProposalV3State.Cancelled]: theme.palette.primary.light, - [ProposalV3State.Expired]: theme.palette.primary.light, + [ProposalV3State.Queued]: theme.palette.primary.light, + [ProposalV3State.Executed]: theme.palette.success.main, + [ProposalV3State.Cancelled]: theme.palette.error.main, + [ProposalV3State.Expired]: theme.palette.error.main, [ProposalV3State.Failed]: theme.palette.error.main, }; const color = COLOR_MAP[state] || '#000'; From eff9ea4d7b73da3032730ed28e80e3439ff82b07 Mon Sep 17 00:00:00 2001 From: Mark Hinschberger Date: Fri, 22 Dec 2023 09:22:14 -0500 Subject: [PATCH 55/84] chore: delegation multople --- src/meta-batch-helper.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 src/meta-batch-helper.json diff --git a/src/meta-batch-helper.json b/src/meta-batch-helper.json new file mode 100644 index 0000000000..b69566535b --- /dev/null +++ b/src/meta-batch-helper.json @@ -0,0 +1 @@ +[{"inputs":[{"components":[{"internalType":"contract IGovernancePowerDelegationToken","name":"underlyingAsset","type":"address"},{"internalType":"enum IMetaDelegateHelper.DelegationType","name":"delegationType","type":"uint8"},{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"internalType":"struct IMetaDelegateHelper.MetaDelegateParams[]","name":"delegateParams","type":"tuple[]"}],"name":"batchMetaDelegate","outputs":[],"stateMutability":"nonpayable","type":"function"}] \ No newline at end of file From 6e9e36ca114c0f376185447ac9fadcf59c276abd Mon Sep 17 00:00:00 2001 From: Mark Hinschberger Date: Fri, 22 Dec 2023 09:22:47 -0500 Subject: [PATCH 56/84] chore: delegation multople --- src/meta-batch-helper.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/meta-batch-helper.json b/src/meta-batch-helper.json index b69566535b..fdd0d4fc02 100644 --- a/src/meta-batch-helper.json +++ b/src/meta-batch-helper.json @@ -1 +1,4 @@ -[{"inputs":[{"components":[{"internalType":"contract IGovernancePowerDelegationToken","name":"underlyingAsset","type":"address"},{"internalType":"enum IMetaDelegateHelper.DelegationType","name":"delegationType","type":"uint8"},{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"internalType":"struct IMetaDelegateHelper.MetaDelegateParams[]","name":"delegateParams","type":"tuple[]"}],"name":"batchMetaDelegate","outputs":[],"stateMutability":"nonpayable","type":"function"}] \ No newline at end of file +[{"inputs":[{"components":[{"internalType":"contract IGovernancePowerDelegationToken","name":"underlyingAsset","type":"address"},{"internalType":"enum IMetaDelegateHelper.DelegationType","name":"delegationType","type":"uint8"},{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"internalType":"struct IMetaDelegateHelper.MetaDelegateParams[]","name":"delegateParams","type":"tuple[]"}],"name":"batchMetaDelegate","outputs":[],"stateMutability":"nonpayable","type":"function"}] + + + From bfabd79a36f78b6b02cac29861d248b58c472655 Mon Sep 17 00:00:00 2001 From: Mark Hinschberger Date: Fri, 22 Dec 2023 09:50:16 -0500 Subject: [PATCH 57/84] chore: delegation multople --- src/helpers/useGovernanceDelegate.tsx | 98 ++++++++++++++------------- 1 file changed, 50 insertions(+), 48 deletions(-) diff --git a/src/helpers/useGovernanceDelegate.tsx b/src/helpers/useGovernanceDelegate.tsx index cad7d953f3..5b46076018 100644 --- a/src/helpers/useGovernanceDelegate.tsx +++ b/src/helpers/useGovernanceDelegate.tsx @@ -104,8 +104,8 @@ export const useGovernanceDelegate = ( console.log('SIGNATURE', signatures); const { v: v1, r: r1, s: s1 } = utils.splitSignature(signatures[0]); - const { v: v2, r: r2, s: s2 } = utils.splitSignature(signatures[1]); - const { v: v3, r: r3, s: s3 } = utils.splitSignature(signatures[2]); + // const { v: v2, r: r2, s: s2 } = utils.splitSignature(signatures[1]); + // const { v: v3, r: r3, s: s3 } = utils.splitSignature(signatures[2]); let txs: EthereumTransactionTypeExtended[] = []; @@ -127,26 +127,26 @@ export const useGovernanceDelegate = ( s: utils.splitSignature(signatures[0]).s, delegationType: DelegationType.BOTH, }, - { - delegator: user, - delegatee, - underlyingAsset: governanceConfig.stkAaveTokenAddress, - deadline, - v: utils.splitSignature(signatures[1]).v, - r: utils.splitSignature(signatures[1]).r, - s: utils.splitSignature(signatures[1]).s, - delegationType: DelegationType.BOTH, - }, - { - delegator: user, - delegatee, - underlyingAsset: governanceConfig.aAaveTokenAddress, - deadline, - v: utils.splitSignature(signatures[2]).v, - r: utils.splitSignature(signatures[2]).r, - s: utils.splitSignature(signatures[2]).s, - delegationType: DelegationType.BOTH, - }, + // { + // delegator: user, + // delegatee, + // underlyingAsset: governanceConfig.stkAaveTokenAddress, + // deadline, + // v: utils.splitSignature(signatures[1]).v, + // r: utils.splitSignature(signatures[1]).r, + // s: utils.splitSignature(signatures[1]).s, + // delegationType: DelegationType.BOTH, + // }, + // { + // delegator: user, + // delegatee, + // underlyingAsset: governanceConfig.aAaveTokenAddress, + // deadline, + // v: utils.splitSignature(signatures[2]).v, + // r: utils.splitSignature(signatures[2]).r, + // s: utils.splitSignature(signatures[2]).s, + // delegationType: DelegationType.BOTH, + // }, ]; const metaDelegateHelperContract = new ethers.Contract( @@ -333,7 +333,7 @@ export const useGovernanceDelegate = ( const delegateMetaSig = ({ underlyingAsset, delegatee, - delegateByType, + delegationType, delegator, increaseNonce, governanceTokenName, @@ -341,7 +341,9 @@ export const useGovernanceDelegate = ( // connectedChainId, deadline, }: DelegateMetaSigParams) => { - const isAllDelegate = delegateByType === GovernancePowerTypeApp.All; + console.log('delegateByType ---->', delegationType, GovernancePowerTypeApp.All); + + const isAllDelegate = Number(delegationType) === Number(GovernancePowerTypeApp.All); const sigBaseType = [ { name: 'nonce', type: 'uint256' }, @@ -376,13 +378,13 @@ export const useGovernanceDelegate = ( message: isAllDelegate ? { ...typesData } : { ...typesData, delegationType }, }; - return JSON.stringify(typeData); + return typeData; }; const signMetaTxs = async () => { if (delegationTokenType === DelegationTokenType.BOTH) { setApprovalTxState({ ...approvalTxState, loading: true }); - const [aaveNonce, stkAaveNonce] = await Promise.all([ + const [aaveNonce, stkAaveNonce, aAaveNonce] = await Promise.all([ getTokenNonce(user, governanceConfig.aaveTokenAddress), getTokenNonce(user, governanceConfig.stkAaveTokenAddress), getTokenNonce(user, governanceConfig.aAaveTokenAddress), @@ -428,31 +430,31 @@ export const useGovernanceDelegate = ( delegatee: delegatee, underlyingAsset: governanceConfig.aaveTokenAddress, deadline, - nonce: aaveNonce, - delegationType: DelegationType.BOTH, - governanceTokenName: 'Aave Token', - increaseNonce: false, - }, - { - delegator: user, - delegatee: delegatee, - underlyingAsset: governanceConfig.stkAaveTokenAddress, - deadline, - nonce: stkAaveNonce, - delegationType: DelegationType.BOTH, - governanceTokenName: 'Staked Token', - increaseNonce: false, - }, - { - delegator: user, - delegatee: delegatee, - underlyingAsset: governanceConfig.aAaveTokenAddress, - governanceTokenName: 'aAave', - deadline, - nonce: aAaveNonce, + nonce: String(aaveNonce), delegationType: DelegationType.BOTH, + governanceTokenName: 'Aave token V3', increaseNonce: false, }, + // { + // delegator: user, + // delegatee: delegatee, + // underlyingAsset: governanceConfig.stkAaveTokenAddress, + // deadline, + // nonce: String(stkAaveNonce), + // delegationType: DelegationType.BOTH, + // governanceTokenName: 'Staked Token', + // increaseNonce: false, + // }, + // { + // delegator: user, + // delegatee: delegatee, + // underlyingAsset: governanceConfig.aAaveTokenAddress, + // governanceTokenName: 'Aave Ethereum AAVE', + // deadline, + // nonce: String(aAaveNonce), + // delegationType: DelegationType.BOTH, + // increaseNonce: false, + // }, ]; const unsignedPayloads: string[] = []; From 3eebf2348fccc7cbd6e0e0006c8439078b41390c Mon Sep 17 00:00:00 2001 From: Joaquin Battilana Date: Fri, 22 Dec 2023 12:17:13 -0300 Subject: [PATCH 58/84] feat: gelato relayer --- package.json | 1 + .../transactions/GovVote/GovVoteActions.tsx | 253 +++++++++-- .../GovVote/temporary/VotingMachineService.ts | 62 ++- src/locales/en/messages.po | 2 + src/utils/marketsAndNetworksConfig.ts | 21 +- src/utils/rotationProvider.ts | 1 + yarn.lock | 410 ++++++++++++++++++ 7 files changed, 681 insertions(+), 69 deletions(-) diff --git a/package.json b/package.json index ebf2400f6a..ea36e5b837 100644 --- a/package.json +++ b/package.json @@ -39,6 +39,7 @@ "@emotion/react": "11.10.4", "@emotion/server": "latest", "@emotion/styled": "11.10.4", + "@gelatonetwork/relay-sdk": "4", "@gnosis.pm/safe-apps-web3-react": "^1.2.0", "@heroicons/react": "^1.0.6", "@lingui/react": "^3.14.0", diff --git a/src/components/transactions/GovVote/GovVoteActions.tsx b/src/components/transactions/GovVote/GovVoteActions.tsx index b9dd7f90d4..a8033d25a2 100644 --- a/src/components/transactions/GovVote/GovVoteActions.tsx +++ b/src/components/transactions/GovVote/GovVoteActions.tsx @@ -1,28 +1,30 @@ +import { ChainId } from '@aave/contract-helpers'; +import { GelatoRelay } from '@gelatonetwork/relay-sdk'; import { Trans } from '@lingui/macro'; +import { AbiCoder, keccak256, RLP } from 'ethers/lib/utils'; +import { useState } from 'react'; +import { MOCK_SIGNED_HASH } from 'src/helpers/useTransactionHandler'; import { EnhancedProposal } from 'src/hooks/governance/useProposal'; import { useModalContext } from 'src/hooks/useModal'; +import { useWeb3Context } from 'src/libs/hooks/useWeb3Context'; +import { useRootStore } from 'src/store/root'; +import { governanceV3Config } from 'src/ui-config/governanceConfig'; +import { getProvider } from 'src/utils/marketsAndNetworksConfig'; import { TxActionsWrapper } from '../TxActionsWrapper'; -import { useRootStore } from 'src/store/root'; import { VotingMachineService } from './temporary/VotingMachineService'; -import { governanceConfig, governanceV3Config } from 'src/ui-config/governanceConfig'; -import { getProvider } from 'src/utils/marketsAndNetworksConfig'; -import { ChainId } from '@aave/contract-helpers'; -import { AbiCoder, RLP, keccak256, solidityKeccak256 } from 'ethers/lib/utils'; -import { useWeb3Context } from 'src/libs/hooks/useWeb3Context'; -import { BigNumber, constants } from 'ethers'; interface GetProofResponse { - balance: string, - codeHash: string, - nonce: string, - storageHash: string, - accountProof: string[], + balance: string; + codeHash: string; + nonce: string; + storageHash: string; + accountProof: string[]; storageProof: Array<{ - key: string, - value: string, - proof: string[] - }> + key: string; + value: string; + proof: string[]; + }>; } export type GovVoteActionsProps = { @@ -32,43 +34,209 @@ export type GovVoteActionsProps = { support: boolean; }; +interface VotingAssetWithSlot { + underlyingAsset: string; + slot: number; +} + +const generateSubmitVoteSignature = ( + votingChainId: number, + votingMachineAddress: string, + proposalId: number, + voter: string, + support: boolean, + votingAssetsWithSlot: VotingAssetWithSlot[] +) => { + const typedData = { + types: { + EIP712Domain: [ + { name: 'name', type: 'string' }, + { name: 'version', type: 'string' }, + { name: 'chainId', type: 'uint256' }, + { name: 'verifyingContract', type: 'address' }, + ], + VotingAssetWithSlot: [ + { name: 'underlyingAsset', type: 'address' }, + { name: 'slot', type: 'uint128' }, + ], + SubmitVote: [ + { + name: 'proposalId', + type: 'uint256', + }, + { + name: 'voter', + type: 'address', + }, + { + name: 'support', + type: 'bool', + }, + { + name: 'votingAssetsWithSlot', + type: 'VotingAssetWithSlot[]', + }, + ], + }, + primaryType: 'SubmitVote', + domain: { + name: 'Aave Voting Machine', + version: 'V1', + chainId: votingChainId, + verifyingContract: votingMachineAddress, + }, + message: { + proposalId, + voter, + support, + votingAssetsWithSlot, + }, + }; + return JSON.stringify(typedData); +}; + +const getBaseVotingPowerSlot = (asset: string, withDelegation: boolean) => { + if (asset === '0x26aAB2aE39897338c2d91491C46c14a8c2a67919') { + // aAave CHANGE_BEFORE_PROD + if (withDelegation) return 64; + return 52; + } + return 0; +}; + +const getVotingBalanceProofs = ( + user: string, + assets: string[], + chainId: ChainId, + blockHash: string +) => { + const provider = getProvider(chainId); + const abiCoder = new AbiCoder(); + return Promise.all( + assets.map((asset) => { + const baseVotingSlot = getBaseVotingPowerSlot(asset, false); + const votingPowerSlot = keccak256( + abiCoder.encode(['address', 'uint256'], [user, baseVotingSlot]) + ); + return provider + .send('eth_getProof', [asset, [votingPowerSlot], blockHash]) + .then((rawProof) => { + return { + underlyingAsset: asset, + slot: `${baseVotingSlot}`, + proof: RLP.encode(rawProof.storageProof[0].proof.map((elem) => RLP.decode(elem))), + }; + }); + }) + ); +}; + export const GovVoteActions = ({ isWrongNetwork, blocked, proposal, support, }: GovVoteActionsProps) => { - const { mainTxState, loadingTxns } = useModalContext(); - const user = useRootStore(store => store.account); - const estimateGasLimit = useRootStore(store => store.estimateGasLimit) - const { sendTx } = useWeb3Context(); + const { + mainTxState, + loadingTxns, + setMainTxState, + setApprovalTxState, + approvalTxState, + setTxError, + } = useModalContext(); + const user = useRootStore((store) => store.account); + const estimateGasLimit = useRootStore((store) => store.estimateGasLimit); + const { sendTx, signTxData } = useWeb3Context(); + const [signature, setSignature] = useState(undefined); const proposalId = proposal.proposal.proposalId; - const assets = proposal.votingMachineData.votingAssets; - const blockHash = proposal.proposalData.proposalData.snapshotBlockHash + const assets = ['0xdaEcee477B931b209e8123401EA37582ACB3811d']; + const blockHash = proposal.proposalData.proposalData.snapshotBlockHash; + const votingChainId = proposal.proposalData.votingChainId; + const votingProvider = getProvider(votingChainId); + const votingMachineAddress = + governanceV3Config.votingChainConfig[votingChainId].votingMachineAddress; + + const withGelatoRelayer = false; const action = async () => { - const coreProvider = getProvider(ChainId.sepolia); - const votingProvider = getProvider(ChainId.fuji); - const abiCoder = new AbiCoder() - const votingPowerSlot = keccak256(abiCoder.encode(["address", "uint256"], [user, 0])); - const proofs = await Promise.all(assets.map(asset => coreProvider.send("eth_getProof", [ - asset, - [votingPowerSlot], - blockHash - ]).then(rawProof => { - const asd = BigNumber.from(rawProof.storageProof[0].key).gt(constants.MaxUint256) - console.log(asd) - return { - underlyingAsset: asset, - slot: '0', - proof: RLP.encode(rawProof.storageProof[0].proof.map(elem => RLP.decode(elem))) + setMainTxState({ ...mainTxState, loading: true }); + try { + const proofs = await getVotingBalanceProofs(user, assets, ChainId.sepolia, blockHash); // CHANGE_BEFORE_PROD + const votingMachineService = new VotingMachineService(votingMachineAddress, votingProvider); + if (withGelatoRelayer && signature) { + const tx = await votingMachineService.generateSubmitVoteBySignatureTxData( + user, + +proposalId, + support, + proofs, + signature.toString() + ); + const gelatoRelay = new GelatoRelay(); + const gelatoRequest = { + chainId: votingChainId, + target: votingMachineAddress, + data: tx.data || '', + }; + const response = await gelatoRelay.sponsoredCall(gelatoRequest, ''); + setTimeout(async function checkForStatus() { + const status = await gelatoRelay.getTaskStatus(response.taskId); + if (status?.blockNumber && status.transactionHash) { + setMainTxState({ + txHash: status.transactionHash, + loading: false, + success: true, + }); + return; + } else { + setTimeout(checkForStatus, 5000); + return; + } + }, 5000); + } else { + const tx = await votingMachineService.generateSubmitVoteTxData( + user, + +proposalId, + support, + proofs + ); + const txWithEstimatedGas = await estimateGasLimit(tx, ChainId.fuji); + const response = await sendTx(txWithEstimatedGas); + await response.wait(1); + setMainTxState({ + txHash: response.hash, + loading: false, + success: true, + }); } - }))) - const votingMachineService = new VotingMachineService(governanceV3Config.votingChainConfig[43113].votingMachineAddress, votingProvider); - const tx = await votingMachineService.generateSubmitVoteTxData(user, +proposalId, support, proofs); - // const txWithEstimatedGas = await estimateGasLimit(tx, ChainId.fuji) - sendTx(tx) + } catch { + setMainTxState({ + txHash: undefined, + loading: false, + }); + } + }; + const approve = async () => { + try { + setApprovalTxState({ ...approvalTxState, loading: true }); + const toSign = generateSubmitVoteSignature( + votingChainId, + votingMachineAddress, + +proposalId, + user, + support, + assets.map((elem) => ({ underlyingAsset: elem, slot: getBaseVotingPowerSlot(elem, false) })) + ); + const signature = await signTxData(toSign); + setSignature(signature.toString()); + setTxError(undefined); + setApprovalTxState({ + txHash: MOCK_SIGNED_HASH, + loading: false, + success: true, + }); + } catch {} }; return ( @@ -81,6 +249,7 @@ export const GovVoteActions = ({ actionText={support ? VOTE YAE : VOTE NAY} actionInProgressText={support ? VOTE YAE : VOTE NAY} isWrongNetwork={isWrongNetwork} + handleApproval={approve} /> ); }; diff --git a/src/components/transactions/GovVote/temporary/VotingMachineService.ts b/src/components/transactions/GovVote/temporary/VotingMachineService.ts index 9ec49234e8..2f8f2c60df 100644 --- a/src/components/transactions/GovVote/temporary/VotingMachineService.ts +++ b/src/components/transactions/GovVote/temporary/VotingMachineService.ts @@ -1,8 +1,11 @@ -import { BigNumber, PopulatedTransaction, providers } from "ethers"; -import { VotingMachine__factory } from "./typechain/factory/VotingMachine__factory"; +import { BigNumber, PopulatedTransaction, providers } from 'ethers'; +import { splitSignature } from 'ethers/lib/utils'; + +import { VotingMachine__factory } from './typechain/factory/VotingMachine__factory'; export interface ProviderWithSend extends providers.Provider { - send

(method: string, params: Array

): Promise + // eslint-disable-next-line @typescript-eslint/no-explicit-any + send

(method: string, params: Array

): Promise; } interface VotingBalanceProof { @@ -19,24 +22,51 @@ export class VotingMachineService { private readonly votingMachineContractAddress: string, private readonly provider: ProviderWithSend ) { - this._contract = VotingMachine__factory.connect( - votingMachineContractAddress, - provider, - ); - this._interface = VotingMachine__factory.createInterface() + this._contract = VotingMachine__factory.connect(votingMachineContractAddress, provider); + this._interface = VotingMachine__factory.createInterface(); } - generateSubmitVoteTxData = async (user: string, proposalId: number, support: boolean, votingProofs: VotingBalanceProof[]) => { - const tx: PopulatedTransaction = {} - const txData = this._interface.encodeFunctionData("submitVote", [ + generateSubmitVoteTxData = async ( + user: string, + proposalId: number, + support: boolean, + votingProofs: VotingBalanceProof[] + ) => { + const tx: PopulatedTransaction = {}; + const txData = this._interface.encodeFunctionData('submitVote', [ proposalId, support, - votingProofs + votingProofs, ]); - tx.to = this.votingMachineContractAddress - tx.from = user + tx.to = this.votingMachineContractAddress; + tx.from = user; tx.data = txData; tx.gasLimit = BigNumber.from(1000000); return tx; - } -} \ No newline at end of file + }; + + generateSubmitVoteBySignatureTxData = async ( + user: string, + proposalId: number, + support: boolean, + votingProofs: VotingBalanceProof[], + signature: string + ) => { + const { v, r, s } = splitSignature(signature); + const tx: PopulatedTransaction = {}; + const txData = this._interface.encodeFunctionData('submitVoteBySignature', [ + proposalId, + user, + support, + votingProofs, + v, + r, + s, + ]); + tx.to = this.votingMachineContractAddress; + tx.from = user; + tx.data = txData; + tx.gasLimit = BigNumber.from(1000000); + return tx; + }; +} diff --git a/src/locales/en/messages.po b/src/locales/en/messages.po index 3f2da98114..eeb13f2435 100644 --- a/src/locales/en/messages.po +++ b/src/locales/en/messages.po @@ -1736,6 +1736,8 @@ msgstr "Proposal overview" #: pages/governance/index.governance.tsx #: src/modules/governance/ProposalListHeader.tsx #: src/modules/governance/ProposalListHeader.tsx +#: src/modules/governance/ProposalListHeader.tsx +#: src/modules/governance/ProposalListHeader.tsx msgid "Proposals" msgstr "Proposals" diff --git a/src/utils/marketsAndNetworksConfig.ts b/src/utils/marketsAndNetworksConfig.ts index 5ebb4d2b98..4e41eebb3c 100644 --- a/src/utils/marketsAndNetworksConfig.ts +++ b/src/utils/marketsAndNetworksConfig.ts @@ -1,6 +1,6 @@ import { ChainId, ChainIdToNetwork } from '@aave/contract-helpers'; import { StaticJsonRpcProvider } from '@ethersproject/providers'; -import { providers as ethersProviders } from 'ethers'; +import { ProviderWithSend } from 'src/components/transactions/GovVote/temporary/VotingMachineService'; import { CustomMarket, @@ -15,7 +15,6 @@ import { networkConfigs as _networkConfigs, } from '../ui-config/networksConfig'; import { RotationProvider } from './rotationProvider'; -import { ProviderWithSend } from 'src/components/transactions/GovVote/temporary/VotingMachineService'; export type Pool = { address: string; @@ -123,15 +122,15 @@ export const availableMarkets = Object.keys(marketsData).filter((key) => const linkBuilder = ({ baseUrl, addressPrefix = 'address', txPrefix = 'tx' }: ExplorerLinkBuilderConfig) => - ({ tx, address }: ExplorerLinkBuilderProps): string => { - if (tx) { - return `${baseUrl}/${txPrefix}/${tx}`; - } - if (address) { - return `${baseUrl}/${addressPrefix}/${address}`; - } - return baseUrl; - }; + ({ tx, address }: ExplorerLinkBuilderProps): string => { + if (tx) { + return `${baseUrl}/${txPrefix}/${tx}`; + } + if (address) { + return `${baseUrl}/${addressPrefix}/${address}`; + } + return baseUrl; + }; export function getNetworkConfig(chainId: ChainId): NetworkConfig { const config = networkConfigs[chainId]; diff --git a/src/utils/rotationProvider.ts b/src/utils/rotationProvider.ts index 6ac0a6ebec..b25def07df 100644 --- a/src/utils/rotationProvider.ts +++ b/src/utils/rotationProvider.ts @@ -125,6 +125,7 @@ export class RotationProvider extends BaseProvider { return checkNetworks(networks); } + // eslint-disable-next-line @typescript-eslint/no-explicit-any async send(method: string, params: Array): Promise { const index = this.currentProviderIndex; try { diff --git a/yarn.lock b/yarn.lock index 5e2e6e4a37..1dc6cfe9d3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1764,6 +1764,21 @@ "@ethersproject/properties" "^5.5.0" "@ethersproject/strings" "^5.5.0" +"@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449" + integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA== + dependencies: + "@ethersproject/address" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/hash" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + "@ethersproject/abstract-provider@5.5.1", "@ethersproject/abstract-provider@^5.5.0": version "5.5.1" resolved "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.5.1.tgz" @@ -1777,6 +1792,19 @@ "@ethersproject/transactions" "^5.5.0" "@ethersproject/web" "^5.5.0" +"@ethersproject/abstract-provider@5.7.0", "@ethersproject/abstract-provider@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz#b0a8550f88b6bf9d51f90e4795d48294630cb9ef" + integrity sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw== + dependencies: + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/networks" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/transactions" "^5.7.0" + "@ethersproject/web" "^5.7.0" + "@ethersproject/abstract-signer@5.5.0", "@ethersproject/abstract-signer@^5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.5.0.tgz" @@ -1788,6 +1816,17 @@ "@ethersproject/logger" "^5.5.0" "@ethersproject/properties" "^5.5.0" +"@ethersproject/abstract-signer@5.7.0", "@ethersproject/abstract-signer@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz#13f4f32117868452191a4649723cb086d2b596b2" + integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ== + dependencies: + "@ethersproject/abstract-provider" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/address@5.5.0", "@ethersproject/address@^5.0.4", "@ethersproject/address@^5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/address/-/address-5.5.0.tgz" @@ -1799,6 +1838,17 @@ "@ethersproject/logger" "^5.5.0" "@ethersproject/rlp" "^5.5.0" +"@ethersproject/address@5.7.0", "@ethersproject/address@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.7.0.tgz#19b56c4d74a3b0a46bfdbb6cfcc0a153fc697f37" + integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA== + dependencies: + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/rlp" "^5.7.0" + "@ethersproject/base64@5.5.0", "@ethersproject/base64@^5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.5.0.tgz" @@ -1806,6 +1856,13 @@ dependencies: "@ethersproject/bytes" "^5.5.0" +"@ethersproject/base64@5.7.0", "@ethersproject/base64@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.7.0.tgz#ac4ee92aa36c1628173e221d0d01f53692059e1c" + integrity sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/basex@5.5.0", "@ethersproject/basex@^5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.5.0.tgz" @@ -1814,6 +1871,14 @@ "@ethersproject/bytes" "^5.5.0" "@ethersproject/properties" "^5.5.0" +"@ethersproject/basex@5.7.0", "@ethersproject/basex@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.7.0.tgz#97034dc7e8938a8ca943ab20f8a5e492ece4020b" + integrity sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/bignumber@5.5.0", "@ethersproject/bignumber@^5.0.7", "@ethersproject/bignumber@^5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.5.0.tgz" @@ -1823,6 +1888,15 @@ "@ethersproject/logger" "^5.5.0" bn.js "^4.11.9" +"@ethersproject/bignumber@5.7.0", "@ethersproject/bignumber@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.7.0.tgz#e2f03837f268ba655ffba03a57853e18a18dc9c2" + integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + bn.js "^5.2.1" + "@ethersproject/bytes@5.5.0", "@ethersproject/bytes@^5.0.4", "@ethersproject/bytes@^5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.5.0.tgz" @@ -1830,6 +1904,13 @@ dependencies: "@ethersproject/logger" "^5.5.0" +"@ethersproject/bytes@5.7.0", "@ethersproject/bytes@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.7.0.tgz#a00f6ea8d7e7534d6d87f47188af1148d71f155d" + integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A== + dependencies: + "@ethersproject/logger" "^5.7.0" + "@ethersproject/constants@5.5.0", "@ethersproject/constants@^5.0.4", "@ethersproject/constants@^5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.5.0.tgz" @@ -1837,6 +1918,13 @@ dependencies: "@ethersproject/bignumber" "^5.5.0" +"@ethersproject/constants@5.7.0", "@ethersproject/constants@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.7.0.tgz#df80a9705a7e08984161f09014ea012d1c75295e" + integrity sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA== + dependencies: + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/contracts@5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.5.0.tgz" @@ -1853,6 +1941,22 @@ "@ethersproject/properties" "^5.5.0" "@ethersproject/transactions" "^5.5.0" +"@ethersproject/contracts@5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.7.0.tgz#c305e775abd07e48aa590e1a877ed5c316f8bd1e" + integrity sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg== + dependencies: + "@ethersproject/abi" "^5.7.0" + "@ethersproject/abstract-provider" "^5.7.0" + "@ethersproject/abstract-signer" "^5.7.0" + "@ethersproject/address" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/transactions" "^5.7.0" + "@ethersproject/experimental@^5.5.0": version "5.5.0" resolved "https://registry.yarnpkg.com/@ethersproject/experimental/-/experimental-5.5.0.tgz#3fdf8d51112c1074f401ef3c6c9e57f8a3cf12e3" @@ -1876,6 +1980,21 @@ "@ethersproject/properties" "^5.5.0" "@ethersproject/strings" "^5.5.0" +"@ethersproject/hash@5.7.0", "@ethersproject/hash@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.7.0.tgz#eb7aca84a588508369562e16e514b539ba5240a7" + integrity sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g== + dependencies: + "@ethersproject/abstract-signer" "^5.7.0" + "@ethersproject/address" "^5.7.0" + "@ethersproject/base64" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + "@ethersproject/hdnode@5.5.0", "@ethersproject/hdnode@^5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.5.0.tgz" @@ -1894,6 +2013,24 @@ "@ethersproject/transactions" "^5.5.0" "@ethersproject/wordlists" "^5.5.0" +"@ethersproject/hdnode@5.7.0", "@ethersproject/hdnode@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.7.0.tgz#e627ddc6b466bc77aebf1a6b9e47405ca5aef9cf" + integrity sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg== + dependencies: + "@ethersproject/abstract-signer" "^5.7.0" + "@ethersproject/basex" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/pbkdf2" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/sha2" "^5.7.0" + "@ethersproject/signing-key" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + "@ethersproject/transactions" "^5.7.0" + "@ethersproject/wordlists" "^5.7.0" + "@ethersproject/json-wallets@5.5.0", "@ethersproject/json-wallets@^5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.5.0.tgz" @@ -1913,6 +2050,25 @@ aes-js "3.0.0" scrypt-js "3.0.1" +"@ethersproject/json-wallets@5.7.0", "@ethersproject/json-wallets@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz#5e3355287b548c32b368d91014919ebebddd5360" + integrity sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g== + dependencies: + "@ethersproject/abstract-signer" "^5.7.0" + "@ethersproject/address" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/hdnode" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/pbkdf2" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/random" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + "@ethersproject/transactions" "^5.7.0" + aes-js "3.0.0" + scrypt-js "3.0.1" + "@ethersproject/keccak256@5.5.0", "@ethersproject/keccak256@^5.0.0-beta.130", "@ethersproject/keccak256@^5.0.3", "@ethersproject/keccak256@^5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.5.0.tgz" @@ -1921,11 +2077,24 @@ "@ethersproject/bytes" "^5.5.0" js-sha3 "0.8.0" +"@ethersproject/keccak256@5.7.0", "@ethersproject/keccak256@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.7.0.tgz#3186350c6e1cd6aba7940384ec7d6d9db01f335a" + integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg== + dependencies: + "@ethersproject/bytes" "^5.7.0" + js-sha3 "0.8.0" + "@ethersproject/logger@5.5.0", "@ethersproject/logger@^5.0.5", "@ethersproject/logger@^5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.5.0.tgz" integrity sha512-rIY/6WPm7T8n3qS2vuHTUBPdXHl+rGxWxW5okDfo9J4Z0+gRRZT0msvUdIJkE4/HS29GUMziwGaaKO2bWONBrg== +"@ethersproject/logger@5.7.0", "@ethersproject/logger@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.7.0.tgz#6ce9ae168e74fecf287be17062b590852c311892" + integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig== + "@ethersproject/networks@5.5.2", "@ethersproject/networks@^5.5.0": version "5.5.2" resolved "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.5.2.tgz" @@ -1933,6 +2102,13 @@ dependencies: "@ethersproject/logger" "^5.5.0" +"@ethersproject/networks@5.7.1", "@ethersproject/networks@^5.7.0": + version "5.7.1" + resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.1.tgz#118e1a981d757d45ccea6bb58d9fd3d9db14ead6" + integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ== + dependencies: + "@ethersproject/logger" "^5.7.0" + "@ethersproject/pbkdf2@5.5.0", "@ethersproject/pbkdf2@^5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.5.0.tgz" @@ -1941,6 +2117,14 @@ "@ethersproject/bytes" "^5.5.0" "@ethersproject/sha2" "^5.5.0" +"@ethersproject/pbkdf2@5.7.0", "@ethersproject/pbkdf2@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz#d2267d0a1f6e123f3771007338c47cccd83d3102" + integrity sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/sha2" "^5.7.0" + "@ethersproject/properties@5.5.0", "@ethersproject/properties@^5.0.3", "@ethersproject/properties@^5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.5.0.tgz" @@ -1948,6 +2132,13 @@ dependencies: "@ethersproject/logger" "^5.5.0" +"@ethersproject/properties@5.7.0", "@ethersproject/properties@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.7.0.tgz#a6e12cb0439b878aaf470f1902a176033067ed30" + integrity sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw== + dependencies: + "@ethersproject/logger" "^5.7.0" + "@ethersproject/providers@5.5.3", "@ethersproject/providers@^5.5.3": version "5.5.3" resolved "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.5.3.tgz" @@ -1973,6 +2164,32 @@ bech32 "1.1.4" ws "7.4.6" +"@ethersproject/providers@5.7.2": + version "5.7.2" + resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.7.2.tgz#f8b1a4f275d7ce58cf0a2eec222269a08beb18cb" + integrity sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg== + dependencies: + "@ethersproject/abstract-provider" "^5.7.0" + "@ethersproject/abstract-signer" "^5.7.0" + "@ethersproject/address" "^5.7.0" + "@ethersproject/base64" "^5.7.0" + "@ethersproject/basex" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/hash" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/networks" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/random" "^5.7.0" + "@ethersproject/rlp" "^5.7.0" + "@ethersproject/sha2" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + "@ethersproject/transactions" "^5.7.0" + "@ethersproject/web" "^5.7.0" + bech32 "1.1.4" + ws "7.4.6" + "@ethersproject/random@5.5.1", "@ethersproject/random@^5.5.0": version "5.5.1" resolved "https://registry.npmjs.org/@ethersproject/random/-/random-5.5.1.tgz" @@ -1981,6 +2198,14 @@ "@ethersproject/bytes" "^5.5.0" "@ethersproject/logger" "^5.5.0" +"@ethersproject/random@5.7.0", "@ethersproject/random@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.7.0.tgz#af19dcbc2484aae078bb03656ec05df66253280c" + integrity sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/rlp@5.5.0", "@ethersproject/rlp@^5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.5.0.tgz" @@ -1989,6 +2214,14 @@ "@ethersproject/bytes" "^5.5.0" "@ethersproject/logger" "^5.5.0" +"@ethersproject/rlp@5.7.0", "@ethersproject/rlp@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.7.0.tgz#de39e4d5918b9d74d46de93af80b7685a9c21304" + integrity sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/sha2@5.5.0", "@ethersproject/sha2@^5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.5.0.tgz" @@ -1998,6 +2231,15 @@ "@ethersproject/logger" "^5.5.0" hash.js "1.1.7" +"@ethersproject/sha2@5.7.0", "@ethersproject/sha2@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.7.0.tgz#9a5f7a7824ef784f7f7680984e593a800480c9fb" + integrity sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + hash.js "1.1.7" + "@ethersproject/signing-key@5.5.0", "@ethersproject/signing-key@^5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.5.0.tgz" @@ -2010,6 +2252,18 @@ elliptic "6.5.4" hash.js "1.1.7" +"@ethersproject/signing-key@5.7.0", "@ethersproject/signing-key@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.7.0.tgz#06b2df39411b00bc57c7c09b01d1e41cf1b16ab3" + integrity sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + bn.js "^5.2.1" + elliptic "6.5.4" + hash.js "1.1.7" + "@ethersproject/solidity@5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.5.0.tgz" @@ -2022,6 +2276,18 @@ "@ethersproject/sha2" "^5.5.0" "@ethersproject/strings" "^5.5.0" +"@ethersproject/solidity@5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.7.0.tgz#5e9c911d8a2acce2a5ebb48a5e2e0af20b631cb8" + integrity sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA== + dependencies: + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/sha2" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + "@ethersproject/strings@5.5.0", "@ethersproject/strings@^5.0.4", "@ethersproject/strings@^5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.5.0.tgz" @@ -2031,6 +2297,15 @@ "@ethersproject/constants" "^5.5.0" "@ethersproject/logger" "^5.5.0" +"@ethersproject/strings@5.7.0", "@ethersproject/strings@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.7.0.tgz#54c9d2a7c57ae8f1205c88a9d3a56471e14d5ed2" + integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/transactions@5.5.0", "@ethersproject/transactions@^5.0.0-beta.135", "@ethersproject/transactions@^5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.5.0.tgz" @@ -2046,6 +2321,21 @@ "@ethersproject/rlp" "^5.5.0" "@ethersproject/signing-key" "^5.5.0" +"@ethersproject/transactions@5.7.0", "@ethersproject/transactions@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.7.0.tgz#91318fc24063e057885a6af13fdb703e1f993d3b" + integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ== + dependencies: + "@ethersproject/address" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/rlp" "^5.7.0" + "@ethersproject/signing-key" "^5.7.0" + "@ethersproject/units@5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/units/-/units-5.5.0.tgz" @@ -2055,6 +2345,15 @@ "@ethersproject/constants" "^5.5.0" "@ethersproject/logger" "^5.5.0" +"@ethersproject/units@5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.7.0.tgz#637b563d7e14f42deeee39245275d477aae1d8b1" + integrity sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg== + dependencies: + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/wallet@5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.5.0.tgz" @@ -2076,6 +2375,27 @@ "@ethersproject/transactions" "^5.5.0" "@ethersproject/wordlists" "^5.5.0" +"@ethersproject/wallet@5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.7.0.tgz#4e5d0790d96fe21d61d38fb40324e6c7ef350b2d" + integrity sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA== + dependencies: + "@ethersproject/abstract-provider" "^5.7.0" + "@ethersproject/abstract-signer" "^5.7.0" + "@ethersproject/address" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/hash" "^5.7.0" + "@ethersproject/hdnode" "^5.7.0" + "@ethersproject/json-wallets" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/random" "^5.7.0" + "@ethersproject/signing-key" "^5.7.0" + "@ethersproject/transactions" "^5.7.0" + "@ethersproject/wordlists" "^5.7.0" + "@ethersproject/web@5.5.1", "@ethersproject/web@^5.5.0": version "5.5.1" resolved "https://registry.npmjs.org/@ethersproject/web/-/web-5.5.1.tgz" @@ -2087,6 +2407,17 @@ "@ethersproject/properties" "^5.5.0" "@ethersproject/strings" "^5.5.0" +"@ethersproject/web@5.7.1", "@ethersproject/web@^5.7.0": + version "5.7.1" + resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.7.1.tgz#de1f285b373149bee5928f4eb7bcb87ee5fbb4ae" + integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w== + dependencies: + "@ethersproject/base64" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + "@ethersproject/wordlists@5.5.0", "@ethersproject/wordlists@^5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.5.0.tgz" @@ -2098,6 +2429,25 @@ "@ethersproject/properties" "^5.5.0" "@ethersproject/strings" "^5.5.0" +"@ethersproject/wordlists@5.7.0", "@ethersproject/wordlists@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.7.0.tgz#8fb2c07185d68c3e09eb3bfd6e779ba2774627f5" + integrity sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/hash" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + +"@gelatonetwork/relay-sdk@4": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@gelatonetwork/relay-sdk/-/relay-sdk-4.0.0.tgz#700796d0700a950304437c8ab2ac78e2dc1f45e4" + integrity sha512-apjMQ/r6BPLHhRVE0NzL8PWDpbNsne98oG74kzliBDD/D9IJBVhbveJRamecdmrYmsMFxS0WfODhfDDw2yIijw== + dependencies: + axios "1.4.0" + ethers "5.7.2" + "@gnosis.pm/safe-apps-provider@0.10.3": version "0.10.3" resolved "https://registry.yarnpkg.com/@gnosis.pm/safe-apps-provider/-/safe-apps-provider-0.10.3.tgz#0ce03a3e96920c375a56a66329e610b845396c00" @@ -4728,6 +5078,15 @@ axe-core@^4.3.5: resolved "https://registry.npmjs.org/axe-core/-/axe-core-4.4.1.tgz" integrity sha512-gd1kmb21kwNuWr6BQz8fv6GNECPBnUasepcoLbekws23NVBLODdsClRZ+bQ8+9Uomf3Sm3+Vwn0oYG9NvwnJCw== +axios@1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.4.0.tgz#38a7bf1224cd308de271146038b551d725f0be1f" + integrity sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA== + dependencies: + follow-redirects "^1.15.0" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + axios@^0.27.2: version "0.27.2" resolved "https://registry.yarnpkg.com/axios/-/axios-0.27.2.tgz#207658cc8621606e586c85db4b41a750e756d972" @@ -5016,6 +5375,11 @@ bn.js@^5.1.1, bn.js@^5.1.2, bn.js@^5.2.0: resolved "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz" integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== +bn.js@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" + integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== + boolbase@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" @@ -6899,6 +7263,42 @@ ethereumjs-util@^7.1.0: ethereum-cryptography "^0.1.3" rlp "^2.2.4" +ethers@5.7.2: + version "5.7.2" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.2.tgz#3a7deeabbb8c030d4126b24f84e525466145872e" + integrity sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg== + dependencies: + "@ethersproject/abi" "5.7.0" + "@ethersproject/abstract-provider" "5.7.0" + "@ethersproject/abstract-signer" "5.7.0" + "@ethersproject/address" "5.7.0" + "@ethersproject/base64" "5.7.0" + "@ethersproject/basex" "5.7.0" + "@ethersproject/bignumber" "5.7.0" + "@ethersproject/bytes" "5.7.0" + "@ethersproject/constants" "5.7.0" + "@ethersproject/contracts" "5.7.0" + "@ethersproject/hash" "5.7.0" + "@ethersproject/hdnode" "5.7.0" + "@ethersproject/json-wallets" "5.7.0" + "@ethersproject/keccak256" "5.7.0" + "@ethersproject/logger" "5.7.0" + "@ethersproject/networks" "5.7.1" + "@ethersproject/pbkdf2" "5.7.0" + "@ethersproject/properties" "5.7.0" + "@ethersproject/providers" "5.7.2" + "@ethersproject/random" "5.7.0" + "@ethersproject/rlp" "5.7.0" + "@ethersproject/sha2" "5.7.0" + "@ethersproject/signing-key" "5.7.0" + "@ethersproject/solidity" "5.7.0" + "@ethersproject/strings" "5.7.0" + "@ethersproject/transactions" "5.7.0" + "@ethersproject/units" "5.7.0" + "@ethersproject/wallet" "5.7.0" + "@ethersproject/web" "5.7.1" + "@ethersproject/wordlists" "5.7.0" + ethers@^5.4.7, ethers@^5.5.0, ethers@^5.5.4: version "5.5.4" resolved "https://registry.npmjs.org/ethers/-/ethers-5.5.4.tgz" @@ -7292,6 +7692,11 @@ follow-redirects@^1.14.9: resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== +follow-redirects@^1.15.0: + version "1.15.3" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.3.tgz#fe2f3ef2690afce7e82ed0b44db08165b207123a" + integrity sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q== + foreach@^2.0.5: version "2.0.5" resolved "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz" @@ -10664,6 +11069,11 @@ proxy-from-env@1.0.0: resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee" integrity sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4= +proxy-from-env@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + pseudolocale@^1.1.0: version "1.2.0" resolved "https://registry.npmjs.org/pseudolocale/-/pseudolocale-1.2.0.tgz" From ed9a0f00d1739587c7f4e0d5977e53d85fedb764 Mon Sep 17 00:00:00 2001 From: Joaquin Battilana Date: Fri, 22 Dec 2023 12:18:47 -0300 Subject: [PATCH 59/84] feat: gelato relayer --- .../temporary/typechain/VotingMachine.ts | 713 ++++------- .../GovVote/temporary/typechain/common.ts | 21 +- .../factory/VotingMachine__factory.ts | 1134 ++++++++--------- 3 files changed, 787 insertions(+), 1081 deletions(-) diff --git a/src/components/transactions/GovVote/temporary/typechain/VotingMachine.ts b/src/components/transactions/GovVote/temporary/typechain/VotingMachine.ts index 95471c25cf..d2ae9f7b58 100644 --- a/src/components/transactions/GovVote/temporary/typechain/VotingMachine.ts +++ b/src/components/transactions/GovVote/temporary/typechain/VotingMachine.ts @@ -11,19 +11,10 @@ import type { PopulatedTransaction, Signer, utils, -} from "ethers"; -import type { - FunctionFragment, - Result, - EventFragment, -} from "@ethersproject/abi"; -import type { Listener, Provider } from "@ethersproject/providers"; -import type { - TypedEventFilter, - TypedEvent, - TypedListener, - OnEvent, -} from "./common"; +} from 'ethers'; +import type { FunctionFragment, Result, EventFragment } from '@ethersproject/abi'; +import type { Listener, Provider } from '@ethersproject/providers'; +import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from './common'; export declare namespace IVotingMachineWithProofs { export type VotingAssetWithSlotStruct = { @@ -114,196 +105,132 @@ export declare namespace IVotingMachineWithProofs { export interface VotingMachineInterface extends utils.Interface { functions: { - "CROSS_CHAIN_CONTROLLER()": FunctionFragment; - "DATA_WAREHOUSE()": FunctionFragment; - "DOMAIN_SEPARATOR()": FunctionFragment; - "GOVERNANCE()": FunctionFragment; - "L1_VOTING_PORTAL()": FunctionFragment; - "L1_VOTING_PORTAL_CHAIN_ID()": FunctionFragment; - "NAME()": FunctionFragment; - "REPRESENTATIVES_SLOT()": FunctionFragment; - "VOTE_SUBMITTED_BY_REPRESENTATIVE_TYPEHASH()": FunctionFragment; - "VOTE_SUBMITTED_TYPEHASH()": FunctionFragment; - "VOTING_ASSET_WITH_SLOT_RAW()": FunctionFragment; - "VOTING_ASSET_WITH_SLOT_TYPEHASH()": FunctionFragment; - "VOTING_STRATEGY()": FunctionFragment; - "closeAndSendVote(uint256)": FunctionFragment; - "decodeMessage(bytes)": FunctionFragment; - "decodeProposalMessage(bytes)": FunctionFragment; - "decodeVoteMessage(bytes)": FunctionFragment; - "eip712Domain()": FunctionFragment; - "getGasLimit()": FunctionFragment; - "getProposalById(uint256)": FunctionFragment; - "getProposalState(uint256)": FunctionFragment; - "getProposalVoteConfiguration(uint256)": FunctionFragment; - "getProposalsVoteConfigurationIds(uint256,uint256)": FunctionFragment; - "getUserProposalVote(address,uint256)": FunctionFragment; - "owner()": FunctionFragment; - "receiveCrossChainMessage(address,uint256,bytes)": FunctionFragment; - "renounceOwnership()": FunctionFragment; - "startProposalVote(uint256)": FunctionFragment; - "submitVote(uint256,bool,(address,uint128,bytes)[])": FunctionFragment; - "submitVoteAsRepresentative(uint256,bool,address,bytes,(address,uint128,bytes)[])": FunctionFragment; - "submitVoteAsRepresentativeBySignature(uint256,address,address,bool,bytes,(address,uint128,bytes)[],(uint8,bytes32,bytes32))": FunctionFragment; - "submitVoteBySignature(uint256,address,bool,(address,uint128,bytes)[],uint8,bytes32,bytes32)": FunctionFragment; - "transferOwnership(address)": FunctionFragment; - "updateGasLimit(uint256)": FunctionFragment; + 'CROSS_CHAIN_CONTROLLER()': FunctionFragment; + 'DATA_WAREHOUSE()': FunctionFragment; + 'DOMAIN_SEPARATOR()': FunctionFragment; + 'GOVERNANCE()': FunctionFragment; + 'L1_VOTING_PORTAL()': FunctionFragment; + 'L1_VOTING_PORTAL_CHAIN_ID()': FunctionFragment; + 'NAME()': FunctionFragment; + 'REPRESENTATIVES_SLOT()': FunctionFragment; + 'VOTE_SUBMITTED_BY_REPRESENTATIVE_TYPEHASH()': FunctionFragment; + 'VOTE_SUBMITTED_TYPEHASH()': FunctionFragment; + 'VOTING_ASSET_WITH_SLOT_RAW()': FunctionFragment; + 'VOTING_ASSET_WITH_SLOT_TYPEHASH()': FunctionFragment; + 'VOTING_STRATEGY()': FunctionFragment; + 'closeAndSendVote(uint256)': FunctionFragment; + 'decodeMessage(bytes)': FunctionFragment; + 'decodeProposalMessage(bytes)': FunctionFragment; + 'decodeVoteMessage(bytes)': FunctionFragment; + 'eip712Domain()': FunctionFragment; + 'getGasLimit()': FunctionFragment; + 'getProposalById(uint256)': FunctionFragment; + 'getProposalState(uint256)': FunctionFragment; + 'getProposalVoteConfiguration(uint256)': FunctionFragment; + 'getProposalsVoteConfigurationIds(uint256,uint256)': FunctionFragment; + 'getUserProposalVote(address,uint256)': FunctionFragment; + 'owner()': FunctionFragment; + 'receiveCrossChainMessage(address,uint256,bytes)': FunctionFragment; + 'renounceOwnership()': FunctionFragment; + 'startProposalVote(uint256)': FunctionFragment; + 'submitVote(uint256,bool,(address,uint128,bytes)[])': FunctionFragment; + 'submitVoteAsRepresentative(uint256,bool,address,bytes,(address,uint128,bytes)[])': FunctionFragment; + 'submitVoteAsRepresentativeBySignature(uint256,address,address,bool,bytes,(address,uint128,bytes)[],(uint8,bytes32,bytes32))': FunctionFragment; + 'submitVoteBySignature(uint256,address,bool,(address,uint128,bytes)[],uint8,bytes32,bytes32)': FunctionFragment; + 'transferOwnership(address)': FunctionFragment; + 'updateGasLimit(uint256)': FunctionFragment; }; getFunction( nameOrSignatureOrTopic: - | "CROSS_CHAIN_CONTROLLER" - | "DATA_WAREHOUSE" - | "DOMAIN_SEPARATOR" - | "GOVERNANCE" - | "L1_VOTING_PORTAL" - | "L1_VOTING_PORTAL_CHAIN_ID" - | "NAME" - | "REPRESENTATIVES_SLOT" - | "VOTE_SUBMITTED_BY_REPRESENTATIVE_TYPEHASH" - | "VOTE_SUBMITTED_TYPEHASH" - | "VOTING_ASSET_WITH_SLOT_RAW" - | "VOTING_ASSET_WITH_SLOT_TYPEHASH" - | "VOTING_STRATEGY" - | "closeAndSendVote" - | "decodeMessage" - | "decodeProposalMessage" - | "decodeVoteMessage" - | "eip712Domain" - | "getGasLimit" - | "getProposalById" - | "getProposalState" - | "getProposalVoteConfiguration" - | "getProposalsVoteConfigurationIds" - | "getUserProposalVote" - | "owner" - | "receiveCrossChainMessage" - | "renounceOwnership" - | "startProposalVote" - | "submitVote" - | "submitVoteAsRepresentative" - | "submitVoteAsRepresentativeBySignature" - | "submitVoteBySignature" - | "transferOwnership" - | "updateGasLimit" + | 'CROSS_CHAIN_CONTROLLER' + | 'DATA_WAREHOUSE' + | 'DOMAIN_SEPARATOR' + | 'GOVERNANCE' + | 'L1_VOTING_PORTAL' + | 'L1_VOTING_PORTAL_CHAIN_ID' + | 'NAME' + | 'REPRESENTATIVES_SLOT' + | 'VOTE_SUBMITTED_BY_REPRESENTATIVE_TYPEHASH' + | 'VOTE_SUBMITTED_TYPEHASH' + | 'VOTING_ASSET_WITH_SLOT_RAW' + | 'VOTING_ASSET_WITH_SLOT_TYPEHASH' + | 'VOTING_STRATEGY' + | 'closeAndSendVote' + | 'decodeMessage' + | 'decodeProposalMessage' + | 'decodeVoteMessage' + | 'eip712Domain' + | 'getGasLimit' + | 'getProposalById' + | 'getProposalState' + | 'getProposalVoteConfiguration' + | 'getProposalsVoteConfigurationIds' + | 'getUserProposalVote' + | 'owner' + | 'receiveCrossChainMessage' + | 'renounceOwnership' + | 'startProposalVote' + | 'submitVote' + | 'submitVoteAsRepresentative' + | 'submitVoteAsRepresentativeBySignature' + | 'submitVoteBySignature' + | 'transferOwnership' + | 'updateGasLimit' ): FunctionFragment; + encodeFunctionData(functionFragment: 'CROSS_CHAIN_CONTROLLER', values?: undefined): string; + encodeFunctionData(functionFragment: 'DATA_WAREHOUSE', values?: undefined): string; + encodeFunctionData(functionFragment: 'DOMAIN_SEPARATOR', values?: undefined): string; + encodeFunctionData(functionFragment: 'GOVERNANCE', values?: undefined): string; + encodeFunctionData(functionFragment: 'L1_VOTING_PORTAL', values?: undefined): string; + encodeFunctionData(functionFragment: 'L1_VOTING_PORTAL_CHAIN_ID', values?: undefined): string; + encodeFunctionData(functionFragment: 'NAME', values?: undefined): string; + encodeFunctionData(functionFragment: 'REPRESENTATIVES_SLOT', values?: undefined): string; encodeFunctionData( - functionFragment: "CROSS_CHAIN_CONTROLLER", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "DATA_WAREHOUSE", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "DOMAIN_SEPARATOR", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "GOVERNANCE", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "L1_VOTING_PORTAL", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "L1_VOTING_PORTAL_CHAIN_ID", - values?: undefined - ): string; - encodeFunctionData(functionFragment: "NAME", values?: undefined): string; - encodeFunctionData( - functionFragment: "REPRESENTATIVES_SLOT", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "VOTE_SUBMITTED_BY_REPRESENTATIVE_TYPEHASH", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "VOTE_SUBMITTED_TYPEHASH", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "VOTING_ASSET_WITH_SLOT_RAW", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "VOTING_ASSET_WITH_SLOT_TYPEHASH", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "VOTING_STRATEGY", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "closeAndSendVote", - values: [BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "decodeMessage", - values: [BytesLike] - ): string; - encodeFunctionData( - functionFragment: "decodeProposalMessage", - values: [BytesLike] - ): string; - encodeFunctionData( - functionFragment: "decodeVoteMessage", - values: [BytesLike] - ): string; - encodeFunctionData( - functionFragment: "eip712Domain", + functionFragment: 'VOTE_SUBMITTED_BY_REPRESENTATIVE_TYPEHASH', values?: undefined ): string; + encodeFunctionData(functionFragment: 'VOTE_SUBMITTED_TYPEHASH', values?: undefined): string; + encodeFunctionData(functionFragment: 'VOTING_ASSET_WITH_SLOT_RAW', values?: undefined): string; encodeFunctionData( - functionFragment: "getGasLimit", + functionFragment: 'VOTING_ASSET_WITH_SLOT_TYPEHASH', values?: undefined ): string; + encodeFunctionData(functionFragment: 'VOTING_STRATEGY', values?: undefined): string; + encodeFunctionData(functionFragment: 'closeAndSendVote', values: [BigNumberish]): string; + encodeFunctionData(functionFragment: 'decodeMessage', values: [BytesLike]): string; + encodeFunctionData(functionFragment: 'decodeProposalMessage', values: [BytesLike]): string; + encodeFunctionData(functionFragment: 'decodeVoteMessage', values: [BytesLike]): string; + encodeFunctionData(functionFragment: 'eip712Domain', values?: undefined): string; + encodeFunctionData(functionFragment: 'getGasLimit', values?: undefined): string; + encodeFunctionData(functionFragment: 'getProposalById', values: [BigNumberish]): string; + encodeFunctionData(functionFragment: 'getProposalState', values: [BigNumberish]): string; encodeFunctionData( - functionFragment: "getProposalById", + functionFragment: 'getProposalVoteConfiguration', values: [BigNumberish] ): string; encodeFunctionData( - functionFragment: "getProposalState", - values: [BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "getProposalVoteConfiguration", - values: [BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "getProposalsVoteConfigurationIds", + functionFragment: 'getProposalsVoteConfigurationIds', values: [BigNumberish, BigNumberish] ): string; encodeFunctionData( - functionFragment: "getUserProposalVote", + functionFragment: 'getUserProposalVote', values: [string, BigNumberish] ): string; - encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData(functionFragment: 'owner', values?: undefined): string; encodeFunctionData( - functionFragment: "receiveCrossChainMessage", + functionFragment: 'receiveCrossChainMessage', values: [string, BigNumberish, BytesLike] ): string; + encodeFunctionData(functionFragment: 'renounceOwnership', values?: undefined): string; + encodeFunctionData(functionFragment: 'startProposalVote', values: [BigNumberish]): string; encodeFunctionData( - functionFragment: "renounceOwnership", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "startProposalVote", - values: [BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "submitVote", - values: [ - BigNumberish, - boolean, - IVotingMachineWithProofs.VotingBalanceProofStruct[] - ] + functionFragment: 'submitVote', + values: [BigNumberish, boolean, IVotingMachineWithProofs.VotingBalanceProofStruct[]] ): string; encodeFunctionData( - functionFragment: "submitVoteAsRepresentative", + functionFragment: 'submitVoteAsRepresentative', values: [ BigNumberish, boolean, @@ -313,7 +240,7 @@ export interface VotingMachineInterface extends utils.Interface { ] ): string; encodeFunctionData( - functionFragment: "submitVoteAsRepresentativeBySignature", + functionFragment: 'submitVoteAsRepresentativeBySignature', values: [ BigNumberish, string, @@ -325,7 +252,7 @@ export interface VotingMachineInterface extends utils.Interface { ] ): string; encodeFunctionData( - functionFragment: "submitVoteBySignature", + functionFragment: 'submitVoteBySignature', values: [ BigNumberish, string, @@ -336,183 +263,88 @@ export interface VotingMachineInterface extends utils.Interface { BytesLike ] ): string; - encodeFunctionData( - functionFragment: "transferOwnership", - values: [string] - ): string; - encodeFunctionData( - functionFragment: "updateGasLimit", - values: [BigNumberish] - ): string; - - decodeFunctionResult( - functionFragment: "CROSS_CHAIN_CONTROLLER", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "DATA_WAREHOUSE", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "DOMAIN_SEPARATOR", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "GOVERNANCE", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "L1_VOTING_PORTAL", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "L1_VOTING_PORTAL_CHAIN_ID", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "NAME", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "REPRESENTATIVES_SLOT", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "VOTE_SUBMITTED_BY_REPRESENTATIVE_TYPEHASH", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "VOTE_SUBMITTED_TYPEHASH", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "VOTING_ASSET_WITH_SLOT_RAW", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "VOTING_ASSET_WITH_SLOT_TYPEHASH", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "VOTING_STRATEGY", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "closeAndSendVote", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "decodeMessage", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "decodeProposalMessage", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "decodeVoteMessage", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "eip712Domain", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getGasLimit", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getProposalById", - data: BytesLike - ): Result; + encodeFunctionData(functionFragment: 'transferOwnership', values: [string]): string; + encodeFunctionData(functionFragment: 'updateGasLimit', values: [BigNumberish]): string; + + decodeFunctionResult(functionFragment: 'CROSS_CHAIN_CONTROLLER', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'DATA_WAREHOUSE', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'DOMAIN_SEPARATOR', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'GOVERNANCE', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'L1_VOTING_PORTAL', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'L1_VOTING_PORTAL_CHAIN_ID', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'NAME', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'REPRESENTATIVES_SLOT', data: BytesLike): Result; decodeFunctionResult( - functionFragment: "getProposalState", + functionFragment: 'VOTE_SUBMITTED_BY_REPRESENTATIVE_TYPEHASH', data: BytesLike ): Result; + decodeFunctionResult(functionFragment: 'VOTE_SUBMITTED_TYPEHASH', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'VOTING_ASSET_WITH_SLOT_RAW', data: BytesLike): Result; decodeFunctionResult( - functionFragment: "getProposalVoteConfiguration", + functionFragment: 'VOTING_ASSET_WITH_SLOT_TYPEHASH', data: BytesLike ): Result; + decodeFunctionResult(functionFragment: 'VOTING_STRATEGY', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'closeAndSendVote', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'decodeMessage', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'decodeProposalMessage', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'decodeVoteMessage', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'eip712Domain', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'getGasLimit', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'getProposalById', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'getProposalState', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'getProposalVoteConfiguration', data: BytesLike): Result; decodeFunctionResult( - functionFragment: "getProposalsVoteConfigurationIds", + functionFragment: 'getProposalsVoteConfigurationIds', data: BytesLike ): Result; + decodeFunctionResult(functionFragment: 'getUserProposalVote', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'owner', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'receiveCrossChainMessage', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'renounceOwnership', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'startProposalVote', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'submitVote', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'submitVoteAsRepresentative', data: BytesLike): Result; decodeFunctionResult( - functionFragment: "getUserProposalVote", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "receiveCrossChainMessage", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "renounceOwnership", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "startProposalVote", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "submitVote", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "submitVoteAsRepresentative", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "submitVoteAsRepresentativeBySignature", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "submitVoteBySignature", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "transferOwnership", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "updateGasLimit", + functionFragment: 'submitVoteAsRepresentativeBySignature', data: BytesLike ): Result; + decodeFunctionResult(functionFragment: 'submitVoteBySignature', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'transferOwnership', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'updateGasLimit', data: BytesLike): Result; events: { - "EIP712DomainChanged()": EventFragment; - "GasLimitUpdated(uint256)": EventFragment; - "IncorrectTypeMessageReceived(address,uint256,bytes,bytes)": EventFragment; - "MessageReceived(address,uint256,bool,uint8,bytes,bytes)": EventFragment; - "OwnershipTransferred(address,address)": EventFragment; - "ProposalResultsSent(uint256,uint256,uint256)": EventFragment; - "ProposalVoteConfigurationBridged(uint256,bytes32,uint24,bool)": EventFragment; - "ProposalVoteStarted(uint256,bytes32,uint256,uint256)": EventFragment; - "VoteEmitted(uint256,address,bool,uint256)": EventFragment; + 'EIP712DomainChanged()': EventFragment; + 'GasLimitUpdated(uint256)': EventFragment; + 'IncorrectTypeMessageReceived(address,uint256,bytes,bytes)': EventFragment; + 'MessageReceived(address,uint256,bool,uint8,bytes,bytes)': EventFragment; + 'OwnershipTransferred(address,address)': EventFragment; + 'ProposalResultsSent(uint256,uint256,uint256)': EventFragment; + 'ProposalVoteConfigurationBridged(uint256,bytes32,uint24,bool)': EventFragment; + 'ProposalVoteStarted(uint256,bytes32,uint256,uint256)': EventFragment; + 'VoteEmitted(uint256,address,bool,uint256)': EventFragment; }; - getEvent(nameOrSignatureOrTopic: "EIP712DomainChanged"): EventFragment; - getEvent(nameOrSignatureOrTopic: "GasLimitUpdated"): EventFragment; - getEvent( - nameOrSignatureOrTopic: "IncorrectTypeMessageReceived" - ): EventFragment; - getEvent(nameOrSignatureOrTopic: "MessageReceived"): EventFragment; - getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment; - getEvent(nameOrSignatureOrTopic: "ProposalResultsSent"): EventFragment; - getEvent( - nameOrSignatureOrTopic: "ProposalVoteConfigurationBridged" - ): EventFragment; - getEvent(nameOrSignatureOrTopic: "ProposalVoteStarted"): EventFragment; - getEvent(nameOrSignatureOrTopic: "VoteEmitted"): EventFragment; + getEvent(nameOrSignatureOrTopic: 'EIP712DomainChanged'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'GasLimitUpdated'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'IncorrectTypeMessageReceived'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'MessageReceived'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'OwnershipTransferred'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'ProposalResultsSent'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'ProposalVoteConfigurationBridged'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'ProposalVoteStarted'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'VoteEmitted'): EventFragment; } export interface EIP712DomainChangedEventObject {} -export type EIP712DomainChangedEvent = TypedEvent< - [], - EIP712DomainChangedEventObject ->; +export type EIP712DomainChangedEvent = TypedEvent<[], EIP712DomainChangedEventObject>; -export type EIP712DomainChangedEventFilter = - TypedEventFilter; +export type EIP712DomainChangedEventFilter = TypedEventFilter; export interface GasLimitUpdatedEventObject { gasLimit: BigNumber; } -export type GasLimitUpdatedEvent = TypedEvent< - [BigNumber], - GasLimitUpdatedEventObject ->; +export type GasLimitUpdatedEvent = TypedEvent<[BigNumber], GasLimitUpdatedEventObject>; export type GasLimitUpdatedEventFilter = TypedEventFilter; @@ -554,8 +386,7 @@ export type OwnershipTransferredEvent = TypedEvent< OwnershipTransferredEventObject >; -export type OwnershipTransferredEventFilter = - TypedEventFilter; +export type OwnershipTransferredEventFilter = TypedEventFilter; export interface ProposalResultsSentEventObject { proposalId: BigNumber; @@ -567,8 +398,7 @@ export type ProposalResultsSentEvent = TypedEvent< ProposalResultsSentEventObject >; -export type ProposalResultsSentEventFilter = - TypedEventFilter; +export type ProposalResultsSentEventFilter = TypedEventFilter; export interface ProposalVoteConfigurationBridgedEventObject { proposalId: BigNumber; @@ -595,8 +425,7 @@ export type ProposalVoteStartedEvent = TypedEvent< ProposalVoteStartedEventObject >; -export type ProposalVoteStartedEventFilter = - TypedEventFilter; +export type ProposalVoteStartedEventFilter = TypedEventFilter; export interface VoteEmittedEventObject { proposalId: BigNumber; @@ -628,9 +457,7 @@ export interface VotingMachine extends BaseContract { eventFilter?: TypedEventFilter ): Array>; listeners(eventName?: string): Array; - removeAllListeners( - eventFilter: TypedEventFilter - ): this; + removeAllListeners(eventFilter: TypedEventFilter): this; removeAllListeners(eventName?: string): this; off: OnEvent; on: OnEvent; @@ -654,17 +481,13 @@ export interface VotingMachine extends BaseContract { REPRESENTATIVES_SLOT(overrides?: CallOverrides): Promise<[BigNumber]>; - VOTE_SUBMITTED_BY_REPRESENTATIVE_TYPEHASH( - overrides?: CallOverrides - ): Promise<[string]>; + VOTE_SUBMITTED_BY_REPRESENTATIVE_TYPEHASH(overrides?: CallOverrides): Promise<[string]>; VOTE_SUBMITTED_TYPEHASH(overrides?: CallOverrides): Promise<[string]>; VOTING_ASSET_WITH_SLOT_RAW(overrides?: CallOverrides): Promise<[string]>; - VOTING_ASSET_WITH_SLOT_TYPEHASH( - overrides?: CallOverrides - ): Promise<[string]>; + VOTING_ASSET_WITH_SLOT_TYPEHASH(overrides?: CallOverrides): Promise<[string]>; VOTING_STRATEGY(overrides?: CallOverrides): Promise<[string]>; @@ -673,10 +496,7 @@ export interface VotingMachine extends BaseContract { overrides?: Overrides & { from?: string } ): Promise; - decodeMessage( - message: BytesLike, - overrides?: CallOverrides - ): Promise<[number, string]>; + decodeMessage(message: BytesLike, overrides?: CallOverrides): Promise<[number, string]>; decodeProposalMessage( message: BytesLike, @@ -687,17 +507,10 @@ export interface VotingMachine extends BaseContract { message: BytesLike, overrides?: CallOverrides ): Promise< - [ - BigNumber, - string, - boolean, - IVotingMachineWithProofs.VotingAssetWithSlotStructOutput[] - ] + [BigNumber, string, boolean, IVotingMachineWithProofs.VotingAssetWithSlotStructOutput[]] >; - eip712Domain( - overrides?: CallOverrides - ): Promise< + eip712Domain(overrides?: CallOverrides): Promise< [string, string, string, BigNumber, string, string, BigNumber[]] & { fields: string; name: string; @@ -716,17 +529,12 @@ export interface VotingMachine extends BaseContract { overrides?: CallOverrides ): Promise<[IVotingMachineWithProofs.ProposalWithoutVotesStructOutput]>; - getProposalState( - proposalId: BigNumberish, - overrides?: CallOverrides - ): Promise<[number]>; + getProposalState(proposalId: BigNumberish, overrides?: CallOverrides): Promise<[number]>; getProposalVoteConfiguration( proposalId: BigNumberish, overrides?: CallOverrides - ): Promise< - [IVotingMachineWithProofs.ProposalVoteConfigurationStructOutput] - >; + ): Promise<[IVotingMachineWithProofs.ProposalVoteConfigurationStructOutput]>; getProposalsVoteConfigurationIds( skip: BigNumberish, @@ -749,9 +557,7 @@ export interface VotingMachine extends BaseContract { overrides?: Overrides & { from?: string } ): Promise; - renounceOwnership( - overrides?: Overrides & { from?: string } - ): Promise; + renounceOwnership(overrides?: Overrides & { from?: string }): Promise; startProposalVote( proposalId: BigNumberish, @@ -823,9 +629,7 @@ export interface VotingMachine extends BaseContract { REPRESENTATIVES_SLOT(overrides?: CallOverrides): Promise; - VOTE_SUBMITTED_BY_REPRESENTATIVE_TYPEHASH( - overrides?: CallOverrides - ): Promise; + VOTE_SUBMITTED_BY_REPRESENTATIVE_TYPEHASH(overrides?: CallOverrides): Promise; VOTE_SUBMITTED_TYPEHASH(overrides?: CallOverrides): Promise; @@ -840,10 +644,7 @@ export interface VotingMachine extends BaseContract { overrides?: Overrides & { from?: string } ): Promise; - decodeMessage( - message: BytesLike, - overrides?: CallOverrides - ): Promise<[number, string]>; + decodeMessage(message: BytesLike, overrides?: CallOverrides): Promise<[number, string]>; decodeProposalMessage( message: BytesLike, @@ -854,17 +655,10 @@ export interface VotingMachine extends BaseContract { message: BytesLike, overrides?: CallOverrides ): Promise< - [ - BigNumber, - string, - boolean, - IVotingMachineWithProofs.VotingAssetWithSlotStructOutput[] - ] + [BigNumber, string, boolean, IVotingMachineWithProofs.VotingAssetWithSlotStructOutput[]] >; - eip712Domain( - overrides?: CallOverrides - ): Promise< + eip712Domain(overrides?: CallOverrides): Promise< [string, string, string, BigNumber, string, string, BigNumber[]] & { fields: string; name: string; @@ -883,10 +677,7 @@ export interface VotingMachine extends BaseContract { overrides?: CallOverrides ): Promise; - getProposalState( - proposalId: BigNumberish, - overrides?: CallOverrides - ): Promise; + getProposalState(proposalId: BigNumberish, overrides?: CallOverrides): Promise; getProposalVoteConfiguration( proposalId: BigNumberish, @@ -914,9 +705,7 @@ export interface VotingMachine extends BaseContract { overrides?: Overrides & { from?: string } ): Promise; - renounceOwnership( - overrides?: Overrides & { from?: string } - ): Promise; + renounceOwnership(overrides?: Overrides & { from?: string }): Promise; startProposalVote( proposalId: BigNumberish, @@ -988,9 +777,7 @@ export interface VotingMachine extends BaseContract { REPRESENTATIVES_SLOT(overrides?: CallOverrides): Promise; - VOTE_SUBMITTED_BY_REPRESENTATIVE_TYPEHASH( - overrides?: CallOverrides - ): Promise; + VOTE_SUBMITTED_BY_REPRESENTATIVE_TYPEHASH(overrides?: CallOverrides): Promise; VOTE_SUBMITTED_TYPEHASH(overrides?: CallOverrides): Promise; @@ -1000,15 +787,9 @@ export interface VotingMachine extends BaseContract { VOTING_STRATEGY(overrides?: CallOverrides): Promise; - closeAndSendVote( - proposalId: BigNumberish, - overrides?: CallOverrides - ): Promise; + closeAndSendVote(proposalId: BigNumberish, overrides?: CallOverrides): Promise; - decodeMessage( - message: BytesLike, - overrides?: CallOverrides - ): Promise<[number, string]>; + decodeMessage(message: BytesLike, overrides?: CallOverrides): Promise<[number, string]>; decodeProposalMessage( message: BytesLike, @@ -1019,17 +800,10 @@ export interface VotingMachine extends BaseContract { message: BytesLike, overrides?: CallOverrides ): Promise< - [ - BigNumber, - string, - boolean, - IVotingMachineWithProofs.VotingAssetWithSlotStructOutput[] - ] + [BigNumber, string, boolean, IVotingMachineWithProofs.VotingAssetWithSlotStructOutput[]] >; - eip712Domain( - overrides?: CallOverrides - ): Promise< + eip712Domain(overrides?: CallOverrides): Promise< [string, string, string, BigNumber, string, string, BigNumber[]] & { fields: string; name: string; @@ -1048,10 +822,7 @@ export interface VotingMachine extends BaseContract { overrides?: CallOverrides ): Promise; - getProposalState( - proposalId: BigNumberish, - overrides?: CallOverrides - ): Promise; + getProposalState(proposalId: BigNumberish, overrides?: CallOverrides): Promise; getProposalVoteConfiguration( proposalId: BigNumberish, @@ -1081,10 +852,7 @@ export interface VotingMachine extends BaseContract { renounceOwnership(overrides?: CallOverrides): Promise; - startProposalVote( - proposalId: BigNumberish, - overrides?: CallOverrides - ): Promise; + startProposalVote(proposalId: BigNumberish, overrides?: CallOverrides): Promise; submitVote( proposalId: BigNumberish, @@ -1124,27 +892,19 @@ export interface VotingMachine extends BaseContract { overrides?: CallOverrides ): Promise; - transferOwnership( - newOwner: string, - overrides?: CallOverrides - ): Promise; + transferOwnership(newOwner: string, overrides?: CallOverrides): Promise; - updateGasLimit( - gasLimit: BigNumberish, - overrides?: CallOverrides - ): Promise; + updateGasLimit(gasLimit: BigNumberish, overrides?: CallOverrides): Promise; }; filters: { - "EIP712DomainChanged()"(): EIP712DomainChangedEventFilter; + 'EIP712DomainChanged()'(): EIP712DomainChangedEventFilter; EIP712DomainChanged(): EIP712DomainChangedEventFilter; - "GasLimitUpdated(uint256)"( - gasLimit?: BigNumberish | null - ): GasLimitUpdatedEventFilter; + 'GasLimitUpdated(uint256)'(gasLimit?: BigNumberish | null): GasLimitUpdatedEventFilter; GasLimitUpdated(gasLimit?: BigNumberish | null): GasLimitUpdatedEventFilter; - "IncorrectTypeMessageReceived(address,uint256,bytes,bytes)"( + 'IncorrectTypeMessageReceived(address,uint256,bytes,bytes)'( originSender?: string | null, originChainId?: BigNumberish | null, message?: null, @@ -1157,7 +917,7 @@ export interface VotingMachine extends BaseContract { reason?: null ): IncorrectTypeMessageReceivedEventFilter; - "MessageReceived(address,uint256,bool,uint8,bytes,bytes)"( + 'MessageReceived(address,uint256,bool,uint8,bytes,bytes)'( originSender?: string | null, originChainId?: BigNumberish | null, delivered?: boolean | null, @@ -1174,7 +934,7 @@ export interface VotingMachine extends BaseContract { reason?: null ): MessageReceivedEventFilter; - "OwnershipTransferred(address,address)"( + 'OwnershipTransferred(address,address)'( previousOwner?: string | null, newOwner?: string | null ): OwnershipTransferredEventFilter; @@ -1183,7 +943,7 @@ export interface VotingMachine extends BaseContract { newOwner?: string | null ): OwnershipTransferredEventFilter; - "ProposalResultsSent(uint256,uint256,uint256)"( + 'ProposalResultsSent(uint256,uint256,uint256)'( proposalId?: BigNumberish | null, forVotes?: null, againstVotes?: null @@ -1194,7 +954,7 @@ export interface VotingMachine extends BaseContract { againstVotes?: null ): ProposalResultsSentEventFilter; - "ProposalVoteConfigurationBridged(uint256,bytes32,uint24,bool)"( + 'ProposalVoteConfigurationBridged(uint256,bytes32,uint24,bool)'( proposalId?: BigNumberish | null, blockHash?: BytesLike | null, votingDuration?: null, @@ -1207,7 +967,7 @@ export interface VotingMachine extends BaseContract { voteCreated?: boolean | null ): ProposalVoteConfigurationBridgedEventFilter; - "ProposalVoteStarted(uint256,bytes32,uint256,uint256)"( + 'ProposalVoteStarted(uint256,bytes32,uint256,uint256)'( proposalId?: BigNumberish | null, l1BlockHash?: BytesLike | null, startTime?: null, @@ -1220,7 +980,7 @@ export interface VotingMachine extends BaseContract { endTime?: null ): ProposalVoteStartedEventFilter; - "VoteEmitted(uint256,address,bool,uint256)"( + 'VoteEmitted(uint256,address,bool,uint256)'( proposalId?: BigNumberish | null, voter?: string | null, support?: boolean | null, @@ -1251,17 +1011,13 @@ export interface VotingMachine extends BaseContract { REPRESENTATIVES_SLOT(overrides?: CallOverrides): Promise; - VOTE_SUBMITTED_BY_REPRESENTATIVE_TYPEHASH( - overrides?: CallOverrides - ): Promise; + VOTE_SUBMITTED_BY_REPRESENTATIVE_TYPEHASH(overrides?: CallOverrides): Promise; VOTE_SUBMITTED_TYPEHASH(overrides?: CallOverrides): Promise; VOTING_ASSET_WITH_SLOT_RAW(overrides?: CallOverrides): Promise; - VOTING_ASSET_WITH_SLOT_TYPEHASH( - overrides?: CallOverrides - ): Promise; + VOTING_ASSET_WITH_SLOT_TYPEHASH(overrides?: CallOverrides): Promise; VOTING_STRATEGY(overrides?: CallOverrides): Promise; @@ -1270,34 +1026,19 @@ export interface VotingMachine extends BaseContract { overrides?: Overrides & { from?: string } ): Promise; - decodeMessage( - message: BytesLike, - overrides?: CallOverrides - ): Promise; + decodeMessage(message: BytesLike, overrides?: CallOverrides): Promise; - decodeProposalMessage( - message: BytesLike, - overrides?: CallOverrides - ): Promise; + decodeProposalMessage(message: BytesLike, overrides?: CallOverrides): Promise; - decodeVoteMessage( - message: BytesLike, - overrides?: CallOverrides - ): Promise; + decodeVoteMessage(message: BytesLike, overrides?: CallOverrides): Promise; eip712Domain(overrides?: CallOverrides): Promise; getGasLimit(overrides?: CallOverrides): Promise; - getProposalById( - proposalId: BigNumberish, - overrides?: CallOverrides - ): Promise; + getProposalById(proposalId: BigNumberish, overrides?: CallOverrides): Promise; - getProposalState( - proposalId: BigNumberish, - overrides?: CallOverrides - ): Promise; + getProposalState(proposalId: BigNumberish, overrides?: CallOverrides): Promise; getProposalVoteConfiguration( proposalId: BigNumberish, @@ -1325,9 +1066,7 @@ export interface VotingMachine extends BaseContract { overrides?: Overrides & { from?: string } ): Promise; - renounceOwnership( - overrides?: Overrides & { from?: string } - ): Promise; + renounceOwnership(overrides?: Overrides & { from?: string }): Promise; startProposalVote( proposalId: BigNumberish, @@ -1384,9 +1123,7 @@ export interface VotingMachine extends BaseContract { }; populateTransaction: { - CROSS_CHAIN_CONTROLLER( - overrides?: CallOverrides - ): Promise; + CROSS_CHAIN_CONTROLLER(overrides?: CallOverrides): Promise; DATA_WAREHOUSE(overrides?: CallOverrides): Promise; @@ -1396,31 +1133,21 @@ export interface VotingMachine extends BaseContract { L1_VOTING_PORTAL(overrides?: CallOverrides): Promise; - L1_VOTING_PORTAL_CHAIN_ID( - overrides?: CallOverrides - ): Promise; + L1_VOTING_PORTAL_CHAIN_ID(overrides?: CallOverrides): Promise; NAME(overrides?: CallOverrides): Promise; - REPRESENTATIVES_SLOT( - overrides?: CallOverrides - ): Promise; + REPRESENTATIVES_SLOT(overrides?: CallOverrides): Promise; VOTE_SUBMITTED_BY_REPRESENTATIVE_TYPEHASH( overrides?: CallOverrides ): Promise; - VOTE_SUBMITTED_TYPEHASH( - overrides?: CallOverrides - ): Promise; + VOTE_SUBMITTED_TYPEHASH(overrides?: CallOverrides): Promise; - VOTING_ASSET_WITH_SLOT_RAW( - overrides?: CallOverrides - ): Promise; + VOTING_ASSET_WITH_SLOT_RAW(overrides?: CallOverrides): Promise; - VOTING_ASSET_WITH_SLOT_TYPEHASH( - overrides?: CallOverrides - ): Promise; + VOTING_ASSET_WITH_SLOT_TYPEHASH(overrides?: CallOverrides): Promise; VOTING_STRATEGY(overrides?: CallOverrides): Promise; @@ -1429,20 +1156,14 @@ export interface VotingMachine extends BaseContract { overrides?: Overrides & { from?: string } ): Promise; - decodeMessage( - message: BytesLike, - overrides?: CallOverrides - ): Promise; + decodeMessage(message: BytesLike, overrides?: CallOverrides): Promise; decodeProposalMessage( message: BytesLike, overrides?: CallOverrides ): Promise; - decodeVoteMessage( - message: BytesLike, - overrides?: CallOverrides - ): Promise; + decodeVoteMessage(message: BytesLike, overrides?: CallOverrides): Promise; eip712Domain(overrides?: CallOverrides): Promise; @@ -1484,9 +1205,7 @@ export interface VotingMachine extends BaseContract { overrides?: Overrides & { from?: string } ): Promise; - renounceOwnership( - overrides?: Overrides & { from?: string } - ): Promise; + renounceOwnership(overrides?: Overrides & { from?: string }): Promise; startProposalVote( proposalId: BigNumberish, diff --git a/src/components/transactions/GovVote/temporary/typechain/common.ts b/src/components/transactions/GovVote/temporary/typechain/common.ts index 3e1b0b2bf0..632c3083df 100644 --- a/src/components/transactions/GovVote/temporary/typechain/common.ts +++ b/src/components/transactions/GovVote/temporary/typechain/common.ts @@ -1,17 +1,13 @@ /* Autogenerated file. Do not edit manually. */ /* eslint-disable */ -import type { Listener } from "@ethersproject/providers"; -import type { Event, EventFilter } from "ethers"; +import type { Listener } from '@ethersproject/providers'; +import type { Event, EventFilter } from 'ethers'; -export interface TypedEvent< - TArgsArray extends Array = any, - TArgsObject = any -> extends Event { +export interface TypedEvent = any, TArgsObject = any> extends Event { args: TArgsArray & TArgsObject; } -export interface TypedEventFilter<_TEvent extends TypedEvent> - extends EventFilter {} +export interface TypedEventFilter<_TEvent extends TypedEvent> extends EventFilter {} export interface TypedListener { (...listenerArg: [...__TypechainArgsArray, TEvent]): void; @@ -31,13 +27,8 @@ export type MinEthersFactory = { deploy(...a: ARGS[]): Promise; }; -export type GetContractTypeFromFactory = F extends MinEthersFactory< - infer C, - any -> - ? C - : never; +export type GetContractTypeFromFactory = F extends MinEthersFactory ? C : never; export type GetARGsTypeFromFactory = F extends MinEthersFactory - ? Parameters + ? Parameters : never; diff --git a/src/components/transactions/GovVote/temporary/typechain/factory/VotingMachine__factory.ts b/src/components/transactions/GovVote/temporary/typechain/factory/VotingMachine__factory.ts index db54fd7af8..d967d28e24 100644 --- a/src/components/transactions/GovVote/temporary/typechain/factory/VotingMachine__factory.ts +++ b/src/components/transactions/GovVote/temporary/typechain/factory/VotingMachine__factory.ts @@ -1,1148 +1,1147 @@ /* Autogenerated file. Do not edit manually. */ /* eslint-disable */ -import { Contract, Signer, utils } from "ethers"; -import type { Provider } from "@ethersproject/providers"; -import type { VotingMachine, VotingMachineInterface } from "../VotingMachine"; +import { Contract, Signer, utils } from 'ethers'; +import type { Provider } from '@ethersproject/providers'; +import type { VotingMachine, VotingMachineInterface } from '../VotingMachine'; const _abi = [ { inputs: [ { - internalType: "address", - name: "crossChainController", - type: "address", + internalType: 'address', + name: 'crossChainController', + type: 'address', }, { - internalType: "uint256", - name: "gasLimit", - type: "uint256", + internalType: 'uint256', + name: 'gasLimit', + type: 'uint256', }, { - internalType: "uint256", - name: "l1VotingPortalChainId", - type: "uint256", + internalType: 'uint256', + name: 'l1VotingPortalChainId', + type: 'uint256', }, { - internalType: "contract IVotingStrategy", - name: "votingStrategy", - type: "address", + internalType: 'contract IVotingStrategy', + name: 'votingStrategy', + type: 'address', }, { - internalType: "address", - name: "l1VotingPortal", - type: "address", + internalType: 'address', + name: 'l1VotingPortal', + type: 'address', }, { - internalType: "address", - name: "governance", - type: "address", + internalType: 'address', + name: 'governance', + type: 'address', }, ], - stateMutability: "nonpayable", - type: "constructor", + stateMutability: 'nonpayable', + type: 'constructor', }, { inputs: [], - name: "ECDSAInvalidSignature", - type: "error", + name: 'ECDSAInvalidSignature', + type: 'error', }, { inputs: [ { - internalType: "uint256", - name: "length", - type: "uint256", + internalType: 'uint256', + name: 'length', + type: 'uint256', }, ], - name: "ECDSAInvalidSignatureLength", - type: "error", + name: 'ECDSAInvalidSignatureLength', + type: 'error', }, { inputs: [ { - internalType: "bytes32", - name: "s", - type: "bytes32", + internalType: 'bytes32', + name: 's', + type: 'bytes32', }, ], - name: "ECDSAInvalidSignatureS", - type: "error", + name: 'ECDSAInvalidSignatureS', + type: 'error', }, { inputs: [], - name: "InvalidShortString", - type: "error", + name: 'InvalidShortString', + type: 'error', }, { inputs: [ { - internalType: "string", - name: "str", - type: "string", + internalType: 'string', + name: 'str', + type: 'string', }, ], - name: "StringTooLong", - type: "error", + name: 'StringTooLong', + type: 'error', }, { anonymous: false, inputs: [], - name: "EIP712DomainChanged", - type: "event", + name: 'EIP712DomainChanged', + type: 'event', }, { anonymous: false, inputs: [ { indexed: true, - internalType: "uint256", - name: "gasLimit", - type: "uint256", + internalType: 'uint256', + name: 'gasLimit', + type: 'uint256', }, ], - name: "GasLimitUpdated", - type: "event", + name: 'GasLimitUpdated', + type: 'event', }, { anonymous: false, inputs: [ { indexed: true, - internalType: "address", - name: "originSender", - type: "address", + internalType: 'address', + name: 'originSender', + type: 'address', }, { indexed: true, - internalType: "uint256", - name: "originChainId", - type: "uint256", + internalType: 'uint256', + name: 'originChainId', + type: 'uint256', }, { indexed: false, - internalType: "bytes", - name: "message", - type: "bytes", + internalType: 'bytes', + name: 'message', + type: 'bytes', }, { indexed: false, - internalType: "bytes", - name: "reason", - type: "bytes", + internalType: 'bytes', + name: 'reason', + type: 'bytes', }, ], - name: "IncorrectTypeMessageReceived", - type: "event", + name: 'IncorrectTypeMessageReceived', + type: 'event', }, { anonymous: false, inputs: [ { indexed: true, - internalType: "address", - name: "originSender", - type: "address", + internalType: 'address', + name: 'originSender', + type: 'address', }, { indexed: true, - internalType: "uint256", - name: "originChainId", - type: "uint256", + internalType: 'uint256', + name: 'originChainId', + type: 'uint256', }, { indexed: true, - internalType: "bool", - name: "delivered", - type: "bool", + internalType: 'bool', + name: 'delivered', + type: 'bool', }, { indexed: false, - internalType: "enum IVotingPortal.MessageType", - name: "messageType", - type: "uint8", + internalType: 'enum IVotingPortal.MessageType', + name: 'messageType', + type: 'uint8', }, { indexed: false, - internalType: "bytes", - name: "message", - type: "bytes", + internalType: 'bytes', + name: 'message', + type: 'bytes', }, { indexed: false, - internalType: "bytes", - name: "reason", - type: "bytes", + internalType: 'bytes', + name: 'reason', + type: 'bytes', }, ], - name: "MessageReceived", - type: "event", + name: 'MessageReceived', + type: 'event', }, { anonymous: false, inputs: [ { indexed: true, - internalType: "address", - name: "previousOwner", - type: "address", + internalType: 'address', + name: 'previousOwner', + type: 'address', }, { indexed: true, - internalType: "address", - name: "newOwner", - type: "address", + internalType: 'address', + name: 'newOwner', + type: 'address', }, ], - name: "OwnershipTransferred", - type: "event", + name: 'OwnershipTransferred', + type: 'event', }, { anonymous: false, inputs: [ { indexed: true, - internalType: "uint256", - name: "proposalId", - type: "uint256", + internalType: 'uint256', + name: 'proposalId', + type: 'uint256', }, { indexed: false, - internalType: "uint256", - name: "forVotes", - type: "uint256", + internalType: 'uint256', + name: 'forVotes', + type: 'uint256', }, { indexed: false, - internalType: "uint256", - name: "againstVotes", - type: "uint256", + internalType: 'uint256', + name: 'againstVotes', + type: 'uint256', }, ], - name: "ProposalResultsSent", - type: "event", + name: 'ProposalResultsSent', + type: 'event', }, { anonymous: false, inputs: [ { indexed: true, - internalType: "uint256", - name: "proposalId", - type: "uint256", + internalType: 'uint256', + name: 'proposalId', + type: 'uint256', }, { indexed: true, - internalType: "bytes32", - name: "blockHash", - type: "bytes32", + internalType: 'bytes32', + name: 'blockHash', + type: 'bytes32', }, { indexed: false, - internalType: "uint24", - name: "votingDuration", - type: "uint24", + internalType: 'uint24', + name: 'votingDuration', + type: 'uint24', }, { indexed: true, - internalType: "bool", - name: "voteCreated", - type: "bool", + internalType: 'bool', + name: 'voteCreated', + type: 'bool', }, ], - name: "ProposalVoteConfigurationBridged", - type: "event", + name: 'ProposalVoteConfigurationBridged', + type: 'event', }, { anonymous: false, inputs: [ { indexed: true, - internalType: "uint256", - name: "proposalId", - type: "uint256", + internalType: 'uint256', + name: 'proposalId', + type: 'uint256', }, { indexed: true, - internalType: "bytes32", - name: "l1BlockHash", - type: "bytes32", + internalType: 'bytes32', + name: 'l1BlockHash', + type: 'bytes32', }, { indexed: false, - internalType: "uint256", - name: "startTime", - type: "uint256", + internalType: 'uint256', + name: 'startTime', + type: 'uint256', }, { indexed: false, - internalType: "uint256", - name: "endTime", - type: "uint256", + internalType: 'uint256', + name: 'endTime', + type: 'uint256', }, ], - name: "ProposalVoteStarted", - type: "event", + name: 'ProposalVoteStarted', + type: 'event', }, { anonymous: false, inputs: [ { indexed: true, - internalType: "uint256", - name: "proposalId", - type: "uint256", + internalType: 'uint256', + name: 'proposalId', + type: 'uint256', }, { indexed: true, - internalType: "address", - name: "voter", - type: "address", + internalType: 'address', + name: 'voter', + type: 'address', }, { indexed: true, - internalType: "bool", - name: "support", - type: "bool", + internalType: 'bool', + name: 'support', + type: 'bool', }, { indexed: false, - internalType: "uint256", - name: "votingPower", - type: "uint256", + internalType: 'uint256', + name: 'votingPower', + type: 'uint256', }, ], - name: "VoteEmitted", - type: "event", + name: 'VoteEmitted', + type: 'event', }, { inputs: [], - name: "CROSS_CHAIN_CONTROLLER", + name: 'CROSS_CHAIN_CONTROLLER', outputs: [ { - internalType: "address", - name: "", - type: "address", + internalType: 'address', + name: '', + type: 'address', }, ], - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', }, { inputs: [], - name: "DATA_WAREHOUSE", + name: 'DATA_WAREHOUSE', outputs: [ { - internalType: "contract IDataWarehouse", - name: "", - type: "address", + internalType: 'contract IDataWarehouse', + name: '', + type: 'address', }, ], - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', }, { inputs: [], - name: "DOMAIN_SEPARATOR", + name: 'DOMAIN_SEPARATOR', outputs: [ { - internalType: "bytes32", - name: "", - type: "bytes32", + internalType: 'bytes32', + name: '', + type: 'bytes32', }, ], - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', }, { inputs: [], - name: "GOVERNANCE", + name: 'GOVERNANCE', outputs: [ { - internalType: "address", - name: "", - type: "address", + internalType: 'address', + name: '', + type: 'address', }, ], - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', }, { inputs: [], - name: "L1_VOTING_PORTAL", + name: 'L1_VOTING_PORTAL', outputs: [ { - internalType: "address", - name: "", - type: "address", + internalType: 'address', + name: '', + type: 'address', }, ], - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', }, { inputs: [], - name: "L1_VOTING_PORTAL_CHAIN_ID", + name: 'L1_VOTING_PORTAL_CHAIN_ID', outputs: [ { - internalType: "uint256", - name: "", - type: "uint256", + internalType: 'uint256', + name: '', + type: 'uint256', }, ], - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', }, { inputs: [], - name: "NAME", + name: 'NAME', outputs: [ { - internalType: "string", - name: "", - type: "string", + internalType: 'string', + name: '', + type: 'string', }, ], - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', }, { inputs: [], - name: "REPRESENTATIVES_SLOT", + name: 'REPRESENTATIVES_SLOT', outputs: [ { - internalType: "uint256", - name: "", - type: "uint256", + internalType: 'uint256', + name: '', + type: 'uint256', }, ], - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', }, { inputs: [], - name: "VOTE_SUBMITTED_BY_REPRESENTATIVE_TYPEHASH", + name: 'VOTE_SUBMITTED_BY_REPRESENTATIVE_TYPEHASH', outputs: [ { - internalType: "bytes32", - name: "", - type: "bytes32", + internalType: 'bytes32', + name: '', + type: 'bytes32', }, ], - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', }, { inputs: [], - name: "VOTE_SUBMITTED_TYPEHASH", + name: 'VOTE_SUBMITTED_TYPEHASH', outputs: [ { - internalType: "bytes32", - name: "", - type: "bytes32", + internalType: 'bytes32', + name: '', + type: 'bytes32', }, ], - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', }, { inputs: [], - name: "VOTING_ASSET_WITH_SLOT_RAW", + name: 'VOTING_ASSET_WITH_SLOT_RAW', outputs: [ { - internalType: "string", - name: "", - type: "string", + internalType: 'string', + name: '', + type: 'string', }, ], - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', }, { inputs: [], - name: "VOTING_ASSET_WITH_SLOT_TYPEHASH", + name: 'VOTING_ASSET_WITH_SLOT_TYPEHASH', outputs: [ { - internalType: "bytes32", - name: "", - type: "bytes32", + internalType: 'bytes32', + name: '', + type: 'bytes32', }, ], - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', }, { inputs: [], - name: "VOTING_STRATEGY", + name: 'VOTING_STRATEGY', outputs: [ { - internalType: "contract IVotingStrategy", - name: "", - type: "address", + internalType: 'contract IVotingStrategy', + name: '', + type: 'address', }, ], - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', }, { inputs: [ { - internalType: "uint256", - name: "proposalId", - type: "uint256", + internalType: 'uint256', + name: 'proposalId', + type: 'uint256', }, ], - name: "closeAndSendVote", + name: 'closeAndSendVote', outputs: [], - stateMutability: "nonpayable", - type: "function", + stateMutability: 'nonpayable', + type: 'function', }, { inputs: [ { - internalType: "bytes", - name: "message", - type: "bytes", + internalType: 'bytes', + name: 'message', + type: 'bytes', }, ], - name: "decodeMessage", + name: 'decodeMessage', outputs: [ { - internalType: "enum IVotingPortal.MessageType", - name: "", - type: "uint8", + internalType: 'enum IVotingPortal.MessageType', + name: '', + type: 'uint8', }, { - internalType: "bytes", - name: "", - type: "bytes", + internalType: 'bytes', + name: '', + type: 'bytes', }, ], - stateMutability: "pure", - type: "function", + stateMutability: 'pure', + type: 'function', }, { inputs: [ { - internalType: "bytes", - name: "message", - type: "bytes", + internalType: 'bytes', + name: 'message', + type: 'bytes', }, ], - name: "decodeProposalMessage", + name: 'decodeProposalMessage', outputs: [ { - internalType: "uint256", - name: "", - type: "uint256", + internalType: 'uint256', + name: '', + type: 'uint256', }, { - internalType: "bytes32", - name: "", - type: "bytes32", + internalType: 'bytes32', + name: '', + type: 'bytes32', }, { - internalType: "uint24", - name: "", - type: "uint24", + internalType: 'uint24', + name: '', + type: 'uint24', }, ], - stateMutability: "pure", - type: "function", + stateMutability: 'pure', + type: 'function', }, { inputs: [ { - internalType: "bytes", - name: "message", - type: "bytes", + internalType: 'bytes', + name: 'message', + type: 'bytes', }, ], - name: "decodeVoteMessage", + name: 'decodeVoteMessage', outputs: [ { - internalType: "uint256", - name: "", - type: "uint256", + internalType: 'uint256', + name: '', + type: 'uint256', }, { - internalType: "address", - name: "", - type: "address", + internalType: 'address', + name: '', + type: 'address', }, { - internalType: "bool", - name: "", - type: "bool", + internalType: 'bool', + name: '', + type: 'bool', }, { components: [ { - internalType: "address", - name: "underlyingAsset", - type: "address", + internalType: 'address', + name: 'underlyingAsset', + type: 'address', }, { - internalType: "uint128", - name: "slot", - type: "uint128", + internalType: 'uint128', + name: 'slot', + type: 'uint128', }, ], - internalType: "struct IVotingMachineWithProofs.VotingAssetWithSlot[]", - name: "", - type: "tuple[]", + internalType: 'struct IVotingMachineWithProofs.VotingAssetWithSlot[]', + name: '', + type: 'tuple[]', }, ], - stateMutability: "pure", - type: "function", + stateMutability: 'pure', + type: 'function', }, { inputs: [], - name: "eip712Domain", + name: 'eip712Domain', outputs: [ { - internalType: "bytes1", - name: "fields", - type: "bytes1", + internalType: 'bytes1', + name: 'fields', + type: 'bytes1', }, { - internalType: "string", - name: "name", - type: "string", + internalType: 'string', + name: 'name', + type: 'string', }, { - internalType: "string", - name: "version", - type: "string", + internalType: 'string', + name: 'version', + type: 'string', }, { - internalType: "uint256", - name: "chainId", - type: "uint256", + internalType: 'uint256', + name: 'chainId', + type: 'uint256', }, { - internalType: "address", - name: "verifyingContract", - type: "address", + internalType: 'address', + name: 'verifyingContract', + type: 'address', }, { - internalType: "bytes32", - name: "salt", - type: "bytes32", + internalType: 'bytes32', + name: 'salt', + type: 'bytes32', }, { - internalType: "uint256[]", - name: "extensions", - type: "uint256[]", + internalType: 'uint256[]', + name: 'extensions', + type: 'uint256[]', }, ], - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', }, { inputs: [], - name: "getGasLimit", + name: 'getGasLimit', outputs: [ { - internalType: "uint256", - name: "", - type: "uint256", + internalType: 'uint256', + name: '', + type: 'uint256', }, ], - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', }, { inputs: [ { - internalType: "uint256", - name: "proposalId", - type: "uint256", + internalType: 'uint256', + name: 'proposalId', + type: 'uint256', }, ], - name: "getProposalById", + name: 'getProposalById', outputs: [ { components: [ { - internalType: "uint256", - name: "id", - type: "uint256", + internalType: 'uint256', + name: 'id', + type: 'uint256', }, { - internalType: "bool", - name: "sentToGovernance", - type: "bool", + internalType: 'bool', + name: 'sentToGovernance', + type: 'bool', }, { - internalType: "uint40", - name: "startTime", - type: "uint40", + internalType: 'uint40', + name: 'startTime', + type: 'uint40', }, { - internalType: "uint40", - name: "endTime", - type: "uint40", + internalType: 'uint40', + name: 'endTime', + type: 'uint40', }, { - internalType: "uint40", - name: "votingClosedAndSentTimestamp", - type: "uint40", + internalType: 'uint40', + name: 'votingClosedAndSentTimestamp', + type: 'uint40', }, { - internalType: "uint128", - name: "forVotes", - type: "uint128", + internalType: 'uint128', + name: 'forVotes', + type: 'uint128', }, { - internalType: "uint128", - name: "againstVotes", - type: "uint128", + internalType: 'uint128', + name: 'againstVotes', + type: 'uint128', }, { - internalType: "uint256", - name: "creationBlockNumber", - type: "uint256", + internalType: 'uint256', + name: 'creationBlockNumber', + type: 'uint256', }, { - internalType: "uint256", - name: "votingClosedAndSentBlockNumber", - type: "uint256", + internalType: 'uint256', + name: 'votingClosedAndSentBlockNumber', + type: 'uint256', }, ], - internalType: "struct IVotingMachineWithProofs.ProposalWithoutVotes", - name: "", - type: "tuple", + internalType: 'struct IVotingMachineWithProofs.ProposalWithoutVotes', + name: '', + type: 'tuple', }, ], - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', }, { inputs: [ { - internalType: "uint256", - name: "proposalId", - type: "uint256", + internalType: 'uint256', + name: 'proposalId', + type: 'uint256', }, ], - name: "getProposalState", + name: 'getProposalState', outputs: [ { - internalType: "enum IVotingMachineWithProofs.ProposalState", - name: "", - type: "uint8", + internalType: 'enum IVotingMachineWithProofs.ProposalState', + name: '', + type: 'uint8', }, ], - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', }, { inputs: [ { - internalType: "uint256", - name: "proposalId", - type: "uint256", + internalType: 'uint256', + name: 'proposalId', + type: 'uint256', }, ], - name: "getProposalVoteConfiguration", + name: 'getProposalVoteConfiguration', outputs: [ { components: [ { - internalType: "uint24", - name: "votingDuration", - type: "uint24", + internalType: 'uint24', + name: 'votingDuration', + type: 'uint24', }, { - internalType: "bytes32", - name: "l1ProposalBlockHash", - type: "bytes32", + internalType: 'bytes32', + name: 'l1ProposalBlockHash', + type: 'bytes32', }, ], - internalType: - "struct IVotingMachineWithProofs.ProposalVoteConfiguration", - name: "", - type: "tuple", + internalType: 'struct IVotingMachineWithProofs.ProposalVoteConfiguration', + name: '', + type: 'tuple', }, ], - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', }, { inputs: [ { - internalType: "uint256", - name: "skip", - type: "uint256", + internalType: 'uint256', + name: 'skip', + type: 'uint256', }, { - internalType: "uint256", - name: "size", - type: "uint256", + internalType: 'uint256', + name: 'size', + type: 'uint256', }, ], - name: "getProposalsVoteConfigurationIds", + name: 'getProposalsVoteConfigurationIds', outputs: [ { - internalType: "uint256[]", - name: "", - type: "uint256[]", + internalType: 'uint256[]', + name: '', + type: 'uint256[]', }, ], - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', }, { inputs: [ { - internalType: "address", - name: "user", - type: "address", + internalType: 'address', + name: 'user', + type: 'address', }, { - internalType: "uint256", - name: "proposalId", - type: "uint256", + internalType: 'uint256', + name: 'proposalId', + type: 'uint256', }, ], - name: "getUserProposalVote", + name: 'getUserProposalVote', outputs: [ { components: [ { - internalType: "bool", - name: "support", - type: "bool", + internalType: 'bool', + name: 'support', + type: 'bool', }, { - internalType: "uint248", - name: "votingPower", - type: "uint248", + internalType: 'uint248', + name: 'votingPower', + type: 'uint248', }, ], - internalType: "struct IVotingMachineWithProofs.Vote", - name: "", - type: "tuple", + internalType: 'struct IVotingMachineWithProofs.Vote', + name: '', + type: 'tuple', }, ], - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', }, { inputs: [], - name: "owner", + name: 'owner', outputs: [ { - internalType: "address", - name: "", - type: "address", + internalType: 'address', + name: '', + type: 'address', }, ], - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', }, { inputs: [ { - internalType: "address", - name: "originSender", - type: "address", + internalType: 'address', + name: 'originSender', + type: 'address', }, { - internalType: "uint256", - name: "originChainId", - type: "uint256", + internalType: 'uint256', + name: 'originChainId', + type: 'uint256', }, { - internalType: "bytes", - name: "messageWithType", - type: "bytes", + internalType: 'bytes', + name: 'messageWithType', + type: 'bytes', }, ], - name: "receiveCrossChainMessage", + name: 'receiveCrossChainMessage', outputs: [], - stateMutability: "nonpayable", - type: "function", + stateMutability: 'nonpayable', + type: 'function', }, { inputs: [], - name: "renounceOwnership", + name: 'renounceOwnership', outputs: [], - stateMutability: "nonpayable", - type: "function", + stateMutability: 'nonpayable', + type: 'function', }, { inputs: [ { - internalType: "uint256", - name: "proposalId", - type: "uint256", + internalType: 'uint256', + name: 'proposalId', + type: 'uint256', }, ], - name: "startProposalVote", + name: 'startProposalVote', outputs: [ { - internalType: "uint256", - name: "", - type: "uint256", + internalType: 'uint256', + name: '', + type: 'uint256', }, ], - stateMutability: "nonpayable", - type: "function", + stateMutability: 'nonpayable', + type: 'function', }, { inputs: [ { - internalType: "uint256", - name: "proposalId", - type: "uint256", + internalType: 'uint256', + name: 'proposalId', + type: 'uint256', }, { - internalType: "bool", - name: "support", - type: "bool", + internalType: 'bool', + name: 'support', + type: 'bool', }, { components: [ { - internalType: "address", - name: "underlyingAsset", - type: "address", + internalType: 'address', + name: 'underlyingAsset', + type: 'address', }, { - internalType: "uint128", - name: "slot", - type: "uint128", + internalType: 'uint128', + name: 'slot', + type: 'uint128', }, { - internalType: "bytes", - name: "proof", - type: "bytes", + internalType: 'bytes', + name: 'proof', + type: 'bytes', }, ], - internalType: "struct IVotingMachineWithProofs.VotingBalanceProof[]", - name: "votingBalanceProofs", - type: "tuple[]", + internalType: 'struct IVotingMachineWithProofs.VotingBalanceProof[]', + name: 'votingBalanceProofs', + type: 'tuple[]', }, ], - name: "submitVote", + name: 'submitVote', outputs: [], - stateMutability: "nonpayable", - type: "function", + stateMutability: 'nonpayable', + type: 'function', }, { inputs: [ { - internalType: "uint256", - name: "proposalId", - type: "uint256", + internalType: 'uint256', + name: 'proposalId', + type: 'uint256', }, { - internalType: "bool", - name: "support", - type: "bool", + internalType: 'bool', + name: 'support', + type: 'bool', }, { - internalType: "address", - name: "voter", - type: "address", + internalType: 'address', + name: 'voter', + type: 'address', }, { - internalType: "bytes", - name: "proofOfRepresentation", - type: "bytes", + internalType: 'bytes', + name: 'proofOfRepresentation', + type: 'bytes', }, { components: [ { - internalType: "address", - name: "underlyingAsset", - type: "address", + internalType: 'address', + name: 'underlyingAsset', + type: 'address', }, { - internalType: "uint128", - name: "slot", - type: "uint128", + internalType: 'uint128', + name: 'slot', + type: 'uint128', }, { - internalType: "bytes", - name: "proof", - type: "bytes", + internalType: 'bytes', + name: 'proof', + type: 'bytes', }, ], - internalType: "struct IVotingMachineWithProofs.VotingBalanceProof[]", - name: "votingBalanceProofs", - type: "tuple[]", + internalType: 'struct IVotingMachineWithProofs.VotingBalanceProof[]', + name: 'votingBalanceProofs', + type: 'tuple[]', }, ], - name: "submitVoteAsRepresentative", + name: 'submitVoteAsRepresentative', outputs: [], - stateMutability: "nonpayable", - type: "function", + stateMutability: 'nonpayable', + type: 'function', }, { inputs: [ { - internalType: "uint256", - name: "proposalId", - type: "uint256", + internalType: 'uint256', + name: 'proposalId', + type: 'uint256', }, { - internalType: "address", - name: "voter", - type: "address", + internalType: 'address', + name: 'voter', + type: 'address', }, { - internalType: "address", - name: "representative", - type: "address", + internalType: 'address', + name: 'representative', + type: 'address', }, { - internalType: "bool", - name: "support", - type: "bool", + internalType: 'bool', + name: 'support', + type: 'bool', }, { - internalType: "bytes", - name: "proofOfRepresentation", - type: "bytes", + internalType: 'bytes', + name: 'proofOfRepresentation', + type: 'bytes', }, { components: [ { - internalType: "address", - name: "underlyingAsset", - type: "address", + internalType: 'address', + name: 'underlyingAsset', + type: 'address', }, { - internalType: "uint128", - name: "slot", - type: "uint128", + internalType: 'uint128', + name: 'slot', + type: 'uint128', }, { - internalType: "bytes", - name: "proof", - type: "bytes", + internalType: 'bytes', + name: 'proof', + type: 'bytes', }, ], - internalType: "struct IVotingMachineWithProofs.VotingBalanceProof[]", - name: "votingBalanceProofs", - type: "tuple[]", + internalType: 'struct IVotingMachineWithProofs.VotingBalanceProof[]', + name: 'votingBalanceProofs', + type: 'tuple[]', }, { components: [ { - internalType: "uint8", - name: "v", - type: "uint8", + internalType: 'uint8', + name: 'v', + type: 'uint8', }, { - internalType: "bytes32", - name: "r", - type: "bytes32", + internalType: 'bytes32', + name: 'r', + type: 'bytes32', }, { - internalType: "bytes32", - name: "s", - type: "bytes32", + internalType: 'bytes32', + name: 's', + type: 'bytes32', }, ], - internalType: "struct IVotingMachineWithProofs.SignatureParams", - name: "signatureParams", - type: "tuple", + internalType: 'struct IVotingMachineWithProofs.SignatureParams', + name: 'signatureParams', + type: 'tuple', }, ], - name: "submitVoteAsRepresentativeBySignature", + name: 'submitVoteAsRepresentativeBySignature', outputs: [], - stateMutability: "nonpayable", - type: "function", + stateMutability: 'nonpayable', + type: 'function', }, { inputs: [ { - internalType: "uint256", - name: "proposalId", - type: "uint256", + internalType: 'uint256', + name: 'proposalId', + type: 'uint256', }, { - internalType: "address", - name: "voter", - type: "address", + internalType: 'address', + name: 'voter', + type: 'address', }, { - internalType: "bool", - name: "support", - type: "bool", + internalType: 'bool', + name: 'support', + type: 'bool', }, { components: [ { - internalType: "address", - name: "underlyingAsset", - type: "address", + internalType: 'address', + name: 'underlyingAsset', + type: 'address', }, { - internalType: "uint128", - name: "slot", - type: "uint128", + internalType: 'uint128', + name: 'slot', + type: 'uint128', }, { - internalType: "bytes", - name: "proof", - type: "bytes", + internalType: 'bytes', + name: 'proof', + type: 'bytes', }, ], - internalType: "struct IVotingMachineWithProofs.VotingBalanceProof[]", - name: "votingBalanceProofs", - type: "tuple[]", + internalType: 'struct IVotingMachineWithProofs.VotingBalanceProof[]', + name: 'votingBalanceProofs', + type: 'tuple[]', }, { - internalType: "uint8", - name: "v", - type: "uint8", + internalType: 'uint8', + name: 'v', + type: 'uint8', }, { - internalType: "bytes32", - name: "r", - type: "bytes32", + internalType: 'bytes32', + name: 'r', + type: 'bytes32', }, { - internalType: "bytes32", - name: "s", - type: "bytes32", + internalType: 'bytes32', + name: 's', + type: 'bytes32', }, ], - name: "submitVoteBySignature", + name: 'submitVoteBySignature', outputs: [], - stateMutability: "nonpayable", - type: "function", + stateMutability: 'nonpayable', + type: 'function', }, { inputs: [ { - internalType: "address", - name: "newOwner", - type: "address", + internalType: 'address', + name: 'newOwner', + type: 'address', }, ], - name: "transferOwnership", + name: 'transferOwnership', outputs: [], - stateMutability: "nonpayable", - type: "function", + stateMutability: 'nonpayable', + type: 'function', }, { inputs: [ { - internalType: "uint256", - name: "gasLimit", - type: "uint256", + internalType: 'uint256', + name: 'gasLimit', + type: 'uint256', }, ], - name: "updateGasLimit", + name: 'updateGasLimit', outputs: [], - stateMutability: "nonpayable", - type: "function", + stateMutability: 'nonpayable', + type: 'function', }, ] as const; @@ -1151,10 +1150,7 @@ export class VotingMachine__factory { static createInterface(): VotingMachineInterface { return new utils.Interface(_abi) as VotingMachineInterface; } - static connect( - address: string, - signerOrProvider: Signer | Provider - ): VotingMachine { + static connect(address: string, signerOrProvider: Signer | Provider): VotingMachine { return new Contract(address, _abi, signerOrProvider) as VotingMachine; } } From abee1f496d3f087e5f6d992350284952178e8cff Mon Sep 17 00:00:00 2001 From: Mark Hinschberger Date: Fri, 22 Dec 2023 11:00:53 -0500 Subject: [PATCH 60/84] chore: delegation multople --- src/helpers/useGovernanceDelegate.tsx | 111 ++++++++++++++++---------- 1 file changed, 67 insertions(+), 44 deletions(-) diff --git a/src/helpers/useGovernanceDelegate.tsx b/src/helpers/useGovernanceDelegate.tsx index 5b46076018..c696ea82bf 100644 --- a/src/helpers/useGovernanceDelegate.tsx +++ b/src/helpers/useGovernanceDelegate.tsx @@ -125,32 +125,32 @@ export const useGovernanceDelegate = ( v: utils.splitSignature(signatures[0]).v, r: utils.splitSignature(signatures[0]).r, s: utils.splitSignature(signatures[0]).s, + delegationType: GovernancePowerTypeApp.All, + }, + { + delegator: user, + delegatee, + underlyingAsset: governanceConfig.stkAaveTokenAddress, + deadline, + v: utils.splitSignature(signatures[1]).v, + r: utils.splitSignature(signatures[1]).r, + s: utils.splitSignature(signatures[1]).s, + delegationType: DelegationType.BOTH, + }, + { + delegator: user, + delegatee, + underlyingAsset: governanceConfig.aAaveTokenAddress, + deadline, + v: utils.splitSignature(signatures[2]).v, + r: utils.splitSignature(signatures[2]).r, + s: utils.splitSignature(signatures[2]).s, delegationType: DelegationType.BOTH, }, - // { - // delegator: user, - // delegatee, - // underlyingAsset: governanceConfig.stkAaveTokenAddress, - // deadline, - // v: utils.splitSignature(signatures[1]).v, - // r: utils.splitSignature(signatures[1]).r, - // s: utils.splitSignature(signatures[1]).s, - // delegationType: DelegationType.BOTH, - // }, - // { - // delegator: user, - // delegatee, - // underlyingAsset: governanceConfig.aAaveTokenAddress, - // deadline, - // v: utils.splitSignature(signatures[2]).v, - // r: utils.splitSignature(signatures[2]).r, - // s: utils.splitSignature(signatures[2]).s, - // delegationType: DelegationType.BOTH, - // }, ]; const metaDelegateHelperContract = new ethers.Contract( - '0x8afd68632a4b4d9fb3f2956ca921eb2d69146491', + '0x7cc468E937ec7B06A2816B33AC159BC1273dF4A3', // '0x8afd68632a4b4d9fb3f2956ca921eb2d69146491', META_DELEGATE_HELPER_ABI, provider ); @@ -342,9 +342,12 @@ export const useGovernanceDelegate = ( deadline, }: DelegateMetaSigParams) => { console.log('delegateByType ---->', delegationType, GovernancePowerTypeApp.All); + console.log('increaseNonce --->', increaseNonce, nonce); const isAllDelegate = Number(delegationType) === Number(GovernancePowerTypeApp.All); + console.log('isAllDelegate ---<', isAllDelegate); + const sigBaseType = [ { name: 'nonce', type: 'uint256' }, { name: 'deadline', type: 'uint256' }, @@ -370,7 +373,27 @@ export const useGovernanceDelegate = ( verifyingContract: underlyingAsset, }, types: isAllDelegate - ? { Delegate: [...sigParametersType, ...sigBaseType] } + ? { + EIP712Domain: [ + { + name: 'name', + type: 'string', + }, + { + name: 'version', + type: 'string', + }, + { + name: 'chainId', + type: 'uint256', + }, + { + name: 'verifyingContract', + type: 'address', + }, + ], + Delegate: [...sigParametersType, ...sigBaseType], + } : { DelegateByType: [...sigParametersType, ...sigDelegationTypeType, ...sigBaseType], }, @@ -378,7 +401,7 @@ export const useGovernanceDelegate = ( message: isAllDelegate ? { ...typesData } : { ...typesData, delegationType }, }; - return typeData; + return JSON.stringify(typeData); }; const signMetaTxs = async () => { @@ -431,30 +454,30 @@ export const useGovernanceDelegate = ( underlyingAsset: governanceConfig.aaveTokenAddress, deadline, nonce: String(aaveNonce), - delegationType: DelegationType.BOTH, + delegationType: GovernancePowerTypeApp.All, governanceTokenName: 'Aave token V3', increaseNonce: false, }, - // { - // delegator: user, - // delegatee: delegatee, - // underlyingAsset: governanceConfig.stkAaveTokenAddress, - // deadline, - // nonce: String(stkAaveNonce), - // delegationType: DelegationType.BOTH, - // governanceTokenName: 'Staked Token', - // increaseNonce: false, - // }, - // { - // delegator: user, - // delegatee: delegatee, - // underlyingAsset: governanceConfig.aAaveTokenAddress, - // governanceTokenName: 'Aave Ethereum AAVE', - // deadline, - // nonce: String(aAaveNonce), - // delegationType: DelegationType.BOTH, - // increaseNonce: false, - // }, + { + delegator: user, + delegatee: delegatee, + underlyingAsset: governanceConfig.stkAaveTokenAddress, + deadline, + nonce: String(stkAaveNonce), + delegationType: DelegationType.BOTH, + governanceTokenName: 'Staked Token', + increaseNonce: false, + }, + { + delegator: user, + delegatee: delegatee, + underlyingAsset: governanceConfig.aAaveTokenAddress, + governanceTokenName: 'Aave Ethereum AAVE', + deadline, + nonce: String(aAaveNonce), + delegationType: DelegationType.BOTH, + increaseNonce: false, + }, ]; const unsignedPayloads: string[] = []; From bfbf216360f62acd2857d4086e05c575e0a29965 Mon Sep 17 00:00:00 2001 From: Mark Hinschberger Date: Fri, 22 Dec 2023 12:28:06 -0500 Subject: [PATCH 61/84] chore: delegation multople --- src/helpers/useGovernanceDelegate.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/helpers/useGovernanceDelegate.tsx b/src/helpers/useGovernanceDelegate.tsx index c696ea82bf..abf053c340 100644 --- a/src/helpers/useGovernanceDelegate.tsx +++ b/src/helpers/useGovernanceDelegate.tsx @@ -464,7 +464,7 @@ export const useGovernanceDelegate = ( underlyingAsset: governanceConfig.stkAaveTokenAddress, deadline, nonce: String(stkAaveNonce), - delegationType: DelegationType.BOTH, + delegationType: GovernancePowerTypeApp.All, governanceTokenName: 'Staked Token', increaseNonce: false, }, @@ -475,7 +475,7 @@ export const useGovernanceDelegate = ( governanceTokenName: 'Aave Ethereum AAVE', deadline, nonce: String(aAaveNonce), - delegationType: DelegationType.BOTH, + delegationType: GovernancePowerTypeApp.All, increaseNonce: false, }, ]; From 64cf25a1f7574cf8548f84855a90f8d9b09cd056 Mon Sep 17 00:00:00 2001 From: Mark Hinschberger Date: Fri, 22 Dec 2023 13:56:31 -0500 Subject: [PATCH 62/84] chore: delegation multople --- src/helpers/useGovernanceDelegate.tsx | 10 +++++----- src/modules/governance/DelegatedInfoPanel.tsx | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/helpers/useGovernanceDelegate.tsx b/src/helpers/useGovernanceDelegate.tsx index abf053c340..3c0a0d6514 100644 --- a/src/helpers/useGovernanceDelegate.tsx +++ b/src/helpers/useGovernanceDelegate.tsx @@ -104,8 +104,8 @@ export const useGovernanceDelegate = ( console.log('SIGNATURE', signatures); const { v: v1, r: r1, s: s1 } = utils.splitSignature(signatures[0]); - // const { v: v2, r: r2, s: s2 } = utils.splitSignature(signatures[1]); - // const { v: v3, r: r3, s: s3 } = utils.splitSignature(signatures[2]); + const { v: v2, r: r2, s: s2 } = utils.splitSignature(signatures[1]); + const { v: v3, r: r3, s: s3 } = utils.splitSignature(signatures[2]); let txs: EthereumTransactionTypeExtended[] = []; @@ -135,7 +135,7 @@ export const useGovernanceDelegate = ( v: utils.splitSignature(signatures[1]).v, r: utils.splitSignature(signatures[1]).r, s: utils.splitSignature(signatures[1]).s, - delegationType: DelegationType.BOTH, + delegationType: GovernancePowerTypeApp.All, }, { delegator: user, @@ -145,7 +145,7 @@ export const useGovernanceDelegate = ( v: utils.splitSignature(signatures[2]).v, r: utils.splitSignature(signatures[2]).r, s: utils.splitSignature(signatures[2]).s, - delegationType: DelegationType.BOTH, + delegationType: GovernancePowerTypeApp.All, }, ]; @@ -465,7 +465,7 @@ export const useGovernanceDelegate = ( deadline, nonce: String(stkAaveNonce), delegationType: GovernancePowerTypeApp.All, - governanceTokenName: 'Staked Token', + governanceTokenName: 'Staked Aave', increaseNonce: false, }, { diff --git a/src/modules/governance/DelegatedInfoPanel.tsx b/src/modules/governance/DelegatedInfoPanel.tsx index 0e7667be5a..a054b4e9e5 100644 --- a/src/modules/governance/DelegatedInfoPanel.tsx +++ b/src/modules/governance/DelegatedInfoPanel.tsx @@ -62,7 +62,7 @@ const DelegatedPower: React.FC = ({ > From f3cb8136dff62ddf78708c8893166f58f70f0054 Mon Sep 17 00:00:00 2001 From: JoaquinBattilana Date: Fri, 22 Dec 2023 16:03:31 -0300 Subject: [PATCH 63/84] Feat/delegation multiple test (#22) * feat: fixed multiple delegation * feat: fixed multiple delegation --------- Co-authored-by: Joaquin Battilana --- src/helpers/useGovernanceDelegate.tsx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/helpers/useGovernanceDelegate.tsx b/src/helpers/useGovernanceDelegate.tsx index 3c0a0d6514..6edc028aa2 100644 --- a/src/helpers/useGovernanceDelegate.tsx +++ b/src/helpers/useGovernanceDelegate.tsx @@ -4,18 +4,17 @@ import { ProtocolAction, tEthereumAddress, } from '@aave/contract-helpers'; -import { ethers } from 'ethers'; import { SignatureLike } from '@ethersproject/bytes'; import { TransactionResponse } from '@ethersproject/providers'; -import { utils } from 'ethers'; +import { BigNumber, ethers, utils } from 'ethers'; import { useEffect, useState } from 'react'; import { DelegationTokenType } from 'src/components/transactions/GovDelegation/DelegationTokenSelector'; import { useModalContext } from 'src/hooks/useModal'; import { useWeb3Context } from 'src/libs/hooks/useWeb3Context'; +import META_DELEGATE_HELPER_ABI from 'src/meta-batch-helper.json'; import { useRootStore } from 'src/store/root'; import { getErrorTextFromError, TxAction } from 'src/ui-config/errorMapping'; import { governanceConfig } from 'src/ui-config/governanceConfig'; -import META_DELEGATE_HELPER_ABI from 'src/meta-batch-helper.json'; import { DelegationType } from './types'; import { MOCK_SIGNED_HASH } from './useTransactionHandler'; @@ -161,6 +160,8 @@ export const useGovernanceDelegate = ( delegateParams ); + txData.gasLimit = BigNumber.from(10000000); + console.log('txData --->', txData); // txs = await delegateTokensBySig({ @@ -401,6 +402,8 @@ export const useGovernanceDelegate = ( message: isAllDelegate ? { ...typesData } : { ...typesData, delegationType }, }; + console.log(typeData); + return JSON.stringify(typeData); }; @@ -498,7 +501,6 @@ export const useGovernanceDelegate = ( } try { const signedPayload: SignatureLike[] = []; - for (const unsignedPayload of unsignedPayloads) { signedPayload.push(await signTxData(unsignedPayload)); } From 05ceac3938b457b1ea59ab1424fcafd0fc510302 Mon Sep 17 00:00:00 2001 From: Mark Hinschberger Date: Fri, 22 Dec 2023 14:57:58 -0500 Subject: [PATCH 64/84] chore: cleanup --- src/helpers/useGovernanceDelegate.tsx | 129 ++++---------------------- 1 file changed, 20 insertions(+), 109 deletions(-) diff --git a/src/helpers/useGovernanceDelegate.tsx b/src/helpers/useGovernanceDelegate.tsx index 6edc028aa2..483b5433aa 100644 --- a/src/helpers/useGovernanceDelegate.tsx +++ b/src/helpers/useGovernanceDelegate.tsx @@ -14,7 +14,7 @@ import { useWeb3Context } from 'src/libs/hooks/useWeb3Context'; import META_DELEGATE_HELPER_ABI from 'src/meta-batch-helper.json'; import { useRootStore } from 'src/store/root'; import { getErrorTextFromError, TxAction } from 'src/ui-config/errorMapping'; -import { governanceConfig } from 'src/ui-config/governanceConfig'; +import { governanceConfig, governanceV3Config } from 'src/ui-config/governanceConfig'; import { DelegationType } from './types'; import { MOCK_SIGNED_HASH } from './useTransactionHandler'; @@ -34,7 +34,7 @@ export const useGovernanceDelegate = ( const delegateByType = useRootStore((state) => state.delegateByType); const delegate = useRootStore((state) => state.delegate); const getTokenNonce = useRootStore((state) => state.getTokenNonce); - const delegateTokensBySig = useRootStore((state) => state.delegateTokensBySig); + // const delegateTokensBySig = useRootStore((state) => state.delegateTokensBySig); const delegateTokensByTypeBySig = useRootStore((state) => state.delegateTokensByTypeBySig); const user = useRootStore((state) => state.account); const { signTxData, sendTx, provider, chainId: connectedChainId, getTxError } = useWeb3Context(); @@ -45,10 +45,10 @@ export const useGovernanceDelegate = ( const [stkAaveNonce, setStkAaveNonce] = useState(0); const [aAaveNonce, setAAaveNonce] = useState(0); const [deadline, setDeadline] = useState(Math.floor(Date.now() / 1000 + 3600).toString()); - const prepareDelegateSignature = useRootStore((state) => state.prepareDelegateSignature); - const prepareDelegateByTypeSignature = useRootStore( - (state) => state.prepareDelegateByTypeSignature - ); + // const prepareDelegateSignature = useRootStore((state) => state.prepareDelegateSignature); + // const prepareDelegateByTypeSignature = useRootStore( + // (state) => state.prepareDelegateByTypeSignature + // ); const isSignatureAction = delegationTokenType === DelegationTokenType.BOTH; @@ -149,56 +149,17 @@ export const useGovernanceDelegate = ( ]; const metaDelegateHelperContract = new ethers.Contract( - '0x7cc468E937ec7B06A2816B33AC159BC1273dF4A3', // '0x8afd68632a4b4d9fb3f2956ca921eb2d69146491', + governanceV3Config.addresses.AAVE_META_HELPER, META_DELEGATE_HELPER_ABI, provider ); - console.log('delegateParams --->', delegateParams); - const txData = await metaDelegateHelperContract.populateTransaction.batchMetaDelegate( delegateParams ); txData.gasLimit = BigNumber.from(10000000); - console.log('txData --->', txData); - - // txs = await delegateTokensBySig({ - // user, - // tokens: [ - // governanceConfig.aaveTokenAddress, - // governanceConfig.stkAaveTokenAddress, - // governanceConfig.aAaveTokenAddress, - // ], - // data: [ - // { - // delegatee, - // nonce: aaveNonce, - // expiry: deadline, - // v: v1, - // r: r1, - // s: s1, - // }, - // { - // delegatee, - // nonce: stkAaveNonce, - // expiry: deadline, - // v: v2, - // r: r2, - // s: s2, - // }, - // { - // delegatee, - // nonce: aAaveNonce, - // expiry: deadline, - // v: v3, - // r: r3, - // s: s3, - // }, - // ], - // }); - return processTx({ tx: () => sendTx(txData), successCallback: (txnResponse: TransactionResponse) => { @@ -308,29 +269,19 @@ export const useGovernanceDelegate = ( }); } }; - - interface BatchMetaDelegateParams { - underlyingAsset: tEthereumAddress; - delegator: tEthereumAddress; - delegatee: tEthereumAddress; - deadline: bigint; - v: number; - r: tEthereumAddress; - s: tEthereumAddress; - delegationType: GovernancePowerTypeApp; - } - interface DelegateMetaSigParams { underlyingAsset: tEthereumAddress; delegatee: tEthereumAddress; - delegateByType: GovernancePowerTypeApp; + delegationType: GovernancePowerTypeApp; delegator: tEthereumAddress; increaseNonce: boolean; governanceTokenName: string; nonce: string; - connectedChainId: number; - deadline: number; + // connectedChainId: number; + deadline: string; } + + // TODO Move to utilities const delegateMetaSig = ({ underlyingAsset, delegatee, @@ -342,13 +293,8 @@ export const useGovernanceDelegate = ( // connectedChainId, deadline, }: DelegateMetaSigParams) => { - console.log('delegateByType ---->', delegationType, GovernancePowerTypeApp.All); - console.log('increaseNonce --->', increaseNonce, nonce); - const isAllDelegate = Number(delegationType) === Number(GovernancePowerTypeApp.All); - console.log('isAllDelegate ---<', isAllDelegate); - const sigBaseType = [ { name: 'nonce', type: 'uint256' }, { name: 'deadline', type: 'uint256' }, @@ -402,8 +348,6 @@ export const useGovernanceDelegate = ( message: isAllDelegate ? { ...typesData } : { ...typesData, delegationType }, }; - console.log(typeData); - return JSON.stringify(typeData); }; @@ -421,35 +365,6 @@ export const useGovernanceDelegate = ( setStkAaveNonce(stkAaveNonce); setAAaveNonce(aAaveNonce); - // const txs = [ - // { - // delegatee, - // nonce: String(aaveNonce), - // governanceToken: governanceConfig.aaveTokenAddress, - // governanceTokenName: 'Aave Token', - // expiry: deadline, - // }, - // { - // delegatee, - // nonce: String(stkAaveNonce), - // governanceToken: governanceConfig.stkAaveTokenAddress, - // governanceTokenName: 'Staked Aave', - // expiry: deadline, - // }, - // { - // delegatee, - // nonce: String(aAaveNonce), - // governanceToken: governanceConfig.aAaveTokenAddress, - // governanceTokenName: 'aAave', - // expiry: deadline, - // }, - // ]; - - // const isVotingToAddressSame = - // delegateData.votingToAddress === votingToAddress; - // const isPropositionToAddressSame = - // delegateData.propositionToAddress === propositionToAddress; - const delegationParameters = [ { delegator: user, @@ -486,17 +401,13 @@ export const useGovernanceDelegate = ( const unsignedPayloads: string[] = []; for (const tx of delegationParameters) { if (delegationType !== DelegationType.BOTH) { - const p = delegateMetaSig(tx); - - // console.log('P =======>', p); - + const payload = delegateMetaSig(tx); // const payload = await prepareDelegateByTypeSignature({ ...tx, type: delegationType }); - unsignedPayloads.push(p); + unsignedPayloads.push(payload); } else { - const p = await delegateMetaSig(tx); - - // const payload = await prepareDelegateSignature(tx); - unsignedPayloads.push(p); + // TODO Check what is required here + const payload = await delegateMetaSig(tx); + unsignedPayloads.push(payload); } } try { @@ -509,9 +420,6 @@ export const useGovernanceDelegate = ( loading: false, success: true, }); - - console.log('SIGNED PAYLOAD', signedPayload); - setTxError(undefined); setSignatures(signedPayload); } catch (error) { @@ -545,6 +453,7 @@ export const useGovernanceDelegate = ( } else { let txs: EthereumTransactionTypeExtended[] = []; if (delegationType === DelegationType.BOTH) { + // TODO check if this is working as normal txs = await delegate({ delegatee, governanceToken: @@ -558,6 +467,8 @@ export const useGovernanceDelegate = ( // : governanceConfig.stkAaveTokenAddress, }); } else { + // TODO check if this is working as normal + txs = await delegateByType({ delegatee, delegationType, From 44385426c7c51c87a7d415b1547182c7b8404383 Mon Sep 17 00:00:00 2001 From: Mark Hinschberger Date: Fri, 22 Dec 2023 14:59:49 -0500 Subject: [PATCH 65/84] chore: address --- src/ui-config/governanceConfig.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/ui-config/governanceConfig.ts b/src/ui-config/governanceConfig.ts index 49b2be8226..f77011688d 100644 --- a/src/ui-config/governanceConfig.ts +++ b/src/ui-config/governanceConfig.ts @@ -66,6 +66,7 @@ export interface GovernanceV3Config { GOVERNANCE_DATA_HELPER: string; WALLET_BALANCE_PROVIDER: string; GOVERNANCE_META_HELPER: string; + AAVE_META_HELPER: string; }; votingAssets: string[]; } @@ -109,5 +110,6 @@ export const governanceV3Config: GovernanceV3Config = { GOVERNANCE_DATA_HELPER: '0x863f9De2f82AB502612E8B7d4f4863c8535cb8cA', WALLET_BALANCE_PROVIDER: '0xCD4e0d6D2b1252E2A709B8aE97DBA31164C5a709', // AaveV3Ethereum.WALLET_BALANCE_PROVIDER, GOVERNANCE_META_HELPER: '0x8aFD68632A4B4d9fB3F2956Ca921Eb2d69146491', // < Sepolia + AAVE_META_HELPER: '0x7cc468E937ec7B06A2816B33AC159BC1273dF4A3', // < Sepolia }, }; From baa3482a3e989f2836352b2ec649d1fad0f7c656 Mon Sep 17 00:00:00 2001 From: Mark Hinschberger Date: Fri, 22 Dec 2023 15:09:59 -0500 Subject: [PATCH 66/84] chore: address --- src/ui-config/governanceConfig.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/ui-config/governanceConfig.ts b/src/ui-config/governanceConfig.ts index 4754d083a5..ab14059413 100644 --- a/src/ui-config/governanceConfig.ts +++ b/src/ui-config/governanceConfig.ts @@ -72,7 +72,6 @@ export interface GovernanceV3Config { GOVERNANCE_DATA_HELPER: string; WALLET_BALANCE_PROVIDER: string; GOVERNANCE_META_HELPER: string; - AAVE_META_HELPER: string; }; votingAssets: string[]; } @@ -125,7 +124,6 @@ export const governanceChainConfig: GovernanceChainConfig = { GOVERNANCE_DATA_HELPER: '0x863f9De2f82AB502612E8B7d4f4863c8535cb8cA', WALLET_BALANCE_PROVIDER: '0xCD4e0d6D2b1252E2A709B8aE97DBA31164C5a709', // AaveV3Ethereum.WALLET_BALANCE_PROVIDER, GOVERNANCE_META_HELPER: '0x8aFD68632A4B4d9fB3F2956Ca921Eb2d69146491', - AAVE_META_HELPER: '0x7cc468E937ec7B06A2816B33AC159BC1273dF4A3', }, }, [ChainId.mainnet]: { From 6b02c77cd195d681d70ddff50d412594429be517 Mon Sep 17 00:00:00 2001 From: Mark Hinschberger Date: Fri, 22 Dec 2023 15:12:22 -0500 Subject: [PATCH 67/84] chore: remove debug --- src/helpers/useGovernanceDelegate.tsx | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/helpers/useGovernanceDelegate.tsx b/src/helpers/useGovernanceDelegate.tsx index 483b5433aa..b5a78dc675 100644 --- a/src/helpers/useGovernanceDelegate.tsx +++ b/src/helpers/useGovernanceDelegate.tsx @@ -100,18 +100,13 @@ export const useGovernanceDelegate = ( if (isSignatureAction) { setMainTxState({ ...mainTxState, loading: true }); - console.log('SIGNATURE', signatures); - const { v: v1, r: r1, s: s1 } = utils.splitSignature(signatures[0]); const { v: v2, r: r2, s: s2 } = utils.splitSignature(signatures[1]); const { v: v3, r: r3, s: s3 } = utils.splitSignature(signatures[2]); let txs: EthereumTransactionTypeExtended[] = []; - console.log('DELEGATION TYPE', delegationType, DelegationType.BOTH); if (delegationType === DelegationType.BOTH) { - console.log(' LETS GO IN EHRE'); - // ALL --> Means both powers // do delegation with meta // continue in here @@ -149,7 +144,7 @@ export const useGovernanceDelegate = ( ]; const metaDelegateHelperContract = new ethers.Contract( - governanceV3Config.addresses.AAVE_META_HELPER, + governanceV3Config.addresses.GOVERNANCE_META_HELPER, META_DELEGATE_HELPER_ABI, provider ); @@ -171,7 +166,6 @@ export const useGovernanceDelegate = ( setTxError(undefined); }, errorCallback: (error, hash) => { - console.log('whats the erorrrrrrrr', error); const parsedError = getErrorTextFromError(error, TxAction.MAIN_ACTION); setTxError(parsedError); setMainTxState({ From 12aead1ad3486903ec6eb894bddd2648fc93f049 Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Fri, 22 Dec 2023 15:19:20 -0600 Subject: [PATCH 68/84] fix: list times --- src/modules/governance/ProposalV3ListItem.tsx | 87 ++++++++++++------- src/modules/governance/ProposalsV3List.tsx | 8 ++ 2 files changed, 64 insertions(+), 31 deletions(-) diff --git a/src/modules/governance/ProposalV3ListItem.tsx b/src/modules/governance/ProposalV3ListItem.tsx index 3274174be9..e0c0850276 100644 --- a/src/modules/governance/ProposalV3ListItem.tsx +++ b/src/modules/governance/ProposalV3ListItem.tsx @@ -1,5 +1,13 @@ -import { ProposalV3State } from '@aave/contract-helpers'; +import { + ProposalData, + ProposalV3State, + VotingConfig, + VotingMachineProposal, +} from '@aave/contract-helpers'; +import { Trans } from '@lingui/macro'; import { Box, Stack, Typography } from '@mui/material'; +import dayjs from 'dayjs'; +import relativeTime from 'dayjs/plugin/relativeTime'; import { Link, ROUTES } from 'src/components/primitives/Link'; import { useRootStore } from 'src/store/root'; import { networkConfigs } from 'src/ui-config/networksConfig'; @@ -8,6 +16,8 @@ import { GOVERNANCE_PAGE } from 'src/utils/mixPanelEvents'; import { StateBadge } from './StateBadge'; import { VoteBar } from './VoteBar'; +dayjs.extend(relativeTime); + export const ProposalV3ListItem = ({ id, title, @@ -18,6 +28,9 @@ export const ProposalV3ListItem = ({ forPercent, againstPercent, votingChainId, + proposalData, + votingMachineData, + votingConfig, }: { id: string; title: string; @@ -28,10 +41,16 @@ export const ProposalV3ListItem = ({ forPercent: number; againstPercent: number; votingChainId: number; + proposalData: ProposalData; + votingMachineData: VotingMachineProposal; + votingConfig: VotingConfig; }) => { const trackEvent = useRootStore((store) => store.trackEvent); const network = networkConfigs[votingChainId]; + const timestamp = getProposalTimestamp(proposalData, votingMachineData, votingConfig); + console.log(timestamp); + return ( network logo - - Ends in 3 days (TODO) - + {proposalState === ProposalV3State.Created && ( + <> + + starts {timestamp} + + + )} + {proposalState === ProposalV3State.Active && ( + <> + + ends {timestamp} + + + )} {title} @@ -89,33 +119,6 @@ export const ProposalV3ListItem = ({ > {shortDescription} - {/* - - - Quorum} checked={quorumReached} loading={mightBeStale} /> - Differential} - checked={diffReached} - loading={mightBeStale} - /> - {accessLevel === AccessLevel.Long_Executor ? ( - - - Long Executor - - - - ) : null} - */} ); }; + +const getProposalTimestamp = ( + proposalData: ProposalData, + votingMachineData: VotingMachineProposal, + votingConfig: VotingConfig +) => { + const state = proposalData.proposalData.state; + const creationTime = proposalData.proposalData.creationTime; + const votingMachineStartTime = votingMachineData.proposalData.startTime; + if (state === ProposalV3State.Created || votingMachineStartTime === 0) { + const votingStartDelay = votingConfig.config.coolDownBeforeVotingStart; + return dayjs.unix(creationTime + Number(votingStartDelay)).fromNow(); + } + + if (state === ProposalV3State.Active) { + const votingDuration = votingConfig.config.votingDuration; + return dayjs.unix(votingMachineStartTime + Number(votingDuration)).fromNow(); + } + + // only showing timestamps for created/active proposals for now + return ''; +}; diff --git a/src/modules/governance/ProposalsV3List.tsx b/src/modules/governance/ProposalsV3List.tsx index d56108b60a..2996906e70 100644 --- a/src/modules/governance/ProposalsV3List.tsx +++ b/src/modules/governance/ProposalsV3List.tsx @@ -1,3 +1,4 @@ +import { VotingConfig } from '@aave/contract-helpers'; import { Box, Paper, Skeleton, Stack } from '@mui/material'; import { Fragment, useState } from 'react'; import InfiniteScroll from 'react-infinite-scroller'; @@ -46,6 +47,13 @@ export const ProposalsV3List = () => { {group.proposals.map((proposal, index) => ( c.accessLevel === group.proposalData[index].proposalData.accessLevel + ) as VotingConfig + } {...formatProposalV3( proposal, group.proposalData[index], From 9f04014ec940278c8ef71531c75fb38cafc26137 Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Fri, 22 Dec 2023 15:57:40 -0600 Subject: [PATCH 69/84] fix: subgraph urls --- src/ui-config/governanceConfig.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/ui-config/governanceConfig.ts b/src/ui-config/governanceConfig.ts index ab14059413..074cdd782d 100644 --- a/src/ui-config/governanceConfig.ts +++ b/src/ui-config/governanceConfig.ts @@ -128,7 +128,8 @@ export const governanceChainConfig: GovernanceChainConfig = { }, [ChainId.mainnet]: { coreChainId: ChainId.mainnet, - governanceCoreSubgraphUrl: '', + governanceCoreSubgraphUrl: + 'https://api.goldsky.com/api/public/project_clk74pd7lueg738tw9sjh79d6/subgraphs/gov-v3/2.0.0/gn', votingChainConfig: { [ChainId.mainnet]: { portalToMachineMap: { @@ -136,7 +137,8 @@ export const governanceChainConfig: GovernanceChainConfig = { }, votingPortalDataHelperAddress: GovernanceV3Ethereum.VM_DATA_HELPER, votingMachineAddress: GovernanceV3Ethereum.VOTING_MACHINE, - subgraphUrl: '', + subgraphUrl: + 'https://api.goldsky.com/api/public/project_clk74pd7lueg738tw9sjh79d6/subgraphs/gov-v3-voting-machine-mainnet/1/gn', }, [ChainId.polygon]: { portalToMachineMap: { @@ -144,7 +146,8 @@ export const governanceChainConfig: GovernanceChainConfig = { }, votingPortalDataHelperAddress: GovernanceV3Polygon.VM_DATA_HELPER, votingMachineAddress: GovernanceV3Polygon.VOTING_MACHINE, - subgraphUrl: '', + subgraphUrl: + 'https://api.goldsky.com/api/public/project_clk74pd7lueg738tw9sjh79d6/subgraphs/gov-v3-voting-machine-matic/1/gn', }, [ChainId.avalanche]: { portalToMachineMap: { @@ -152,7 +155,8 @@ export const governanceChainConfig: GovernanceChainConfig = { }, votingPortalDataHelperAddress: GovernanceV3Avalanche.VM_DATA_HELPER, votingMachineAddress: GovernanceV3Avalanche.VOTING_MACHINE, - subgraphUrl: '', + subgraphUrl: + 'https://api.goldsky.com/api/public/project_clk74pd7lueg738tw9sjh79d6/subgraphs/gov-v3-voting-machine-avalanche/1/gn', }, }, payloadsControllerDataHelpers: { From 49ac95018decf525681c7cc4da963fc1d80381ba Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Fri, 22 Dec 2023 16:46:43 -0600 Subject: [PATCH 70/84] chore: cleanup --- .../GovDelegationModalContent.tsx | 12 +- .../GovRepresentativesModalContent.tsx | 38 +- src/helpers/useGovernanceDelegate.tsx | 38 +- .../governance/utils/governanceProvider.tsx | 13 +- src/services/GovernanceService.ts | 5 +- src/services/GovernanceV3Service.ts | 4 +- src/services/WalletBalanceService.ts | 8 +- src/static-build/vote.ts | 59 - src/static-build/votes.json | 37946 ---------------- src/store/governanceSlice.ts | 6 +- src/ui-config/SharedDependenciesProvider.tsx | 6 +- src/ui-config/governanceConfig.ts | 61 +- 12 files changed, 88 insertions(+), 38108 deletions(-) delete mode 100644 src/static-build/vote.ts delete mode 100644 src/static-build/votes.json diff --git a/src/components/transactions/GovDelegation/GovDelegationModalContent.tsx b/src/components/transactions/GovDelegation/GovDelegationModalContent.tsx index a9c538aa78..e405e004a1 100644 --- a/src/components/transactions/GovDelegation/GovDelegationModalContent.tsx +++ b/src/components/transactions/GovDelegation/GovDelegationModalContent.tsx @@ -11,7 +11,7 @@ import { usePowers } from 'src/hooks/governance/usePowers'; import { ModalType, useModalContext } from 'src/hooks/useModal'; import { useWeb3Context } from 'src/libs/hooks/useWeb3Context'; import { useRootStore } from 'src/store/root'; -import { governanceConfig } from 'src/ui-config/governanceConfig'; +import { governanceV3Config } from 'src/ui-config/governanceConfig'; import { getNetworkConfig } from 'src/utils/marketsAndNetworksConfig'; import { GENERAL } from 'src/utils/mixPanelEvents'; @@ -80,7 +80,7 @@ export const GovDelegationModalContent: React.FC const tokens = [ { - address: governanceConfig.stkAaveTokenAddress, + address: governanceV3Config.votingAssets.stkAaveTokenAddress, symbol: 'stkAAVE', name: 'Staked AAVE', amount: stkAave, @@ -89,7 +89,7 @@ export const GovDelegationModalContent: React.FC type: DelegationTokenType.STKAAVE, }, { - address: governanceConfig.aaveTokenAddress, + address: governanceV3Config.votingAssets.aaveTokenAddress, symbol: 'AAVE', name: 'AAVE', amount: aave, @@ -98,7 +98,7 @@ export const GovDelegationModalContent: React.FC type: DelegationTokenType.AAVE, }, { - address: governanceConfig.aAaveTokenAddress, + address: governanceV3Config.votingAssets.aAaveTokenAddress, symbol: 'aAave', name: 'aAave', amount: aAave, @@ -134,9 +134,9 @@ export const GovDelegationModalContent: React.FC // is Network mismatched const govChain = currentNetworkConfig.isFork && - currentNetworkConfig.underlyingChainId === governanceConfig.chainId + currentNetworkConfig.underlyingChainId === governanceV3Config.coreChainId ? currentChainId - : governanceConfig.chainId; + : governanceV3Config.coreChainId; const isWrongNetwork = connectedChainId !== govChain; const networkConfig = getNetworkConfig(govChain); diff --git a/src/components/transactions/GovRepresentatives/GovRepresentativesModalContent.tsx b/src/components/transactions/GovRepresentatives/GovRepresentativesModalContent.tsx index 2b6720f3fa..10fc4c2f0d 100644 --- a/src/components/transactions/GovRepresentatives/GovRepresentativesModalContent.tsx +++ b/src/components/transactions/GovRepresentatives/GovRepresentativesModalContent.tsx @@ -5,17 +5,17 @@ import { Box, Checkbox, FormControlLabel, OutlinedInput, Stack, Typography } fro import { isAddress, parseUnits } from 'ethers/lib/utils'; import { useState } from 'react'; import { useModalContext } from 'src/hooks/useModal'; -// import { useWeb3Context } from 'src/libs/hooks/useWeb3Context'; +import { useWeb3Context } from 'src/libs/hooks/useWeb3Context'; import { ZERO_ADDRESS } from 'src/modules/governance/utils/formatProposal'; -// import { useRootStore } from 'src/store/root'; -// import { governanceConfig } from 'src/ui-config/governanceConfig'; -import { networkConfigs } from 'src/utils/marketsAndNetworksConfig'; +import { useRootStore } from 'src/store/root'; +import { governanceV3Config } from 'src/ui-config/governanceConfig'; +import { getNetworkConfig, networkConfigs } from 'src/utils/marketsAndNetworksConfig'; import { BaseSuccessView } from '../FlowCommons/BaseSuccess'; import { GasEstimationError } from '../FlowCommons/GasEstimationError'; import { TxModalTitle } from '../FlowCommons/TxModalTitle'; import { GasStation } from '../GasStation/GasStation'; -// import { ChangeNetworkWarning } from '../Warnings/ChangeNetworkWarning'; +import { ChangeNetworkWarning } from '../Warnings/ChangeNetworkWarning'; import { GovRepresentativesActions } from './GovRepresentativesActions'; export interface UIRepresentative { @@ -31,11 +31,11 @@ export const GovRepresentativesContent = ({ representatives: Array<{ chainId: ChainId; representative: string }>; }) => { const { mainTxState, txError } = useModalContext(); - // const { chainId: connectedChainId } = useWeb3Context(); - // const [currentNetworkConfig, currentChainId] = useRootStore((state) => [ - // state.currentNetworkConfig, - // state.currentChainId, - // ]); + const { chainId: connectedChainId, readOnlyModeAddress } = useWeb3Context(); + const [currentNetworkConfig, currentChainId] = useRootStore((state) => [ + state.currentNetworkConfig, + state.currentChainId, + ]); const [reps, setReps] = useState( representatives.map((r) => { if (r.representative === ZERO_ADDRESS) { @@ -47,14 +47,14 @@ export const GovRepresentativesContent = ({ ); // is Network mismatched - // const govChain = - // currentNetworkConfig.isFork && - // currentNetworkConfig.underlyingChainId === governanceConfig.chainId - // ? currentChainId - // : governanceConfig.chainId; - // const isWrongNetwork = connectedChainId !== govChain; + const govChain = + currentNetworkConfig.isFork && + currentNetworkConfig.underlyingChainId === governanceV3Config.coreChainId + ? currentChainId + : governanceV3Config.coreChainId; + const isWrongNetwork = connectedChainId !== govChain; - // const networkConfig = getNetworkConfig(govChain); + const networkConfig = getNetworkConfig(govChain); const handleChange = (value: string, i: number) => { const valid = isAddress(value); @@ -97,9 +97,9 @@ export const GovRepresentativesContent = ({ - {/* {isWrongNetwork && !readOnlyModeAddress && ( + {isWrongNetwork && !readOnlyModeAddress && ( - )} */} + )} {reps.map((r, i) => ( { - const { aaveTokenAddress, stkAaveTokenAddress, aAaveTokenAddress } = governanceConfig; + const { aaveTokenAddress, stkAaveTokenAddress, aAaveTokenAddress } = + governanceV3Config.votingAssets; const aaveGovernanceService = this.getAaveGovernanceService(govChainId); diff --git a/src/services/GovernanceV3Service.ts b/src/services/GovernanceV3Service.ts index 60d28965e1..54fd7ea611 100644 --- a/src/services/GovernanceV3Service.ts +++ b/src/services/GovernanceV3Service.ts @@ -9,7 +9,7 @@ import { } from '@aave/contract-helpers'; import { BigNumber } from 'ethers'; import { formatUnits } from 'ethers/lib/utils'; -import { governanceV3Config, votingChainIds } from 'src/ui-config/governanceConfig'; +import { governanceV3Config } from 'src/ui-config/governanceConfig'; import { getProvider } from 'src/utils/marketsAndNetworksConfig'; export class GovernanceV3Service { @@ -64,7 +64,7 @@ export class GovernanceV3Service { const representationData = await dataHelperService.getRepresentationData( governanceV3Config.addresses.GOVERNANCE_CORE, user, - [...votingChainIds] + [...governanceV3Config.votingChainIds] ); return representationData; } diff --git a/src/services/WalletBalanceService.ts b/src/services/WalletBalanceService.ts index 6bef2cc66a..5969c6f49f 100644 --- a/src/services/WalletBalanceService.ts +++ b/src/services/WalletBalanceService.ts @@ -1,7 +1,7 @@ import { ChainId, WalletBalanceProvider } from '@aave/contract-helpers'; import { normalize } from '@aave/math-utils'; import { Provider } from '@ethersproject/providers'; -import { governanceConfig } from 'src/ui-config/governanceConfig'; +import { governanceV3Config } from 'src/ui-config/governanceConfig'; import { MarketDataType } from 'src/ui-config/marketsConfig'; interface GovernanceTokensBalance { @@ -38,9 +38,9 @@ export class WalletBalanceService { const balances = await walletBalanceService.batchBalanceOf( [user], [ - governanceConfig.aaveTokenAddress, - governanceConfig.aAaveTokenAddress, - governanceConfig.stkAaveTokenAddress, + governanceV3Config.votingAssets.aaveTokenAddress, + governanceV3Config.votingAssets.aAaveTokenAddress, + governanceV3Config.votingAssets.stkAaveTokenAddress, ] ); return { diff --git a/src/static-build/vote.ts b/src/static-build/vote.ts deleted file mode 100644 index e0033e8a68..0000000000 --- a/src/static-build/vote.ts +++ /dev/null @@ -1,59 +0,0 @@ -import lodash from 'lodash'; -import { JSONFileSync, LowSync } from 'lowdb'; -import { join } from 'path'; - -import { getVotes, VoteType } from '../modules/governance/utils/getVotes'; -import { governanceConfig } from '../ui-config/governanceConfig'; -import { getProvider } from '../utils/marketsAndNetworksConfig'; - -class LowWithLodash extends LowSync { - chain: lodash.ExpChain = lodash.chain(this).get('data'); -} - -// Use JSON file for storage -const file = join(process.cwd(), 'src/static-build', 'votes.json'); -const adapter = new JSONFileSync<{ votes: VoteType[]; finished: boolean }[]>(file); -const db = new LowWithLodash(adapter); -db.read(); - -export class Vote { - async get(proposalId: number) { - const cache = db.data?.[proposalId]; - if (!cache) throw new Error(`could not resolve votes cache for ${proposalId}`); - return cache; - } - - async populate(proposalId: number, startBlock: number, endBlock: number) { - // fallback to empty array - db.data ||= []; - - const isCached = db.data[proposalId]; - if (isCached && isCached.finished) { - return isCached; - } else if (!isCached) { - db.data[proposalId] = { votes: [], finished: false }; - } - const provider = getProvider(governanceConfig.chainId); - const currentBlock = await provider.getBlockNumber(); - const { votes } = await getVotes(startBlock, endBlock, currentBlock); - - votes - .filter((v) => v.proposalId === proposalId) - .forEach((vote) => { - const cache = isCached?.votes.find( - (cacheVote) => vote.transactionHash === cacheVote.transactionHash - ); - - if (!cache) { - db.data?.[proposalId].votes.push(vote); - } - }); - - if (endBlock < currentBlock) { - db.data[proposalId].finished = true; - } - - await db.write(); - return votes; - } -} diff --git a/src/static-build/votes.json b/src/static-build/votes.json deleted file mode 100644 index 9fd09481f1..0000000000 --- a/src/static-build/votes.json +++ /dev/null @@ -1,37946 +0,0 @@ -[ - { - "votes": [ - { - "proposalId": 0, - "voter": "0x2fbB0c60a41cB7Ea5323071624dCEAD3d213D0Fa", - "support": true, - "votingPower": 1.0622147630952112, - "transactionHash": "0xeba22c05fce8a26cb046365a47c64d5f62adf03b2b5bc3469090c5d852dd0e47", - "timestamp": 1608763725, - "blockNumber": 11512645 - }, - { - "proposalId": 0, - "voter": "0xA7499Aa6464c078EeB940da2fc95C6aCd010c3Cc", - "support": true, - "votingPower": 78.89137398593047, - "transactionHash": "0xf46a6ae55962222b65f47fa94e178dd199a4ddf3cb78505e8008e57134232abd", - "timestamp": 1608769376, - "blockNumber": 11513042 - }, - { - "proposalId": 0, - "voter": "0xfA610F8304909a90B1760cF8B50CC1fDe6Ea1F5c", - "support": true, - "votingPower": 1294.3724643185294, - "transactionHash": "0x2c3b9f69502e1c351a7cad4fe1dd684f3c71e5a64483dd83a3f0f849219b2732", - "timestamp": 1608792786, - "blockNumber": 11514776 - }, - { - "proposalId": 0, - "voter": "0xa550A71B4a78b67c03900AC2B598B0e0b9D4668F", - "support": true, - "votingPower": 3500.8114124541576, - "transactionHash": "0x65daa748d51de17e2f895a374b0ccfa0f70764971ea1162adbee87c81a94eea1", - "timestamp": 1608809061, - "blockNumber": 11516010 - }, - { - "proposalId": 0, - "voter": "0xF869842bDc723204a63547C1d293722E0F633CbF", - "support": true, - "votingPower": 17073.33015241275, - "transactionHash": "0xa53caaf6ae97055881a20f11055a348a3a3dc5e0ce15aa9d4765b01a9e763831", - "timestamp": 1608809170, - "blockNumber": 11516025 - }, - { - "proposalId": 0, - "voter": "0x7F366187755697D76a3E56C429716874Afc031C5", - "support": true, - "votingPower": 250, - "transactionHash": "0x121c84d9d2497544e2cbbdcc9b7fb19b96267522d4e5115c1d6262b6f1a113f7", - "timestamp": 1608809426, - "blockNumber": 11516044 - }, - { - "proposalId": 0, - "voter": "0x21d05071cA08593e13cd3aFD0b4869537e015C92", - "support": true, - "votingPower": 11750.416473611529, - "transactionHash": "0xe6742a2880124c774b7084c5885c28f86e51787edcf8466dc6b5c6067c310321", - "timestamp": 1608810465, - "blockNumber": 11516123 - }, - { - "proposalId": 0, - "voter": "0x7EB9d67f9DaeA510399A1eE978b36E66626058d3", - "support": true, - "votingPower": 352.39406936021135, - "transactionHash": "0x8a8ba86999989b6f4aa2aee91b85e8a05922f37fd11ff1ba7c0633e5165fe0b7", - "timestamp": 1608812211, - "blockNumber": 11516256 - }, - { - "proposalId": 0, - "voter": "0xA0612417D207c6b00d8493032bC7182256CcEE5C", - "support": true, - "votingPower": 8.39350418, - "transactionHash": "0x8c39996bd5100bbab94b90361ae82088575058dc00086d32faa9b1fe4ff6f036", - "timestamp": 1608812211, - "blockNumber": 11516256 - }, - { - "proposalId": 0, - "voter": "0x0D3089430A3f7436c3904f9DfD2ECFe1F1512c90", - "support": true, - "votingPower": 509.01235462540257, - "transactionHash": "0xae5ec63bd33ce273069b61ae25213ab6d3d4c5bc231664867c60a9b259991e38", - "timestamp": 1608812211, - "blockNumber": 11516256 - }, - { - "proposalId": 0, - "voter": "0x6B8C52e254Dd8d26a89255E32a0e95a4d7a9cF7E", - "support": true, - "votingPower": 6.27286711, - "transactionHash": "0xf3b353997ca350d9bd452018a18c74948ae2dfb8ddc690365b20e09fe25fddbf", - "timestamp": 1608812248, - "blockNumber": 11516259 - }, - { - "proposalId": 0, - "voter": "0xFB2f080bcfB10eD3117A3B23653BF23fc3CAEc71", - "support": true, - "votingPower": 2.027383188938597, - "transactionHash": "0x7bf209276d1f2e4f87e72732b56b4f7d9c640d53dd3933c95073e9e80fb08a58", - "timestamp": 1608813942, - "blockNumber": 11516369 - }, - { - "proposalId": 0, - "voter": "0xdD709cAE362972cb3B92DCeaD77127f7b8D58202", - "support": true, - "votingPower": 208099.84209971863, - "transactionHash": "0x9e1e232b7b5c3aac1a3a44e26f0be9722ad405389501dd6c5cb1e0a426ebdac4", - "timestamp": 1608813954, - "blockNumber": 11516371 - }, - { - "proposalId": 0, - "voter": "0x9B5ea8C719e29A5bd0959FaF79C9E5c8206d0499", - "support": true, - "votingPower": 128777.55934628993, - "transactionHash": "0x16705db979078b4b082156f90d0c50a6c633c6c8e053953e529affe74e61f61b", - "timestamp": 1608813967, - "blockNumber": 11516373 - }, - { - "proposalId": 0, - "voter": "0x9aC2D69f58e6C4817f577D420c22BDEFda00653C", - "support": true, - "votingPower": 9.94897, - "transactionHash": "0xac816596c421076621a67cd68d6de376dc5895f645ef483c132fa4f254b68459", - "timestamp": 1608815205, - "blockNumber": 11516467 - }, - { - "proposalId": 0, - "voter": "0x2A0626380Bf336cd9493BfeD74966d53B6b9101E", - "support": true, - "votingPower": 60.30036414708285, - "transactionHash": "0xe40ff201f1f41fbfeb4a6cfe4fb0caf19ea960851585ff26222daf762a93eda9", - "timestamp": 1608815269, - "blockNumber": 11516470 - }, - { - "proposalId": 0, - "voter": "0xD5bFCbe3D18Ad3DA6E17B0Fdd93A7ca383859387", - "support": true, - "votingPower": 64.6402470146505, - "transactionHash": "0xcd41664bae94e45c32bf909ce34f722ba4f7553d325c2a30c2fb7d615080e60d", - "timestamp": 1608815421, - "blockNumber": 11516480 - }, - { - "proposalId": 0, - "voter": "0x55Da369b9AcAB2Ca7866aa2E14e31fc0f975C8b1", - "support": true, - "votingPower": 348.9603410287352, - "transactionHash": "0x3a64455ac1aec176667110eb3838d8f1901cd61c19bc867dbcba833f260195b2", - "timestamp": 1608816292, - "blockNumber": 11516537 - }, - { - "proposalId": 0, - "voter": "0x72b223De2F773C814465C4A8f2Ef9FaAe702Cfb3", - "support": true, - "votingPower": 75.77513559211172, - "transactionHash": "0x7a9f7e7a52534d9553f6ed5772664ce9c824497dc0e837ec6ebdbf418c6e87b1", - "timestamp": 1608816342, - "blockNumber": 11516540 - }, - { - "proposalId": 0, - "voter": "0xe5465CEd137EcF8c80bBf7A1e2f2bf457a12A466", - "support": true, - "votingPower": 2000.166, - "transactionHash": "0x51fe032fb66652a98427dde836c4c9c9fecc79c856f6322522f50ad1a8638a9d", - "timestamp": 1608816890, - "blockNumber": 11516578 - }, - { - "proposalId": 0, - "voter": "0x02a1da62dCa18761b1E0F8a7bB5D0a596F58A815", - "support": true, - "votingPower": 12.23542348, - "transactionHash": "0x5979d20c8d4ac8bb2f16eda17be200373805328ce91ee868d1dea693e3a98e08", - "timestamp": 1608817661, - "blockNumber": 11516643 - }, - { - "proposalId": 0, - "voter": "0x56EB95e67B84aC62D79612Ca796e1f5dD6e67c83", - "support": true, - "votingPower": 101.08980486210268, - "transactionHash": "0xb2388399b05a7dc4632a248a67cf298749f1595e4951386f790634cdb072dcbd", - "timestamp": 1608817756, - "blockNumber": 11516653 - }, - { - "proposalId": 0, - "voter": "0x3e05FC835a92fa1AD481C623d1F5097BFd55Bb18", - "support": true, - "votingPower": 8.50492198847057, - "transactionHash": "0x11101dbdd94b922899ef0a9cb449a3731dafd10bfc891a7f426d53a261569f72", - "timestamp": 1608819189, - "blockNumber": 11516764 - }, - { - "proposalId": 0, - "voter": "0x2c123fc5C27888571CD525e8ae9b0c5ff848386D", - "support": true, - "votingPower": 175.4873229553646, - "transactionHash": "0x1685ecfea18b26031b2155384d0c73755c69e994d09874679a49d0bcb1d58f0a", - "timestamp": 1608821763, - "blockNumber": 11516962 - }, - { - "proposalId": 0, - "voter": "0x3E791CADE64ECb1e78BE4A5A99Cde0B2fA51675d", - "support": true, - "votingPower": 117.73882155, - "transactionHash": "0xb55542e3303fe143017d3655f37e0a11f2961bc2f0dd9ab35c25773be2f3ed75", - "timestamp": 1608824466, - "blockNumber": 11517183 - }, - { - "proposalId": 0, - "voter": "0xc4df7c5fDAEd215fA559c63211407c28f91848a6", - "support": false, - "votingPower": 100.2000014021344, - "transactionHash": "0x9446489741842324939e82548f6bffd7b9d6f2863b79233a65545989fbf99693", - "timestamp": 1608826032, - "blockNumber": 11517283 - }, - { - "proposalId": 0, - "voter": "0x45408879D7BeEe608011AAC2790B6aAa95e30B55", - "support": true, - "votingPower": 11.812696438652319, - "transactionHash": "0x02eb0b24f3e2738dc3e4befdd31a4e31df214c79810c19c4b785a3b5404615a3", - "timestamp": 1608827208, - "blockNumber": 11517376 - }, - { - "proposalId": 0, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 1043.8575140076748, - "transactionHash": "0x97fb6ba712d1415591761248f0dcaaa3649b06c73bf06fb46b59db665c5aa172", - "timestamp": 1608827350, - "blockNumber": 11517386 - }, - { - "proposalId": 0, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 1370.6856734738658, - "transactionHash": "0x380feec74998e19fa94c02b65fff582118d84b112076b4e58270015528ae2969", - "timestamp": 1608827352, - "blockNumber": 11517387 - }, - { - "proposalId": 0, - "voter": "0x8d07D225a769b7Af3A923481E1FdF49180e6A265", - "support": true, - "votingPower": 140, - "transactionHash": "0x845691330c81ea5148fc31b74ae44995aab2c6315d435441d679eb3272b89532", - "timestamp": 1608828733, - "blockNumber": 11517500 - }, - { - "proposalId": 0, - "voter": "0x395D8A19277559656C0E0c2d3b5694Ea74c92c25", - "support": true, - "votingPower": 5509.999997051951, - "transactionHash": "0x6746a45d7590b0384524c1dc31c3eee7daa3195fccdfe65098ced957d370cf7f", - "timestamp": 1608828966, - "blockNumber": 11517523 - }, - { - "proposalId": 0, - "voter": "0x97ca60A08b2d2c38F14AB18fCA6d77457DdA0eAe", - "support": true, - "votingPower": 21.85219402976001, - "transactionHash": "0x2dca852ba4a176031f51a9092a0c91cc792eeebee92fd884aa47e337009f8396", - "timestamp": 1608831148, - "blockNumber": 11517680 - }, - { - "proposalId": 0, - "voter": "0x731235F260105A8FBD986282e9121F28f395C45F", - "support": true, - "votingPower": 2.9623078016162943, - "transactionHash": "0x6757f9629b44445b98705db4e113f9f341f5556df549d72df5d0feb98efad4d8", - "timestamp": 1608831159, - "blockNumber": 11517682 - }, - { - "proposalId": 0, - "voter": "0x30CF8aA72C4e69e35E0e48E785176704D6D70C7D", - "support": true, - "votingPower": 305.9449792706391, - "transactionHash": "0x32046950c71a67a204a729dc884034df84c72c989ee77971a571162965972edf", - "timestamp": 1608832866, - "blockNumber": 11517804 - }, - { - "proposalId": 0, - "voter": "0x84511Ca923BDB5F4B6eCf7A5B147F58767bF6C8E", - "support": true, - "votingPower": 18.020795522415135, - "transactionHash": "0xfeec569d0e200d368b870685bda7628445303b66fb31185dd71e18556721f48a", - "timestamp": 1608836038, - "blockNumber": 11518048 - }, - { - "proposalId": 0, - "voter": "0x94A468FCB53A043Bf5Cd95EF21892E02C71134Be", - "support": true, - "votingPower": 40.00000818243034, - "transactionHash": "0xb4ed971d7eeb6771da8f3c7da9896278a181b9c677df6ff9155dc37adf099b81", - "timestamp": 1608837100, - "blockNumber": 11518138 - }, - { - "proposalId": 0, - "voter": "0x1F766D64ccB4b7e63A6cF347C5FF859A8697F6dD", - "support": true, - "votingPower": 65.02994104243376, - "transactionHash": "0xccaf2c6f248b0e0ef2006d22418bca2a5eb26ddbf9861413e73aec34446df601", - "timestamp": 1608837985, - "blockNumber": 11518212 - }, - { - "proposalId": 0, - "voter": "0x972708Fc31269cda00849015Ea3C3b648c145D42", - "support": true, - "votingPower": 199.96958541, - "transactionHash": "0xd8bbc0f8aaa7e8141bf835a030a4763c8f2596e1d6fadaff8d67c225514ffe62", - "timestamp": 1608840018, - "blockNumber": 11518357 - }, - { - "proposalId": 0, - "voter": "0xF4F56fA0D045ae0e6Ba8f82e2C32887FE0B152Ea", - "support": true, - "votingPower": 38.27932353390937, - "transactionHash": "0x2d51a477fa456096a4a461ac9653565250bc21b6b70646c76fc6e2cedf7bde57", - "timestamp": 1608840802, - "blockNumber": 11518416 - }, - { - "proposalId": 0, - "voter": "0x5668EAd1eDB8E2a4d724C8fb9cB5fFEabEB422dc", - "support": true, - "votingPower": 80.62902680907426, - "transactionHash": "0xe9e8cc7915cc63d78242253b14478898331651edce20b15a54bfbb360664b5ef", - "timestamp": 1608841103, - "blockNumber": 11518436 - }, - { - "proposalId": 0, - "voter": "0xbf1a984D641C0718a1ca48C8a5d76d569c79AF17", - "support": true, - "votingPower": 21.5889975499668, - "transactionHash": "0xc41ad5ee92c897f7ce16f006d3f6581f1278112ee2092efdf28b33f4fd78faae", - "timestamp": 1608841198, - "blockNumber": 11518445 - }, - { - "proposalId": 0, - "voter": "0xC4a5992c190b1988E0a4449efE7580D3Af83D234", - "support": true, - "votingPower": 7.8888707720883176, - "transactionHash": "0xdb115a7d2a26df6fb51867bc07d020be8db3dc02a8150c580d09fa9d40355d99", - "timestamp": 1608850621, - "blockNumber": 11519150 - }, - { - "proposalId": 0, - "voter": "0x8C822F1377Cd8a3e26B99A77a78FF1Bbf2AECEd3", - "support": true, - "votingPower": 32.36911, - "transactionHash": "0x59561b4358bfc2b03a77cce986ab29e96b6bdbcea7edc56ec86c66dc10f227bb", - "timestamp": 1608857671, - "blockNumber": 11519693 - }, - { - "proposalId": 0, - "voter": "0xca768c37ba6EC3d67bE7B47bbE1F1C94CA216f46", - "support": true, - "votingPower": 1010.948115127771, - "transactionHash": "0x83c92e8c56e7a8b388b8c281c5d8c2a51d6b5b193e6f1f672724e288a0143dd7", - "timestamp": 1608897154, - "blockNumber": 11522647 - }, - { - "proposalId": 0, - "voter": "0x46426750dC069953B3D78979FD5743C28D8F7596", - "support": true, - "votingPower": 102.00712888031624, - "transactionHash": "0x88bc23a10dadab2c311bf4653542dd47020fde8ffbdd789e378deb967deff5a4", - "timestamp": 1608910205, - "blockNumber": 11523602 - }, - { - "proposalId": 0, - "voter": "0x1E561b56d2E7d674060d0aa27f09b52fFf53bFBd", - "support": true, - "votingPower": 12.885852816178874, - "transactionHash": "0x9ec19f0f16624d8fd67ae071699e620965e6943b30e73a3cd3b109feac8fbac6", - "timestamp": 1608917782, - "blockNumber": 11524180 - }, - { - "proposalId": 0, - "voter": "0xc00667d8B00f35B3565A5c4458Dff1Cd718E3527", - "support": true, - "votingPower": 401.5799752644034, - "transactionHash": "0x41df5d10c8ae53f38dbe802ec76b97224ef802a700faebd44e0cef265d89326c", - "timestamp": 1608918308, - "blockNumber": 11524229 - }, - { - "proposalId": 0, - "voter": "0xf8a099545c0f2c3D3E547C048c2F5589e53B54d5", - "support": true, - "votingPower": 87.93693576559482, - "transactionHash": "0x48ddb83812f36298737c40006112804f8ddbf83e6e88243a78893a48a5e19f18", - "timestamp": 1608919334, - "blockNumber": 11524301 - }, - { - "proposalId": 0, - "voter": "0x111345BB905a23C7669B0437fEA270e0D182982A", - "support": true, - "votingPower": 2.2006629804757063, - "transactionHash": "0xd9bc2c6c6f4e3636da6fbadab225e950597af4147b6d9b29fcec6407e8c967e8", - "timestamp": 1608924839, - "blockNumber": 11524725 - }, - { - "proposalId": 0, - "voter": "0x674f91a20834001F4FAdC1a9eB8b4AC23A7Ad568", - "support": true, - "votingPower": 331.1625447921664, - "transactionHash": "0x8c2d738d9e4d88e2e2616ea047fc59778b10c345f1f386d6c058fe4d64237bf4", - "timestamp": 1608925808, - "blockNumber": 11524789 - }, - { - "proposalId": 0, - "voter": "0x6C8E4D6f376336871821Dbe369BFE444fDd1fc99", - "support": true, - "votingPower": 44.32518130383218, - "transactionHash": "0xf474862c005a0273949bc678f5bd614ea25f973f5c47bf6e936d2a1a464ea0dd", - "timestamp": 1608926324, - "blockNumber": 11524833 - }, - { - "proposalId": 0, - "voter": "0x82Bb6B5e92E1143fC03ee468a7Ba9Df8e955f7c2", - "support": true, - "votingPower": 250.83020705188136, - "transactionHash": "0x6121c3b36c460486ab5c096d6ba315437ae4bfa43b386cd8ebd1040b596561d7", - "timestamp": 1608932180, - "blockNumber": 11525266 - }, - { - "proposalId": 0, - "voter": "0x43B0D17cad8a44AB824823F8fFd12CbE36d59728", - "support": true, - "votingPower": 461.7578129348274, - "transactionHash": "0x7c4ae0f91c9041de27f74ccaec8e464cb3b085b6c6a22a188800fb7c9b1aa9bd", - "timestamp": 1608944785, - "blockNumber": 11526175 - }, - { - "proposalId": 0, - "voter": "0x307343CA8662ECa5Ca3469e6A6948aB84D934486", - "support": true, - "votingPower": 172.83696563172336, - "transactionHash": "0x4fbf2907e071d94f97a39bab55000ad1b3c1b4bbbc368407a927c1cdadff0f19", - "timestamp": 1608945902, - "blockNumber": 11526267 - }, - { - "proposalId": 0, - "voter": "0xaB262D7B21A667b8C5b23b14e25d75Be9AC6C3e2", - "support": true, - "votingPower": 25306.298003240212, - "transactionHash": "0xc191ef3eb7ec0fa55298c3de52726827357d1ff63e74f50d55bdb6795f3658a7", - "timestamp": 1608947848, - "blockNumber": 11526401 - }, - { - "proposalId": 0, - "voter": "0x695CF62c68aD3775A47A0b9f18a7E20A9A1357EE", - "support": true, - "votingPower": 1.067, - "transactionHash": "0xc5055c44d80b6d714e2605204852c070ed3012f9d4e90106747ba91c746967b8", - "timestamp": 1608956767, - "blockNumber": 11527080 - }, - { - "proposalId": 0, - "voter": "0x595f8F256B1A3bE5B32a94B31eCf3D66cA885862", - "support": true, - "votingPower": 22.718133014926615, - "transactionHash": "0x665fe6f23d356ccd4ad673e9ad49f8805887a6a6efb9c45ab5e5675666e3c0b8", - "timestamp": 1608956957, - "blockNumber": 11527095 - }, - { - "proposalId": 0, - "voter": "0x866C521883Bc8cb7c59769E2A06ef38cC685915E", - "support": true, - "votingPower": 125.91554277619646, - "transactionHash": "0x6e0ed71f480e78a042ffd61e93aef1a7ea002bfca323adf981735305866532cb", - "timestamp": 1608967130, - "blockNumber": 11527902 - }, - { - "proposalId": 0, - "voter": "0x045038d82B5C27b5c992994CD4129aA80fd1A20c", - "support": true, - "votingPower": 11.888, - "transactionHash": "0xbf4c963a6e2100167ddddc414180504a7021ea857716a9b1c0bf835604498b79", - "timestamp": 1608980080, - "blockNumber": 11528899 - }, - { - "proposalId": 0, - "voter": "0xF3E6bA583B960f7a8B395212FDce8A92a0DF912c", - "support": true, - "votingPower": 937.1804556843213, - "transactionHash": "0xabe0febdb9caa7ff18c9b6467b1ae5292c7cb2026daae90219e841dcd5118355", - "timestamp": 1608988520, - "blockNumber": 11529525 - }, - { - "proposalId": 0, - "voter": "0x2533321a436578C60A176bD7cb0F9B2590a98EA1", - "support": true, - "votingPower": 164.79966112543875, - "transactionHash": "0xce0d7af48035f790c60e26a10e674d256954dcdb41500b2f5fe4cb239101f170", - "timestamp": 1609000945, - "blockNumber": 11530491 - }, - { - "proposalId": 0, - "voter": "0x4D89D373A7Ec36cEC559d81c3820FB22c460053f", - "support": true, - "votingPower": 604.4129759871897, - "transactionHash": "0xa8adf4d9521738d6460cd3b7dbfc42263997c4b59ce6d4e33f3cbd5286c33eec", - "timestamp": 1609007367, - "blockNumber": 11530967 - }, - { - "proposalId": 0, - "voter": "0x9824697F7c12CAbAda9b57842060931c48dEA969", - "support": true, - "votingPower": 513.6598531897556, - "transactionHash": "0x71df326ea262416ae5aa17a121fe4d711212e823326903b2555eb855ea33d09f", - "timestamp": 1609013077, - "blockNumber": 11531380 - }, - { - "proposalId": 0, - "voter": "0x60015a9010243425172182b00e35F689ED4d887a", - "support": true, - "votingPower": 45.98351433397213, - "transactionHash": "0x03c76e05170fcaff40546620f8321425ada051ddc9be772b04532db84c2c8659", - "timestamp": 1609013461, - "blockNumber": 11531411 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 1, - "voter": "0x8d07D225a769b7Af3A923481E1FdF49180e6A265", - "support": true, - "votingPower": 140, - "transactionHash": "0x76fdcf7cdda1a52c8fba955d9c844f65de7c57711db342f07c78c2c3c6b68e84", - "timestamp": 1609256900, - "blockNumber": 11549839 - }, - { - "proposalId": 1, - "voter": "0x9548Fc023f6000B4Bd1f8569aBc4222bDede65c7", - "support": true, - "votingPower": 1171.6535144854972, - "transactionHash": "0xac7add503fa48e1b3ff72271a6a396dee528d79ae5e64c13cc459907479ea2b1", - "timestamp": 1609257034, - "blockNumber": 11549848 - }, - { - "proposalId": 1, - "voter": "0xe5465CEd137EcF8c80bBf7A1e2f2bf457a12A466", - "support": true, - "votingPower": 2000.166, - "transactionHash": "0x765bada0d75edfb7af7290c4b0c79f92233e4ff4a3190f14829a048bb28de08f", - "timestamp": 1609258178, - "blockNumber": 11549917 - }, - { - "proposalId": 1, - "voter": "0x817F52906e5F5556cded1Ab7cA56BEd3Df185c7E", - "support": true, - "votingPower": 100.48526, - "transactionHash": "0x318481d122a25ef738b2544ae618f70c6160e0f55e26f56914b38fd1c46216ad", - "timestamp": 1609259199, - "blockNumber": 11549998 - }, - { - "proposalId": 1, - "voter": "0x4b89133f9B259b17CB0eD5B9E95Dce297d627A65", - "support": true, - "votingPower": 500.5888371123026, - "transactionHash": "0x6cec0779c05c6f24d00b8dc21e56323430608342d85cf04db83d1263dec3c3c4", - "timestamp": 1609260344, - "blockNumber": 11550072 - }, - { - "proposalId": 1, - "voter": "0x2B9F0A0b3B0a8d7a63450e6cb9232271D0c627f9", - "support": true, - "votingPower": 12.679941123844353, - "transactionHash": "0xe8dfe420e02a9a35098cf340d39813ed94177bf1c40f83ffe32de171ec800080", - "timestamp": 1609261408, - "blockNumber": 11550140 - }, - { - "proposalId": 1, - "voter": "0xa550A71B4a78b67c03900AC2B598B0e0b9D4668F", - "support": true, - "votingPower": 3500.8114124541576, - "transactionHash": "0x3df0384f1e7c00c41613865cfb1124890f7e0ee3f8c15159ac03402c482d3c8d", - "timestamp": 1609261872, - "blockNumber": 11550174 - }, - { - "proposalId": 1, - "voter": "0x9EDcB63c09950d238fd15D27e6Df9121C10755E2", - "support": true, - "votingPower": 611.729627150583, - "transactionHash": "0x8c3c77b44c6690e6d07e401f550bea94dc103db611d404b7f806b24614ea2b5c", - "timestamp": 1609264149, - "blockNumber": 11550342 - }, - { - "proposalId": 1, - "voter": "0xA96d5Fef3029A46a31BF4865CFDe08684A8b9bb3", - "support": true, - "votingPower": 31853.339769879956, - "transactionHash": "0x82e1369394525f084ac173e3142c4b276c6598a5c4b734797de0bd90d8c9d60a", - "timestamp": 1609271382, - "blockNumber": 11550879 - }, - { - "proposalId": 1, - "voter": "0xcaB6e2961cd5d36DB4d7Baf26D29B75b0f5BD171", - "support": true, - "votingPower": 14.2464584, - "transactionHash": "0xa79b02411dffcb1d2dd78ddab808cfc4fcb2d6ade3ace7669a092e54a9f5fc0e", - "timestamp": 1609273634, - "blockNumber": 11551054 - }, - { - "proposalId": 1, - "voter": "0x45408879D7BeEe608011AAC2790B6aAa95e30B55", - "support": true, - "votingPower": 11.812696438652319, - "transactionHash": "0x226be307019ed970a5b5202be5c614e24d004ce6238f3814f9f83b5f9a07bca8", - "timestamp": 1609276211, - "blockNumber": 11551236 - }, - { - "proposalId": 1, - "voter": "0x8C822F1377Cd8a3e26B99A77a78FF1Bbf2AECEd3", - "support": true, - "votingPower": 32.36911, - "transactionHash": "0x41d08a7c1cdeff95f8987036437bee203f45b2144f509eeed2b18e0ffb2e19c7", - "timestamp": 1609302722, - "blockNumber": 11553217 - }, - { - "proposalId": 1, - "voter": "0x6B8C52e254Dd8d26a89255E32a0e95a4d7a9cF7E", - "support": true, - "votingPower": 6.27286711, - "transactionHash": "0x64df7717079ac05d656b0862139c071fa749657ff237d1644b06b7b3e0df6476", - "timestamp": 1609306154, - "blockNumber": 11553498 - }, - { - "proposalId": 1, - "voter": "0xdD709cAE362972cb3B92DCeaD77127f7b8D58202", - "support": true, - "votingPower": 208549.21794749136, - "transactionHash": "0x5fd7bbfaddfd636aeca88fe5c489535e88d116f25206057bc2f00b17ed56b7b5", - "timestamp": 1609326786, - "blockNumber": 11555033 - }, - { - "proposalId": 1, - "voter": "0x9B5ea8C719e29A5bd0959FaF79C9E5c8206d0499", - "support": true, - "votingPower": 128777.55934628993, - "transactionHash": "0x5b7570f7046b19a1e7962ca0da29fdd0ede907ef4dadc1a6a5c9b29036b7dafb", - "timestamp": 1609327638, - "blockNumber": 11555106 - }, - { - "proposalId": 1, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 1238.2126186503883, - "transactionHash": "0xfb74717b8646df7ad2a10035fb01c359b4a31c806057e307bdfec860fec6a2c0", - "timestamp": 1609350807, - "blockNumber": 11556881 - }, - { - "proposalId": 1, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 1447.0274711956197, - "transactionHash": "0x06565b8f0069d54e7e7dfc33484b1e1705400263db30a0786837607c48ddbf97", - "timestamp": 1609350856, - "blockNumber": 11556886 - }, - { - "proposalId": 1, - "voter": "0x6B0DCBF21cEF9f88FD1d2720571192Ee18f0CfD4", - "support": true, - "votingPower": 31.418304, - "transactionHash": "0x31d83580cfcc1ddc23fd04e9b64b2c51ca54b0e1744753372ba9502f3c13f5f1", - "timestamp": 1609364068, - "blockNumber": 11557900 - }, - { - "proposalId": 1, - "voter": "0xfa449503dC956c0F008903Fe00CC30F50e07e745", - "support": true, - "votingPower": 101.39975847683658, - "transactionHash": "0x08be419b6538f0afdb4c9ffdb12ae1db75865dd95c239459acf09a5f0c2917ce", - "timestamp": 1609365859, - "blockNumber": 11558029 - }, - { - "proposalId": 1, - "voter": "0x38395321aa7e0f5Bf2d6De007dfb293988Ec6Ee0", - "support": true, - "votingPower": 130.80243430693014, - "transactionHash": "0x5856175d819eec2fe38679e57fe671f96ae8a639748769e7fd4749a05931bd4b", - "timestamp": 1609376312, - "blockNumber": 11558811 - }, - { - "proposalId": 1, - "voter": "0x1F766D64ccB4b7e63A6cF347C5FF859A8697F6dD", - "support": true, - "votingPower": 65.02994104243376, - "transactionHash": "0xf80e9084b59449a7ae891337802d37d2af9ff955506140536085b0cdec15f43d", - "timestamp": 1609381297, - "blockNumber": 11559169 - }, - { - "proposalId": 1, - "voter": "0x82Bb6B5e92E1143fC03ee468a7Ba9Df8e955f7c2", - "support": true, - "votingPower": 250.83020705188136, - "transactionHash": "0xf4bac97883e0b3f6e9a0992aa25f688db785f73a97ebeedb7be07c6b4448c4fe", - "timestamp": 1609414274, - "blockNumber": 11561684 - }, - { - "proposalId": 1, - "voter": "0xF44B52C11b1c800722E8fDF4aa7F3076339E73c4", - "support": true, - "votingPower": 491.11196, - "transactionHash": "0xf301e79fc0918dbff8fb5f544623030971a6663253582f912c5868b22f2120b3", - "timestamp": 1609437748, - "blockNumber": 11563435 - }, - { - "proposalId": 1, - "voter": "0x73b607d9F4e18439FAbBE37B0aA0aCA1044832C8", - "support": true, - "votingPower": 64.37215912331119, - "transactionHash": "0x3499e66a78225f339295cb1b2e68726428a749d5469d50f032c1ff110446655a", - "timestamp": 1609446898, - "blockNumber": 11564079 - }, - { - "proposalId": 1, - "voter": "0xdF57B513A565c9fEa29EAf901986C63f86e589Ae", - "support": true, - "votingPower": 2, - "transactionHash": "0xcdec2680f6b35dbd9405f19d8b4c391d23ed771f81a62911db5364c84ab1e463", - "timestamp": 1609458636, - "blockNumber": 11564973 - }, - { - "proposalId": 1, - "voter": "0xC4a5992c190b1988E0a4449efE7580D3Af83D234", - "support": true, - "votingPower": 10.980287018225733, - "transactionHash": "0x880bce1f4723b6821ec477aaa27b62a34d94ac27b967ba6ba12d60c0d56e4f37", - "timestamp": 1609459069, - "blockNumber": 11565005 - }, - { - "proposalId": 1, - "voter": "0x60015a9010243425172182b00e35F689ED4d887a", - "support": true, - "votingPower": 1574.7949118649638, - "transactionHash": "0x2962f0385c4f1e5fff3f490ddab7771e2bfd8848706581e783a4001c6f56a74e", - "timestamp": 1609468896, - "blockNumber": 11565791 - }, - { - "proposalId": 1, - "voter": "0x1E561b56d2E7d674060d0aa27f09b52fFf53bFBd", - "support": true, - "votingPower": 12.897255503185969, - "transactionHash": "0x297f8c96fa7bfc6a760171e49ed96bb4d3fc4802b12199638b998adf6ac31c0f", - "timestamp": 1609475175, - "blockNumber": 11566268 - }, - { - "proposalId": 1, - "voter": "0x395D8A19277559656C0E0c2d3b5694Ea74c92c25", - "support": true, - "votingPower": 5509.999997051951, - "transactionHash": "0x5125934063296033a43256cab3dcda900b43e5388ef935558c9acf5c61d19459", - "timestamp": 1609486595, - "blockNumber": 11567107 - }, - { - "proposalId": 1, - "voter": "0x595f8F256B1A3bE5B32a94B31eCf3D66cA885862", - "support": true, - "votingPower": 24.8939581973708, - "transactionHash": "0x61a53cb7cd9651f9baae505c95cc03ec136a049b97f9c639f5a0ed6ea1b9e59c", - "timestamp": 1609486605, - "blockNumber": 11567108 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 2, - "voter": "0x73C59DB79Ca56755429F06CCD851eb3660326117", - "support": true, - "votingPower": 60.55243340697905, - "transactionHash": "0xd96fec489c3adf5db7325c528eec8217576ad963d740244f78df94dcb9fc33d9", - "timestamp": 1609953928, - "blockNumber": 11602379 - }, - { - "proposalId": 2, - "voter": "0xE1405cBBb31748d5cEFcF36dB34737A1dF8c2d9D", - "support": true, - "votingPower": 1.27786, - "transactionHash": "0x193271e853d3ef274f971a9d8d68554737640d3e5d5a5cfa20b1b69d6ba8f446", - "timestamp": 1609954101, - "blockNumber": 11602392 - }, - { - "proposalId": 2, - "voter": "0x9548Fc023f6000B4Bd1f8569aBc4222bDede65c7", - "support": true, - "votingPower": 1171.6535144854972, - "transactionHash": "0x80670d5d461d616bdb9e224ae707e5081c44da6f833a2f46d50f251627952275", - "timestamp": 1609954383, - "blockNumber": 11602419 - }, - { - "proposalId": 2, - "voter": "0x913cde4a1c65dC1a500F1e9C128ACAf73c045ae7", - "support": true, - "votingPower": 6.552578282109859, - "transactionHash": "0x05e894e3a4b8a26d3988f9cadfe6384c3bb1cf88a3f2b111b34ee05285195393", - "timestamp": 1609955178, - "blockNumber": 11602478 - }, - { - "proposalId": 2, - "voter": "0xe5465CEd137EcF8c80bBf7A1e2f2bf457a12A466", - "support": true, - "votingPower": 2000.166, - "transactionHash": "0x35f4c5b897e7ef9fbad1f3fa0eaa0edbdf674665c7ca206fa4db08df9aa47efc", - "timestamp": 1609955241, - "blockNumber": 11602486 - }, - { - "proposalId": 2, - "voter": "0x38b3bb561700fc263240c4bCfA6F9a5A10167556", - "support": true, - "votingPower": 10.594115628842676, - "transactionHash": "0xfcfeecfd949c9e1246f67aedba9fc3c684c45e55a27ddcb67b8c4ea4a35cb35a", - "timestamp": 1609958664, - "blockNumber": 11602756 - }, - { - "proposalId": 2, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 1239.2794622578806, - "transactionHash": "0x700bbf585a87a47da2e335bcab2b3c0bd3cd737631cd0aab04ffb931bbc823f2", - "timestamp": 1609959456, - "blockNumber": 11602805 - }, - { - "proposalId": 2, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 1576.243375151852, - "transactionHash": "0xac6fa7c9947b571ab0ddb9bbc2a3b01735de33571689baf3448ae0a2c4896088", - "timestamp": 1609960354, - "blockNumber": 11602877 - }, - { - "proposalId": 2, - "voter": "0x10D2a2cCddbf3Ed58BA4722A30d97660A01EE270", - "support": true, - "votingPower": 142.11761358146725, - "transactionHash": "0xed0446f15fc055c93c96926f3a305b3a2e343f445cd5e15cee23db0839ba6d02", - "timestamp": 1609967189, - "blockNumber": 11603401 - }, - { - "proposalId": 2, - "voter": "0x21d05071cA08593e13cd3aFD0b4869537e015C92", - "support": true, - "votingPower": 18450.607745371995, - "transactionHash": "0x061eef9bf41d00ee538c875e0bf85e1064baa353ae9709a245bf4e7d73a9be85", - "timestamp": 1609975438, - "blockNumber": 11604015 - }, - { - "proposalId": 2, - "voter": "0x2C9139D5eC9206Bd779A71ecdB927C8cD42E9639", - "support": true, - "votingPower": 224.72794157035858, - "transactionHash": "0x72147e9dde729e35f86c3e6a5229a8fff96a1d1f84de8c26597c4fd3eb078a86", - "timestamp": 1609978237, - "blockNumber": 11604223 - }, - { - "proposalId": 2, - "voter": "0x02a1da62dCa18761b1E0F8a7bB5D0a596F58A815", - "support": true, - "votingPower": 12.23542348, - "transactionHash": "0x879ee7473acbed8548bd4ebd48b0471076e8875c40f349296af61e26a7c9300d", - "timestamp": 1609979219, - "blockNumber": 11604289 - }, - { - "proposalId": 2, - "voter": "0xDDD9545Bf70A4ba68e0Afb94129945a23E3EC6E1", - "support": true, - "votingPower": 11.606666270415847, - "transactionHash": "0x3d282ee0ef0985157aa63c744f77ed8bc0115fe4362a24811186b2c462d2fc81", - "timestamp": 1609979398, - "blockNumber": 11604305 - }, - { - "proposalId": 2, - "voter": "0x60015a9010243425172182b00e35F689ED4d887a", - "support": true, - "votingPower": 1529.7949118649638, - "transactionHash": "0xbe485634df24e596949ab1d4e42259496627c2f40a26c55f0beba94a0c50f544", - "timestamp": 1609986801, - "blockNumber": 11604854 - }, - { - "proposalId": 2, - "voter": "0x06aEAD89E739255f01D8E96B6560247415a513b0", - "support": true, - "votingPower": 3120.001522324812, - "transactionHash": "0xf0c6788a1e51051a809d42e13e7dd0063f7556ad1462254c73d7da369030f5e3", - "timestamp": 1609991510, - "blockNumber": 11605241 - }, - { - "proposalId": 2, - "voter": "0x395D8A19277559656C0E0c2d3b5694Ea74c92c25", - "support": true, - "votingPower": 5509.999997051951, - "transactionHash": "0xb044e24dde7fc46eb9a71dbecdd365abd6fb45cc44bda49e75d6918269aef143", - "timestamp": 1609996376, - "blockNumber": 11605596 - }, - { - "proposalId": 2, - "voter": "0xdb8915324a7A3B7cE8A9d576CfceDC9c2Fc4845E", - "support": true, - "votingPower": 103.15078189602039, - "transactionHash": "0x3aa992e032ff7db724d334253060b0bb99b20e7add20826c64f068048bcae7d7", - "timestamp": 1609998585, - "blockNumber": 11605745 - }, - { - "proposalId": 2, - "voter": "0x8FB7De9825BDEBF9d66461Da21f20d60a19C3970", - "support": true, - "votingPower": 54.11665246140523, - "transactionHash": "0x7113b98f47c1a20ef0d8876266f70fbccfe2cf33082b1b5ad213c87726dde320", - "timestamp": 1610009200, - "blockNumber": 11606551 - }, - { - "proposalId": 2, - "voter": "0x9383F56fC77079befE3807c88CC350bAe93D75d6", - "support": true, - "votingPower": 92.989803, - "transactionHash": "0x4f9ab08d0e8b129c30985f14628a5d8d0ed2b5ce34243de456ee1876489a7a7b", - "timestamp": 1610012476, - "blockNumber": 11606788 - }, - { - "proposalId": 2, - "voter": "0x9B5ea8C719e29A5bd0959FaF79C9E5c8206d0499", - "support": true, - "votingPower": 129072.26040535582, - "transactionHash": "0xd1bcd1520a63e2fc6897b44014868c8b096abeff6a7dd07fa9864b6a83edad75", - "timestamp": 1610012478, - "blockNumber": 11606789 - }, - { - "proposalId": 2, - "voter": "0xAEA61BffC84031c4c1d1f2C7a265AE52EeDb1d21", - "support": true, - "votingPower": 110.00667446011508, - "transactionHash": "0xfb0e74b6d1a64e5d0fa875b1484a76c93bb8883ba6a5a573a1f8d2fb30294c47", - "timestamp": 1610013897, - "blockNumber": 11606896 - }, - { - "proposalId": 2, - "voter": "0x4b2c289a9a475554ed8791844b2E0d03924F8358", - "support": true, - "votingPower": 4.245308446427582, - "transactionHash": "0xacf04263cb7de50626e9aa8972699c94b40be7e9b61fe1d950edf5fe165e52c9", - "timestamp": 1610037836, - "blockNumber": 11608710 - }, - { - "proposalId": 2, - "voter": "0xeB56b2f9bAEb4024ECD154De7DCA6256AFC467C0", - "support": true, - "votingPower": 275.7901725682185, - "transactionHash": "0xee1cfea4a505676e3d5b0a41513bced75e7bee08a94eeceef11dbba4b50bb7bb", - "timestamp": 1610038624, - "blockNumber": 11608785 - }, - { - "proposalId": 2, - "voter": "0x99655CA16C742b46A4a05AFAf0f7798C336Fd279", - "support": true, - "votingPower": 205.70035362947064, - "transactionHash": "0x1b8b008bc20928f1737c692605973ea3eb7273440acb38a4432deb69a05eed3b", - "timestamp": 1610040262, - "blockNumber": 11608909 - }, - { - "proposalId": 2, - "voter": "0xA54aB4cbd9e7c58407b18E07ebfDAE97C4A43B4a", - "support": true, - "votingPower": 13.003876368293266, - "transactionHash": "0x3773b2e21d0a015a35f6a63158b83bb73e152dc42dd66f9e48188a66b06d6093", - "timestamp": 1610046190, - "blockNumber": 11609328 - }, - { - "proposalId": 2, - "voter": "0x8afaeD312996c8a3984c83e9d092fAa970F9D055", - "support": true, - "votingPower": 539.2834308705685, - "transactionHash": "0x1378d4ff7814a04adf85661a5fee21c854a012d3f4c343c55a263ca93cdc4664", - "timestamp": 1610050139, - "blockNumber": 11609602 - }, - { - "proposalId": 2, - "voter": "0x972cbeA41Df5B829F73deAf538f4aF9b80dB1053", - "support": true, - "votingPower": 25.01547966525915, - "transactionHash": "0x96fdb01983f65569268450c1dbe042e531e4976ec1dc14dbf37f57de2f0d68ed", - "timestamp": 1610053177, - "blockNumber": 11609813 - }, - { - "proposalId": 2, - "voter": "0x2cA164b3751e7cce44c006Fce9029a0c8b6f659b", - "support": true, - "votingPower": 402.9137760697513, - "transactionHash": "0x7c131eaab021e46ee1b798664d8d09bd4ed5ca4e03a77990a531c6cdeb502a9a", - "timestamp": 1610055563, - "blockNumber": 11610005 - }, - { - "proposalId": 2, - "voter": "0x4AdA1B9D9fe28aBd9585f58cfEeD2169A39e1c6b", - "support": true, - "votingPower": 326.33388167420674, - "transactionHash": "0x198d3fb1a0b866154f38e95695d928a8d63c4803de51faefc35f1dac54fa109e", - "timestamp": 1610056728, - "blockNumber": 11610091 - }, - { - "proposalId": 2, - "voter": "0x7a8170b3Ecf2b6850A62368879C8AA4fc1521106", - "support": true, - "votingPower": 300.17721831480014, - "transactionHash": "0xa9450e53a0aea8e733d99eb9817a27aeaf56f5c089b09e72263850a9aa8594bf", - "timestamp": 1610057713, - "blockNumber": 11610170 - }, - { - "proposalId": 2, - "voter": "0x250b24F4cb6416174D57f1c960E4f53acA890CF5", - "support": true, - "votingPower": 20.129080855, - "transactionHash": "0xa901873b2173850e286e1aa6663cd4eceac8478616e4d064f53a8e97ac4eda30", - "timestamp": 1610061593, - "blockNumber": 11610446 - }, - { - "proposalId": 2, - "voter": "0x5E75F78A7e50121F0aD6440651C5567c0578D9B5", - "support": true, - "votingPower": 1547.6451141296238, - "transactionHash": "0xa814a64daec36cb8269798271bc54fc4d9045acc99bf948d1bc9676cc57b3506", - "timestamp": 1610066368, - "blockNumber": 11610800 - }, - { - "proposalId": 2, - "voter": "0x1F766D64ccB4b7e63A6cF347C5FF859A8697F6dD", - "support": true, - "votingPower": 65.02994104243376, - "transactionHash": "0xf79458611cdb0538e3117837ea1efba9c1ef8042d3dcb0e6d8ca977a41e884b4", - "timestamp": 1610081535, - "blockNumber": 11611955 - }, - { - "proposalId": 2, - "voter": "0xff6C422c6e9A53200798A771f25b72B96d4eCa64", - "support": true, - "votingPower": 204.16865218980746, - "transactionHash": "0x71a96ff694bcbcec8dce7814e0cab73f672c91ad9d65b66fc2a75a714ea7f88e", - "timestamp": 1610083070, - "blockNumber": 11612068 - }, - { - "proposalId": 2, - "voter": "0x4Bf03635d42067CF86aaaF173F134765c30e40Fc", - "support": true, - "votingPower": 25833.333333344446, - "transactionHash": "0x97237c06a8ee3c773387053eeebd4fb7b9715c97bcd08d49cb08649e4fc0100f", - "timestamp": 1610095667, - "blockNumber": 11613045 - }, - { - "proposalId": 2, - "voter": "0x9428E55418755b2F902D3B1f898A871AB5634182", - "support": true, - "votingPower": 939.1524271317003, - "transactionHash": "0x6d2c814e6c83bee392c4c17307dff07be248383b0334d7136d39357f764aed9b", - "timestamp": 1610096195, - "blockNumber": 11613093 - }, - { - "proposalId": 2, - "voter": "0x348F10f90E42f7F053E6B03d82D3Ed8f7447104A", - "support": true, - "votingPower": 11569.858313408417, - "transactionHash": "0xad5a680d30387dbe0f46eafec02c570ac7d38348c78f7d96ec6639a7dd6b3430", - "timestamp": 1610096711, - "blockNumber": 11613127 - }, - { - "proposalId": 2, - "voter": "0xf46b1170992d9e66747ff4EEA671bA4922ECa684", - "support": true, - "votingPower": 7.850192075186277, - "transactionHash": "0x2911f325290b9dbbdecac1836657003af8bed336f9d36638b89306a364469886", - "timestamp": 1610102010, - "blockNumber": 11613555 - }, - { - "proposalId": 2, - "voter": "0x99B68F6A5455493d9151CE8A1d0C4B609d69BD8E", - "support": true, - "votingPower": 200.94239069025167, - "transactionHash": "0xe74d9056294ed2c7aa61567889e3ad6eae40e33f2bcbd532d53632312089c257", - "timestamp": 1610103708, - "blockNumber": 11613690 - }, - { - "proposalId": 2, - "voter": "0x9824697F7c12CAbAda9b57842060931c48dEA969", - "support": true, - "votingPower": 513.6598531897556, - "transactionHash": "0xda4b0f86b2c7aec863db8e163410824ee42066fd9976afdd003a7758c9e7c6e4", - "timestamp": 1610106642, - "blockNumber": 11613916 - }, - { - "proposalId": 2, - "voter": "0xf1246624EBDACAE1e3A576949e39321D0201ecB9", - "support": true, - "votingPower": 30.836704962704054, - "transactionHash": "0x003245445137ceb73e6595ae6c3afa45736d78ad113a50372962e908889eba52", - "timestamp": 1610125482, - "blockNumber": 11615338 - }, - { - "proposalId": 2, - "voter": "0x695CF62c68aD3775A47A0b9f18a7E20A9A1357EE", - "support": true, - "votingPower": 1.067, - "transactionHash": "0xbf2ee975ac15e3985cada50b71b5b843ac9f3c99ab2d0b3efab788bd04fcc1af", - "timestamp": 1610135914, - "blockNumber": 11616114 - }, - { - "proposalId": 2, - "voter": "0x65850a10c28db1903573579b77EAC0A761710D79", - "support": true, - "votingPower": 2.5055568328114672, - "transactionHash": "0xf56e54b655fb87ec1fd6db4237d65847572a06c4a0ce47042b8d42dfdc228c67", - "timestamp": 1610144013, - "blockNumber": 11616715 - }, - { - "proposalId": 2, - "voter": "0xbC8859FaCD9c1d6A5EB349e34f6066bb05e2c670", - "support": true, - "votingPower": 3.09818, - "transactionHash": "0x46797e5cd443e8b96fd7702ea5ae16588bab0728a3669914df801ea1614d39f8", - "timestamp": 1610146082, - "blockNumber": 11616872 - }, - { - "proposalId": 2, - "voter": "0xFcf4d9E7157720822f014B0C4136b2f905A51921", - "support": true, - "votingPower": 7.19665794332065, - "transactionHash": "0x167e68a853e1391581c224a4225150d3dd7339d5d4579d0a10722950b9004396", - "timestamp": 1610146655, - "blockNumber": 11616909 - }, - { - "proposalId": 2, - "voter": "0x01F64AC45407036E73d61CE8b96dd78D5faCe75a", - "support": true, - "votingPower": 32.565223462999164, - "transactionHash": "0x772a4411ec8692c9a9f2422ae05a0a0186f84428d1eec0e40ccfa40967a1f1b6", - "timestamp": 1610155383, - "blockNumber": 11617603 - }, - { - "proposalId": 2, - "voter": "0x5B93FF82faaF241c15997ea3975419DDDd8362c5", - "support": true, - "votingPower": 35.05049999974893, - "transactionHash": "0x110a354867a6a754ffe73b932231cba664ba08aa41eb47b48a11b4835a1c7512", - "timestamp": 1610157363, - "blockNumber": 11617760 - }, - { - "proposalId": 2, - "voter": "0x3839AcF1ee7699D1F46b1BE840D8aD8317FDf757", - "support": true, - "votingPower": 50, - "transactionHash": "0xe9c2004ddf2139942a2dec419ce6dc54c950a1f5bc5c631f072f5208d33bcc96", - "timestamp": 1610157485, - "blockNumber": 11617777 - }, - { - "proposalId": 2, - "voter": "0x3b08AA814bEA604917418A9F0907E7fC430e742C", - "support": true, - "votingPower": 149999.91, - "transactionHash": "0x501e245e225726bbad8188a752339369dbc8963b243f20950be4de945e8afd38", - "timestamp": 1610158767, - "blockNumber": 11617873 - }, - { - "proposalId": 2, - "voter": "0x5A50412aD703847130469C1C4309abD411Ee0aD7", - "support": true, - "votingPower": 1, - "transactionHash": "0xa9e3a30dc4cbb53a483e13422331225b7d53d155cd95800f2b36da0851c3e2bc", - "timestamp": 1610165841, - "blockNumber": 11618387 - }, - { - "proposalId": 2, - "voter": "0x030E9A84873eB53E508aC56eAd3edb5704cea995", - "support": true, - "votingPower": 650, - "transactionHash": "0xde449072b367d4924b57a925df0368d6adfed0e1a9ed08dcd545a1e6a68170d9", - "timestamp": 1610166927, - "blockNumber": 11618482 - }, - { - "proposalId": 2, - "voter": "0xE8782E32f1eEaFA94E90704ea6DccFFB8bCd5849", - "support": true, - "votingPower": 304.46492206051494, - "transactionHash": "0x3ce3b870955fb7c7f6bca590d8d04688ac85810833de8b7e63a9b1025f97967f", - "timestamp": 1610167542, - "blockNumber": 11618521 - }, - { - "proposalId": 2, - "voter": "0x3E791CADE64ECb1e78BE4A5A99Cde0B2fA51675d", - "support": true, - "votingPower": 117.73882155, - "transactionHash": "0xdda5b5345e8386c7a8ebdb76ebc076f78ca7e7da036c5453a65546620c40e787", - "timestamp": 1610169014, - "blockNumber": 11618627 - }, - { - "proposalId": 2, - "voter": "0xdD709cAE362972cb3B92DCeaD77127f7b8D58202", - "support": true, - "votingPower": 208549.21794749136, - "transactionHash": "0x7007c549c9b0b66f2f8c2a35c3206de81a3cbb0ef4ae8fcd2e7667d613d8192d", - "timestamp": 1610172656, - "blockNumber": 11618911 - }, - { - "proposalId": 2, - "voter": "0xc860f7c0ba21A21618E4059a3DcD8F90190750ed", - "support": true, - "votingPower": 8026.008454510113, - "transactionHash": "0x8eca34914c7a572aef2027e213941f8320932a47543629e7f2205bea481ab71a", - "timestamp": 1610175139, - "blockNumber": 11619092 - }, - { - "proposalId": 2, - "voter": "0xD5aC47018750e3fcB96BB28120F4D2564F8f653a", - "support": true, - "votingPower": 22.687858142920717, - "transactionHash": "0x95ff4e460dd8ab822288eae0f51d04df8b7923141837d54972964b52285adbd4", - "timestamp": 1610177413, - "blockNumber": 11619256 - }, - { - "proposalId": 2, - "voter": "0x38395321aa7e0f5Bf2d6De007dfb293988Ec6Ee0", - "support": true, - "votingPower": 130.80243430693014, - "transactionHash": "0x2903ad2203a13302fd20f21ad4fabd8ae4e927cc595323945bc8e7590dafc9b2", - "timestamp": 1610180956, - "blockNumber": 11619531 - }, - { - "proposalId": 2, - "voter": "0x74f0ef88878bAd5c38EE76144ebB723C94E25A86", - "support": true, - "votingPower": 662.430224187361, - "transactionHash": "0xadac116340b9e4f860f62c9fde4690ed7ab02210bc7ecb179bd9cec4f7a0c723", - "timestamp": 1610181051, - "blockNumber": 11619538 - }, - { - "proposalId": 2, - "voter": "0xD34A7095B8aAd4A4A125a2bFaB003A030f319Fc3", - "support": true, - "votingPower": 70.10188222546785, - "transactionHash": "0x31abcb906a9a42e3d87fac208fa5dbda7cded49f8e54242a93b8555eb3cf054d", - "timestamp": 1610181292, - "blockNumber": 11619558 - }, - { - "proposalId": 2, - "voter": "0x0fC832eA4Ff46cfFff0EAf14f7B3E632D497BD50", - "support": true, - "votingPower": 49.65403, - "transactionHash": "0xacfcabbe9e8704c0f0ff6755d572be3fb83b656d7818474b26c87e7833d57a2c", - "timestamp": 1610182537, - "blockNumber": 11619639 - }, - { - "proposalId": 2, - "voter": "0xF35Bb0619b0d78613C42dBc9e44d535749649dCB", - "support": true, - "votingPower": 835.8703774349046, - "transactionHash": "0x8f6664f5707768d2066d88ea1311e83ab0cf757cdf59a5174fd739ad7169542b", - "timestamp": 1610201573, - "blockNumber": 11621030 - }, - { - "proposalId": 2, - "voter": "0xcBC31C61Fd69d76b1254921f5Ed8b8b0495dbDf3", - "support": true, - "votingPower": 1955.322587427593, - "transactionHash": "0x3fd1f15bdce55bfc7054ea529492415722052176d70ab48bdcf0b0c4c2e99163", - "timestamp": 1610203287, - "blockNumber": 11621156 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 3, - "voter": "0x21d05071cA08593e13cd3aFD0b4869537e015C92", - "support": true, - "votingPower": 19165.027031616508, - "transactionHash": "0x566c8e8f9c5480c5eb93de5b92326ed5081e7728c6e88ef80dc32ca661d66796", - "timestamp": 1611958189, - "blockNumber": 11753393 - }, - { - "proposalId": 3, - "voter": "0x69569c6006E66813Bf26Faaae92CEc8c2a7CDAC1", - "support": true, - "votingPower": 78.2236904, - "transactionHash": "0xab1b4059f49125c0eded16e8668de67e79abf9f3f7bc8d4948dfd7a9afff54d6", - "timestamp": 1611961038, - "blockNumber": 11753609 - }, - { - "proposalId": 3, - "voter": "0x8d07D225a769b7Af3A923481E1FdF49180e6A265", - "support": true, - "votingPower": 120, - "transactionHash": "0x1554356944dae125f0734ef02117cf5fefcf4a581bd9ff0a00c8deb054b613d9", - "timestamp": 1611962171, - "blockNumber": 11753689 - }, - { - "proposalId": 3, - "voter": "0x80bFabc236FdE7da1e74Eb809741f5a07f09E796", - "support": true, - "votingPower": 5.27873243, - "transactionHash": "0x97ce6e028d5f236f4cd16822fc33f99dab8cef5127fc5449219207df8dc546b9", - "timestamp": 1611962575, - "blockNumber": 11753719 - }, - { - "proposalId": 3, - "voter": "0x3839AcF1ee7699D1F46b1BE840D8aD8317FDf757", - "support": true, - "votingPower": 50, - "transactionHash": "0x3424e14322bb2b79e1f2b95a90e74251e8948e50429c026903f882f6f028e120", - "timestamp": 1611962648, - "blockNumber": 11753727 - }, - { - "proposalId": 3, - "voter": "0x60015a9010243425172182b00e35F689ED4d887a", - "support": true, - "votingPower": 3215.712727802852, - "transactionHash": "0x1da0b9f0c3642d9a7decb23179fab77dc589020c487ec29921c451d7ed136a41", - "timestamp": 1611964255, - "blockNumber": 11753865 - }, - { - "proposalId": 3, - "voter": "0xb6d43Ff8AA294D5FD1C90919E68722CB00a51E54", - "support": true, - "votingPower": 8.845059040292755, - "transactionHash": "0x3196d3b50ee25c607b9d16ab4c73b6f0fba99f074843907ab32216f79f07d885", - "timestamp": 1611965317, - "blockNumber": 11753950 - }, - { - "proposalId": 3, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 1192.9675080343338, - "transactionHash": "0xbfbbd6cca8dda3230de2d7b63a2e7424e4ebb8077b056a1b2ca70526ef5dbbeb", - "timestamp": 1611965932, - "blockNumber": 11754005 - }, - { - "proposalId": 3, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 1675.416328099349, - "transactionHash": "0x064b92c3b287750929aec9be2cd42d192d3d7e0d78b529fbe9326be035772289", - "timestamp": 1611966154, - "blockNumber": 11754024 - }, - { - "proposalId": 3, - "voter": "0x3719A8c1A84dd03F19dA8d680E081A304937e75f", - "support": true, - "votingPower": 2.180246, - "transactionHash": "0xb9133e2020e55aa472ecfbee63aa3da830eb660a49526253f4766f0320363d13", - "timestamp": 1611969988, - "blockNumber": 11754328 - }, - { - "proposalId": 3, - "voter": "0x8ca964e7dBa52DeB032a3Fd99740bD100058a77C", - "support": true, - "votingPower": 82.17401679372684, - "transactionHash": "0xe7c131609b31c296d0d290da0d570aadccb56dc3b06b9c62d6f720192d049ea3", - "timestamp": 1611980700, - "blockNumber": 11755099 - }, - { - "proposalId": 3, - "voter": "0x8D1FFF1CF1CF527fe44672e0b130B77563C1f3E5", - "support": true, - "votingPower": 11.128962110770404, - "transactionHash": "0x55e64fde34bad5f325775ad266a8888719de30051673db7f3afc19fa12e8135d", - "timestamp": 1611988454, - "blockNumber": 11755711 - }, - { - "proposalId": 3, - "voter": "0xFa16B4019D0368366b97f2e9822046C6D4DCAB47", - "support": true, - "votingPower": 18.872173711373176, - "transactionHash": "0xcd65e1d7e31eff9282a747d977de9741db46a4e910fc150dac4660a9eb4db31f", - "timestamp": 1611997449, - "blockNumber": 11756340 - }, - { - "proposalId": 3, - "voter": "0xf48578E2Fdf3B098Bf0C6c4A5DD1E023C47bf04c", - "support": true, - "votingPower": 22.504508776312175, - "transactionHash": "0x82ed542668d73ccd8027c51b361e824e5a0cca7fcb98676c20d4541c71874ced", - "timestamp": 1612001388, - "blockNumber": 11756634 - }, - { - "proposalId": 3, - "voter": "0xc7ee3B9778e6192eC7A1eF984c786e59d2990Eab", - "support": true, - "votingPower": 16.00328349282716, - "transactionHash": "0xb3dc95a74d7760554ca00d53747c3e33cd46af1bb71c1deaeafca59724bd5217", - "timestamp": 1612002301, - "blockNumber": 11756710 - }, - { - "proposalId": 3, - "voter": "0xEE407fe3b8773caA86051d7A9c2144d3de42c8eb", - "support": true, - "votingPower": 51.633344897899164, - "transactionHash": "0x04879b48a7c1e2ac61bfb9667a696a17f84bb2433697977adf01b424f1f3065c", - "timestamp": 1612004987, - "blockNumber": 11756912 - }, - { - "proposalId": 3, - "voter": "0x6B8C52e254Dd8d26a89255E32a0e95a4d7a9cF7E", - "support": true, - "votingPower": 6.27286711, - "transactionHash": "0xef706a211a09acc20762c1ed5dafee6783bf30a54e9748003d41b2fc3cf19ffd", - "timestamp": 1612007618, - "blockNumber": 11757102 - }, - { - "proposalId": 3, - "voter": "0x9B5ea8C719e29A5bd0959FaF79C9E5c8206d0499", - "support": true, - "votingPower": 129671.47087792464, - "transactionHash": "0x1684d55c58e30e64125b660634ca14a7c77a53d93d976526a476abd97bffc15a", - "timestamp": 1612011099, - "blockNumber": 11757389 - }, - { - "proposalId": 3, - "voter": "0x9C98e5967D31E4dc3126241d3a84D4EB1586B635", - "support": true, - "votingPower": 2.0780097511589153, - "transactionHash": "0x532adfbce2a80bd83fe1dc09c58e8a03b5ad890fba3736d6024eb788147d1f7f", - "timestamp": 1612012136, - "blockNumber": 11757468 - }, - { - "proposalId": 3, - "voter": "0x64025b6B15Df8efe4596CA43F9A781a07331C751", - "support": true, - "votingPower": 19.885, - "transactionHash": "0x4af3295e9bfc812ca1fd90d72260c8687d999a02f3db8feb8d7daaccc714dae8", - "timestamp": 1612014458, - "blockNumber": 11757653 - }, - { - "proposalId": 3, - "voter": "0xdD709cAE362972cb3B92DCeaD77127f7b8D58202", - "support": true, - "votingPower": 209398.9986980101, - "transactionHash": "0xbecfca3994cb23b505a93975d9bc1a921b7ee9f35a305fd20728fc23d7fb4232", - "timestamp": 1612016532, - "blockNumber": 11757815 - }, - { - "proposalId": 3, - "voter": "0x56f9dfF735BFDc2312B0278fDc51F0c0552a8Bc0", - "support": true, - "votingPower": 201.1395054575676, - "transactionHash": "0x54031f60e0845ff8edeaf937e6de3164b78e5d1e9d9786884b649d01cdd03c53", - "timestamp": 1612020706, - "blockNumber": 11758112 - }, - { - "proposalId": 3, - "voter": "0xCBB08e918e828Bfd46A0E32E3365E80D7502c7D9", - "support": true, - "votingPower": 21.822164163343515, - "transactionHash": "0x727cac5d570165577b5e3803ae8ae4d66ca6345a465ee6a60943ef1aa2d309a7", - "timestamp": 1612021222, - "blockNumber": 11758152 - }, - { - "proposalId": 3, - "voter": "0x5BC928BF0DAb1e4A2ddd9e347b0F22e88026D76c", - "support": true, - "votingPower": 55465.020758, - "transactionHash": "0xc8876bca7e5af580c8ac856e1b0a16ca4147f32588cf48aead8e0f2bb278182e", - "timestamp": 1612023188, - "blockNumber": 11758282 - }, - { - "proposalId": 3, - "voter": "0x6724F3FBb16F542401BfC42C464CE91b6C31001E", - "support": true, - "votingPower": 5142.5, - "transactionHash": "0x17862cf2fcf2a96e81f437629fd488d35ef21f3f1f442b9bd647ecd3975f35d7", - "timestamp": 1612023550, - "blockNumber": 11758320 - }, - { - "proposalId": 3, - "voter": "0xd29F3eb4760EFdE9a7FD508a564d9F9E338D1e5f", - "support": true, - "votingPower": 999.1, - "transactionHash": "0x52cdfa223dac52e59a9acc75f9f57adaa28e226745829c66241f66c28f66aced", - "timestamp": 1612029206, - "blockNumber": 11758732 - }, - { - "proposalId": 3, - "voter": "0x0a653bd08E2B0A80d1D212d33032953Db8298efd", - "support": true, - "votingPower": 957.2366223480307, - "transactionHash": "0x6473314b8a292ffa0e83669e6ecd5e3f1d386efb9b4064e3020686dd304c528b", - "timestamp": 1612036378, - "blockNumber": 11759254 - }, - { - "proposalId": 3, - "voter": "0xa59e113fbef3B4129bAef6b5355dFf683851aFA7", - "support": true, - "votingPower": 22.77473731685331, - "transactionHash": "0x7f5910670917e1b0bcd9e03ba19150acd86d9eb4bbfba27b92368bf794b611f6", - "timestamp": 1612041356, - "blockNumber": 11759614 - }, - { - "proposalId": 3, - "voter": "0x789e3B871696E5E6f122C74da94A6397D27296e2", - "support": true, - "votingPower": 384.7779551215553, - "transactionHash": "0x14f4eb84f24b4bfdf6fd19c11d7f28ea0f05dbb9d966ff63ba1ea00e5f128b5a", - "timestamp": 1612041763, - "blockNumber": 11759649 - }, - { - "proposalId": 3, - "voter": "0xCCE56EdD5e4594AadE98E84d3FE6a64e13a6D073", - "support": true, - "votingPower": 110.71066253628457, - "transactionHash": "0x2baeb83128d89bb378e92e7cb3db9b5d4e99fb44c0732f9981be09823734a16c", - "timestamp": 1612043365, - "blockNumber": 11759759 - }, - { - "proposalId": 3, - "voter": "0xF4F56fA0D045ae0e6Ba8f82e2C32887FE0B152Ea", - "support": true, - "votingPower": 250.6360144880205, - "transactionHash": "0xa36a28e8d3318a5068b6afa936b929acedba935f44ba6349e5380c525603ec4e", - "timestamp": 1612043671, - "blockNumber": 11759782 - }, - { - "proposalId": 3, - "voter": "0xC0193bA57D111349e54880321d2FC2a9b3Fdfac2", - "support": true, - "votingPower": 1113.005, - "transactionHash": "0x6a951db6dc59f89cf195c8704e13b20c76d7b31b77c06dd9198eabdcf135e098", - "timestamp": 1612043987, - "blockNumber": 11759813 - }, - { - "proposalId": 3, - "voter": "0xb1D285c49054c7B4D24228Ad3dd3d9a0796e2d16", - "support": true, - "votingPower": 325.73643241862055, - "transactionHash": "0x565fed8b3cadfd21a65450fa75d01f5a8a4ef3fc26ac97237362c65caa4120f1", - "timestamp": 1612046325, - "blockNumber": 11759974 - }, - { - "proposalId": 3, - "voter": "0xabC8EBbaC2d9746eB709f3a45068694f705EFc65", - "support": true, - "votingPower": 14.72565789448968, - "transactionHash": "0x8a9b2911d36c1434139b65a2d757544e58ddf8251e162af65dc5605d19aa8401", - "timestamp": 1612050325, - "blockNumber": 11760243 - }, - { - "proposalId": 3, - "voter": "0x8Fb1A9B2DA3e27F9FcA72dDD8063B64526a4467E", - "support": true, - "votingPower": 12.985, - "transactionHash": "0xac25bfe1dfece5d18ef4e5170697ded562c1a2cf08ca0d11c4b8858504c105bb", - "timestamp": 1612052182, - "blockNumber": 11760374 - }, - { - "proposalId": 3, - "voter": "0x40534E513dF8277870B81e97B5107B3f39DE4f15", - "support": true, - "votingPower": 36.124254759804494, - "transactionHash": "0xe9b7705b64faaafb98826c2581c3acdf3c1a683869be3ff92176aad6ecaa9c06", - "timestamp": 1612055049, - "blockNumber": 11760619 - }, - { - "proposalId": 3, - "voter": "0x5A50412aD703847130469C1C4309abD411Ee0aD7", - "support": true, - "votingPower": 1, - "transactionHash": "0x20c106aa792558feeca71382ed8c62deb40fbf538acf49bf0a3a125e2c877ed1", - "timestamp": 1612060121, - "blockNumber": 11761033 - }, - { - "proposalId": 3, - "voter": "0x38395321aa7e0f5Bf2d6De007dfb293988Ec6Ee0", - "support": true, - "votingPower": 131.56737351860335, - "transactionHash": "0x4875d636a13e552be15582a76f04158c09965963cabed5c1152dd7c2eb278cb5", - "timestamp": 1612081349, - "blockNumber": 11762659 - }, - { - "proposalId": 3, - "voter": "0x2B5d13d0b275e91f428248370E02E3800f908324", - "support": true, - "votingPower": 74.6995778, - "transactionHash": "0xfe19d81466a7397bfdbca50d9762a15a9a8ce4797e35f17c146e7459d942de45", - "timestamp": 1612086239, - "blockNumber": 11763034 - }, - { - "proposalId": 3, - "voter": "0xaC541eF515090a4e80431C257d58FF09a72e97CF", - "support": true, - "votingPower": 20.038979066838685, - "transactionHash": "0x01e50c16e0f84506efd4ae050c9594441a749a8c968e4874d2852b8c1b58b932", - "timestamp": 1612126006, - "blockNumber": 11766046 - }, - { - "proposalId": 3, - "voter": "0x1F766D64ccB4b7e63A6cF347C5FF859A8697F6dD", - "support": true, - "votingPower": 65.02994104243376, - "transactionHash": "0x6dafb9331f2f958d56ed3c5c0a2b374d168115ad5c624a701d4f7d7c456cf118", - "timestamp": 1612131594, - "blockNumber": 11766463 - }, - { - "proposalId": 3, - "voter": "0x1d03927a4f08628Accd208ba65Cf7C96180602A7", - "support": true, - "votingPower": 30.004479877582504, - "transactionHash": "0xb825967e45bffb41f8feab2b4f7a09677823aa74d3a2a68317177205f581ee17", - "timestamp": 1612131851, - "blockNumber": 11766488 - }, - { - "proposalId": 3, - "voter": "0x193991827E291599A262e7fa7D212ff1Ae31D110", - "support": true, - "votingPower": 6044.554295748286, - "transactionHash": "0x610e9311453c46dba4b3385cc8baefc848ac1dbd107dde25624c763f2858082e", - "timestamp": 1612138265, - "blockNumber": 11766991 - }, - { - "proposalId": 3, - "voter": "0xEC1B3c255857F2ab1F043F11f5cbf594E22cCb14", - "support": true, - "votingPower": 1.0303923453905668, - "transactionHash": "0xfa6964435cdf674e24eac1ea919195e1135a12ac8f63a673cb12d1257b8bd6fc", - "timestamp": 1612142189, - "blockNumber": 11767318 - }, - { - "proposalId": 3, - "voter": "0x9548Fc023f6000B4Bd1f8569aBc4222bDede65c7", - "support": true, - "votingPower": 1171.6535144854972, - "transactionHash": "0x3b3a7c9a27b3b0bd20a10f464de63606efd952f5b7391cb983593b10a4881232", - "timestamp": 1612144091, - "blockNumber": 11767473 - }, - { - "proposalId": 3, - "voter": "0x9824697F7c12CAbAda9b57842060931c48dEA969", - "support": true, - "votingPower": 510.63198013310637, - "transactionHash": "0xad85dfcd22269f549eb7ff04812755c4bc2cd80b370dbd14b25da71a1ea304bf", - "timestamp": 1612144302, - "blockNumber": 11767493 - }, - { - "proposalId": 3, - "voter": "0x9730155214fcad09A4a002f9cA7F9dBf3E706cD7", - "support": true, - "votingPower": 17.17184717, - "transactionHash": "0x335943bb16acaeed2afb98c34eb9ec185cb1bc17b1a8cc2bce5ccf22ba89befa", - "timestamp": 1612148162, - "blockNumber": 11767789 - }, - { - "proposalId": 3, - "voter": "0x8EA8721F27eFcAaBB3901Ed6756505Ab873F15a7", - "support": true, - "votingPower": 25.214038767457378, - "transactionHash": "0xccf828ac29c07fd464028349445e07543664f57255654d8e13064ceec6cb3148", - "timestamp": 1612151140, - "blockNumber": 11768021 - }, - { - "proposalId": 3, - "voter": "0xaE6dCd07fac9D7CccC98509120c1071048cDD8a1", - "support": true, - "votingPower": 10.718222723796917, - "transactionHash": "0xf02796326676169bec94f1aafd163e89f39567db79ca058289bcdbf89b0876df", - "timestamp": 1612152300, - "blockNumber": 11768101 - }, - { - "proposalId": 3, - "voter": "0x13F3bcad1Ca16780BEAa5Abd4255C9cACA8788c3", - "support": true, - "votingPower": 1.7831109, - "transactionHash": "0x1b276e72f1f6825b66bff011b30aa3d5d2e99bf7096528a551d5094af8241325", - "timestamp": 1612158860, - "blockNumber": 11768559 - }, - { - "proposalId": 3, - "voter": "0x9C330a97c3DD093F4b514aF6CC2f531AC0Cb084b", - "support": true, - "votingPower": 10.04999871, - "transactionHash": "0x93e101d5e0d04ceb4978739bd8ba66fa62b98304089fa9d8f9bdfac384dc533d", - "timestamp": 1612177934, - "blockNumber": 11769966 - }, - { - "proposalId": 3, - "voter": "0x274AF61A316678A84AAbaCc4a6Cf6881E9413B3B", - "support": true, - "votingPower": 12.934555994556783, - "transactionHash": "0x5a8277181a5085574f5fb368fbc1b41ff678bc7f9023ad935aaeba3d961168a5", - "timestamp": 1612184131, - "blockNumber": 11770435 - }, - { - "proposalId": 3, - "voter": "0xC53a1B7da00e02Ef475283f303247A314c636175", - "support": true, - "votingPower": 99.99317956426337, - "transactionHash": "0x822a06884fb1606312624ae15e7278cff1eefce4eaf7d7e662192509123acad0", - "timestamp": 1612193037, - "blockNumber": 11771118 - }, - { - "proposalId": 3, - "voter": "0x250b24F4cb6416174D57f1c960E4f53acA890CF5", - "support": true, - "votingPower": 20.129080855, - "transactionHash": "0x37bd67b44ad04cac2ac7ce8c038733bc5e79a9c4ef697dc8425b48fa6356aec0", - "timestamp": 1612193347, - "blockNumber": 11771145 - }, - { - "proposalId": 3, - "voter": "0x395D8A19277559656C0E0c2d3b5694Ea74c92c25", - "support": true, - "votingPower": 5454.999997051951, - "transactionHash": "0x9b97f6a0b5a153a8f11da023643b401da7ea0c0f99cb65316463749fcfe9482d", - "timestamp": 1612199578, - "blockNumber": 11771590 - }, - { - "proposalId": 3, - "voter": "0x62d800211B075E355d34dD8e90b0a84606896f9e", - "support": true, - "votingPower": 10.832462568218485, - "transactionHash": "0x0f02cb675c441774914077978063a43c881f586ba6cca1116965c777ca19efcc", - "timestamp": 1612203226, - "blockNumber": 11771886 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 4, - "voter": "0x39f6be189A5158151CbAa169a4d50CcBfBa0480c", - "support": true, - "votingPower": 4.551, - "transactionHash": "0x395f5f691dbb2f7cac9d274244302e55f5998cd92816f466f6333d9fc0534c81", - "timestamp": 1612548084, - "blockNumber": 11797801 - }, - { - "proposalId": 4, - "voter": "0x2C9139D5eC9206Bd779A71ecdB927C8cD42E9639", - "support": true, - "votingPower": 224.72794157035858, - "transactionHash": "0x6ff6c4f943909a5c82342b52d9f280d1af61e21d999df55dfa2373e62f783b45", - "timestamp": 1612549059, - "blockNumber": 11797866 - }, - { - "proposalId": 4, - "voter": "0x6724F3FBb16F542401BfC42C464CE91b6C31001E", - "support": true, - "votingPower": 5142.5, - "transactionHash": "0xc49fbba94d6e41f5b45ed560837ae1021992ec3d976ab859fb578b1ff4556c32", - "timestamp": 1612551479, - "blockNumber": 11798054 - }, - { - "proposalId": 4, - "voter": "0x829d0F51a409A1Fe36042Fda26b4AcbD8c2DAe3F", - "support": true, - "votingPower": 5, - "transactionHash": "0xdfcda7fe59095bb3efba3da18239d3d72901c538953f537f49f4bea291c798ef", - "timestamp": 1612555715, - "blockNumber": 11798359 - }, - { - "proposalId": 4, - "voter": "0xF3E6bA583B960f7a8B395212FDce8A92a0DF912c", - "support": true, - "votingPower": 1263.8440244493431, - "transactionHash": "0x147a0497279fac11774f9676a4e27a8e8d562542379b48fc7a059295dd54f288", - "timestamp": 1612559122, - "blockNumber": 11798584 - }, - { - "proposalId": 4, - "voter": "0x6340e49D951da33F6D00FCcA030F6E61D8D9f812", - "support": true, - "votingPower": 73.918, - "transactionHash": "0xef06616d5beb2bab95e8e7b697ac7d12490d47640f23fa248a06bfb1c700bf91", - "timestamp": 1612559380, - "blockNumber": 11798605 - }, - { - "proposalId": 4, - "voter": "0xB0C00a7a2d11F8f07C163F11c6b821225B8fE494", - "support": true, - "votingPower": 60.93998062679428, - "transactionHash": "0x66dd5b8f1da35750feda20c74f069f50705599d08bb44ee3bd5ed3c596ab070d", - "timestamp": 1612559565, - "blockNumber": 11798623 - }, - { - "proposalId": 4, - "voter": "0xb964098e18B72B6944EadF429191D6946bb810B9", - "support": true, - "votingPower": 110.87, - "transactionHash": "0x9d94e0cc7e7e0e2559ce93decbb07dbcfd6fbe617125c2edb97f8e381f5b7391", - "timestamp": 1612559995, - "blockNumber": 11798656 - }, - { - "proposalId": 4, - "voter": "0xED5aE54d8f39486605e664C7a55dD0aa0EBCe14B", - "support": true, - "votingPower": 33.10881, - "transactionHash": "0xe2cc9007edf482c1b4ad634ea707a89f9999893422e38a359813c48bc84fdafc", - "timestamp": 1612561126, - "blockNumber": 11798734 - }, - { - "proposalId": 4, - "voter": "0x0006980722eADD84FC234C83489D9cA84fFEB4a2", - "support": true, - "votingPower": 14.532, - "transactionHash": "0x5415d2d84e66490b312726e5ace4d37abb19d88ff3237afb5376c6709386c0b4", - "timestamp": 1612562478, - "blockNumber": 11798832 - }, - { - "proposalId": 4, - "voter": "0x49d91716cDE5Af47B82891b69497f48d227C38Cd", - "support": true, - "votingPower": 89.98608545, - "transactionHash": "0x1bcbf94ad017562125a5c973ebbdbf6c67ffe42285a38710d7cc2c118c526da6", - "timestamp": 1612565175, - "blockNumber": 11799035 - }, - { - "proposalId": 4, - "voter": "0xdC69E2ebdedF9b4247BF8d61005592d181f8d02A", - "support": true, - "votingPower": 2.221768333261484, - "transactionHash": "0xbf3c44b986335f32261359a88b0ebfc49d36d71c5d3393ec4b7fe67295dc80d6", - "timestamp": 1612566775, - "blockNumber": 11799155 - }, - { - "proposalId": 4, - "voter": "0x374FCF2358549EeE84b564ddfF9497e2887Eb0Ef", - "support": true, - "votingPower": 4.20444846, - "transactionHash": "0xd948ba634c968bbdb79fa77bfcfd9b23c3d1365d20f8415562bd3aad27cdd419", - "timestamp": 1612571417, - "blockNumber": 11799487 - }, - { - "proposalId": 4, - "voter": "0x43311ccd27C4637211729016a29f765Bc4ED6258", - "support": true, - "votingPower": 800, - "transactionHash": "0x61b2a87dc8dc251d277c1ac2cd4d097806502012c7730d9e4af9b456256a1990", - "timestamp": 1612572408, - "blockNumber": 11799568 - }, - { - "proposalId": 4, - "voter": "0x38395321aa7e0f5Bf2d6De007dfb293988Ec6Ee0", - "support": true, - "votingPower": 131.56737351860335, - "transactionHash": "0xb4dae2469a078a5bd634271270dd3f6265b737fed8c8053d026fb72420d3be26", - "timestamp": 1612574285, - "blockNumber": 11799710 - }, - { - "proposalId": 4, - "voter": "0x7BfeA1979e58AA73beB34D4577272B5Ba16479fD", - "support": true, - "votingPower": 16551.3256955106, - "transactionHash": "0xa0c83fa6369ea0a0d9e23f244bd26deee7c45cb127c34c2673f68763eabdd2ef", - "timestamp": 1612575395, - "blockNumber": 11799784 - }, - { - "proposalId": 4, - "voter": "0xf2EfC7b78168abC6A5be99e5624c64f2499d91fC", - "support": true, - "votingPower": 4.38164192, - "transactionHash": "0x8a604c8e6d6b83a37d66b93c6aa461f2db0bbb8965f7ea309e9406283baa6c08", - "timestamp": 1612577981, - "blockNumber": 11799978 - }, - { - "proposalId": 4, - "voter": "0xF6Bf3c2A5C74F98A5344f715De7859A6ED7540B9", - "support": true, - "votingPower": 6.82688808, - "transactionHash": "0xf8d5d0997287bc15a9eee2fd0cfe0438b892418887a39448f5b77408632a74f9", - "timestamp": 1612578916, - "blockNumber": 11800053 - }, - { - "proposalId": 4, - "voter": "0x45e07a3F450D12aCc6c39F685F7f505CA841504d", - "support": true, - "votingPower": 89.88204343, - "transactionHash": "0x7a4909794594f6c603559c542323f03daed62680a5c92efc394377aebbb8b876", - "timestamp": 1612580340, - "blockNumber": 11800166 - }, - { - "proposalId": 4, - "voter": "0x60015a9010243425172182b00e35F689ED4d887a", - "support": true, - "votingPower": 3145.590806802852, - "transactionHash": "0x5f09dba9dba820edcca0d8cb7483d9c2add20220debd9521cf59ecf1ef3cb29d", - "timestamp": 1612584194, - "blockNumber": 11800449 - }, - { - "proposalId": 4, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 1675.416328099349, - "transactionHash": "0xca1fa940348af2d040de34e0d0e054740e364416567ffa94ae5508e3c531e648", - "timestamp": 1612586268, - "blockNumber": 11800618 - }, - { - "proposalId": 4, - "voter": "0xaB262D7B21A667b8C5b23b14e25d75Be9AC6C3e2", - "support": true, - "votingPower": 25306.298003240212, - "transactionHash": "0x95a8a1d01325eb81cdf6d0d12378b6efe35c3aa7bb7a701db0c5c6aee4dc078c", - "timestamp": 1612587659, - "blockNumber": 11800737 - }, - { - "proposalId": 4, - "voter": "0x21d05071cA08593e13cd3aFD0b4869537e015C92", - "support": true, - "votingPower": 19165.027031616508, - "transactionHash": "0x3ac6ae22fd55b3ab458fe3c4722cf22ee9fe18ae0874f4e858c16c44766687d3", - "timestamp": 1612587785, - "blockNumber": 11800754 - }, - { - "proposalId": 4, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 1252.0441965535292, - "transactionHash": "0x1f02683859b7e54e6d4c55f29f74ab0c09dfc4a583ff82e181473e9e339dd708", - "timestamp": 1612588853, - "blockNumber": 11800831 - }, - { - "proposalId": 4, - "voter": "0x6eC8a2Ac17e14431aabf2bd2583fd8e69cAfc21A", - "support": true, - "votingPower": 163.92519879563596, - "transactionHash": "0x3e3ee4b43509c3979150b90026c545934694556d5150f75572192bb124f9b02c", - "timestamp": 1612595049, - "blockNumber": 11801297 - }, - { - "proposalId": 4, - "voter": "0x16598e250Bc89B6A5f0F81942CBde8f9FB42baBc", - "support": true, - "votingPower": 75.07167499678896, - "transactionHash": "0xc60a48e1561d0b37e36c023e218859f55c3d6067730f9c30da627667a5fa0fae", - "timestamp": 1612598492, - "blockNumber": 11801557 - }, - { - "proposalId": 4, - "voter": "0x0F7c548C3c100e1AD6A1F092D95884Cc4dCEf4bB", - "support": true, - "votingPower": 50, - "transactionHash": "0xe38f84142386095d193af5dde9f061203505bc1f016aea278d3862c275c31b76", - "timestamp": 1612622137, - "blockNumber": 11803336 - }, - { - "proposalId": 4, - "voter": "0x9C330a97c3DD093F4b514aF6CC2f531AC0Cb084b", - "support": true, - "votingPower": 10.04999871, - "transactionHash": "0x0f008f61df4dd1d720026cb7a601720e08c08494e81b4ab4e61ec512f38380c4", - "timestamp": 1612625098, - "blockNumber": 11803560 - }, - { - "proposalId": 4, - "voter": "0xa92353c528e569A58Fc09d39358b284f2aF5A3d4", - "support": true, - "votingPower": 1.106617336036335, - "transactionHash": "0x3a42dc4348124d018646f76ae585b72383ebd577ea94cd17cdcb779b8c39c290", - "timestamp": 1612629712, - "blockNumber": 11803921 - }, - { - "proposalId": 4, - "voter": "0x261E1fbc2D5c7200De55289Dfab9EBBC5fD585be", - "support": true, - "votingPower": 107.47304756586662, - "transactionHash": "0x3c9621bc0030359d0f37514748d445c822963698eb2a22d43541e6be2d35a3a8", - "timestamp": 1612630465, - "blockNumber": 11803974 - }, - { - "proposalId": 4, - "voter": "0x09d8D37669e92e915fF037691acbd2467DAC4A89", - "support": true, - "votingPower": 300, - "transactionHash": "0xa7830e6c2caded98bc6d3a7e5e3cf546bddb6cfaaceca3316e3a886c7fa4d5d3", - "timestamp": 1612635949, - "blockNumber": 11804355 - }, - { - "proposalId": 4, - "voter": "0xDA5b2cd0d0Bb26E79FB3210233dDABdB7de131C9", - "support": true, - "votingPower": 7.925598617963445, - "transactionHash": "0x7c795aa9ba3f8dbb79e391a1df67adda9bb367e2d9faefbb65c459e08b0df5fc", - "timestamp": 1612641049, - "blockNumber": 11804731 - }, - { - "proposalId": 4, - "voter": "0xeB56b2f9bAEb4024ECD154De7DCA6256AFC467C0", - "support": true, - "votingPower": 250.79017256821848, - "transactionHash": "0x0b8894014a290cbc9a1abb4eab0231c8a93d056ff408a2cf8b18cc46cae369e9", - "timestamp": 1612643262, - "blockNumber": 11804903 - }, - { - "proposalId": 4, - "voter": "0xdcBc78c7D2b11A9c24fa9057956f8c5C63C27D49", - "support": true, - "votingPower": 3.42653224, - "transactionHash": "0xbf36deec2653d8120715035edbc171393c5a1887bd8fdeaf1191f855697310d2", - "timestamp": 1612647446, - "blockNumber": 11805200 - }, - { - "proposalId": 4, - "voter": "0xCBB08e918e828Bfd46A0E32E3365E80D7502c7D9", - "support": true, - "votingPower": 21.822164163343515, - "transactionHash": "0x50691282e6d020135586cd841219faca61c512974a6379bacfbba86cfb3b32f1", - "timestamp": 1612651847, - "blockNumber": 11805556 - }, - { - "proposalId": 4, - "voter": "0x238F24101876377E9178d125D0747DE7fad9C3b2", - "support": true, - "votingPower": 12.79968637554315, - "transactionHash": "0xe6af63301f6874bae88cb5ec607042e9742ea1b0cb26b1c49be1ef247b454c56", - "timestamp": 1612653014, - "blockNumber": 11805646 - }, - { - "proposalId": 4, - "voter": "0x697da80Af17Da4E2735BBDAD1f624C40e4182D1E", - "support": true, - "votingPower": 1.18639382, - "transactionHash": "0xc559f43ea4a8f5576f0c366121c1e733393e2ab2451d463e2fb9b21bf2e366b2", - "timestamp": 1612653837, - "blockNumber": 11805711 - }, - { - "proposalId": 4, - "voter": "0x48eCC8ED5D5C7B43d43f75784594333FB21Dc6c1", - "support": true, - "votingPower": 14.508855629214358, - "transactionHash": "0xbadb4af6fade9f7b3ab0f6bd89e0cac563301f78639382a63265305bb1de50d1", - "timestamp": 1612655320, - "blockNumber": 11805819 - }, - { - "proposalId": 4, - "voter": "0x78B3367B0F547Cd16Bac453F788956AfcE92447B", - "support": true, - "votingPower": 6.05554, - "transactionHash": "0x59451ea433e92deaeef8e4c597f661bd423e41053bb99ea5b7e00ff71f70f0ac", - "timestamp": 1612655428, - "blockNumber": 11805832 - }, - { - "proposalId": 4, - "voter": "0x92D3CCD5cf31df5FEe5a2F269d36102D0A093549", - "support": true, - "votingPower": 113.73735352870106, - "transactionHash": "0xf1bc22dad8f75a5f97132759c13c397f203fcacdd3fa808bac7f229cc01678a5", - "timestamp": 1612658571, - "blockNumber": 11806086 - }, - { - "proposalId": 4, - "voter": "0xc6F3d1622E387Bd12114202ff20F67f6D120824B", - "support": true, - "votingPower": 22.204831058, - "transactionHash": "0x1579a899c175fda653ad2f24dcacb6c7b01549ac0ee8b810e044bee32d18e1f7", - "timestamp": 1612665543, - "blockNumber": 11806609 - }, - { - "proposalId": 4, - "voter": "0xF4F56fA0D045ae0e6Ba8f82e2C32887FE0B152Ea", - "support": true, - "votingPower": 250.6360144880205, - "transactionHash": "0x768f0e23561db3f2b25f4da1082d0c26b8bfa6592d665924a3c40727b5ae0f8a", - "timestamp": 1612667684, - "blockNumber": 11806758 - }, - { - "proposalId": 4, - "voter": "0x293df2b283ec6f8974C510fe1377c24BF9d0b4db", - "support": true, - "votingPower": 2307.476424339112, - "transactionHash": "0xc53f4e3111de7087d6cb297afa56ab033ffa70771ae1573c0404a2971737fd99", - "timestamp": 1612673491, - "blockNumber": 11807215 - }, - { - "proposalId": 4, - "voter": "0x8660FC66cF3E06d86e8013c3b6BE5592A5FA916a", - "support": true, - "votingPower": 30.596138031079068, - "transactionHash": "0xbf61130f6b64e3a7c8692a874861b5752017981a5f33e1b1ac683d36025e4ff1", - "timestamp": 1612675405, - "blockNumber": 11807373 - }, - { - "proposalId": 4, - "voter": "0xb1D285c49054c7B4D24228Ad3dd3d9a0796e2d16", - "support": true, - "votingPower": 325.73643241862055, - "transactionHash": "0xb5c1e1f2cfa8cf497fce99b16820adeecec902a43c639308d8878be7af0abd12", - "timestamp": 1612677214, - "blockNumber": 11807523 - }, - { - "proposalId": 4, - "voter": "0x2B5d13d0b275e91f428248370E02E3800f908324", - "support": true, - "votingPower": 74.6995778, - "transactionHash": "0xbcd14f04845f9572179755e2edeefe7b8e9cd16a8af7fdbe9a308ad680d6ce3d", - "timestamp": 1612694975, - "blockNumber": 11808808 - }, - { - "proposalId": 4, - "voter": "0xe5465CEd137EcF8c80bBf7A1e2f2bf457a12A466", - "support": true, - "votingPower": 2000.166, - "transactionHash": "0xb3018251b48c69f42b504cbb9e663451bdf09a15b33617ba1e1b9e3d059f0d03", - "timestamp": 1612698505, - "blockNumber": 11809075 - }, - { - "proposalId": 4, - "voter": "0x2ca412F424F1F0D7B8790Cc95c391e9898F22949", - "support": true, - "votingPower": 84.95134115840732, - "transactionHash": "0x76285640f7f4fd356fc681e0ff54b2c46054a20a96bb5d7e1087cab1253e2f85", - "timestamp": 1612706409, - "blockNumber": 11809699 - }, - { - "proposalId": 4, - "voter": "0x91cAaB3C0e9111043C97F5B3F10f614A193a11C9", - "support": true, - "votingPower": 650.2641891723156, - "transactionHash": "0x7cb78a6d278dc4742a3692f2de79e27b88b34abd48d2897676a0ee323e73f107", - "timestamp": 1612723639, - "blockNumber": 11811011 - }, - { - "proposalId": 4, - "voter": "0x4C31c2236004884c1d819096343c827c6C32A938", - "support": true, - "votingPower": 966.8025250812656, - "transactionHash": "0xdbd35f371fd9d78edd581443715f4e11bc4f5ac7be306e1c62cafbe4aa768d47", - "timestamp": 1612735882, - "blockNumber": 11811954 - }, - { - "proposalId": 4, - "voter": "0x9B1265f8C7c5Dc99c17F2C0d86240bF3C413AEf9", - "support": true, - "votingPower": 443.75608356078754, - "transactionHash": "0x8acb6ed8e7e4722baac2bfcd184807d3ab52541392b9899389063f50e1863688", - "timestamp": 1612740884, - "blockNumber": 11812317 - }, - { - "proposalId": 4, - "voter": "0x9c5083dd4838E120Dbeac44C052179692Aa5dAC5", - "support": true, - "votingPower": 1119.3150471371562, - "transactionHash": "0xe9ca246c821f6bd75729f46061159742613db24da156f82e1defac1081e7d083", - "timestamp": 1612747961, - "blockNumber": 11812851 - }, - { - "proposalId": 4, - "voter": "0x4acf5Fcd324390F050A817EDd41cF1D60eDBb384", - "support": true, - "votingPower": 20, - "transactionHash": "0xbbc6d8d89f6728d799637c4d9535ac11edc639b0dcae38949b9184eafeb0b0ef", - "timestamp": 1612751761, - "blockNumber": 11813141 - }, - { - "proposalId": 4, - "voter": "0xd4fed193AfDa571bb2faB9d26fDE9eF8054a07dF", - "support": true, - "votingPower": 28.523904330370552, - "transactionHash": "0x5e66fbc99d495552c69b0b27136613736f0bbb3965a96354b541253646106c51", - "timestamp": 1612752186, - "blockNumber": 11813181 - }, - { - "proposalId": 4, - "voter": "0x111345BB905a23C7669B0437fEA270e0D182982A", - "support": true, - "votingPower": 2.2006629804757063, - "transactionHash": "0xc15d05d5d97be350fccdaa2847e071233c3850c27115e8cfff673c2485446050", - "timestamp": 1612758399, - "blockNumber": 11813632 - }, - { - "proposalId": 4, - "voter": "0x9B5ea8C719e29A5bd0959FaF79C9E5c8206d0499", - "support": true, - "votingPower": 129671.47087792464, - "transactionHash": "0xebd321706dbf3f790f904866eed6447ec19e611c021b5e20d1b50a4f2e16c7e7", - "timestamp": 1612771985, - "blockNumber": 11814638 - }, - { - "proposalId": 4, - "voter": "0xdD709cAE362972cb3B92DCeaD77127f7b8D58202", - "support": true, - "votingPower": 209398.9986980101, - "transactionHash": "0x5eb6454ab1db05bda3a2ce457ea00bfb2f02ce2c39c8abadcb22240f5c418a52", - "timestamp": 1612773662, - "blockNumber": 11814750 - }, - { - "proposalId": 4, - "voter": "0xA3F09fCCe3E340E251e23263B15d89623564b233", - "support": true, - "votingPower": 73621.20919493298, - "transactionHash": "0x2d79151ee2534932cb00ee6fe3696e0d6812b6ad95122a1306d66bf5e7924fa3", - "timestamp": 1612774897, - "blockNumber": 11814850 - }, - { - "proposalId": 4, - "voter": "0xC53a1B7da00e02Ef475283f303247A314c636175", - "support": true, - "votingPower": 99.99317956426337, - "transactionHash": "0x6fab9c1bef8e6df87bf7d808faef54995d9b20508f2659037d377f5308c068ef", - "timestamp": 1612781869, - "blockNumber": 11815413 - }, - { - "proposalId": 4, - "voter": "0xfA610F8304909a90B1760cF8B50CC1fDe6Ea1F5c", - "support": true, - "votingPower": 1325.3724643185294, - "transactionHash": "0x3c43d368ae420a6dd631711b45c8bb2a4770926e42016013274c810ff932cb08", - "timestamp": 1612787676, - "blockNumber": 11815842 - }, - { - "proposalId": 4, - "voter": "0x20d4C8144d734be6Ee669873D065BfDFA974cE47", - "support": true, - "votingPower": 14.95, - "transactionHash": "0x1fe69628b33e2c50be09ae508d837854b1bf83aad63447798f729490655705ff", - "timestamp": 1612791833, - "blockNumber": 11816122 - }, - { - "proposalId": 4, - "voter": "0x5B60117255df27FDD885629c0210D9DD975fF975", - "support": false, - "votingPower": 2519.079274439219, - "transactionHash": "0xf5bea22ed42febe18148dc82ea6350828b1ae55696cbef91267934f8628d1b69", - "timestamp": 1612800000, - "blockNumber": 11816753 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 5, - "voter": "0x8f99B0b48b23908Da9f727B5083052d5099e6aea", - "support": true, - "votingPower": 11.35758, - "transactionHash": "0x96e516877a955ad058e6a829d49ce9fec1688e6e66be781d21648d2267a960a7", - "timestamp": 1612983509, - "blockNumber": 11830534 - }, - { - "proposalId": 5, - "voter": "0x31cd147A8296Ee028cB48c86EA0B0fb76CB9e20B", - "support": true, - "votingPower": 72.22583464308121, - "transactionHash": "0x1bd681a4ce87c5f515aa954df557a02b643023b3544021a9ca139e736ee59c97", - "timestamp": 1612985932, - "blockNumber": 11830699 - }, - { - "proposalId": 5, - "voter": "0x3E0a5FdE01ab05186F7808B3aE0cFDbcf844d3Ae", - "support": true, - "votingPower": 2.673902047493064, - "transactionHash": "0xefda4030c848c14e2326991d0d4cbd0aecec33866b806ceaafa6687773f19351", - "timestamp": 1612986075, - "blockNumber": 11830710 - }, - { - "proposalId": 5, - "voter": "0x60015a9010243425172182b00e35F689ED4d887a", - "support": true, - "votingPower": 3970.096280361808, - "transactionHash": "0x0529616e8cdccf4a7d12f0e818e49012bf471d029da4e08382ce0f83bb874456", - "timestamp": 1612986094, - "blockNumber": 11830713 - }, - { - "proposalId": 5, - "voter": "0x5BC928BF0DAb1e4A2ddd9e347b0F22e88026D76c", - "support": true, - "votingPower": 40465.020758, - "transactionHash": "0xccd7bd906f9342032b125fb4c73a0f8dc5a962b22fc8197e62c5add7e6fd493f", - "timestamp": 1612986158, - "blockNumber": 11830718 - }, - { - "proposalId": 5, - "voter": "0x21d05071cA08593e13cd3aFD0b4869537e015C92", - "support": true, - "votingPower": 19165.027031616508, - "transactionHash": "0xbdc07ce952872e3435528de99ed7de90a78f41feed33cedb13991507536c686f", - "timestamp": 1612986360, - "blockNumber": 11830740 - }, - { - "proposalId": 5, - "voter": "0x961f4A36510cbB4ee58EE8FEaf65DC7E36A8e892", - "support": true, - "votingPower": 0, - "transactionHash": "0x759fa9222ec6a066d92b1798156c779db42863d73e460a9dd0fbc54575f1fce3", - "timestamp": 1612986637, - "blockNumber": 11830762 - }, - { - "proposalId": 5, - "voter": "0x544F28b77DAaFbB92AC35e5922EbEde6113aD443", - "support": true, - "votingPower": 100.55928960149666, - "transactionHash": "0x92b953ff0bb71401692eed90d65f9ed50fe0b38a5517c33a54fb7113072bc7d1", - "timestamp": 1612987568, - "blockNumber": 11830833 - }, - { - "proposalId": 5, - "voter": "0xDf33f4e48FA2318204FbD5E99d1141950429bB49", - "support": true, - "votingPower": 161.00194372278688, - "transactionHash": "0x44448685d34d24d962a682e789de55137684b691e96b3df318838aa1b848b903", - "timestamp": 1612987883, - "blockNumber": 11830861 - }, - { - "proposalId": 5, - "voter": "0xcedF17Dfafa947Cd0E205Fe2A3a183Cf2FB3a0BC", - "support": true, - "votingPower": 873.6916865732834, - "transactionHash": "0x466b8c6bd6c60dfb3088847a555df3e909c266314386ee0dc9a5f593e08cd866", - "timestamp": 1612989861, - "blockNumber": 11830985 - }, - { - "proposalId": 5, - "voter": "0xd40e76b03267104C1BB1f240027d64B38d02c6fB", - "support": true, - "votingPower": 33.71838074, - "transactionHash": "0xfbedbdb016fca9619638faf8c6dd1724d8c73e3df8eaf453e1204ed494e69ab4", - "timestamp": 1612991036, - "blockNumber": 11831096 - }, - { - "proposalId": 5, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 1179.2290571486226, - "transactionHash": "0xfffc108fa7717adaa4ae22f51c1b85840708869c5fd3a8a171d53ca58112468e", - "timestamp": 1612992921, - "blockNumber": 11831248 - }, - { - "proposalId": 5, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 1311.0033159237837, - "transactionHash": "0x35628d7a5047bac2180335144a22879824f5dcf8e34cf9ba0f8123305341f23a", - "timestamp": 1612993471, - "blockNumber": 11831309 - }, - { - "proposalId": 5, - "voter": "0x8660FC66cF3E06d86e8013c3b6BE5592A5FA916a", - "support": true, - "votingPower": 30.596138031079068, - "transactionHash": "0x1ada3bb58b2010c6301d4925669a5831ac4e3460ec9fa8ccb67868cc08ab8f0c", - "timestamp": 1612995537, - "blockNumber": 11831477 - }, - { - "proposalId": 5, - "voter": "0x6B8C52e254Dd8d26a89255E32a0e95a4d7a9cF7E", - "support": true, - "votingPower": 6.27286711, - "transactionHash": "0x80d7f03d9f93d0bbac21e0c2941096c48ddcfb16a9fad5e5d876d10539ea0f96", - "timestamp": 1612997216, - "blockNumber": 11831600 - }, - { - "proposalId": 5, - "voter": "0xE80993295Bb740187CDA01DEde6d8831d6754a24", - "support": true, - "votingPower": 102.97686, - "transactionHash": "0x4149709f6ee2e87b42a59e11eaafb360a4ee3a9101a3900059047f54c2efdeaa", - "timestamp": 1612999199, - "blockNumber": 11831731 - }, - { - "proposalId": 5, - "voter": "0x97ca60A08b2d2c38F14AB18fCA6d77457DdA0eAe", - "support": false, - "votingPower": 0, - "transactionHash": "0xe401356497dcb5b85803938dce2bb91d1232043caf1e536ff4c5304766a77824", - "timestamp": 1612999452, - "blockNumber": 11831751 - }, - { - "proposalId": 5, - "voter": "0x09641015fB8b08388A7367b946e634d37DDdfFaa", - "support": true, - "votingPower": 78.28844559955638, - "transactionHash": "0xd534f0a7984f8e7f937d4288e5f6c8b868122fb1d351db50b5cd04d47f8b9cd3", - "timestamp": 1612999894, - "blockNumber": 11831784 - }, - { - "proposalId": 5, - "voter": "0x82DCfF3c5F3CD89eEe6887cA817A92289A73B7B8", - "support": true, - "votingPower": 0, - "transactionHash": "0x4e29c0ea566839c461500dfaa3996eb6380d9479051094b3deb10c82a128095a", - "timestamp": 1613003888, - "blockNumber": 11832095 - }, - { - "proposalId": 5, - "voter": "0x6bac48867BC94Ff20B4C62b21d484a44D04d342C", - "support": true, - "votingPower": 20.99885398530856, - "transactionHash": "0x2d36a9f58007689a69dcc9f87b1b62b554c3fe32018fc0b194a3321db0137003", - "timestamp": 1613008723, - "blockNumber": 11832419 - }, - { - "proposalId": 5, - "voter": "0x374FCF2358549EeE84b564ddfF9497e2887Eb0Ef", - "support": true, - "votingPower": 4.20444846, - "transactionHash": "0x17cfe0b059d1ca905a18657bb9d4008b7bc4068c82e4f1e45897d63cee51b962", - "timestamp": 1613009646, - "blockNumber": 11832497 - }, - { - "proposalId": 5, - "voter": "0xb1D285c49054c7B4D24228Ad3dd3d9a0796e2d16", - "support": true, - "votingPower": 325.73643241862055, - "transactionHash": "0x3004b1d5d716c89c09140e41055cf3a89ab2571b7de69732823b9d28c2c8f86b", - "timestamp": 1613009817, - "blockNumber": 11832515 - }, - { - "proposalId": 5, - "voter": "0xA61D14017057983f6f3b2101B15B48300C961c01", - "support": true, - "votingPower": 100.00407771, - "transactionHash": "0xa4a965e7ab2a6aba215dde53496b3a8bbdd78b260e49340c243afd6c57ec2694", - "timestamp": 1613014419, - "blockNumber": 11832862 - }, - { - "proposalId": 5, - "voter": "0x5ce259AEDcD14038aD2c35Ecaa7B6b2974d339AC", - "support": true, - "votingPower": 134.447815, - "transactionHash": "0x1e52e1352762dc4237d7c0036fb5ebc332230f2512cb54eacfd17f018fd3acde", - "timestamp": 1613016671, - "blockNumber": 11833042 - }, - { - "proposalId": 5, - "voter": "0x5993BabE0fc029E1dE368Ed3C831F0Dbb914B010", - "support": true, - "votingPower": 44.37478250512922, - "transactionHash": "0xae028dd90745d872643d6e011a35ec9e569ec462598ab07b2e1e9a3500634525", - "timestamp": 1613016679, - "blockNumber": 11833043 - }, - { - "proposalId": 5, - "voter": "0x1F766D64ccB4b7e63A6cF347C5FF859A8697F6dD", - "support": true, - "votingPower": 65.02994104243376, - "transactionHash": "0x76c6e881f1124b81efc6f46e6944e8003388aa9cdb5cb1c4fa7c4ad4f92eaa85", - "timestamp": 1613017819, - "blockNumber": 11833143 - }, - { - "proposalId": 5, - "voter": "0x82Bb6B5e92E1143fC03ee468a7Ba9Df8e955f7c2", - "support": true, - "votingPower": 250.83020705188136, - "transactionHash": "0x48a86c83c846777ce6a7331e6439f0f1ad7f08dfa2c2c4eacdf290f7eff23243", - "timestamp": 1613021184, - "blockNumber": 11833369 - }, - { - "proposalId": 5, - "voter": "0x9B5ea8C719e29A5bd0959FaF79C9E5c8206d0499", - "support": true, - "votingPower": 129671.47087792464, - "transactionHash": "0x3eef320dd1033215bc00a7573631c1a8e25adca2b331ebc4d0730c4050a93eb7", - "timestamp": 1613021184, - "blockNumber": 11833369 - }, - { - "proposalId": 5, - "voter": "0xaBe780bDc3872B4DEC16bD44B2bB999f9151aE28", - "support": true, - "votingPower": 72.08517059285495, - "transactionHash": "0xd42ac976bc56c6fb1802611e7521435e7678382a8d3a6a94d3b400ec9750ab58", - "timestamp": 1613021279, - "blockNumber": 11833381 - }, - { - "proposalId": 5, - "voter": "0xdD709cAE362972cb3B92DCeaD77127f7b8D58202", - "support": true, - "votingPower": 210105.49496351415, - "transactionHash": "0x6216794e268addff05d8d7f9dabd49b34b0d2f68234bf39b2408f365b0b9e5a4", - "timestamp": 1613021759, - "blockNumber": 11833413 - }, - { - "proposalId": 5, - "voter": "0xA36bC7a60d3A6F8a64e06dE99650cF6EE3d3df9f", - "support": true, - "votingPower": 267.3812123427433, - "transactionHash": "0x750594f8dd9f2f901a74e1e85e290d68872595bb57912843c782b8a42689e0cb", - "timestamp": 1613026420, - "blockNumber": 11833752 - }, - { - "proposalId": 5, - "voter": "0xF72a2caA677B90b0ae449aF1318F1B80344ae97c", - "support": true, - "votingPower": 100.00186281446095, - "transactionHash": "0xa396d7cd60680643b5dae75fd2571c8db6258d9ec5ef6d7fb2e46030acef2ac9", - "timestamp": 1613028381, - "blockNumber": 11833889 - }, - { - "proposalId": 5, - "voter": "0x780432EABDa6F7DB5742149d3915605f9049fE3f", - "support": true, - "votingPower": 0, - "transactionHash": "0xc18f8f9ed3c85d6206cabbc0bf6ea5c70e1ab1b3695373ff964c4762c8d5932c", - "timestamp": 1613030478, - "blockNumber": 11834072 - }, - { - "proposalId": 5, - "voter": "0x5765cd5481Cb150Dc406cD8c89BEE5BFF5566C7F", - "support": true, - "votingPower": 31.88134694715834, - "transactionHash": "0xe9a46279bc4824fdb3038b7d21b69a01fffe7905af136a5174e76a11dc73d98b", - "timestamp": 1613034524, - "blockNumber": 11834353 - }, - { - "proposalId": 5, - "voter": "0x44e59F7c598644A68975eF41Fed052362C4c8ed3", - "support": true, - "votingPower": 4180.786338568417, - "transactionHash": "0xa7b8e35dd700010b3b1fa1d794f5534199d7d9b5953cd13d9cef759404ebfb29", - "timestamp": 1613042121, - "blockNumber": 11834935 - }, - { - "proposalId": 5, - "voter": "0xD7e9e8125ff53CbE8E05779d5001c6aC246C6E0b", - "support": true, - "votingPower": 6.04984371, - "transactionHash": "0x0ba4a259d6dfc53ec68c766e6c48991674643dedd26b20c6d20fcae137d36455", - "timestamp": 1613045752, - "blockNumber": 11835195 - }, - { - "proposalId": 5, - "voter": "0x008B1FFe244bF31896C833bFf4Ad9009E7A0f4Eb", - "support": true, - "votingPower": 1025.4318084526085, - "transactionHash": "0x3ab44c1ca908c090f6b81d4b0748778d18737c63c21e70b1e460ceeb254d4502", - "timestamp": 1613056946, - "blockNumber": 11836076 - }, - { - "proposalId": 5, - "voter": "0xf8b316e1dCBD6427f3c5717d88ce7867f05fc82c", - "support": true, - "votingPower": 102.54176237335425, - "transactionHash": "0x42d1252d8ab5c7d0a896ad4b9d43976e857b913ff306db9b6f9d02c2714573cc", - "timestamp": 1613060947, - "blockNumber": 11836353 - }, - { - "proposalId": 5, - "voter": "0x06F5FaA151D0Bfb8414DB02f0e66232D8197d9B8", - "support": true, - "votingPower": 0, - "transactionHash": "0xd1b937b6208f3da67237f889a4911a5b2edea73d493c4bf877b8d5a24e0b3929", - "timestamp": 1613063090, - "blockNumber": 11836518 - }, - { - "proposalId": 5, - "voter": "0x19Ac2C2f5C300286a069ED5f1247A9544338a2CD", - "support": true, - "votingPower": 2869.1671943999336, - "transactionHash": "0x774e78bd0ad026b8530c8c942986bb0bce8b4552706f102b5706614004d71dd3", - "timestamp": 1613065736, - "blockNumber": 11836714 - }, - { - "proposalId": 5, - "voter": "0x94A468FCB53A043Bf5Cd95EF21892E02C71134Be", - "support": true, - "votingPower": 24.999997322768778, - "transactionHash": "0xa2d78205708a985a77f492b0af321288129d3cc77cf3fb3c10b02424887a421b", - "timestamp": 1613069138, - "blockNumber": 11836971 - }, - { - "proposalId": 5, - "voter": "0x598Dbe6738E0AcA4eAbc22feD2Ac737dbd13Fb8F", - "support": true, - "votingPower": 0, - "transactionHash": "0xae58a613ce4164db6353d17ddfd7e9857eb7ce61fd6155cacfb55d638c30e8b0", - "timestamp": 1613070246, - "blockNumber": 11837054 - }, - { - "proposalId": 5, - "voter": "0x75f03bCF0E56b7DE72Ed26585caEE949F0D5Bf1a", - "support": true, - "votingPower": 0.021647401835483207, - "transactionHash": "0xf6c42312465ffa71fe3ab89f436243f0331d4c4588b7ae73665d8e800a226fde", - "timestamp": 1613091226, - "blockNumber": 11838709 - }, - { - "proposalId": 5, - "voter": "0x21b98f5698FD33d9cB58f6aB8d5ec58E803FCba2", - "support": true, - "votingPower": 299.7881, - "transactionHash": "0xedef7a3df10c8f3543997a94bbbc34ffe3356de22430a559f9957a6f137fa400", - "timestamp": 1613100266, - "blockNumber": 11839363 - }, - { - "proposalId": 5, - "voter": "0x67D2a624Ba2d75861693C5ed746C15687a9148D2", - "support": true, - "votingPower": 4.534, - "transactionHash": "0xbf69d5da3c5800e43d17a45e63a383f55b3511c08d114c16e4f9b907be6b762a", - "timestamp": 1613103091, - "blockNumber": 11839567 - }, - { - "proposalId": 5, - "voter": "0x1cB9EDF191a4F59188a02C78b5e52fccc3437aC0", - "support": true, - "votingPower": 0, - "transactionHash": "0x55115379e597de259a60ce1e143ac6d3c29cd7cb098e99d8cee7dc8910417153", - "timestamp": 1613108509, - "blockNumber": 11839960 - }, - { - "proposalId": 5, - "voter": "0x57aB3e2d8d7556aBc40191b374e03a1842fc0d53", - "support": true, - "votingPower": 8.2, - "transactionHash": "0x05d74b8220c07d8203535c3e40fab218783fc1e9dcf9671cb2f002a2fd74595d", - "timestamp": 1613127602, - "blockNumber": 11841384 - }, - { - "proposalId": 5, - "voter": "0x0154d25120Ed20A516fE43991702e7463c5A6F6e", - "support": true, - "votingPower": 6708.640615461733, - "transactionHash": "0xc7bff7b0644681aa532aeb1cf138aaad23223199ec715f9fa6df9b8765da38be", - "timestamp": 1613162618, - "blockNumber": 11844087 - }, - { - "proposalId": 5, - "voter": "0xF4F56fA0D045ae0e6Ba8f82e2C32887FE0B152Ea", - "support": true, - "votingPower": 250.6360144880205, - "transactionHash": "0x98c909cc4034f87ba1494c5d5d5a7c771f54eba90a481864f257fa4f49915b8d", - "timestamp": 1613169048, - "blockNumber": 11844600 - }, - { - "proposalId": 5, - "voter": "0xB018AC399491B9320A456ad0e696D2032b6bADD3", - "support": true, - "votingPower": 0.96014863, - "transactionHash": "0x048d89d11bc745b97cc38e58f02ce769abca7be8f68c13357cd194f28d4b3df5", - "timestamp": 1613169609, - "blockNumber": 11844646 - }, - { - "proposalId": 5, - "voter": "0xED5aE54d8f39486605e664C7a55dD0aa0EBCe14B", - "support": true, - "votingPower": 33.10881, - "transactionHash": "0x4cd027facfc4c9bff00d599289a169171d9b03fa411f61e2ea8deb6595154bc3", - "timestamp": 1613179725, - "blockNumber": 11845364 - }, - { - "proposalId": 5, - "voter": "0x82b8b659A4A98f69cB7899e1A07089EA3B90a894", - "support": true, - "votingPower": 75.02387691985514, - "transactionHash": "0xb6a22d4c9432e9ed2341a44c6810cbc3ef934ee217559133a206a3b731ebbb80", - "timestamp": 1613191772, - "blockNumber": 11846284 - }, - { - "proposalId": 5, - "voter": "0xC53a1B7da00e02Ef475283f303247A314c636175", - "support": true, - "votingPower": 99.99317956426337, - "transactionHash": "0x04ba1e0fc0465d2aee162173461f372056c9e37b9f9f06eaeb6ed278b543d6da", - "timestamp": 1613199275, - "blockNumber": 11846812 - }, - { - "proposalId": 5, - "voter": "0x13FAC72c2399A8F4650407E4f1b6f989346b6bEB", - "support": true, - "votingPower": 2.30213718, - "transactionHash": "0x63a872f0c7d26e5a059f9ba352822714f6883473b3f548377198f778bef9f73c", - "timestamp": 1613206302, - "blockNumber": 11847296 - }, - { - "proposalId": 5, - "voter": "0x04ADA96a5c5A1FDf7E315F14aeB2CE9EB61efb5E", - "support": true, - "votingPower": 150.75430619369163, - "transactionHash": "0x844437f1d852629f015c43bfc7d1ab40b96250e6df5575be41e8f69071fa2e80", - "timestamp": 1613236934, - "blockNumber": 11849626 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 6, - "voter": "0x07582f51171839586e42a46d4f68C70A5eb72F93", - "support": false, - "votingPower": 46.23755381301275, - "transactionHash": "0xab02acc50336e2e4fb680393d99ba51d07f85d0b4b6eb3cee985a2765564c4ed", - "timestamp": 1617398484, - "blockNumber": 12162525 - }, - { - "proposalId": 6, - "voter": "0x4f2FC90212e949fF4AA32DeF570744163671F22B", - "support": true, - "votingPower": 162.64599086353516, - "transactionHash": "0x7ff65a7b74e680bf616e82c9c7c7380ff7075602353948e674ec20303db8c38c", - "timestamp": 1617401015, - "blockNumber": 12162725 - }, - { - "proposalId": 6, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 11634.139301448047, - "transactionHash": "0xe6c3a29ed732d990195011e73b12986af8528b3f8033e4b6dd02955c3bb80489", - "timestamp": 1617406902, - "blockNumber": 12163131 - }, - { - "proposalId": 6, - "voter": "0x7bf1b494Bc101F1Aa422064804069d205b73163b", - "support": true, - "votingPower": 2200.83, - "transactionHash": "0x0cdd60bbcdf372d7b6805cade835e3a3f70d4dfbd9f528c8d3e2d51fe9de4fe9", - "timestamp": 1617407091, - "blockNumber": 12163149 - }, - { - "proposalId": 6, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 16892.118294174023, - "transactionHash": "0xf20adde4effe79a5340fa1617e85bd588def1dd0b22d950373d31f03cbea6762", - "timestamp": 1617407122, - "blockNumber": 12163151 - }, - { - "proposalId": 6, - "voter": "0x27ADFbDb9A913fFDf886b4f76eca80AB8f189beF", - "support": true, - "votingPower": 6.316719188827172, - "transactionHash": "0xc8f009d53b4b8a7769b823e08324589a71203481ae8b2b2520fa525c4ea74708", - "timestamp": 1617409194, - "blockNumber": 12163307 - }, - { - "proposalId": 6, - "voter": "0xBFa5846290129b3c56376D023EDBf2593C0708D4", - "support": true, - "votingPower": 1.413268191046831, - "transactionHash": "0x969deca4b73d731ae4408219edd81e6eb17016c0432736af99623727e0d5bc1a", - "timestamp": 1617411000, - "blockNumber": 12163438 - }, - { - "proposalId": 6, - "voter": "0x07DA04C2e5F3c3675425302B7B027A2ded9efcf1", - "support": true, - "votingPower": 5.921, - "transactionHash": "0xd3aeaa54cfa24fab4e31f4e11f36c86085bb115389cee1d73f73c3cba91cbdeb", - "timestamp": 1617416983, - "blockNumber": 12163909 - }, - { - "proposalId": 6, - "voter": "0xa21dF89c3F7375EbE7381cC858e0AA0B7c83AEe0", - "support": true, - "votingPower": 0.09519427, - "transactionHash": "0xce288094410fc03174b176a1ba22416bdbc32aa069e6f30fd47e8f3ad700e806", - "timestamp": 1617422148, - "blockNumber": 12164328 - }, - { - "proposalId": 6, - "voter": "0x9fc1ca176d6DDeA94C4b9bFE8af6d28f5795b305", - "support": true, - "votingPower": 24.362719782137095, - "transactionHash": "0x39317214c3f4e8354def89fab67a37dede66fe9fb9d2c61c37898910e94681c1", - "timestamp": 1617422247, - "blockNumber": 12164336 - }, - { - "proposalId": 6, - "voter": "0xA3F09fCCe3E340E251e23263B15d89623564b233", - "support": true, - "votingPower": 63621.20919493298, - "transactionHash": "0xa63ed4e683008ac90666ad14f47d89dd3a0eeda1da07cb105990c099ce714d09", - "timestamp": 1617444314, - "blockNumber": 12165955 - }, - { - "proposalId": 6, - "voter": "0xEbC38A4C7e2C804088eFD568058Ed13713E7c6A3", - "support": true, - "votingPower": 27.76588, - "transactionHash": "0xa71a46b8cfdc20606fdceb5d414bad86997b5487adc9356e62c9f0f30f5cfaf0", - "timestamp": 1617445289, - "blockNumber": 12166031 - }, - { - "proposalId": 6, - "voter": "0xC02bFC8c96477d82Ae78d3212b802C4bfC820F90", - "support": true, - "votingPower": 18.4, - "transactionHash": "0x0c7bcb6b0e277da8f694481ba95d9d6d37aab0091213a56e737b7cc6ee10fc7c", - "timestamp": 1617452291, - "blockNumber": 12166545 - }, - { - "proposalId": 6, - "voter": "0xC248F9b1451067d8C55296f256B51A25D5B7aBd6", - "support": true, - "votingPower": 37, - "transactionHash": "0x50a596c7c1161697fcffc6fbe84831f4707072c233923f2d79a50130741327ae", - "timestamp": 1617452740, - "blockNumber": 12166580 - }, - { - "proposalId": 6, - "voter": "0x11B1785D9Ac81480c03210e89F1508c8c115888E", - "support": true, - "votingPower": 2.415753663729968, - "transactionHash": "0xa4c7a36259c55f3766f701f7353565cb4f6b7180fb94ef96e97ea24d6722c96c", - "timestamp": 1617460652, - "blockNumber": 12167174 - }, - { - "proposalId": 6, - "voter": "0xdE8F8849579F06a30C0dd3ae3d5408EbDaAaBCF7", - "support": true, - "votingPower": 45.367165139660365, - "transactionHash": "0xfcea0eb29da9ac9844ec9531e2e2574d9cc07c8150df1f8555f6fa4c874880a6", - "timestamp": 1617463770, - "blockNumber": 12167418 - }, - { - "proposalId": 6, - "voter": "0x45312c391cCa9236cfbe90b91875CEAe625fBBE3", - "support": true, - "votingPower": 49.97940137132181, - "transactionHash": "0xcb8fe8130524afaeba140b246f26e2ff5e14b063d02a45236836a3dbdc4755a9", - "timestamp": 1617464318, - "blockNumber": 12167454 - }, - { - "proposalId": 6, - "voter": "0xd29F3eb4760EFdE9a7FD508a564d9F9E338D1e5f", - "support": true, - "votingPower": 1007.1608105178792, - "transactionHash": "0xadbf7b2e9495209cfdbb2c02aff3889545f6c716bc0c32924f2b7d8804a80255", - "timestamp": 1617472439, - "blockNumber": 12168070 - }, - { - "proposalId": 6, - "voter": "0xfFCC886D4A19a3283DF6f73EDb8351b290C984aE", - "support": true, - "votingPower": 2.0864003846, - "transactionHash": "0x0c394f8929f90c1ff969a653f850468da3974672e85968499bf839f8201f218c", - "timestamp": 1617479445, - "blockNumber": 12168610 - }, - { - "proposalId": 6, - "voter": "0x8d07D225a769b7Af3A923481E1FdF49180e6A265", - "support": true, - "votingPower": 50, - "transactionHash": "0x9acbeec029a6dfb1c952918cebdb44fa03fc7ececde7f4b194119b7f8f8e8599", - "timestamp": 1617481273, - "blockNumber": 12168746 - }, - { - "proposalId": 6, - "voter": "0xCed2f0dcb70757339F7072A3ffA08a4A73497435", - "support": true, - "votingPower": 3.5, - "transactionHash": "0xe9443ee44c3f8778962c6746350d84c1e7edba243c3fa9ec397649aa8126e48a", - "timestamp": 1617482054, - "blockNumber": 12168806 - }, - { - "proposalId": 6, - "voter": "0xC17905420D885c1967C9bbAE432A518480f58Cca", - "support": false, - "votingPower": 251.00008425744988, - "transactionHash": "0xfca0d06976ecb85c92bbada8cd272661e43ee9315c6c513efce8102de9542a08", - "timestamp": 1617488398, - "blockNumber": 12169267 - }, - { - "proposalId": 6, - "voter": "0x82Bb6B5e92E1143fC03ee468a7Ba9Df8e955f7c2", - "support": false, - "votingPower": 250.83020705188136, - "transactionHash": "0xdfe0d375f0cc1f94b78a20cfe87eaabf16f0c988afa2a0bdd9008d0a797c1f87", - "timestamp": 1617488549, - "blockNumber": 12169275 - }, - { - "proposalId": 6, - "voter": "0x47C125DEe6898b6CB2379bCBaFC823Ff3f614770", - "support": true, - "votingPower": 8251.770788511132, - "transactionHash": "0x520e63f153626411119ce1175407fe90b5fec2e561b6287c2a8592577c41b0f1", - "timestamp": 1617489076, - "blockNumber": 12169318 - }, - { - "proposalId": 6, - "voter": "0x60015a9010243425172182b00e35F689ED4d887a", - "support": true, - "votingPower": 3137.7696025075566, - "transactionHash": "0x0de3c03f1d395be5685b95e04c4e6d11ce8ca18cf21b0f8d892b132f01e48e2d", - "timestamp": 1617490273, - "blockNumber": 12169424 - }, - { - "proposalId": 6, - "voter": "0xC105A696ECC97ab7d6655Bf0E16d03f8BA9fb536", - "support": true, - "votingPower": 65.35451423133867, - "transactionHash": "0x98389c71f517a9aaea62bc338b0c680621251b7ee3efcc2f4cf56ae453bb0653", - "timestamp": 1617492021, - "blockNumber": 12169551 - }, - { - "proposalId": 6, - "voter": "0xAD549C7fcF1bd3E57BCa464D9Dce0A0D561599D1", - "support": true, - "votingPower": 43.718003293475654, - "transactionHash": "0x58dbe9dd254eff1525e3b730cc515c5542bd4f5a7406b5cc89d7217b828be63e", - "timestamp": 1617492206, - "blockNumber": 12169567 - }, - { - "proposalId": 6, - "voter": "0xF569914d4E46cBD6A91fDE6c8850a079604A271b", - "support": true, - "votingPower": 1147.3608898102448, - "transactionHash": "0x114bd470e8433d9acc75e1875ebadca43feb5006d136a45a8171845064108088", - "timestamp": 1617493252, - "blockNumber": 12169659 - }, - { - "proposalId": 6, - "voter": "0x8dB7147b554B739058E74C01042d2aEA44505E2F", - "support": true, - "votingPower": 48.74578624692042, - "transactionHash": "0xb604ac647477493b27d49190f1c2c2aa4103a3ca247428354ea35632f79e12ef", - "timestamp": 1617497679, - "blockNumber": 12170000 - }, - { - "proposalId": 6, - "voter": "0xc0C9ce1555228e7005DDFB4cb9D4780e5485af7a", - "support": true, - "votingPower": 32.498004040384764, - "transactionHash": "0xb52a772ed0fb09b1719bc8d0505967775bf477a10c930e486f3a0820f16769f3", - "timestamp": 1617501181, - "blockNumber": 12170260 - }, - { - "proposalId": 6, - "voter": "0xB6cA5D1Ed0cA4bf8444C9dEE2D068a9F4C5e2e92", - "support": true, - "votingPower": 144.23045799396846, - "transactionHash": "0x70148c2d81276ae2b1402821c5fccf23c56ee8a5d1b8a28a52387370200370f8", - "timestamp": 1617504827, - "blockNumber": 12170525 - }, - { - "proposalId": 6, - "voter": "0xf7Eab72Ee14daD3DFEf597420F669c25B39f938C", - "support": true, - "votingPower": 1000.0002701068473, - "transactionHash": "0xc58964b526677e2f5d4ee2d5814a27027719264465b6777aa05fb59cb1322aa0", - "timestamp": 1617508234, - "blockNumber": 12170787 - }, - { - "proposalId": 6, - "voter": "0x8A95E67ba082fc397447663c7C4C0bF8d92f6398", - "support": true, - "votingPower": 18.932905166170528, - "transactionHash": "0x02b09be93baadd42af16acab04e28123b64eb8733716654b7c77d4c7f016a83c", - "timestamp": 1617508395, - "blockNumber": 12170798 - }, - { - "proposalId": 6, - "voter": "0x5ce259AEDcD14038aD2c35Ecaa7B6b2974d339AC", - "support": true, - "votingPower": 136.18609371291475, - "transactionHash": "0x510a92040d40bc12f443d2e83efc9bb5ad1d68beb276c95e71d8d621535a935a", - "timestamp": 1617510581, - "blockNumber": 12170939 - }, - { - "proposalId": 6, - "voter": "0x54372e2b338C4bE299B75CB54D914822dB32A63F", - "support": true, - "votingPower": 0.1081, - "transactionHash": "0xb4fa43cec47131aabe9b52702dd338f2fd1681b6d5cc33b14de072f2e6b3e1a5", - "timestamp": 1617512456, - "blockNumber": 12171085 - }, - { - "proposalId": 6, - "voter": "0x246309FDB8543A41aaB0961C127623B9cDD90c29", - "support": true, - "votingPower": 4.33233241, - "transactionHash": "0xb4d978a767ef422842043ee95c2c9b7c1fe6ffeccdcccc955eda5b11ac326877", - "timestamp": 1617512471, - "blockNumber": 12171087 - }, - { - "proposalId": 6, - "voter": "0x9B5ea8C719e29A5bd0959FaF79C9E5c8206d0499", - "support": true, - "votingPower": 100671.47087792464, - "transactionHash": "0xfeb5b7e994384b9dffb119f8f5b0cf0f156faf34972dd0212a5fae71c9f9cdd9", - "timestamp": 1617513645, - "blockNumber": 12171174 - }, - { - "proposalId": 6, - "voter": "0xdD709cAE362972cb3B92DCeaD77127f7b8D58202", - "support": true, - "votingPower": 183518.6172600874, - "transactionHash": "0xa971a42446b5b7e0783231f85e9cb8f3e1fe5259959b24463b79b1db4d57ee19", - "timestamp": 1617514170, - "blockNumber": 12171221 - }, - { - "proposalId": 6, - "voter": "0x18b5BE29483b436b991A974098DA1832332B21D7", - "support": false, - "votingPower": 246.999, - "transactionHash": "0x71488b263f8055add74d2862f1eb7191ff98516c1d8578fe9fe082c038cd4ffc", - "timestamp": 1617517389, - "blockNumber": 12171474 - }, - { - "proposalId": 6, - "voter": "0x7c1fF689fc0700daA84B584E7913c2BC01eeec07", - "support": true, - "votingPower": 0.16, - "transactionHash": "0xc24351c97a5bf8ff08af65eb95d2ec8e7485ed861e1807549022d675f6581f12", - "timestamp": 1617518219, - "blockNumber": 12171533 - }, - { - "proposalId": 6, - "voter": "0x34B347cDd156D1E37029CaA42574b31fe157dB36", - "support": true, - "votingPower": 0.16, - "transactionHash": "0x00ecef125920cf4379aa998f7885907732f7b267522b729bad6aa278a64825ef", - "timestamp": 1617518253, - "blockNumber": 12171538 - }, - { - "proposalId": 6, - "voter": "0x918d832534e2c9Fa75A670Cc62A18D543A49599C", - "support": true, - "votingPower": 0.16, - "transactionHash": "0x5e50889d3f16156342b387c043ae2d784b6229c26dcf0f3add11e1b076ce5383", - "timestamp": 1617518391, - "blockNumber": 12171550 - }, - { - "proposalId": 6, - "voter": "0xB07E0ab74400F14fC12a4929887e539981450926", - "support": true, - "votingPower": 0.16, - "transactionHash": "0x2da1baa1e83a34ad4d7af568ac3cc5573524aaf53b76cd95dc85c46d9e514b08", - "timestamp": 1617518391, - "blockNumber": 12171550 - }, - { - "proposalId": 6, - "voter": "0x7a70FBe832e9F115B3ef300364D21f9835Ff4eDC", - "support": true, - "votingPower": 0.16, - "transactionHash": "0x30911ef9481e0488385208555c672e70ed387ca5a76a9b05bd005933d154644c", - "timestamp": 1617518391, - "blockNumber": 12171550 - }, - { - "proposalId": 6, - "voter": "0xbE5bE0A2886db739500bBd428bB8651EE1f2A0Ee", - "support": true, - "votingPower": 0.16, - "transactionHash": "0x674bf965e9e4289d446a36327fcd3a271a0359e266f7467f9a0749402b92ed4e", - "timestamp": 1617518391, - "blockNumber": 12171550 - }, - { - "proposalId": 6, - "voter": "0x5D3c5186546AA8Fc57058396F96826B956fcd4b5", - "support": true, - "votingPower": 0.16, - "transactionHash": "0x00501876daba0a335bdf0ce1b4ab389a91e5f30f6f6ba6c438e4fa6e1b837dfc", - "timestamp": 1617518391, - "blockNumber": 12171550 - }, - { - "proposalId": 6, - "voter": "0xbdeD39C3e246E70DE066d03466c78C6a01F6FEf2", - "support": true, - "votingPower": 0.16, - "transactionHash": "0x52b29d827ed8aa82fb996ad3070dcd40ced685359432498b46ca5230d4fd41dc", - "timestamp": 1617518391, - "blockNumber": 12171550 - }, - { - "proposalId": 6, - "voter": "0x1536E2790B4676F0696A8C28D6aE0AF0f13BcC9C", - "support": true, - "votingPower": 0.16, - "transactionHash": "0x0031033479da22ca4eb605aa997ecf020d04a12797e7ed051c0a37280e1af52a", - "timestamp": 1617518434, - "blockNumber": 12171555 - }, - { - "proposalId": 6, - "voter": "0xEa93Df286c449133Ad309ED47Df2631Bee7f2CEb", - "support": true, - "votingPower": 0.16, - "transactionHash": "0x053772c990eceac52c84d1223b44a90a2ad52244b485aa7e0818d8e1cf63b68a", - "timestamp": 1617518434, - "blockNumber": 12171555 - }, - { - "proposalId": 6, - "voter": "0x985640F4e391C3E2bffE13Fd7bE41DB234009801", - "support": true, - "votingPower": 0.16, - "transactionHash": "0xf7e2d6e3d1847b32980fd49f446b819b079dfbbdd96a9e7239b8631c9d541c5a", - "timestamp": 1617518434, - "blockNumber": 12171555 - }, - { - "proposalId": 6, - "voter": "0x5bbe129938d87C6c3E33D07525fc7c6BA3B8DaCE", - "support": true, - "votingPower": 0.16, - "transactionHash": "0x9fe2b86a090a68a613e75aa71797635a7b2fd143890493bf3438c7652d701248", - "timestamp": 1617518434, - "blockNumber": 12171555 - }, - { - "proposalId": 6, - "voter": "0xb8c8890405baf008652d372Ed374B04e8Dd50196", - "support": true, - "votingPower": 0.16, - "transactionHash": "0xd105fe154b71bdf433017e6a22cef69e81e01b06ed1f013dc893a4667691407d", - "timestamp": 1617518512, - "blockNumber": 12171561 - }, - { - "proposalId": 6, - "voter": "0xE69B52b65a3fC26bf68c75700E9afB15391d9dB5", - "support": true, - "votingPower": 0.16, - "transactionHash": "0xd399b1e4e3201659e56db80bea4349ed5223970ac95eb8130869ab54c233c9c4", - "timestamp": 1617518560, - "blockNumber": 12171565 - }, - { - "proposalId": 6, - "voter": "0xd7C5262C2565c1ec8Ba2b43164Eb3Bf20F09A408", - "support": true, - "votingPower": 0.16, - "transactionHash": "0xa39895688055d16a1940ce4459f13fe29f5ddfc2196d9b26c26fc1da78c099b7", - "timestamp": 1617518571, - "blockNumber": 12171566 - }, - { - "proposalId": 6, - "voter": "0xCEBaa7904eF686eff34D4C2fAF709D02c8e4c73c", - "support": true, - "votingPower": 0.16, - "transactionHash": "0x9642d6ccbd1e11439f7f1d7f0d172f8f52703fa628cf27f038d0be04035f6cc0", - "timestamp": 1617518571, - "blockNumber": 12171566 - }, - { - "proposalId": 6, - "voter": "0x2FB9B113ccC52080514555535d4334C5f63124f3", - "support": true, - "votingPower": 0.16, - "transactionHash": "0x5c114b6ebbac2cd79777c4d4192d9fb74bcd0d9fb2508ec8f38673530b197682", - "timestamp": 1617518571, - "blockNumber": 12171566 - }, - { - "proposalId": 6, - "voter": "0x5DADc379863FD015b37Ec68EBAEa53e785947387", - "support": true, - "votingPower": 0.16, - "transactionHash": "0x3391c2a3d90e91e95f52e94e374ab4c44ff250e18f7400b49c1b4af63d7f2e5b", - "timestamp": 1617518597, - "blockNumber": 12171568 - }, - { - "proposalId": 6, - "voter": "0x4eC1B3badA92a18Aa01e95C712Ed434B8d3D84EB", - "support": true, - "votingPower": 0.16, - "transactionHash": "0xda2665e6e554b912f7b540c1ea914134847510a1ca67c8d720a5b8f1b2a73187", - "timestamp": 1617518597, - "blockNumber": 12171568 - }, - { - "proposalId": 6, - "voter": "0x5C35CCA8b9A216DcA4d7d150d92606FBB833Bd58", - "support": true, - "votingPower": 0.16, - "transactionHash": "0xf96f42fa5a12d9f2a70313b85079552687fd8c8593cb58cd13c7d15b139c00ad", - "timestamp": 1617518598, - "blockNumber": 12171569 - }, - { - "proposalId": 6, - "voter": "0xE751D603315441969Aa06b98B0ecE6bC13d49a8E", - "support": true, - "votingPower": 0.16, - "transactionHash": "0x488b38a9f21de3e38bde5364063a18aa01d16f9e2ca66a9dfa269987abefefb3", - "timestamp": 1617518598, - "blockNumber": 12171569 - }, - { - "proposalId": 6, - "voter": "0xc77F9B9A4ECC0e3024149966852F76c5BD939181", - "support": true, - "votingPower": 0.16, - "transactionHash": "0xdd00bd0a4e63bcb660456db4427a46ca033ca974584c76104997faf5998b5aea", - "timestamp": 1617518622, - "blockNumber": 12171571 - }, - { - "proposalId": 6, - "voter": "0x2F54006bD81e53AB7cA440b23c30EBfED6Ff37eB", - "support": true, - "votingPower": 0.16, - "transactionHash": "0xf1184307f1201c083cb852a13737ce356027dcb90ee48fdc9d7f4865d69bea0f", - "timestamp": 1617518622, - "blockNumber": 12171571 - }, - { - "proposalId": 6, - "voter": "0x40173aF91e08a9E19551324EA6fc26B64DA55bBB", - "support": true, - "votingPower": 0.16, - "transactionHash": "0x8d21b49da13408efc830a7776c557b51e59fc9dec3f9d0f62fea974d52356e38", - "timestamp": 1617518694, - "blockNumber": 12171575 - }, - { - "proposalId": 6, - "voter": "0x96cF602EE3950B929FE7f02070a4257F691908b8", - "support": true, - "votingPower": 0.16, - "transactionHash": "0xbfedd7d91f51da5f14d3d93e86edd5876abe5c9ec59163e27c7fc030cdbc66f7", - "timestamp": 1617518709, - "blockNumber": 12171577 - }, - { - "proposalId": 6, - "voter": "0x07e9FA0295d42a5605434916810D66e47c097b4f", - "support": true, - "votingPower": 0.16, - "transactionHash": "0xadf4be104ff4d6e1585350f93e4744b5636793d846640e72b5a85e5f8d295736", - "timestamp": 1617518721, - "blockNumber": 12171578 - }, - { - "proposalId": 6, - "voter": "0x25b58229c6315e2023dD2D5ecB9c3E3841984088", - "support": true, - "votingPower": 0.16, - "transactionHash": "0xc9ab8001a3fe438f23429a4cfcc5c0b5b6fd61231970b7320481255a32b18571", - "timestamp": 1617518892, - "blockNumber": 12171587 - }, - { - "proposalId": 6, - "voter": "0x2D251b258EF5F05481c6fdFa49C8e7f595423046", - "support": true, - "votingPower": 0.16, - "transactionHash": "0x3a2ef585e0ae07811fd9609111a584139976dbd0f5e8c8ebf1c71816383a5970", - "timestamp": 1617518892, - "blockNumber": 12171587 - }, - { - "proposalId": 6, - "voter": "0x0B2Ff7879449f69bA0A58a5777B86B6DB7B52075", - "support": true, - "votingPower": 0.16, - "transactionHash": "0x560dc17ef1dfc2008c5c26651497fd0ba877fea070e1e45065b7befe45bda193", - "timestamp": 1617518892, - "blockNumber": 12171587 - }, - { - "proposalId": 6, - "voter": "0x8fa9909c48647D8FD9f48eC5A2445a98a5CbfFAA", - "support": true, - "votingPower": 0.16, - "transactionHash": "0xbd7e7f58cd53e21db157b2f9a862c7435612fc99470446ea797b7c83e3cbe286", - "timestamp": 1617518892, - "blockNumber": 12171587 - }, - { - "proposalId": 6, - "voter": "0x5d5d1c39F19C2E06295aE9e591c2dF28B1c8703C", - "support": true, - "votingPower": 0.16, - "transactionHash": "0x08f655705d02d6ae5bcae9774068437f7e843aada056888860e7c9539b313d79", - "timestamp": 1617518905, - "blockNumber": 12171589 - }, - { - "proposalId": 6, - "voter": "0xD3B608Dd6f10a84f5E4A1cEaB98dE44E61e1F095", - "support": true, - "votingPower": 0.16, - "transactionHash": "0xac86e3242fe1d2d7b8b0f25b76259f409392e28b1c57b2efac6db7b7d709e791", - "timestamp": 1617518912, - "blockNumber": 12171590 - }, - { - "proposalId": 6, - "voter": "0x06671EA37e5D6140F1cd8cd21608A2e2B9252E66", - "support": true, - "votingPower": 0.16, - "transactionHash": "0xcc9b65e552c55ca79d5b8e284048fa19efbb9f7f426c7bb5a9ccb27e91a147dc", - "timestamp": 1617518920, - "blockNumber": 12171591 - }, - { - "proposalId": 6, - "voter": "0xB4435a4C8b9D15BC0346c689A1D2C68Cd31f49d0", - "support": true, - "votingPower": 0.16, - "transactionHash": "0x5ea77c494ee6b1832eef303df8308584442887aeb874ea2d7ab6ecfb9e287f45", - "timestamp": 1617518920, - "blockNumber": 12171591 - }, - { - "proposalId": 6, - "voter": "0x420e0A208f66DC764742DB6BCD2734C1d4307a47", - "support": true, - "votingPower": 0.16, - "transactionHash": "0x53d39f0d94c469bb5284301b092125d68f206f7bca6152b92893b82c67ae5603", - "timestamp": 1617518920, - "blockNumber": 12171591 - }, - { - "proposalId": 6, - "voter": "0x7967C7967ADF1Ba0cb191166002083BE96CEe1A7", - "support": true, - "votingPower": 0.16, - "transactionHash": "0x8920f74ad283a07ea6fc7ff6f4989b948e94cc7ad6c49880803952cb92ccea00", - "timestamp": 1617518920, - "blockNumber": 12171591 - }, - { - "proposalId": 6, - "voter": "0x0C293C13AFE8B5509f33c04c174FF324B8543a38", - "support": true, - "votingPower": 0.16, - "transactionHash": "0x34d09ecbb6344fb140ea4acb6d93b8277b3ea6598c2ab1a8811257d1ad19a36c", - "timestamp": 1617518925, - "blockNumber": 12171592 - }, - { - "proposalId": 6, - "voter": "0x36AB12745fDe15b34a799282545e6c736734dF97", - "support": true, - "votingPower": 1.559948, - "transactionHash": "0x52b262f55339fcb6485cd2c88bdd11cc62620346f6426d63c8c2295b7ee556ec", - "timestamp": 1617518925, - "blockNumber": 12171592 - }, - { - "proposalId": 6, - "voter": "0x9c83eFF0644EfB4f74BED0519A2098f42E3d6df8", - "support": true, - "votingPower": 0.16, - "transactionHash": "0x86bbf0ee44741dea79a1f1f7c9fe37fa8a5dbeb369ab09c42715f4b2b1a9be72", - "timestamp": 1617518925, - "blockNumber": 12171592 - }, - { - "proposalId": 6, - "voter": "0x5b56BA3eeeA5A90b93B49b26d5921c32f2D4DDB9", - "support": true, - "votingPower": 0.16, - "transactionHash": "0x45ea91eb88a2d0db665b65e145dc2d7bf55e267978ac74c09694e9a38a955402", - "timestamp": 1617518934, - "blockNumber": 12171593 - }, - { - "proposalId": 6, - "voter": "0xBEF6061F174C547824Eaf5A1335E4FC76C5f956a", - "support": true, - "votingPower": 0.16, - "transactionHash": "0xc9c2098eadc4fb8fa701fd3953eaf8bc447079e16d0e78cb0bb573a018aad02a", - "timestamp": 1617518934, - "blockNumber": 12171593 - }, - { - "proposalId": 6, - "voter": "0x002eE33092457900515A4249e3eC1Cd2B2Dc8C32", - "support": true, - "votingPower": 10, - "transactionHash": "0xd360a77bed2f8ec20e46ace6975d955be16a11d63081aa80352d33409387b0db", - "timestamp": 1617528709, - "blockNumber": 12172326 - }, - { - "proposalId": 6, - "voter": "0x9A2a14835Bf43F8f6Dea84424D786F74146b7714", - "support": true, - "votingPower": 0.001879601727956187, - "transactionHash": "0x20a50d63e0a47d4f15fe5a78533b16c164208d23c7e4d2bb79a385d651c42619", - "timestamp": 1617529715, - "blockNumber": 12172396 - }, - { - "proposalId": 6, - "voter": "0xfA610F8304909a90B1760cF8B50CC1fDe6Ea1F5c", - "support": true, - "votingPower": 1412.0368195396156, - "transactionHash": "0xfb6e6aa2498819b9d941723ad55ec3d646beb24e662758642c4a667dbc2f4de8", - "timestamp": 1617531871, - "blockNumber": 12172543 - }, - { - "proposalId": 6, - "voter": "0x3E2016c227AC9c1B2eCd78CA96f390444F2C3893", - "support": true, - "votingPower": 364.4868105558892, - "transactionHash": "0xfebcf4bcae31dffdb4756aef97c15ebd303b22e83a0644b6bf4fd9bb4c61e3ca", - "timestamp": 1617534472, - "blockNumber": 12172729 - }, - { - "proposalId": 6, - "voter": "0x7C65f9b5Bc170d64d8a42238e57E36A9ea65391f", - "support": true, - "votingPower": 140.00049214817005, - "transactionHash": "0x99b55067bbd08dcbd0f5f3060865cd62f09e50821a02f0af6fb4cba38057918c", - "timestamp": 1617536796, - "blockNumber": 12172906 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 7, - "voter": "0xad91BaE71E4569eC5ff09BE170e223cc6B388AB0", - "support": true, - "votingPower": 150.04435418966423, - "transactionHash": "0x3ea372f2e3013c01808cc6eba9538d98c360f070cad760506f0e00892fc6f2ae", - "timestamp": 1617541071, - "blockNumber": 12173258 - }, - { - "proposalId": 7, - "voter": "0xDd78Aa83eB209D3A83330368DaffA80A393285A5", - "support": true, - "votingPower": 1, - "transactionHash": "0xbb7d16925a0765721f8f9911e7e6cce34095797d5c17cd786b66b29675957d50", - "timestamp": 1617542440, - "blockNumber": 12173348 - }, - { - "proposalId": 7, - "voter": "0x50662ef0f6883c967f92B982E9D2da1402C13ac1", - "support": true, - "votingPower": 500.4077368922132, - "transactionHash": "0x89d20f9fd8eb2d92772a193c72c6df2e944b36ab2d6c5731e22aaddde04005a2", - "timestamp": 1617544746, - "blockNumber": 12173518 - }, - { - "proposalId": 7, - "voter": "0x60015a9010243425172182b00e35F689ED4d887a", - "support": true, - "votingPower": 2137.7696025075566, - "transactionHash": "0x118d376fe9b2fe47af0dafb19696c39a01f662f436c2e6474be8fe0c3d2ab5ce", - "timestamp": 1617545320, - "blockNumber": 12173566 - }, - { - "proposalId": 7, - "voter": "0x43b3588856ac370a6C152EDb0B717C089915B9B0", - "support": true, - "votingPower": 25, - "transactionHash": "0x8b53f37eaf20e74b5fcbe37a5751cd9efcc121b46531e43d7bdbf9b2792288c2", - "timestamp": 1617549188, - "blockNumber": 12173866 - }, - { - "proposalId": 7, - "voter": "0x3B24Dde8eF6B02438490117985D9Cfa2EdCcf746", - "support": true, - "votingPower": 0.10411877, - "transactionHash": "0xe6ffb7c1c04450856564064356bc2a3b69f61c7dd6bfac05137c07161cfad3de", - "timestamp": 1617549302, - "blockNumber": 12173877 - }, - { - "proposalId": 7, - "voter": "0xF33dc87D01C7a1fA2EC09EE5FD94250a9D919E58", - "support": true, - "votingPower": 0.085, - "transactionHash": "0x4067cb8d9911e2d4340fd3e61f45cc28988b2aa8ab887b51a706d6060cb505cd", - "timestamp": 1617549357, - "blockNumber": 12173883 - }, - { - "proposalId": 7, - "voter": "0xe00e7d9fFcCf63EdDDB0c8f16E132C1756229487", - "support": true, - "votingPower": 0.085, - "transactionHash": "0xf00cbaecc950fb14a31f3c9b4f7f164f976b6a7f9e0ef69663bd46290863aa5d", - "timestamp": 1617549415, - "blockNumber": 12173888 - }, - { - "proposalId": 7, - "voter": "0xD53A2ada124a94baC0f20a0Fe8BA5Dbaf4Bb03A1", - "support": true, - "votingPower": 103.51168557319943, - "transactionHash": "0xca5fa29dbc5a73fa7d6474676d0e2f460a299486280ecaf8ebbe2c2f265f81ab", - "timestamp": 1617550095, - "blockNumber": 12173945 - }, - { - "proposalId": 7, - "voter": "0x7BFEe91193d9Df2Ac0bFe90191D40F23c773C060", - "support": true, - "votingPower": 657.0945986205753, - "transactionHash": "0x1ae6929006c3d64d44718dba6716caa5e89bc523a8862da722525d52285c719d", - "timestamp": 1617550714, - "blockNumber": 12173993 - }, - { - "proposalId": 7, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 14755.154426359972, - "transactionHash": "0x130de5d88ff3011d35f9d1c2a5f33daabd25973ac3ee7ba62ffb253eb90ff0e4", - "timestamp": 1617554825, - "blockNumber": 12174307 - }, - { - "proposalId": 7, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 19836.072487240814, - "transactionHash": "0x8b9eef780d0d32d1c3f6d1ead12ccd0d2aa01a74cd1d79b2155b405d87ae9409", - "timestamp": 1617555119, - "blockNumber": 12174328 - }, - { - "proposalId": 7, - "voter": "0x5444C3377842568E5cCd77Df6F8b26C2c2eF3878", - "support": true, - "votingPower": 0.03, - "transactionHash": "0xbdca2765a65d217ee3a18203d8847f65800e81e8545ca469b5da8f27629f18da", - "timestamp": 1617555133, - "blockNumber": 12174330 - }, - { - "proposalId": 7, - "voter": "0x125Fc6975d432C792356965B9d401C03469cf4Eb", - "support": true, - "votingPower": 45.063158577450785, - "transactionHash": "0x733a22e1aa7f9495dd12a8415d19f9a794bc56d9bea615c777994e2c418b0d76", - "timestamp": 1617560231, - "blockNumber": 12174727 - }, - { - "proposalId": 7, - "voter": "0x16Ce1B15ed1278921d7Cae34Bf60a81227CFC295", - "support": true, - "votingPower": 0.009996, - "transactionHash": "0x478c577fef3fefc5b50a0e49d2cde5ce4972095a6bf91d1e1df18e6abca1a957", - "timestamp": 1617560926, - "blockNumber": 12174787 - }, - { - "proposalId": 7, - "voter": "0x6fB505a2Dad7EAf69E50E9db444E808fe8e43744", - "support": true, - "votingPower": 225.98413088185313, - "transactionHash": "0x39b6d6af4dce7fd28088535ab27e55d8aea5d9803198118c3b4fc759ed178a8e", - "timestamp": 1617567514, - "blockNumber": 12175289 - }, - { - "proposalId": 7, - "voter": "0x5A2EBD3CEd212AcD3d3c72F62d66afFc64CCBc4c", - "support": true, - "votingPower": 7.75568906, - "transactionHash": "0xa5abb04284167124770878c97d94f0b5b4261ba6fc13473170936025320c6e8f", - "timestamp": 1617574306, - "blockNumber": 12175818 - }, - { - "proposalId": 7, - "voter": "0xF569914d4E46cBD6A91fDE6c8850a079604A271b", - "support": true, - "votingPower": 1147.3608898102448, - "transactionHash": "0xd843e5188aaf8c7db7c8d3e94e404533c82d5c8b71ac458d945f2289fc326c60", - "timestamp": 1617577749, - "blockNumber": 12176055 - }, - { - "proposalId": 7, - "voter": "0x96b0425C29ab7664D80c4754B681f5907172EC7C", - "support": true, - "votingPower": 129.02637591846886, - "transactionHash": "0x30089535a5e435b390c2113b333e514a7622f5dd5c7f56886a1992a2309a03a2", - "timestamp": 1617584823, - "blockNumber": 12176589 - }, - { - "proposalId": 7, - "voter": "0x7e86b2E9B9e6c0EE02b0200648d9FcF20557e3C5", - "support": true, - "votingPower": 35.564, - "transactionHash": "0xb5ae6543b52d5d4eec9707f4b1f6bb4f50e2cc303730f3212b6f9a3771d16b78", - "timestamp": 1617587256, - "blockNumber": 12176783 - }, - { - "proposalId": 7, - "voter": "0x2c682357aF557244f91C7C76855D435AE0f154cd", - "support": true, - "votingPower": 150.2800187059373, - "transactionHash": "0xca9ab695d0ee775d6af89a83f69bdfbe8ef2b55a87b939a4343c95507876e58a", - "timestamp": 1617588997, - "blockNumber": 12176916 - }, - { - "proposalId": 7, - "voter": "0x1a68Dbe7Bb1160bb390D06D68f3e41516cC8B9F1", - "support": true, - "votingPower": 100, - "transactionHash": "0xc4065a8aa2edb9dcd1dfd8bfdb22b09f81c5b048e4803e4845eeb48a36a5cbd7", - "timestamp": 1617590621, - "blockNumber": 12177054 - }, - { - "proposalId": 7, - "voter": "0x5F723856AC7E6f6292473730449E79F483909867", - "support": true, - "votingPower": 0.01495373, - "transactionHash": "0x49ddb4481785d252c6154ab7a63eb3910c15b64bcd2b06e734eedc9f4f220df1", - "timestamp": 1617592755, - "blockNumber": 12177206 - }, - { - "proposalId": 7, - "voter": "0xaaA3F05f25EeD87eE3a268F4582Ec914e6245577", - "support": true, - "votingPower": 0.24899261, - "transactionHash": "0x885d9b43f92301452d14457068615e01a6de903034b5484169afa91c8ccff076", - "timestamp": 1617605157, - "blockNumber": 12178092 - }, - { - "proposalId": 7, - "voter": "0x82Bb6B5e92E1143fC03ee468a7Ba9Df8e955f7c2", - "support": false, - "votingPower": 250.83020705188136, - "transactionHash": "0x8761bb8b9879afb411b6a81d6d939e7e625e5f2aa83d6ff990597e2efb2ce588", - "timestamp": 1617607495, - "blockNumber": 12178288 - }, - { - "proposalId": 7, - "voter": "0xC17905420D885c1967C9bbAE432A518480f58Cca", - "support": false, - "votingPower": 251.00008425744988, - "transactionHash": "0x9b8e90aadd0404cb8d92a73b45fcd313e2688cccdf914e3dfff3298bd40b8ca4", - "timestamp": 1617607527, - "blockNumber": 12178291 - }, - { - "proposalId": 7, - "voter": "0x9fc1ca176d6DDeA94C4b9bFE8af6d28f5795b305", - "support": true, - "votingPower": 8.18292e-13, - "transactionHash": "0x3b3d9788eefadfa6ad17e54b716488a7e24fadd70e4cdac6cc54dee03259ff71", - "timestamp": 1617610267, - "blockNumber": 12178503 - }, - { - "proposalId": 7, - "voter": "0xdD709cAE362972cb3B92DCeaD77127f7b8D58202", - "support": true, - "votingPower": 183518.6172600874, - "transactionHash": "0x0246aba2a3cef119de57eda194a25d39558a8f7f514a8681de59258d9ae0032f", - "timestamp": 1617610572, - "blockNumber": 12178531 - }, - { - "proposalId": 7, - "voter": "0x1da75Fb0DA32653Fdab9DdecDb42F2ed61F8A28b", - "support": true, - "votingPower": 0.4362760897882131, - "transactionHash": "0x3f3bab494215bdbea926e6b92ee3956d8f8c233f281dd8a2170564661eea7128", - "timestamp": 1617611161, - "blockNumber": 12178578 - }, - { - "proposalId": 7, - "voter": "0x3AdB88931FB41292D4eb49fC9fbc400e8ac20FAC", - "support": true, - "votingPower": 37.067, - "transactionHash": "0xda1d9578136ee63621b831ec9c0ab1a3e20a67da4e0fe0b959e747e43aa97d94", - "timestamp": 1617611565, - "blockNumber": 12178617 - }, - { - "proposalId": 7, - "voter": "0x1DA7c2b48e22b9D823fB9420f26a95753C2D720b", - "support": true, - "votingPower": 0.02522, - "transactionHash": "0x6d550029f7fdd88f8ced96392cef9a1a4c5fd92329eea48d33fa8a657b2d3b7d", - "timestamp": 1617612560, - "blockNumber": 12178680 - }, - { - "proposalId": 7, - "voter": "0x7C59A6ac0edEA2375618eF4CB5B1A1E97f8eCb90", - "support": true, - "votingPower": 0.034988, - "transactionHash": "0x7675c7b3a993a03eaff6ceba542e7da3a6e75b552ca335d3c7a272417ae972f3", - "timestamp": 1617612590, - "blockNumber": 12178683 - }, - { - "proposalId": 7, - "voter": "0x4Bf03635d42067CF86aaaF173F134765c30e40Fc", - "support": true, - "votingPower": 31556.97201807346, - "transactionHash": "0x77f53cea09d8192ee632a6bd695a4f05f94dcd775a029b223a1f0f4bf392af64", - "timestamp": 1617613319, - "blockNumber": 12178754 - }, - { - "proposalId": 7, - "voter": "0xfe8C3db28f2C47C7976D39Ce258dcFeaCfBC78B0", - "support": true, - "votingPower": 0.5, - "transactionHash": "0x8fd69e50c24dbc2deb6c157a42feedef0bf271909908c0ec12c5fe507aa6db82", - "timestamp": 1617614042, - "blockNumber": 12178812 - }, - { - "proposalId": 7, - "voter": "0x9B5ea8C719e29A5bd0959FaF79C9E5c8206d0499", - "support": true, - "votingPower": 100671.47087792464, - "transactionHash": "0x7646060ec7a60844ed090c9aa8d0f48ad8f7ed0ceb938a40f0e8a8d2a7615421", - "timestamp": 1617615227, - "blockNumber": 12178898 - }, - { - "proposalId": 7, - "voter": "0x8298A996A00835eedcC75763038B731Fe617Fd0D", - "support": true, - "votingPower": 2.6209877046554566, - "transactionHash": "0xdeab5ffd2d39a941e7045417d5ae7d428a89b517f2d5ddff16f6f50c018ceaad", - "timestamp": 1617615659, - "blockNumber": 12178929 - }, - { - "proposalId": 7, - "voter": "0xd29F3eb4760EFdE9a7FD508a564d9F9E338D1e5f", - "support": true, - "votingPower": 1007.1608105178792, - "transactionHash": "0x092cf483c04cd91de1400326e57bbe73ed7f76943b74274bf91d78cc51695b6f", - "timestamp": 1617620965, - "blockNumber": 12179307 - }, - { - "proposalId": 7, - "voter": "0x4C37700d949db46Aa11A9F1627070F9Af31F8011", - "support": true, - "votingPower": 4.470753231261244, - "transactionHash": "0x090fbf49405074cc78d2a53f47350eb5486e47585c2c4fee6176b78661215ca6", - "timestamp": 1617629733, - "blockNumber": 12179970 - }, - { - "proposalId": 7, - "voter": "0x975779102B2A82384f872EE759801DB5204CE331", - "support": true, - "votingPower": 4052.369288826561, - "transactionHash": "0x21c4847e99c5e924250e3693c774d785afacaf2397f034f5b82c2746fd832edd", - "timestamp": 1617648235, - "blockNumber": 12181355 - }, - { - "proposalId": 7, - "voter": "0xF5e97Cc1Bf22E1434A1aAeD3a2eb069258893061", - "support": true, - "votingPower": 0.05069862017347566, - "transactionHash": "0x63ba8190e335c3340d20d680b8ca6c73e3939572e4a13d3639df8d6a29e1651b", - "timestamp": 1617649402, - "blockNumber": 12181442 - }, - { - "proposalId": 7, - "voter": "0x26273e65aab399b7a2F5Bd081F4569515EfFd050", - "support": true, - "votingPower": 12.43206174814661, - "transactionHash": "0x6a1803f52e735b0534edf3b7d6c1fa2cb0f7edcea920c2faf9498f65a6283593", - "timestamp": 1617654563, - "blockNumber": 12181828 - }, - { - "proposalId": 7, - "voter": "0xF4F56fA0D045ae0e6Ba8f82e2C32887FE0B152Ea", - "support": true, - "votingPower": 209.85755376765067, - "transactionHash": "0x3c73297419f2e31061e26927c3b9d1358d3f821fc3badeb4538c67a1b2efa971", - "timestamp": 1617656317, - "blockNumber": 12181953 - }, - { - "proposalId": 7, - "voter": "0x1f2E3c4d89Bd05aA315260c6c783045F3DF6d90A", - "support": true, - "votingPower": 196.28172696884437, - "transactionHash": "0x1de1017968fd589ac9e20143a6a09d342d89cbd55d5172d9557cd5f136e973f5", - "timestamp": 1617658485, - "blockNumber": 12182130 - }, - { - "proposalId": 7, - "voter": "0x44fAac7053f124193d0870aD1209557Ded5cBD0D", - "support": true, - "votingPower": 4.593591170494892, - "transactionHash": "0x98090e41fd3461a43e758a610be6c765b9d098dc9796951100eaa1664acd3aa3", - "timestamp": 1617663340, - "blockNumber": 12182514 - }, - { - "proposalId": 7, - "voter": "0x3cB93aC1B172524C3957BdfE34F57E90211Cd491", - "support": true, - "votingPower": 36669.688874891544, - "transactionHash": "0x29e5fc8041f4747b43b471e5422ed70615c8483d374f5766e4f566de863b6280", - "timestamp": 1617665584, - "blockNumber": 12182684 - }, - { - "proposalId": 7, - "voter": "0xdb5AA12AD695Ef2a28C6CdB69f2BB04BEd20a48e", - "support": true, - "votingPower": 52500.54249209986, - "transactionHash": "0xa38e76951739ce97b84fe5461f2288a1d183956c131ea746f28ecfbb6e7b3658", - "timestamp": 1617666580, - "blockNumber": 12182764 - }, - { - "proposalId": 7, - "voter": "0x32caee5A069F2caC53BcE9E50743A400e003C384", - "support": true, - "votingPower": 4.099091599225911, - "transactionHash": "0x742d23df3b8ec75c3be3cb77ca766b08f9911bbb1200c105adf3677d62f4743a", - "timestamp": 1617679646, - "blockNumber": 12183688 - }, - { - "proposalId": 7, - "voter": "0x8D3cD61164fF9a2ddCCccE933c5b4608F6562a82", - "support": true, - "votingPower": 1.0100661562158981, - "transactionHash": "0xdccdbd84d497181e5a93b5cab7159f4a8d465fda043f0ee82bee0287fa1b148b", - "timestamp": 1617681489, - "blockNumber": 12183834 - }, - { - "proposalId": 7, - "voter": "0xDf33f4e48FA2318204FbD5E99d1141950429bB49", - "support": true, - "votingPower": 298.53433372278687, - "transactionHash": "0x74309cee0c719d1b1965e473dfdb707931529e88df8b3335bbf3b5ef873b14bd", - "timestamp": 1617686240, - "blockNumber": 12184191 - }, - { - "proposalId": 7, - "voter": "0x9522bD02f95c29a8722Bdc908b166Fe92Cd6294B", - "support": true, - "votingPower": 0.7438089711812921, - "transactionHash": "0x5c77f802d60da91afd9edeb5f4eb4f2a3cb1362f97ed9f69a91bc538c5717e7b", - "timestamp": 1617690372, - "blockNumber": 12184499 - }, - { - "proposalId": 7, - "voter": "0x0136d9bA5b9Ea739f27128a93dCb3D6c51b3e15C", - "support": true, - "votingPower": 0.9887683777649214, - "transactionHash": "0x8fa5f93b127cfe52fb2f88a86ec0c27f27fa3ad5c2d20544632c2d27e6b4327d", - "timestamp": 1617695543, - "blockNumber": 12184879 - }, - { - "proposalId": 7, - "voter": "0xfA610F8304909a90B1760cF8B50CC1fDe6Ea1F5c", - "support": true, - "votingPower": 1412.0368195396156, - "transactionHash": "0xc34c01096bf99dc0cb975912b83aa16cf810fc6a4ee27fa4b5478eeeca454c7d", - "timestamp": 1617705400, - "blockNumber": 12185666 - }, - { - "proposalId": 7, - "voter": "0x4A5Ef90f1554A4f0eAb0dd21AB91642172Fe95DC", - "support": true, - "votingPower": 0.07060954373779837, - "transactionHash": "0xf0bfca32aaaaa036fe59a00e175ff002841058820071221339aff178cb288166", - "timestamp": 1617707076, - "blockNumber": 12185807 - }, - { - "proposalId": 7, - "voter": "0xB31E9478Cf0Dd377d62AF43e987a031a71544012", - "support": true, - "votingPower": 25.094708, - "transactionHash": "0x6b6f3d68caed3ccbae1d23e433da43aedf2b13f5bda53ec97c8f3510de457d10", - "timestamp": 1617726331, - "blockNumber": 12187259 - }, - { - "proposalId": 7, - "voter": "0x69fefa31dB05e32Eec9B800f94582413C45d0790", - "support": true, - "votingPower": 14.533, - "transactionHash": "0x5dc9b0f456ccb96c933afa1abedc6a686d1cbe913baf7122cb5f6ece46c36d54", - "timestamp": 1617735065, - "blockNumber": 12187913 - }, - { - "proposalId": 7, - "voter": "0x7136fbDdD4DFfa2369A9283B6E90A040318011Ca", - "support": false, - "votingPower": 6.324089436503706, - "transactionHash": "0x23b1462b749ed79c40289851de24db1e7cc10357d238cdb6114e64e0d29c0250", - "timestamp": 1617738147, - "blockNumber": 12188151 - }, - { - "proposalId": 7, - "voter": "0xaBe780bDc3872B4DEC16bD44B2bB999f9151aE28", - "support": true, - "votingPower": 72.08517059285495, - "transactionHash": "0xbcc77e3980bf9b302b2703dec8399e5a8d4f4b16877635fd1555c255d0506b22", - "timestamp": 1617742003, - "blockNumber": 12188453 - }, - { - "proposalId": 7, - "voter": "0xbB9561B8FAc84baBBc544428C249b3FAAE4B6e87", - "support": true, - "votingPower": 8.549775742793035, - "transactionHash": "0xe0dd95c05d00c8e061ed6f33d8d232a1ed0556146caa640ec4ced40e6982ddce", - "timestamp": 1617744839, - "blockNumber": 12188652 - }, - { - "proposalId": 7, - "voter": "0x1dE15fE536aF86d57d4299166C7dd81887A59255", - "support": true, - "votingPower": 43.70048796181228, - "transactionHash": "0xb3d17af359ba5de7da970bb6bd3a43c2be43d6a8015a1b21be382b599fe7767d", - "timestamp": 1617748703, - "blockNumber": 12188928 - }, - { - "proposalId": 7, - "voter": "0x8d07D225a769b7Af3A923481E1FdF49180e6A265", - "support": true, - "votingPower": 50, - "transactionHash": "0xf8a827630eae11aa713c8921354418670d686d1458c169502da2c63b8c34e7c0", - "timestamp": 1617750281, - "blockNumber": 12189058 - }, - { - "proposalId": 7, - "voter": "0x287E03E5Cc31c2dEB3b384a452579F30694a34dD", - "support": true, - "votingPower": 14.1052463, - "transactionHash": "0x77fedf77e3678588c69d58ff8bb8715af8c4a5726fdd9c5d1d3ad18e56db3f9e", - "timestamp": 1617758266, - "blockNumber": 12189639 - }, - { - "proposalId": 7, - "voter": "0x20f3B73D8521dcF7B60c7951Ea407cb04D29f044", - "support": true, - "votingPower": 329.6109295290966, - "transactionHash": "0x3eefb9a6dd64eb3deec89f2e466276e5d85d302600fdbabab7d1db5e1357c92d", - "timestamp": 1617761081, - "blockNumber": 12189874 - }, - { - "proposalId": 7, - "voter": "0x41679958Bba0B0aafFCda35d983a15495CFd100D", - "support": false, - "votingPower": 7.332292869898136, - "transactionHash": "0xc69511d97a1a0918220c9e29e66af5873511ac7bdd5fa40f1ab7a4a1dc99bbcc", - "timestamp": 1617761196, - "blockNumber": 12189885 - }, - { - "proposalId": 7, - "voter": "0xCbD9E9E4a40dc9359CAFaadadA3CBdddcd411b9B", - "support": true, - "votingPower": 17.57129261386808, - "transactionHash": "0x9b7e3b90be1d765fa696bd723b185d6c7f37a80e625a6742467100f793cc8dad", - "timestamp": 1617764463, - "blockNumber": 12190147 - }, - { - "proposalId": 7, - "voter": "0x2713A5FB15c0bBb0087d6bc53FBea9da5830d6e5", - "support": true, - "votingPower": 14.713036828445862, - "transactionHash": "0x45c58e305f0050b6ca63c5f0b4cf456922e9b9b116606d24cc927f2c3acf1dd0", - "timestamp": 1617765216, - "blockNumber": 12190199 - }, - { - "proposalId": 7, - "voter": "0xD8de315eB7A00f4155d1Ea9eb4eb6888Ae715631", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x9cd67a2c15a1ad3b053fc5c0c6fa4ea15ac4c3e61c1200371bd082627aee1fe0", - "timestamp": 1617769067, - "blockNumber": 12190491 - }, - { - "proposalId": 7, - "voter": "0x9DDC726fce55A7D6c2a985A7944EAb88AE343f50", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xd9758adc6d627fef104f888430389efa0f50c76d195cf45d70c0f2bc727b8567", - "timestamp": 1617770692, - "blockNumber": 12190626 - }, - { - "proposalId": 7, - "voter": "0x0f0b305b2999499De344CAA6DB36374A51081B0a", - "support": true, - "votingPower": 0.200003, - "transactionHash": "0x7067898a6d28e1962b7c49074eb5137f1e095e351df2840f5e82cb0b6975882b", - "timestamp": 1617771573, - "blockNumber": 12190690 - }, - { - "proposalId": 7, - "voter": "0x9175A64882d239CD35D88aEF071e1657C6e03351", - "support": true, - "votingPower": 1.0707464694999451, - "transactionHash": "0x13cee11291586cbb59e842e1c3eb484248b804a47d5c1561e15dcae3b9831c39", - "timestamp": 1617773307, - "blockNumber": 12190818 - }, - { - "proposalId": 7, - "voter": "0x85a7E983D5cBaE547492124b7c858ED1E93c614B", - "support": true, - "votingPower": 0.5, - "transactionHash": "0x13c10b87cb2724d8e039bedaaecfd19da4b96cc3d7a5c9ae1ae64b651d5a0818", - "timestamp": 1617778309, - "blockNumber": 12191186 - }, - { - "proposalId": 7, - "voter": "0xC43697c6CE47Cf33E2BE6E147747899B6B57Bb5f", - "support": true, - "votingPower": 492.96008256821847, - "transactionHash": "0x7f077c32f1b7bf98e60e96217de632b9a6e8d05d95aa82d119bf94abe031ff5d", - "timestamp": 1617780821, - "blockNumber": 12191390 - }, - { - "proposalId": 7, - "voter": "0xA3F09fCCe3E340E251e23263B15d89623564b233", - "support": true, - "votingPower": 63621.20919493298, - "transactionHash": "0xb145d1b66e24f1e653c3974c76c718c45236aa136ca6c30da5ea51060f91a762", - "timestamp": 1617787202, - "blockNumber": 12191840 - }, - { - "proposalId": 7, - "voter": "0x99655CA16C742b46A4a05AFAf0f7798C336Fd279", - "support": true, - "votingPower": 206.01393233754703, - "transactionHash": "0x1f6b22c4a7fd6e4ac1604f0fef3559a653fb64d767da6cbf6f17c5fc6f42bd1d", - "timestamp": 1617792086, - "blockNumber": 12192177 - }, - { - "proposalId": 7, - "voter": "0x54F3d7429f69B5FD1F0c983A8A295FB0Bf068967", - "support": true, - "votingPower": 7.505201282528073, - "transactionHash": "0xe6b9d402c7d6f1b390258138bdcf0c31c0706212bd0984bf92da776fa4da171c", - "timestamp": 1617794501, - "blockNumber": 12192348 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 8, - "voter": "0xcf88FA6eE6D111b04bE9b06ef6fAD6bD6691B88c", - "support": true, - "votingPower": 51.16780026279161, - "transactionHash": "0x69fc0d0215c6b4d2000e777e34930dc0e59e4e4d6c3b1e86c0f20bf7cce62a52", - "timestamp": 1618600165, - "blockNumber": 12252934 - }, - { - "proposalId": 8, - "voter": "0x80F11A20cd3855cAe3640558Ff320401EE970cFa", - "support": true, - "votingPower": 3, - "transactionHash": "0xf0142968c7a02989faa0f346c1935c649a574d0fd51a8f345957e831ce7645ce", - "timestamp": 1618600624, - "blockNumber": 12252968 - }, - { - "proposalId": 8, - "voter": "0x550abC18F49CB82644dF58885A3A049A021D54e0", - "support": true, - "votingPower": 9.146069309296305, - "transactionHash": "0x2d36e86fe9f201de02b500232206a0435e0bc14824c61be5b9fb7b8c397873fd", - "timestamp": 1618602711, - "blockNumber": 12253121 - }, - { - "proposalId": 8, - "voter": "0x5674cD885E9597cf501D582F33D74E84BaC29b7C", - "support": true, - "votingPower": 100, - "transactionHash": "0x4f6f15dd1da2766dddb9806f5239c426a19bea93595554c01ec348d12ca0ea84", - "timestamp": 1618605236, - "blockNumber": 12253305 - }, - { - "proposalId": 8, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": false, - "votingPower": 19240.916977379475, - "transactionHash": "0x04d603205484241a66174eadd83285de6bd339a11c280c763e0a750187ea2af5", - "timestamp": 1618607691, - "blockNumber": 12253502 - }, - { - "proposalId": 8, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 27036.576083620013, - "transactionHash": "0x14923d18b6e1b9df976b0fbdd69ac12d609d2fb8670bef77593b49366fedff37", - "timestamp": 1618607748, - "blockNumber": 12253507 - }, - { - "proposalId": 8, - "voter": "0x4f2FC90212e949fF4AA32DeF570744163671F22B", - "support": true, - "votingPower": 162.64599086353516, - "transactionHash": "0x5b5f292e7a47387b6016af6d82840b1e83d0224a1800e2deaf18323c1e2435df", - "timestamp": 1618608653, - "blockNumber": 12253585 - }, - { - "proposalId": 8, - "voter": "0x274AF61A316678A84AAbaCc4a6Cf6881E9413B3B", - "support": true, - "votingPower": 13.106990313855842, - "transactionHash": "0xf0e74ed7eb8ecd2255b9b59b8a539d313020e16c3fc178ec287f1dc9981e73cd", - "timestamp": 1618613227, - "blockNumber": 12253925 - }, - { - "proposalId": 8, - "voter": "0xF72a2caA677B90b0ae449aF1318F1B80344ae97c", - "support": true, - "votingPower": 100.00186281446095, - "transactionHash": "0x65e267a4390902fce04d71c052a44b0c4b398b4baa4e995156b5af9b25b9a69b", - "timestamp": 1618631941, - "blockNumber": 12255316 - }, - { - "proposalId": 8, - "voter": "0x11692163D68A652E7A05c4A3ee0a6C02F9DC0393", - "support": false, - "votingPower": 211.12281735968375, - "transactionHash": "0xeeae7eb37665b73cb8969798b36d8e00124041bd0658b0a4f87c719188b1c0bb", - "timestamp": 1618634743, - "blockNumber": 12255527 - }, - { - "proposalId": 8, - "voter": "0x7F18CA114C9D162B7078791582885F41caa4cAEd", - "support": false, - "votingPower": 70.61175357000045, - "transactionHash": "0x53af5c2473e81b445ba47c600781858ba96c94f57bfce0af1b848b4c304b9958", - "timestamp": 1618641665, - "blockNumber": 12256036 - }, - { - "proposalId": 8, - "voter": "0x49084125E425eD84a81e97F866043Ba413E959b9", - "support": false, - "votingPower": 2.0050282934882198, - "transactionHash": "0xd94e581f24a39e509c14e9d883085d170aa6478f2a8c49a58bb68f359f08a974", - "timestamp": 1618667563, - "blockNumber": 12258011 - }, - { - "proposalId": 8, - "voter": "0xAccF1F9320cBa94Fba57127E56fcD5D38c27303A", - "support": true, - "votingPower": 1320.6655195750643, - "transactionHash": "0x29d2e0b8f02e347d57f319681212029ae716a84b067f3dc609761d84a8c33ff5", - "timestamp": 1618678449, - "blockNumber": 12258789 - }, - { - "proposalId": 8, - "voter": "0xd83256a8BB182e7BE2382550Ed24861C71108d35", - "support": true, - "votingPower": 1.108586, - "transactionHash": "0x628fa89c7aac30a4e15b03c9e97bcede5a990b70669cb8d8cf03294113bfa718", - "timestamp": 1618681947, - "blockNumber": 12259059 - }, - { - "proposalId": 8, - "voter": "0x43b3588856ac370a6C152EDb0B717C089915B9B0", - "support": true, - "votingPower": 25.397085917207125, - "transactionHash": "0x2007560fbd5ef8e957ef2509bd608b916a24822e9452a88eee191196857324fe", - "timestamp": 1618685746, - "blockNumber": 12259329 - }, - { - "proposalId": 8, - "voter": "0xc83851a3Dec427Cc5052fd295BBA9bE733493377", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xe6c4b3a2a73481d6c854c17b9bb46d6ff1740fce62daeeaeee8edd96398c6a28", - "timestamp": 1618685845, - "blockNumber": 12259340 - }, - { - "proposalId": 8, - "voter": "0x9B5ea8C719e29A5bd0959FaF79C9E5c8206d0499", - "support": true, - "votingPower": 100674.1911152624, - "transactionHash": "0x9980eff94770c1be316cf4689c0d529cf9377736de907604abb74176c839926a", - "timestamp": 1618685974, - "blockNumber": 12259350 - }, - { - "proposalId": 8, - "voter": "0x7ECbD170193f406E2124bF4FB9ea842Af18b95eD", - "support": true, - "votingPower": 2.5276, - "transactionHash": "0x11ca0d5c5cfe4d019776f3427e5bd461740537779b8a458b6147ef708bb4815c", - "timestamp": 1618697969, - "blockNumber": 12260251 - }, - { - "proposalId": 8, - "voter": "0x8d07D225a769b7Af3A923481E1FdF49180e6A265", - "support": true, - "votingPower": 50, - "transactionHash": "0xb396fba02c8527429575a4623afe0e36d6402f0cbe020bdb0c6d6ec27569df12", - "timestamp": 1618698942, - "blockNumber": 12260323 - }, - { - "proposalId": 8, - "voter": "0xC54a79174cb43729e65a95E41028c9BAC7Ab4592", - "support": true, - "votingPower": 2.66899611, - "transactionHash": "0xf589702d036706bad904b344697ff6fa60fba83325000061fa836a0b2a0249dc", - "timestamp": 1618700326, - "blockNumber": 12260445 - }, - { - "proposalId": 8, - "voter": "0x975779102B2A82384f872EE759801DB5204CE331", - "support": true, - "votingPower": 4000, - "transactionHash": "0x5716e9b30a117e127675b004c9f519a2e4ac7ddab418b0253fd803df151e23a4", - "timestamp": 1618732236, - "blockNumber": 12262862 - }, - { - "proposalId": 8, - "voter": "0xdD709cAE362972cb3B92DCeaD77127f7b8D58202", - "support": true, - "votingPower": 183589.9763606646, - "transactionHash": "0xbaf3eb79ebd9bbe5df866cb1ef28a81ff79dbd36eba0d9626f34c848b44ab5b8", - "timestamp": 1618742102, - "blockNumber": 12263575 - }, - { - "proposalId": 8, - "voter": "0x908E8E8084d660f8f9054AA8Ad1B31380d04B08F", - "support": true, - "votingPower": 0.7, - "transactionHash": "0x3d88a13b805b587163ab536ae1f2027ddf04709d0e64fca12b8eb315b57895d1", - "timestamp": 1618744598, - "blockNumber": 12263755 - }, - { - "proposalId": 8, - "voter": "0x506cC4485a7fd42FEA6f2aCc97D7DE697B88419d", - "support": true, - "votingPower": 1.0425, - "transactionHash": "0xcb58d02e3ec852473fc62bb9df43ceb072cdc9c176cedcdbc169c7b221616960", - "timestamp": 1618752162, - "blockNumber": 12264312 - }, - { - "proposalId": 8, - "voter": "0xca768c37ba6EC3d67bE7B47bbE1F1C94CA216f46", - "support": false, - "votingPower": 525.000000127771, - "transactionHash": "0xc21326eafc1778a99f89b60b77931d668003800a70714536f2b04f27ac614276", - "timestamp": 1618755670, - "blockNumber": 12264570 - }, - { - "proposalId": 8, - "voter": "0xbB9561B8FAc84baBBc544428C249b3FAAE4B6e87", - "support": true, - "votingPower": 8.549775742793035, - "transactionHash": "0x2fd8e1810b063c9ec159a3f801bd827d33caa3f9d1227dd5490c4d49090e2f54", - "timestamp": 1618763852, - "blockNumber": 12265184 - }, - { - "proposalId": 8, - "voter": "0xE58D06e4475456FbC69b81afdFF2F18f6A5d1c31", - "support": false, - "votingPower": 24, - "transactionHash": "0x1e50ea15a406f5ca6d6a8d59717d4fce25e98e26c097b8983deb58829687f13b", - "timestamp": 1618764399, - "blockNumber": 12265230 - }, - { - "proposalId": 8, - "voter": "0xa7Dcc417c63F24F9073b667A5d7149bD38463d0F", - "support": false, - "votingPower": 240.23, - "transactionHash": "0xe47f44cfcffe73b218c0977240be887d8ef6f97af89d72abec46c7b5751770ce", - "timestamp": 1618764556, - "blockNumber": 12265246 - }, - { - "proposalId": 8, - "voter": "0x10D6d2e343281D388291A3e02f3293AaEdA67178", - "support": true, - "votingPower": 6.350921447143325, - "transactionHash": "0xd7d41f30452a09d17b67961586adb8f52fec9240f2af8db95551d5f07107a2c5", - "timestamp": 1618767849, - "blockNumber": 12265507 - }, - { - "proposalId": 8, - "voter": "0xB7f6227F09CF8Bd2C8897c71d3b980F42ac95544", - "support": true, - "votingPower": 119.7596, - "transactionHash": "0x484d3cfb1c06ebed1501064615f8a2e91b9e7b10874d9de79bd3a8a0b11670b0", - "timestamp": 1618775843, - "blockNumber": 12266108 - }, - { - "proposalId": 8, - "voter": "0xc91A207Cbd1ad7Dd350E01Ac4baCfCc96e7FA7c8", - "support": true, - "votingPower": 30.18506833, - "transactionHash": "0x1e169f207e077a03b01f7a129fc993fffbe21229e624265138a750e6b24fe57c", - "timestamp": 1618778260, - "blockNumber": 12266303 - }, - { - "proposalId": 8, - "voter": "0x60015a9010243425172182b00e35F689ED4d887a", - "support": true, - "votingPower": 108.11785458024264, - "transactionHash": "0x99a1990df0c8474dbc2070078403d864a9e696cb1db455e59bde17c8d2927801", - "timestamp": 1618779129, - "blockNumber": 12266363 - }, - { - "proposalId": 8, - "voter": "0x47C125DEe6898b6CB2379bCBaFC823Ff3f614770", - "support": true, - "votingPower": 8251.770788511132, - "transactionHash": "0xa29be27aed271f7418e88691cd58c47b120151751f419279c734358c4d0ebff6", - "timestamp": 1618786940, - "blockNumber": 12266964 - }, - { - "proposalId": 8, - "voter": "0x3070f20f86fDa706Ac380F5060D256028a46eC29", - "support": true, - "votingPower": 2, - "transactionHash": "0xe83e3cfd3d819b5705e4c83d71152b17ed9c27f0b3faae2e07d7e45a53f83485", - "timestamp": 1618788120, - "blockNumber": 12267055 - }, - { - "proposalId": 8, - "voter": "0xcFa674b4e23d6a9640Cd8f43f04829d6FcdFE428", - "support": true, - "votingPower": 133.8327343230615, - "transactionHash": "0x2b97fadfb976f45eb7bb6c3743a84cf1622084004f4ca9b0a14f758b7ff06f7f", - "timestamp": 1618789984, - "blockNumber": 12267188 - }, - { - "proposalId": 8, - "voter": "0xF4F56fA0D045ae0e6Ba8f82e2C32887FE0B152Ea", - "support": true, - "votingPower": 181.12078776765068, - "transactionHash": "0x34fe6d81d7f4d3fe71b497141f762512e95bf924969640fd5d62a55a1f21130d", - "timestamp": 1618790529, - "blockNumber": 12267222 - }, - { - "proposalId": 8, - "voter": "0xea4e84f81BeAfA8C0004f15d26fD8835f54E2384", - "support": true, - "votingPower": 315.7221327656922, - "transactionHash": "0xb9deeff632c40fb5e6eb659bfc234988ff508880675a1854c16a933c7c748a39", - "timestamp": 1618790994, - "blockNumber": 12267260 - }, - { - "proposalId": 8, - "voter": "0x24046f8fa6b91DadbD468aB5D5aD574A54E43793", - "support": true, - "votingPower": 0.65, - "transactionHash": "0x2f59075042fb0506fca31db362ffa9d80bceee92b3775f09929cc814086ab884", - "timestamp": 1618791111, - "blockNumber": 12267275 - }, - { - "proposalId": 8, - "voter": "0x3257F7D1169b46dBa77f18BE843E5C9FaC8a885D", - "support": true, - "votingPower": 0.65, - "transactionHash": "0x51c1f64cf453eac199143ff345ad1381ca93abd407cab03fac418b58e32e618f", - "timestamp": 1618791112, - "blockNumber": 12267276 - }, - { - "proposalId": 8, - "voter": "0x28750E72E8c9696f9Eb98786E621f65495D363e9", - "support": true, - "votingPower": 84.6535, - "transactionHash": "0xac6394f86798b40b068fc9a2085eda330e259ec4b20799360bafee7f628253f4", - "timestamp": 1618792333, - "blockNumber": 12267359 - }, - { - "proposalId": 8, - "voter": "0x2961768cc229226e7D83c0141C133789487bA763", - "support": true, - "votingPower": 0.65, - "transactionHash": "0xe551089126e890eb78d81076e147da5f9fba042c2118065c2f267e2afe89494d", - "timestamp": 1618794359, - "blockNumber": 12267498 - }, - { - "proposalId": 8, - "voter": "0x0fBaD79C4468A074aC0972Bed4E6FBFC85fe73A4", - "support": true, - "votingPower": 0, - "transactionHash": "0x72a57ef24555fc9444d80abf354b536c3a4543bce59d395189172e61586b9d0e", - "timestamp": 1618794359, - "blockNumber": 12267498 - }, - { - "proposalId": 8, - "voter": "0x8Fa4Eb329cD2c01844b0e2E523df9EF6D130AB4f", - "support": true, - "votingPower": 0.65, - "transactionHash": "0x6fed5b12b132f3123d80ae724f218acf0c59b38a11d7505eaaf9830e20c66d12", - "timestamp": 1618794398, - "blockNumber": 12267502 - }, - { - "proposalId": 8, - "voter": "0x5564E4Fbd35F37D889973eB1AF427A6a555e8ebC", - "support": true, - "votingPower": 0.65, - "transactionHash": "0x1bcbcec0c0d6a901105f9708de410ecc9422ec6d2627987cd20ec0b345c56e71", - "timestamp": 1618794398, - "blockNumber": 12267502 - }, - { - "proposalId": 8, - "voter": "0x9E6aD02C5544aa38f82Ee871585357083b8Aaf67", - "support": true, - "votingPower": 0.65, - "transactionHash": "0xcb464198155e931cfc9450b4752d7598134cc32cc3a9a83f257d353e52aa7488", - "timestamp": 1618794398, - "blockNumber": 12267502 - }, - { - "proposalId": 8, - "voter": "0x98E60dD382422A64232594b2Eb71B7906Dd98d49", - "support": true, - "votingPower": 0.65, - "transactionHash": "0x74091aa63aa736310fdd04e4d6fdddd7958d97bb08f5091d485ff7673c741ebb", - "timestamp": 1618794398, - "blockNumber": 12267502 - }, - { - "proposalId": 8, - "voter": "0x22f98EaE7D6A8dBeB2dC5Bd514B964EA3f76c329", - "support": true, - "votingPower": 0.65, - "transactionHash": "0xc90ecea1dc2392272867a947241778879b33a85636f35d5dbc063b1391390e75", - "timestamp": 1618794398, - "blockNumber": 12267502 - }, - { - "proposalId": 8, - "voter": "0x91B9a8e151A6DedC98A986e4A38D815e2664d385", - "support": true, - "votingPower": 0.65, - "transactionHash": "0xd0be7981d389f6165d763f39c500386edbe2a29f079956af6aba9fd1d2dbe9d5", - "timestamp": 1618794398, - "blockNumber": 12267502 - }, - { - "proposalId": 8, - "voter": "0x9a1e8645DEDec6d45E2058D031B1CA97F815bd2E", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x3fc12b6baa78314ab17a37550cd26b24cd31612c44d5a95a63c81563ff6014df", - "timestamp": 1618799233, - "blockNumber": 12267850 - }, - { - "proposalId": 8, - "voter": "0xCDc7ba99391F3BE7E5Dc0e49cC8361B537cfC29b", - "support": true, - "votingPower": 0.05, - "transactionHash": "0x57d283c70e79bc33ccf242f6f72623e39026fd3a78a2a9f3ff5855ffee454739", - "timestamp": 1618799239, - "blockNumber": 12267852 - }, - { - "proposalId": 8, - "voter": "0xE05fD1304C1CfE19dcc6AAb0767848CC4A8f54aa", - "support": true, - "votingPower": 8172.331379628855, - "transactionHash": "0xe5cbd71ee5254907811855a5e91a7ff43450411c97e09619d68687ce4605f025", - "timestamp": 1618815521, - "blockNumber": 12269028 - }, - { - "proposalId": 8, - "voter": "0x1e0d4A10a3D2b2eFCaB3BD98fA046bDf6132D676", - "support": true, - "votingPower": 1.009328360789363, - "transactionHash": "0x849a1477251f4b35b10f545d3f0ba2d53170376dc723d3973443f68113f8e113", - "timestamp": 1618816361, - "blockNumber": 12269084 - }, - { - "proposalId": 8, - "voter": "0xeE7F85B62642b9e2C5687790B5b4df9fC7f7442f", - "support": true, - "votingPower": 0.65, - "transactionHash": "0x40e5f9d2ac48391db69b0511a2469c48d1d9023e6c52afc1b5aa076cc799b0a2", - "timestamp": 1618832660, - "blockNumber": 12270289 - }, - { - "proposalId": 8, - "voter": "0x1DA7c2b48e22b9D823fB9420f26a95753C2D720b", - "support": true, - "votingPower": 0.02522, - "transactionHash": "0xcdf75ee768d487bd481c79295455b90a1c73b3947a1c04097b906177b6fe32b6", - "timestamp": 1618832855, - "blockNumber": 12270307 - }, - { - "proposalId": 8, - "voter": "0x632c53783ab35d20BB7FDb6Ee6afa2fF62E6a82B", - "support": true, - "votingPower": 0.65, - "transactionHash": "0x9f3332731ab4b4020968978c1fbc809fcd7a2fb22949c3dab6e0443c2b8064a3", - "timestamp": 1618832978, - "blockNumber": 12270320 - }, - { - "proposalId": 8, - "voter": "0x400aBc3DAE98Ec5aEEF2681b40D4CEd0A5aff934", - "support": true, - "votingPower": 1.01005329, - "transactionHash": "0xc13ef52415d2567c8143b105840a3e4aebba35b0c60113cc61d72a0d3ca2c128", - "timestamp": 1618833456, - "blockNumber": 12270356 - }, - { - "proposalId": 8, - "voter": "0x073DD99852205750e283604a1b82b698878922c2", - "support": true, - "votingPower": 0.65, - "transactionHash": "0x6b5458ea3bafd42b165dc4e6d880b700b30036ef4c73790acc24209dfb30bb03", - "timestamp": 1618833471, - "blockNumber": 12270359 - }, - { - "proposalId": 8, - "voter": "0x8ed43892b09bD69b8B5CAc53d93B8ADA3AAcc063", - "support": true, - "votingPower": 0.65, - "transactionHash": "0x723f7cf2b693d4773b01f3919fc7c36f38c995490fc62fc6d84d8a49142bb5cc", - "timestamp": 1618833487, - "blockNumber": 12270361 - }, - { - "proposalId": 8, - "voter": "0x37Fa7c6B28fc5545d9523D6dbb329Be7e1B9e7A0", - "support": true, - "votingPower": 27.93763676484377, - "transactionHash": "0x3e01a6f22699dcd9fd666a4de52eb2df1cc2f5009ad3297e1d291189c2017ea0", - "timestamp": 1618837701, - "blockNumber": 12270682 - }, - { - "proposalId": 8, - "voter": "0xB50b62CD2Ca26AFAF170974d3752c0cfcC13f632", - "support": false, - "votingPower": 23.016913517822008, - "transactionHash": "0xfcdc1553341cf36a6239d34839a3fb849e48f96ae3d353fd7362a186e5969af2", - "timestamp": 1618839486, - "blockNumber": 12270823 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 9, - "voter": "0x80F11A20cd3855cAe3640558Ff320401EE970cFa", - "support": true, - "votingPower": 3, - "transactionHash": "0xf0202db7bf1fc012653d9a39cc3c1c86f7b60eced93ee009d4165c2cadfa148c", - "timestamp": 1618864682, - "blockNumber": 12272713 - }, - { - "proposalId": 9, - "voter": "0x550abC18F49CB82644dF58885A3A049A021D54e0", - "support": true, - "votingPower": 9.146069309296305, - "transactionHash": "0xe3a206c250c07cbdfbe174efa1089382cd9c3c3b49f58def98f8cc0d90d26b17", - "timestamp": 1618866335, - "blockNumber": 12272842 - }, - { - "proposalId": 9, - "voter": "0x681ada67950d96DCc9F2951d32353663Ed6e59c9", - "support": true, - "votingPower": 7.76839e-13, - "transactionHash": "0xa5378113d3cb9086c1f4e507bcc106a8bd07ceffabec4ce9822e06d31653433d", - "timestamp": 1618876601, - "blockNumber": 12273595 - }, - { - "proposalId": 9, - "voter": "0xdD709cAE362972cb3B92DCeaD77127f7b8D58202", - "support": true, - "votingPower": 191589.9763606646, - "transactionHash": "0x218a79c2ce7cd9359bbbaa6ae4d3426a32ed546fbec55bc49b26fcf6894be67d", - "timestamp": 1618915333, - "blockNumber": 12276537 - }, - { - "proposalId": 9, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 23446.08245466673, - "transactionHash": "0x9d065f706787f405ba76e6c2bec3227d1c38ea6c93b7df4213d83ac96d19d17f", - "timestamp": 1618948200, - "blockNumber": 12279051 - }, - { - "proposalId": 9, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 29156.06749508305, - "transactionHash": "0x92253613dd7c70335a89acbdb244e85c0a929d2dc95a13715287685d531ea45f", - "timestamp": 1618948929, - "blockNumber": 12279115 - }, - { - "proposalId": 9, - "voter": "0xdb5AA12AD695Ef2a28C6CdB69f2BB04BEd20a48e", - "support": true, - "votingPower": 67500.54249209986, - "transactionHash": "0xecb173761f140bcc1de60bdda318d577bba00b336bb9a5490cdadb12d1b76e69", - "timestamp": 1618957008, - "blockNumber": 12279738 - }, - { - "proposalId": 9, - "voter": "0x47C125DEe6898b6CB2379bCBaFC823Ff3f614770", - "support": true, - "votingPower": 8251.770788511132, - "transactionHash": "0x8801b00b2b4d799db222aac0b9e11cba90c0b306f106d4e761d2b651d95b8ddf", - "timestamp": 1618969473, - "blockNumber": 12280637 - }, - { - "proposalId": 9, - "voter": "0x0F46540678c7e6D2eF983B382CC07Fa815AB148c", - "support": true, - "votingPower": 0.9964204767808164, - "transactionHash": "0xb893e9b1410f257cb3a32d33037fae32cb55cfdd7061a3b08caabdbfca290107", - "timestamp": 1618978553, - "blockNumber": 12281382 - }, - { - "proposalId": 9, - "voter": "0xea4e84f81BeAfA8C0004f15d26fD8835f54E2384", - "support": true, - "votingPower": 315.7221327656922, - "transactionHash": "0x186af585295e13360acb6d621cc5e98dcf2e22e308ba42b9679a32dd2cf05d71", - "timestamp": 1618981081, - "blockNumber": 12281552 - }, - { - "proposalId": 9, - "voter": "0x9B5ea8C719e29A5bd0959FaF79C9E5c8206d0499", - "support": true, - "votingPower": 100674.1911152624, - "transactionHash": "0x10cbc94084ba32ea8a2db6b659445f89783fbdb0f1b5d07f41c6c4fa94bcec98", - "timestamp": 1618995847, - "blockNumber": 12282660 - }, - { - "proposalId": 9, - "voter": "0x30ED5773E9c1023A266483D7860a2B19fA4c736C", - "support": true, - "votingPower": 161.2438122644526, - "transactionHash": "0xdb5eba22124fdd2b56e8b3675b294fd545e3187b43b38c99a2381bfd79e2af0e", - "timestamp": 1619028429, - "blockNumber": 12285057 - }, - { - "proposalId": 9, - "voter": "0x975779102B2A82384f872EE759801DB5204CE331", - "support": true, - "votingPower": 4000, - "transactionHash": "0x32ca605fbcf80578b1955512781ad5adab0155b0c9d235818b7c83655824262e", - "timestamp": 1619036099, - "blockNumber": 12285665 - }, - { - "proposalId": 9, - "voter": "0x60015a9010243425172182b00e35F689ED4d887a", - "support": true, - "votingPower": 108.11785458024264, - "transactionHash": "0x176adb85ada857c65407778d9ccf325812cc73830d72e01da6870c38d3ea722b", - "timestamp": 1619056343, - "blockNumber": 12287198 - }, - { - "proposalId": 9, - "voter": "0x9031537E04e25f02dccFD0988214AC320611Ed6F", - "support": true, - "votingPower": 2.8432319924722314, - "transactionHash": "0x90ae342b778525b4cb4c655217ef38a0e4d866b54bd36637ce0a431650adb2bd", - "timestamp": 1619074359, - "blockNumber": 12288515 - }, - { - "proposalId": 9, - "voter": "0x8d07D225a769b7Af3A923481E1FdF49180e6A265", - "support": true, - "votingPower": 50, - "transactionHash": "0x1a17aaebfebb9bc8404152f64c89961040f31f81afd2bb7c232c8804574a5bf8", - "timestamp": 1619110804, - "blockNumber": 12291241 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 10, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 23367.43065675693, - "transactionHash": "0x9eb9f113c5c5c7fce9696517b3e5da99c0e9eeb8adba5e08a70254760896f2c2", - "timestamp": 1618949154, - "blockNumber": 12279137 - }, - { - "proposalId": 10, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 28555.331555360404, - "transactionHash": "0x6eb364befe16fe79401c963298c201119bbba0af2a42df463cd8ada0639751c2", - "timestamp": 1618952289, - "blockNumber": 12279362 - }, - { - "proposalId": 10, - "voter": "0xA3F09fCCe3E340E251e23263B15d89623564b233", - "support": true, - "votingPower": 63621.20919493298, - "transactionHash": "0x4681f4ca0fd7aab7998ef79d080d468ae0e124674d238355f3c2d3706b24cd64", - "timestamp": 1618985290, - "blockNumber": 12281871 - }, - { - "proposalId": 10, - "voter": "0xdD709cAE362972cb3B92DCeaD77127f7b8D58202", - "support": true, - "votingPower": 191589.9763606646, - "transactionHash": "0x0d81480b977dd62ae80bdfd44b00a0e3d3d19ae29e6764be89b4fbb5e306c38e", - "timestamp": 1618988018, - "blockNumber": 12282085 - }, - { - "proposalId": 10, - "voter": "0x9B5ea8C719e29A5bd0959FaF79C9E5c8206d0499", - "support": true, - "votingPower": 100674.1911152624, - "transactionHash": "0xcfd4c6f48687d4a755f800ceec0ce2f53f867da4bfd6cce7d29e1eefef778ae0", - "timestamp": 1618995847, - "blockNumber": 12282660 - }, - { - "proposalId": 10, - "voter": "0x975779102B2A82384f872EE759801DB5204CE331", - "support": true, - "votingPower": 4000, - "transactionHash": "0x369b31c0044969cd59d0a0c94f266362d99e5477320f7e61e10b16ddeb0ae962", - "timestamp": 1619035955, - "blockNumber": 12285656 - }, - { - "proposalId": 10, - "voter": "0x60015a9010243425172182b00e35F689ED4d887a", - "support": true, - "votingPower": 108.11785458024264, - "transactionHash": "0x762ce0b14d9f101a680035a949405c07b625d65ab273c0923fa08534d7d81f10", - "timestamp": 1619056552, - "blockNumber": 12287216 - }, - { - "proposalId": 10, - "voter": "0x4a8B9E2C2940fdd39aceb384654dc59aCB58C337", - "support": true, - "votingPower": 6733.829164139907, - "transactionHash": "0x1ec54a855225e7d8baee3a026f693eeaa6951579092f782eb46ec944aa4a54f5", - "timestamp": 1619098709, - "blockNumber": 12290325 - }, - { - "proposalId": 10, - "voter": "0x8d07D225a769b7Af3A923481E1FdF49180e6A265", - "support": true, - "votingPower": 50, - "transactionHash": "0xc79e5a7dd84332d28932b5ba114c923f5ec1d079ba6a6d590f3fd7d0e0536d15", - "timestamp": 1619110826, - "blockNumber": 12291243 - }, - { - "proposalId": 10, - "voter": "0xf7B94424Ae368e28Df5c1E9b059c4263E1fFfe44", - "support": true, - "votingPower": 409.8736625682185, - "transactionHash": "0xf8055386f873476e5e77231b037013a6e84cf16382b219db9dca3042a14cb9af", - "timestamp": 1619115416, - "blockNumber": 12291567 - }, - { - "proposalId": 10, - "voter": "0x192420795e6a2c80c4A90f8a380D792145985f27", - "support": true, - "votingPower": 1.129e-15, - "transactionHash": "0xd5b5270223331b1ba5c1c1e547e9fe12f692109559d671691d8d4452cae5bede", - "timestamp": 1619138322, - "blockNumber": 12293297 - }, - { - "proposalId": 10, - "voter": "0x10F4f95745bE83d3F3f03c73895229D39cC4780d", - "support": true, - "votingPower": 2.600587546184704, - "transactionHash": "0x36035cc997f469d4f625e31144cd3e3a5a020acb878a6bdbab6cfc05756a8be7", - "timestamp": 1619139187, - "blockNumber": 12293352 - }, - { - "proposalId": 10, - "voter": "0x6F23F04c3C974A95bE93069daD95feaD6fffF633", - "support": true, - "votingPower": 46.96679971942693, - "transactionHash": "0x578723589c16ee2116a77df429657550bf840df2a5d5bd071010ac7581e61aae", - "timestamp": 1619139782, - "blockNumber": 12293406 - }, - { - "proposalId": 10, - "voter": "0xfA610F8304909a90B1760cF8B50CC1fDe6Ea1F5c", - "support": true, - "votingPower": 1408.320349603524, - "transactionHash": "0x324b8a54760e6853635286311e445af5c13491e58e65d1b1668624dd44bbf795", - "timestamp": 1619166687, - "blockNumber": 12295396 - }, - { - "proposalId": 10, - "voter": "0x7F18CA114C9D162B7078791582885F41caa4cAEd", - "support": true, - "votingPower": 70.61175357000045, - "transactionHash": "0xb7911cbb1589495f22a15cd120ecf4a7534a14788a1de0696173fa030ae96f69", - "timestamp": 1619174789, - "blockNumber": 12295999 - }, - { - "proposalId": 10, - "voter": "0x510b2D8E30e8c79247C51E04D5Be8bF7262F9938", - "support": true, - "votingPower": 4805.385574607477, - "transactionHash": "0xe3e0682057a7df1dfbce046f44886207d5403dacc2ac428e8caa0a4349a56297", - "timestamp": 1619186868, - "blockNumber": 12296884 - }, - { - "proposalId": 10, - "voter": "0xd83256a8BB182e7BE2382550Ed24861C71108d35", - "support": true, - "votingPower": 1.108586, - "transactionHash": "0x9f3d353a2ff4166cd8eef452401a1764a4bfde5523fc8b3a565d906b09396dac", - "timestamp": 1619194432, - "blockNumber": 12297484 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 11, - "voter": "0x8d07D225a769b7Af3A923481E1FdF49180e6A265", - "support": true, - "votingPower": 50, - "transactionHash": "0xcac24e6d4503bfe93a866986d56607d16b22aa1d76bfa0e5eaeaa42d6c9db368", - "timestamp": 1619110826, - "blockNumber": 12291243 - }, - { - "proposalId": 11, - "voter": "0xDE3ba1B41e6c612a3Ca3213B84bdaf598dfFdb9b", - "support": true, - "votingPower": 35.619486070861136, - "transactionHash": "0x63b777b9b61451c91f6120dda008f80e6520cdad5ead134975630767f1d3399e", - "timestamp": 1619111215, - "blockNumber": 12291273 - }, - { - "proposalId": 11, - "voter": "0x48Bd8b901811ae90b6e43eFed61c9b9fd8444060", - "support": true, - "votingPower": 28.402379991141068, - "transactionHash": "0x8ed78fc3a4a94867aa270f634eef9e5f31b8f8faf5777db6f4ee4be1baf4c2ff", - "timestamp": 1619111352, - "blockNumber": 12291284 - }, - { - "proposalId": 11, - "voter": "0x970daFeC8079E8B7500177A7d66873bF7D01F7aF", - "support": true, - "votingPower": 64.81852181892647, - "transactionHash": "0xc4a6b1c824c860ee287cfb275c7de205974f6ae014d8dba2de464a359d95c2c3", - "timestamp": 1619111568, - "blockNumber": 12291299 - }, - { - "proposalId": 11, - "voter": "0x5674cD885E9597cf501D582F33D74E84BaC29b7C", - "support": true, - "votingPower": 100, - "transactionHash": "0x49040eecdd605db438e812b8a2da821d7398754a361ea49a35bdc5700176bfb5", - "timestamp": 1619112179, - "blockNumber": 12291350 - }, - { - "proposalId": 11, - "voter": "0x2BFe66759f0331066F3E7D57b3DC9a96bfC17927", - "support": true, - "votingPower": 1.0000002319380918, - "transactionHash": "0x4886484f805109c7d6dfc580377488aaeeba0f6bf89cb62679f63d205ede4950", - "timestamp": 1619112231, - "blockNumber": 12291356 - }, - { - "proposalId": 11, - "voter": "0xdD709cAE362972cb3B92DCeaD77127f7b8D58202", - "support": true, - "votingPower": 191589.9763606646, - "transactionHash": "0x3cba13236050f8f80159b9c67d7c1fdf75d1f971bdc127f1135e99e9f0347f3a", - "timestamp": 1619112284, - "blockNumber": 12291362 - }, - { - "proposalId": 11, - "voter": "0x9B5ea8C719e29A5bd0959FaF79C9E5c8206d0499", - "support": true, - "votingPower": 100674.1911152624, - "transactionHash": "0x7442c1880a8697f1e579c7ca0bb550c819bd1e9999bfe5c1d4e0872fa9677e88", - "timestamp": 1619112284, - "blockNumber": 12291362 - }, - { - "proposalId": 11, - "voter": "0xcdb7361E0793350BE029F2B1139621597e4CB053", - "support": true, - "votingPower": 10.07003120319746, - "transactionHash": "0x3f79ac2e72a448009236ec544c636df886af349e1a90a63a4b017d1f424c3547", - "timestamp": 1619112596, - "blockNumber": 12291384 - }, - { - "proposalId": 11, - "voter": "0xCed2f0dcb70757339F7072A3ffA08a4A73497435", - "support": true, - "votingPower": 3.5, - "transactionHash": "0x8a3e8208da45995f2cafe883258e7b6244b7aebe6e66839deadb1fa5635f38a9", - "timestamp": 1619113404, - "blockNumber": 12291439 - }, - { - "proposalId": 11, - "voter": "0xf7B94424Ae368e28Df5c1E9b059c4263E1fFfe44", - "support": true, - "votingPower": 409.8736625682185, - "transactionHash": "0x3641fc8d9404a7931f05aa29836d423bcafbd04bcfed1645c469853d0b0a8fb3", - "timestamp": 1619115232, - "blockNumber": 12291555 - }, - { - "proposalId": 11, - "voter": "0xF72a2caA677B90b0ae449aF1318F1B80344ae97c", - "support": true, - "votingPower": 100.00186281446095, - "transactionHash": "0x7d26a1a4b22b70f28416e8c91567f3a55de70b100186fa1a54981191a7e3c8c4", - "timestamp": 1619116019, - "blockNumber": 12291613 - }, - { - "proposalId": 11, - "voter": "0x6fB505a2Dad7EAf69E50E9db444E808fe8e43744", - "support": true, - "votingPower": 150.00370565943146, - "transactionHash": "0x219caa20c8628beec219cfd5ef7f692a0e554f674bbbbf828e823146e3146a50", - "timestamp": 1619116025, - "blockNumber": 12291614 - }, - { - "proposalId": 11, - "voter": "0x797BC498EdEE4357a16a1054dB0323CbD04C84c3", - "support": true, - "votingPower": 0.3646816245289506, - "transactionHash": "0x0dcd8bc1a616ec9a658a3d6ab29ab955d4fb2ce22a47dd2ebed2908d4147ab52", - "timestamp": 1619116115, - "blockNumber": 12291620 - }, - { - "proposalId": 11, - "voter": "0x10D6d2e343281D388291A3e02f3293AaEdA67178", - "support": true, - "votingPower": 6.350921447143325, - "transactionHash": "0x292cd2a9da3e22ef346016b6aa40fa300d10f0f96bb4b258aca81d246e61d4b5", - "timestamp": 1619117899, - "blockNumber": 12291752 - }, - { - "proposalId": 11, - "voter": "0x6bac48867BC94Ff20B4C62b21d484a44D04d342C", - "support": true, - "votingPower": 21.00042283305675, - "transactionHash": "0xbd01456af75202148aea641a2e1c12ddde1ecf399f008fb75002209a021cfca2", - "timestamp": 1619118693, - "blockNumber": 12291817 - }, - { - "proposalId": 11, - "voter": "0xAEa61DcD45cd299a8bEb0D42484344FC20624E95", - "support": true, - "votingPower": 210.9202064778803, - "transactionHash": "0x8357981f2b500a3673d3fb7443f515ebc6ba3cd646e36f0f3cd22ddf06f839b3", - "timestamp": 1619122589, - "blockNumber": 12292118 - }, - { - "proposalId": 11, - "voter": "0x1b2E6C79A0b9a1f19234D45D9A8DB9EE57Bc0b14", - "support": true, - "votingPower": 426.62902310776644, - "transactionHash": "0x3eccfadfd15a67365517fc09919ab153caae73f141f92603b24a7b5c3eae8821", - "timestamp": 1619130433, - "blockNumber": 12292709 - }, - { - "proposalId": 11, - "voter": "0x32caee5A069F2caC53BcE9E50743A400e003C384", - "support": true, - "votingPower": 4.099091599225911, - "transactionHash": "0xe00008d66da8b36b9f35b4f50d254e4d189472c81f2a47cc217aa7cfea09c599", - "timestamp": 1619130990, - "blockNumber": 12292754 - }, - { - "proposalId": 11, - "voter": "0xF569914d4E46cBD6A91fDE6c8850a079604A271b", - "support": false, - "votingPower": 1147.3608898102448, - "transactionHash": "0x2a1a62d8606cf416610758c2a21c78685713db9eaf00dc0fb7c2d506f8f5c818", - "timestamp": 1619131176, - "blockNumber": 12292771 - }, - { - "proposalId": 11, - "voter": "0x5802aAf121fb77530d8190cbcbda4ac8451C47aa", - "support": false, - "votingPower": 4.283866866913419, - "transactionHash": "0x95568aa733308f47ad190796ec2b25205e8b6842c5d27ab5d06c948a9da02c63", - "timestamp": 1619133212, - "blockNumber": 12292920 - }, - { - "proposalId": 11, - "voter": "0x7ECbD170193f406E2124bF4FB9ea842Af18b95eD", - "support": true, - "votingPower": 2.5276, - "transactionHash": "0x0cea0da55ae41e9ec1c8c3b66738008ead51173c18cd848946cfe007072ff958", - "timestamp": 1619133390, - "blockNumber": 12292936 - }, - { - "proposalId": 11, - "voter": "0xeE7F85B62642b9e2C5687790B5b4df9fC7f7442f", - "support": true, - "votingPower": 0.65, - "transactionHash": "0xff3df2789d6c2aa5e6dc73cd25eb62b307ebe2e3c8e111e44f7eba784061582d", - "timestamp": 1619134237, - "blockNumber": 12293004 - }, - { - "proposalId": 11, - "voter": "0x908E8E8084d660f8f9054AA8Ad1B31380d04B08F", - "support": true, - "votingPower": 0.7, - "transactionHash": "0xc6165be219d74a705cc7b22c686236530c934767250b58c0498a3ffe6d6baef2", - "timestamp": 1619134339, - "blockNumber": 12293014 - }, - { - "proposalId": 11, - "voter": "0x7F18CA114C9D162B7078791582885F41caa4cAEd", - "support": true, - "votingPower": 70.61175357000045, - "transactionHash": "0x0fad23c00876d7699485600030bdce9ab150bb805a464029e78a84e0f09295a1", - "timestamp": 1619137027, - "blockNumber": 12293209 - }, - { - "proposalId": 11, - "voter": "0x192420795e6a2c80c4A90f8a380D792145985f27", - "support": true, - "votingPower": 1.129e-15, - "transactionHash": "0x1b8bfbc416a6ae338c287d491dd0bc09df1fa77cd08895b69179694e87dd8c62", - "timestamp": 1619138322, - "blockNumber": 12293297 - }, - { - "proposalId": 11, - "voter": "0xcFa674b4e23d6a9640Cd8f43f04829d6FcdFE428", - "support": true, - "votingPower": 133.8327343230615, - "transactionHash": "0x4e49d8a9c035d463dd709cd19d44fc93718bf39db7f02e4c3dee4a55d3675224", - "timestamp": 1619138333, - "blockNumber": 12293298 - }, - { - "proposalId": 11, - "voter": "0x10F4f95745bE83d3F3f03c73895229D39cC4780d", - "support": true, - "votingPower": 2.600587546184704, - "transactionHash": "0x7950312a19cb5357b91885a9dcd42258d060c979e818425d3b14a08a1611774b", - "timestamp": 1619138931, - "blockNumber": 12293335 - }, - { - "proposalId": 11, - "voter": "0x28750E72E8c9696f9Eb98786E621f65495D363e9", - "support": true, - "votingPower": 84.6535, - "transactionHash": "0x98008ba8d8af26a6efa0bceb69453707b5a25bb5717bb9ed7876b9ec2001e78b", - "timestamp": 1619138951, - "blockNumber": 12293337 - }, - { - "proposalId": 11, - "voter": "0xaBe780bDc3872B4DEC16bD44B2bB999f9151aE28", - "support": true, - "votingPower": 72.08517059285495, - "transactionHash": "0x44ac01e2ba799383f15964ed2691d542f94c9b8691e4595b867122654941f11b", - "timestamp": 1619139083, - "blockNumber": 12293345 - }, - { - "proposalId": 11, - "voter": "0x2c682357aF557244f91C7C76855D435AE0f154cd", - "support": true, - "votingPower": 150.2800187059373, - "transactionHash": "0x0cc5604a45a4024cf754b70a629e286221753308097e717b8fed0fb5b1d202f2", - "timestamp": 1619139352, - "blockNumber": 12293366 - }, - { - "proposalId": 11, - "voter": "0x6F23F04c3C974A95bE93069daD95feaD6fffF633", - "support": true, - "votingPower": 46.96679971942693, - "transactionHash": "0x20c5cca96fcc16872341e503781f237e5885f92a7862a5780e413ef76f9d2990", - "timestamp": 1619139835, - "blockNumber": 12293410 - }, - { - "proposalId": 11, - "voter": "0x82Bb6B5e92E1143fC03ee468a7Ba9Df8e955f7c2", - "support": true, - "votingPower": 250.83020705188136, - "transactionHash": "0x328d56db990cadb747a3629b0ce1d6d2fed47c4986995ce76b6d53d5d12e8f5e", - "timestamp": 1619141906, - "blockNumber": 12293540 - }, - { - "proposalId": 11, - "voter": "0xC17905420D885c1967C9bbAE432A518480f58Cca", - "support": true, - "votingPower": 251.00004828946112, - "transactionHash": "0xe0765b28a321be6acd897a97f59c29dd43e034976a67f0ba115d8e0709e26886", - "timestamp": 1619141984, - "blockNumber": 12293548 - }, - { - "proposalId": 11, - "voter": "0x9522bD02f95c29a8722Bdc908b166Fe92Cd6294B", - "support": true, - "votingPower": 0.7438089711812921, - "transactionHash": "0x5954f4789bfa996cc259099a6051b45c48a7cd6eb5b8fdda74a362c9da466f2e", - "timestamp": 1619148319, - "blockNumber": 12294036 - }, - { - "proposalId": 11, - "voter": "0x0991D02f28a5283338e9591CBf7dE2eb25da46Cd", - "support": true, - "votingPower": 588.1038343847856, - "transactionHash": "0x64de09960148a81cf96b9695dae9d657ab1f54cd6809a5da27211d5675f8d350", - "timestamp": 1619164227, - "blockNumber": 12295221 - }, - { - "proposalId": 11, - "voter": "0x975779102B2A82384f872EE759801DB5204CE331", - "support": true, - "votingPower": 4000, - "transactionHash": "0x48011157512c91a1170372e1d4f1857b4830b9d79691d95271876417d3429258", - "timestamp": 1619166352, - "blockNumber": 12295367 - }, - { - "proposalId": 11, - "voter": "0xfA610F8304909a90B1760cF8B50CC1fDe6Ea1F5c", - "support": true, - "votingPower": 1408.320349603524, - "transactionHash": "0xfb6a42e16b2b3bd4e01c0f1046d3fd1b44b134f30a9bc535e2ab53b99ec159f1", - "timestamp": 1619166569, - "blockNumber": 12295388 - }, - { - "proposalId": 11, - "voter": "0xA4DC2788bCc832095bBa2B148a5D98D0dCA270a6", - "support": true, - "votingPower": 0.11908986821725337, - "transactionHash": "0x1571aacd46664b9ff81ccaeea5dd280571b4f5472cf81482544ff2f7e9eaf2e2", - "timestamp": 1619183288, - "blockNumber": 12296597 - }, - { - "proposalId": 11, - "voter": "0x037DB64BB201C0d0c11eE4cFdA90c366239092ff", - "support": true, - "votingPower": 50.17976882829677, - "transactionHash": "0x50a4e98e2684c225784795b3898bf491dec184dba7f355d4469e90927653c356", - "timestamp": 1619186090, - "blockNumber": 12296814 - }, - { - "proposalId": 11, - "voter": "0x510b2D8E30e8c79247C51E04D5Be8bF7262F9938", - "support": true, - "votingPower": 4805.385574607477, - "transactionHash": "0x4668e1ace5ca85c7891688b7a2d8d26408491e322aac6feac9a70eedd591ce92", - "timestamp": 1619186868, - "blockNumber": 12296884 - }, - { - "proposalId": 11, - "voter": "0xA334d8A8fc7460E86f16cc430B6943780c9eE701", - "support": true, - "votingPower": 101, - "transactionHash": "0xc72300e3b87de0cb13338057391934260826c002076d7452609b4f82e28856bd", - "timestamp": 1619187085, - "blockNumber": 12296900 - }, - { - "proposalId": 11, - "voter": "0xE58585B22cC2aC4270a2b92c2D2d8C5dB5A3330E", - "support": true, - "votingPower": 46.85810251312168, - "transactionHash": "0x609edd5f3029efc320d3e14730c0b09739be8c672658118f0abf8199af483759", - "timestamp": 1619193635, - "blockNumber": 12297422 - }, - { - "proposalId": 11, - "voter": "0xd83256a8BB182e7BE2382550Ed24861C71108d35", - "support": true, - "votingPower": 1.108586, - "transactionHash": "0xf940ea74467633dc38c3d3ce94313609130bcbf3fa5bcb440150e4f4b3154812", - "timestamp": 1619194119, - "blockNumber": 12297458 - }, - { - "proposalId": 11, - "voter": "0xc83851a3Dec427Cc5052fd295BBA9bE733493377", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x7a8c0616937bc8949b0004e8287ffcaea8a059fc11809dcd70254d40ca24974b", - "timestamp": 1619194306, - "blockNumber": 12297472 - }, - { - "proposalId": 11, - "voter": "0xDA0FF2D121249233836E83475CC18f74ceecFe5A", - "support": false, - "votingPower": 199.99999764702144, - "transactionHash": "0xfae7e43b827a9c5b928df64a199a68c18d9fd953c44b91d711a2c7aad7715877", - "timestamp": 1619195542, - "blockNumber": 12297562 - }, - { - "proposalId": 11, - "voter": "0x7e86b2E9B9e6c0EE02b0200648d9FcF20557e3C5", - "support": true, - "votingPower": 35.564, - "transactionHash": "0xc41d68beb38fd169770a463038c8f39ed5402dded88dfbd22a2629dd3f592a1c", - "timestamp": 1619199481, - "blockNumber": 12297887 - }, - { - "proposalId": 11, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 26671.77770266518, - "transactionHash": "0x2a0b972fb75128a28a791418a3b08ac68e7fb835054ccf573cb1bcf71322da8c", - "timestamp": 1619204711, - "blockNumber": 12298285 - }, - { - "proposalId": 11, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 39493.33785365631, - "transactionHash": "0xc72e504698d365391bf77228865f77801556e67b6999423a8922111ebd922141", - "timestamp": 1619204762, - "blockNumber": 12298292 - }, - { - "proposalId": 11, - "voter": "0xca768c37ba6EC3d67bE7B47bbE1F1C94CA216f46", - "support": false, - "votingPower": 525.000000127771, - "transactionHash": "0x5f3d7f0336f8dfddad3404571324af90c6a7ef616ba01b78222c14415a296f39", - "timestamp": 1619210501, - "blockNumber": 12298705 - }, - { - "proposalId": 11, - "voter": "0x7BFEe91193d9Df2Ac0bFe90191D40F23c773C060", - "support": true, - "votingPower": 657.0945986205753, - "transactionHash": "0x669d14da2da83918824b6432ed9d9f4f7b73b287e6572b36a8581d419f46a922", - "timestamp": 1619216699, - "blockNumber": 12299177 - }, - { - "proposalId": 11, - "voter": "0x865Ba550Cc0E6f3bC82171C42c5a6Ed4Ab975c64", - "support": true, - "votingPower": 99.99999973760222, - "transactionHash": "0x5c36382dddb00e278e85edabfad3f2723a6f48fd23d751f2bb73821d1bf47958", - "timestamp": 1619219202, - "blockNumber": 12299350 - }, - { - "proposalId": 11, - "voter": "0x2cA164b3751e7cce44c006Fce9029a0c8b6f659b", - "support": true, - "votingPower": 404.24818703522305, - "transactionHash": "0x9737b97debc86d31cb36773bb3da1785782d7267753f7261ab2c96a062d5083f", - "timestamp": 1619219703, - "blockNumber": 12299393 - }, - { - "proposalId": 11, - "voter": "0x4F8bB28187Cc89ddAD0f35AA76A4693A54595c24", - "support": true, - "votingPower": 1.9385, - "transactionHash": "0x6b2e8e6b4fa025b168174bac11dee6e3d2762803b773991f9d3def7b45c9fed9", - "timestamp": 1619220801, - "blockNumber": 12299465 - }, - { - "proposalId": 11, - "voter": "0x4202e733eB2D17A92401fD75148d04ac1b28F1c3", - "support": true, - "votingPower": 35.343000000000025, - "transactionHash": "0xdfa7b90f3a81b7b1bd8c58161d2d8a7393661e8c9cdb9c7369436bf212bc6f78", - "timestamp": 1619229870, - "blockNumber": 12300120 - }, - { - "proposalId": 11, - "voter": "0x41679958Bba0B0aafFCda35d983a15495CFd100D", - "support": false, - "votingPower": 7.332292869898136, - "transactionHash": "0x787db05c7358b5b380d1ff310609eba53c6298a3a44f27047bbaa048eb5d3803", - "timestamp": 1619245404, - "blockNumber": 12301283 - }, - { - "proposalId": 11, - "voter": "0xb0C4Cc1AA998DF91D2c27cE06641261707A8c9C3", - "support": true, - "votingPower": 0.43294046628074845, - "transactionHash": "0x1018b8a8f99b66247b43e3983cafa8880fb50ea6ae98fa24b5ec947ecd76079f", - "timestamp": 1619248084, - "blockNumber": 12301493 - }, - { - "proposalId": 11, - "voter": "0x8f442a1A8b1736Db6fC38Ca02bfEB0B79b95019D", - "support": true, - "votingPower": 2544.4573266147568, - "transactionHash": "0x8b544d1db7de2a85c039a5c5230d3b671a011e3e9882465229c13e853727f2ad", - "timestamp": 1619249519, - "blockNumber": 12301595 - }, - { - "proposalId": 11, - "voter": "0x918558df5A12Ba43657222bbcf1a735494a5024f", - "support": true, - "votingPower": 150.4195543670779, - "transactionHash": "0x9da6459ec1b91653340c8fb8c3cdbd396df066edaabd99c169bf67ab516e5dd8", - "timestamp": 1619250592, - "blockNumber": 12301687 - }, - { - "proposalId": 11, - "voter": "0x3B24Dde8eF6B02438490117985D9Cfa2EdCcf746", - "support": true, - "votingPower": 0.10411877, - "transactionHash": "0x9d7e46e42fca8843a223d5eb52fc665586ee9bab3b62c8ae45fe241154a2b59e", - "timestamp": 1619253453, - "blockNumber": 12301887 - }, - { - "proposalId": 11, - "voter": "0xF33dc87D01C7a1fA2EC09EE5FD94250a9D919E58", - "support": true, - "votingPower": 0.085, - "transactionHash": "0xf2fc1f9d990f04f3074954143fb42dd0b5e03177a9c9762f6172e032ef075778", - "timestamp": 1619253578, - "blockNumber": 12301897 - }, - { - "proposalId": 11, - "voter": "0xe00e7d9fFcCf63EdDDB0c8f16E132C1756229487", - "support": true, - "votingPower": 0.085, - "transactionHash": "0xfab05bda6d26d65b6b1e72c4bdf3e598e98031b9fb3599d3049659a079a3af94", - "timestamp": 1619253660, - "blockNumber": 12301905 - }, - { - "proposalId": 11, - "voter": "0x64aCC74B69fAAaA90a5bcD5c46B4dE3bAf0C51B8", - "support": true, - "votingPower": 111.1655321601665, - "transactionHash": "0x04e89792c26aad0d8862e454e2f64b6c10cacce9a3c1f0988ae648b349ffa246", - "timestamp": 1619260591, - "blockNumber": 12302424 - }, - { - "proposalId": 11, - "voter": "0xC53a1B7da00e02Ef475283f303247A314c636175", - "support": true, - "votingPower": 104.0697734181783, - "transactionHash": "0xfc154dd926e942cae7dea92076812a996e15909ab400132e2250d973de1c6372", - "timestamp": 1619261136, - "blockNumber": 12302478 - }, - { - "proposalId": 11, - "voter": "0x0952ecc0080Ed9A0cBD5839a3CC6758b85C3a835", - "support": true, - "votingPower": 20.63490769, - "transactionHash": "0xb39771c6c1367e8df66938e427871aa60c92fcef2190c35f4aef4c8f1a5a12b6", - "timestamp": 1619264080, - "blockNumber": 12302684 - }, - { - "proposalId": 11, - "voter": "0x5A50412aD703847130469C1C4309abD411Ee0aD7", - "support": true, - "votingPower": 1, - "transactionHash": "0x1f89cb4d3f99667275f451397e76de413d41386c8bcb5d587ed833fe9784556b", - "timestamp": 1619264979, - "blockNumber": 12302749 - }, - { - "proposalId": 11, - "voter": "0xe29f5ad2A33c76CCACa2d2e3226fF80085cE4573", - "support": true, - "votingPower": 61.873, - "transactionHash": "0x59675f61554428972c88a7619d7593a41aa82a4d1e9b6d9f1e2dfc92a53e8fbf", - "timestamp": 1619268941, - "blockNumber": 12303050 - }, - { - "proposalId": 11, - "voter": "0x6A96B17601C59D867123C5F45C0867Fc735Ed15a", - "support": true, - "votingPower": 30.240704655366383, - "transactionHash": "0xb6068f4f80c5d37cb85a675b93d6e60504d852a0395e0eb8368cb6ded6db0d32", - "timestamp": 1619272887, - "blockNumber": 12303346 - }, - { - "proposalId": 11, - "voter": "0xAD549C7fcF1bd3E57BCa464D9Dce0A0D561599D1", - "support": true, - "votingPower": 43.718003293475654, - "transactionHash": "0x2cdf7ebc9117da2bd6b9c38e83235cb925af21909869e927827adeb982054736", - "timestamp": 1619274910, - "blockNumber": 12303519 - }, - { - "proposalId": 11, - "voter": "0xAc153CC143dABF40f6352388BEEF5EC5F1C41A38", - "support": true, - "votingPower": 50.41826231217043, - "transactionHash": "0x87c29a839d5d31a4635e7701dcccbc237dbc2b409f643e70c71ff5737ade16c2", - "timestamp": 1619283059, - "blockNumber": 12304098 - }, - { - "proposalId": 11, - "voter": "0xC7695658167e9afe23363184bE8d599FAA996DAc", - "support": true, - "votingPower": 0.8379207398748917, - "transactionHash": "0x2f1dd6202ef5cd966d87c1daaa3a3511e79b38025d206e0544301376bb8fb292", - "timestamp": 1619287031, - "blockNumber": 12304405 - }, - { - "proposalId": 11, - "voter": "0xFb30ED9bDF5386cC347d5a9E3fE237705AE6EA3f", - "support": true, - "votingPower": 0, - "transactionHash": "0x9727d8f6c69d1926f97017767827b8028517fc34612e991048fea8101a2533be", - "timestamp": 1619289531, - "blockNumber": 12304606 - }, - { - "proposalId": 11, - "voter": "0x07DA04C2e5F3c3675425302B7B027A2ded9efcf1", - "support": true, - "votingPower": 5.921, - "transactionHash": "0x0cdaf9a6dfc6e79f5fd00102559052ed562c7a4ed07ab5e588c664b7b8b50ff7", - "timestamp": 1619292169, - "blockNumber": 12304793 - }, - { - "proposalId": 11, - "voter": "0x3004E7d0bA11BcD506349F1062eA57f7037F0BBd", - "support": true, - "votingPower": 0.035854301376860825, - "transactionHash": "0x6880617901c65d0d4fe1cca34226b1fae55e4c0c1a2f9f808fcb450a98fe98ff", - "timestamp": 1619309062, - "blockNumber": 12306097 - }, - { - "proposalId": 11, - "voter": "0x66574F487f2972212C96A7b6F9D43E7FC6498A23", - "support": true, - "votingPower": 4.610191, - "transactionHash": "0x2b86d5f48ba4393f685d15baf2a145169568bfb688e140791627ab3c7cc9632d", - "timestamp": 1619311541, - "blockNumber": 12306251 - }, - { - "proposalId": 11, - "voter": "0x78B3367B0F547Cd16Bac453F788956AfcE92447B", - "support": true, - "votingPower": 6.0555400000001045, - "transactionHash": "0x719f1c5ecdfb5f6d174a82859c318b0ab3e28469feb39fcb1ff6cdce8e94dbc1", - "timestamp": 1619312347, - "blockNumber": 12306308 - }, - { - "proposalId": 11, - "voter": "0xFc80B8830Be449827a9d0DBbc53835704a5F2EF0", - "support": true, - "votingPower": 3.177888265622704, - "transactionHash": "0x75109ca00f69b8db31459ca8d98c0d518c8135ed5e43c2d90bed8f3543959483", - "timestamp": 1619315640, - "blockNumber": 12306559 - }, - { - "proposalId": 11, - "voter": "0x1494CA1F11D487c2bBe4543E90080AeBa4BA3C2b", - "support": true, - "votingPower": 65721.87792762266, - "transactionHash": "0x82b79e30889e8387bb33430eddf1fab3ed4cbf6a95fa0c6c51149834f1c1c4a0", - "timestamp": 1619317251, - "blockNumber": 12306692 - }, - { - "proposalId": 11, - "voter": "0x4a8B9E2C2940fdd39aceb384654dc59aCB58C337", - "support": true, - "votingPower": 6733.829164139907, - "transactionHash": "0x59ef5fbefcc82d62f94390507259d82ee62601a00c4aa3d485c7de05a30f0dda", - "timestamp": 1619320891, - "blockNumber": 12306952 - }, - { - "proposalId": 11, - "voter": "0xe9945b3AcbDc2f9dcad8871F01aa9dabBb20d882", - "support": true, - "votingPower": 3.80576, - "transactionHash": "0x70430cf21a53091fd4c4d5dae12407b7c510f1503c30bbb4509a70dc6f7956dc", - "timestamp": 1619326230, - "blockNumber": 12307361 - }, - { - "proposalId": 11, - "voter": "0xbB5D61CC9494A1c911F681BC0f1fBC2D5aAa6E39", - "support": true, - "votingPower": 0.01142442543, - "transactionHash": "0x7ae075a853b8aa9958c44acf70d32f29e831ee351eb49c40bdad34cd44ae4a12", - "timestamp": 1619326567, - "blockNumber": 12307382 - }, - { - "proposalId": 11, - "voter": "0xDd78Aa83eB209D3A83330368DaffA80A393285A5", - "support": true, - "votingPower": 1, - "transactionHash": "0x66d008018b818d5ce1804ff30c660b724aeaf5a5772487183c15dbd9fa4d3e8c", - "timestamp": 1619329204, - "blockNumber": 12307585 - }, - { - "proposalId": 11, - "voter": "0xC02bFC8c96477d82Ae78d3212b802C4bfC820F90", - "support": true, - "votingPower": 18.4, - "transactionHash": "0xdb7884e8476b26b70012c68473030aad93afe7d2b75512956a4775b86aad447d", - "timestamp": 1619331345, - "blockNumber": 12307763 - }, - { - "proposalId": 11, - "voter": "0xf7Eab72Ee14daD3DFEf597420F669c25B39f938C", - "support": true, - "votingPower": 1000.0002701068473, - "transactionHash": "0xf7d1c6b32897b8dd1b06a220d57a504ec5dc96f9c0c6193393c711f68389ff0b", - "timestamp": 1619343321, - "blockNumber": 12308673 - }, - { - "proposalId": 11, - "voter": "0x26273e65aab399b7a2F5Bd081F4569515EfFd050", - "support": true, - "votingPower": 12.43206174814661, - "transactionHash": "0x762a05febe273b8773a2485419c476cc2c6fb20686325d77e810fe67f02f80b5", - "timestamp": 1619344728, - "blockNumber": 12308775 - }, - { - "proposalId": 11, - "voter": "0x8Fa4Eb329cD2c01844b0e2E523df9EF6D130AB4f", - "support": true, - "votingPower": 0.65, - "transactionHash": "0x8e94c68a90a208efa73dd87f8303d050ad9b6ef55e3774885de622e09e5de9ed", - "timestamp": 1619346230, - "blockNumber": 12308904 - }, - { - "proposalId": 11, - "voter": "0x9E6aD02C5544aa38f82Ee871585357083b8Aaf67", - "support": true, - "votingPower": 0.65, - "transactionHash": "0xdb50e189d1dfdd57e7fec132803531b9bd53f3ac921f2a84b913233dcd41758b", - "timestamp": 1619346230, - "blockNumber": 12308904 - }, - { - "proposalId": 11, - "voter": "0x5564E4Fbd35F37D889973eB1AF427A6a555e8ebC", - "support": true, - "votingPower": 0.65, - "transactionHash": "0x646b078309431de389c058c9d8a5b1018f6b1ae2c84780d1a92b1b3b63818bb3", - "timestamp": 1619346300, - "blockNumber": 12308909 - }, - { - "proposalId": 11, - "voter": "0x22f98EaE7D6A8dBeB2dC5Bd514B964EA3f76c329", - "support": true, - "votingPower": 0.65, - "transactionHash": "0x5ef8822bbde3d869c75bc914b63f21c0cfa9a10d41dceace9ffaade427cbfcda", - "timestamp": 1619346301, - "blockNumber": 12308910 - }, - { - "proposalId": 11, - "voter": "0x24046f8fa6b91DadbD468aB5D5aD574A54E43793", - "support": true, - "votingPower": 0.65, - "transactionHash": "0x292080adaff0602235d4bced859c4b8ee3a8abea0be8f14d2bd4fa608f5c0098", - "timestamp": 1619346531, - "blockNumber": 12308925 - }, - { - "proposalId": 11, - "voter": "0x91B9a8e151A6DedC98A986e4A38D815e2664d385", - "support": true, - "votingPower": 0.65, - "transactionHash": "0x865de85a3b173b06663d4bdf9f108afaad41956203c91d1b34278b22b25d0dc3", - "timestamp": 1619346571, - "blockNumber": 12308928 - }, - { - "proposalId": 11, - "voter": "0x632c53783ab35d20BB7FDb6Ee6afa2fF62E6a82B", - "support": true, - "votingPower": 0.65, - "transactionHash": "0xb4842ae94f02c1768d9e0387846fb61035e81b5a1d55335b363e5e373337274f", - "timestamp": 1619346620, - "blockNumber": 12308932 - }, - { - "proposalId": 11, - "voter": "0x073DD99852205750e283604a1b82b698878922c2", - "support": true, - "votingPower": 0.65, - "transactionHash": "0x4941e13837a0aab05c3d3f8ee55be7ad01ac7b6e43be79828c4c3a3eb6c51e64", - "timestamp": 1619346620, - "blockNumber": 12308932 - }, - { - "proposalId": 11, - "voter": "0x2961768cc229226e7D83c0141C133789487bA763", - "support": true, - "votingPower": 0.65, - "transactionHash": "0xcfc4b4c3354aab20adce2df9bb5ef8996bbe41ffa9c6c3a12f1ff344c9756b92", - "timestamp": 1619346648, - "blockNumber": 12308936 - }, - { - "proposalId": 11, - "voter": "0x8ed43892b09bD69b8B5CAc53d93B8ADA3AAcc063", - "support": true, - "votingPower": 0.65, - "transactionHash": "0x49cd4d47728f41b3e8211fa9ebf13375b6686ded2e4b41dd827353eb48c78090", - "timestamp": 1619346678, - "blockNumber": 12308940 - }, - { - "proposalId": 11, - "voter": "0x3257F7D1169b46dBa77f18BE843E5C9FaC8a885D", - "support": true, - "votingPower": 0.65, - "transactionHash": "0x364f6423f5d31f9607ff718de9ecd01d0f8708a86ac89028d51fc3aa72884817", - "timestamp": 1619346737, - "blockNumber": 12308946 - }, - { - "proposalId": 11, - "voter": "0x06B1Bf28C962363F212878BDF87417Ebd0316220", - "support": true, - "votingPower": 23.410436, - "transactionHash": "0xefbeb538e71529c57f43ea36a87b5ce1bc81e0240ef922cd5d77d3fff893a758", - "timestamp": 1619347395, - "blockNumber": 12308995 - }, - { - "proposalId": 11, - "voter": "0x3070f20f86fDa706Ac380F5060D256028a46eC29", - "support": true, - "votingPower": 2, - "transactionHash": "0xc1a24205a66e92925e27aaca06794a175d790e2a10e38009b2d3d22340dc436a", - "timestamp": 1619348604, - "blockNumber": 12309078 - }, - { - "proposalId": 11, - "voter": "0x4A5Ef90f1554A4f0eAb0dd21AB91642172Fe95DC", - "support": true, - "votingPower": 0.07060954373779837, - "transactionHash": "0x6e2e0196c21a9b7687cec3eb1fd0528ae6061925cdf66edfeaa1ab0c0224e7f4", - "timestamp": 1619351256, - "blockNumber": 12309273 - }, - { - "proposalId": 11, - "voter": "0xb747e173524405B0D38d3Db3026635a27257E0d7", - "support": true, - "votingPower": 171.89034546946613, - "transactionHash": "0xf349301d63e0054d736aa9fd685de2c61e9c808d4544e99be4f07ef054bbb383", - "timestamp": 1619351619, - "blockNumber": 12309304 - }, - { - "proposalId": 11, - "voter": "0x49084125E425eD84a81e97F866043Ba413E959b9", - "support": true, - "votingPower": 2.0050282934882198, - "transactionHash": "0x45fcfce7777255a1f41ff88156b100d457f4024ff798c6e8bf13d3462fb65b02", - "timestamp": 1619355239, - "blockNumber": 12309575 - }, - { - "proposalId": 11, - "voter": "0xc4a936B003BC223DF757B35Ee52f6Da66B062935", - "support": true, - "votingPower": 92529.61013077926, - "transactionHash": "0x30b57956ce3fc3ed0fe7e3da410ef7db4c225c8ac6fdd2b30323c4b8ed1fd959", - "timestamp": 1619356001, - "blockNumber": 12309637 - }, - { - "proposalId": 11, - "voter": "0xA3F09fCCe3E340E251e23263B15d89623564b233", - "support": true, - "votingPower": 63621.20919493298, - "transactionHash": "0xd38425f6ac94c08c32bc9b7c96f8b6618bfae972cc90de80b32eb888d80f20bb", - "timestamp": 1619356439, - "blockNumber": 12309670 - }, - { - "proposalId": 11, - "voter": "0x4Bf03635d42067CF86aaaF173F134765c30e40Fc", - "support": true, - "votingPower": 26051.97201807346, - "transactionHash": "0x6d590ea283901b9155a1dcce267543709b46e87cd9f3cb310e2720ff66cb1019", - "timestamp": 1619356487, - "blockNumber": 12309673 - }, - { - "proposalId": 11, - "voter": "0x7B7e071E00CD8bF68d0Eabf587E738E3c51174f0", - "support": true, - "votingPower": 1.034, - "transactionHash": "0x08118cabac48c63a36ffaf5851240b99d1d408b225635befa2f5555c09fd780d", - "timestamp": 1619357934, - "blockNumber": 12309782 - }, - { - "proposalId": 11, - "voter": "0x36C4Bd54D54DD898C242F5F634f5D0CEf3bE2A8A", - "support": true, - "votingPower": 106761.47907070263, - "transactionHash": "0x8f789d698f8b81a877c0990cbd20a677b5b0063b99f4b47c35337dfcfedde9f8", - "timestamp": 1619358886, - "blockNumber": 12309855 - }, - { - "proposalId": 11, - "voter": "0x66B259B9E072E1ae256e738Dac2EBc25044178DE", - "support": true, - "votingPower": 114.06526687610102, - "transactionHash": "0x896c22ba43deb61eba970a607a6dea323a9de73e4b535649491c845c512129a6", - "timestamp": 1619361558, - "blockNumber": 12310035 - }, - { - "proposalId": 11, - "voter": "0x768ccBb0c70094a7a838Fb9afbD5D9dCA3778F1F", - "support": true, - "votingPower": 110.52768222884974, - "transactionHash": "0x4e4b1f755ab03f297484b57e8ea0e5db72578c87da9f523d5697df95c46c95c8", - "timestamp": 1619362382, - "blockNumber": 12310098 - }, - { - "proposalId": 11, - "voter": "0xEBf919b0DAfb9ea4BF324108A142C64A69052D8f", - "support": true, - "votingPower": 32.25836712080508, - "transactionHash": "0xbbefb9636e833074ad52fa743a5f2370153dfab26e3d6f2f7855f48f0a491a83", - "timestamp": 1619363533, - "blockNumber": 12310191 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 12, - "voter": "0x7BB24F9ae8843590FABF42e049577e2ba68AFa0E", - "support": true, - "votingPower": 6.661794247489552, - "transactionHash": "0xc7a30277840a0251e71411e7a1904e8e9eb614c3f8ce90cd4a40ddb2f1e1d19b", - "timestamp": 1620138607, - "blockNumber": 12368318 - }, - { - "proposalId": 12, - "voter": "0x3fBDB2628a375F1fCffd53D081C59f6B7774DeD9", - "support": true, - "votingPower": 5.05, - "transactionHash": "0xc97351433182659ec85ec5f2e426ad99a075504b0e966c1725327c59c7bd6e56", - "timestamp": 1620141027, - "blockNumber": 12368493 - }, - { - "proposalId": 12, - "voter": "0x54E5e90a6679314E8339BB1ED74BeAb5cA19324A", - "support": true, - "votingPower": 29.81379568, - "transactionHash": "0x2b788c3ba9cc6f446b738a323fa90a3ea2a5baeb21ccfdc225fb019cd6430b4f", - "timestamp": 1620142595, - "blockNumber": 12368606 - }, - { - "proposalId": 12, - "voter": "0x93D97177b554137c3fce0c468eD64812b31bA883", - "support": true, - "votingPower": 194.819728378632, - "transactionHash": "0x56bc6be1a96ef506017dff6efb89307e5d6a2c405e28b87f1456e9f8743e2b74", - "timestamp": 1620144458, - "blockNumber": 12368734 - }, - { - "proposalId": 12, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 27357.574506355817, - "transactionHash": "0x54f660cd4c958bd81ea29d9c7489200b927a38d8cb25c562fcfc109789056046", - "timestamp": 1620145824, - "blockNumber": 12368846 - }, - { - "proposalId": 12, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 50094.76740503272, - "transactionHash": "0x9e129c2d04115e46f986735e4912cf338eb50183e8d3a42e07f77bc88f2563f0", - "timestamp": 1620146265, - "blockNumber": 12368887 - }, - { - "proposalId": 12, - "voter": "0xdB2bCCFB0428f6384f6571d4DF48a639b593D15b", - "support": true, - "votingPower": 0.008, - "transactionHash": "0x4ef71abaf0769ba81bb6c787584e6fe16ffa28d8d5a0311d2edb5207c5582336", - "timestamp": 1620146446, - "blockNumber": 12368901 - }, - { - "proposalId": 12, - "voter": "0xA7499Aa6464c078EeB940da2fc95C6aCd010c3Cc", - "support": true, - "votingPower": 604.1663535404971, - "transactionHash": "0xfdf86e1272be02558db797abef92b14f2e6d615aec5d493dcd1e2318abc2f08d", - "timestamp": 1620146801, - "blockNumber": 12368923 - }, - { - "proposalId": 12, - "voter": "0xE079C28A1064bE7e9DD6384ae0D0Ca281e0c98D6", - "support": true, - "votingPower": 189.57902404584252, - "transactionHash": "0x1ed8df13386742e72a36107c1045e63bed050ffea6a2cee5e3c9b5c500a9e5e1", - "timestamp": 1620148372, - "blockNumber": 12369049 - }, - { - "proposalId": 12, - "voter": "0x3e33cf27df24F09fEC519A0D1ED22D2CC061bbF7", - "support": true, - "votingPower": 400.0289, - "transactionHash": "0x4201c70ac6c250a736af01ceff406066d148c5802fb501aac7db90fa3cb9a26e", - "timestamp": 1620149763, - "blockNumber": 12369152 - }, - { - "proposalId": 12, - "voter": "0xa1C7bd2e48f7f3922e201705f3491C841135F483", - "support": true, - "votingPower": 0.9462926, - "transactionHash": "0x3ff3df9d87e8491f06cfcb9ee413f086243891b0716b5f844311e0989dee5140", - "timestamp": 1620150161, - "blockNumber": 12369185 - }, - { - "proposalId": 12, - "voter": "0x0A53E28f2f7b27971E18a6305C2C74A449BADd2e", - "support": true, - "votingPower": 16.78796783883234, - "transactionHash": "0x795aa02f47f5fbd32156e243611608591aba26bc2aa09280e637dba3363726e9", - "timestamp": 1620158841, - "blockNumber": 12369808 - }, - { - "proposalId": 12, - "voter": "0x8d07D225a769b7Af3A923481E1FdF49180e6A265", - "support": true, - "votingPower": 50, - "transactionHash": "0x20ab0ef7c7bcd3a78865a38ace7bbda1ce1554368797865761788a6d3abe0687", - "timestamp": 1620163959, - "blockNumber": 12370217 - }, - { - "proposalId": 12, - "voter": "0x4AdA1B9D9fe28aBd9585f58cfEeD2169A39e1c6b", - "support": true, - "votingPower": 333.49736822919044, - "transactionHash": "0x64aedd594d8ff6b8e09759d36a683215baff10b6bb627d28c669e5645c87e7c5", - "timestamp": 1620164975, - "blockNumber": 12370303 - }, - { - "proposalId": 12, - "voter": "0x6bac48867BC94Ff20B4C62b21d484a44D04d342C", - "support": true, - "votingPower": 21.00042283305675, - "transactionHash": "0xfe6069181a740ebf9b7cf7128872786b8e4f26b909d4980cb4cdb2dd22006a7e", - "timestamp": 1620166082, - "blockNumber": 12370385 - }, - { - "proposalId": 12, - "voter": "0x10F4f95745bE83d3F3f03c73895229D39cC4780d", - "support": true, - "votingPower": 2.9047885622160976, - "transactionHash": "0x6ea3306735063ea443034ef9732524f02078f221b60cd5e8c976c2eeb6a0b484", - "timestamp": 1620172377, - "blockNumber": 12370827 - }, - { - "proposalId": 12, - "voter": "0x72b223De2F773C814465C4A8f2Ef9FaAe702Cfb3", - "support": true, - "votingPower": 295.68619218075565, - "transactionHash": "0xdc04c0b499c8160c3030dc866ee53ad283f51b5c92c69f69344a61afc9664a8f", - "timestamp": 1620174590, - "blockNumber": 12370992 - }, - { - "proposalId": 12, - "voter": "0x7785dac603C634ff3A2bB4D6A3f56174ef6Ecd08", - "support": true, - "votingPower": 0.9512665244861107, - "transactionHash": "0x9706419d1eca66695fc01f02a99b517d9fb583a19e145fffae876bfae137b75e", - "timestamp": 1620177938, - "blockNumber": 12371241 - }, - { - "proposalId": 12, - "voter": "0x8042d9d476cfD2CC1BcdB4326D5cA3F30a994379", - "support": true, - "votingPower": 1.3195517309857763, - "transactionHash": "0xe3cb13dc7f347a5326710ccfdf15c90295324f8ec1e359f33407c0a2a3e53407", - "timestamp": 1620179652, - "blockNumber": 12371369 - }, - { - "proposalId": 12, - "voter": "0x7553fa99AB1f429551eeC660708C08E14E30584F", - "support": true, - "votingPower": 33.93614921144018, - "transactionHash": "0x7fcf4d379a93c192f85e58c5a854d10bec12217501dcc2137e155c25bc8d6cde", - "timestamp": 1620180621, - "blockNumber": 12371434 - }, - { - "proposalId": 12, - "voter": "0xf7Eab72Ee14daD3DFEf597420F669c25B39f938C", - "support": true, - "votingPower": 1000.0002701068473, - "transactionHash": "0xcdd9f449d94db16c6ca2bd8af484ae4ee406d69826e2cc6d4ff902d5b90b2341", - "timestamp": 1620189051, - "blockNumber": 12372100 - }, - { - "proposalId": 12, - "voter": "0x2aE1d88af6d27Cdf7c5c3799c8bF88191e2686D6", - "support": true, - "votingPower": 175.50585989810972, - "transactionHash": "0x1e97fa63be3613cbac11afb34bbe9c256d543e1ceebac60d155c00b407d267b8", - "timestamp": 1620198185, - "blockNumber": 12372771 - }, - { - "proposalId": 12, - "voter": "0x49084125E425eD84a81e97F866043Ba413E959b9", - "support": true, - "votingPower": 2.0050282934882198, - "transactionHash": "0x08860995cbe487451c604d0408ffd22a8ee2c2e70985017cf481993d6658606f", - "timestamp": 1620200519, - "blockNumber": 12372948 - }, - { - "proposalId": 12, - "voter": "0xca768c37ba6EC3d67bE7B47bbE1F1C94CA216f46", - "support": true, - "votingPower": 525.000000127771, - "transactionHash": "0xfda9d33c38fe8677128aab9b1873a1ca5ad9fbfa671722adc02d4bafb1fb1433", - "timestamp": 1620205173, - "blockNumber": 12373303 - }, - { - "proposalId": 12, - "voter": "0x7F18CA114C9D162B7078791582885F41caa4cAEd", - "support": true, - "votingPower": 71.96302782669395, - "transactionHash": "0x01784d3ca6e78b4173aad37f56643ca12a8b6e82fded9cf0e0f9aeab317a9a8f", - "timestamp": 1620208752, - "blockNumber": 12373552 - }, - { - "proposalId": 12, - "voter": "0x510b2D8E30e8c79247C51E04D5Be8bF7262F9938", - "support": true, - "votingPower": 4805.385574607477, - "transactionHash": "0x322e921b8e8d097fae4db99625c28933d69a50a13580df030f2cc6fc2c6c7c9f", - "timestamp": 1620209680, - "blockNumber": 12373623 - }, - { - "proposalId": 12, - "voter": "0xb35a5ff901765Bb037051F6138Cb038ad5327AeE", - "support": true, - "votingPower": 277.0003492222455, - "transactionHash": "0x993cd6790970d87a34870f55294efcc57ec564c0f70b74e7e5f21cb932962451", - "timestamp": 1620210054, - "blockNumber": 12373651 - }, - { - "proposalId": 12, - "voter": "0x975779102B2A82384f872EE759801DB5204CE331", - "support": true, - "votingPower": 4000, - "transactionHash": "0x6eb30762139428bf347ce2ae6fd7f3732ef1a896924a868025975e6d2fb45950", - "timestamp": 1620213623, - "blockNumber": 12373916 - }, - { - "proposalId": 12, - "voter": "0x60015a9010243425172182b00e35F689ED4d887a", - "support": true, - "votingPower": 112.63778678393712, - "transactionHash": "0x42bb9ecc988b9db4360e1a0fa6b26385e39c0201917b0a2c135b6e409a18480b", - "timestamp": 1620216975, - "blockNumber": 12374131 - }, - { - "proposalId": 12, - "voter": "0x1d5E65a087eBc3d03a294412E46CE5D6882969f4", - "support": true, - "votingPower": 2.9426871730362443, - "transactionHash": "0xe8d383bb762d6e5c013969e394ddab9c254a400ea05b23f9aead082d5e6c2d42", - "timestamp": 1620219468, - "blockNumber": 12374328 - }, - { - "proposalId": 12, - "voter": "0x610c92c70Eb55dFeAFe8970513D13771Da79f2e0", - "support": true, - "votingPower": 1, - "transactionHash": "0x07d99067a6a1b7418a5ef13bce76aa1ec8a1dbdf8f5c992361d154c523cd36c1", - "timestamp": 1620235408, - "blockNumber": 12375539 - }, - { - "proposalId": 12, - "voter": "0xEdb75ba1d503A34a7C7f71C853924f4e29054F57", - "support": true, - "votingPower": 10.06826933291529, - "transactionHash": "0x7a64625f3447fcd11f0d9f84f3c9ebe0c83c269858ee4834910ac85e9d3d5db2", - "timestamp": 1620240198, - "blockNumber": 12375924 - }, - { - "proposalId": 12, - "voter": "0xC3Ff4a02c9B31Ed69D76CeF5987C93B3fFAa1d22", - "support": true, - "votingPower": 600.4735659218876, - "transactionHash": "0x67eed51d37cb39cb09b6f01f5010193ca6b65cb44c928389def8685637cba4e8", - "timestamp": 1620243791, - "blockNumber": 12376204 - }, - { - "proposalId": 12, - "voter": "0x80eEEa5E6BFEF8979eA6eA898564eB7aBfF4e12E", - "support": true, - "votingPower": 548.3635495838793, - "transactionHash": "0xc5f10e29cda266e9285b226b05595493451ec98c4cc9703af09f6545a04fa0e3", - "timestamp": 1620247410, - "blockNumber": 12376479 - }, - { - "proposalId": 12, - "voter": "0xA3F09fCCe3E340E251e23263B15d89623564b233", - "support": true, - "votingPower": 63621.20919493298, - "transactionHash": "0x8161ab5b19f73cd0001ee0986762d6f0075517c5fab905dfc143ac34af6bbdb4", - "timestamp": 1620249969, - "blockNumber": 12376662 - }, - { - "proposalId": 12, - "voter": "0xA4007e5dEED110FAC652323e607c5B8F7F88E5f6", - "support": true, - "votingPower": 28.366792559754874, - "transactionHash": "0x8243422684fc2b958f0ebdfd63555020fd9296cf9f948a9577f54c03f1e6aca2", - "timestamp": 1620252296, - "blockNumber": 12376843 - }, - { - "proposalId": 12, - "voter": "0x2AD7F82d4266d47E875aE2B06322F2e008cbF5c6", - "support": true, - "votingPower": 13.423, - "transactionHash": "0xb4b8e42bdda451be826781bd0b2f619192d9f56e3806fa61801f69b6debd6c60", - "timestamp": 1620263506, - "blockNumber": 12377679 - }, - { - "proposalId": 12, - "voter": "0x32caee5A069F2caC53BcE9E50743A400e003C384", - "support": true, - "votingPower": 4.099091599225911, - "transactionHash": "0x8046aa8c713632312e66a24c21d9073b35d42add2662ccbb016892a660f0f4a7", - "timestamp": 1620267877, - "blockNumber": 12378035 - }, - { - "proposalId": 12, - "voter": "0x5BC928BF0DAb1e4A2ddd9e347b0F22e88026D76c", - "support": true, - "votingPower": 76344.626713, - "transactionHash": "0x2d2825965c61a7d9a59a7af6ca4b4731dac144058fe3b27db50088f4f2a0d700", - "timestamp": 1620282019, - "blockNumber": 12379117 - }, - { - "proposalId": 12, - "voter": "0xfFd70ED81Bd9eeFe8D0ef4cBbfAfb40C234Ff957", - "support": true, - "votingPower": 1.4158994572133266, - "transactionHash": "0xcf9a4053e99a0ff4ad809d8ec6d37b15c9cbe8bea810b184dcadd972b8de1783", - "timestamp": 1620294057, - "blockNumber": 12379977 - }, - { - "proposalId": 12, - "voter": "0x46abFE1C972fCa43766d6aD70E1c1Df72F4Bb4d1", - "support": true, - "votingPower": 7716.741054498395, - "transactionHash": "0x1da0d5d0ed1828f231d57350a0f6b97016c33f979650adf312c9ce5d14669099", - "timestamp": 1620304592, - "blockNumber": 12380776 - }, - { - "proposalId": 12, - "voter": "0xdF8a73eFab85445866B9165eaD084f808eD421ca", - "support": true, - "votingPower": 27.86966602710274, - "transactionHash": "0x515a07380fccd5b3fe860d11542496a5c004320cf63e69bbb57bdeefd0463c74", - "timestamp": 1620312469, - "blockNumber": 12381354 - }, - { - "proposalId": 12, - "voter": "0x36C4Bd54D54DD898C242F5F634f5D0CEf3bE2A8A", - "support": true, - "votingPower": 78333.85473216079, - "transactionHash": "0xf9c6c67e5c5f8f43fb9cd3fe45ced0fc9db9636a6136d9d33bed26aeaeda4f16", - "timestamp": 1620320177, - "blockNumber": 12381927 - }, - { - "proposalId": 12, - "voter": "0xED576e57AE40d9e8fAe69Fc5E71DB3A9AE66c23a", - "support": true, - "votingPower": 176.33007540657695, - "transactionHash": "0x494562a127aa22f97cee164c29e2eba50d308338e3174ea9ea44734da62a817c", - "timestamp": 1620352178, - "blockNumber": 12384316 - }, - { - "proposalId": 12, - "voter": "0xa550A71B4a78b67c03900AC2B598B0e0b9D4668F", - "support": true, - "votingPower": 1144.666541815846, - "transactionHash": "0x8124e798234cde0db8428ea691bd967bb11ac80fad418835e06e08e9b828250e", - "timestamp": 1620372569, - "blockNumber": 12385830 - }, - { - "proposalId": 12, - "voter": "0x4A5Ef90f1554A4f0eAb0dd21AB91642172Fe95DC", - "support": true, - "votingPower": 0.07060954373779837, - "transactionHash": "0x485fc185094f55c364e0bd042788b0eed58dfe0a832e31e87ae6b801e4489a6f", - "timestamp": 1620377205, - "blockNumber": 12386171 - }, - { - "proposalId": 12, - "voter": "0xc4a936B003BC223DF757B35Ee52f6Da66B062935", - "support": true, - "votingPower": 92529.61013077926, - "transactionHash": "0x4891f189b7fc375d60bda9c5ddff82f02a3504aaabd8ebe648a71a230d8becae", - "timestamp": 1620381267, - "blockNumber": 12386485 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 13, - "voter": "0x10D6d2e343281D388291A3e02f3293AaEdA67178", - "support": true, - "votingPower": 21.76946210314097, - "transactionHash": "0x350c54500c8bedb358f4539da91bff4667df3fb516ad3ce5c2243576cabd938e", - "timestamp": 1620148608, - "blockNumber": 12369069 - }, - { - "proposalId": 13, - "voter": "0xdFeD8a17dA72175Bf06B2456BBD49cFEB223509a", - "support": true, - "votingPower": 1.0543694912654227, - "transactionHash": "0x171aa1366acbafbae730375de2da75070330d123f95f25b6b454002ed6512f26", - "timestamp": 1620149263, - "blockNumber": 12369121 - }, - { - "proposalId": 13, - "voter": "0xa1C7bd2e48f7f3922e201705f3491C841135F483", - "support": true, - "votingPower": 0.9462926, - "transactionHash": "0xa317309308bcc52899cec6224a431fc2904164cd0bd3d044ede10a763e184bad", - "timestamp": 1620150459, - "blockNumber": 12369203 - }, - { - "proposalId": 13, - "voter": "0x4b9D53246eD18db31f26Fc59b6e47a9efC3C1213", - "support": true, - "votingPower": 15.450458138279275, - "transactionHash": "0x22d6960a14a060365171f2d8d6cf039ca16be00046b406db5d221f0a701dd805", - "timestamp": 1620150464, - "blockNumber": 12369205 - }, - { - "proposalId": 13, - "voter": "0xA71ea3b488ddC04ABFd36AdF5FC8b4a446f8EccF", - "support": true, - "votingPower": 7.0139806836855545, - "transactionHash": "0x7e32d91b2635076aacb00e880a588e3ffa243d6c7f09241a65159ceae2566328", - "timestamp": 1620150995, - "blockNumber": 12369245 - }, - { - "proposalId": 13, - "voter": "0x02C545e7E16afbBe405FaD98a8a5a9a9fEeCe114", - "support": true, - "votingPower": 2.336561, - "transactionHash": "0x3971b9ead5d52338f6c13eb8df5c36acd98e64cfd21d96b3a9ca0a831995c7e3", - "timestamp": 1620152323, - "blockNumber": 12369337 - }, - { - "proposalId": 13, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 27357.574506355817, - "transactionHash": "0xc01e8baff65c85c0db539610400891f5e3a620d33d6dd7eada6d08271176212c", - "timestamp": 1620155093, - "blockNumber": 12369516 - }, - { - "proposalId": 13, - "voter": "0x990daFE818681F8E18d14E2Ae7abD30aE46BF1c2", - "support": true, - "votingPower": 47000, - "transactionHash": "0xa32ae472623871b1ac994c8d9e0385edd9e5879628fb512b38a73f2e892a8bc5", - "timestamp": 1620155294, - "blockNumber": 12369537 - }, - { - "proposalId": 13, - "voter": "0x5BC928BF0DAb1e4A2ddd9e347b0F22e88026D76c", - "support": true, - "votingPower": 76344.626713, - "transactionHash": "0x6ef8bce0d6bcd5284d0bc403785d7474685ddbfe9eab5d6b4d6a10e2b01cdc98", - "timestamp": 1620155342, - "blockNumber": 12369542 - }, - { - "proposalId": 13, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 50394.62190503272, - "transactionHash": "0x88b867dbef816990bb1ec3ab430a034a228329a00aba3a16482a112d1b3a2a01", - "timestamp": 1620156363, - "blockNumber": 12369616 - }, - { - "proposalId": 13, - "voter": "0x0F9A70567Cf4ec7ed9746c9251438B8d1c6d7072", - "support": true, - "votingPower": 56.690121498038444, - "transactionHash": "0x739bd6548865bc7937e062bc23d16c88af3dc81855ec0936ecedcb8468a73683", - "timestamp": 1620158302, - "blockNumber": 12369763 - }, - { - "proposalId": 13, - "voter": "0xAD549C7fcF1bd3E57BCa464D9Dce0A0D561599D1", - "support": true, - "votingPower": 43.718003293475654, - "transactionHash": "0x431d21c262e1a7dc32418287083e6cbc3a20d0823e4f0bd49901226c9844667b", - "timestamp": 1620158511, - "blockNumber": 12369781 - }, - { - "proposalId": 13, - "voter": "0x8d07D225a769b7Af3A923481E1FdF49180e6A265", - "support": true, - "votingPower": 50, - "transactionHash": "0x9f5514567d45d2c0f081043bd89a06201117e5659e84ab8c475589530bc9b857", - "timestamp": 1620159536, - "blockNumber": 12369871 - }, - { - "proposalId": 13, - "voter": "0x3eA8a88dC7C5930c6Ee57228A7BFe43A4f876fD3", - "support": true, - "votingPower": 4.368312841092427, - "transactionHash": "0xac765fe4ef99780cde64bd51967e2e3a22b171b44a911b41244d9e29a6cb2289", - "timestamp": 1620159700, - "blockNumber": 12369883 - }, - { - "proposalId": 13, - "voter": "0x4AdA1B9D9fe28aBd9585f58cfEeD2169A39e1c6b", - "support": true, - "votingPower": 333.49736822919044, - "transactionHash": "0x8f56ec204c2fd6769a168dcb959475984b09fe3beb210b8bfc628556eb52340e", - "timestamp": 1620165522, - "blockNumber": 12370338 - }, - { - "proposalId": 13, - "voter": "0x6bac48867BC94Ff20B4C62b21d484a44D04d342C", - "support": true, - "votingPower": 21.00042283305675, - "transactionHash": "0xb9b6cceb0fda26764ee56120448dca783026627a283302663f90904a9019008f", - "timestamp": 1620166089, - "blockNumber": 12370386 - }, - { - "proposalId": 13, - "voter": "0x10F4f95745bE83d3F3f03c73895229D39cC4780d", - "support": true, - "votingPower": 2.9047885622160976, - "transactionHash": "0xdb2ab2e6a97ca240cfd46c69a54ed7f09ac968aa88cb54d998daf8c6968dd5c6", - "timestamp": 1620172655, - "blockNumber": 12370852 - }, - { - "proposalId": 13, - "voter": "0x72b223De2F773C814465C4A8f2Ef9FaAe702Cfb3", - "support": true, - "votingPower": 295.68619218075565, - "transactionHash": "0x779e4d194057c0fe037cea47c44aa94500203679dd1250b9f616a517a0f725ea", - "timestamp": 1620174655, - "blockNumber": 12370998 - }, - { - "proposalId": 13, - "voter": "0xbE04F269a68649b352662D7A5a5403b270f6aB3b", - "support": true, - "votingPower": 662.1247712797878, - "transactionHash": "0x79f99e8ed3e44b8105dff136c4aba440b08a03ce7e202e7ec7ab4bc073b76a67", - "timestamp": 1620175256, - "blockNumber": 12371047 - }, - { - "proposalId": 13, - "voter": "0x11692163D68A652E7A05c4A3ee0a6C02F9DC0393", - "support": true, - "votingPower": 211.12281735968375, - "transactionHash": "0xd4af529dd1e77b424d110b6869622b7b3876594fdea0122bc33164dc2dfd888d", - "timestamp": 1620176012, - "blockNumber": 12371104 - }, - { - "proposalId": 13, - "voter": "0x8D3cD61164fF9a2ddCCccE933c5b4608F6562a82", - "support": true, - "votingPower": 1.0100661562158981, - "transactionHash": "0x04fae69e5d9afc1900cfbf9d758e6ae81ed4e9c541c2fb5eb0022b704a20feeb", - "timestamp": 1620176020, - "blockNumber": 12371106 - }, - { - "proposalId": 13, - "voter": "0x7785dac603C634ff3A2bB4D6A3f56174ef6Ecd08", - "support": true, - "votingPower": 0.9512665244861107, - "transactionHash": "0x70a8ecf84076036d76c62730ff789464ece0d577e49015fb629fc792a425b90a", - "timestamp": 1620176869, - "blockNumber": 12371157 - }, - { - "proposalId": 13, - "voter": "0x1c1D8EE11b6538bc7be4dCBa00fac7243CbeA75c", - "support": true, - "votingPower": 0.00003756, - "transactionHash": "0xa3b7f0610d3fe33df685ec2915ee6cbfee59dc691890727fb5407e065dff32c1", - "timestamp": 1620177770, - "blockNumber": 12371225 - }, - { - "proposalId": 13, - "voter": "0x7553fa99AB1f429551eeC660708C08E14E30584F", - "support": true, - "votingPower": 33.93614921144018, - "transactionHash": "0x9de1f2709b8acd9471f848a5c9a961024b5b20b8369d33af42c1351fca09ec29", - "timestamp": 1620180509, - "blockNumber": 12371425 - }, - { - "proposalId": 13, - "voter": "0xf7Eab72Ee14daD3DFEf597420F669c25B39f938C", - "support": true, - "votingPower": 1000.0002701068473, - "transactionHash": "0x83a2aa099e6b9e8963ba388a5a701767319166c9ca5261bc2b96066da4425b4b", - "timestamp": 1620189147, - "blockNumber": 12372108 - }, - { - "proposalId": 13, - "voter": "0x92b406851390541F445B7C697014133d4B5BfcE3", - "support": true, - "votingPower": 2.3077630929407147, - "transactionHash": "0x0577ab091accbcd7e97b9b850bc623068a69949e7cd2c0c7caf0919e732291f6", - "timestamp": 1620189675, - "blockNumber": 12372141 - }, - { - "proposalId": 13, - "voter": "0xCC789933E9F9012eBFDe6Abe1af23C09d354D5d8", - "support": true, - "votingPower": 1, - "transactionHash": "0x1c523f90dce1bb9e2b9e5b7e0bb6ab1fd92bccf94488acc6c680dbec2f19b867", - "timestamp": 1620191251, - "blockNumber": 12372257 - }, - { - "proposalId": 13, - "voter": "0x1Da98aa4FaEFB6eC93cC1bA6AdcFB59c8aF51152", - "support": true, - "votingPower": 9.41043, - "transactionHash": "0x34456a7ec227394798da00e2e988a1de5a8a56bcdb3be91b124440bf0a21f0a3", - "timestamp": 1620191266, - "blockNumber": 12372260 - }, - { - "proposalId": 13, - "voter": "0x6cFe9755269786F6681518c00BD22801f98f9e57", - "support": true, - "votingPower": 9.43569557423051, - "transactionHash": "0xcf6757ae1f8bfd70d1ad4d8586ed1cf5f4c96c9568a696d8f30fd8e55198cbb4", - "timestamp": 1620191266, - "blockNumber": 12372260 - }, - { - "proposalId": 13, - "voter": "0x8298A996A00835eedcC75763038B731Fe617Fd0D", - "support": true, - "votingPower": 2.6209877046554566, - "transactionHash": "0xcabc29e543ca1455b319c147db99544d555a165e90ce93974743cf9dfb4c51e7", - "timestamp": 1620195463, - "blockNumber": 12372570 - }, - { - "proposalId": 13, - "voter": "0x16598e250Bc89B6A5f0F81942CBde8f9FB42baBc", - "support": true, - "votingPower": 87.38210342986324, - "transactionHash": "0xf2228c8b53b7feedfc3f42a824f08a55ef5254eb5ea21b01e0f1e2a72f07d569", - "timestamp": 1620195725, - "blockNumber": 12372589 - }, - { - "proposalId": 13, - "voter": "0x1ed00f889aefDF4D949f751659c0353B815f753D", - "support": true, - "votingPower": 2.31172, - "transactionHash": "0xf8569d8abcd6da801383c7eddf3a0bc21cb3b61cee3b577eb3f6e033bdeccac8", - "timestamp": 1620196158, - "blockNumber": 12372610 - }, - { - "proposalId": 13, - "voter": "0x49084125E425eD84a81e97F866043Ba413E959b9", - "support": true, - "votingPower": 2.0050282934882198, - "transactionHash": "0x7501d2dedb6f8af7673c007b0e366d48baef2866677da696f752f759968c176f", - "timestamp": 1620200871, - "blockNumber": 12372979 - }, - { - "proposalId": 13, - "voter": "0xF75C11221486EcE0eD640c91F3F2Ca245a619487", - "support": true, - "votingPower": 1.4122418360165991, - "transactionHash": "0x7c427685499499953120aa5c9f2aef0dd12936983a278bfdc06c5d52f9162b14", - "timestamp": 1620201128, - "blockNumber": 12372997 - }, - { - "proposalId": 13, - "voter": "0x045038d82B5C27b5c992994CD4129aA80fd1A20c", - "support": true, - "votingPower": 45.40784, - "transactionHash": "0xbf07a3ef167024cc4de71b2a03fab3fe03c81c66daf62d6e18d88fea8099c173", - "timestamp": 1620204651, - "blockNumber": 12373261 - }, - { - "proposalId": 13, - "voter": "0x9B5ea8C719e29A5bd0959FaF79C9E5c8206d0499", - "support": true, - "votingPower": 100671.47087792464, - "transactionHash": "0x89bc7ac5b4b7c809ee7c16c9a9eb7efe97e75843810bda6a358418577b621fb2", - "timestamp": 1620206304, - "blockNumber": 12373373 - }, - { - "proposalId": 13, - "voter": "0x99d7be449D280379802588554734fc521f891F39", - "support": true, - "votingPower": 68.21303490913247, - "transactionHash": "0x0ce6ebb5928392346957408af987eb265dd11908001df4aa135cae17c922457b", - "timestamp": 1620207995, - "blockNumber": 12373503 - }, - { - "proposalId": 13, - "voter": "0x7F18CA114C9D162B7078791582885F41caa4cAEd", - "support": true, - "votingPower": 71.96302782669395, - "transactionHash": "0x80fcab3b9b6091a5588d89e45a079a085d37948e617a1db07c69add1b3ac1f0d", - "timestamp": 1620209195, - "blockNumber": 12373586 - }, - { - "proposalId": 13, - "voter": "0x510b2D8E30e8c79247C51E04D5Be8bF7262F9938", - "support": true, - "votingPower": 4805.385574607477, - "transactionHash": "0x642139a5a17623bda745322f78ce6a6e041bee329579f96888538e23833c5153", - "timestamp": 1620209438, - "blockNumber": 12373604 - }, - { - "proposalId": 13, - "voter": "0xca768c37ba6EC3d67bE7B47bbE1F1C94CA216f46", - "support": true, - "votingPower": 525.000000127771, - "transactionHash": "0x3e8a7f318c5099601b2acd7b8a427b84be89ee48766f7c43b70377428d43ade7", - "timestamp": 1620209981, - "blockNumber": 12373645 - }, - { - "proposalId": 13, - "voter": "0xb35a5ff901765Bb037051F6138Cb038ad5327AeE", - "support": true, - "votingPower": 277.0003492222455, - "transactionHash": "0x9a4f4fbbfe4e02dbc172e9b03f47f3291772bc792f7734162f01f70c20fa39e1", - "timestamp": 1620209992, - "blockNumber": 12373647 - }, - { - "proposalId": 13, - "voter": "0x108EEAA4767eA403cd6eA0515c83B4fe51BA2E52", - "support": true, - "votingPower": 10, - "transactionHash": "0xbd085bce67e670f06729db77a9776c048b8d85d34c60f4a6fe936d2b81870f8f", - "timestamp": 1620211210, - "blockNumber": 12373723 - }, - { - "proposalId": 13, - "voter": "0x1b1134e588b411600A3BEea2244835b67A6A1CB7", - "support": true, - "votingPower": 611.4611985366238, - "transactionHash": "0xecbbd23e8d854ece9526e1f41bf8b6f0d62d4ca79e8bebb594f021899c0d9861", - "timestamp": 1620211256, - "blockNumber": 12373729 - }, - { - "proposalId": 13, - "voter": "0x30043aAbBCeBbD887437Ec4F0Cfe6d4c0eB5CC64", - "support": true, - "votingPower": 26.57305262153157, - "transactionHash": "0x77c530b1659ecb24205a9ac51a4ff78933a20cdb68757240beeec0211a227659", - "timestamp": 1620212505, - "blockNumber": 12373832 - }, - { - "proposalId": 13, - "voter": "0x975779102B2A82384f872EE759801DB5204CE331", - "support": true, - "votingPower": 4000, - "transactionHash": "0x30b184ba5a287b3ceee268c0abbf6dffb71134b21e116d0919684ad12cd2a5f5", - "timestamp": 1620213578, - "blockNumber": 12373914 - }, - { - "proposalId": 13, - "voter": "0x0952ecc0080Ed9A0cBD5839a3CC6758b85C3a835", - "support": true, - "votingPower": 20.63490769, - "transactionHash": "0x80cd700b7d493238ae13b27cae6aa232e5c8121ae9d9e0f43c8af275efdbb71a", - "timestamp": 1620215855, - "blockNumber": 12374068 - }, - { - "proposalId": 13, - "voter": "0x60015a9010243425172182b00e35F689ED4d887a", - "support": true, - "votingPower": 112.63778678393712, - "transactionHash": "0x98960095ea7135cd934cfd62cc63c0ebcf5da19ce4d27000ef7ddcb505d936ce", - "timestamp": 1620216215, - "blockNumber": 12374092 - }, - { - "proposalId": 13, - "voter": "0x1d5E65a087eBc3d03a294412E46CE5D6882969f4", - "support": true, - "votingPower": 2.9426871730362443, - "transactionHash": "0x794bc275df79020b2cd5f9d295172983a0051fdd2e7c87b57ab5c0bfbf96812b", - "timestamp": 1620219470, - "blockNumber": 12374329 - }, - { - "proposalId": 13, - "voter": "0x151EaaA48bbD08B7Cc37B52216Cf54f54c41b24b", - "support": true, - "votingPower": 1.3451139015293385, - "transactionHash": "0x3787d36f1eaed9a0e368d7df5013f382402582b67bc26b189812645800eb831c", - "timestamp": 1620236610, - "blockNumber": 12375642 - }, - { - "proposalId": 13, - "voter": "0x80eEEa5E6BFEF8979eA6eA898564eB7aBfF4e12E", - "support": true, - "votingPower": 548.3635495838793, - "transactionHash": "0xbbfc692bfd827b2aa2480155f773096852a989d6675eb3ee4dd2050d97f15e39", - "timestamp": 1620247881, - "blockNumber": 12376514 - }, - { - "proposalId": 13, - "voter": "0xA3F09fCCe3E340E251e23263B15d89623564b233", - "support": true, - "votingPower": 63621.20919493298, - "transactionHash": "0xfee692ab7378700a182818cda25a8018d94e3a0960d74c32d4e6dca8d2f4a1b2", - "timestamp": 1620249706, - "blockNumber": 12376649 - }, - { - "proposalId": 13, - "voter": "0xA4007e5dEED110FAC652323e607c5B8F7F88E5f6", - "support": true, - "votingPower": 28.366792559754874, - "transactionHash": "0xf468d17ef381e3336f115e2426687da20db0149e8aadcda4c342fbd59df87116", - "timestamp": 1620252296, - "blockNumber": 12376843 - }, - { - "proposalId": 13, - "voter": "0xc91A207Cbd1ad7Dd350E01Ac4baCfCc96e7FA7c8", - "support": true, - "votingPower": 995.8973963750723, - "transactionHash": "0xeffc344f75dce1aaec3ba0e0b5bbe2998807d32ccad4fedd5f1902574766a61a", - "timestamp": 1620255858, - "blockNumber": 12377141 - }, - { - "proposalId": 13, - "voter": "0x32caee5A069F2caC53BcE9E50743A400e003C384", - "support": true, - "votingPower": 4.099091599225911, - "transactionHash": "0xae53b245346d209e6388d6a4e2bf54c600eea7d668b951b8460adb4c9a149187", - "timestamp": 1620267834, - "blockNumber": 12378031 - }, - { - "proposalId": 13, - "voter": "0x46abFE1C972fCa43766d6aD70E1c1Df72F4Bb4d1", - "support": true, - "votingPower": 7716.741054498395, - "transactionHash": "0x738c1250163a490ec236b0fd383a9bafe74240186ecf0e36b748f727d3e4e2ff", - "timestamp": 1620304495, - "blockNumber": 12380768 - }, - { - "proposalId": 13, - "voter": "0xED907A250B2C1375c9Cea8F63dCdF3843557BC48", - "support": true, - "votingPower": 9310.526963879298, - "transactionHash": "0xbc2cfeaa94b4d5937e887c493068cffae74892a38e41ca2edd94a039afc9da29", - "timestamp": 1620312855, - "blockNumber": 12381381 - }, - { - "proposalId": 13, - "voter": "0x36C4Bd54D54DD898C242F5F634f5D0CEf3bE2A8A", - "support": true, - "votingPower": 78333.85473216079, - "transactionHash": "0xd3521bb6229e9b50a8524ae17729093f567928169ecb5a8be945d8bbbdd1f733", - "timestamp": 1620321547, - "blockNumber": 12382031 - }, - { - "proposalId": 13, - "voter": "0x82Bb6B5e92E1143fC03ee468a7Ba9Df8e955f7c2", - "support": true, - "votingPower": 250.83020705188136, - "transactionHash": "0xd92ad613faa5460aa2ab5882e33bdb8b15de7ea235224024e18a77342e07f74e", - "timestamp": 1620322704, - "blockNumber": 12382125 - }, - { - "proposalId": 13, - "voter": "0xC17905420D885c1967C9bbAE432A518480f58Cca", - "support": true, - "votingPower": 250.99999999999974, - "transactionHash": "0x862402894e02df7a90e45d1846f354961748bcea693a724bf70b9ef6f320855d", - "timestamp": 1620322823, - "blockNumber": 12382134 - }, - { - "proposalId": 13, - "voter": "0xE14a558A6cc8C12f32563492473aeC729790B48D", - "support": true, - "votingPower": 47.50323134845824, - "transactionHash": "0xad34a5c2e738b4f57bb606e90b18a8d6693b0c801c953fbdf004dd69f13eebfe", - "timestamp": 1620365524, - "blockNumber": 12385341 - }, - { - "proposalId": 13, - "voter": "0x4A5Ef90f1554A4f0eAb0dd21AB91642172Fe95DC", - "support": true, - "votingPower": 0.07060954373779837, - "transactionHash": "0x5969133a4cb181bcc71e7ae1fe5764396dad9d6a0097e9ac158ba186b7ffcd1a", - "timestamp": 1620377187, - "blockNumber": 12386169 - }, - { - "proposalId": 13, - "voter": "0x5A9C7A9744A4695f2d9cEe84E29A92FF4E68EA48", - "support": true, - "votingPower": 65.04224857322589, - "transactionHash": "0xb87857825e7c08057c1d616ad4f9fe8a912e864a2c5c5da740cdd57373ebb5bc", - "timestamp": 1620379991, - "blockNumber": 12386380 - }, - { - "proposalId": 13, - "voter": "0xD465bE4e63bD09392bAC51Fcf04AA13412B552D0", - "support": true, - "votingPower": 15.105520804911047, - "transactionHash": "0x8803c3799fefc3aeda8e28c7b9a372076ce99c15e464a5ba2b696f84c77e4ec2", - "timestamp": 1620380741, - "blockNumber": 12386435 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 14, - "voter": "0xa550A71B4a78b67c03900AC2B598B0e0b9D4668F", - "support": true, - "votingPower": 1144.666541815846, - "transactionHash": "0xd80efd922c57572df6ec70bf346aeec710b7a65cff919f114de020f94f823240", - "timestamp": 1620240143, - "blockNumber": 12375917 - }, - { - "proposalId": 14, - "voter": "0x990daFE818681F8E18d14E2Ae7abD30aE46BF1c2", - "support": true, - "votingPower": 47000, - "transactionHash": "0xace321f4be6e0dc518c33d3a7ee65cc16e1eeae0b2ed3c78625fd4467126d8a3", - "timestamp": 1620241776, - "blockNumber": 12376037 - }, - { - "proposalId": 14, - "voter": "0x50db4821A42c72Ef26c478D4764354e56FE1207C", - "support": true, - "votingPower": 3800.746743630284, - "transactionHash": "0x8957dd1d0ed9d1f430899b739b392e4a559b5ac4fc4f6e95c1ef64f8d5beb30d", - "timestamp": 1620247308, - "blockNumber": 12376469 - }, - { - "proposalId": 14, - "voter": "0x80eEEa5E6BFEF8979eA6eA898564eB7aBfF4e12E", - "support": true, - "votingPower": 548.3635495838793, - "transactionHash": "0xf4967b0b48aa2495a80babd97adf7e3adf87128b1567910a7b86438fb87fe2d5", - "timestamp": 1620248445, - "blockNumber": 12376545 - }, - { - "proposalId": 14, - "voter": "0xA8DEFb2E1fe760f02f39E3D07A2BA0605fD8eb28", - "support": true, - "votingPower": 63.913628551401395, - "transactionHash": "0xe14e8ce887003c1b5660118b6302d48841e8d132aeb68e54b4ec7de503b48ba3", - "timestamp": 1620251405, - "blockNumber": 12376772 - }, - { - "proposalId": 14, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 27357.574506355817, - "transactionHash": "0x29cafc9359785fa3b8a82f68545c63b6d72a2669f8dcb22070e911cfd0dec0d2", - "timestamp": 1620252066, - "blockNumber": 12376822 - }, - { - "proposalId": 14, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 50624.51390503272, - "transactionHash": "0x970503d6ede3df683191a40a85afbdf7d4cc2cebf499422ba063d4d29c9c757f", - "timestamp": 1620252463, - "blockNumber": 12376860 - }, - { - "proposalId": 14, - "voter": "0x6bac48867BC94Ff20B4C62b21d484a44D04d342C", - "support": true, - "votingPower": 21.00042283305675, - "transactionHash": "0x20abfd7183265b00ffefb1f4a4f207ae6f9c2bfaad6455b4d82d17fd62e521db", - "timestamp": 1620263511, - "blockNumber": 12377680 - }, - { - "proposalId": 14, - "voter": "0x30024dE60cfD7fBd68c1257d3ECDDAc6C1eB8db4", - "support": true, - "votingPower": 102.70225176758328, - "transactionHash": "0x04271332d0cbf9b51df14f20b016226ed9f1d715fe2f9691eab16307dac5f8c5", - "timestamp": 1620267055, - "blockNumber": 12377965 - }, - { - "proposalId": 14, - "voter": "0x32caee5A069F2caC53BcE9E50743A400e003C384", - "support": true, - "votingPower": 4.099091599225911, - "transactionHash": "0x3b7441f797de0cd26243507c9495074fda03402f93478faa70a2821d639b1ca8", - "timestamp": 1620267736, - "blockNumber": 12378020 - }, - { - "proposalId": 14, - "voter": "0x0154d25120Ed20A516fE43991702e7463c5A6F6e", - "support": true, - "votingPower": 6716.204294051912, - "transactionHash": "0xa6352df5086162020d52b53df38531331d630c4ea5558bb41f649b6b0a933c97", - "timestamp": 1620276108, - "blockNumber": 12378686 - }, - { - "proposalId": 14, - "voter": "0x5BC928BF0DAb1e4A2ddd9e347b0F22e88026D76c", - "support": true, - "votingPower": 76344.626713, - "transactionHash": "0x42c28719024e211af97ffdf139011056564bafd25f3d92b7d14d0ca7dc066807", - "timestamp": 1620282019, - "blockNumber": 12379117 - }, - { - "proposalId": 14, - "voter": "0x8F4ddc64e7b0cB5C176cBca1de6b38BfB629782d", - "support": true, - "votingPower": 1.743808971181292, - "transactionHash": "0xe87ed6cd16a5bfed3e873ee8ae602576c90b290ad6aa5255f6b5f451ea99e46a", - "timestamp": 1620284077, - "blockNumber": 12379258 - }, - { - "proposalId": 14, - "voter": "0xf7Eab72Ee14daD3DFEf597420F669c25B39f938C", - "support": true, - "votingPower": 1000.0002701068473, - "transactionHash": "0x14c7875b52dfe5f5738be2d905e14803a7ccedb87f69a13579a8cd97a4cf94ea", - "timestamp": 1620285936, - "blockNumber": 12379403 - }, - { - "proposalId": 14, - "voter": "0xdD709cAE362972cb3B92DCeaD77127f7b8D58202", - "support": true, - "votingPower": 183513.1135175046, - "transactionHash": "0x0a9cd37e1e4936e07cb2669bc5dcb6daaadc65bcadbf6313e181768d21ee6307", - "timestamp": 1620286697, - "blockNumber": 12379446 - }, - { - "proposalId": 14, - "voter": "0x9B5ea8C719e29A5bd0959FaF79C9E5c8206d0499", - "support": true, - "votingPower": 100671.47087792464, - "transactionHash": "0x34b5bb58950307c44b6b046b397d07bfd242720c7b28c7fd46df1fdb9006ac11", - "timestamp": 1620291098, - "blockNumber": 12379751 - }, - { - "proposalId": 14, - "voter": "0x4AdA1B9D9fe28aBd9585f58cfEeD2169A39e1c6b", - "support": true, - "votingPower": 333.49736822919044, - "transactionHash": "0x5ff9ee63cccaefbee03847429d86a831a59028fdf6b4524319e42312e498292c", - "timestamp": 1620292021, - "blockNumber": 12379824 - }, - { - "proposalId": 14, - "voter": "0x1f8dec5061b0D9bF17E5828F249142b39DAB84b4", - "support": true, - "votingPower": 4328.4450009278435, - "transactionHash": "0x967e4fee939afbee51dbc00c5e9dc2adfc1399158bab6fe8165f943c4f13ad2f", - "timestamp": 1620293337, - "blockNumber": 12379918 - }, - { - "proposalId": 14, - "voter": "0xfFd70ED81Bd9eeFe8D0ef4cBbfAfb40C234Ff957", - "support": true, - "votingPower": 1.4158994572133266, - "transactionHash": "0xa2af461ad91f4d85ac08ec192e6e9d78d8ac206df9110e25f9dba570fd25654a", - "timestamp": 1620294057, - "blockNumber": 12379977 - }, - { - "proposalId": 14, - "voter": "0x99d7be449D280379802588554734fc521f891F39", - "support": true, - "votingPower": 68.21303490913247, - "transactionHash": "0x596f4e064eea24c8f57c6fe037fd43469fafa0b91f5a34e933c20367f4a17db7", - "timestamp": 1620295236, - "blockNumber": 12380071 - }, - { - "proposalId": 14, - "voter": "0xa1C7bd2e48f7f3922e201705f3491C841135F483", - "support": true, - "votingPower": 0.9462926, - "transactionHash": "0x6a76a424e0327da97df906ba8335746e79aa087a318d6fb24e547ef4857f7f9f", - "timestamp": 1620297478, - "blockNumber": 12380252 - }, - { - "proposalId": 14, - "voter": "0x44e59F7c598644A68975eF41Fed052362C4c8ed3", - "support": true, - "votingPower": 1289.7730105859237, - "transactionHash": "0xc316c2caca2eae53d7f14379ec6bf3e4f179e5a32768b861ae39a8b09db43200", - "timestamp": 1620304773, - "blockNumber": 12380786 - }, - { - "proposalId": 14, - "voter": "0x49D29b200A9F8929D1E368A00097372E41794399", - "support": true, - "votingPower": 261.991635789363, - "transactionHash": "0x113ba240e9002fb9122d096dedc320ad4a7aa80f9104bd825b7c3720226610ff", - "timestamp": 1620307749, - "blockNumber": 12380980 - }, - { - "proposalId": 14, - "voter": "0x975779102B2A82384f872EE759801DB5204CE331", - "support": true, - "votingPower": 4000, - "transactionHash": "0x43eaa601b2dd8a9928344a5e7ccbd60195ac284c2cf9fb1b9b94e7b4adbf0f8c", - "timestamp": 1620307834, - "blockNumber": 12380993 - }, - { - "proposalId": 14, - "voter": "0xdF8a73eFab85445866B9165eaD084f808eD421ca", - "support": true, - "votingPower": 27.86966602710274, - "transactionHash": "0x1036631f9511aa6207d84cbaf9392bc86a5abd15f78732702616f606d6751df8", - "timestamp": 1620312469, - "blockNumber": 12381354 - }, - { - "proposalId": 14, - "voter": "0x36C4Bd54D54DD898C242F5F634f5D0CEf3bE2A8A", - "support": true, - "votingPower": 78333.85473216079, - "transactionHash": "0x142475b4e9eb801badd7b52fb2d8b0e9b2203ca02158462d84d9ad533787e4d9", - "timestamp": 1620320329, - "blockNumber": 12381937 - }, - { - "proposalId": 14, - "voter": "0xED907A250B2C1375c9Cea8F63dCdF3843557BC48", - "support": true, - "votingPower": 9310.526963879298, - "transactionHash": "0x2f7218f19756b97bbe2bb93ece4e10b610f0cf5c63d5bc9c9cab31f838a5549a", - "timestamp": 1620320440, - "blockNumber": 12381945 - }, - { - "proposalId": 14, - "voter": "0xC17905420D885c1967C9bbAE432A518480f58Cca", - "support": true, - "votingPower": 250.99999999999974, - "transactionHash": "0xc3e140f1d89b4940c900633bb0a5e4ee94b276bdac92dcfd2ae73f2d639f5379", - "timestamp": 1620322823, - "blockNumber": 12382134 - }, - { - "proposalId": 14, - "voter": "0x82Bb6B5e92E1143fC03ee468a7Ba9Df8e955f7c2", - "support": true, - "votingPower": 250.83020705188136, - "transactionHash": "0x6350e67ed246e1302d2a2585af2ef62e186ab48ae90ed7a435a37eec6eb22db6", - "timestamp": 1620322823, - "blockNumber": 12382134 - }, - { - "proposalId": 14, - "voter": "0x723D02Ee06cCBF35033318770A7206D2719AA43E", - "support": true, - "votingPower": 16.51936601, - "transactionHash": "0xa37b54fb274557a3790eb7245afd2c3bd28916ab3a3d0caaaf4c3111225bfa62", - "timestamp": 1620326466, - "blockNumber": 12382421 - }, - { - "proposalId": 14, - "voter": "0xeB56b2f9bAEb4024ECD154De7DCA6256AFC467C0", - "support": true, - "votingPower": 250.79017256821848, - "transactionHash": "0xd08548084e44c1ff397417a43e4018a8ef38b1b33e927b7e3016af4ea231867c", - "timestamp": 1620327771, - "blockNumber": 12382518 - }, - { - "proposalId": 14, - "voter": "0x49084125E425eD84a81e97F866043Ba413E959b9", - "support": true, - "votingPower": 2.0050282934882198, - "transactionHash": "0x5e766a8f5c42ab6ec4f228e2b17be0e40d8c9255d98079b009e970810731787f", - "timestamp": 1620336584, - "blockNumber": 12383189 - }, - { - "proposalId": 14, - "voter": "0xAD6c3d43b6765f2289B02384F0De412BeF87bD37", - "support": true, - "votingPower": 21.95002684, - "transactionHash": "0x797ead209f6e546aee4b5c27314bc15eb1ba9eb3e66d11c87eeb926ca07d7628", - "timestamp": 1620344935, - "blockNumber": 12383799 - }, - { - "proposalId": 14, - "voter": "0x7F18CA114C9D162B7078791582885F41caa4cAEd", - "support": true, - "votingPower": 71.96302782669395, - "transactionHash": "0x8eda2d6d3d5df75b665b697273bfcbaf0cbf15194acbdd742e253255e2ee2e2a", - "timestamp": 1620348861, - "blockNumber": 12384077 - }, - { - "proposalId": 14, - "voter": "0x36cf80D36fDA4530777aeD39ae7f398E38fbb25f", - "support": true, - "votingPower": 2000.5951447246, - "transactionHash": "0x71fa9ccf440e2067d9c15de9dce09f70ad93bf3ec94079b056d123f529f8c060", - "timestamp": 1620358685, - "blockNumber": 12384799 - }, - { - "proposalId": 14, - "voter": "0x037DB64BB201C0d0c11eE4cFdA90c366239092ff", - "support": true, - "votingPower": 50.17976882829677, - "transactionHash": "0xe909ef17efa8a65e8a62678e1e3c75458b7394b9e9dc7d44bf12244f355e0a23", - "timestamp": 1620372604, - "blockNumber": 12385833 - }, - { - "proposalId": 14, - "voter": "0x74398BcF45bA629cf59e9C74e6b139e5D299C66E", - "support": true, - "votingPower": 50.039038, - "transactionHash": "0x0a689f3544f67ed723666c92f8db7ae521a19fb26af65f1f93324f402a77843c", - "timestamp": 1620373041, - "blockNumber": 12385858 - }, - { - "proposalId": 14, - "voter": "0xA334d8A8fc7460E86f16cc430B6943780c9eE701", - "support": true, - "votingPower": 101, - "transactionHash": "0xe26c97a53f562d52d833a50a80d1367cfde28c108dca7db2c34bef65962641a9", - "timestamp": 1620373380, - "blockNumber": 12385883 - }, - { - "proposalId": 14, - "voter": "0xF444F57E627DcB0BaD06Cf77c6FBF5e79718c5d6", - "support": true, - "votingPower": 1.94118798, - "transactionHash": "0x41c25ca8179d23646f21b3d30465ac5c15c6870480751cc305144b0f9495e700", - "timestamp": 1620373702, - "blockNumber": 12385913 - }, - { - "proposalId": 14, - "voter": "0x4A5Ef90f1554A4f0eAb0dd21AB91642172Fe95DC", - "support": true, - "votingPower": 0.07060954373779837, - "transactionHash": "0xc91a05addb5531ba40dcc07303a6f8f04a1492a450708e7100361809fa101ebe", - "timestamp": 1620377104, - "blockNumber": 12386164 - }, - { - "proposalId": 14, - "voter": "0x4ca31D938Bc2D23e68eab871e5A0a02019F8dCE6", - "support": true, - "votingPower": 7015.447006323172, - "transactionHash": "0xe83699345968d96a7112cca9c4052b714411956a20ffc06dbdcf28bee5cab13a", - "timestamp": 1620386266, - "blockNumber": 12386837 - }, - { - "proposalId": 14, - "voter": "0x4a49985B14bD0ce42c25eFde5d8c379a48AB02F3", - "support": true, - "votingPower": 2705103.1768293544, - "transactionHash": "0xd6c0758de5108f6fb833a2175c856b4c6cf5c00391db93f27cfa0b5ea45ab74c", - "timestamp": 1620386939, - "blockNumber": 12386882 - }, - { - "proposalId": 14, - "voter": "0x4cF51F5A883A0194586Cd17aD6746F94C08e7c17", - "support": true, - "votingPower": 1, - "transactionHash": "0x61cc1ab00b1d03e7b5c4fe1ceaa10546075b90257766f83097c72e4d3d89c1c5", - "timestamp": 1620420674, - "blockNumber": 12389435 - }, - { - "proposalId": 14, - "voter": "0x28750E72E8c9696f9Eb98786E621f65495D363e9", - "support": true, - "votingPower": 84.6535, - "transactionHash": "0x5ecc732f64e80b972b3009bfb76c4ec7c24114c388b529f4bc4870e2587b2acd", - "timestamp": 1620421595, - "blockNumber": 12389511 - }, - { - "proposalId": 14, - "voter": "0x3C0A69D5b87CC1Cd3797d6C4c8c236e28a59A7B8", - "support": true, - "votingPower": 45.331093437214136, - "transactionHash": "0x7b45f87150d60ce605a0d643a12fe2df6a3a3d4e8509522a39fc173cdf417f49", - "timestamp": 1620430776, - "blockNumber": 12390201 - }, - { - "proposalId": 14, - "voter": "0x07DA04C2e5F3c3675425302B7B027A2ded9efcf1", - "support": true, - "votingPower": 5.921, - "transactionHash": "0x0d41c1231e609f41f769ca280dc7373b7b06d833ea6cf7ca3a4ed0a7e3896958", - "timestamp": 1620441359, - "blockNumber": 12390985 - }, - { - "proposalId": 14, - "voter": "0x8d07D225a769b7Af3A923481E1FdF49180e6A265", - "support": true, - "votingPower": 50, - "transactionHash": "0x155a72b629460c3bd27963793a92243ce5f4773b1546edc2fe8fa6c34fc49941", - "timestamp": 1620557744, - "blockNumber": 12399750 - }, - { - "proposalId": 14, - "voter": "0xEBf919b0DAfb9ea4BF324108A142C64A69052D8f", - "support": true, - "votingPower": 13.917768928326387, - "transactionHash": "0xfa0ebd40174022045ddfa2b6b112c64e1021aef31972d42b41e3fc925ed246b0", - "timestamp": 1620838585, - "blockNumber": 12420751 - }, - { - "proposalId": 14, - "voter": "0xc90D5157e66f2E255A67af0403149B6946E25042", - "support": true, - "votingPower": 31.29738, - "transactionHash": "0xe252229227cb09cadf0ba8457dbab398e141437603f741f99701e6fbb2ec958f", - "timestamp": 1620854328, - "blockNumber": 12421928 - }, - { - "proposalId": 14, - "voter": "0xB302cEdb4836538d22737b6427940c1532228301", - "support": true, - "votingPower": 5.488955, - "transactionHash": "0x90ee6d329e2e6542f3e9506873c0b094474a6de613504b7f9de3dc5cba8760a4", - "timestamp": 1620878044, - "blockNumber": 12423712 - }, - { - "proposalId": 14, - "voter": "0x880C205096F62Bd9da0f1acf3c34794789BBaBe6", - "support": true, - "votingPower": 1521.4810989587324, - "transactionHash": "0xee74fa5ec570558978f321cea459d760e360bdf80be661ba590afad80e46ab48", - "timestamp": 1620898954, - "blockNumber": 12425294 - }, - { - "proposalId": 14, - "voter": "0x10D6d2e343281D388291A3e02f3293AaEdA67178", - "support": true, - "votingPower": 21.76946210314097, - "transactionHash": "0x45ee8b4d61046e8d56014f34313461f7db78e015017c1adb29fbc3bcde3c8a39", - "timestamp": 1620905724, - "blockNumber": 12425799 - }, - { - "proposalId": 14, - "voter": "0x479E499f0d5abA3cAB77c4A4DEd929d1e0987d16", - "support": true, - "votingPower": 247.54232256821848, - "transactionHash": "0xf17c1c1e64030ab39366e7e27f326b1913c7a26c627f9ac9d70f4616cb5d0d3b", - "timestamp": 1620910300, - "blockNumber": 12426123 - }, - { - "proposalId": 14, - "voter": "0xeb7AE9d125442A5b4ed57FE7C4Cbc87512B02ADA", - "support": true, - "votingPower": 2.909910607799998, - "transactionHash": "0xcd02273be77072dec34282e66c0c7bfb23ea08818b9c7abee3acbd9d2aa394f2", - "timestamp": 1620940568, - "blockNumber": 12428462 - }, - { - "proposalId": 14, - "voter": "0xd130E45Af49efb4bdEd6199C7f12dcB54aACb75E", - "support": true, - "votingPower": 808.904, - "transactionHash": "0xba8f528eda1c6664967e3b7383da9060082550fe2b28f88263d6b888df32efc6", - "timestamp": 1620944872, - "blockNumber": 12428799 - }, - { - "proposalId": 14, - "voter": "0x304Cb7C3a9A79D11fB6f12b7c7B6519060137288", - "support": true, - "votingPower": 48.47700170434268, - "transactionHash": "0x15eb729207560c5fc0d6d16555024ab6ae7744bf9d9533c60f8d4b044a79dab4", - "timestamp": 1620980111, - "blockNumber": 12431357 - }, - { - "proposalId": 14, - "voter": "0xD3D555Bb655AcBA9452bfC6D7cEa8cC7b3628C55", - "support": true, - "votingPower": 0.5967135562159912, - "transactionHash": "0x72cb94d3ed59259546a94e36ef22393f8bb11c236ec53ebd5850f30ef4aee32f", - "timestamp": 1621018955, - "blockNumber": 12434294 - }, - { - "proposalId": 14, - "voter": "0x4EC1a5adf7485126371953B7e8E5983c78350B47", - "support": true, - "votingPower": 0, - "transactionHash": "0x3e04e022b2ff9a57a425accc3faeeaac3dc5d24af7e014f1a7780d17d0561c01", - "timestamp": 1621019330, - "blockNumber": 12434322 - }, - { - "proposalId": 14, - "voter": "0xC79D7693D7F9c05975064a2Db4efBFd4686e7D0d", - "support": true, - "votingPower": 1443.5350784780273, - "transactionHash": "0x1c902ad05044a67fd725056554298870c0bfe647853760c7e87976dc58fa234f", - "timestamp": 1621065494, - "blockNumber": 12437756 - }, - { - "proposalId": 14, - "voter": "0x0D65969832476e7954ba8689fddfda29A5D90dc1", - "support": true, - "votingPower": 1.45440487, - "transactionHash": "0xc63ce3fb43c12527b6cd22041697b483bfeef25f4d449daf63f1cd78ed0254d8", - "timestamp": 1621072849, - "blockNumber": 12438313 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 15, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 25303.375704249796, - "transactionHash": "0x39fc11f204e5b3d9d48afc60d09ce5ecc57b36f75ef41392bce29656464c8f97", - "timestamp": 1620424536, - "blockNumber": 12389717 - }, - { - "proposalId": 15, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 48420.041914711735, - "transactionHash": "0xe8e381eb559976a70a924636304e72ee20964e115c7d07ab6fa3142dc818971f", - "timestamp": 1620424686, - "blockNumber": 12389727 - }, - { - "proposalId": 15, - "voter": "0x3C0A69D5b87CC1Cd3797d6C4c8c236e28a59A7B8", - "support": true, - "votingPower": 45.331093437214136, - "transactionHash": "0xbfa4d9a4924258d3ab26dd34d7ab4f76eee069de17dd77769f790a492b604b28", - "timestamp": 1620430776, - "blockNumber": 12390201 - }, - { - "proposalId": 15, - "voter": "0x07DA04C2e5F3c3675425302B7B027A2ded9efcf1", - "support": true, - "votingPower": 5.921, - "transactionHash": "0xcb345564955b8285d5a0523d322e7bb1fe8e4412d60691fb99852466fe113dca", - "timestamp": 1620441053, - "blockNumber": 12390963 - }, - { - "proposalId": 15, - "voter": "0x7F18CA114C9D162B7078791582885F41caa4cAEd", - "support": true, - "votingPower": 71.96302782669395, - "transactionHash": "0xea647e1505fd673ac8ca5b7b688db1188c3713b284ce36d97ca8bdc8b5d25811", - "timestamp": 1620448369, - "blockNumber": 12391519 - }, - { - "proposalId": 15, - "voter": "0xD589a999B7F71365939bC2a96249e2B9ea315685", - "support": true, - "votingPower": 27.07970504, - "transactionHash": "0x553db44e0fe1c977e000a3f0a5810823431a14e3dba5af89e7f6d050807d34f7", - "timestamp": 1620449007, - "blockNumber": 12391579 - }, - { - "proposalId": 15, - "voter": "0x4Bf03635d42067CF86aaaF173F134765c30e40Fc", - "support": true, - "votingPower": 25833.333333344446, - "transactionHash": "0x7f879a0ad6fa4a7c9f1467c8c07f878707f6a100ddabe35a78ad99a4cb4faa4f", - "timestamp": 1620557146, - "blockNumber": 12399704 - }, - { - "proposalId": 15, - "voter": "0xA3F09fCCe3E340E251e23263B15d89623564b233", - "support": true, - "votingPower": 63621.20919493298, - "transactionHash": "0xa9dee1d9079fffd64160a28a87bb5e45ddb1a6d0e3dd4395cb065d78065af418", - "timestamp": 1620557302, - "blockNumber": 12399716 - }, - { - "proposalId": 15, - "voter": "0x8d07D225a769b7Af3A923481E1FdF49180e6A265", - "support": true, - "votingPower": 50, - "transactionHash": "0x7af46d96fe7124e7dc11778b7730ed8f8dddf44834b6c72bfd3a0a9cb607b434", - "timestamp": 1620557744, - "blockNumber": 12399750 - }, - { - "proposalId": 15, - "voter": "0xdDfd07cBb255FA8FFfA6A7320DC70F7db4d96a29", - "support": true, - "votingPower": 2.0713235, - "transactionHash": "0x1ee698f367fa44c1e8274b3197c527a14ba167cdcb38da1f15f0346edeb62476", - "timestamp": 1620624416, - "blockNumber": 12404730 - }, - { - "proposalId": 15, - "voter": "0xE47Ba20555e2915b77Bc65D6eAD76220429ae51c", - "support": true, - "votingPower": 1.2, - "transactionHash": "0xd15d94f5a14799858015bec0ee84457b6f563ba4302944e0a68eb06e20587b1d", - "timestamp": 1620628666, - "blockNumber": 12405078 - }, - { - "proposalId": 15, - "voter": "0xF5Fb27b912D987B5b6e02A1B1BE0C1F0740E2c6f", - "support": true, - "votingPower": 50810.822148168874, - "transactionHash": "0x1e0909de5f9c190eebcb9d18cb995f52694544dbc5a7e1b3ccb4ab50b7c3b18a", - "timestamp": 1620639479, - "blockNumber": 12405892 - }, - { - "proposalId": 15, - "voter": "0xdD709cAE362972cb3B92DCeaD77127f7b8D58202", - "support": true, - "votingPower": 183513.1135175046, - "transactionHash": "0x1ede31e613d8cd2d69161e0213123f9046175bd0ad6e2a216ad159e7dc85cb3d", - "timestamp": 1620640350, - "blockNumber": 12405957 - }, - { - "proposalId": 15, - "voter": "0x9B5ea8C719e29A5bd0959FaF79C9E5c8206d0499", - "support": true, - "votingPower": 100671.47087792464, - "transactionHash": "0x11ec45bf12f3157165ee9b3126a6f11f870b1c860c4d7dec438c1755046e1684", - "timestamp": 1620641639, - "blockNumber": 12406034 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 16, - "voter": "0x10D6d2e343281D388291A3e02f3293AaEdA67178", - "support": true, - "votingPower": 22.09256210314097, - "transactionHash": "0xb364b206ab5642fabe29fc03149b5ee45d9b13f5919a2ad189122c26ffb1fe1f", - "timestamp": 1621355338, - "blockNumber": 12459478 - }, - { - "proposalId": 16, - "voter": "0x89ce52f7F493A4b484d0554d14C59C6dAF7f73F4", - "support": true, - "votingPower": 0.50998118, - "transactionHash": "0xa9bfaf9f93f4a0a2e25b1ea5c022203c698338291b96a1ecbb449e31459b6718", - "timestamp": 1621365900, - "blockNumber": 12460271 - }, - { - "proposalId": 16, - "voter": "0xE47Ba20555e2915b77Bc65D6eAD76220429ae51c", - "support": true, - "votingPower": 1.2, - "transactionHash": "0x9e04183a15e0c8e384a74105edf8be360487d050af0c695a38cf0cf70bf3813b", - "timestamp": 1621378381, - "blockNumber": 12461175 - }, - { - "proposalId": 16, - "voter": "0x8d07D225a769b7Af3A923481E1FdF49180e6A265", - "support": true, - "votingPower": 50, - "transactionHash": "0x51e5257aaad4ffeabf48a998ee0b0dda1ecfbdce6048bb1f52339ee68fbb42e2", - "timestamp": 1621381747, - "blockNumber": 12461443 - }, - { - "proposalId": 16, - "voter": "0x23C0954C4b997c58A1544717dE90C8E174eA194c", - "support": true, - "votingPower": 27.560472393850493, - "transactionHash": "0xf01cffeaaf949ab86f7836720eae52bbb659934f1aba14e385d8160ede0e10ac", - "timestamp": 1621386535, - "blockNumber": 12461803 - }, - { - "proposalId": 16, - "voter": "0x34Ff77A853A14579d2120Ac08C5e342CEe08AD71", - "support": true, - "votingPower": 3.4312945900039424, - "transactionHash": "0xcdba7d001a4ab51a301f5f2cf5b0f669d330492c3e5e5be7d936b88752c6cec4", - "timestamp": 1621388855, - "blockNumber": 12461999 - }, - { - "proposalId": 16, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 21896.312942291526, - "transactionHash": "0x074f952cd527ddcf80dde9b456d94d0600077c420209542490be8d2d2294694e", - "timestamp": 1621458608, - "blockNumber": 12467164 - }, - { - "proposalId": 16, - "voter": "0x36C4Bd54D54DD898C242F5F634f5D0CEf3bE2A8A", - "support": true, - "votingPower": 77129.36742710107, - "transactionHash": "0x27e88e2bb06ab203f6e869e531d6dadb818aa93ca19b3c7aaf113f1c25fad400", - "timestamp": 1621461085, - "blockNumber": 12467324 - }, - { - "proposalId": 16, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 38407.860575267136, - "transactionHash": "0xbf8227f48792a69f70677a8772e2ea71deb0bf0769a7eb441f37ee15e5dd37a9", - "timestamp": 1621462274, - "blockNumber": 12467419 - }, - { - "proposalId": 16, - "voter": "0xaF297deC752c909092A117A932A8cA4AaaFF9795", - "support": true, - "votingPower": 42.56044539079661, - "transactionHash": "0xb17f20c9b7280ec0ba2c4ed9aa5c7713e6eff055164eba1ca43d74020891fd8e", - "timestamp": 1621506883, - "blockNumber": 12470751 - }, - { - "proposalId": 16, - "voter": "0x975779102B2A82384f872EE759801DB5204CE331", - "support": true, - "votingPower": 4011.825246280133, - "transactionHash": "0x2d557c76121d8059af2e16e7d2e90bf42901d2dd8e56073d5f016fc668c2d18b", - "timestamp": 1621508719, - "blockNumber": 12470901 - }, - { - "proposalId": 16, - "voter": "0x58e11792D0637540ab1f430E4659693659Ea2734", - "support": true, - "votingPower": 1.708, - "transactionHash": "0x30ee3dc086753f88a091e1d0211a82729f129c4f69288b46dbe34a19a735f64b", - "timestamp": 1621508951, - "blockNumber": 12470917 - }, - { - "proposalId": 16, - "voter": "0x9c2731b4a9AdAE8b65402E7036318a607496db45", - "support": true, - "votingPower": 4.512876086717333, - "transactionHash": "0x9f342b6621134edbaf1e60b06034e568ddc56e4df7823d620975bc36a212ccf3", - "timestamp": 1621509659, - "blockNumber": 12470975 - }, - { - "proposalId": 16, - "voter": "0x4A5Ef90f1554A4f0eAb0dd21AB91642172Fe95DC", - "support": false, - "votingPower": 0.07060954373779837, - "transactionHash": "0x8e044b82b53fb56b12e1d4917eef5fd94691e7bf7a0627639ff442c5c4ee7d84", - "timestamp": 1621546626, - "blockNumber": 12473743 - }, - { - "proposalId": 16, - "voter": "0xAD6c3d43b6765f2289B02384F0De412BeF87bD37", - "support": true, - "votingPower": 21.95002684, - "transactionHash": "0x6be296dd3f82dc14b23498db18c52fe77d460cc6b178ac2f9e12305975b842f7", - "timestamp": 1621557736, - "blockNumber": 12474566 - }, - { - "proposalId": 16, - "voter": "0xaf5c714deb11F8C778cd9DF2BE7c6bbedc364D51", - "support": true, - "votingPower": 4.25564, - "transactionHash": "0xacade54dabde572b4c02f2a444303aaabd7717aaf80004af14942ba1eac3336c", - "timestamp": 1621580106, - "blockNumber": 12476211 - }, - { - "proposalId": 16, - "voter": "0x4Bf03635d42067CF86aaaF173F134765c30e40Fc", - "support": true, - "votingPower": 25833.333333344446, - "transactionHash": "0xb0e2e8d631d3f1491de969c510992f433fcfe4ccc0bf13f0da119555da4accd6", - "timestamp": 1621581695, - "blockNumber": 12476317 - }, - { - "proposalId": 16, - "voter": "0x5BF6681a73A33A076c5569a4E729f41Ae20BD901", - "support": true, - "votingPower": 33.6903122, - "transactionHash": "0x09f998c88c7a76e45bf1a4d50ef08e3d06b66038b78ec68b28689dbde3a1d6e1", - "timestamp": 1621590387, - "blockNumber": 12476979 - }, - { - "proposalId": 16, - "voter": "0xf7B94424Ae368e28Df5c1E9b059c4263E1fFfe44", - "support": true, - "votingPower": 344.9388556825841, - "transactionHash": "0xcd13ec2ac314a5a8e2f97c17b09960b13b3fc9a58db7c36df43fdc3589a36bae", - "timestamp": 1621591297, - "blockNumber": 12477048 - }, - { - "proposalId": 16, - "voter": "0x60015a9010243425172182b00e35F689ED4d887a", - "support": true, - "votingPower": 112.63778678393712, - "transactionHash": "0xe88922685755d5f17b2dcd717b40d40c307e01ebf51259c17c552e2cbdd6dba2", - "timestamp": 1621592472, - "blockNumber": 12477142 - }, - { - "proposalId": 16, - "voter": "0x7553fa99AB1f429551eeC660708C08E14E30584F", - "support": true, - "votingPower": 68.15867334223353, - "transactionHash": "0xd02565e9d2082f3e0bd7b4b4c4c7cb3e86a2ba882ba5acaa4f88b034effef577", - "timestamp": 1621599976, - "blockNumber": 12477673 - }, - { - "proposalId": 16, - "voter": "0xdF8a73eFab85445866B9165eaD084f808eD421ca", - "support": true, - "votingPower": 29.673049736089574, - "transactionHash": "0x5e19f2fb19d44cd5d06baad6ed0a0ccc82c5401edb80a1fe973309f74936ee3c", - "timestamp": 1621604170, - "blockNumber": 12477971 - }, - { - "proposalId": 16, - "voter": "0x9B5ea8C719e29A5bd0959FaF79C9E5c8206d0499", - "support": true, - "votingPower": 100671.47087792464, - "transactionHash": "0x66b74f2c9953c83dddc52680d783a80b93be1aa4d8f3e6f99aaebec8736fa7ea", - "timestamp": 1621604941, - "blockNumber": 12478010 - }, - { - "proposalId": 16, - "voter": "0x18116191D57c46e31667Cb1Ed8b010190E58BFce", - "support": true, - "votingPower": 25000, - "transactionHash": "0xcfe747765d915ea1c469b21cd64ed5dfb2b2fb987382bbb12cceaee82a1b2ad6", - "timestamp": 1621607342, - "blockNumber": 12478192 - }, - { - "proposalId": 16, - "voter": "0xbad1990c2967231BC9A4fA9562ea68e65dd2B25d", - "support": true, - "votingPower": 40050.094607748906, - "transactionHash": "0xb1c7e98b719646ba14fb63e7d04503c181b510f9dbbcb89c4620e3799e8e9dcf", - "timestamp": 1621607679, - "blockNumber": 12478223 - }, - { - "proposalId": 16, - "voter": "0xCFECdBF9B60B64B7baaa94C6933a6ab29C3828e8", - "support": true, - "votingPower": 17791.491766772433, - "transactionHash": "0x8e04dbcd5f77f2a928815b524365d668d5dc0ceea20bb04f74671fe8a55308fa", - "timestamp": 1621609170, - "blockNumber": 12478332 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 17, - "voter": "0x139776871Ee95f55d20b10d9Ba5a0385451066cd", - "support": true, - "votingPower": 351.9348206917579, - "transactionHash": "0xb2f0e80e6e7919066aa77cdba116a3f7161d8298f2bb1b44c78ab3d48b8712d8", - "timestamp": 1623710155, - "blockNumber": 12635335 - }, - { - "proposalId": 17, - "voter": "0x9a568bFeB8CB19e4bAfcB57ee69498D57D9591cA", - "support": true, - "votingPower": 1.0219151535920314, - "transactionHash": "0x476523e9457c678900def753d9fc99ac8e9d2ce92ef8550dcf77698a016617f9", - "timestamp": 1623710504, - "blockNumber": 12635354 - }, - { - "proposalId": 17, - "voter": "0x679B4172E1698579d562D1d8b4774968305b80b2", - "support": true, - "votingPower": 0.05, - "transactionHash": "0x469b0dd5b1900649e3a179361b0a53534964788192d7e2010e766192a13280f9", - "timestamp": 1623712505, - "blockNumber": 12635503 - }, - { - "proposalId": 17, - "voter": "0xab32884A6383D33657DA8746862a1A5672F781f8", - "support": true, - "votingPower": 2.12, - "transactionHash": "0x5564d658ab5a905358565a4fc7c3af1a0b143dfd388d64ab43be84ed5927258d", - "timestamp": 1623713272, - "blockNumber": 12635568 - }, - { - "proposalId": 17, - "voter": "0x2e9b132ED5a0801ffA949FdeD806dA9c03693b54", - "support": true, - "votingPower": 1.3995, - "transactionHash": "0xcfada6a1265c548fd5e24d81b9e4f5c81d99acfdf3db3ba6a4160f6cd8820119", - "timestamp": 1623713653, - "blockNumber": 12635595 - }, - { - "proposalId": 17, - "voter": "0x7ECbD170193f406E2124bF4FB9ea842Af18b95eD", - "support": true, - "votingPower": 2.5276, - "transactionHash": "0x7eaddc1c4088e8a11f1903d600791252d7ee1d42cf629f419557661e9b111d87", - "timestamp": 1623713712, - "blockNumber": 12635602 - }, - { - "proposalId": 17, - "voter": "0x7Aedc2d3a4Aa945E22F2Aaf4f0716C674b969Ffa", - "support": true, - "votingPower": 56.6477929453265, - "transactionHash": "0x1e99c199fcd6c81f132c237b5f232cf6e11a08798d460739bc7c8f25e5fa4aca", - "timestamp": 1623713938, - "blockNumber": 12635614 - }, - { - "proposalId": 17, - "voter": "0x36cf80D36fDA4530777aeD39ae7f398E38fbb25f", - "support": false, - "votingPower": 2003.7827808111679, - "transactionHash": "0x9aea6540424df99372f21df7575ddcca0d38c5d26082033863c7853a0b3b113e", - "timestamp": 1623716844, - "blockNumber": 12635817 - }, - { - "proposalId": 17, - "voter": "0xe908c2D5613d24D49E376f19715c795DB8E04f81", - "support": true, - "votingPower": 1.180506805438513, - "transactionHash": "0x8bb0259d096b1aa8757bd98fe16a180df9f9b1c1416749f79cc92c7bf02f4d58", - "timestamp": 1623717729, - "blockNumber": 12635894 - }, - { - "proposalId": 17, - "voter": "0x6F23F04c3C974A95bE93069daD95feaD6fffF633", - "support": false, - "votingPower": 46.96679971942693, - "transactionHash": "0x15cd442002843f9154451cb992dcc5e7ee29464204be9243f20b45d6a906f34b", - "timestamp": 1623717755, - "blockNumber": 12635897 - }, - { - "proposalId": 17, - "voter": "0xbAa00c96730ae37fee08353B2F1C39e4134Acf2F", - "support": false, - "votingPower": 347.8198976673418, - "transactionHash": "0x9a3835540d3de3de7117a449ec5bdf656e3a655d907e49a5c533f8d3d2e7a0da", - "timestamp": 1623718968, - "blockNumber": 12635990 - }, - { - "proposalId": 17, - "voter": "0x5BC928BF0DAb1e4A2ddd9e347b0F22e88026D76c", - "support": true, - "votingPower": 68640.36230432753, - "transactionHash": "0x873c9a83899682736bc3f80e4ac10efd7bf4c4e033faa5acc772c1972c4909e1", - "timestamp": 1623720580, - "blockNumber": 12636094 - }, - { - "proposalId": 17, - "voter": "0x0154d25120Ed20A516fE43991702e7463c5A6F6e", - "support": true, - "votingPower": 6870.921197197489, - "transactionHash": "0x37bea9ea2a07f67a833a888f044711c10d2a1ad8aea7dbd53e574d313102a420", - "timestamp": 1623721005, - "blockNumber": 12636121 - }, - { - "proposalId": 17, - "voter": "0x9035B69186FCA1a9a43d6D5aaB62822eD666E6E0", - "support": true, - "votingPower": 94.54870991391597, - "transactionHash": "0xb1a3550269e09e0fd76a3fe9e7c5157e9b1bc970cd194af7cf0eeb7a4baf421a", - "timestamp": 1623721970, - "blockNumber": 12636203 - }, - { - "proposalId": 17, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 7578.960804536885, - "transactionHash": "0xbf8fd68a8953a4310e568e3e2d1e4f72f2a2ae9034958958249663797c3e8365", - "timestamp": 1623722811, - "blockNumber": 12636257 - }, - { - "proposalId": 17, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 8760.398593359521, - "transactionHash": "0xdafd8a0ae7a72e3f63b5667e7c22d02d27ee94e955e1dcb0d390552081b48bfb", - "timestamp": 1623723067, - "blockNumber": 12636271 - }, - { - "proposalId": 17, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xc62a1cee467dfe11990d98fbf3ef102383e708f26d583f4a817c481b0bad0459", - "timestamp": 1623724871, - "blockNumber": 12636400 - }, - { - "proposalId": 17, - "voter": "0x8D3cD61164fF9a2ddCCccE933c5b4608F6562a82", - "support": true, - "votingPower": 1.0100661562158981, - "transactionHash": "0x321b916ea07baa6b1a41e0c431f93b2a4107d2057eeb0f2a7c0a2e6d62eebddc", - "timestamp": 1623726538, - "blockNumber": 12636536 - }, - { - "proposalId": 17, - "voter": "0x10D6d2e343281D388291A3e02f3293AaEdA67178", - "support": true, - "votingPower": 22.09256210314097, - "transactionHash": "0x56d1f3f3bb6eb14ed19f5b8d746aeca19449b8e15d281cfa6b11827c84909ef1", - "timestamp": 1623730082, - "blockNumber": 12636784 - }, - { - "proposalId": 17, - "voter": "0x0F46540678c7e6D2eF983B382CC07Fa815AB148c", - "support": true, - "votingPower": 0.4114204767808163, - "transactionHash": "0x9f9736900fbbbfba4972582b5a549b54e2ba29deae7ede45a8a4d3dc7e34dbd1", - "timestamp": 1623743787, - "blockNumber": 12637829 - }, - { - "proposalId": 17, - "voter": "0xA3F09fCCe3E340E251e23263B15d89623564b233", - "support": false, - "votingPower": 63621.29690254156, - "transactionHash": "0x052f34fbc834cff68ac921a84f463f85cc89205fa93b0afe1807dae95b051b83", - "timestamp": 1623744813, - "blockNumber": 12637892 - }, - { - "proposalId": 17, - "voter": "0x60015a9010243425172182b00e35F689ED4d887a", - "support": true, - "votingPower": 104.52395591850919, - "transactionHash": "0xaa8523cf5152b28d98f1e201658dbe781210fc1c3d42cb127a60a36f719eff2b", - "timestamp": 1623745013, - "blockNumber": 12637906 - }, - { - "proposalId": 17, - "voter": "0x06B1Bf28C962363F212878BDF87417Ebd0316220", - "support": true, - "votingPower": 155.46735004436226, - "transactionHash": "0x6e16d2d8f44eed4595dec3ccf9d4e723368692ec6291f4a6a9b5030a9f5eecc0", - "timestamp": 1623746448, - "blockNumber": 12638017 - }, - { - "proposalId": 17, - "voter": "0xf38E04B856Ab129a5f097A3bC0aB7F9B5A8A379D", - "support": true, - "votingPower": 9.498285790954164, - "transactionHash": "0xf835c7f0ded6f3924b2b003493abe4fa9a199bc669c4e09359f7c85290964103", - "timestamp": 1623746611, - "blockNumber": 12638031 - }, - { - "proposalId": 17, - "voter": "0x3563FB742DB8ae3BE7764a464C8cb7c426195596", - "support": true, - "votingPower": 1.0020142464958215, - "transactionHash": "0x414c3414b0a625614f672d662bfc3165013580f719d42f96877d0277ec5572cf", - "timestamp": 1623754572, - "blockNumber": 12638629 - }, - { - "proposalId": 17, - "voter": "0x145DD77C0EB627b7B93CEabECAd82472e424B0f5", - "support": true, - "votingPower": 23.338664107567023, - "transactionHash": "0xaca3fe6c2310291f90b3f9ffc612edb04b74b4d59476ea3da91ed25db086a5f8", - "timestamp": 1623756108, - "blockNumber": 12638771 - }, - { - "proposalId": 17, - "voter": "0x42b594fBF5ccEA0a493fE7516cd23AcAc1beb9De", - "support": true, - "votingPower": 0.22408768, - "transactionHash": "0x97c165bcd7eb6700893b070724c4e9033ff7b87a73440dae61f40951e4946ed5", - "timestamp": 1623757762, - "blockNumber": 12638876 - }, - { - "proposalId": 17, - "voter": "0xF569914d4E46cBD6A91fDE6c8850a079604A271b", - "support": false, - "votingPower": 1147.3609307206002, - "transactionHash": "0x3c3929ad72b62a569a17cec872fae319c291113b3667d701a368951654e437eb", - "timestamp": 1623758076, - "blockNumber": 12638897 - }, - { - "proposalId": 17, - "voter": "0x4F2769e87C7d96ED9CA72084845eE05e7dE5DdA2", - "support": true, - "votingPower": 71.18379615035114, - "transactionHash": "0x86a05c4473aa25c6645d47091feb272b4278ded24b2f8d7cb12a27973a726c72", - "timestamp": 1623765871, - "blockNumber": 12639458 - }, - { - "proposalId": 17, - "voter": "0xC77FA6C05B4e472fEee7c0f9B20E70C5BF33a99B", - "support": false, - "votingPower": 9.475059659578662, - "transactionHash": "0x6ab9bcafd9ac119215fdb3c39f263331c3b988ef9ddf7a42ccfa596af7c4666d", - "timestamp": 1623766287, - "blockNumber": 12639489 - }, - { - "proposalId": 17, - "voter": "0xFd05831e8164dE31da2D8dF7a77941Cf7bEBE1f3", - "support": true, - "votingPower": 350, - "transactionHash": "0xc6f0ba546ace2c4ccc30398e1eb07a030e0a7614cc25cfd5a8a1a16c7602c502", - "timestamp": 1623769823, - "blockNumber": 12639764 - }, - { - "proposalId": 17, - "voter": "0x57cDeED094aF88ECb38CE9ea031e9A4Ff6590dF1", - "support": true, - "votingPower": 2.031656929176818, - "transactionHash": "0x02498b9b38695c8a6caa045ed0d191841cc3ba422b7ab736ec65329a6af2d8c4", - "timestamp": 1623772146, - "blockNumber": 12639935 - }, - { - "proposalId": 17, - "voter": "0x7a97A3B0D81feBF38AC7C431B71Dd3861B0C20c0", - "support": false, - "votingPower": 542.8143410726971, - "transactionHash": "0x25f082112b9cca16dc52fbbaee98238330a7ccc2cb088399c72b314702519422", - "timestamp": 1623774063, - "blockNumber": 12640065 - }, - { - "proposalId": 17, - "voter": "0x53ed17651B7DC5131C8878f0c30e6928FF13F8E2", - "support": true, - "votingPower": 140.26513389817316, - "transactionHash": "0xbf4b507f12fc0cf5d116244c1092b0e6a1f2905deaa60c9fd488c80a6e12cc8a", - "timestamp": 1623784025, - "blockNumber": 12640859 - }, - { - "proposalId": 17, - "voter": "0x753fb63deEe455da6fc91D3cf25f4A64Add69777", - "support": false, - "votingPower": 8.6985e-13, - "transactionHash": "0x0e99a34bb1e96301b5ca70e066a5605ce34fc009ab5f2acf8f19ded997f1db48", - "timestamp": 1623787914, - "blockNumber": 12641167 - }, - { - "proposalId": 17, - "voter": "0xeD292C433A828557428590cDd3b16db370Ae1032", - "support": true, - "votingPower": 0.04003380300783417, - "transactionHash": "0xebd1694c7e59bc1f8ed998f983be8b6f81c2187c9cfec5923355851e36279427", - "timestamp": 1623787988, - "blockNumber": 12641174 - }, - { - "proposalId": 17, - "voter": "0xA95906eAfDd96FA6bc07f18941c98e18f5F61CbB", - "support": false, - "votingPower": 779.239686382449, - "transactionHash": "0x9706a9f84edee7049add6cf1c1a6c899db78d8b13a450fc8a59daa9d75e124f2", - "timestamp": 1623788370, - "blockNumber": 12641203 - }, - { - "proposalId": 17, - "voter": "0xC2634B9d0A0cFb756cDed34656E09828072A8a9B", - "support": true, - "votingPower": 2.5863e-13, - "transactionHash": "0xf79dc2e5bb0a97ae7e1dbef2ce7fd462b2797476102e0ade01a950d21dca4f14", - "timestamp": 1623795310, - "blockNumber": 12641723 - }, - { - "proposalId": 17, - "voter": "0x6f9BB7e454f5B3eb2310343f0E99269dC2BB8A1d", - "support": true, - "votingPower": 3.06518e-13, - "transactionHash": "0xacb6f3ebc4dbb69623ba9261e7be5cddbd83b3e432a0ed090f92a04b7260e86f", - "timestamp": 1623796994, - "blockNumber": 12641849 - }, - { - "proposalId": 17, - "voter": "0x64B0C1918b4FFd3a77835229a69c01CE3219a58D", - "support": true, - "votingPower": 50, - "transactionHash": "0x9cde43c5b2bfad61549c7afcb4a678134abbe28aa87c57a339d5a647b070c994", - "timestamp": 1623806323, - "blockNumber": 12642552 - }, - { - "proposalId": 17, - "voter": "0x2aE1d88af6d27Cdf7c5c3799c8bF88191e2686D6", - "support": true, - "votingPower": 11.484377703466173, - "transactionHash": "0xa34255f32bf39ae7e63e27fa5868afa8161994832ee83ac5eef58de68d0cacc1", - "timestamp": 1623807395, - "blockNumber": 12642615 - }, - { - "proposalId": 17, - "voter": "0x194fEaaDB5972dD0451Baca1300921C730062E77", - "support": true, - "votingPower": 5.73076e-13, - "transactionHash": "0xd1c7677433fbfd57971dba30903948202cc9bb3820c6b33eddf89f6e96dcbc12", - "timestamp": 1623810113, - "blockNumber": 12642818 - }, - { - "proposalId": 17, - "voter": "0xd50B0485E1ba29Fb1E9E4418ebD47194c4bdDe9A", - "support": true, - "votingPower": 58.91767233697985, - "transactionHash": "0x7380866faafc825a395a329b66d5e7bd9a9124389d070255bd2b2240554e632b", - "timestamp": 1623810732, - "blockNumber": 12642862 - }, - { - "proposalId": 17, - "voter": "0xF646D947c9Bf29288aFf2b5849Af70F629362a2f", - "support": true, - "votingPower": 45.93028252406831, - "transactionHash": "0x843a79426c477459390b39d2b5a2ca5c646a24fd4a0ec924543b6e11b84a77c4", - "timestamp": 1623812950, - "blockNumber": 12643022 - }, - { - "proposalId": 17, - "voter": "0x4AdA1B9D9fe28aBd9585f58cfEeD2169A39e1c6b", - "support": true, - "votingPower": 333.49736822919044, - "transactionHash": "0x17fee518c52aecf4933c65151312f6eeb5949d59c9961caf85a6085a668dc8b6", - "timestamp": 1623827269, - "blockNumber": 12644071 - }, - { - "proposalId": 17, - "voter": "0x250276B35D3379f29aE3636aD5C39F5C44901e2C", - "support": true, - "votingPower": 103.75405943767646, - "transactionHash": "0xdcf03cb6f58ddb60dce0a1be909341f8b30e61b36e916d7c60047782f14e0873", - "timestamp": 1623832578, - "blockNumber": 12644446 - }, - { - "proposalId": 17, - "voter": "0x9B5ea8C719e29A5bd0959FaF79C9E5c8206d0499", - "support": true, - "votingPower": 108394.35104921389, - "transactionHash": "0xd69cd8941c36afc5766173317bd6a27e9889cc4ef2881391e88d547c395923ba", - "timestamp": 1623839219, - "blockNumber": 12644946 - }, - { - "proposalId": 17, - "voter": "0xdD709cAE362972cb3B92DCeaD77127f7b8D58202", - "support": true, - "votingPower": 186215.7046730608, - "transactionHash": "0x7c95d0cb74aabaafe16bc38b1e050a480f4377dde6f9f7d630b158f1cfcb0119", - "timestamp": 1623839425, - "blockNumber": 12644963 - }, - { - "proposalId": 17, - "voter": "0x956F1CE3ff2ea59A8b41DF83Ce9F85ED59D73F92", - "support": true, - "votingPower": 31.01708468104502, - "transactionHash": "0x496d39ed4114d3aaffef14e7d6d5c73c05dbb9642e4af0fa2b14b9088bc72783", - "timestamp": 1623840098, - "blockNumber": 12645019 - }, - { - "proposalId": 17, - "voter": "0xb4c8CddC137f46348231C937C4d36B643320af22", - "support": true, - "votingPower": 1.3200741469911692, - "transactionHash": "0x459076fcdcccb1820af9057b2cd4ec18458bf7484b7b283c07b7061b3a2a6176", - "timestamp": 1623845739, - "blockNumber": 12645433 - }, - { - "proposalId": 17, - "voter": "0xc4a936B003BC223DF757B35Ee52f6Da66B062935", - "support": false, - "votingPower": 92529.61013077926, - "transactionHash": "0x04f1a297da249c6d9cd85e41f963ebeab771ee923faa1f75502f40be743ee853", - "timestamp": 1623853128, - "blockNumber": 12645988 - }, - { - "proposalId": 17, - "voter": "0x2c682357aF557244f91C7C76855D435AE0f154cd", - "support": true, - "votingPower": 152.99921257134852, - "transactionHash": "0x35bbd9c808366a2badfba1d3a50fe5ed0131e682efb8c5c8679b07de9650eff1", - "timestamp": 1623865826, - "blockNumber": 12646968 - }, - { - "proposalId": 17, - "voter": "0x6bac48867BC94Ff20B4C62b21d484a44D04d342C", - "support": true, - "votingPower": 21.00042283305675, - "transactionHash": "0xa6ea62f23a7759558ec7d0bdd19296bdb12e718fe8c31f8ea41d58fa45439207", - "timestamp": 1623868038, - "blockNumber": 12647150 - }, - { - "proposalId": 17, - "voter": "0x99d7be449D280379802588554734fc521f891F39", - "support": false, - "votingPower": 68.21303490913247, - "transactionHash": "0x8e8eeec479e20ddfa91b508df673b28b63fdbfd691ef099ee637d8be881987a2", - "timestamp": 1623873924, - "blockNumber": 12647570 - }, - { - "proposalId": 17, - "voter": "0x0d64aDd7AA3a19392A8afA3a07dAaF0f7098776D", - "support": true, - "votingPower": 5.7, - "transactionHash": "0x7a6a8206e4fd2be2064401e04a59a1359cb8ad1b545db38cd0c4574c987b39e3", - "timestamp": 1623874568, - "blockNumber": 12647609 - }, - { - "proposalId": 17, - "voter": "0xC74c273E8df2E07f663B7d67231b060e67a60967", - "support": true, - "votingPower": 158.54589554675985, - "transactionHash": "0x784c447adb8b68b166621cc5fe4c0e8ebcbe4c86d5bda733feddbfd4f4ceda04", - "timestamp": 1623879688, - "blockNumber": 12647961 - }, - { - "proposalId": 17, - "voter": "0xAD549C7fcF1bd3E57BCa464D9Dce0A0D561599D1", - "support": true, - "votingPower": 42.57851665211979, - "transactionHash": "0x2ab00282128d024f8bce061320194ae926e618e64119bed58bfb2702a6130d5e", - "timestamp": 1623880996, - "blockNumber": 12648055 - }, - { - "proposalId": 17, - "voter": "0x7e1FEb23C08bFe287f6d3350281029aF0889502a", - "support": true, - "votingPower": 6.3155, - "transactionHash": "0x8bb02ff278db035748472440fed49440bf2944a49a2e001157c4b55e2163cf2d", - "timestamp": 1623895424, - "blockNumber": 12649157 - }, - { - "proposalId": 17, - "voter": "0x192420795e6a2c80c4A90f8a380D792145985f27", - "support": true, - "votingPower": 1.129e-15, - "transactionHash": "0xa20c5372a4f7c7b74e47c17cd83d4b523a53645e9b8dd9ee38c1fffb96786bc1", - "timestamp": 1623896805, - "blockNumber": 12649256 - }, - { - "proposalId": 17, - "voter": "0xF21D5e0452e14Db503699D5FE903F79c061FA2eb", - "support": false, - "votingPower": 35.19520142526216, - "transactionHash": "0xf450fafe0db3afac51aded354f53ff6b91006002f2cd18d1b761757119201db1", - "timestamp": 1623911278, - "blockNumber": 12650337 - }, - { - "proposalId": 17, - "voter": "0x3742f0fD8fcE40411c450E74D270D4D5Faaf92Fd", - "support": true, - "votingPower": 2.852, - "transactionHash": "0x77ae0f7dcbd2bfca11d189feb58d37007c19474be34c695b6c9c0667f43bc1ed", - "timestamp": 1623913965, - "blockNumber": 12650530 - }, - { - "proposalId": 17, - "voter": "0x82a4697A45037C4ae1bABd7af6C6D04254e4085A", - "support": false, - "votingPower": 23681.397557308563, - "transactionHash": "0x7680f1cb73f41ca86921ede2c4e5bab138401cde59eec59857e31fa349251965", - "timestamp": 1623914805, - "blockNumber": 12650604 - }, - { - "proposalId": 17, - "voter": "0xCFECdBF9B60B64B7baaa94C6933a6ab29C3828e8", - "support": false, - "votingPower": 17791.491766772433, - "transactionHash": "0xb0483db30c7cdea5c075757eb43afcbc6c5feee2682a00733662bc89583231be", - "timestamp": 1623921122, - "blockNumber": 12651073 - }, - { - "proposalId": 17, - "voter": "0x975779102B2A82384f872EE759801DB5204CE331", - "support": true, - "votingPower": 4027.4970264345648, - "transactionHash": "0x04ac62c517ed955682d218cd97933a8acf20ecb5e784c679fbb0eb8b0dd7b08f", - "timestamp": 1623922057, - "blockNumber": 12651148 - }, - { - "proposalId": 17, - "voter": "0x008B1FFe244bF31896C833bFf4Ad9009E7A0f4Eb", - "support": true, - "votingPower": 1031.067392698299, - "transactionHash": "0x0f61ca1fc262baf1a58b430e4a6778cd4736e2c969e7593cf03b4598f5571947", - "timestamp": 1623922095, - "blockNumber": 12651152 - }, - { - "proposalId": 17, - "voter": "0x102e0BEe3da1b393C5E898F433DD5787B80f67b5", - "support": false, - "votingPower": 0.51, - "transactionHash": "0x27a1da575a5250592600233e04245b1a0de5119917cf1c6f67815358114ee32a", - "timestamp": 1623926634, - "blockNumber": 12651489 - }, - { - "proposalId": 17, - "voter": "0x1FFb2bc45D28FAdFdC2Dd569C5F5b6E506047829", - "support": true, - "votingPower": 0.20274963643269708, - "transactionHash": "0xf5b6b754296b5c630ae7b7c4ea07f93f18d8d111abf6aa2252a117f2bd549325", - "timestamp": 1623940059, - "blockNumber": 12652473 - }, - { - "proposalId": 17, - "voter": "0x259cC22956b3a8d872bc180E2b86a8dE9126f028", - "support": false, - "votingPower": 2.02, - "transactionHash": "0x7fbdddde1aa1e2c3b6ae2e9902c335be32774ea75867f15a65cec3fc1d7f8fec", - "timestamp": 1623940382, - "blockNumber": 12652496 - }, - { - "proposalId": 17, - "voter": "0x87ae3929744864734Cd009Ad3Be47D97FCcB54D5", - "support": true, - "votingPower": 0.725987, - "transactionHash": "0xee54e728994d8a7feb4423980a9b0ef32e2bd3877efc4b6d15aa58b3f1d32ffc", - "timestamp": 1623940615, - "blockNumber": 12652513 - }, - { - "proposalId": 17, - "voter": "0x329c54289Ff5D6B7b7daE13592C6B1EDA1543eD4", - "support": false, - "votingPower": 16787.456458359196, - "transactionHash": "0xfcc6d75614ab287759ad613923bc3f979009b6a9bb9791a27f5a98f6b866d30d", - "timestamp": 1623950577, - "blockNumber": 12653239 - }, - { - "proposalId": 17, - "voter": "0xED5aE54d8f39486605e664C7a55dD0aa0EBCe14B", - "support": true, - "votingPower": 33.71908534982396, - "transactionHash": "0x8ca4cf2d252d5d12400d45d3d23d3fa3d23caa3aabb8178d462792bc44568ce7", - "timestamp": 1623951472, - "blockNumber": 12653318 - }, - { - "proposalId": 17, - "voter": "0xa15Ca74e65bf72730811ABF95163E89aD9b9DFF6", - "support": true, - "votingPower": 197.745696146818, - "transactionHash": "0x0cc5739e275e3866ca0cec7fcdbef248403e459ebf9d009e84943d12931e4ac9", - "timestamp": 1623953759, - "blockNumber": 12653490 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 18, - "voter": "0x4A5Ef90f1554A4f0eAb0dd21AB91642172Fe95DC", - "support": true, - "votingPower": 0.09225999285870563, - "transactionHash": "0x78fe2093666a1ddd53a8d4075faa98c785bab391789ae3bce42536570fdc7bc0", - "timestamp": 1626740965, - "blockNumber": 12860262 - }, - { - "proposalId": 18, - "voter": "0x8bD3e86Bb7470Ab48436a8C5FF19a0f6e9121B42", - "support": true, - "votingPower": 1.2298514706596118, - "transactionHash": "0x840df3d68b849ac9473d09c28c4a45da9d20b2f82471b97e77b4b7fc4c39aa05", - "timestamp": 1626741217, - "blockNumber": 12860278 - }, - { - "proposalId": 18, - "voter": "0x13C9D9b81513fe8eF119408F916B74118478Cb03", - "support": true, - "votingPower": 109.53403246663633, - "transactionHash": "0x2b13c367f3778dbc99bfc38894964b4ecf841af9d5cb798cd67fb7a89a9653a3", - "timestamp": 1626741995, - "blockNumber": 12860342 - }, - { - "proposalId": 18, - "voter": "0xD5996aE55de2F822936D56bF837257915644C7bF", - "support": true, - "votingPower": 78.98810005, - "transactionHash": "0xd4013542aabdf7e599bf6822fe1d41c6d127b2b353211019b8cf69e87085f872", - "timestamp": 1626742045, - "blockNumber": 12860347 - }, - { - "proposalId": 18, - "voter": "0x7F248e4301F5A16B2a8289989584A509f7157845", - "support": true, - "votingPower": 3.252071345421736, - "transactionHash": "0xd959a2c1d1ab9a49b56f9ae08ca8cefe264b2a671e7f530c12bd671eed336e75", - "timestamp": 1626742130, - "blockNumber": 12860352 - }, - { - "proposalId": 18, - "voter": "0x10A88d0168233907cBe4E697957a82c0aaB97977", - "support": true, - "votingPower": 0.39607348474961096, - "transactionHash": "0xc33af80aa045211b6335af26b9868dcdbfcf2f2053e96d26caaee8474f5bd223", - "timestamp": 1626742294, - "blockNumber": 12860364 - }, - { - "proposalId": 18, - "voter": "0x4271936a2Fd403283c6cFb4c0C3c89430d0D4AbD", - "support": true, - "votingPower": 0.11491289, - "transactionHash": "0xc074ca3f6e89a6e9de1999a383f66d7c0423bf51691749818305673b1b117dcd", - "timestamp": 1626743508, - "blockNumber": 12860451 - }, - { - "proposalId": 18, - "voter": "0xCC789933E9F9012eBFDe6Abe1af23C09d354D5d8", - "support": true, - "votingPower": 1, - "transactionHash": "0x8d37e8bf76d7fed907fdfe31608d2cca262ae15a4530d0fd1eb717e1ddfb764a", - "timestamp": 1626745791, - "blockNumber": 12860613 - }, - { - "proposalId": 18, - "voter": "0xe3B21b560b3A8C2C02422D7C72741712463Dfbfe", - "support": true, - "votingPower": 1.149, - "transactionHash": "0x136c11ff49b1836d8d3cab9eec1d34c44c7da2696970e0a5b22a9b43e94f9511", - "timestamp": 1626749971, - "blockNumber": 12860908 - }, - { - "proposalId": 18, - "voter": "0x2713A5FB15c0bBb0087d6bc53FBea9da5830d6e5", - "support": true, - "votingPower": 15.27058770226409, - "transactionHash": "0x461357f76ca989d54a6067e6c9e6bf2510c57c1eb270f48428fca685183c6c11", - "timestamp": 1626761016, - "blockNumber": 12861689 - }, - { - "proposalId": 18, - "voter": "0x86d09d173FB28F30b5E2176fc1B7a2B624a33629", - "support": true, - "votingPower": 14.05591, - "transactionHash": "0xf3f1c362c3e4215d455794826bc6ad0f6ca61ae41b2341284876db07de6089b4", - "timestamp": 1626762081, - "blockNumber": 12861785 - }, - { - "proposalId": 18, - "voter": "0x9796b9443A3FFbc60eAB64F33E368CC19ebA4F33", - "support": true, - "votingPower": 0.21466, - "transactionHash": "0xeb5b041b27221d684ae4f1628ce312d158dd914c56ab8d338c91e1dbb6b171d0", - "timestamp": 1626765204, - "blockNumber": 12862014 - }, - { - "proposalId": 18, - "voter": "0x232cd5Ed6c69bfDc4ed9B4C3d8923961eA4b439C", - "support": true, - "votingPower": 6.848521774704815, - "transactionHash": "0xb030f920ac486b36a09da012163ace450eab5871d2d35e01a79fddb52e89644a", - "timestamp": 1626769673, - "blockNumber": 12862344 - }, - { - "proposalId": 18, - "voter": "0xfe667F5bb242473BfA5E1EAF305703f2322795cF", - "support": true, - "votingPower": 6.2156, - "transactionHash": "0x10a9bfbc403e9083d85f3ace79f0f682d5ab5958dcf9f27f884dc0fbaa09ff28", - "timestamp": 1626771703, - "blockNumber": 12862497 - }, - { - "proposalId": 18, - "voter": "0x32a9d6A550C3D89284D5700F7d7758dBc6f0fB2C", - "support": true, - "votingPower": 530.0723946394611, - "transactionHash": "0x131467723b5f76f8040c9f75d0ec06cf8e819393c166f0700e1825a4bf62cd03", - "timestamp": 1626773942, - "blockNumber": 12862661 - }, - { - "proposalId": 18, - "voter": "0xF528f8B27d035F0604ea12e57f63bd0Faa6590Df", - "support": true, - "votingPower": 1036.25627765, - "transactionHash": "0xda9c4ca59e817dab1214d6fbf11ee0d04dc8c10e28843bdc2b1a47059b71c6d2", - "timestamp": 1626774862, - "blockNumber": 12862714 - }, - { - "proposalId": 18, - "voter": "0xa52395F3B42Ec41a97af9Cc6BF734C19db5B29F6", - "support": true, - "votingPower": 482.61280546, - "transactionHash": "0xb817b01df5d67be34d25393c5d7d13d41a9b54c3e37ab2035c0b5a3f0ee39ba6", - "timestamp": 1626775878, - "blockNumber": 12862783 - }, - { - "proposalId": 18, - "voter": "0x3070f20f86fDa706Ac380F5060D256028a46eC29", - "support": true, - "votingPower": 2, - "transactionHash": "0x6064fa091a330111c948cfc48cbb8d80902ce557de6171e7658b408c81bb1a9e", - "timestamp": 1626776886, - "blockNumber": 12862861 - }, - { - "proposalId": 18, - "voter": "0xE58585B22cC2aC4270a2b92c2D2d8C5dB5A3330E", - "support": true, - "votingPower": 48.823301969837914, - "transactionHash": "0x81c4288a4f6c832ae7187133a7151878a2288c6453dd65ae7c33744799d86435", - "timestamp": 1626778485, - "blockNumber": 12862983 - }, - { - "proposalId": 18, - "voter": "0xa9709e74223E01A95762a52979748D55E22Cef01", - "support": true, - "votingPower": 10.851419635336912, - "transactionHash": "0xaf1bfe1000cbd50a8c842ba287d45f5c1a14f45ab8d729b21a0a5bbdf44efe28", - "timestamp": 1626780356, - "blockNumber": 12863131 - }, - { - "proposalId": 18, - "voter": "0x5b9bE808B9a01F6A28B82f69F47366B0557Bb585", - "support": true, - "votingPower": 8.006871356046178, - "transactionHash": "0x13d98e5e268ca35c56f2d2fb965a423af457b59e2200c48e8322a534abc166a4", - "timestamp": 1626783751, - "blockNumber": 12863376 - }, - { - "proposalId": 18, - "voter": "0x253643bd61950801b94827462bb30d1859b6373d", - "support": true, - "votingPower": 5.198015383566487, - "transactionHash": "0x086a15329e7cd15a0b5c5403048695a02adb02593f25fa8d2ed3ff2668e849b1", - "timestamp": 1626786863, - "blockNumber": 12863607 - }, - { - "proposalId": 18, - "voter": "0x8dCF48FB8BC7FDDA5A3106eDe9b7c69Fc2C7E751", - "support": true, - "votingPower": 18345.821681900794, - "transactionHash": "0x18823a33417c7c2fd8023ce0db809e9fd348eeeb251dd99c8897dc6a01d363da", - "timestamp": 1626792700, - "blockNumber": 12864048 - }, - { - "proposalId": 18, - "voter": "0x4C37700d949db46Aa11A9F1627070F9Af31F8011", - "support": true, - "votingPower": 4.470753231261244, - "transactionHash": "0x835d67d8fa186feacce4e9cc3aaba404c8c6d5f91697c516e797bd7e38c3670f", - "timestamp": 1626794310, - "blockNumber": 12864182 - }, - { - "proposalId": 18, - "voter": "0xea05b7E1A689962A5FdC1471Dda3C0Fbaad9fAED", - "support": true, - "votingPower": 4, - "transactionHash": "0x73c80f501823d4508f8dfb304141a19c497da7344f6a0c453e75092c09cc5c10", - "timestamp": 1626798275, - "blockNumber": 12864487 - }, - { - "proposalId": 18, - "voter": "0x22F35A1c13b291B72A771bb061078B80dCf3A6E6", - "support": true, - "votingPower": 81.11924991993378, - "transactionHash": "0x7b8897039fbf40d2bb35f575bfe60ade6841cbebd6f0d2a52378173542a72926", - "timestamp": 1626799870, - "blockNumber": 12864607 - }, - { - "proposalId": 18, - "voter": "0x5BC928BF0DAb1e4A2ddd9e347b0F22e88026D76c", - "support": true, - "votingPower": 52640.36230432754, - "transactionHash": "0x0a040569cc33d11b6f7e450ec3b9eff9da6df79631969c77e491c7323e411d67", - "timestamp": 1626800398, - "blockNumber": 12864646 - }, - { - "proposalId": 18, - "voter": "0x918558df5A12Ba43657222bbcf1a735494a5024f", - "support": false, - "votingPower": 150.4195543670779, - "transactionHash": "0x135e8b2fc5296c05d1899f5c2ef77658499dd354504065c264987ba7701508d6", - "timestamp": 1626800516, - "blockNumber": 12864657 - }, - { - "proposalId": 18, - "voter": "0xDF93B5ec8Eb9407F03fF14a2E2B3eE4196fcD8b0", - "support": false, - "votingPower": 5.220584759219853, - "transactionHash": "0x0b781f6154a39425c9537c51defbb7933fb2d356cc1ce7030160b9e78a70f8ed", - "timestamp": 1626800522, - "blockNumber": 12864659 - }, - { - "proposalId": 18, - "voter": "0x3Cf089A30C57852200bB458f528726C1b1bE3164", - "support": true, - "votingPower": 0.007092069156195233, - "transactionHash": "0xc913a9a7b0fd4a650612d38c90a87cb8a152d195847fcb740b561f75054149e6", - "timestamp": 1626800540, - "blockNumber": 12864661 - }, - { - "proposalId": 18, - "voter": "0xF569914d4E46cBD6A91fDE6c8850a079604A271b", - "support": false, - "votingPower": 1147.3609307206002, - "transactionHash": "0xb08ba5580f064eeab5ad3839d1737065aa32b9b34270e3b854d73b7dd47794f6", - "timestamp": 1626800562, - "blockNumber": 12864664 - }, - { - "proposalId": 18, - "voter": "0x565b3b224f9F83573ca560b51cD772171380f826", - "support": true, - "votingPower": 2.6003126854981433, - "transactionHash": "0xe1572f45b7972541410f86e4a02eda58d5acd3f4214343e1c68d7d85fb8babe6", - "timestamp": 1626803624, - "blockNumber": 12864883 - }, - { - "proposalId": 18, - "voter": "0xc819620fe48cfEe437DB472eb52B70946409AEa2", - "support": false, - "votingPower": 140.60855462315536, - "transactionHash": "0x4da46d09bc780ef6b7c3d66d4285cd718805d5292c995351f6a99e4d382377d9", - "timestamp": 1626805551, - "blockNumber": 12865030 - }, - { - "proposalId": 18, - "voter": "0xF191E64bd21c20d9144106aC0480f1c9ddb17914", - "support": true, - "votingPower": 49.598779563854826, - "transactionHash": "0xd617c7f94aaf214ee2d1403d01300e2e562708b9930b6d827c1586c9b32db6e3", - "timestamp": 1626805988, - "blockNumber": 12865064 - }, - { - "proposalId": 18, - "voter": "0x41859D1ce2B9683abC75df4C5A4f1aB7b38326fF", - "support": false, - "votingPower": 28.373476052946653, - "transactionHash": "0x14a60756ee21e088e39fedfae17517c22bc490245a709a6fdaa4cf445031e2b5", - "timestamp": 1626806913, - "blockNumber": 12865114 - }, - { - "proposalId": 18, - "voter": "0x4017205F4731F85fc870449E244375E7E8288C06", - "support": true, - "votingPower": 2.28336, - "transactionHash": "0x3c7c52257bbd8c0392f232577d3f55c8aedde14f8bc7ea39202480a46503814b", - "timestamp": 1626808503, - "blockNumber": 12865231 - }, - { - "proposalId": 18, - "voter": "0x34De98B5021886c8fE30B5f17a0eE03323395c28", - "support": true, - "votingPower": 0, - "transactionHash": "0x9c476e049dfdd1d7abecf7d9808f0495afdd438fe90d0401dcdcab901c1b9bd7", - "timestamp": 1626809164, - "blockNumber": 12865275 - }, - { - "proposalId": 18, - "voter": "0xe1626C77c198D9B1B8f8349fA0358CE64D6b2B5c", - "support": true, - "votingPower": 24.80126101, - "transactionHash": "0x6c13e027c5bf060e42dc732bf0d8737688874cee22ed7cced02e92250b69afae", - "timestamp": 1626815212, - "blockNumber": 12865737 - }, - { - "proposalId": 18, - "voter": "0x0716266cC5D3c443e30b0c4E9C72AFA33778E1de", - "support": false, - "votingPower": 5.052107866770822, - "transactionHash": "0x1f8637d3f06aed219b35869ceb5a0873d46e05d496dfde1f11ccf4eff019b50e", - "timestamp": 1626816980, - "blockNumber": 12865875 - }, - { - "proposalId": 18, - "voter": "0x7e1E1c5ac70038a9718431C92A618F01f8DADa18", - "support": true, - "votingPower": 1.0489696889532105, - "transactionHash": "0xdaebacab189825443b8eea9bf072c824c6c9a49454495b8a80c028eb6a50356d", - "timestamp": 1626819698, - "blockNumber": 12866074 - }, - { - "proposalId": 18, - "voter": "0x303EeFeDeE1bA8e5d507a55465d946B2fea18583", - "support": true, - "votingPower": 1, - "transactionHash": "0xc40b8ee67510c801bc288afe74148e121d91c1c50299ede0a96aae53568e5fd7", - "timestamp": 1626819816, - "blockNumber": 12866084 - }, - { - "proposalId": 18, - "voter": "0x8AbAf5733742B1506F6a1255de0e37aEc76b7940", - "support": true, - "votingPower": 11.727614906, - "transactionHash": "0x2ac6881665b29b0447bfb4b9e32282180dadac1bddd725bbd44d96d84cc7f435", - "timestamp": 1626820845, - "blockNumber": 12866162 - }, - { - "proposalId": 18, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 3253.8258790890277, - "transactionHash": "0xdbb49bf9e052f7228cc766025adacdc961e6f4a445ba45dbe3900ce8337e8ea6", - "timestamp": 1626820918, - "blockNumber": 12866167 - }, - { - "proposalId": 18, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 5332.7301962672445, - "transactionHash": "0x8037e6b5176295a61a7367627c0542cd601c2cb5557ca764a6c4709977b0c834", - "timestamp": 1626821056, - "blockNumber": 12866182 - }, - { - "proposalId": 18, - "voter": "0x4AdA1B9D9fe28aBd9585f58cfEeD2169A39e1c6b", - "support": true, - "votingPower": 340.02814080929124, - "transactionHash": "0x4eed9a2f144e9ba6fd2317d549fc93f9ba5be2dc3ed6055b64274b99db86f01d", - "timestamp": 1626821856, - "blockNumber": 12866233 - }, - { - "proposalId": 18, - "voter": "0x5f4f120D8435ea38F0F4635A910fEe03801BE88d", - "support": true, - "votingPower": 10.002386446421584, - "transactionHash": "0xbd7862a761b4c17ff8e51f597e1ba8816073847936ae9cd698eaaa6ab8697611", - "timestamp": 1626831959, - "blockNumber": 12866967 - }, - { - "proposalId": 18, - "voter": "0x4F2769e87C7d96ED9CA72084845eE05e7dE5DdA2", - "support": true, - "votingPower": 70.72710783879354, - "transactionHash": "0x60911989277d41535a8738fc2fe6f5cc0f20e0c30a7ea2fb2e367d06ab095433", - "timestamp": 1626839602, - "blockNumber": 12867513 - }, - { - "proposalId": 18, - "voter": "0xDB715de9d95C1B6977185f9307517C367391d1a6", - "support": true, - "votingPower": 10.0087671, - "transactionHash": "0x2501f267c16a651846d87d3ebd7ed0915215d39c7617d1e10d9db9f3395f3556", - "timestamp": 1626841764, - "blockNumber": 12867656 - }, - { - "proposalId": 18, - "voter": "0xE5cc93993F78102f02E3cD33ce50d15968D60388", - "support": true, - "votingPower": 1.02250141, - "transactionHash": "0x78058952e9faeed92a6716f2c12bbf8163e494af6e84f8dcda15cb6fc5c632f1", - "timestamp": 1626842374, - "blockNumber": 12867718 - }, - { - "proposalId": 18, - "voter": "0x546B4A7A30b3193Badf70E1d43D8142928F3db0b", - "support": true, - "votingPower": 2.6718580734420962, - "transactionHash": "0xc0e21d89f5f24b6c62c5c365f4c040d8a71a32140018c08efc6184c6a6053c1e", - "timestamp": 1626847315, - "blockNumber": 12868074 - }, - { - "proposalId": 18, - "voter": "0x7F18CA114C9D162B7078791582885F41caa4cAEd", - "support": true, - "votingPower": 73.02106502406797, - "transactionHash": "0xe4479fd25aa9fbd44df3160e4e4254b384485dfda5e44dc6f0840c7b5b83404b", - "timestamp": 1626849897, - "blockNumber": 12868285 - }, - { - "proposalId": 18, - "voter": "0x8D3cD61164fF9a2ddCCccE933c5b4608F6562a82", - "support": true, - "votingPower": 1.0100661562158981, - "transactionHash": "0x6fde263f488665d277fb4d8c41ab57d273cfc89b0f66b1f814ce5f4fc354fdfa", - "timestamp": 1626853346, - "blockNumber": 12868524 - }, - { - "proposalId": 18, - "voter": "0x431b5DDB0AcE97eBC3d936403ea25831BaD832B6", - "support": true, - "votingPower": 1.0075590458643295, - "transactionHash": "0xfe4098e5b68497facb976aa4281ed9f1681a53a8c5150bde5d4579b257368195", - "timestamp": 1626856825, - "blockNumber": 12868759 - }, - { - "proposalId": 18, - "voter": "0xd83256a8BB182e7BE2382550Ed24861C71108d35", - "support": true, - "votingPower": 1.058586, - "transactionHash": "0x948b179325a4284c7ceb4034adb1566ff5968fe7aaf1f9a29288027050d1bcd1", - "timestamp": 1626858480, - "blockNumber": 12868883 - }, - { - "proposalId": 18, - "voter": "0xD0F54aB7c8dE07f693d7625Cd896F74A1c2Acb91", - "support": true, - "votingPower": 10.905586080714283, - "transactionHash": "0xc44263b589ea1fde2ed511514ea1aea20b2adc1fbf06c33f6d49b4db24d94b00", - "timestamp": 1626862577, - "blockNumber": 12869202 - }, - { - "proposalId": 18, - "voter": "0x9D945794454Eec146b385fe7a76b58bcAbD2428e", - "support": true, - "votingPower": 5, - "transactionHash": "0xa064e642275ad5cd7769e49c4c7e29765a49074f69d734e798183ebf1b6eca9a", - "timestamp": 1626870601, - "blockNumber": 12869798 - }, - { - "proposalId": 18, - "voter": "0x6c27839B2079BbB7e311e29C87A5c8bB5358F8aa", - "support": true, - "votingPower": 22.172464035911858, - "transactionHash": "0x8e20afd3c4f56b09b0b286c7f6b9d4fd25b80f811b3c78d7b4d0be0f80bf7aaf", - "timestamp": 1626870620, - "blockNumber": 12869800 - }, - { - "proposalId": 18, - "voter": "0x510b2D8E30e8c79247C51E04D5Be8bF7262F9938", - "support": true, - "votingPower": 1550.8743188152334, - "transactionHash": "0x8f1b0ae5d6990cb8de10257f1139df7088791e147408b76e118140e6fa89a853", - "timestamp": 1626871906, - "blockNumber": 12869899 - }, - { - "proposalId": 18, - "voter": "0x09737eeC05Ab50fD2D7f8411C6eeAf51DC6706e8", - "support": true, - "votingPower": 0, - "transactionHash": "0xf57a44fbe975f316d0a958d0ceb00344f9ae1942b952729140647e62c5ad0a8e", - "timestamp": 1626883134, - "blockNumber": 12870710 - }, - { - "proposalId": 18, - "voter": "0xc4a936B003BC223DF757B35Ee52f6Da66B062935", - "support": true, - "votingPower": 92529.61013077926, - "transactionHash": "0x5dc7b40335cd87a70c2fec35a27914064a44d792fc60e5e4f6a67cda1f043e09", - "timestamp": 1626884140, - "blockNumber": 12870798 - }, - { - "proposalId": 18, - "voter": "0x47C125DEe6898b6CB2379bCBaFC823Ff3f614770", - "support": true, - "votingPower": 7764.629908462255, - "transactionHash": "0xd804cf45ba363619f9a64cfe8bd1eeedf97f9fb5fc32ff62e78933177ef9e627", - "timestamp": 1626886373, - "blockNumber": 12870971 - }, - { - "proposalId": 18, - "voter": "0x3cB93aC1B172524C3957BdfE34F57E90211Cd491", - "support": true, - "votingPower": 28874.196358090216, - "transactionHash": "0xe10f8511710bdd49996ec0d6e8479b00e0969e2bc2c483ca930f1c3e04866501", - "timestamp": 1626899925, - "blockNumber": 12871959 - }, - { - "proposalId": 18, - "voter": "0x8d2B77aDC47B45df40C11407e765FA7b7A99cAB2", - "support": true, - "votingPower": 0.759936575778792, - "transactionHash": "0x10913de079202af38fffea1673af299d2f5adc739b9cfcff2fd59ce3956edd6f", - "timestamp": 1626902561, - "blockNumber": 12872174 - }, - { - "proposalId": 18, - "voter": "0xca31A80d28B2D40D5e772C0615A75c5D207A367d", - "support": true, - "votingPower": 29.9, - "transactionHash": "0x4e90720eb95edf6ebc87c2276659ea5efc76ffdf67a1e7ed1947db1bdfcc4f0b", - "timestamp": 1626910075, - "blockNumber": 12872757 - }, - { - "proposalId": 18, - "voter": "0x5A50412aD703847130469C1C4309abD411Ee0aD7", - "support": true, - "votingPower": 1, - "transactionHash": "0x1dcc47599998f062b16209d423f376df951e1c9186c2f2e84836aa0205746dc0", - "timestamp": 1626915314, - "blockNumber": 12873135 - }, - { - "proposalId": 18, - "voter": "0x188C30E9A6527F5F0c3f7fe59B72ac7253C62F28", - "support": true, - "votingPower": 2.7161301048839652, - "transactionHash": "0x7be801052961da619f8f630e3c4d9d959e83cd5ccea868af4c82002c04d1fa68", - "timestamp": 1626926671, - "blockNumber": 12873978 - }, - { - "proposalId": 18, - "voter": "0x018Ba7d4C044254f4aE94652B09c790bAf7Db3CA", - "support": true, - "votingPower": 0.03392915803291691, - "transactionHash": "0x95ba1c103195dd6fce8810d6adf5ab79952f9a4484b9db7df01602902189f328", - "timestamp": 1626945242, - "blockNumber": 12875291 - }, - { - "proposalId": 18, - "voter": "0x8dFc298C549aC38F208508bB9fBC0373d45dE502", - "support": true, - "votingPower": 3.943906, - "transactionHash": "0x089c1c479281ae4b7e476a3e2393d5da7e244b3ff3b664c9a0a69e07c7ef4b16", - "timestamp": 1626947188, - "blockNumber": 12875437 - }, - { - "proposalId": 18, - "voter": "0x7dd76f87567d999fd03e825BAe987e09099249EC", - "support": true, - "votingPower": 16.926240160301997, - "transactionHash": "0x64c89a898fa0e9b8c00ab9dfdb92a3bc4a75bc0dbaa6b4d5937accbeb33cd28f", - "timestamp": 1626948384, - "blockNumber": 12875524 - }, - { - "proposalId": 18, - "voter": "0xC0EBAC2629A58481dC5A5B0BCc607E0231fEb0d2", - "support": true, - "votingPower": 0.6481652834704541, - "transactionHash": "0xe6a46e7f0f8535e788bf3b9161196b8193996970046f26552bc86fa886a381fc", - "timestamp": 1626953598, - "blockNumber": 12875918 - }, - { - "proposalId": 18, - "voter": "0xdDfd07cBb255FA8FFfA6A7320DC70F7db4d96a29", - "support": true, - "votingPower": 4.959114634851958, - "transactionHash": "0x1607dcd934531584c949feb154cc4c5c9ccf2e209006756ea1d62a471f9cf567", - "timestamp": 1626964762, - "blockNumber": 12876802 - }, - { - "proposalId": 18, - "voter": "0x32caee5A069F2caC53BcE9E50743A400e003C384", - "support": true, - "votingPower": 5.884096488068319, - "transactionHash": "0x25b55fe6fb4fdfaae082eaa0e3148772216bfe0de8d1ea7294d904859b26ebd8", - "timestamp": 1626971621, - "blockNumber": 12877297 - }, - { - "proposalId": 18, - "voter": "0xAD549C7fcF1bd3E57BCa464D9Dce0A0D561599D1", - "support": true, - "votingPower": 42.57851665211979, - "transactionHash": "0xe4eb5ef9876a32d1be43db1bfebef511113cbf9f6a26c36011ad2421e842d94c", - "timestamp": 1626983329, - "blockNumber": 12878138 - }, - { - "proposalId": 18, - "voter": "0x10F87409E405c5e44e581A4C3F2eECF36AAf1f92", - "support": false, - "votingPower": 90684.22673396283, - "transactionHash": "0xeaf8d683d21a52ef8afcec5f78d01987616d7795d96d347e4e016e4ed75da51f", - "timestamp": 1626986096, - "blockNumber": 12878348 - }, - { - "proposalId": 18, - "voter": "0x78873D7A53EDE849D9F82ad451Eb8bAFc77244e7", - "support": true, - "votingPower": 4.01866256, - "transactionHash": "0x61167e9eeb0298e111536d3058ce67a6decd4f49ed1c3b53947f4381524bf94c", - "timestamp": 1626989229, - "blockNumber": 12878590 - }, - { - "proposalId": 18, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 123333.33743046239, - "transactionHash": "0x4470060996bc3e1e89174663f14f713291d35624bb59b874c7a92d1fc4645a6c", - "timestamp": 1626990894, - "blockNumber": 12878723 - }, - { - "proposalId": 18, - "voter": "0xA3F09fCCe3E340E251e23263B15d89623564b233", - "support": true, - "votingPower": 63621.29690254156, - "transactionHash": "0xc81944862cf807b1504ad3e10b4facc714e1d8214fd014097d60c5193313f56f", - "timestamp": 1626991734, - "blockNumber": 12878780 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 19, - "voter": "0x4A5Ef90f1554A4f0eAb0dd21AB91642172Fe95DC", - "support": false, - "votingPower": 0.09225999285870563, - "transactionHash": "0x31634921060a8b204d1e4a64825d7f375edbc1cf51b5ccb0ffff8c512d185a4a", - "timestamp": 1626824136, - "blockNumber": 12866378 - }, - { - "proposalId": 19, - "voter": "0xDB715de9d95C1B6977185f9307517C367391d1a6", - "support": false, - "votingPower": 10.0087671, - "transactionHash": "0x44062797ca207a7648e2b62af01e7b1e15c176ab86f389a8c9ec531b41459890", - "timestamp": 1626841707, - "blockNumber": 12867651 - }, - { - "proposalId": 19, - "voter": "0xd83256a8BB182e7BE2382550Ed24861C71108d35", - "support": true, - "votingPower": 1.058586, - "transactionHash": "0x765446f03a57383c62c254f738dd0a21bc2ba407388b74a16d21ca350a4ed974", - "timestamp": 1626858480, - "blockNumber": 12868883 - }, - { - "proposalId": 19, - "voter": "0x9B5ea8C719e29A5bd0959FaF79C9E5c8206d0499", - "support": true, - "votingPower": 109597.12554327461, - "transactionHash": "0x710299aa3beda9d29ee2c0bb5bb31c3c421d01be26d106c58a895cf68e415afa", - "timestamp": 1626863607, - "blockNumber": 12869273 - }, - { - "proposalId": 19, - "voter": "0xdD709cAE362972cb3B92DCeaD77127f7b8D58202", - "support": true, - "votingPower": 187685.23013702736, - "transactionHash": "0xeac2f952ab2b89d1bef1259da73f42a5b45bcbd851c47ae5afb9f5d33cf99670", - "timestamp": 1626863813, - "blockNumber": 12869290 - }, - { - "proposalId": 19, - "voter": "0x510b2D8E30e8c79247C51E04D5Be8bF7262F9938", - "support": true, - "votingPower": 1550.8743188152334, - "transactionHash": "0x7b43a89cc34b92cc578c55a419976f911d16ebaf3c034096733f82863b8a669e", - "timestamp": 1626871974, - "blockNumber": 12869904 - }, - { - "proposalId": 19, - "voter": "0x7F18CA114C9D162B7078791582885F41caa4cAEd", - "support": true, - "votingPower": 73.02106502406797, - "transactionHash": "0xdacd5c8e39213fed7d9f54d4bce988dcf0f4c2066630b85a41e7d2eff8defd1f", - "timestamp": 1626872078, - "blockNumber": 12869910 - }, - { - "proposalId": 19, - "voter": "0x47C125DEe6898b6CB2379bCBaFC823Ff3f614770", - "support": true, - "votingPower": 7764.629908462255, - "transactionHash": "0x3ffdd98c41ac0537ac93a921be86b77d12441ceba37fd6daf8ee8003f4ecda26", - "timestamp": 1626886373, - "blockNumber": 12870971 - }, - { - "proposalId": 19, - "voter": "0xF569914d4E46cBD6A91fDE6c8850a079604A271b", - "support": true, - "votingPower": 1147.3609307206002, - "transactionHash": "0x7005a6e256b109bffab5d6676d438c2d4b9482815548e69d7508a164c517136f", - "timestamp": 1626887906, - "blockNumber": 12871096 - }, - { - "proposalId": 19, - "voter": "0x3cB93aC1B172524C3957BdfE34F57E90211Cd491", - "support": true, - "votingPower": 28874.196358090216, - "transactionHash": "0x82014db2f9eecf8b9d4a2880231c705020db4467a647fea4c085ff33586e37c0", - "timestamp": 1626899979, - "blockNumber": 12871966 - }, - { - "proposalId": 19, - "voter": "0xca31A80d28B2D40D5e772C0615A75c5D207A367d", - "support": true, - "votingPower": 29.9, - "transactionHash": "0x89e9de7748b2c8bd03801297c4cc4466fec513bc66a9a5c4f708ed24bcfe8f50", - "timestamp": 1626910075, - "blockNumber": 12872757 - }, - { - "proposalId": 19, - "voter": "0x8AbAf5733742B1506F6a1255de0e37aEc76b7940", - "support": true, - "votingPower": 11.727614906, - "transactionHash": "0x8e9f283dcfce265119ef16b5a19c23e5264aee93c9a543e2e0648187ae576082", - "timestamp": 1626911364, - "blockNumber": 12872852 - }, - { - "proposalId": 19, - "voter": "0x5A50412aD703847130469C1C4309abD411Ee0aD7", - "support": true, - "votingPower": 1, - "transactionHash": "0x5c25a1a9ed06979f6bda13843cb6514c3535824e5b017967dd5cfd2a8a6a1e3c", - "timestamp": 1626915314, - "blockNumber": 12873135 - }, - { - "proposalId": 19, - "voter": "0x5BC928BF0DAb1e4A2ddd9e347b0F22e88026D76c", - "support": true, - "votingPower": 52640.36230432754, - "transactionHash": "0x0bdbcae5ca3acea3e3f0b473f0c6e7261d7fe656acac54604505cd7b91622998", - "timestamp": 1626924577, - "blockNumber": 12873827 - }, - { - "proposalId": 19, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 3253.8258790890277, - "transactionHash": "0x46cdeea14a5171850bfec2deaa358fba90fabe1f55d504291860a1e0c1e2b9e9", - "timestamp": 1626947454, - "blockNumber": 12875457 - }, - { - "proposalId": 19, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 5356.621496267244, - "transactionHash": "0xd22011ee054e3b02e6cd4c15b53a13b8080901447bf0074e2dbaa8c38f5e2959", - "timestamp": 1626947978, - "blockNumber": 12875491 - }, - { - "proposalId": 19, - "voter": "0xdDfd07cBb255FA8FFfA6A7320DC70F7db4d96a29", - "support": true, - "votingPower": 4.959114634851958, - "transactionHash": "0xc4c18c2216ca4dbb390c66478b3a1913041b8a79277ab7752b92d254aad68ca8", - "timestamp": 1626964859, - "blockNumber": 12876810 - }, - { - "proposalId": 19, - "voter": "0x32caee5A069F2caC53BcE9E50743A400e003C384", - "support": true, - "votingPower": 5.884096488068319, - "transactionHash": "0xd7cbb80933c07abe8c4bbfbbfbbf5e4ea2bcc032912e2b9e886f417a130f3a4c", - "timestamp": 1626971902, - "blockNumber": 12877311 - }, - { - "proposalId": 19, - "voter": "0x10F87409E405c5e44e581A4C3F2eECF36AAf1f92", - "support": true, - "votingPower": 89344.20924088129, - "transactionHash": "0x48c09d4d3689ce597824be679f3b7c52d7148268721bca32b8854d5b609c4ee5", - "timestamp": 1626985530, - "blockNumber": 12878308 - }, - { - "proposalId": 19, - "voter": "0x458cEec48586a85fCFEb4A179706656eE321730E", - "support": true, - "votingPower": 10000, - "transactionHash": "0x625231534c509cd7a9ead122cbb7571d25297b8bcf373ad137d410d8abdbda02", - "timestamp": 1627003100, - "blockNumber": 12879646 - } - ], - "finished": true - }, - { - "votes": [], - "finished": true - }, - { - "votes": [ - { - "proposalId": 21, - "voter": "0x7F18CA114C9D162B7078791582885F41caa4cAEd", - "support": true, - "votingPower": 73.02106502406797, - "transactionHash": "0xa11a31060922718fb20965fe939c078a703140f6572b318a6ab55118d93941fd", - "timestamp": 1626872087, - "blockNumber": 12869911 - }, - { - "proposalId": 21, - "voter": "0x510b2D8E30e8c79247C51E04D5Be8bF7262F9938", - "support": true, - "votingPower": 1550.8743188152334, - "transactionHash": "0xacbd6b893b45f1e4288f8cbbfa258ea7844a8f536b20f510f43497e0d00ad9e8", - "timestamp": 1626872094, - "blockNumber": 12869912 - }, - { - "proposalId": 21, - "voter": "0xE58585B22cC2aC4270a2b92c2D2d8C5dB5A3330E", - "support": true, - "votingPower": 48.823301969837914, - "transactionHash": "0xdac585a13cbb5527974221adcde84e5582743237b575bc30842c345a335345c5", - "timestamp": 1626875323, - "blockNumber": 12870145 - }, - { - "proposalId": 21, - "voter": "0x1ba6B82641C77aB1Fc7Bc734C5C3628199A8967D", - "support": true, - "votingPower": 149.90270765041348, - "transactionHash": "0x388dce986d72d911fb0eb76e9afcf9b11863ff582579428c7584eeeae909222e", - "timestamp": 1626877213, - "blockNumber": 12870283 - }, - { - "proposalId": 21, - "voter": "0x66574F487f2972212C96A7b6F9D43E7FC6498A23", - "support": true, - "votingPower": 25.94420628233516, - "transactionHash": "0x48395198c531f46d2002ec30a90b33fe9ecaaa6754dc9c8813df840b4d0c2a98", - "timestamp": 1626877785, - "blockNumber": 12870335 - }, - { - "proposalId": 21, - "voter": "0xF569914d4E46cBD6A91fDE6c8850a079604A271b", - "support": true, - "votingPower": 1147.3609307206002, - "transactionHash": "0xe2ea0945cd218811df166fa9dabd96ebfbe36cffe20655360219a4b3f053bf12", - "timestamp": 1626888007, - "blockNumber": 12871108 - }, - { - "proposalId": 21, - "voter": "0x3cB93aC1B172524C3957BdfE34F57E90211Cd491", - "support": true, - "votingPower": 28874.196358090216, - "transactionHash": "0x2099c426a26a4840555742b9b3a63b09ac8a7ae9fe5e16966f2abe68ce539264", - "timestamp": 1626899955, - "blockNumber": 12871961 - }, - { - "proposalId": 21, - "voter": "0xca31A80d28B2D40D5e772C0615A75c5D207A367d", - "support": true, - "votingPower": 29.9, - "transactionHash": "0x59c141e528ad9de810c97426cd7bd2894125803da8fdd9ba7797aaad21bcf588", - "timestamp": 1626910075, - "blockNumber": 12872757 - }, - { - "proposalId": 21, - "voter": "0x8AbAf5733742B1506F6a1255de0e37aEc76b7940", - "support": true, - "votingPower": 11.727614906, - "transactionHash": "0x462ee1a882b35e2d30fe0613bc442f6f6f24b489bbfb0d49ede4b2cdf829de71", - "timestamp": 1626911212, - "blockNumber": 12872840 - }, - { - "proposalId": 21, - "voter": "0x5A50412aD703847130469C1C4309abD411Ee0aD7", - "support": true, - "votingPower": 1, - "transactionHash": "0x6737322164e39638370ee7db6d283838abfd1f8052d053f3b98120ab2fdecfcf", - "timestamp": 1626915314, - "blockNumber": 12873135 - }, - { - "proposalId": 21, - "voter": "0x8DB03D7ed6F6a081c561C242412c98080E9FA13a", - "support": true, - "votingPower": 20, - "transactionHash": "0x1c841ae77a60f79637d0d1c0d3b95d431f833d7ef1424e18816b3414562b2ffe", - "timestamp": 1626919751, - "blockNumber": 12873451 - }, - { - "proposalId": 21, - "voter": "0x54E5e90a6679314E8339BB1ED74BeAb5cA19324A", - "support": true, - "votingPower": 39.87218593660649, - "transactionHash": "0xc65df6271aa19d3dda0a05a330662bd8d81a2c3a7b236e1230d7040efcbfd6a6", - "timestamp": 1626920899, - "blockNumber": 12873541 - }, - { - "proposalId": 21, - "voter": "0x458cEec48586a85fCFEb4A179706656eE321730E", - "support": true, - "votingPower": 10000, - "transactionHash": "0x7ae92e4c41f99bc3a99b5554cfb16e6afd4378e6a33d9bcd905563a19988ffca", - "timestamp": 1626921114, - "blockNumber": 12873558 - }, - { - "proposalId": 21, - "voter": "0x9B5ea8C719e29A5bd0959FaF79C9E5c8206d0499", - "support": true, - "votingPower": 109597.12554327461, - "transactionHash": "0x1730d6a16cdbbcd241279156ed228365edd5a8e347229cfe4b99ed476f8f67d2", - "timestamp": 1626942605, - "blockNumber": 12875077 - }, - { - "proposalId": 21, - "voter": "0xdD709cAE362972cb3B92DCeaD77127f7b8D58202", - "support": true, - "votingPower": 187685.23013702736, - "transactionHash": "0x654cea2663e0dcd70f187642b1701ad50cb70370905b6dae87d86b6ad4ca5c2f", - "timestamp": 1626943787, - "blockNumber": 12875179 - }, - { - "proposalId": 21, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 3253.8258790890277, - "transactionHash": "0xf7a8bcf522fd503b8c7ec5abc1ab98ac32efcfc7a1a1da1673863f13ec1f40a9", - "timestamp": 1626948101, - "blockNumber": 12875498 - }, - { - "proposalId": 21, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 5356.621496267244, - "transactionHash": "0x194671f7f86600b034300457b1f05bcf2a531c121eea09f9f1a42a5b963cbdc3", - "timestamp": 1626948260, - "blockNumber": 12875514 - }, - { - "proposalId": 21, - "voter": "0xE2E8fEe9ac2aF4352a0e424650B77da25C36bf80", - "support": true, - "votingPower": 23.08701909726196, - "transactionHash": "0x6d91c253d3ac9c7cdcee644ab401ca3298cb8554fd949749cb2a020e5715c9b6", - "timestamp": 1626953413, - "blockNumber": 12875901 - }, - { - "proposalId": 21, - "voter": "0xdDfd07cBb255FA8FFfA6A7320DC70F7db4d96a29", - "support": true, - "votingPower": 4.959114634851958, - "transactionHash": "0x9fffdc6c0eaaecd708e51598822db4c5a2523e54dd1b88151b5d4f64ee2bab4d", - "timestamp": 1626964953, - "blockNumber": 12876819 - }, - { - "proposalId": 21, - "voter": "0x32caee5A069F2caC53BcE9E50743A400e003C384", - "support": true, - "votingPower": 5.884096488068319, - "transactionHash": "0x2a7a60e94cbb6a2b3f4bcb4857573bd54d261cc94d54d3fc34c830bf122b508a", - "timestamp": 1626974455, - "blockNumber": 12877493 - }, - { - "proposalId": 21, - "voter": "0x517deE8Ec1fA6Bb05a780a8e18CBe0D7A1772B63", - "support": true, - "votingPower": 6529.933539309236, - "transactionHash": "0xe1dba36fcd578eb95cf7d5cd3e3b0d1af6454426f3fdad8ab8f03fa9f70d0729", - "timestamp": 1626975139, - "blockNumber": 12877528 - }, - { - "proposalId": 21, - "voter": "0xA3F09fCCe3E340E251e23263B15d89623564b233", - "support": true, - "votingPower": 63621.29690254156, - "transactionHash": "0x79ded792030df9a50449855b254f8b87cf606ac156dd216f90d02edb79e1f05f", - "timestamp": 1626991821, - "blockNumber": 12878788 - }, - { - "proposalId": 21, - "voter": "0x4A5Ef90f1554A4f0eAb0dd21AB91642172Fe95DC", - "support": true, - "votingPower": 0.09225999285870563, - "transactionHash": "0x33713ce3aa5d3bf33296f50efc9f49cb709d077f09f787b3e7e0bd3e4ad54e5c", - "timestamp": 1626997706, - "blockNumber": 12879265 - }, - { - "proposalId": 21, - "voter": "0x8bcEAF6859EBf5f3b6A347461149f1838C231C97", - "support": true, - "votingPower": 17.248915042378368, - "transactionHash": "0xc30fab7347451ab6e956c981fa729db497ed1c547cc6b3c9c5a8f2500ad67241", - "timestamp": 1626999969, - "blockNumber": 12879429 - }, - { - "proposalId": 21, - "voter": "0x7b8BB2953Fa98a061FEfa2dcE82bCD50D999D0f5", - "support": true, - "votingPower": 8.27788887838046, - "transactionHash": "0xdbef866ac8343aba2204baff87456740c0c4a911340aa86f68603870ee69e81c", - "timestamp": 1627010716, - "blockNumber": 12880224 - }, - { - "proposalId": 21, - "voter": "0x43C3Ecaf74d44700A7821F3EA58cEAe569d7158c", - "support": true, - "votingPower": 1.5762, - "transactionHash": "0x40d9e66a06753a16f12eadd30dd6eef0af3f175b8b393eaea89380bf9ac1997b", - "timestamp": 1627017027, - "blockNumber": 12880689 - }, - { - "proposalId": 21, - "voter": "0x9dEB06e50c4A20F83c47884ed87aa23663203078", - "support": true, - "votingPower": 15.211091440761273, - "transactionHash": "0x05f8986cfefff6076fec05fed4882011e2fff6d08f622299975df533b1aea2e9", - "timestamp": 1627034985, - "blockNumber": 12882031 - }, - { - "proposalId": 21, - "voter": "0x19BB34410c9a0f70E89d1b9ab054059Ed1cf5aa8", - "support": true, - "votingPower": 0.00137444305377264, - "transactionHash": "0x99714ebe6e6988dc1812ea28651a7826bcde2a4580373e1178efa44e7c5e86e0", - "timestamp": 1627042952, - "blockNumber": 12882623 - }, - { - "proposalId": 21, - "voter": "0xb6619D1EA0A46193aCea59e46F7D83a096cFa2cB", - "support": true, - "votingPower": 6, - "transactionHash": "0xfc735c2b1e459b681bbd6fc18a4111a0a245f2619ab9d24088a7cee0510d29c2", - "timestamp": 1627048181, - "blockNumber": 12882991 - }, - { - "proposalId": 21, - "voter": "0x3abBf51219A87cED996F24f357D4D90DCaBdfc79", - "support": true, - "votingPower": 0.578489025521677, - "transactionHash": "0x3b99b1890de76b2676158b422ed6e0b62fd10fd4efb3d82d3eb6dd059a331983", - "timestamp": 1627058023, - "blockNumber": 12883700 - }, - { - "proposalId": 21, - "voter": "0x7c73da56Fc8D04544621E1a7adF1479638f656Df", - "support": true, - "votingPower": 20.375326838518912, - "transactionHash": "0xb8b522b89812a1bc2ea62409b381a381f88f4fff28b75e8614a7c0a4fca1659b", - "timestamp": 1627059824, - "blockNumber": 12883838 - }, - { - "proposalId": 21, - "voter": "0x10F87409E405c5e44e581A4C3F2eECF36AAf1f92", - "support": true, - "votingPower": 89457.00745116494, - "transactionHash": "0x23d74e35fd2b7bf00f46c07af4e701ff7c56c6f64efe6291ca77648be7446a9c", - "timestamp": 1627074875, - "blockNumber": 12884964 - }, - { - "proposalId": 21, - "voter": "0xf8a843dDd974134443BeD41b7b43F4e4d493CC79", - "support": true, - "votingPower": 0, - "transactionHash": "0x601eece4028e222e27a942b677074c3c77e4feec360b9479daeb8229d7e75241", - "timestamp": 1627084115, - "blockNumber": 12885601 - }, - { - "proposalId": 21, - "voter": "0x084b6542BF22FcC13b2b7B02EC8106CF9E4eC976", - "support": true, - "votingPower": 41.223421682261616, - "transactionHash": "0x9dec94c4276134cb8b0c81920046d27a896829a102ce40377c5e2442e867b0d5", - "timestamp": 1627109866, - "blockNumber": 12887535 - }, - { - "proposalId": 21, - "voter": "0x60015a9010243425172182b00e35F689ED4d887a", - "support": true, - "votingPower": 1004.5449590573165, - "transactionHash": "0x051541887afdd5079ea37283fe0b3dacd130494c45a1ee33b77da32198b9d4b1", - "timestamp": 1627112197, - "blockNumber": 12887730 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 22, - "voter": "0x378a9c9C44b41c0e8970C358470e4E72EB782302", - "support": true, - "votingPower": 262799.5400714629, - "transactionHash": "0x093364c007f44c913133f905cb6567ea623a0f77abda665a6be81df812a51beb", - "timestamp": 1627917287, - "blockNumber": 12946670 - }, - { - "proposalId": 22, - "voter": "0x8AbAf5733742B1506F6a1255de0e37aEc76b7940", - "support": true, - "votingPower": 11.727614906, - "transactionHash": "0x595d09f39ee98dc701214a11155f73037f9c36c932d1d2fbc650a46a2b161a6f", - "timestamp": 1627917583, - "blockNumber": 12946696 - }, - { - "proposalId": 22, - "voter": "0xa550215d922aF5af685461887190cBe1CB7c8071", - "support": true, - "votingPower": 6.516990612863928, - "transactionHash": "0x06a257de5a32a55a684abdb419aea538ab0dd7ad1f502ea226295787aa1c45cb", - "timestamp": 1627918410, - "blockNumber": 12946751 - }, - { - "proposalId": 22, - "voter": "0xdDfd07cBb255FA8FFfA6A7320DC70F7db4d96a29", - "support": true, - "votingPower": 5.286769225356584, - "transactionHash": "0x8b06899af584e54df4514f0240ec4b85bd71ab8e842f9853c691fc6cc4ac16e8", - "timestamp": 1627918487, - "blockNumber": 12946759 - }, - { - "proposalId": 22, - "voter": "0x81b1Cb00947D909BfA3940bce561980ffb8DD38D", - "support": true, - "votingPower": 68.58127058158612, - "transactionHash": "0x53d0905e30837268d4958d91c9324b4bb83b05da5d2729cf59c1363414defea5", - "timestamp": 1627924177, - "blockNumber": 12947165 - }, - { - "proposalId": 22, - "voter": "0x54E5e90a6679314E8339BB1ED74BeAb5cA19324A", - "support": true, - "votingPower": 39.88378458544291, - "transactionHash": "0x43266c1027a531cf5c93b1bda892f0e03df7eb32d0876459330f3a382aa2499e", - "timestamp": 1627932254, - "blockNumber": 12947791 - }, - { - "proposalId": 22, - "voter": "0xb22903596325A9010d07a3996A42c327B8f1890b", - "support": true, - "votingPower": 50.106526425261855, - "transactionHash": "0xc9ca7e65ae300579dfef5b377ea4c3df1c6ec7a8affb53de66ca1050a24b8119", - "timestamp": 1627939235, - "blockNumber": 12948310 - }, - { - "proposalId": 22, - "voter": "0x8c8e7073190e3D0021bF58594cbdD9C9C2a4c088", - "support": true, - "votingPower": 0.7167441568649875, - "transactionHash": "0x9aab97b8703139e70a7328d66f915da593303099fc442a52f1e24e5408fc9c43", - "timestamp": 1627942162, - "blockNumber": 12948536 - }, - { - "proposalId": 22, - "voter": "0x4AdA1B9D9fe28aBd9585f58cfEeD2169A39e1c6b", - "support": true, - "votingPower": 343.7125952607672, - "transactionHash": "0xdbf71d8d703f8e7e20eb063f5b2f5010a68b1d15979a2bd52541953c0c5fbe9f", - "timestamp": 1627944542, - "blockNumber": 12948715 - }, - { - "proposalId": 22, - "voter": "0xe497145776d5A8d8fD101aBc070371a4eaDcdD1a", - "support": true, - "votingPower": 250, - "transactionHash": "0xc4e4e260c171748caf8cb10f416e62f57293badc34a8e0bc3d7adfaae541b380", - "timestamp": 1627944656, - "blockNumber": 12948727 - }, - { - "proposalId": 22, - "voter": "0xA2ad64b2D890A59ce18c0DdD51A7DE9eF69EB3da", - "support": true, - "votingPower": 5.188561148707628, - "transactionHash": "0x7094924240b48a0bb116319fce8071c27f4adebd9106598bb3b7f38936fe64b1", - "timestamp": 1627949098, - "blockNumber": 12949074 - }, - { - "proposalId": 22, - "voter": "0x95AE244Ac8F1E9AA86CA2182c4Edd98b9fc580c7", - "support": true, - "votingPower": 3.682993, - "transactionHash": "0x44fb8cc833fccc891d29c3c89a65cbd41d1a4daab0c19b1eddc56736660a139e", - "timestamp": 1627952430, - "blockNumber": 12949327 - }, - { - "proposalId": 22, - "voter": "0x768ccBb0c70094a7a838Fb9afbD5D9dCA3778F1F", - "support": true, - "votingPower": 110.52768222884974, - "transactionHash": "0x4de9b771157f6a1b4b6301d4d67b696d5f10aa7e24d648ebd8e3848fbbd53791", - "timestamp": 1627954041, - "blockNumber": 12949444 - }, - { - "proposalId": 22, - "voter": "0x9e22824907AD8c3777eFc4a5b89bFb04CA5ba6E1", - "support": true, - "votingPower": 0.42063262158541653, - "transactionHash": "0xa4085576000e78f448a875b6dbf0e97ff7c7829d9f594d37dec300152c17e00d", - "timestamp": 1627954745, - "blockNumber": 12949495 - }, - { - "proposalId": 22, - "voter": "0xA0efD27acC781549D5b78e89E561AA0903932d56", - "support": true, - "votingPower": 8.002657782527367, - "transactionHash": "0x774f802cf2adeb5cebac7bfb72d8d3ebc138028745410b0be90025989ca0667b", - "timestamp": 1627968267, - "blockNumber": 12950448 - }, - { - "proposalId": 22, - "voter": "0x71F12a5b0E60d2Ff8A87FD34E7dcff3c10c914b0", - "support": true, - "votingPower": 400.8295208617462, - "transactionHash": "0xd5c68dca1f2620e5f64da83f3ac0d6e3970c7d3a34cb07060205d39f7d67847a", - "timestamp": 1627975317, - "blockNumber": 12950961 - }, - { - "proposalId": 22, - "voter": "0xA3F09fCCe3E340E251e23263B15d89623564b233", - "support": false, - "votingPower": 63621.29690254156, - "transactionHash": "0x5c54c6bb4a891c9d7af6addc88def60abd5d38631db345af99a3bd945937dcdb", - "timestamp": 1627975498, - "blockNumber": 12950977 - }, - { - "proposalId": 22, - "voter": "0xc4a936B003BC223DF757B35Ee52f6Da66B062935", - "support": false, - "votingPower": 92529.61013077926, - "transactionHash": "0xb3a8f837fbd03b35033aba2ffec163371aa64bbe163ff033e796ebb1995db825", - "timestamp": 1627975948, - "blockNumber": 12951015 - }, - { - "proposalId": 22, - "voter": "0x86d09d173FB28F30b5E2176fc1B7a2B624a33629", - "support": true, - "votingPower": 14.05591, - "transactionHash": "0x67dbec7252347fdc03165653e9815111a17602c952b4a13a0ec897dc50439199", - "timestamp": 1627986656, - "blockNumber": 12951795 - }, - { - "proposalId": 22, - "voter": "0x2CbFb71b2dC583BC21856a1ac61ed1a87124866D", - "support": true, - "votingPower": 173.98884490592508, - "transactionHash": "0xc1c890fbb044c777766883d5501bcb8ad713a23ef89bb27c405cb3bd88f6ed65", - "timestamp": 1627986771, - "blockNumber": 12951809 - }, - { - "proposalId": 22, - "voter": "0x82a4697A45037C4ae1bABd7af6C6D04254e4085A", - "support": true, - "votingPower": 4681.3975573085645, - "transactionHash": "0x5902e979c32f736b717368b757034fc709b007a72becd9bad0d0996baa0c2b64", - "timestamp": 1627989516, - "blockNumber": 12952000 - }, - { - "proposalId": 22, - "voter": "0x9cA929435D077C307B0AccAE63908f11cfbfD6B4", - "support": true, - "votingPower": 0.311, - "transactionHash": "0xaaa1623a9ed8b6f0de45c08dfa0175e27d70098f324ace2a7ff90d7463254067", - "timestamp": 1627991497, - "blockNumber": 12952164 - }, - { - "proposalId": 22, - "voter": "0x52EebD82826a7B530839424cEAb6CA3643eB0Ef1", - "support": true, - "votingPower": 0.01443275820523183, - "transactionHash": "0x72204eb2d3764e1856222dcd3faabecd0518d3a2ce5f8d74498dedb45e2d9be5", - "timestamp": 1627994474, - "blockNumber": 12952362 - }, - { - "proposalId": 22, - "voter": "0x9B5ea8C719e29A5bd0959FaF79C9E5c8206d0499", - "support": false, - "votingPower": 109604.04203242678, - "transactionHash": "0xdfdf047096067d373d0b8fb24394aeef5e6229ce2b518823c72c6ddd2564a761", - "timestamp": 1628001154, - "blockNumber": 12952831 - }, - { - "proposalId": 22, - "voter": "0xdD709cAE362972cb3B92DCeaD77127f7b8D58202", - "support": false, - "votingPower": 187686.00183464552, - "transactionHash": "0xb7832ab9c9d123a7d7940fa16d2a85b2c154113d597614741f344c3c775c5cd6", - "timestamp": 1628001414, - "blockNumber": 12952850 - }, - { - "proposalId": 22, - "voter": "0x15a8cb60B6d66D62c1c45ce28FBBfd26C8278738", - "support": true, - "votingPower": 898.6850526853153, - "transactionHash": "0xde9acca6757109a716b622c53adcac227c141ad4fa4512070f91d1b4b2b5890a", - "timestamp": 1628002532, - "blockNumber": 12952944 - }, - { - "proposalId": 22, - "voter": "0x2E7296EBc57Fcf7c0b112D2a46062017bE2b1792", - "support": true, - "votingPower": 130.6055019619548, - "transactionHash": "0xaef6401dde03feda9a843f58610278351c7734c5804b7939e8095c70cb3fbd67", - "timestamp": 1628007428, - "blockNumber": 12953301 - }, - { - "proposalId": 22, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 2859.238316585152, - "transactionHash": "0x96eb2a0526303747bf0d669c8af2cd1c7414ad41bd0971610e70644d86d9779c", - "timestamp": 1628008958, - "blockNumber": 12953417 - }, - { - "proposalId": 22, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 5191.543274872863, - "transactionHash": "0x8078c867b0a80a0d0d8cc97f11445a71cdc4ebf7002aef4737921acde0ddf3cb", - "timestamp": 1628009060, - "blockNumber": 12953425 - }, - { - "proposalId": 22, - "voter": "0xca768c37ba6EC3d67bE7B47bbE1F1C94CA216f46", - "support": false, - "votingPower": 550.000000127771, - "transactionHash": "0x9e48c6079e943f19efb61bd797d16c26b0c3dbe180bde7ab733fe4c2c21630c0", - "timestamp": 1628010454, - "blockNumber": 12953541 - }, - { - "proposalId": 22, - "voter": "0xf5Fe364D18F4a5A53BADCe9a046ba74cfC97f6Fb", - "support": true, - "votingPower": 6.9365, - "transactionHash": "0x781c92ad7991134749e6e8ec5163d7bf10d6c35b629d0e2f38627cce2723100e", - "timestamp": 1628015604, - "blockNumber": 12953948 - }, - { - "proposalId": 22, - "voter": "0xcFa674b4e23d6a9640Cd8f43f04829d6FcdFE428", - "support": true, - "votingPower": 103.83273432306147, - "transactionHash": "0xa4bab7193b9652484613321f2c9bf317752a786a99e6da38b15a21c5d04aa7aa", - "timestamp": 1628016965, - "blockNumber": 12954043 - }, - { - "proposalId": 22, - "voter": "0x794783dcFCac8c1944727057A3208d8F8bB91506", - "support": true, - "votingPower": 0.5730635200719313, - "transactionHash": "0xd887655de6b13571f606f7416a74fb288b2e55255a3d3cf73709b9d54d92df72", - "timestamp": 1628018797, - "blockNumber": 12954183 - }, - { - "proposalId": 22, - "voter": "0x8DC4310F20d59BA458b76A62141697717f93FA41", - "support": true, - "votingPower": 11.00386193, - "transactionHash": "0x8db4666097c96d389dcef7148323b44954478367de4292a96547921227332bca", - "timestamp": 1628022223, - "blockNumber": 12954448 - }, - { - "proposalId": 22, - "voter": "0xb03F5438f9A243De5C3B830B7841EC315034cD5f", - "support": true, - "votingPower": 1.2738312898676176, - "transactionHash": "0x6b18d03a518a17241f950968b9d867989728a132fd15a020e9f06f82ddf21aa3", - "timestamp": 1628027740, - "blockNumber": 12954839 - }, - { - "proposalId": 22, - "voter": "0x3070f20f86fDa706Ac380F5060D256028a46eC29", - "support": true, - "votingPower": 2, - "transactionHash": "0xbb00a2dfaf7a02fd6d86cc2be3f498190e17bf4e27ec98f759c8956d162bba74", - "timestamp": 1628027811, - "blockNumber": 12954844 - }, - { - "proposalId": 22, - "voter": "0xDA48348EEf4863A804f48c3e2E1aFE86F2F0BaD6", - "support": false, - "votingPower": 1.6017391816519397, - "transactionHash": "0x5f8f64cc8c78b7eaf49f947eff231c8e1ec2b50bd0a28cc2d8a1500931eef6a1", - "timestamp": 1628030056, - "blockNumber": 12954976 - }, - { - "proposalId": 22, - "voter": "0x7b2366996A64effE1aF089fA64e9cf4361FddC6e", - "support": false, - "votingPower": 95.9881, - "transactionHash": "0xfb19a970120630ee30e133356102a6dd50db789ba43425da66063d28a58f0ce3", - "timestamp": 1628030426, - "blockNumber": 12955012 - }, - { - "proposalId": 22, - "voter": "0x0716266cC5D3c443e30b0c4E9C72AFA33778E1de", - "support": false, - "votingPower": 5.052107866770822, - "transactionHash": "0x2ae4a6af1e3fe870edce7bf177e43f47c4666e8e71d3cabd57b61d5e6b2b9edc", - "timestamp": 1628031790, - "blockNumber": 12955118 - }, - { - "proposalId": 22, - "voter": "0x5A27DBBfF05F36DC927137855E3381f0c20C1CDd", - "support": true, - "votingPower": 4931.561565263886, - "transactionHash": "0x01fe32edfdcfed8ce8819a48d633c839e3e5681f3106a7f158ffb1b509b548de", - "timestamp": 1628033343, - "blockNumber": 12955253 - }, - { - "proposalId": 22, - "voter": "0x4A5Ef90f1554A4f0eAb0dd21AB91642172Fe95DC", - "support": false, - "votingPower": 0.09225999285870563, - "transactionHash": "0xf1e72f2ab1536130a3e28f156ba4ec6ab8a33565fce370aae2a8d33d535529ed", - "timestamp": 1628035546, - "blockNumber": 12955425 - }, - { - "proposalId": 22, - "voter": "0xe38413308e48fFF7b634EF3510Bc304b8575c13D", - "support": true, - "votingPower": 0.4058112593281213, - "transactionHash": "0xe0b5935698125b1c5f97ada5fbad7555f091ddcd185006e35e748ee46cf02d88", - "timestamp": 1628035821, - "blockNumber": 12955443 - }, - { - "proposalId": 22, - "voter": "0x3cB93aC1B172524C3957BdfE34F57E90211Cd491", - "support": true, - "votingPower": 21874.196358090216, - "transactionHash": "0x6068798a2ae493b9df9e2c07df27845ebb961de596c22228044f380c73aecdf8", - "timestamp": 1628037512, - "blockNumber": 12955565 - }, - { - "proposalId": 22, - "voter": "0x5993BabE0fc029E1dE368Ed3C831F0Dbb914B010", - "support": true, - "votingPower": 45.173573764963905, - "transactionHash": "0x3b69327e921d9180e123d91ebfd2499878b0132e05dd3a594635914cc8fbb55d", - "timestamp": 1628038895, - "blockNumber": 12955663 - }, - { - "proposalId": 22, - "voter": "0xe88857D67CF8E0031cA1674fFE17f72578e566eE", - "support": true, - "votingPower": 102.71377535563684, - "transactionHash": "0x103295def68c3d93d5b74ff7b49ebb98c4b4a286549f5fe6eea0942290787f45", - "timestamp": 1628041398, - "blockNumber": 12955849 - }, - { - "proposalId": 22, - "voter": "0x60A71287353f3ac632F3e75Fd1be532850aA5f4D", - "support": true, - "votingPower": 2.6745195200314997, - "transactionHash": "0xcc151193efafe1490cbcf215ba38a657076ad5fb3b8de4c81b2b310564831d00", - "timestamp": 1628041561, - "blockNumber": 12955864 - }, - { - "proposalId": 22, - "voter": "0x510b2D8E30e8c79247C51E04D5Be8bF7262F9938", - "support": true, - "votingPower": 1550.8740665394907, - "transactionHash": "0xc09425d360cecf91c1e2fe16d147741d35f239c3f20bdf120b233f6dc1b4d05e", - "timestamp": 1628043591, - "blockNumber": 12956024 - }, - { - "proposalId": 22, - "voter": "0x07DA04C2e5F3c3675425302B7B027A2ded9efcf1", - "support": true, - "votingPower": 8.921, - "transactionHash": "0xfccaf2143d1574b5885849a5dfb17467ae3f4eb8355c8034e74381231bd6f9ea", - "timestamp": 1628044897, - "blockNumber": 12956106 - }, - { - "proposalId": 22, - "voter": "0xe9B2b6976dd9eF8C34D44afd65D8358c591FE786", - "support": true, - "votingPower": 100.14729730122257, - "transactionHash": "0x8e831cb279a3ccbb9053dfc6a3c2ba14e467df34f61d05d306070394b333c6be", - "timestamp": 1628046993, - "blockNumber": 12956267 - }, - { - "proposalId": 22, - "voter": "0x66B259B9E072E1ae256e738Dac2EBc25044178DE", - "support": true, - "votingPower": 114.20131087721415, - "transactionHash": "0x006d6faaff478a462bc0ae2a138497a8f8a41efa2d2da4ae878d29472587a06b", - "timestamp": 1628047742, - "blockNumber": 12956313 - }, - { - "proposalId": 22, - "voter": "0x80B3153F39Aeec1EF68Adc038913698e103E6e1d", - "support": true, - "votingPower": 97.32527240894406, - "transactionHash": "0xa2c6edd4754d38d91962caaf2d5e4a9a37e6c4d4cea2430e8af34efaca14141f", - "timestamp": 1628050440, - "blockNumber": 12956507 - }, - { - "proposalId": 22, - "voter": "0x5f350bF5feE8e254D6077f8661E9C7B83a30364e", - "support": false, - "votingPower": 0.2385406579571909, - "transactionHash": "0x12048215429b6ca85cc5fafa252699b8bfce7b9697cd4a290f5e2b8c40954c1b", - "timestamp": 1628051512, - "blockNumber": 12956578 - }, - { - "proposalId": 22, - "voter": "0xB311dFD575C1F4161257C1D8E6fE79e1E41DBc93", - "support": true, - "votingPower": 107.62800665370455, - "transactionHash": "0x466a82226964e953a9649e5604cbd361db570851a76abe38db5de05dd390c59c", - "timestamp": 1628051655, - "blockNumber": 12956592 - }, - { - "proposalId": 22, - "voter": "0x00Ce3088AEDf993C53e9026719beF011FfF212F9", - "support": true, - "votingPower": 86.08902972605274, - "transactionHash": "0x0aaaaef12709311f930334811ef38c23c17f1acd8a3c8169d087c00674fea75f", - "timestamp": 1628051844, - "blockNumber": 12956609 - }, - { - "proposalId": 22, - "voter": "0x250276B35D3379f29aE3636aD5C39F5C44901e2C", - "support": true, - "votingPower": 103.75405943767646, - "transactionHash": "0x945437de2fcd7730da34eb9bde03eb6aa22d25e41af4430856861d618b3b465b", - "timestamp": 1628052868, - "blockNumber": 12956688 - }, - { - "proposalId": 22, - "voter": "0x5E75F78A7e50121F0aD6440651C5567c0578D9B5", - "support": true, - "votingPower": 1000, - "transactionHash": "0x574799684c2f797500c74e7038423120fac507a2156b864b788de98dbdd2b38e", - "timestamp": 1628053306, - "blockNumber": 12956715 - }, - { - "proposalId": 22, - "voter": "0x7D8B86A0CAb3B19776452666087AF4E18c17e4b4", - "support": true, - "votingPower": 7.762101004067929, - "transactionHash": "0xb336a6cf3f6a8b26d5755e1e2e6bfe1126988bbc56b046631f22f976b26f3771", - "timestamp": 1628060484, - "blockNumber": 12957215 - }, - { - "proposalId": 22, - "voter": "0xCB2A9c2CE7e3d060700d72Cfe5E6d2BB9959f2f4", - "support": true, - "votingPower": 173.74008620149547, - "transactionHash": "0xfbb715fb0c92185d033183a8a916cf8ef7f966708221bf61adae5fa406e5c706", - "timestamp": 1628061845, - "blockNumber": 12957309 - }, - { - "proposalId": 22, - "voter": "0x4Bf03635d42067CF86aaaF173F134765c30e40Fc", - "support": false, - "votingPower": 64056.97372245482, - "transactionHash": "0x435d3cf9fe4de93a983b725c0c139e30aa1a9345ac34a7b20283932ab194f0d9", - "timestamp": 1628063036, - "blockNumber": 12957386 - }, - { - "proposalId": 22, - "voter": "0x0be0eCC301a1c0175f07A66243cfF628c24DB852", - "support": true, - "votingPower": 5.1980914579971085, - "transactionHash": "0x6be9d011d99f64f0bc1fe6618fcf57e9bc9eb015cb7f597e4f9727ef50aef753", - "timestamp": 1628066235, - "blockNumber": 12957626 - }, - { - "proposalId": 22, - "voter": "0x7F18CA114C9D162B7078791582885F41caa4cAEd", - "support": true, - "votingPower": 75.13060152982204, - "transactionHash": "0x383541be0446d90374a86f9a89d69c8591ddf661f4ce05bca341f54899cdf36c", - "timestamp": 1628071432, - "blockNumber": 12957995 - }, - { - "proposalId": 22, - "voter": "0xCa549E2700672c95AEF8B93b4C36CeBf429f73C6", - "support": false, - "votingPower": 21.4, - "transactionHash": "0xd8634c35d8e57b4c45bd9255d4b1d04ba9142541096c99827921969dc53d11c9", - "timestamp": 1628080257, - "blockNumber": 12958641 - }, - { - "proposalId": 22, - "voter": "0x119Aa1BFC4203F448E0FB4CD620cab605382853A", - "support": true, - "votingPower": 17.746435880810694, - "transactionHash": "0x0b8714c53a471a1c864eaa4c7dffd3af3b0e9e4952ba4389b2d9361203f1629a", - "timestamp": 1628097157, - "blockNumber": 12959919 - }, - { - "proposalId": 22, - "voter": "0x10F87409E405c5e44e581A4C3F2eECF36AAf1f92", - "support": false, - "votingPower": 93176.4970216382, - "transactionHash": "0xe45469dcaed4a932c303aea6374c608770a60f2330422d263aa4e99ef75dd359", - "timestamp": 1628099743, - "blockNumber": 12960107 - }, - { - "proposalId": 22, - "voter": "0x8Db0401F6De4adDBE50EDe7b1460852ae837dBDd", - "support": true, - "votingPower": 33767.82007627, - "transactionHash": "0x42ecd28320a7bdcd930cd32ffb6a561b8046bb3495961946e4fc09967cf4520c", - "timestamp": 1628104252, - "blockNumber": 12960465 - }, - { - "proposalId": 22, - "voter": "0x10D6d2e343281D388291A3e02f3293AaEdA67178", - "support": true, - "votingPower": 106.41316867898692, - "transactionHash": "0x8dfee9aa2091b259ffafe805650743ecbcd9ae663e0d8c813ae1d7e66f7c2872", - "timestamp": 1628115147, - "blockNumber": 12961258 - }, - { - "proposalId": 22, - "voter": "0x76D542089f923B08Da0B8174e0150cA2217566F9", - "support": false, - "votingPower": 4.107222631323404, - "transactionHash": "0x295bc93b678365c41676ce32b12045816ffb14d1218fff8e120da78c880acd3c", - "timestamp": 1628129520, - "blockNumber": 12962285 - }, - { - "proposalId": 22, - "voter": "0x458cEec48586a85fCFEb4A179706656eE321730E", - "support": true, - "votingPower": 10000, - "transactionHash": "0xe729b8fdea140f98116e2d517d5a49c4ca11b31757f401f135c57380b0173e01", - "timestamp": 1628139186, - "blockNumber": 12962992 - }, - { - "proposalId": 22, - "voter": "0x19B570af5DDdb8F0f5a15C83d07A1C5153865188", - "support": true, - "votingPower": 10.271004947693765, - "transactionHash": "0x7d17ce1c96bf4e136ca53e4a2b6354a86a0a6059493980a378d034c716d928e9", - "timestamp": 1628155952, - "blockNumber": 12964198 - }, - { - "proposalId": 22, - "voter": "0x32Cbd4cB8147Ae61401626caebcF193166Ca057F", - "support": true, - "votingPower": 10.592297, - "transactionHash": "0x18f00b36591c00ae998c21b3dc7ded7fa2413606b051b114afba14ee955e21a2", - "timestamp": 1628156730, - "blockNumber": 12964252 - }, - { - "proposalId": 22, - "voter": "0xF569914d4E46cBD6A91fDE6c8850a079604A271b", - "support": true, - "votingPower": 1147.3609307206002, - "transactionHash": "0x3015128d02cfd716fb20618561be1e6c54fab749f20a9d3f8da8efca28bfd66b", - "timestamp": 1628166649, - "blockNumber": 12964983 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 23, - "voter": "0x32a9d6A550C3D89284D5700F7d7758dBc6f0fB2C", - "support": true, - "votingPower": 472.00896903014456, - "transactionHash": "0x17bbcf5bf9b90851722e315c4d6f96904c5a30480466f1341f5a7a7c2811541c", - "timestamp": 1628105806, - "blockNumber": 12960557 - }, - { - "proposalId": 23, - "voter": "0x32caee5A069F2caC53BcE9E50743A400e003C384", - "support": true, - "votingPower": 5.884096488068319, - "transactionHash": "0xa6b79598c40e5b4e85c8482a6bcd21655a9094bcdf2a13b18c45c0ace3ba87b2", - "timestamp": 1628106402, - "blockNumber": 12960606 - }, - { - "proposalId": 23, - "voter": "0x5BC928BF0DAb1e4A2ddd9e347b0F22e88026D76c", - "support": true, - "votingPower": 83862.92336032754, - "transactionHash": "0x86c450f96cfca30dd5276017353635dd40e20aca0ee4479adcdebc7e936b5be2", - "timestamp": 1628107907, - "blockNumber": 12960730 - }, - { - "proposalId": 23, - "voter": "0x287044953B90D650fE1A7B1BA139aE49c668EFF0", - "support": true, - "votingPower": 1231.5511167397497, - "transactionHash": "0x98c8c6018e2f1941c862ea18c6452a4e50e0dba21f6a707da5170dadc797fdb9", - "timestamp": 1628108792, - "blockNumber": 12960796 - }, - { - "proposalId": 23, - "voter": "0x7bF6e077974410DC2874A53b3276A75191cD98da", - "support": true, - "votingPower": 2.601286, - "transactionHash": "0xff888e54f9d2afb6527672564853839f2de7c83d9714a7166a6ed5b3029a8d3e", - "timestamp": 1628114053, - "blockNumber": 12961179 - }, - { - "proposalId": 23, - "voter": "0x10D6d2e343281D388291A3e02f3293AaEdA67178", - "support": true, - "votingPower": 106.41316867898692, - "transactionHash": "0x5935a2bd8f4f7f57acf5682b873fc0c1fd648d5ca34f017824ac89144ca08386", - "timestamp": 1628115311, - "blockNumber": 12961270 - }, - { - "proposalId": 23, - "voter": "0xA0efD27acC781549D5b78e89E561AA0903932d56", - "support": true, - "votingPower": 8.002657782527367, - "transactionHash": "0x7a2ba8b316a88f911ce3f1c1c409c75fe7f7ef653fe7a44e6c1ab1803a83ae76", - "timestamp": 1628139825, - "blockNumber": 12963032 - }, - { - "proposalId": 23, - "voter": "0x588031347BEaA0D43978bC8C0094138A67D1A071", - "support": true, - "votingPower": 2.9872776093450635, - "transactionHash": "0xf28c96a8fe400362bf38095777b11f3c73151974ec296cb645b032428171b3e0", - "timestamp": 1628155577, - "blockNumber": 12964161 - }, - { - "proposalId": 23, - "voter": "0xE58585B22cC2aC4270a2b92c2D2d8C5dB5A3330E", - "support": true, - "votingPower": 48.823301969837914, - "transactionHash": "0x6c5828fd4e3aeba51b2190ca191dfd22f6452175645bdc677aa9e64637d1c0a3", - "timestamp": 1628159327, - "blockNumber": 12964459 - }, - { - "proposalId": 23, - "voter": "0x86d09d173FB28F30b5E2176fc1B7a2B624a33629", - "support": true, - "votingPower": 14.05591, - "transactionHash": "0x16099594ad8d657bdc05d3cc30861090575dc9fb4b0381258267ff59d565655c", - "timestamp": 1628160945, - "blockNumber": 12964582 - }, - { - "proposalId": 23, - "voter": "0x7a97A3B0D81feBF38AC7C431B71Dd3861B0C20c0", - "support": true, - "votingPower": 542.8143410726971, - "transactionHash": "0xc57cb22eb461d176f258954447838e28a40a4db099fd272c642232b7d317b81e", - "timestamp": 1628165315, - "blockNumber": 12964873 - }, - { - "proposalId": 23, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 2859.238316585152, - "transactionHash": "0x1e4ebdabce22bdba4f2c150fa6145765861a4b6dfa6df77e3c8d5a203582e718", - "timestamp": 1628192839, - "blockNumber": 12966916 - }, - { - "proposalId": 23, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 5191.843274872863, - "transactionHash": "0xcd93b2f091d657c6994dda0c7a6cf9fedc7304f48e6d45a50e3cb2560e070f9a", - "timestamp": 1628194597, - "blockNumber": 12967049 - }, - { - "proposalId": 23, - "voter": "0x303EeFeDeE1bA8e5d507a55465d946B2fea18583", - "support": true, - "votingPower": 1, - "transactionHash": "0x78478495c9e898cb6903192c4402180614012ea6469cdcdecf2f92d7de963b58", - "timestamp": 1628196993, - "blockNumber": 12967239 - }, - { - "proposalId": 23, - "voter": "0x8AbAf5733742B1506F6a1255de0e37aEc76b7940", - "support": true, - "votingPower": 11.727614906, - "transactionHash": "0x419f4270e40e3cabdbc0a139698eca286d2fc1f2a9825a573871942d56d3948b", - "timestamp": 1628205482, - "blockNumber": 12967855 - }, - { - "proposalId": 23, - "voter": "0xCa549E2700672c95AEF8B93b4C36CeBf429f73C6", - "support": true, - "votingPower": 21.4, - "transactionHash": "0xd886a97c6be2d7c112b94fce972dabd1c564f3822ae44d0d61875d55a48ef6f3", - "timestamp": 1628217982, - "blockNumber": 12968797 - }, - { - "proposalId": 23, - "voter": "0x3070f20f86fDa706Ac380F5060D256028a46eC29", - "support": true, - "votingPower": 2, - "transactionHash": "0xebcb72b5a341c757bddb8612b51e3025e20deeb88d44b132c91f9baf4028dfb5", - "timestamp": 1628245041, - "blockNumber": 12970835 - }, - { - "proposalId": 23, - "voter": "0x4Bf03635d42067CF86aaaF173F134765c30e40Fc", - "support": true, - "votingPower": 64056.97372245482, - "transactionHash": "0x9271296fda870e4dccc0520b857d06f84410dd19bd0b3a464c8587e6da641d79", - "timestamp": 1628255065, - "blockNumber": 12971575 - }, - { - "proposalId": 23, - "voter": "0x6CD71d6Cb7824add7c277F2CA99635D98F8b9248", - "support": true, - "votingPower": 20.739742196705343, - "transactionHash": "0x13b541935aee604c9597da8fdbcbd5edfb79ef15836e6631322a44ca5e5ffaf3", - "timestamp": 1628258015, - "blockNumber": 12971787 - }, - { - "proposalId": 23, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 123333.33743046239, - "transactionHash": "0x22ee614e7b103f51e85c50841bec98fd167a66872fb9ed7fa3bdf82f5c760393", - "timestamp": 1628282312, - "blockNumber": 12973586 - }, - { - "proposalId": 23, - "voter": "0x10F87409E405c5e44e581A4C3F2eECF36AAf1f92", - "support": true, - "votingPower": 92702.18250128688, - "transactionHash": "0xb92a607bde38d0145c724634ff42797d4bbbe68e1315ef1bb92b9f9a28b94ceb", - "timestamp": 1628308131, - "blockNumber": 12975581 - }, - { - "proposalId": 23, - "voter": "0xf440f5AFbca22733c0bA5479794AD12e0fC1fe26", - "support": true, - "votingPower": 0.922, - "transactionHash": "0x2435d957d61b2e3355f693b0fd18b101d18480be51b2450223fc2c1eb47c73e8", - "timestamp": 1628321080, - "blockNumber": 12976547 - }, - { - "proposalId": 23, - "voter": "0x19B570af5DDdb8F0f5a15C83d07A1C5153865188", - "support": true, - "votingPower": 10.271004947693765, - "transactionHash": "0xbe1679962a6a354c877aad1836c9c56297c5af40d5d94f0ba94bb3e717433c6d", - "timestamp": 1628345407, - "blockNumber": 12978412 - }, - { - "proposalId": 23, - "voter": "0xca31A80d28B2D40D5e772C0615A75c5D207A367d", - "support": true, - "votingPower": 29.9, - "transactionHash": "0x7554c9340ebe143f239ec74bf7652d2ec2e39de47e1c53685bff1f162946cb4b", - "timestamp": 1628345542, - "blockNumber": 12978422 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 24, - "voter": "0x32a9d6A550C3D89284D5700F7d7758dBc6f0fB2C", - "support": true, - "votingPower": 472.00896903014456, - "transactionHash": "0xa94f2700c824ee3ab8417109ec9ba760c6c3e8cf54963a583eacdf29c3149b97", - "timestamp": 1628105860, - "blockNumber": 12960564 - }, - { - "proposalId": 24, - "voter": "0xefe4880CB2e0B0462e2E18993430Ef1cDc3ff635", - "support": true, - "votingPower": 5.320007256010709, - "transactionHash": "0x06b208173000c8ffec260cbd7349033f32b889c353dd0d9ee5d17b798fe0c3bb", - "timestamp": 1628107647, - "blockNumber": 12960709 - }, - { - "proposalId": 24, - "voter": "0x5BC928BF0DAb1e4A2ddd9e347b0F22e88026D76c", - "support": true, - "votingPower": 83862.92336032754, - "transactionHash": "0xf0603be64e3968b1a41836eb44bf1973e403db6286a0b329e068de4fe65a59b3", - "timestamp": 1628108001, - "blockNumber": 12960739 - }, - { - "proposalId": 24, - "voter": "0x7bF6e077974410DC2874A53b3276A75191cD98da", - "support": true, - "votingPower": 2.601286, - "transactionHash": "0x3024f9f7c84311d973d398e1af777d39fa3aae5450331e98b23cb03f344ac24c", - "timestamp": 1628115147, - "blockNumber": 12961258 - }, - { - "proposalId": 24, - "voter": "0xA0efD27acC781549D5b78e89E561AA0903932d56", - "support": true, - "votingPower": 8.002657782527367, - "transactionHash": "0xb4a78736adc5b00b72aeb61c408bdee14b405f420f6d530dee0499810dd8f3bf", - "timestamp": 1628139925, - "blockNumber": 12963040 - }, - { - "proposalId": 24, - "voter": "0x6c27839B2079BbB7e311e29C87A5c8bB5358F8aa", - "support": true, - "votingPower": 22.172464035911858, - "transactionHash": "0x7dfe950fd986a3bf6632eb03db4fde7b406b3a32800d9f09358459f133d8ffeb", - "timestamp": 1628147593, - "blockNumber": 12963591 - }, - { - "proposalId": 24, - "voter": "0xE58585B22cC2aC4270a2b92c2D2d8C5dB5A3330E", - "support": true, - "votingPower": 48.823301969837914, - "transactionHash": "0xcb92815935ab497028a82880410a407a959d25707ea1813cd9f317a9a327e6af", - "timestamp": 1628159327, - "blockNumber": 12964459 - }, - { - "proposalId": 24, - "voter": "0x86d09d173FB28F30b5E2176fc1B7a2B624a33629", - "support": true, - "votingPower": 14.05591, - "transactionHash": "0xd87716452ca94d4d639a5468d50016e187cb15bf09a04726d66623233b6c4c56", - "timestamp": 1628160846, - "blockNumber": 12964574 - }, - { - "proposalId": 24, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 2861.7149658555686, - "transactionHash": "0x98c330d650de1fcf387f06d1e9f2405102a366352f8bee488b709552e67b41f4", - "timestamp": 1628193582, - "blockNumber": 12966985 - }, - { - "proposalId": 24, - "voter": "0xca768c37ba6EC3d67bE7B47bbE1F1C94CA216f46", - "support": true, - "votingPower": 550.000000127771, - "transactionHash": "0x53680d65f56568cba8ff4ec857b9d19ad18eeb4543a628b27e3bde0f232ded62", - "timestamp": 1628195946, - "blockNumber": 12967153 - }, - { - "proposalId": 24, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 5191.843274872863, - "transactionHash": "0xa9d32d06443acc664df8694429ad591d5a2e48800581e83e3c3ee79e46481847", - "timestamp": 1628196416, - "blockNumber": 12967192 - }, - { - "proposalId": 24, - "voter": "0x303EeFeDeE1bA8e5d507a55465d946B2fea18583", - "support": true, - "votingPower": 1, - "transactionHash": "0x590106c54343e1412b301b9fba27028fd43e8976c8694f11432e531a71f6fdaa", - "timestamp": 1628197018, - "blockNumber": 12967240 - }, - { - "proposalId": 24, - "voter": "0x8AbAf5733742B1506F6a1255de0e37aEc76b7940", - "support": true, - "votingPower": 11.727614906, - "transactionHash": "0x230be5da9564a34f85bc1b0a31cf959007db3dda2e53769e8f8e0c7a431eb286", - "timestamp": 1628205482, - "blockNumber": 12967855 - }, - { - "proposalId": 24, - "voter": "0x4Bf03635d42067CF86aaaF173F134765c30e40Fc", - "support": true, - "votingPower": 64056.97372245482, - "transactionHash": "0x9aaa90b5a7d23b1afc5ca9f106752d1e26c09a5095a9ad61b8e2d8d786042993", - "timestamp": 1628255118, - "blockNumber": 12971578 - }, - { - "proposalId": 24, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 123333.33743046239, - "transactionHash": "0xcb1f72b7bec64382ece8f4a5ee4317e19537c49cb2aa727fca94f43f40b38d53", - "timestamp": 1628281743, - "blockNumber": 12973542 - }, - { - "proposalId": 24, - "voter": "0x10F87409E405c5e44e581A4C3F2eECF36AAf1f92", - "support": true, - "votingPower": 92702.18250128688, - "transactionHash": "0xe49cbcb24e25c7ab923fcc25df07f3394ed4a5610f9e8e72441ce0e8f96d3329", - "timestamp": 1628308206, - "blockNumber": 12975590 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 25, - "voter": "0xE9D4E436e51648c5d8D1b90667C17bA069b40CAA", - "support": true, - "votingPower": 125.69930053939386, - "transactionHash": "0xfdc5b11abd74f44dfc26f02dbd1bbe171ca1d7c19036d2b6a1f2097459434869", - "timestamp": 1628258353, - "blockNumber": 12971809 - }, - { - "proposalId": 25, - "voter": "0x5772ACba5A09bB032f90AC7b15fE11D40CCC4314", - "support": true, - "votingPower": 67.635, - "transactionHash": "0xf2b3eb848234b385c70238ce1529c082129a1e5b9f5268c6999d35337bc27571", - "timestamp": 1628262496, - "blockNumber": 12972119 - }, - { - "proposalId": 25, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 123333.3174304624, - "transactionHash": "0xf87d6df47a78f6c2bc0b47fc9228ecac73b23a03ad09b6c6dd452399aa263235", - "timestamp": 1628271982, - "blockNumber": 12972840 - }, - { - "proposalId": 25, - "voter": "0xAA7A9d80971E58641442774C373C94AaFee87d66", - "support": false, - "votingPower": 148.05708418549662, - "transactionHash": "0x66f2e6672c47998aec0f7d7992ffdf7dd81391c3ca98a51e9a5bece41d9b6250", - "timestamp": 1628279641, - "blockNumber": 12973399 - }, - { - "proposalId": 25, - "voter": "0x60015a9010243425172182b00e35F689ED4d887a", - "support": false, - "votingPower": 697.6426280006083, - "transactionHash": "0x3259593e608260fda4db57761db419b5ba1ab4b6030010bf65365d6708498ba4", - "timestamp": 1628286107, - "blockNumber": 12973863 - }, - { - "proposalId": 25, - "voter": "0xc4a936B003BC223DF757B35Ee52f6Da66B062935", - "support": false, - "votingPower": 92529.61013077926, - "transactionHash": "0x43857e111d96110ef630e51ba51fbece336b01ce52f5bda6908354dc64faa031", - "timestamp": 1628289664, - "blockNumber": 12974145 - }, - { - "proposalId": 25, - "voter": "0x36cf80D36fDA4530777aeD39ae7f398E38fbb25f", - "support": false, - "votingPower": 1305.4704524372548, - "transactionHash": "0xc8729fd24fac3582eea7184dd560f0a9a6b0b19cb001f837c852e95787cfd93c", - "timestamp": 1628296166, - "blockNumber": 12974651 - }, - { - "proposalId": 25, - "voter": "0xff37e27206C1972f723A63804f3F349dD07453fb", - "support": false, - "votingPower": 70, - "transactionHash": "0x24637daf3ed3f9335623677d2c55f27ebbd1b07a63c35cb09cb23123c7972f97", - "timestamp": 1628300706, - "blockNumber": 12975027 - }, - { - "proposalId": 25, - "voter": "0xED5aE54d8f39486605e664C7a55dD0aa0EBCe14B", - "support": false, - "votingPower": 33.71908534982396, - "transactionHash": "0xa562407ddf42c9e77774640f02459f45d61477cf29cacdfa6e6e107bc5830c99", - "timestamp": 1628302335, - "blockNumber": 12975155 - }, - { - "proposalId": 25, - "voter": "0x76933d8FBa91EdcDDd25D9Ba8Bf0f07485a6e18e", - "support": true, - "votingPower": 157.76894725951666, - "transactionHash": "0xa2403815516865fa04e99b58408a25b3d63061c17ef80f185096453a8d88c690", - "timestamp": 1628304279, - "blockNumber": 12975296 - }, - { - "proposalId": 25, - "voter": "0xC7D64D4402702F6E068103e0E2aF0998c063c5Aa", - "support": false, - "votingPower": 8.78706984062042, - "transactionHash": "0x3c909f63a3599a7bffa70505c56c0ace78cfaa455f5059976f45c5ccf1485e73", - "timestamp": 1628307149, - "blockNumber": 12975485 - }, - { - "proposalId": 25, - "voter": "0x4Bf03635d42067CF86aaaF173F134765c30e40Fc", - "support": false, - "votingPower": 64056.97372245482, - "transactionHash": "0xedaf87279e6d126046de6e6d208791cfa6e2becc52436e177dfca4c8de99e7d8", - "timestamp": 1628319224, - "blockNumber": 12976404 - }, - { - "proposalId": 25, - "voter": "0x980839C73CF1f9BcB597E19deBD233C25E971b9a", - "support": false, - "votingPower": 542.3553368122932, - "transactionHash": "0x8a09d5b0e2e19e5ae8d4980618338bf31960644c6eedca95a40758628009f6b2", - "timestamp": 1628326610, - "blockNumber": 12976973 - }, - { - "proposalId": 25, - "voter": "0x3E2016c227AC9c1B2eCd78CA96f390444F2C3893", - "support": true, - "votingPower": 364.4868105558892, - "transactionHash": "0x3c676026c4edf1e85b031b97c6572d105cf48bf9b044aada3e34efac660354ee", - "timestamp": 1628331700, - "blockNumber": 12977339 - }, - { - "proposalId": 25, - "voter": "0xCFECdBF9B60B64B7baaa94C6933a6ab29C3828e8", - "support": false, - "votingPower": 20458.158439772433, - "transactionHash": "0xbcfe0f7e08353ce58b707bd719da2cc09fe37e91a82accf7624a95eea61f0b86", - "timestamp": 1628335920, - "blockNumber": 12977670 - }, - { - "proposalId": 25, - "voter": "0x990daFE818681F8E18d14E2Ae7abD30aE46BF1c2", - "support": false, - "votingPower": 99980, - "transactionHash": "0xfe3f84bb8cf2ba6652ba6fb03622178639069bf7d90a8041b89a847003406304", - "timestamp": 1628341724, - "blockNumber": 12978111 - }, - { - "proposalId": 25, - "voter": "0x19B570af5DDdb8F0f5a15C83d07A1C5153865188", - "support": false, - "votingPower": 10.271004947693765, - "transactionHash": "0x2e912e108d8ecad18993cc0bdf99d8a52b95eb173cf441037d5eec54322b5dbc", - "timestamp": 1628345466, - "blockNumber": 12978417 - }, - { - "proposalId": 25, - "voter": "0xca31A80d28B2D40D5e772C0615A75c5D207A367d", - "support": false, - "votingPower": 29.9, - "transactionHash": "0x059cbbf3557fd26072c1c5327981835e64b215df9afdbe825b58b706bbb1ec45", - "timestamp": 1628345542, - "blockNumber": 12978422 - }, - { - "proposalId": 25, - "voter": "0x3cB93aC1B172524C3957BdfE34F57E90211Cd491", - "support": false, - "votingPower": 18874.196358090216, - "transactionHash": "0x951de4c8477054eb286f1c7f34e0f5316c4af04a0045ed961079b9962615b36c", - "timestamp": 1628350355, - "blockNumber": 12978778 - }, - { - "proposalId": 25, - "voter": "0x5e5FFEf1103717f17a9A155D0c7646EC5e16551E", - "support": false, - "votingPower": 698.2427107270279, - "transactionHash": "0x3c107bd514a3cf7d52d36cd0a6a7f7b0c774a4fa74a65a7719dfdeb8fdd1f358", - "timestamp": 1628356203, - "blockNumber": 12979234 - }, - { - "proposalId": 25, - "voter": "0x5BC928BF0DAb1e4A2ddd9e347b0F22e88026D76c", - "support": true, - "votingPower": 83862.92336032754, - "transactionHash": "0x632eb02da83c11cae0c387b216090d4c612232ce9e0b919a0596175e531cd511", - "timestamp": 1628362294, - "blockNumber": 12979690 - }, - { - "proposalId": 25, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": false, - "votingPower": 2861.7149658555686, - "transactionHash": "0x5db123c13640ca63034a8ef6b4d8005da9f31a1438fe411de65cf7503bd27d94", - "timestamp": 1628370223, - "blockNumber": 12980274 - }, - { - "proposalId": 25, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 5160.793294088446, - "transactionHash": "0x9dfaeb5920457a780ba245ea594b3e23e84c885da1d09a9e3d289d3907357d13", - "timestamp": 1628370366, - "blockNumber": 12980285 - }, - { - "proposalId": 25, - "voter": "0x47C125DEe6898b6CB2379bCBaFC823Ff3f614770", - "support": false, - "votingPower": 7764.629908462255, - "transactionHash": "0x97dbc8bf4152676b933cd815e9a447ac4c8e72e20cf7517217dd116ce29cd493", - "timestamp": 1628378754, - "blockNumber": 12980930 - }, - { - "proposalId": 25, - "voter": "0x8AbAf5733742B1506F6a1255de0e37aEc76b7940", - "support": false, - "votingPower": 11.727614906, - "transactionHash": "0x76540fa6d8d0b98d5c5379dc07d6caee6d4222c38e91212178919d2618d46b77", - "timestamp": 1628392333, - "blockNumber": 12981886 - }, - { - "proposalId": 25, - "voter": "0x5A50412aD703847130469C1C4309abD411Ee0aD7", - "support": true, - "votingPower": 1, - "transactionHash": "0xeb289bca5ca45b75511d27f8ac54228ffb56dd38bcc162fd5a32a21f967a0bfc", - "timestamp": 1628399591, - "blockNumber": 12982444 - }, - { - "proposalId": 25, - "voter": "0xA3F09fCCe3E340E251e23263B15d89623564b233", - "support": false, - "votingPower": 63621.29690254156, - "transactionHash": "0x70852caf7add62a7562157120e755cf0519dda329582d50e8966ec2dd1887d85", - "timestamp": 1628407480, - "blockNumber": 12983016 - }, - { - "proposalId": 25, - "voter": "0xF569914d4E46cBD6A91fDE6c8850a079604A271b", - "support": false, - "votingPower": 1147.3609307206002, - "transactionHash": "0x53391f1b288e9c4bbc0c9ad6730ea24abe20ce1cb0b0d604ba802c3ebf3d5dcc", - "timestamp": 1628412973, - "blockNumber": 12983442 - }, - { - "proposalId": 25, - "voter": "0xCa549E2700672c95AEF8B93b4C36CeBf429f73C6", - "support": false, - "votingPower": 21.4, - "transactionHash": "0x833e10c05beffbefb5a448f219a2cabe4eb074675e6b16341fe6e173b4b31669", - "timestamp": 1628426907, - "blockNumber": 12984509 - }, - { - "proposalId": 25, - "voter": "0x9B5ea8C719e29A5bd0959FaF79C9E5c8206d0499", - "support": true, - "votingPower": 109604.04203242678, - "transactionHash": "0xfa3333108243f5fded17fb03e2a1d7b5e82a3835444e300c724f9e953930af11", - "timestamp": 1628447377, - "blockNumber": 12986088 - }, - { - "proposalId": 25, - "voter": "0xdD709cAE362972cb3B92DCeaD77127f7b8D58202", - "support": true, - "votingPower": 188761.45830288896, - "transactionHash": "0x32dc108a556964a8c1fdae7df34ef955ed2d9cb64f9108b845f3f090172de3eb", - "timestamp": 1628447637, - "blockNumber": 12986105 - }, - { - "proposalId": 25, - "voter": "0x10F87409E405c5e44e581A4C3F2eECF36AAf1f92", - "support": true, - "votingPower": 92567.37782138462, - "transactionHash": "0x52439670c9a4aed3c61c3363f53a3f1c6a2940c070deedaafe92f37bc3dc0b65", - "timestamp": 1628449925, - "blockNumber": 12986279 - }, - { - "proposalId": 25, - "voter": "0x8dCF48FB8BC7FDDA5A3106eDe9b7c69Fc2C7E751", - "support": false, - "votingPower": 18361.504981840033, - "transactionHash": "0xb2f3e01a713818458ceeea8cbb2f0ad9674a188eec1116fc2b800b7a7965aadf", - "timestamp": 1628460885, - "blockNumber": 12987080 - }, - { - "proposalId": 25, - "voter": "0x7C80c062f356aB5721C9E9Dd564d32C94EEA7BBd", - "support": true, - "votingPower": 150.8208694736093, - "transactionHash": "0x51717c508e519bf664464bf591f3a8a498d396b44e9debf7fbafdc2fc3a38863", - "timestamp": 1628462024, - "blockNumber": 12987171 - }, - { - "proposalId": 25, - "voter": "0x0499c1DDd467d92f4105e8738F2C38806F488a63", - "support": false, - "votingPower": 49.424655840947004, - "transactionHash": "0x3da80223e52d0dcfd05833cd4d5cbed73e9a8179f3489bb257f6b1dfdc019bb6", - "timestamp": 1628466061, - "blockNumber": 12987478 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 26, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": false, - "votingPower": 2861.7149658555686, - "transactionHash": "0x6eca25394590214dd285fdcc9292672867f569f0c6001be4cb1041954dbdbac5", - "timestamp": 1628369914, - "blockNumber": 12980249 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 27, - "voter": "0x7f4C5938AF9731e9feadc09C3FA782508198532E", - "support": true, - "votingPower": 100849.3404695759, - "transactionHash": "0xa8159aa714cfc7afd3526b887a8aa73a330892231520ea4f9a4bd15fafc7a578", - "timestamp": 1629222476, - "blockNumber": 13044134 - }, - { - "proposalId": 27, - "voter": "0x88F5d29B88664371401B6786A01db137fC5FcA61", - "support": true, - "votingPower": 9.1633013156523, - "transactionHash": "0xe83dac8d8bef6c862375fecddb3208abf64af42f62d69ced65399546d5d660d8", - "timestamp": 1629223983, - "blockNumber": 13044236 - }, - { - "proposalId": 27, - "voter": "0x11B1785D9Ac81480c03210e89F1508c8c115888E", - "support": true, - "votingPower": 2.415753663729968, - "transactionHash": "0x3ac3f7603fee287fcdafe02c0c5a35100b4cd8d18ecff093e7995b5eecff2706", - "timestamp": 1629225468, - "blockNumber": 13044356 - }, - { - "proposalId": 27, - "voter": "0x5A3dB3d8657DfAE858E76f626fBD2699a834ca5e", - "support": true, - "votingPower": 0.7584710440049666, - "transactionHash": "0x82bf485e65a6d846b9131d8a76ee0d6b633e824afda2d97b64083d415fff0b20", - "timestamp": 1629227363, - "blockNumber": 13044531 - }, - { - "proposalId": 27, - "voter": "0x7d26AeDE8f7d6462153568bB8500DEa417e4e7dE", - "support": true, - "votingPower": 6.17897473902039, - "transactionHash": "0xd5ebed9f0da91e4a1795152b21c26f35640b62856a2e28936412f42ff4bfa852", - "timestamp": 1629229170, - "blockNumber": 13044686 - }, - { - "proposalId": 27, - "voter": "0x145DD77C0EB627b7B93CEabECAd82472e424B0f5", - "support": true, - "votingPower": 23.338664107567023, - "transactionHash": "0x1ec094e5673c13d4e0708d6bba70044072767f621ea163d477fc83ddb1f9331c", - "timestamp": 1629231089, - "blockNumber": 13044835 - }, - { - "proposalId": 27, - "voter": "0x33AC8990Db8BEb7498ECD82db87cD9F29908c7D4", - "support": true, - "votingPower": 2.05087926, - "transactionHash": "0xa768fac198bbaf0a786222f80b0dec4dd8f23f3674908462ae06a5c4a142fbaa", - "timestamp": 1629231460, - "blockNumber": 13044864 - }, - { - "proposalId": 27, - "voter": "0x4AdA1B9D9fe28aBd9585f58cfEeD2169A39e1c6b", - "support": true, - "votingPower": 343.7125952607672, - "transactionHash": "0x80d9b0b92ac0dbe877582b77265174e7e1f34584d2156af0ba1da412f19d9b40", - "timestamp": 1629240307, - "blockNumber": 13045571 - }, - { - "proposalId": 27, - "voter": "0x9548Fc023f6000B4Bd1f8569aBc4222bDede65c7", - "support": true, - "votingPower": 181.33570777148887, - "transactionHash": "0x483ff058afca135302d77025e03accfb2c7918dd65ea5236b6476d23f8da0ffe", - "timestamp": 1629241100, - "blockNumber": 13045634 - }, - { - "proposalId": 27, - "voter": "0x0716266cC5D3c443e30b0c4E9C72AFA33778E1de", - "support": true, - "votingPower": 5.052107866770822, - "transactionHash": "0xab09327a2dcbe061cfa2e9f746c702935ffdf51c563461537311ec3b2e07e376", - "timestamp": 1629241100, - "blockNumber": 13045634 - }, - { - "proposalId": 27, - "voter": "0x918558df5A12Ba43657222bbcf1a735494a5024f", - "support": true, - "votingPower": 150.4195543670779, - "transactionHash": "0xc55d894609558a15f40e70603efdc3d581c8b50b7415ce0df20ce22a3252ddb8", - "timestamp": 1629242570, - "blockNumber": 13045747 - }, - { - "proposalId": 27, - "voter": "0x820Adbe5bBaBa72979949686E3d32f784542235D", - "support": true, - "votingPower": 20, - "transactionHash": "0x3cefdd13d6c252a780db2b1dbd9082c1067edde3bd284a69feaa3371ae9e1174", - "timestamp": 1629243817, - "blockNumber": 13045822 - }, - { - "proposalId": 27, - "voter": "0xdfDf2D882D9ebce6c7EAc3DA9AB66cbfDa263781", - "support": true, - "votingPower": 2.857050552493311, - "transactionHash": "0xfce52f05ae5572877169c540cd6f01562190324c4212001a4a922f3ed8153e63", - "timestamp": 1629248224, - "blockNumber": 13046140 - }, - { - "proposalId": 27, - "voter": "0x161B55D207EdaF288cB1Eb22b09e3614E16f2A78", - "support": true, - "votingPower": 212.37747977919238, - "transactionHash": "0x256a24a4608ede8e9938a21d268e2c3b8a6ddace543562449d2685eee16128be", - "timestamp": 1629254870, - "blockNumber": 13046654 - }, - { - "proposalId": 27, - "voter": "0xdD709cAE362972cb3B92DCeaD77127f7b8D58202", - "support": true, - "votingPower": 188761.45830288896, - "transactionHash": "0x54b1d1e189267f14c7b2807b1ba97c02691b5458b1abf57466e3f23cfc670898", - "timestamp": 1629265575, - "blockNumber": 13047446 - }, - { - "proposalId": 27, - "voter": "0x9B5ea8C719e29A5bd0959FaF79C9E5c8206d0499", - "support": true, - "votingPower": 110194.00997961395, - "transactionHash": "0xa300b32f742af0df0b344e48a49609713f17c1c0ca78fd25ff80391236ef6354", - "timestamp": 1629268636, - "blockNumber": 13047673 - }, - { - "proposalId": 27, - "voter": "0x5B3bFfC0bcF8D4cAEC873fDcF719F60725767c98", - "support": true, - "votingPower": 89.99462802298927, - "transactionHash": "0xb7f5dbb89a065daeb1d1a3e8a473a771fc18ac5dba850f85ebda1231983490f3", - "timestamp": 1629273429, - "blockNumber": 13048026 - }, - { - "proposalId": 27, - "voter": "0x10D6d2e343281D388291A3e02f3293AaEdA67178", - "support": true, - "votingPower": 16.418540655997646, - "transactionHash": "0x5df3982b91d9b1593d24c9b4cbf2cc1b304227818acf81e0ec103908ea8113f0", - "timestamp": 1629273776, - "blockNumber": 13048056 - }, - { - "proposalId": 27, - "voter": "0x070341aA5Ed571f0FB2c4a5641409B1A46b4961b", - "support": true, - "votingPower": 10000, - "transactionHash": "0x28d2835b1657153497b401b8757ce099013769bf09c4428bef142210b846b4a0", - "timestamp": 1629294619, - "blockNumber": 13049586 - }, - { - "proposalId": 27, - "voter": "0x572b4dE5Be467f6E7210F77940d462b9b8ef3eA5", - "support": true, - "votingPower": 815.5909866664151, - "transactionHash": "0xe2d19db6a82672003fbe218bbfe8079b14fbe534a0638e9eeba2f8f19b400862", - "timestamp": 1629297619, - "blockNumber": 13049805 - }, - { - "proposalId": 27, - "voter": "0xE373029AFE4F9270842D17Df9d12E0d4C123C9D5", - "support": true, - "votingPower": 14.031494127162839, - "transactionHash": "0x87bc74d16f3d0e4c3b4a7d8a1e5658c2e416063a2552ec284e466d14f2d18cb6", - "timestamp": 1629306281, - "blockNumber": 13050439 - }, - { - "proposalId": 27, - "voter": "0x7c73da56Fc8D04544621E1a7adF1479638f656Df", - "support": true, - "votingPower": 20.375326838518912, - "transactionHash": "0xedd29fbb5ed19e8fda971c3c27836fade04357b689e4836184d7f6d84417fcd4", - "timestamp": 1629307652, - "blockNumber": 13050549 - }, - { - "proposalId": 27, - "voter": "0xca768c37ba6EC3d67bE7B47bbE1F1C94CA216f46", - "support": true, - "votingPower": 550.000000127771, - "transactionHash": "0x1a9060839100e6c110a12ee7a8d83731490cdfd8ce77bccd99547639373c1613", - "timestamp": 1629314620, - "blockNumber": 13051078 - }, - { - "proposalId": 27, - "voter": "0x4c742a2311341c9Ca8440e0D15a1ed4468b1e0B4", - "support": true, - "votingPower": 27.686597174969727, - "transactionHash": "0x5fa5f189b29b6e2ed15489a682b40fbc4c91d05372880a962b68b55edb582cf5", - "timestamp": 1629323406, - "blockNumber": 13051734 - }, - { - "proposalId": 27, - "voter": "0x4A5Ef90f1554A4f0eAb0dd21AB91642172Fe95DC", - "support": true, - "votingPower": 0.09225999285870563, - "transactionHash": "0x09f0ae20e427115161ac04e5295aa0c99dc0bd57170a042febc32aca4d763309", - "timestamp": 1629329145, - "blockNumber": 13052158 - }, - { - "proposalId": 27, - "voter": "0xA0efD27acC781549D5b78e89E561AA0903932d56", - "support": true, - "votingPower": 8.002657782527367, - "transactionHash": "0x98154457c6b228bfbe88976827366dcfc20e8d803462089cab439f6f12e8d8b6", - "timestamp": 1629350340, - "blockNumber": 13053776 - }, - { - "proposalId": 27, - "voter": "0x880C205096F62Bd9da0f1acf3c34794789BBaBe6", - "support": true, - "votingPower": 1521.4810989587324, - "transactionHash": "0x9407bf57f64b87ad9a3580a00492d3e75b2a4a9c59c8d184fe86d529b0a61ed4", - "timestamp": 1629388101, - "blockNumber": 13056607 - }, - { - "proposalId": 27, - "voter": "0xf66468Ed50D9d635964DaEfa1AC3901A6faa4220", - "support": true, - "votingPower": 366.3906358552217, - "transactionHash": "0x62f25f1675802352d23b1d132050a4391608dc55f73ad4565687e4319b79efe0", - "timestamp": 1629390511, - "blockNumber": 13056803 - }, - { - "proposalId": 27, - "voter": "0x8AbAf5733742B1506F6a1255de0e37aEc76b7940", - "support": true, - "votingPower": 11.727614906, - "transactionHash": "0x62cb2d5e3d68c619262b972ed84fac9fe5d5058e95fb2e236647b093d13e7abe", - "timestamp": 1629391230, - "blockNumber": 13056857 - }, - { - "proposalId": 27, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 2688.4813045475307, - "transactionHash": "0xd9be2f9fd3d1b508c0c551040bb7545c51721db881da7cf31465960524ee08c4", - "timestamp": 1629395548, - "blockNumber": 13057169 - }, - { - "proposalId": 27, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 4393.228418111408, - "transactionHash": "0xf65e6ecd3d5d5cf3126e8bf895e7d2e52ad0f1c3a74e4247aac9ea75708a1358", - "timestamp": 1629396089, - "blockNumber": 13057215 - }, - { - "proposalId": 27, - "voter": "0xA89f778740c6562dAaC0fa1e09F48e0283A39611", - "support": true, - "votingPower": 10.66, - "transactionHash": "0x2ae3df9a6ef490373345d9431bbd32977d65641c22a3f0ce8dcde3eedac98daf", - "timestamp": 1629398022, - "blockNumber": 13057370 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 28, - "voter": "0x9548Fc023f6000B4Bd1f8569aBc4222bDede65c7", - "support": true, - "votingPower": 181.33570777148887, - "transactionHash": "0xd4f39ea115ecfb500c41c7514df06287cc42eaedfd9d00873932221ea76fbfa4", - "timestamp": 1629452287, - "blockNumber": 13061363 - }, - { - "proposalId": 28, - "voter": "0xa550A71B4a78b67c03900AC2B598B0e0b9D4668F", - "support": true, - "votingPower": 18.114914747870873, - "transactionHash": "0xaf8e96bc40c9f0e08f35d26d9787897ba9d756766707bfd96a17e0b84d13609f", - "timestamp": 1629452296, - "blockNumber": 13061365 - }, - { - "proposalId": 28, - "voter": "0x329c54289Ff5D6B7b7daE13592C6B1EDA1543eD4", - "support": true, - "votingPower": 21873.032602593867, - "transactionHash": "0xa8a4cc2975fedb9fbea361c5098ff4c6d753df4cf90642668f5bc56cfb9fa824", - "timestamp": 1629454476, - "blockNumber": 13061529 - }, - { - "proposalId": 28, - "voter": "0x990daFE818681F8E18d14E2Ae7abD30aE46BF1c2", - "support": true, - "votingPower": 99980, - "transactionHash": "0xb0afa79d197d4dc3fa73682ddb113949003f79a3df6475ef8582e6996c9e9bbb", - "timestamp": 1629454515, - "blockNumber": 13061531 - }, - { - "proposalId": 28, - "voter": "0xF569914d4E46cBD6A91fDE6c8850a079604A271b", - "support": true, - "votingPower": 1147.3609307206002, - "transactionHash": "0xaa046e601a1b25324d9f527432fe48b7d613f3f9184aaf9b73fae8a98e68f351", - "timestamp": 1629468568, - "blockNumber": 13062579 - }, - { - "proposalId": 28, - "voter": "0x8125FDbC90f5F5442215d149973e824fE4b641f6", - "support": true, - "votingPower": 3.5176393998859754, - "transactionHash": "0xef205065e9ea86f7c78b4bc095055783acb8aaf9f0e6229a803125db5c2cfae7", - "timestamp": 1629480248, - "blockNumber": 13063455 - }, - { - "proposalId": 28, - "voter": "0x49e7A70f622bfAa30145815b3fd7DF7faac747eB", - "support": true, - "votingPower": 0.163, - "transactionHash": "0x628daa414b32fd849eccfbad5e7e50d22901aabebc139fbbc5576291e510a54d", - "timestamp": 1629486433, - "blockNumber": 13063911 - }, - { - "proposalId": 28, - "voter": "0x4bBbc2124aE05E93c2a32059652c795BB10d0cfc", - "support": true, - "votingPower": 1.817, - "transactionHash": "0x3bf60df67040503ff50ebc5f16b992f11076996ba95ed4c0b6e288827f402371", - "timestamp": 1629488597, - "blockNumber": 13064055 - }, - { - "proposalId": 28, - "voter": "0x5028D77B91a3754fb38B2FBB726AF02d1FE44Db6", - "support": true, - "votingPower": 33766.82007627, - "transactionHash": "0x9bc8fb5912359f8e38cfb0f5c34d1ff95dfce794570fe159f5cca1f0a21bd9f0", - "timestamp": 1629512378, - "blockNumber": 13065950 - }, - { - "proposalId": 28, - "voter": "0xA0efD27acC781549D5b78e89E561AA0903932d56", - "support": true, - "votingPower": 8.002657782527367, - "transactionHash": "0xd5cffa3d0103079a851f70cf9625589710373411362b055c34c2b7431aa52c38", - "timestamp": 1629521953, - "blockNumber": 13066646 - }, - { - "proposalId": 28, - "voter": "0x458cEec48586a85fCFEb4A179706656eE321730E", - "support": true, - "votingPower": 10000, - "transactionHash": "0x944dfbe60b0ae86c06765e4cb3c97d256662aa2fcf211f46627722695e087f32", - "timestamp": 1629536499, - "blockNumber": 13067708 - }, - { - "proposalId": 28, - "voter": "0xCA1146C1D1b26Ca782F7388096462189fB09113f", - "support": true, - "votingPower": 432.75704752862373, - "transactionHash": "0x04d526ab39a3f4c82ac5208027a3f88a39b1308b0472e711197f60edd4d03b98", - "timestamp": 1629537324, - "blockNumber": 13067754 - }, - { - "proposalId": 28, - "voter": "0xC814d2ef6D893568c74cD969Eb6F72a62fc261f7", - "support": true, - "votingPower": 146.40401578922118, - "transactionHash": "0xaf2d1f47e0f3e5c2280b71d2bcfc8ad973812569394800356e4a4002c0449406", - "timestamp": 1629545822, - "blockNumber": 13068366 - }, - { - "proposalId": 28, - "voter": "0x50db4821A42c72Ef26c478D4764354e56FE1207C", - "support": true, - "votingPower": 1900.99625, - "transactionHash": "0xcbfe9a79a24afaa2522b1bb9697f2e3f1081da59119e4963adf81faa2903dd81", - "timestamp": 1629552271, - "blockNumber": 13068869 - }, - { - "proposalId": 28, - "voter": "0xb8C2C0Aa32a95351ffa9450509C62379a42a4f87", - "support": true, - "votingPower": 18523.649191028217, - "transactionHash": "0xbdad99d7166c1948d9385782b85985be55e3cf149df357cce7155067b31a26c7", - "timestamp": 1629552687, - "blockNumber": 13068901 - }, - { - "proposalId": 28, - "voter": "0x070341aA5Ed571f0FB2c4a5641409B1A46b4961b", - "support": true, - "votingPower": 10000, - "transactionHash": "0x5e628c7e3c0c9b87496b9484d0f85c174de1d713cd1e17d9eb0dacb73da6d964", - "timestamp": 1629573538, - "blockNumber": 13070493 - }, - { - "proposalId": 28, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": false, - "votingPower": 2688.4813045475307, - "transactionHash": "0x6d24a292b657f873c492c280025985782348f9c73c5b7c75297968a51f561549", - "timestamp": 1629585527, - "blockNumber": 13071382 - }, - { - "proposalId": 28, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 4393.230418111408, - "transactionHash": "0xe6bad2fab1963d5fd8be4828c39a7428e570b8e5ed5668782cb308b506bdbeca", - "timestamp": 1629586373, - "blockNumber": 13071443 - }, - { - "proposalId": 28, - "voter": "0x19B570af5DDdb8F0f5a15C83d07A1C5153865188", - "support": true, - "votingPower": 10.271004947693765, - "transactionHash": "0xe8e7d38e4b1a7bd932d070f9380b36c2858b7e40d01cd20fbeb26d87cb434352", - "timestamp": 1629587086, - "blockNumber": 13071503 - }, - { - "proposalId": 28, - "voter": "0x7b2483D0f917a4F7A04d1E13743C99ad9d249462", - "support": true, - "votingPower": 0.285, - "transactionHash": "0x31a9216797e62b72f4ba8549f346a61974b6f99f389f34cbcc484fc1756bb0a6", - "timestamp": 1629599215, - "blockNumber": 13072393 - }, - { - "proposalId": 28, - "voter": "0x6199e5Fa5F627FFE703291418Df9683c3608aB8b", - "support": true, - "votingPower": 22.208278964878005, - "transactionHash": "0xbc414be5a28b3ee8c29062f302f64036c72fe03e3d99a31dd529c24ab689d8ef", - "timestamp": 1629605765, - "blockNumber": 13072915 - }, - { - "proposalId": 28, - "voter": "0xdD709cAE362972cb3B92DCeaD77127f7b8D58202", - "support": true, - "votingPower": 188758.22848752883, - "transactionHash": "0x95f8be9b04dba5a6ac95d416d444d3b55714bee1e7e2763189e94dd7931a21d2", - "timestamp": 1629611371, - "blockNumber": 13073341 - }, - { - "proposalId": 28, - "voter": "0x9B5ea8C719e29A5bd0959FaF79C9E5c8206d0499", - "support": true, - "votingPower": 110194.00997961395, - "transactionHash": "0x4556dcdd0a98c326b1691b548746f670b587449a3f3ee01e1f7e05bff78046c6", - "timestamp": 1629613656, - "blockNumber": 13073500 - }, - { - "proposalId": 28, - "voter": "0x8AbAf5733742B1506F6a1255de0e37aEc76b7940", - "support": true, - "votingPower": 11.727614906, - "transactionHash": "0x7da6ef13bb0e9cdd9ae756f719ae6536310f6080b806793c498e6ad2ef79a72e", - "timestamp": 1629616510, - "blockNumber": 13073714 - }, - { - "proposalId": 28, - "voter": "0x0aeAf95fc86e70591a3D6F09cAd826A37CBe167e", - "support": true, - "votingPower": 5.062207907625489, - "transactionHash": "0xa9f3fa50a3c8be61814bcc8716dbc20a6a59dee393a56a51616181b03a0c8f05", - "timestamp": 1629617360, - "blockNumber": 13073773 - }, - { - "proposalId": 28, - "voter": "0x7F18CA114C9D162B7078791582885F41caa4cAEd", - "support": true, - "votingPower": 75.13060152982204, - "transactionHash": "0x8582de4e0ecb7ee819a37ad6cdb4fc0ed89263aaf3d6ef3bbf32ff4a5a4c1e03", - "timestamp": 1629620654, - "blockNumber": 13073987 - }, - { - "proposalId": 28, - "voter": "0x4A5Ef90f1554A4f0eAb0dd21AB91642172Fe95DC", - "support": true, - "votingPower": 0.09225999285870563, - "transactionHash": "0xff99777555ecc5e2112ae15d6b82a0686b99c46b91f07823d97b795fdc05c0e6", - "timestamp": 1629639713, - "blockNumber": 13075465 - }, - { - "proposalId": 28, - "voter": "0x7f4C5938AF9731e9feadc09C3FA782508198532E", - "support": true, - "votingPower": 100886.73189386287, - "transactionHash": "0x3fc3004d78d459ee3f35c708b39eff2e656f45613ebb9124b6d3d69fa2169807", - "timestamp": 1629649026, - "blockNumber": 13076128 - }, - { - "proposalId": 28, - "voter": "0x695e99Bd9240701f4dCda37aec32028b6a764D83", - "support": true, - "votingPower": 256.8519561139699, - "transactionHash": "0x207ebe0f8525810ad0b2cc0496c4beb3aa3edca3e8703ff6326540b9ae82c91b", - "timestamp": 1629656932, - "blockNumber": 13076737 - }, - { - "proposalId": 28, - "voter": "0x5BC928BF0DAb1e4A2ddd9e347b0F22e88026D76c", - "support": true, - "votingPower": 84112.74198711372, - "transactionHash": "0x2455164c18b532ce12d387c0bb94a56bcd6c258debbe79e1ffba3e382d8b1754", - "timestamp": 1629665152, - "blockNumber": 13077365 - }, - { - "proposalId": 28, - "voter": "0x102e0BEe3da1b393C5E898F433DD5787B80f67b5", - "support": true, - "votingPower": 0.51, - "transactionHash": "0x4a766a8da376ebcd3ee9d93343d408d1d3cb8c6ac591ea611bed18340f09b766", - "timestamp": 1629679313, - "blockNumber": 13078454 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 29, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 2832.527480251455, - "transactionHash": "0x218fea67820f3f50e652fe58383173d3e2f34a5028aae763bda9e80ac07bcc13", - "timestamp": 1630031410, - "blockNumber": 13104808 - }, - { - "proposalId": 29, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 4364.952453344809, - "transactionHash": "0xd3395ef1fb7e1fdd78b09615ad44eb3f4acac7bb2c4cc0f268c59b31ec76ff6d", - "timestamp": 1630031479, - "blockNumber": 13104814 - }, - { - "proposalId": 29, - "voter": "0xA0efD27acC781549D5b78e89E561AA0903932d56", - "support": true, - "votingPower": 8.002657782527367, - "transactionHash": "0xcadc072b1f2c59130c2ef5eb0be0841135c5b97d8521d38fb84dc62a73e38480", - "timestamp": 1630040970, - "blockNumber": 13105544 - }, - { - "proposalId": 29, - "voter": "0x259cC22956b3a8d872bc180E2b86a8dE9126f028", - "support": true, - "votingPower": 1.02, - "transactionHash": "0x1d9923ee88469f693b50b45a0e2d47fb31625142dd617763aaa351d468df915f", - "timestamp": 1630052886, - "blockNumber": 13106422 - }, - { - "proposalId": 29, - "voter": "0x4Bf03635d42067CF86aaaF173F134765c30e40Fc", - "support": true, - "votingPower": 74145.89978976859, - "transactionHash": "0xef8559b04f50d519426f8572907b17c732b277a348c8b78601e142cd1dbbb509", - "timestamp": 1630165672, - "blockNumber": 13114787 - }, - { - "proposalId": 29, - "voter": "0x329c54289Ff5D6B7b7daE13592C6B1EDA1543eD4", - "support": true, - "votingPower": 21873.032602593867, - "transactionHash": "0x997dd0205ca84e683ebc5ff82113a5eb5f2a7689085a0d1b57dfef05af721407", - "timestamp": 1630182366, - "blockNumber": 13116071 - }, - { - "proposalId": 29, - "voter": "0x10F87409E405c5e44e581A4C3F2eECF36AAf1f92", - "support": true, - "votingPower": 102013.31325521326, - "transactionHash": "0x48c64b97386df01f59b9a32fd0df1b6f849528d298f844d38190ef57381d2dad", - "timestamp": 1630183836, - "blockNumber": 13116177 - }, - { - "proposalId": 29, - "voter": "0xca768c37ba6EC3d67bE7B47bbE1F1C94CA216f46", - "support": true, - "votingPower": 550.000000127771, - "transactionHash": "0x6173c50b340703dd1183211e74f31def94cdfe35abe2b072dc782a00c1e19c0f", - "timestamp": 1630185114, - "blockNumber": 13116270 - }, - { - "proposalId": 29, - "voter": "0x88256dc42EAB2597A2d07BB185E4659fFEf8350a", - "support": true, - "votingPower": 4, - "transactionHash": "0x1f4f6b66aa29f88ae3b7a9ad9b30c4f7a70c8ae27b833f60f2285184b09ee454", - "timestamp": 1630205105, - "blockNumber": 13117783 - }, - { - "proposalId": 29, - "voter": "0xEDd828ed8bf8205CdBf4439349c539215D3Fad1D", - "support": true, - "votingPower": 0.32368791237522787, - "transactionHash": "0x224da17660a97d243562da694c15fc0ea4a0ced64bb8b46d79fb5d214bcfd018", - "timestamp": 1630216119, - "blockNumber": 13118606 - }, - { - "proposalId": 29, - "voter": "0xFC56306fFbEc02757cA83DD21A31D68303095E0C", - "support": true, - "votingPower": 64887.33160203047, - "transactionHash": "0x7c875acab6278fed415ce66fbae6112f65980e51605b448850fc9008a747fb08", - "timestamp": 1630224226, - "blockNumber": 13119197 - }, - { - "proposalId": 29, - "voter": "0xc4a936B003BC223DF757B35Ee52f6Da66B062935", - "support": true, - "votingPower": 92529.61013077926, - "transactionHash": "0xa8bcee1047e1e452a628f0f3ba71caf6fd960fc5d51cef36896d53c0f732f0a7", - "timestamp": 1630232792, - "blockNumber": 13119820 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 30, - "voter": "0x329c54289Ff5D6B7b7daE13592C6B1EDA1543eD4", - "support": true, - "votingPower": 21873.032602593867, - "transactionHash": "0x338ed6f41f25305d998a6855079cc3f15b4d5ce73e36507e5dbddc0541afc58e", - "timestamp": 1630401739, - "blockNumber": 13132497 - }, - { - "proposalId": 30, - "voter": "0xA0efD27acC781549D5b78e89E561AA0903932d56", - "support": true, - "votingPower": 8.002657782527367, - "transactionHash": "0x8a3f3ef245411aefae289c1c9fc15c35d8995e095fd8ec772d56afee42fa7770", - "timestamp": 1630403015, - "blockNumber": 13132585 - }, - { - "proposalId": 30, - "voter": "0xb01474b50382fAe1A847E3A916ECDf07Ba57BcC7", - "support": true, - "votingPower": 2, - "transactionHash": "0x7597651b9da01687e4809adf19c704c827d1261b05210d52c239095e50a900de", - "timestamp": 1630420931, - "blockNumber": 13133898 - }, - { - "proposalId": 30, - "voter": "0xD20c9667bf0047F313228F9fE11F8b9F8Dc29bBa", - "support": true, - "votingPower": 2820.5, - "transactionHash": "0x3f74609cdd5cc6f2923860597c3b2d5a33102c54659e335cb0fe9e234960f413", - "timestamp": 1630430352, - "blockNumber": 13134641 - }, - { - "proposalId": 30, - "voter": "0x458cEec48586a85fCFEb4A179706656eE321730E", - "support": true, - "votingPower": 10000, - "transactionHash": "0x13387bf678ecdbe989999213558593828582cfd6dabaed1102858b05d25b953a", - "timestamp": 1630448796, - "blockNumber": 13136012 - }, - { - "proposalId": 30, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 103333.33743046239, - "transactionHash": "0x1c1ece8e59daaaed58d41bc4786b204f6fd61f035c0f1a5212fffbf08263add1", - "timestamp": 1630462966, - "blockNumber": 13137095 - }, - { - "proposalId": 30, - "voter": "0x47C125DEe6898b6CB2379bCBaFC823Ff3f614770", - "support": true, - "votingPower": 245768.75425735762, - "transactionHash": "0xda36d30ca5df066ffb6f78e0bf915f582c1aca37b3ed77baa69aa856561a59eb", - "timestamp": 1630467143, - "blockNumber": 13137397 - }, - { - "proposalId": 30, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 2684.418787318332, - "transactionHash": "0x685186612938642727c27be90230ba6f28a3e323c66a29433eebd90b26871566", - "timestamp": 1630529390, - "blockNumber": 13142001 - }, - { - "proposalId": 30, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 4215.841059482636, - "transactionHash": "0x51c4967166ed576a704bed8ca47a3cb903488e212d90be92eeeef5ab1855fa7e", - "timestamp": 1630530715, - "blockNumber": 13142106 - }, - { - "proposalId": 30, - "voter": "0x10F87409E405c5e44e581A4C3F2eECF36AAf1f92", - "support": true, - "votingPower": 102637.16946207553, - "transactionHash": "0x4c3cf11e33ff5f3184358bb9d36c6774f359d0865b8b91a63840e0759233089e", - "timestamp": 1630535587, - "blockNumber": 13142467 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 31, - "voter": "0x47C125DEe6898b6CB2379bCBaFC823Ff3f614770", - "support": true, - "votingPower": 245198.14025735762, - "transactionHash": "0x439be5d8784f07b3b809cd277fb554c9177970dfedcc26d601a8494c458cfda3", - "timestamp": 1630964028, - "blockNumber": 13174622 - }, - { - "proposalId": 31, - "voter": "0x510b2D8E30e8c79247C51E04D5Be8bF7262F9938", - "support": true, - "votingPower": 1569.0554818732367, - "transactionHash": "0xff15f5d7c21b4b1080ba993631a0622fe5d4351e9a2706da118ae96147f6a198", - "timestamp": 1630965401, - "blockNumber": 13174720 - }, - { - "proposalId": 31, - "voter": "0xC30A8c89B02180f8c184c1B8e8f76AF2B9d8f54D", - "support": true, - "votingPower": 344.4742159580431, - "transactionHash": "0xe13224d67119c5a26a4dd6d8f0f7b67413a7bb59ff646e592c302d31512c2814", - "timestamp": 1630965933, - "blockNumber": 13174766 - }, - { - "proposalId": 31, - "voter": "0x925131F893145210b8E2753E99D921b0AA51f08B", - "support": true, - "votingPower": 446.60869183595594, - "transactionHash": "0x5b021e748f7f3433995cbc1876cf0241837ed36c9a5256797f57a45249c52aab", - "timestamp": 1630965959, - "blockNumber": 13174768 - }, - { - "proposalId": 31, - "voter": "0xb6e81F0906498171779361Fb4Cc1AC58A1159fCD", - "support": true, - "votingPower": 1.93133882, - "transactionHash": "0x28a4af6cc1351fa2fe1f7d5d3424fa2fb4cafac878010f52353c0e30d675249a", - "timestamp": 1630967584, - "blockNumber": 13174888 - }, - { - "proposalId": 31, - "voter": "0x7e3fa0C81AC00Ca21933E477DB1cbce645801782", - "support": true, - "votingPower": 0.997, - "transactionHash": "0x3a84181c97f6c104526ccaa35c225ca10b9bc9ea04bec52d7fcb3cb24b4fd251", - "timestamp": 1630971950, - "blockNumber": 13175242 - }, - { - "proposalId": 31, - "voter": "0x94A468FCB53A043Bf5Cd95EF21892E02C71134Be", - "support": true, - "votingPower": 25.039012201990914, - "transactionHash": "0xffdf5f92e8e3bf134cfdf56904557e51199af5490c890f95553b88f3d65c6cd4", - "timestamp": 1630972456, - "blockNumber": 13175279 - }, - { - "proposalId": 31, - "voter": "0x3A25e701517e713e99818a169A39339Fc3eAe9d2", - "support": true, - "votingPower": 256.666666, - "transactionHash": "0x58beac1bb60bbc91627e60f3c70356f0086a6493d326b51af55763e132e1514b", - "timestamp": 1631007824, - "blockNumber": 13177904 - }, - { - "proposalId": 31, - "voter": "0x728e7f512E01E7811037985dDFb15F9bFeF517a8", - "support": true, - "votingPower": 21.934248184941406, - "transactionHash": "0xc95a23bfea66e7d1f30663a3f77b99735d053690ec5ff450970c2b42dec32b18", - "timestamp": 1631017749, - "blockNumber": 13178614 - }, - { - "proposalId": 31, - "voter": "0x070341aA5Ed571f0FB2c4a5641409B1A46b4961b", - "support": true, - "votingPower": 10000, - "transactionHash": "0x1240b91b1048d8384a63f8db0907bf0ea01a3516100122087a0da8a5c35ecc06", - "timestamp": 1631064842, - "blockNumber": 13182139 - }, - { - "proposalId": 31, - "voter": "0x5180db0237291A6449DdA9ed33aD90a38787621c", - "support": true, - "votingPower": 1, - "transactionHash": "0x1779b4b8e63b181ec55429f062523bd824291d5dce34d18db07765938a026efe", - "timestamp": 1631080758, - "blockNumber": 13183335 - }, - { - "proposalId": 31, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 2684.418787318332, - "transactionHash": "0xc49310afcf0fdf5afd8dcde2ecc1c2d9b5f992f5455d30c5016baa3a1d4be42f", - "timestamp": 1631114918, - "blockNumber": 13185930 - }, - { - "proposalId": 31, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 3844.1677341363697, - "transactionHash": "0x7ffced81203356551d8d469d42094c2ea16708ec1b31b45e5617d9dca5faba93", - "timestamp": 1631115013, - "blockNumber": 13185936 - }, - { - "proposalId": 31, - "voter": "0x5028D77B91a3754fb38B2FBB726AF02d1FE44Db6", - "support": true, - "votingPower": 33766.82007627, - "transactionHash": "0x48eb43843c2d799e69520e69d3027387271efe21e592aec46630ee97fea8a45a", - "timestamp": 1631137222, - "blockNumber": 13187599 - }, - { - "proposalId": 31, - "voter": "0x8d07D225a769b7Af3A923481E1FdF49180e6A265", - "support": true, - "votingPower": 50, - "transactionHash": "0xbf1c3d5673d773448f1f3548df7e19b5f2a0954d7491fea3ad08d4f0527a288e", - "timestamp": 1631137448, - "blockNumber": 13187619 - }, - { - "proposalId": 31, - "voter": "0xdD709cAE362972cb3B92DCeaD77127f7b8D58202", - "support": true, - "votingPower": 189920.9410491731, - "transactionHash": "0xbc922bf06fa961708eb8cecfca731f809cd69ef5927c276bbeed07fecd10f8f5", - "timestamp": 1631161094, - "blockNumber": 13189350 - }, - { - "proposalId": 31, - "voter": "0x674f91a20834001F4FAdC1a9eB8b4AC23A7Ad568", - "support": true, - "votingPower": 329.45327708514355, - "transactionHash": "0xf7b31ec6c629cba4e8eb805d150a9a3a4316d33072be7057b9d39ba196d88e27", - "timestamp": 1631162646, - "blockNumber": 13189484 - }, - { - "proposalId": 31, - "voter": "0x00e286b5256Aa6cf252D5a8a5a7B8c20Ec3bC4D5", - "support": true, - "votingPower": 4.11457e-13, - "transactionHash": "0xdf275289b114285aa8d3e1a8e551c63a777ff1f20e8f079d81abfc83ddb0ff2c", - "timestamp": 1631187142, - "blockNumber": 13191272 - }, - { - "proposalId": 31, - "voter": "0x10F87409E405c5e44e581A4C3F2eECF36AAf1f92", - "support": true, - "votingPower": 104708.85066151978, - "transactionHash": "0xc50edf90035b1bb7037e65580b2eba2878c33e0cd8d67ff66e9a9adfd5343f3e", - "timestamp": 1631217137, - "blockNumber": 13193549 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 32, - "voter": "0x32a9d6A550C3D89284D5700F7d7758dBc6f0fB2C", - "support": true, - "votingPower": 472.00896903014456, - "transactionHash": "0x6464303e0902f6f8aaaff7826f9e1edfdc490cb867bbe65872fa438adcc83040", - "timestamp": 1631179123, - "blockNumber": 13190672 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 33, - "voter": "0xb01474b50382fAe1A847E3A916ECDf07Ba57BcC7", - "support": true, - "votingPower": 2, - "transactionHash": "0x06b0141d9b337c30f2f7615b7de7fc34a2b9868ae00b180dfa93b4efb78dc4e6", - "timestamp": 1631219808, - "blockNumber": 13193751 - }, - { - "proposalId": 33, - "voter": "0x4A5Ef90f1554A4f0eAb0dd21AB91642172Fe95DC", - "support": false, - "votingPower": 0.09225999285870563, - "transactionHash": "0x18bc1c62b0dbaf194803a7724ddead2bcdeb1c3cf6f639dae87630233684a7d2", - "timestamp": 1631224849, - "blockNumber": 13194162 - }, - { - "proposalId": 33, - "voter": "0x1b48c13BFF3826Bc6702212c75c50DA7Db05f97B", - "support": true, - "votingPower": 85.413292, - "transactionHash": "0x708ddd96a170e85fe655e076cd84db36be928211eb285c4cbaef5f99b5165fdb", - "timestamp": 1631248733, - "blockNumber": 13195904 - }, - { - "proposalId": 33, - "voter": "0xAE915B0ab0fa713d58c66432f2523eFc632C9B34", - "support": true, - "votingPower": 10.342216405252104, - "transactionHash": "0x5f14d0871330516015a69d1fe589bde8f83293489090983eea69c883044ffe41", - "timestamp": 1631269919, - "blockNumber": 13197450 - }, - { - "proposalId": 33, - "voter": "0x683a4F9915D6216f73d6Df50151725036bD26C02", - "support": true, - "votingPower": 3090.9462629579293, - "transactionHash": "0x1c4442fce3d854a14fa5ec822d7d506a355dd1c80f5ec56143d476fec5dc8b3b", - "timestamp": 1631302201, - "blockNumber": 13199928 - }, - { - "proposalId": 33, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 2684.418787318332, - "transactionHash": "0x7ea5cc972890708cf1c46ade96c5ffaa31b580506299dd5dd2c662c3e6f9b562", - "timestamp": 1631305952, - "blockNumber": 13200183 - }, - { - "proposalId": 33, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 3847.512065530881, - "transactionHash": "0xed50dd816ca889c56f4d7c64c918b7835d5c347a6b5e594c84f0b44d56233a18", - "timestamp": 1631306956, - "blockNumber": 13200254 - }, - { - "proposalId": 33, - "voter": "0x2713A5FB15c0bBb0087d6bc53FBea9da5830d6e5", - "support": true, - "votingPower": 15.27058770226409, - "transactionHash": "0x244577a0e74d7039f5d1983f446a1df25679ec3a2ff39ce200a57f7d69911ddc", - "timestamp": 1631340307, - "blockNumber": 13202727 - }, - { - "proposalId": 33, - "voter": "0xFC56306fFbEc02757cA83DD21A31D68303095E0C", - "support": true, - "votingPower": 64887.33160203047, - "transactionHash": "0x7c5f69f19215541b918bb21bd61ab426eee4cb0be8a0f7928ca2ffd78d56242f", - "timestamp": 1631351481, - "blockNumber": 13203564 - }, - { - "proposalId": 33, - "voter": "0x0c940cDC24fd0142CDcB96B1d7A2F0B45dB8297b", - "support": true, - "votingPower": 74532.67605047685, - "transactionHash": "0x130f8173c6cc0aa1ac74f51e7950daed9a90785c87f8f3f4f3a526c68264c584", - "timestamp": 1631351792, - "blockNumber": 13203592 - }, - { - "proposalId": 33, - "voter": "0xF191E64bd21c20d9144106aC0480f1c9ddb17914", - "support": true, - "votingPower": 49.598779563854826, - "transactionHash": "0x8cd2f8e9e821d7f85c0628228f8d33e68b46b4fe8821b12fbe37c63cba993670", - "timestamp": 1631358097, - "blockNumber": 13204074 - }, - { - "proposalId": 33, - "voter": "0x956F1CE3ff2ea59A8b41DF83Ce9F85ED59D73F92", - "support": true, - "votingPower": 31.01708468104502, - "transactionHash": "0x545f77695d10e0d553ded310e8eabe638a27fa2c97a45144de4be8062224c0d0", - "timestamp": 1631382868, - "blockNumber": 13205928 - }, - { - "proposalId": 33, - "voter": "0x47C125DEe6898b6CB2379bCBaFC823Ff3f614770", - "support": true, - "votingPower": 245198.14025735762, - "transactionHash": "0x64a4921616493c6c02db92a3c129ee12a044c49f6ea76f92d44b4a7782e46b53", - "timestamp": 1631397016, - "blockNumber": 13206980 - }, - { - "proposalId": 33, - "voter": "0x7F18CA114C9D162B7078791582885F41caa4cAEd", - "support": true, - "votingPower": 75.13060152982204, - "transactionHash": "0xa3764ce9b7d1e5b0b8f489812001a51f24b99c681d6952985ad6605fdea74707", - "timestamp": 1631448407, - "blockNumber": 13210847 - }, - { - "proposalId": 33, - "voter": "0x10F87409E405c5e44e581A4C3F2eECF36AAf1f92", - "support": true, - "votingPower": 114899.23914434337, - "transactionHash": "0xcca60ba1aa46b520acfb31a21ba28a175cb649412d0ac239be84ff38a7229706", - "timestamp": 1631466658, - "blockNumber": 13212208 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 34, - "voter": "0xA89f778740c6562dAaC0fa1e09F48e0283A39611", - "support": true, - "votingPower": 31.24727818845334, - "transactionHash": "0x44c6ce86d01380843af9de72b4022a20f82097fbec940582982160ad2eab645a", - "timestamp": 1631380184, - "blockNumber": 13205731 - }, - { - "proposalId": 34, - "voter": "0x47C125DEe6898b6CB2379bCBaFC823Ff3f614770", - "support": true, - "votingPower": 245198.14025735762, - "transactionHash": "0x6ddc23261387b1c82c317db06ae28029048521856b915c698da99c92e0482a52", - "timestamp": 1631404644, - "blockNumber": 13207528 - }, - { - "proposalId": 34, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 2684.418787318332, - "transactionHash": "0x8c38a74351356ef4e7261f04c736ddd3b17692368ab2c5eb1faa6e746d6917eb", - "timestamp": 1631407177, - "blockNumber": 13207723 - }, - { - "proposalId": 34, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 3847.512065530881, - "transactionHash": "0xf6093911a2fd3faa5eb8c0c48d10a5bad50b6b45642009d141a7bc97ecbceed4", - "timestamp": 1631407332, - "blockNumber": 13207734 - }, - { - "proposalId": 34, - "voter": "0x7F18CA114C9D162B7078791582885F41caa4cAEd", - "support": true, - "votingPower": 75.13060152982204, - "transactionHash": "0x042f430f758e54b60ed600ac96c4881467b2d4de8e01e253df3fe0a2419e0c01", - "timestamp": 1631448428, - "blockNumber": 13210848 - }, - { - "proposalId": 34, - "voter": "0x0fbbaC497570E775AE6bB6393b1eF9584aC2262C", - "support": true, - "votingPower": 104.90177377144379, - "transactionHash": "0x17c7f4c496aa2a3cc5afe2ef551843856569c0b66072d8c6bc961f0a74af4d8d", - "timestamp": 1631495889, - "blockNumber": 13214423 - }, - { - "proposalId": 34, - "voter": "0x070341aA5Ed571f0FB2c4a5641409B1A46b4961b", - "support": true, - "votingPower": 10000, - "transactionHash": "0x7e598572731fd34eaae1d88c00180c855555e2dd24668bd3d46d347a48e1a1c7", - "timestamp": 1631550396, - "blockNumber": 13218440 - }, - { - "proposalId": 34, - "voter": "0x1d5E65a087eBc3d03a294412E46CE5D6882969f4", - "support": false, - "votingPower": 36.09085265541091, - "transactionHash": "0x906ecc45b1b97d057c32176ffb2750dc2b662795309d43e6ef11b4fa9e27f61b", - "timestamp": 1631553845, - "blockNumber": 13218707 - }, - { - "proposalId": 34, - "voter": "0xdD709cAE362972cb3B92DCeaD77127f7b8D58202", - "support": true, - "votingPower": 222906.12067850225, - "transactionHash": "0xc5f8e1c33629fd38d39efcb26e67c33321c5742185df45c9f901c694a81098ba", - "timestamp": 1631558540, - "blockNumber": 13219037 - }, - { - "proposalId": 34, - "voter": "0x458cEec48586a85fCFEb4A179706656eE321730E", - "support": true, - "votingPower": 10000, - "transactionHash": "0xf40b444b7d1875d0ff8e7f636205e12afa6735b68b902e27eb6ed31e05558e42", - "timestamp": 1631564063, - "blockNumber": 13219489 - }, - { - "proposalId": 34, - "voter": "0x10F87409E405c5e44e581A4C3F2eECF36AAf1f92", - "support": true, - "votingPower": 117503.5716551235, - "transactionHash": "0xe5b616a76b47110bc8feb6fcaf38a8133a897d4bb9a16b79a9bc56a57f60b5e7", - "timestamp": 1631573335, - "blockNumber": 13220168 - }, - { - "proposalId": 34, - "voter": "0xFC56306fFbEc02757cA83DD21A31D68303095E0C", - "support": true, - "votingPower": 64887.33160203047, - "transactionHash": "0x68c3a698b9162c631f0b5bcee6d65e5502aa6674097ce48f3dd54eed7508d943", - "timestamp": 1631605302, - "blockNumber": 13222550 - }, - { - "proposalId": 34, - "voter": "0x0c940cDC24fd0142CDcB96B1d7A2F0B45dB8297b", - "support": true, - "votingPower": 74532.67605047685, - "transactionHash": "0x00b6286c1e5c0806e707fca1648107b9657d114494150fad8477048857fd6aae", - "timestamp": 1631605428, - "blockNumber": 13222562 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 35, - "voter": "0x77EE2B5B256F6A7A168F1c0730042C54c55EDF38", - "support": true, - "votingPower": 237633.1103476929, - "transactionHash": "0xc7eb8bcc2f1f65f27dd4f7189e1cacd7abd6220578e35de60a94f21747426f68", - "timestamp": 1631557122, - "blockNumber": 13218944 - }, - { - "proposalId": 35, - "voter": "0x9B5ea8C719e29A5bd0959FaF79C9E5c8206d0499", - "support": true, - "votingPower": 110194.00997961395, - "transactionHash": "0xbabaf1faa69fc5b48c99a22b7a2b6988ada26e540b7d34ceb0fa5817db2620f2", - "timestamp": 1631558674, - "blockNumber": 13219045 - }, - { - "proposalId": 35, - "voter": "0xdD709cAE362972cb3B92DCeaD77127f7b8D58202", - "support": true, - "votingPower": 222906.12067850225, - "transactionHash": "0x6c00561018770e7bd92ffc091deda98250072ded2b15f9d198f49a4e73abb671", - "timestamp": 1631558973, - "blockNumber": 13219066 - }, - { - "proposalId": 35, - "voter": "0x6F1B12a415E035eEbDc8559130eA8bdb96ADd48c", - "support": true, - "votingPower": 1.750786679100005, - "transactionHash": "0x3ca8496cf33fb474e0ea0b91dee53f7d6081baec55798df72d738b685b9c6005", - "timestamp": 1631562803, - "blockNumber": 13219388 - }, - { - "proposalId": 35, - "voter": "0x458cEec48586a85fCFEb4A179706656eE321730E", - "support": true, - "votingPower": 10000, - "transactionHash": "0xfe4309c4422c13cf40a753296bae5cf1b8d07cb5fc6d8283ac8a3ca3850b51ff", - "timestamp": 1631564063, - "blockNumber": 13219489 - }, - { - "proposalId": 35, - "voter": "0x10F87409E405c5e44e581A4C3F2eECF36AAf1f92", - "support": true, - "votingPower": 118936.76018750877, - "transactionHash": "0xd71f7ee5341121e986b584f28f139c5293a75660a90913dfeb25672bbbdc68bd", - "timestamp": 1631571350, - "blockNumber": 13220037 - }, - { - "proposalId": 35, - "voter": "0xD353Bbf69d0dFb2Cd6798dFfF40bb31AE565Ccc2", - "support": true, - "votingPower": 4.81470006, - "transactionHash": "0x96be754c79c6966ae86299a6c02d32537d848fd98e23718ae6b4860677c0a265", - "timestamp": 1631575671, - "blockNumber": 13220355 - }, - { - "proposalId": 35, - "voter": "0x7Ed9dC4698e7517031290712A0C542996DDD6e40", - "support": true, - "votingPower": 1.0546392074305015, - "transactionHash": "0x84e3fb5e866d98d5416c2a0a2e7f7722ffa8bc56e89788f8e14058ab2f96158a", - "timestamp": 1631602589, - "blockNumber": 13222335 - }, - { - "proposalId": 35, - "voter": "0x0c940cDC24fd0142CDcB96B1d7A2F0B45dB8297b", - "support": true, - "votingPower": 74532.67605047685, - "transactionHash": "0xcccd157ffe7a2a82dfd1dc1130f8d80033658bfb83af050ad3e8c0d90599cbc4", - "timestamp": 1631605569, - "blockNumber": 13222572 - }, - { - "proposalId": 35, - "voter": "0x3A25e701517e713e99818a169A39339Fc3eAe9d2", - "support": true, - "votingPower": 256.666666, - "transactionHash": "0x04037e0feede68b44567c6188d6da1a75f91e92192f5eb4de50c6dc4bfd14482", - "timestamp": 1631619508, - "blockNumber": 13223632 - }, - { - "proposalId": 35, - "voter": "0x5BC928BF0DAb1e4A2ddd9e347b0F22e88026D76c", - "support": true, - "votingPower": 84112.74198711372, - "transactionHash": "0xc6bd35f0f50e3df7f3e3374970475767685a07c8fbe3cfaf28d08a7b506024dd", - "timestamp": 1631640348, - "blockNumber": 13225152 - }, - { - "proposalId": 35, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 2639.104208960986, - "transactionHash": "0xd8e9acc78d50d7aa3d0ae39631faed459838a72a23ca24c2573761257833ccfc", - "timestamp": 1631659710, - "blockNumber": 13226637 - }, - { - "proposalId": 35, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 3847.512065530881, - "transactionHash": "0x17cd938af9d3035a894508eed0bbe89a87f6a47842b11b1120d86f6c126b94f5", - "timestamp": 1631659972, - "blockNumber": 13226656 - }, - { - "proposalId": 35, - "voter": "0xF569914d4E46cBD6A91fDE6c8850a079604A271b", - "support": true, - "votingPower": 1147.3609307206002, - "transactionHash": "0x52d52aa1e35443877bf4807d11ccf2ded8ca54125fc47fcb4e7fdacf91ddb59e", - "timestamp": 1631670710, - "blockNumber": 13227479 - }, - { - "proposalId": 35, - "voter": "0x8AbAf5733742B1506F6a1255de0e37aEc76b7940", - "support": true, - "votingPower": 11.727614906, - "transactionHash": "0x3cbfe18cb5d12613ca8ba5c4a084728f430ee7a9327e838e2ea61e7929452af5", - "timestamp": 1631673953, - "blockNumber": 13227712 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 36, - "voter": "0xFC56306fFbEc02757cA83DD21A31D68303095E0C", - "support": true, - "votingPower": 64887.33160203047, - "transactionHash": "0xe4c9f5d076814e2abc44ce73bd88a53c62ab703d4b7e04cfbc6e8eb0ec2f7c61", - "timestamp": 1631605315, - "blockNumber": 13222555 - }, - { - "proposalId": 36, - "voter": "0x4544e2Fae244eA4Ca20d075bb760561Ce5990DC3", - "support": true, - "votingPower": 48.46499303594002, - "transactionHash": "0x2649cdd673e17ca7531584b6fce70c4e1f0226ad8b730b355f5e29533eb88429", - "timestamp": 1631616050, - "blockNumber": 13223344 - }, - { - "proposalId": 36, - "voter": "0x3A25e701517e713e99818a169A39339Fc3eAe9d2", - "support": true, - "votingPower": 256.666666, - "transactionHash": "0xd1f76c9fa18929f0b248d348156b5ba56b12d2682c1a5c61c119bcec1daa7470", - "timestamp": 1631619875, - "blockNumber": 13223656 - }, - { - "proposalId": 36, - "voter": "0x5BC928BF0DAb1e4A2ddd9e347b0F22e88026D76c", - "support": true, - "votingPower": 84112.74198711372, - "transactionHash": "0x3959003c3df45bdfd1e8163864675f7ef99b8fb9ce8dad674b4222a336151fa5", - "timestamp": 1631640374, - "blockNumber": 13225153 - }, - { - "proposalId": 36, - "voter": "0x329c54289Ff5D6B7b7daE13592C6B1EDA1543eD4", - "support": true, - "votingPower": 21925.73532430806, - "transactionHash": "0x5cc2363729df3c1fd19f5440778224752feb9d834423f31e7f684b4ee80af6a8", - "timestamp": 1631641398, - "blockNumber": 13225228 - }, - { - "proposalId": 36, - "voter": "0x1ccb144B700EC726d37Db38c617E154De6d9c0d0", - "support": true, - "votingPower": 0.5113125673532308, - "transactionHash": "0x8bef78b550d5b4f392903df31710981f5d093cae463f4bfd1332ce46abf2c6b2", - "timestamp": 1631659371, - "blockNumber": 13226605 - }, - { - "proposalId": 36, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 2639.104208960986, - "transactionHash": "0xd4643de17a58bf3c32fa5285fc0c536bbf2140b038de6ad83a3ad0424b27b69b", - "timestamp": 1631659750, - "blockNumber": 13226640 - }, - { - "proposalId": 36, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 3847.512065530881, - "transactionHash": "0xd06f905e11370934951a1254a8a563ff5237cbd7b9561b3e345d43fbaacdb961", - "timestamp": 1631661556, - "blockNumber": 13226781 - }, - { - "proposalId": 36, - "voter": "0x8AbAf5733742B1506F6a1255de0e37aEc76b7940", - "support": true, - "votingPower": 11.727614906, - "transactionHash": "0x09eafa0e3522aff737510d8e07531a7b3aded101652225890947a359fec8c370", - "timestamp": 1631674017, - "blockNumber": 13227716 - }, - { - "proposalId": 36, - "voter": "0xA0efD27acC781549D5b78e89E561AA0903932d56", - "support": true, - "votingPower": 8.002657782527367, - "transactionHash": "0x203242f615712b4c8a47c049406c05710f186a09aac8ee5f1d522ded1275dc62", - "timestamp": 1631698080, - "blockNumber": 13229493 - }, - { - "proposalId": 36, - "voter": "0x0c940cDC24fd0142CDcB96B1d7A2F0B45dB8297b", - "support": true, - "votingPower": 74532.67605047685, - "transactionHash": "0xcc17f70e1eaa0d8534e5ce939ae1a4c8109b057ec9d5575efcb012d3ade5295c", - "timestamp": 1631775350, - "blockNumber": 13235265 - }, - { - "proposalId": 36, - "voter": "0xc4a936B003BC223DF757B35Ee52f6Da66B062935", - "support": true, - "votingPower": 92529.61013077926, - "transactionHash": "0x8eb072c8e1baa764fc956a9efa904cef6bef40f53755265484cc2fcfdf82fbe4", - "timestamp": 1631792820, - "blockNumber": 13236570 - }, - { - "proposalId": 36, - "voter": "0x7E2E80E8250844Dd4E558f13850380D5af8F0C61", - "support": true, - "votingPower": 33334.33, - "transactionHash": "0x8f3de3f6979af3e204492089fa312df3ef717fa91039a5cfa65cfd88581d5ba4", - "timestamp": 1631798568, - "blockNumber": 13237005 - }, - { - "proposalId": 36, - "voter": "0x10F87409E405c5e44e581A4C3F2eECF36AAf1f92", - "support": true, - "votingPower": 118936.76018750877, - "transactionHash": "0xea0373c7715813e8c0e41fc5c7d3b4de1100a283e273dcc9b32ab415fecd9c48", - "timestamp": 1631803064, - "blockNumber": 13237352 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 37, - "voter": "0x77EE2B5B256F6A7A168F1c0730042C54c55EDF38", - "support": true, - "votingPower": 237634.3923989729, - "transactionHash": "0x885a41d9dcfbc89bfec1be1883ff49637cb9402690a9e03b9b1d4e8327456926", - "timestamp": 1631810650, - "blockNumber": 13237930 - }, - { - "proposalId": 37, - "voter": "0x458cEec48586a85fCFEb4A179706656eE321730E", - "support": true, - "votingPower": 10000, - "transactionHash": "0xb9213ebff892e5cf74887f102f8ef82af64fcf881e0c5b18931e023d3c3af5ea", - "timestamp": 1631818244, - "blockNumber": 13238504 - }, - { - "proposalId": 37, - "voter": "0x10F87409E405c5e44e581A4C3F2eECF36AAf1f92", - "support": true, - "votingPower": 118134.27654375344, - "transactionHash": "0xf62ee12f68abdc1c84e8e1f7191f21a57a38c825833861861146a4b06744bc6d", - "timestamp": 1631829912, - "blockNumber": 13239352 - }, - { - "proposalId": 37, - "voter": "0xA3Dd1A344637b3E46b71dEC64A89367759025713", - "support": true, - "votingPower": 5.054414181311856, - "transactionHash": "0x32460b44e98e81ad70e8dec37a41debff640e2cc119ba4c94679e22609ff7ff7", - "timestamp": 1631832740, - "blockNumber": 13239575 - }, - { - "proposalId": 37, - "voter": "0x990daFE818681F8E18d14E2Ae7abD30aE46BF1c2", - "support": true, - "votingPower": 99980, - "transactionHash": "0x9d7638e622d72b134a708bfa43f3a17aae5485fbe3e1bf98593a0c09675474d6", - "timestamp": 1631835048, - "blockNumber": 13239763 - }, - { - "proposalId": 37, - "voter": "0xCa689f911C8b3A41885439Ae8117dc68Fec79214", - "support": true, - "votingPower": 3.096035191184639, - "transactionHash": "0x17506195ed967910cdbcf2b1066234d81ec72fcec5c160043a81c832a765de03", - "timestamp": 1631883457, - "blockNumber": 13243306 - }, - { - "proposalId": 37, - "voter": "0xF569914d4E46cBD6A91fDE6c8850a079604A271b", - "support": true, - "votingPower": 1147.3609307206002, - "transactionHash": "0x3fc8b08afe316853f36a22a9e349c172381f8d6463c8e32370a761afb1939383", - "timestamp": 1631890673, - "blockNumber": 13243879 - }, - { - "proposalId": 37, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 2603.5738479692213, - "transactionHash": "0x1474428810636b22c675a23c7a6014d93cc192b54895fc7745e360161c5f836c", - "timestamp": 1631892448, - "blockNumber": 13244021 - }, - { - "proposalId": 37, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 3847.512065530881, - "transactionHash": "0x68dcf9f1064cd8d4764c6f62dbd7bdb2af6a27bde58fb97872008ed0d18b6e99", - "timestamp": 1631892556, - "blockNumber": 13244028 - }, - { - "proposalId": 37, - "voter": "0x19B570af5DDdb8F0f5a15C83d07A1C5153865188", - "support": true, - "votingPower": 10.271004947693765, - "transactionHash": "0x0d470f1370c32933d9cad7f2ee48140a1ead5947e613a13df3b3205a2f27ed91", - "timestamp": 1631960917, - "blockNumber": 13249123 - }, - { - "proposalId": 37, - "voter": "0xca31A80d28B2D40D5e772C0615A75c5D207A367d", - "support": true, - "votingPower": 29.9, - "transactionHash": "0x75a3df7d3928aa985f3a42b7bbadc1c2b2e9fa0d314e43cd2bbc16998bc804e1", - "timestamp": 1631961083, - "blockNumber": 13249130 - }, - { - "proposalId": 37, - "voter": "0xca768c37ba6EC3d67bE7B47bbE1F1C94CA216f46", - "support": true, - "votingPower": 550.000000127771, - "transactionHash": "0x7cf797a3bf4988d446a525e509989959354bd0f33089366477dac48bebe5585f", - "timestamp": 1632008655, - "blockNumber": 13252737 - }, - { - "proposalId": 37, - "voter": "0x102e0BEe3da1b393C5E898F433DD5787B80f67b5", - "support": false, - "votingPower": 0.51, - "transactionHash": "0xc2dc6ae2f9fc850cb4fc416b976cf87462f22e46cbedad62edf70eccf2b5ebcd", - "timestamp": 1632012648, - "blockNumber": 13253050 - }, - { - "proposalId": 37, - "voter": "0xFC56306fFbEc02757cA83DD21A31D68303095E0C", - "support": true, - "votingPower": 64887.33160203047, - "transactionHash": "0x88bfa376ece2df318d6ba778881033b71236ef147569dd0314ebba8791c1e884", - "timestamp": 1632038626, - "blockNumber": 13254964 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 38, - "voter": "0xF569914d4E46cBD6A91fDE6c8850a079604A271b", - "support": true, - "votingPower": 1147.3609307206002, - "transactionHash": "0x5cc5e584f48480d78db56f223af7dc90f3ab48300d28cb2d3c5ea1058a9605c6", - "timestamp": 1632175547, - "blockNumber": 13265265 - }, - { - "proposalId": 38, - "voter": "0xA0efD27acC781549D5b78e89E561AA0903932d56", - "support": true, - "votingPower": 8.002657782527367, - "transactionHash": "0xa874d0a37904f9848d040061b5dd820c17d9d12a9577566c9e09d73722cea885", - "timestamp": 1632192634, - "blockNumber": 13266519 - }, - { - "proposalId": 38, - "voter": "0x458cEec48586a85fCFEb4A179706656eE321730E", - "support": true, - "votingPower": 10000, - "transactionHash": "0x4e0f3644fa650a5d2882bb1537945d625e9e144a260597b58f6f3fc4b812db4d", - "timestamp": 1632203424, - "blockNumber": 13267305 - }, - { - "proposalId": 38, - "voter": "0x32caee5A069F2caC53BcE9E50743A400e003C384", - "support": true, - "votingPower": 5.884096488068319, - "transactionHash": "0x4ff759b06b34e933a238a48e8bd4f2e83c6ae713f195e18fca7a502a05ebb71d", - "timestamp": 1632241672, - "blockNumber": 13270217 - }, - { - "proposalId": 38, - "voter": "0x683a4F9915D6216f73d6Df50151725036bD26C02", - "support": true, - "votingPower": 3090.9462629579293, - "transactionHash": "0xfbc5aecb73c6879c8bda9ef92a66fe03225be824a808ae007e943e1f1c763d1a", - "timestamp": 1632243914, - "blockNumber": 13270381 - }, - { - "proposalId": 38, - "voter": "0x32B61Bb22Cbe4834bc3e73DcE85280037D944a4D", - "support": true, - "votingPower": 156291.1666102536, - "transactionHash": "0xb583235f316885f4f35cfea26a275b4dee97f76f812cea34ef646bdeac48881a", - "timestamp": 1632248870, - "blockNumber": 13270767 - }, - { - "proposalId": 38, - "voter": "0x7F18CA114C9D162B7078791582885F41caa4cAEd", - "support": true, - "votingPower": 75.13060152982204, - "transactionHash": "0x0d573ea4e859bdf75781e2c8a58d3713e406b6485957470d09e1a1577458293c", - "timestamp": 1632319975, - "blockNumber": 13276028 - }, - { - "proposalId": 38, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 103333.33743046239, - "transactionHash": "0xe3b59aab4c7af18a06ea448509bf27e6532662afe7edb9b7f2b45b059a8c5bc7", - "timestamp": 1632329454, - "blockNumber": 13276719 - }, - { - "proposalId": 38, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 2585.4475676830893, - "transactionHash": "0x0f5511d6bc4771744b1f168909483a3c92c48bf7c7d6b36eabc3a41a307bb6a4", - "timestamp": 1632338973, - "blockNumber": 13277421 - }, - { - "proposalId": 38, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 3844.2050266385068, - "transactionHash": "0x60e22e3075e45cdf722100c6844985aa145ee690bb010f882a8c7b4aabf508e6", - "timestamp": 1632339129, - "blockNumber": 13277436 - }, - { - "proposalId": 38, - "voter": "0x10F87409E405c5e44e581A4C3F2eECF36AAf1f92", - "support": true, - "votingPower": 126170.91728585474, - "transactionHash": "0x49e44811b5a5c60ad403dd208fea990325b3eec171cda6a61163ac664d6e2663", - "timestamp": 1632348911, - "blockNumber": 13278217 - }, - { - "proposalId": 38, - "voter": "0xF191E64bd21c20d9144106aC0480f1c9ddb17914", - "support": true, - "votingPower": 49.598779563854826, - "transactionHash": "0xfe12c174f4efafb60d18aa1d817b209439bd7d1cfe409d0934186ee9ac6badda", - "timestamp": 1632391118, - "blockNumber": 13281313 - }, - { - "proposalId": 38, - "voter": "0xb8C2C0Aa32a95351ffa9450509C62379a42a4f87", - "support": true, - "votingPower": 18559.133323850885, - "transactionHash": "0xf2472e2792c24b12330b400185d2b0c49f1751cf04d0c7b63db151f663009c08", - "timestamp": 1632407165, - "blockNumber": 13282536 - }, - { - "proposalId": 38, - "voter": "0x8d07D225a769b7Af3A923481E1FdF49180e6A265", - "support": true, - "votingPower": 50, - "transactionHash": "0xda6a4b5e02bc432cea057d5cca663852c161b187547283614f7688fdc2381554", - "timestamp": 1632418717, - "blockNumber": 13283365 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 39, - "voter": "0xBCa7a1E8Fe84b826b138680594e27886989be0D5", - "support": true, - "votingPower": 20.572964757213764, - "transactionHash": "0xdf6268982ec5923ff9a5f577adeaae0462ec8f421e62d8b48e7edfceff2d6f42", - "timestamp": 1633426767, - "blockNumber": 13358325 - }, - { - "proposalId": 39, - "voter": "0x8d07D225a769b7Af3A923481E1FdF49180e6A265", - "support": true, - "votingPower": 50, - "transactionHash": "0xafae929f104dce7ea87a10b6d9ff2be71f297f69156c0c9af4928f190d1c9254", - "timestamp": 1633455716, - "blockNumber": 13360446 - }, - { - "proposalId": 39, - "voter": "0x5BC928BF0DAb1e4A2ddd9e347b0F22e88026D76c", - "support": true, - "votingPower": 84114.18127933373, - "transactionHash": "0x0089f8dd4ead767496416cf9adcfa3967b42677a684dc01e35d9979bf73912fd", - "timestamp": 1633456832, - "blockNumber": 13360547 - }, - { - "proposalId": 39, - "voter": "0x683a4F9915D6216f73d6Df50151725036bD26C02", - "support": true, - "votingPower": 3090.9462629579293, - "transactionHash": "0xfbff424d83ef94c315b832631a30de7179348012b00303bd61b5809740211210", - "timestamp": 1633467959, - "blockNumber": 13361354 - }, - { - "proposalId": 39, - "voter": "0x10F87409E405c5e44e581A4C3F2eECF36AAf1f92", - "support": true, - "votingPower": 125449.3761845, - "transactionHash": "0x8841da7acda6b9c02f0d9b695dbadf89cc1966dd1923a41a5b1b4f5c5a8847ea", - "timestamp": 1633557102, - "blockNumber": 13367936 - }, - { - "proposalId": 39, - "voter": "0x47C125DEe6898b6CB2379bCBaFC823Ff3f614770", - "support": true, - "votingPower": 7564.610120131131, - "transactionHash": "0x8f77a3d8031e5bf6276f2d80757e0e274fa5107e4cad8116bb6ec8abc15ca724", - "timestamp": 1633558928, - "blockNumber": 13368062 - }, - { - "proposalId": 39, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 103333.33743046239, - "transactionHash": "0xd3aaa7f2470db0c9ac8791c477601b007d68bc2011115cd151ef76f7be3f30a6", - "timestamp": 1633559425, - "blockNumber": 13368104 - }, - { - "proposalId": 39, - "voter": "0xA0efD27acC781549D5b78e89E561AA0903932d56", - "support": true, - "votingPower": 8.002657782527367, - "transactionHash": "0x080644c24bd6e306ef2730d6231746d3e162a5d4ea5f178ff80de5548d868b14", - "timestamp": 1633597117, - "blockNumber": 13370859 - }, - { - "proposalId": 39, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 3943.0411066961397, - "transactionHash": "0xf41d2b7b364bfaf85cca95444d365b400088d9c01635eb9b3f08b17c767bad24", - "timestamp": 1633631553, - "blockNumber": 13373413 - }, - { - "proposalId": 39, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 3461.021474700025, - "transactionHash": "0xf026e1e1122854802e1e20314428151f128ca90159944103fed761efb6afe9ef", - "timestamp": 1633632053, - "blockNumber": 13373444 - }, - { - "proposalId": 39, - "voter": "0xE831C8903de820137c13681E78A5780afDdf7697", - "support": true, - "votingPower": 431.26391232864785, - "transactionHash": "0x2d211f4753e7adb7b854ad9236787ac97d92dbd3384be731d8890e111649b3d0", - "timestamp": 1633644896, - "blockNumber": 13374407 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 40, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 103333.33743046239, - "transactionHash": "0xb9359c7d7edb7970f0c5b795b7a6fcb0544d775a3d697b198d6b9c1b2fe916cd", - "timestamp": 1633996883, - "blockNumber": 13400382 - }, - { - "proposalId": 40, - "voter": "0xdc7bf974d38E52a66D5259FEaA9552432F7DC0Ca", - "support": true, - "votingPower": 7.52501e-13, - "transactionHash": "0x3f56f523834968fd85b006f7a07e37d4b9d7b6ae9e535560c6e298cd5d3d3021", - "timestamp": 1634000304, - "blockNumber": 13400645 - }, - { - "proposalId": 40, - "voter": "0xA0efD27acC781549D5b78e89E561AA0903932d56", - "support": true, - "votingPower": 8.002657782527367, - "transactionHash": "0x5920bfe761adc87f79cff62af77add7e78b3695efaafa79d43671bbd50d0646b", - "timestamp": 1634051261, - "blockNumber": 13404355 - }, - { - "proposalId": 40, - "voter": "0x683a4F9915D6216f73d6Df50151725036bD26C02", - "support": true, - "votingPower": 3090.9462629579293, - "transactionHash": "0xf8beddce96f86533684cd9eddb39d4feffd8ca3494bae15facadf6c9fb3be1c0", - "timestamp": 1634053622, - "blockNumber": 13404522 - }, - { - "proposalId": 40, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 3763.2864615482936, - "transactionHash": "0x7ab5b37e81d49489153daa039ff5506827209c863c4d19d548a90f6c2d5b0f04", - "timestamp": 1634068849, - "blockNumber": 13405682 - }, - { - "proposalId": 40, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 3471.3819981369256, - "transactionHash": "0x1f6c35989dfffcc4d18a325224564140eb76b6b1f6c0f10c4bbedd77bcbcff3d", - "timestamp": 1634068976, - "blockNumber": 13405691 - }, - { - "proposalId": 40, - "voter": "0x5BC928BF0DAb1e4A2ddd9e347b0F22e88026D76c", - "support": true, - "votingPower": 84887.87898035216, - "transactionHash": "0xc00ae0490c478644383603d6ad680da6f8394c8c02c45bf809e33555c83885f6", - "timestamp": 1634070643, - "blockNumber": 13405825 - }, - { - "proposalId": 40, - "voter": "0xdD709cAE362972cb3B92DCeaD77127f7b8D58202", - "support": true, - "votingPower": 224324.26359808462, - "transactionHash": "0xbb780fb0bb0607d213d84081bea339ef4f8fbfa878606da8c5d206f9f67d231c", - "timestamp": 1634140017, - "blockNumber": 13410851 - }, - { - "proposalId": 40, - "voter": "0x3A25e701517e713e99818a169A39339Fc3eAe9d2", - "support": true, - "votingPower": 589.999999, - "transactionHash": "0x01a7b9d806effb763b9a0e906f95de9beb17366e3340ae1129d2dc09d59ba90d", - "timestamp": 1634147657, - "blockNumber": 13411390 - }, - { - "proposalId": 40, - "voter": "0x880C205096F62Bd9da0f1acf3c34794789BBaBe6", - "support": true, - "votingPower": 1500.0000389643894, - "transactionHash": "0x3a9282315353c451e9ac88016125c89f3c9cc6ee5918cbdca7b18b1ab5023554", - "timestamp": 1634212733, - "blockNumber": 13416179 - }, - { - "proposalId": 40, - "voter": "0x8d07D225a769b7Af3A923481E1FdF49180e6A265", - "support": true, - "votingPower": 50, - "transactionHash": "0x59bdbfff4692930297131742d08aded63913d0779341ca64ca252e57a53fbfac", - "timestamp": 1634225705, - "blockNumber": 13417159 - }, - { - "proposalId": 40, - "voter": "0xf63Ec662753B88c3634AE276ba4eA28D681478C8", - "support": true, - "votingPower": 125896.66266632192, - "transactionHash": "0x4c46c44fe1800b20489ea5fb6c387116f020731235d4b728c4940fa91d13bdae", - "timestamp": 1634226787, - "blockNumber": 13417255 - }, - { - "proposalId": 40, - "voter": "0x070341aA5Ed571f0FB2c4a5641409B1A46b4961b", - "support": true, - "votingPower": 10000, - "transactionHash": "0xa2df53bd1f58889db1cdf34b7460526e2c49a5bea35d27060a7e259d4f6ca0cb", - "timestamp": 1634232972, - "blockNumber": 13417701 - }, - { - "proposalId": 40, - "voter": "0xeEf0E37A3c177534cb289e6F2E83844a1F306297", - "support": true, - "votingPower": 395.22831598904315, - "transactionHash": "0xd6dcfd0752573b9ad56208eb3d11b156e1e0203ae12cfb1881b06d18e3f4eeea", - "timestamp": 1634245748, - "blockNumber": 13418620 - }, - { - "proposalId": 40, - "voter": "0xBCa7a1E8Fe84b826b138680594e27886989be0D5", - "support": true, - "votingPower": 20.572964757213764, - "transactionHash": "0x539667f0f5286a7944d141767b13c1597ce0a074eec9ed2c30b0750c593315fb", - "timestamp": 1634246209, - "blockNumber": 13418661 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 41, - "voter": "0x683a4F9915D6216f73d6Df50151725036bD26C02", - "support": true, - "votingPower": 3090.9462629579293, - "transactionHash": "0x3d0b95aaa66e77bde32b4093182ab3552a4d8d68cf69431053c19426eeadac34", - "timestamp": 1634264799, - "blockNumber": 13419988 - }, - { - "proposalId": 41, - "voter": "0xA0efD27acC781549D5b78e89E561AA0903932d56", - "support": true, - "votingPower": 8.002657782527367, - "transactionHash": "0xf91ea616a90422f033113918ef47f19b393e1e8743180cac5aa0462bfc6b9e51", - "timestamp": 1634300656, - "blockNumber": 13422623 - }, - { - "proposalId": 41, - "voter": "0xb6e81F0906498171779361Fb4Cc1AC58A1159fCD", - "support": true, - "votingPower": 1.93133882, - "transactionHash": "0xe07d6273ef8871daee3c6e17587c8e90a5cc0ad44fa4f79f9b6f1be9573370c0", - "timestamp": 1634360825, - "blockNumber": 13427051 - }, - { - "proposalId": 41, - "voter": "0xF569914d4E46cBD6A91fDE6c8850a079604A271b", - "support": true, - "votingPower": 1147.3608898102448, - "transactionHash": "0xde45bb64c6ee6f1e1192465d711e62319df09bdbc93e6e68cb6e5fcf56ea5a6f", - "timestamp": 1634414214, - "blockNumber": 13431038 - }, - { - "proposalId": 41, - "voter": "0x102e0BEe3da1b393C5E898F433DD5787B80f67b5", - "support": true, - "votingPower": 0.51, - "transactionHash": "0xb75b99135ee93d6fa0514913458fb1c466483d95935255858a99166ddaa160a7", - "timestamp": 1634493655, - "blockNumber": 13436902 - }, - { - "proposalId": 41, - "voter": "0xdc7bf974d38E52a66D5259FEaA9552432F7DC0Ca", - "support": true, - "votingPower": 7.52501e-13, - "transactionHash": "0x042d1b42b65360eb6a5411184ed59fd870e14696ed331285afad75c0a15cea75", - "timestamp": 1634524339, - "blockNumber": 13439188 - }, - { - "proposalId": 41, - "voter": "0x78ABFdbE312ec574AEFd4E3b6f25CdA23237d032", - "support": true, - "votingPower": 0.894, - "transactionHash": "0x5288f22906ce39fddd6da79769beda0548f3273ed696e88d308fdc980008636e", - "timestamp": 1634538171, - "blockNumber": 13440205 - }, - { - "proposalId": 41, - "voter": "0xBCa7a1E8Fe84b826b138680594e27886989be0D5", - "support": true, - "votingPower": 20.572964757213764, - "transactionHash": "0xec1ebb5b2b82df9fa3ed74bd76e9c1aa6f29010865c54106b1053e8001a357c6", - "timestamp": 1634542655, - "blockNumber": 13440513 - }, - { - "proposalId": 41, - "voter": "0x0c940cDC24fd0142CDcB96B1d7A2F0B45dB8297b", - "support": true, - "votingPower": 83699.34272047685, - "transactionHash": "0xff3034b6e0c4e3c69984e2ad0000752e005270e5292d09633e36bdf5b424e8cd", - "timestamp": 1634544297, - "blockNumber": 13440647 - }, - { - "proposalId": 41, - "voter": "0x6CD71d6Cb7824add7c277F2CA99635D98F8b9248", - "support": true, - "votingPower": 156.34365309209946, - "transactionHash": "0x613d0df8fa2d747c3ed082d360f7e2c749965a764958239b7e0bf834a9b885ac", - "timestamp": 1634549717, - "blockNumber": 13441043 - }, - { - "proposalId": 41, - "voter": "0x78B3367B0F547Cd16Bac453F788956AfcE92447B", - "support": true, - "votingPower": 6.635340888515861, - "transactionHash": "0xed77500ec2738c7cd2152494d9b9e769369beb136882f085bb93f3110c55dd4e", - "timestamp": 1634582417, - "blockNumber": 13443459 - }, - { - "proposalId": 41, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 103333.33743046239, - "transactionHash": "0xaa939eb9d1ad440b4e34c36376e42e0a1dc3b297ade03cc9cb660feb1a45f31a", - "timestamp": 1634599785, - "blockNumber": 13444713 - }, - { - "proposalId": 41, - "voter": "0x990daFE818681F8E18d14E2Ae7abD30aE46BF1c2", - "support": true, - "votingPower": 99980, - "transactionHash": "0x87d933a3a1b5a76aec2083ee1226937c6325e061e791688e333e11862ba5e6fd", - "timestamp": 1634601255, - "blockNumber": 13444820 - }, - { - "proposalId": 41, - "voter": "0x2713A5FB15c0bBb0087d6bc53FBea9da5830d6e5", - "support": true, - "votingPower": 15.27058770226409, - "transactionHash": "0x434460dd971d7685aebe3b5629b4978d3a6d671cd2e8730c75babcb62890365c", - "timestamp": 1634640487, - "blockNumber": 13447754 - }, - { - "proposalId": 41, - "voter": "0xCFECdBF9B60B64B7baaa94C6933a6ab29C3828e8", - "support": true, - "votingPower": 21010, - "transactionHash": "0x0ed74b64c36d02bf02fcad31611ed54aca5dca34c98c2d455f2bdd4e2512251a", - "timestamp": 1634645009, - "blockNumber": 13448081 - }, - { - "proposalId": 41, - "voter": "0x458cEec48586a85fCFEb4A179706656eE321730E", - "support": true, - "votingPower": 10000, - "transactionHash": "0xe96079390d9312f76efbe6e666a0981c0253987fc5265118ddb89a404345001d", - "timestamp": 1634704169, - "blockNumber": 13452502 - }, - { - "proposalId": 41, - "voter": "0x9B5ea8C719e29A5bd0959FaF79C9E5c8206d0499", - "support": true, - "votingPower": 110194.00997961395, - "transactionHash": "0xfbae73b991bec805aaac9dbf8f5be5fe3001b657e644c3ecdc5d79a5e0b44ef7", - "timestamp": 1634737693, - "blockNumber": 13454966 - }, - { - "proposalId": 41, - "voter": "0xdD709cAE362972cb3B92DCeaD77127f7b8D58202", - "support": true, - "votingPower": 224324.26359808462, - "transactionHash": "0xad1ecc88bcabd1f85713e08b421f547e21db040c4b52c4280393533cdd49c6d7", - "timestamp": 1634737882, - "blockNumber": 13454978 - }, - { - "proposalId": 41, - "voter": "0x3A25e701517e713e99818a169A39339Fc3eAe9d2", - "support": true, - "votingPower": 589.999999, - "transactionHash": "0x89d488f3f06249b9a133106b3a57d652ac20425aaf9a25fad10a7afa36df3fe8", - "timestamp": 1634758898, - "blockNumber": 13456521 - }, - { - "proposalId": 41, - "voter": "0x5BC928BF0DAb1e4A2ddd9e347b0F22e88026D76c", - "support": true, - "votingPower": 84887.87898035216, - "transactionHash": "0x1424e3162d9b72edb9a05a5ae8483bbe0edcf1c79814cc782ab7351c2a8974c0", - "timestamp": 1634798297, - "blockNumber": 13459459 - }, - { - "proposalId": 41, - "voter": "0x8d07D225a769b7Af3A923481E1FdF49180e6A265", - "support": true, - "votingPower": 50, - "transactionHash": "0x8f76b1171971cdf46191cc9ddd7e5d5e400a679e396db3d7e1f35d7b80fbf069", - "timestamp": 1634838516, - "blockNumber": 13462462 - }, - { - "proposalId": 41, - "voter": "0xFC56306fFbEc02757cA83DD21A31D68303095E0C", - "support": true, - "votingPower": 65244.69749532881, - "transactionHash": "0x48ff8c2b5a14966baa1d64f8c99d1c408f9be2b865d42b9fe9da0ca6d2dacec2", - "timestamp": 1634889867, - "blockNumber": 13466249 - }, - { - "proposalId": 41, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 3732.928917813773, - "transactionHash": "0x58541dac42cce90b1fae3d023de310bc3dd2cd3e5a3c4d0f9a59b217e3400b1a", - "timestamp": 1634931169, - "blockNumber": 13469312 - }, - { - "proposalId": 41, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 3460.8114582489384, - "transactionHash": "0x0daa65410b600b74b3c7e2537e6508900e58e11697900d22743027ee2e56223a", - "timestamp": 1634931318, - "blockNumber": 13469323 - }, - { - "proposalId": 41, - "voter": "0xAD549C7fcF1bd3E57BCa464D9Dce0A0D561599D1", - "support": true, - "votingPower": 42.57851665211979, - "transactionHash": "0x9bdc584c88497499d70e2f8c746515cfdf996636287378059e8a1a04a8020733", - "timestamp": 1634953156, - "blockNumber": 13471012 - }, - { - "proposalId": 41, - "voter": "0xc4a936B003BC223DF757B35Ee52f6Da66B062935", - "support": true, - "votingPower": 92529.61013077926, - "transactionHash": "0x632c0872048dcf21a3e1a58f17877954bd107a108f326bc2d55d85cac6abc199", - "timestamp": 1635107190, - "blockNumber": 13482278 - }, - { - "proposalId": 41, - "voter": "0xf63Ec662753B88c3634AE276ba4eA28D681478C8", - "support": true, - "votingPower": 125896.66266632192, - "transactionHash": "0x4230efd2218155867a4ed22e424b7b7950b1bed9965865e7b8d1c6a2aa935f3e", - "timestamp": 1635119928, - "blockNumber": 13483243 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 42, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 103333.33743046239, - "transactionHash": "0x126f26faef57615d9058349d9726e8ae7a9e53affe254be055396c5ea9b71021", - "timestamp": 1634600339, - "blockNumber": 13444752 - }, - { - "proposalId": 42, - "voter": "0xA0efD27acC781549D5b78e89E561AA0903932d56", - "support": true, - "votingPower": 8.002657782527367, - "transactionHash": "0x877539e44ef962ae769fabe742ad4eba44a9fa6b9fc856c6a84473d16849e2cd", - "timestamp": 1634640129, - "blockNumber": 13447735 - }, - { - "proposalId": 42, - "voter": "0x2713A5FB15c0bBb0087d6bc53FBea9da5830d6e5", - "support": true, - "votingPower": 15.27058770226409, - "transactionHash": "0xc1111a6be03ca0d1b1c78f94168e23dc3c4febb6cf8aac2617d7cc1751c6c017", - "timestamp": 1634640132, - "blockNumber": 13447736 - }, - { - "proposalId": 42, - "voter": "0x070341aA5Ed571f0FB2c4a5641409B1A46b4961b", - "support": true, - "votingPower": 10000, - "transactionHash": "0x635426e381073ce9902faa67cfca6bad7959b7bc4a62cd67d981a37dee633808", - "timestamp": 1634659631, - "blockNumber": 13449173 - }, - { - "proposalId": 42, - "voter": "0x458cEec48586a85fCFEb4A179706656eE321730E", - "support": true, - "votingPower": 10000, - "transactionHash": "0xec4bdc9cc920db7835bc6302a08b5e3cae2f2fe4074b8170c45b2383d26d2ce7", - "timestamp": 1634704284, - "blockNumber": 13452509 - }, - { - "proposalId": 42, - "voter": "0x9B5ea8C719e29A5bd0959FaF79C9E5c8206d0499", - "support": true, - "votingPower": 110194.00997961395, - "transactionHash": "0xdefde4936979d2bd41c3b8deb92bd9f1844d30ea740ca416a263e5280a97de64", - "timestamp": 1634737698, - "blockNumber": 13454967 - }, - { - "proposalId": 42, - "voter": "0xdD709cAE362972cb3B92DCeaD77127f7b8D58202", - "support": true, - "votingPower": 224324.49319789486, - "transactionHash": "0x05546ad1d48b987ceee11fc85e3077c3eb6bc7fc39f5a1e8b1b5f72e0faf413a", - "timestamp": 1634737914, - "blockNumber": 13454979 - }, - { - "proposalId": 42, - "voter": "0x3A25e701517e713e99818a169A39339Fc3eAe9d2", - "support": true, - "votingPower": 956.666666, - "transactionHash": "0x6b07982293419a67b065eb68afe4aba5eb4792bcdea4ea10099b019c334520a2", - "timestamp": 1634758966, - "blockNumber": 13456528 - }, - { - "proposalId": 42, - "voter": "0x5BC928BF0DAb1e4A2ddd9e347b0F22e88026D76c", - "support": true, - "votingPower": 63874.44146457075, - "transactionHash": "0xcb1900c58c537f6c610b1d9111a7e4d8988d5f0b8e736fb94f587e0b035d859b", - "timestamp": 1634797104, - "blockNumber": 13459380 - }, - { - "proposalId": 42, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 3735.911610387464, - "transactionHash": "0x6dd1ae70f9f717b96fafc624e80946ab877857e0d7b150bf3a2ea2246d5060ff", - "timestamp": 1634830966, - "blockNumber": 13461879 - }, - { - "proposalId": 42, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 3460.8114582489384, - "transactionHash": "0x3013310f8c1a69badc0e547393e8cd721b3280681bc9cb365a2c39fa2fd5a112", - "timestamp": 1634831405, - "blockNumber": 13461906 - }, - { - "proposalId": 42, - "voter": "0xf63Ec662753B88c3634AE276ba4eA28D681478C8", - "support": true, - "votingPower": 125854.64412756008, - "transactionHash": "0x450d47f708c581296afbeabb868cc3b968a9c858ecf2353bf2471a5a8efc12b7", - "timestamp": 1634834499, - "blockNumber": 13462150 - }, - { - "proposalId": 42, - "voter": "0x8d07D225a769b7Af3A923481E1FdF49180e6A265", - "support": true, - "votingPower": 50, - "transactionHash": "0x311bf221bc92d874908ba3231b6c3d9ad8ff5859f12c4c95ddc64b351de03fc2", - "timestamp": 1634838487, - "blockNumber": 13462460 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 43, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 103333.33743046239, - "transactionHash": "0x964d1a167360be7c8a50ccd3fb6d84cddc623e79bc5ac2568ac973f84ab9836d", - "timestamp": 1635205012, - "blockNumber": 13489573 - }, - { - "proposalId": 43, - "voter": "0x5BC928BF0DAb1e4A2ddd9e347b0F22e88026D76c", - "support": true, - "votingPower": 63873.00217235075, - "transactionHash": "0xb6feb021cb7d64c529539bfdee7f6d356a55412b51486566995e0bd32f6d5224", - "timestamp": 1635225143, - "blockNumber": 13491059 - }, - { - "proposalId": 43, - "voter": "0x458cEec48586a85fCFEb4A179706656eE321730E", - "support": true, - "votingPower": 10000, - "transactionHash": "0x7762b97dc4648dd4d82fdda4c04594425e1d1a3dcd2076e9b2db00dc09c08a36", - "timestamp": 1635312732, - "blockNumber": 13497555 - }, - { - "proposalId": 43, - "voter": "0x10D6d2e343281D388291A3e02f3293AaEdA67178", - "support": true, - "votingPower": 16.418540655997646, - "transactionHash": "0xbfdac4419965efd83614e5e79c18dbf138f0aaff5f83077ef78906aa0228b3ac", - "timestamp": 1635338876, - "blockNumber": 13499480 - }, - { - "proposalId": 43, - "voter": "0x883Ab2aE1BDDa0531078b27dd45600193aba1F34", - "support": true, - "votingPower": 119.83922220214689, - "transactionHash": "0x2f660b5dee626494fd40c799387d08d3511f545d484d446864cea5983ea7c3d9", - "timestamp": 1635413256, - "blockNumber": 13504918 - }, - { - "proposalId": 43, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 3723.9091212764647, - "transactionHash": "0xf37eab07232c1d5a02c2f28829fce6bf57a2115dea5eeb73944a8af6875f9c6d", - "timestamp": 1635433792, - "blockNumber": 13506461 - }, - { - "proposalId": 43, - "voter": "0x683a4F9915D6216f73d6Df50151725036bD26C02", - "support": true, - "votingPower": 3090.9462629579293, - "transactionHash": "0x3a131b9ced2ba8837e9bd2b2bdcb1488c653fac65aa7bcc37d6f7acfaa47dc57", - "timestamp": 1635435919, - "blockNumber": 13506619 - }, - { - "proposalId": 43, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 3366.020315552932, - "transactionHash": "0x8d6ffba2ac8df67c262f1f3114582d8e29174091554ea161485fd96f0562bd60", - "timestamp": 1635437520, - "blockNumber": 13506740 - }, - { - "proposalId": 43, - "voter": "0x070341aA5Ed571f0FB2c4a5641409B1A46b4961b", - "support": true, - "votingPower": 10000, - "transactionHash": "0x23d4e80c22e234411f38b1a9b60dcc6e25eeaa65b71d376525f2c04fde4250c3", - "timestamp": 1635439851, - "blockNumber": 13506912 - }, - { - "proposalId": 43, - "voter": "0xf63Ec662753B88c3634AE276ba4eA28D681478C8", - "support": true, - "votingPower": 123697.21964634201, - "transactionHash": "0xb1ea9d09b6341a704cec8f773ba795e2384d6769d7a774ac8f1e3a4bab3d9738", - "timestamp": 1635454814, - "blockNumber": 13507982 - }, - { - "proposalId": 43, - "voter": "0xFC56306fFbEc02757cA83DD21A31D68303095E0C", - "support": true, - "votingPower": 65244.69749532881, - "transactionHash": "0xe9f213b6def84fd4195118c5ac15c03bc20b590a5a4ff2b4d6ba562b4da0fd0a", - "timestamp": 1635456181, - "blockNumber": 13508077 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 44, - "voter": "0x990daFE818681F8E18d14E2Ae7abD30aE46BF1c2", - "support": true, - "votingPower": 99980, - "transactionHash": "0xd49d883a1ffcb6fda9d045c3bfb2e6261624c5d4581d2f12d7b18c24213f3779", - "timestamp": 1635463897, - "blockNumber": 13508686 - }, - { - "proposalId": 44, - "voter": "0xE831C8903de820137c13681E78A5780afDdf7697", - "support": true, - "votingPower": 432.23678147865155, - "transactionHash": "0x3a37d8f06fe0b674d074350722064dc3df39489a7db1cebe5ac6fed793a068a5", - "timestamp": 1635465232, - "blockNumber": 13508803 - }, - { - "proposalId": 44, - "voter": "0x9B5ea8C719e29A5bd0959FaF79C9E5c8206d0499", - "support": true, - "votingPower": 111241.48513468745, - "transactionHash": "0x4f908e28fdfcbb92bf947cd2df677c35f764b06536ca8e4cec8dbc163e8b5c44", - "timestamp": 1635491765, - "blockNumber": 13510736 - }, - { - "proposalId": 44, - "voter": "0xdD709cAE362972cb3B92DCeaD77127f7b8D58202", - "support": true, - "votingPower": 189874.17135511906, - "transactionHash": "0x7e69a393877e0b199902e5472d45a8b0ce1b63c0d242d210a8942a8b7acd784a", - "timestamp": 1635491828, - "blockNumber": 13510740 - }, - { - "proposalId": 44, - "voter": "0x610c92c70Eb55dFeAFe8970513D13771Da79f2e0", - "support": false, - "votingPower": 1, - "transactionHash": "0xfdb7871d3dc04fd5139fdb150fead7e847d9b1019db4bf52d17cd3e0a35ae981", - "timestamp": 1635524776, - "blockNumber": 13513080 - }, - { - "proposalId": 44, - "voter": "0x24D9Db7c839262197b278A912Ca0beEfbfbc15a2", - "support": true, - "votingPower": 17.432411490145455, - "transactionHash": "0xc30da1b007f3f52b966fe366ef1d5cd971bd012f124d153d48300f645a3ab5c2", - "timestamp": 1635525551, - "blockNumber": 13513136 - }, - { - "proposalId": 44, - "voter": "0x5BC928BF0DAb1e4A2ddd9e347b0F22e88026D76c", - "support": true, - "votingPower": 63873.00217235075, - "transactionHash": "0x7dbead30a1ff2642d940874dc4b071a82cd4018957cbc473607b732c11af6ca6", - "timestamp": 1635528352, - "blockNumber": 13513335 - }, - { - "proposalId": 44, - "voter": "0xAB7655FC78da7393d9b1DEff2D035A051a68F654", - "support": true, - "votingPower": 5.085308314753099, - "transactionHash": "0xa296486f9b0dc5b339f4316811155dfa9c7e9941a84858efa6c886d05f342272", - "timestamp": 1635528585, - "blockNumber": 13513360 - }, - { - "proposalId": 44, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 103333.33743046239, - "transactionHash": "0xd2b555f1a6ee64149d7688e01570fd6cf1e2cdb50b5cb8862445798af866f787", - "timestamp": 1635530305, - "blockNumber": 13513496 - }, - { - "proposalId": 44, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 3413.15584801882, - "transactionHash": "0xb39c03f07b9cc63572cea1da77635bed7d8b07c63353bc93569adecd98e94891", - "timestamp": 1635534371, - "blockNumber": 13513826 - }, - { - "proposalId": 44, - "voter": "0xB72eD8401892466Ea8aF528C1af1d0524bc5e105", - "support": true, - "votingPower": 300.59060312366256, - "transactionHash": "0xd6bda6e81e547f0c9e1e3c04070990841205e52a94300c67971d5355d5b03661", - "timestamp": 1635535785, - "blockNumber": 13513943 - }, - { - "proposalId": 44, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 3376.0851408632525, - "transactionHash": "0x07e5b632855c0d36e1a9a7fdf0b471a398f37ee45db326a341df52f6ba5c6d27", - "timestamp": 1635535785, - "blockNumber": 13513943 - }, - { - "proposalId": 44, - "voter": "0x070341aA5Ed571f0FB2c4a5641409B1A46b4961b", - "support": true, - "votingPower": 10000, - "transactionHash": "0x73c65e5f6002e1e41f776aa59ca0afcaff87c002cce71c5d27694cbd9c77ea54", - "timestamp": 1635548058, - "blockNumber": 13514893 - }, - { - "proposalId": 44, - "voter": "0x07cBD4e4473140b6078Aa987907aafF5E500b9f1", - "support": true, - "votingPower": 63.26700373962141, - "transactionHash": "0xef3e67e1ca96d4326010c486e6d3b3055f895ef9997ace32f6e9272e89696efb", - "timestamp": 1635574110, - "blockNumber": 13516814 - }, - { - "proposalId": 44, - "voter": "0x82F9eA8D814A6eb335cFe17500CdcbB69c7EBbFE", - "support": true, - "votingPower": 2872, - "transactionHash": "0x9bd0a2bdbbf2f48a1c440c6f3e63ee337900fb2a173f49ea52dce54c3c19b86f", - "timestamp": 1635578817, - "blockNumber": 13517138 - }, - { - "proposalId": 44, - "voter": "0x6CD71d6Cb7824add7c277F2CA99635D98F8b9248", - "support": true, - "votingPower": 156.34365309209946, - "transactionHash": "0xa8aae876d850845a7ab78ec2d643419756247d19fced9083eb1eb918f7668032", - "timestamp": 1635580500, - "blockNumber": 13517255 - }, - { - "proposalId": 44, - "voter": "0xf393CFda7D842AcDf1806D132B6F4e4363161817", - "support": true, - "votingPower": 16.267276829699956, - "transactionHash": "0x4931f9e1949b89a8a8029dd86daf387dbc8c09903731e562b98135ce66f13995", - "timestamp": 1635594024, - "blockNumber": 13518258 - }, - { - "proposalId": 44, - "voter": "0x8d07D225a769b7Af3A923481E1FdF49180e6A265", - "support": true, - "votingPower": 50, - "transactionHash": "0x1d06d001f5f57012d7ad2c37b723451f7514e863d1225970e9a0469b2e10c274", - "timestamp": 1635642809, - "blockNumber": 13521849 - }, - { - "proposalId": 44, - "voter": "0xf63Ec662753B88c3634AE276ba4eA28D681478C8", - "support": true, - "votingPower": 120534.59345171244, - "transactionHash": "0x0d898c06bd346cf0bcfc5c32ab7a092e80ec02bfed8033bf1449f23efb4df542", - "timestamp": 1635688466, - "blockNumber": 13525171 - }, - { - "proposalId": 44, - "voter": "0x1d5E65a087eBc3d03a294412E46CE5D6882969f4", - "support": true, - "votingPower": 0.42701916066565443, - "transactionHash": "0x5dff1477a27ce953654db7ba390b394f1cdbf33de1b55aef5b743ea09e07fbb5", - "timestamp": 1635694546, - "blockNumber": 13525620 - }, - { - "proposalId": 44, - "voter": "0x9548Fc023f6000B4Bd1f8569aBc4222bDede65c7", - "support": true, - "votingPower": 181.33570777148887, - "transactionHash": "0xb9ab59b6c7927c40d7372d863fbc921ea36d7756575b77a0bc9ba95117c5e244", - "timestamp": 1635702278, - "blockNumber": 13526215 - }, - { - "proposalId": 44, - "voter": "0x3A25e701517e713e99818a169A39339Fc3eAe9d2", - "support": true, - "votingPower": 606.666666, - "transactionHash": "0x6ba9d7de761fbc19b84f541ed09214106788cecd45b790f9e46f33459088663b", - "timestamp": 1635709113, - "blockNumber": 13526690 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 45, - "voter": "0x279930d09C521c503d10cf4Cb0021E8b1CC36042", - "support": true, - "votingPower": 15.552322199462033, - "transactionHash": "0x162548d34a0fb7630aead9f51ad232b1dab167c8fc14132ba093c1ea064c58c5", - "timestamp": 1636420003, - "blockNumber": 13579172 - }, - { - "proposalId": 45, - "voter": "0x683a4F9915D6216f73d6Df50151725036bD26C02", - "support": true, - "votingPower": 3090.9462629579293, - "transactionHash": "0xa7be79ef1ef12b835e218f3161880496f551e520060e65932a17aa68fe0a5b63", - "timestamp": 1636488671, - "blockNumber": 13584219 - }, - { - "proposalId": 45, - "voter": "0x1B13aD8A2447535dA5a8c699E345B98c1a8165cE", - "support": true, - "votingPower": 34502.3002, - "transactionHash": "0xb18e3923fcc37dc97db20f412b752ded58209b061b6a5ed0dd9e623054668625", - "timestamp": 1636503311, - "blockNumber": 13585282 - }, - { - "proposalId": 45, - "voter": "0x458cEec48586a85fCFEb4A179706656eE321730E", - "support": true, - "votingPower": 10000, - "transactionHash": "0xbe591933e2ee9ba27ad923834f62f741ce9f5c57e528d8f8df232f3aa2f2391e", - "timestamp": 1636542321, - "blockNumber": 13588141 - }, - { - "proposalId": 45, - "voter": "0x5BC928BF0DAb1e4A2ddd9e347b0F22e88026D76c", - "support": true, - "votingPower": 63873.00217235075, - "transactionHash": "0x2ebd25097d0001724620b1a51d472d946ccacfc239ef84e0c8f2270eda2858af", - "timestamp": 1636568578, - "blockNumber": 13590068 - }, - { - "proposalId": 45, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 3157.7536476952896, - "transactionHash": "0xbdff87bb97bca04aae7068cc4fa5d92c39e9f0f1a6bb8f266f3f480af2eb8d7c", - "timestamp": 1636574371, - "blockNumber": 13590495 - }, - { - "proposalId": 45, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 3064.8407009488583, - "transactionHash": "0x74cef2232e561ad93541fd64b485725f21b954e18a8fa186cc0d293a65247196", - "timestamp": 1636577041, - "blockNumber": 13590702 - }, - { - "proposalId": 45, - "voter": "0xf63Ec662753B88c3634AE276ba4eA28D681478C8", - "support": true, - "votingPower": 109687.61189995568, - "transactionHash": "0xaa1c064d7acfe07f8e0afb7a8e0663ced227063fa87a5350a4cfb7092e7794fb", - "timestamp": 1636662776, - "blockNumber": 13597049 - }, - { - "proposalId": 45, - "voter": "0x62a43123FE71f9764f26554b3F5017627996816a", - "support": true, - "votingPower": 30.669202, - "transactionHash": "0x9148da3711a330961f76c598b3cf7d4a69053a797d36287a139c9b332731e9cf", - "timestamp": 1636668885, - "blockNumber": 13597508 - }, - { - "proposalId": 45, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 103333.33743046239, - "transactionHash": "0x9eb5c46854fbcc65d29dc66bca5f4a8f1477ed355f373f48a8e0b9ae364d5f53", - "timestamp": 1636669313, - "blockNumber": 13597539 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 46, - "voter": "0x1B13aD8A2447535dA5a8c699E345B98c1a8165cE", - "support": true, - "votingPower": 34502.3002, - "transactionHash": "0xcfdd32fcb75addcb3f62d376f223c49b056bc8b83c0909fbcac4f55c45c7348a", - "timestamp": 1636507991, - "blockNumber": 13585609 - }, - { - "proposalId": 46, - "voter": "0x458cEec48586a85fCFEb4A179706656eE321730E", - "support": true, - "votingPower": 10000, - "transactionHash": "0xff67e7c1aa2c463f72603711d6ef934763abf0c9371f6adb64a6b7df56e4fb68", - "timestamp": 1636542321, - "blockNumber": 13588141 - }, - { - "proposalId": 46, - "voter": "0x683a4F9915D6216f73d6Df50151725036bD26C02", - "support": true, - "votingPower": 3090.9462629579293, - "transactionHash": "0xfd36f7610f29c06929cd7e3858ae2e4cc1208b18993e035b290feab79c5d8945", - "timestamp": 1636559605, - "blockNumber": 13589396 - }, - { - "proposalId": 46, - "voter": "0x5772ACba5A09bB032f90AC7b15fE11D40CCC4314", - "support": true, - "votingPower": 67.635, - "transactionHash": "0x5725ebdf0236ab2e9a0cd3e542aedeedba88592fc30e80787e2bdad8bf9c1e3b", - "timestamp": 1636561616, - "blockNumber": 13589532 - }, - { - "proposalId": 46, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 103333.33743046239, - "transactionHash": "0xb47b6e02e8a9b3ddfc95c2b5b380fe3f405acec73c0cfc4839584bf33bda87af", - "timestamp": 1636561709, - "blockNumber": 13589539 - }, - { - "proposalId": 46, - "voter": "0xb01474b50382fAe1A847E3A916ECDf07Ba57BcC7", - "support": true, - "votingPower": 2, - "transactionHash": "0x3257b07bb7201f5e17ce3fd99bd7be5e766e1b3c9f5815be8ebbf969b91c3b6a", - "timestamp": 1636567132, - "blockNumber": 13589966 - }, - { - "proposalId": 46, - "voter": "0x5BC928BF0DAb1e4A2ddd9e347b0F22e88026D76c", - "support": true, - "votingPower": 63873.00217235075, - "transactionHash": "0x6229dea40c0d8d9e5ed814d52fe17226c0cf07839d6bb4dff651756ba9018739", - "timestamp": 1636568578, - "blockNumber": 13590068 - }, - { - "proposalId": 46, - "voter": "0xA0efD27acC781549D5b78e89E561AA0903932d56", - "support": true, - "votingPower": 8.002657782527367, - "transactionHash": "0xe2068aedb7e80fa3f11235ef3004cefc3294d8f27b8fe66ee1e7de03a8dcbef7", - "timestamp": 1636607457, - "blockNumber": 13593003 - }, - { - "proposalId": 46, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 3157.7536476952896, - "transactionHash": "0x357bcaedfb7700e0fea61ce8090046bb5fac15da51ea5ecb1972671a1b492fad", - "timestamp": 1636651101, - "blockNumber": 13596206 - }, - { - "proposalId": 46, - "voter": "0x62a43123FE71f9764f26554b3F5017627996816a", - "support": true, - "votingPower": 30.669202, - "transactionHash": "0x0516716da0964c3bf8b7dfc4c266143db8d0a4eadd1ea5dab1543e0c4d59f2c3", - "timestamp": 1636669104, - "blockNumber": 13597523 - }, - { - "proposalId": 46, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 3064.8407009488583, - "transactionHash": "0xe22da030741c232e3db555f8db4cdab7772152a09f49d12df9a72bf36e947dab", - "timestamp": 1636672414, - "blockNumber": 13597769 - }, - { - "proposalId": 46, - "voter": "0xE9D4E436e51648c5d8D1b90667C17bA069b40CAA", - "support": true, - "votingPower": 125.69930053939386, - "transactionHash": "0xfff8fad4897ebde41a902f6acef5fbc98942aa64938e4a766819a301b33c80a8", - "timestamp": 1636674743, - "blockNumber": 13597933 - }, - { - "proposalId": 46, - "voter": "0x070341aA5Ed571f0FB2c4a5641409B1A46b4961b", - "support": true, - "votingPower": 10000, - "transactionHash": "0xf1b6caa136950d1a3fbd598f99d539bcfd337f272d4765dd0c904eb1f1c64269", - "timestamp": 1636680668, - "blockNumber": 13598395 - }, - { - "proposalId": 46, - "voter": "0xf63Ec662753B88c3634AE276ba4eA28D681478C8", - "support": true, - "votingPower": 109272.63775223728, - "transactionHash": "0x492de100ff2ad0599d67810ceaba370192d58ab299b79ad3dd67ace4954a2417", - "timestamp": 1636722715, - "blockNumber": 13601496 - }, - { - "proposalId": 46, - "voter": "0xc4a936B003BC223DF757B35Ee52f6Da66B062935", - "support": false, - "votingPower": 92529.61013077926, - "transactionHash": "0x8c7f01372ba16d69a2852a0e9b30bee7a195d5d7dfc08ba5062220f5b5e7988f", - "timestamp": 1636726148, - "blockNumber": 13601725 - }, - { - "proposalId": 46, - "voter": "0x0c940cDC24fd0142CDcB96B1d7A2F0B45dB8297b", - "support": false, - "votingPower": 92866.00939047684, - "transactionHash": "0x8d9dd0c033cf8e0e17a5d56d99d380989d8fd1881e44f05e4479eb01c5c81700", - "timestamp": 1636734997, - "blockNumber": 13602392 - }, - { - "proposalId": 46, - "voter": "0xFC56306fFbEc02757cA83DD21A31D68303095E0C", - "support": false, - "votingPower": 65244.69749532881, - "transactionHash": "0x7709e27ceb9e374b78568646c86f0d7e350ef5bad7366206d2f2c73364e1076a", - "timestamp": 1636736175, - "blockNumber": 13602487 - }, - { - "proposalId": 46, - "voter": "0x41cb7d39b1100B320E8CFe27db9b526c671e7A07", - "support": false, - "votingPower": 18874.196358090216, - "transactionHash": "0x12128d6af0ac553fadb4a8c31b2f375593e5fe788a2e350b18553bebc4fdbd22", - "timestamp": 1636736330, - "blockNumber": 13602499 - }, - { - "proposalId": 46, - "voter": "0x8d07D225a769b7Af3A923481E1FdF49180e6A265", - "support": true, - "votingPower": 50, - "transactionHash": "0x0f2b78eb805e360ead8b3c9f3db7971529bf21578e5587164dbed9f1db4323ba", - "timestamp": 1636742344, - "blockNumber": 13602953 - }, - { - "proposalId": 46, - "voter": "0x8dCF48FB8BC7FDDA5A3106eDe9b7c69Fc2C7E751", - "support": false, - "votingPower": 39888.72296007392, - "transactionHash": "0x2ef865da756f07024d6554afbc0d020dd97758ac68c00621acb135e4bf9b3b91", - "timestamp": 1636743566, - "blockNumber": 13603039 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 47, - "voter": "0xc290Cfb8D020c0615e9C63036f4319Cc41717E68", - "support": true, - "votingPower": 31.722444849380075, - "transactionHash": "0xf930f34d935ea7a866a47654dcf5c66f028e129a3349b5897fe69a59ed8c37a3", - "timestamp": 1637228408, - "blockNumber": 13638570 - }, - { - "proposalId": 47, - "voter": "0xdD709cAE362972cb3B92DCeaD77127f7b8D58202", - "support": true, - "votingPower": 189874.17135511906, - "transactionHash": "0xef17c3aafc12d61e4277c0483f47e0b2141679b8b75cd8220cdd83e7c4a694e2", - "timestamp": 1637243924, - "blockNumber": 13639726 - }, - { - "proposalId": 47, - "voter": "0x9B5ea8C719e29A5bd0959FaF79C9E5c8206d0499", - "support": true, - "votingPower": 111230.36516652131, - "transactionHash": "0x50667079f9c9ded16eadc2d04a8daa0e326669e57ee47c0b3fa5912cc7a19301", - "timestamp": 1637244639, - "blockNumber": 13639780 - }, - { - "proposalId": 47, - "voter": "0x8d07D225a769b7Af3A923481E1FdF49180e6A265", - "support": true, - "votingPower": 50, - "transactionHash": "0x09de071d727bdd01d1f4947704ef932ef839ed389bab49954b0941f801a7ac32", - "timestamp": 1637258961, - "blockNumber": 13640853 - }, - { - "proposalId": 47, - "voter": "0x458cEec48586a85fCFEb4A179706656eE321730E", - "support": true, - "votingPower": 10000, - "transactionHash": "0x2fac921fbd8e8720b9984cb993f8d2dbde3037ea91ebebc77c20fd4c0baaeba0", - "timestamp": 1637276112, - "blockNumber": 13642112 - }, - { - "proposalId": 47, - "voter": "0xA0efD27acC781549D5b78e89E561AA0903932d56", - "support": true, - "votingPower": 8.002657782527367, - "transactionHash": "0xf863ff68a809df74355960da1542dc5562860584834bb7714c8712c77a84822d", - "timestamp": 1637300892, - "blockNumber": 13643910 - }, - { - "proposalId": 47, - "voter": "0x3A25e701517e713e99818a169A39339Fc3eAe9d2", - "support": true, - "votingPower": 673.333333, - "transactionHash": "0xaa6b05ef16cf51f69b0db762ab53fd273376812ec1728e777092b94100b7cf81", - "timestamp": 1637315610, - "blockNumber": 13644932 - }, - { - "proposalId": 47, - "voter": "0x32B61Bb22Cbe4834bc3e73DcE85280037D944a4D", - "support": true, - "votingPower": 172938.47980233646, - "transactionHash": "0x9b6e335cb479dddef9dd6aed2f452b11c3f033c795741221d93da0b2b8799c9f", - "timestamp": 1637334246, - "blockNumber": 13646214 - }, - { - "proposalId": 47, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 2608.758179679587, - "transactionHash": "0xcf083aa5abb2bddcaa8724101b02a73d67b439f4cee87cb408e41771bb4f0d4c", - "timestamp": 1637366278, - "blockNumber": 13648615 - }, - { - "proposalId": 47, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 3071.5433384059547, - "transactionHash": "0x44b23a9252d2d3769a74093010b2a2726c3205c93184c2f07a207a8989e17458", - "timestamp": 1637366687, - "blockNumber": 13648648 - }, - { - "proposalId": 47, - "voter": "0xf63Ec662753B88c3634AE276ba4eA28D681478C8", - "support": true, - "votingPower": 108734.33387838016, - "transactionHash": "0xc74a55bd58b3350430b42d81281942d86b4d50d3df7f337753d14c25b3b7e2fd", - "timestamp": 1637427124, - "blockNumber": 13653060 - }, - { - "proposalId": 47, - "voter": "0x961f4A36510cbB4ee58EE8FEaf65DC7E36A8e892", - "support": true, - "votingPower": 1.105499975360185, - "transactionHash": "0xec4c7e5f6568538b1ea0b58d70110a3441e537c57a53cdc056893f626bc707ae", - "timestamp": 1637440650, - "blockNumber": 13654032 - }, - { - "proposalId": 47, - "voter": "0xaF297deC752c909092A117A932A8cA4AaaFF9795", - "support": true, - "votingPower": 119.47002068204299, - "transactionHash": "0x4d36a37591eb39e4056fe2ee12160d6a8d7753cbcb101aa14f2565bb35a70d45", - "timestamp": 1637443364, - "blockNumber": 13654213 - }, - { - "proposalId": 47, - "voter": "0x5B3bFfC0bcF8D4cAEC873fDcF719F60725767c98", - "support": true, - "votingPower": 100.51499126979895, - "transactionHash": "0xe8023bc2e21a8ce74bb95434aa299b45cc90922c6388e33173858404d53777b2", - "timestamp": 1637479965, - "blockNumber": 13656839 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 48, - "voter": "0xa550A71B4a78b67c03900AC2B598B0e0b9D4668F", - "support": true, - "votingPower": 18.114914747870873, - "transactionHash": "0x4ee93278c9e6259ae8b86b4ba823fc0c0082165de4054c3683dc5f8ef3f2901f", - "timestamp": 1637231719, - "blockNumber": 13638831 - }, - { - "proposalId": 48, - "voter": "0x9548Fc023f6000B4Bd1f8569aBc4222bDede65c7", - "support": true, - "votingPower": 181.33570777148887, - "transactionHash": "0x3e58a9f31b97f0f9d48229b632be7afb2f5e016cac62c41a7e48b8a3c2149e21", - "timestamp": 1637231817, - "blockNumber": 13638836 - }, - { - "proposalId": 48, - "voter": "0x9B5ea8C719e29A5bd0959FaF79C9E5c8206d0499", - "support": true, - "votingPower": 111230.36516652131, - "transactionHash": "0x9dd9ba65bbfeda94efc93b3a77c9f52580b85915fa76fb83c6d2813c1cdd1e56", - "timestamp": 1637241590, - "blockNumber": 13639562 - }, - { - "proposalId": 48, - "voter": "0xdD709cAE362972cb3B92DCeaD77127f7b8D58202", - "support": true, - "votingPower": 189874.17135511906, - "transactionHash": "0x482126cfeb5b534d704e10f555d1d5de0adb605c4cf0e86ca7964d1020545930", - "timestamp": 1637243998, - "blockNumber": 13639734 - }, - { - "proposalId": 48, - "voter": "0x32B61Bb22Cbe4834bc3e73DcE85280037D944a4D", - "support": true, - "votingPower": 172938.47980233646, - "transactionHash": "0x09ae8eac81183a911de56f8c48fac458a10723cb1cf7800458659126ece138b0", - "timestamp": 1637246352, - "blockNumber": 13639919 - }, - { - "proposalId": 48, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 103333.33743046239, - "transactionHash": "0x340d5c93cbd494d7559a457c2b4dfb73fdb3a69c8fecd2db1e4e089cf21af3aa", - "timestamp": 1637258591, - "blockNumber": 13640824 - }, - { - "proposalId": 48, - "voter": "0x8d07D225a769b7Af3A923481E1FdF49180e6A265", - "support": true, - "votingPower": 50, - "transactionHash": "0x0022aed554726cd586fd06ccad262018b69e0344cbc50e00fcbd806699ff1e33", - "timestamp": 1637260537, - "blockNumber": 13640962 - }, - { - "proposalId": 48, - "voter": "0x458cEec48586a85fCFEb4A179706656eE321730E", - "support": true, - "votingPower": 10000, - "transactionHash": "0x4ea08b0fc91faf062978a45f6f40e0334cfcbb84f97e2cc381c96b96ca68c502", - "timestamp": 1637276112, - "blockNumber": 13642112 - }, - { - "proposalId": 48, - "voter": "0xA0efD27acC781549D5b78e89E561AA0903932d56", - "support": true, - "votingPower": 8.002657782527367, - "transactionHash": "0xbc87b527cb1dc1d7ca00cf20cef6fc34f916862e008e292a6e83a7fd5434331d", - "timestamp": 1637300655, - "blockNumber": 13643891 - }, - { - "proposalId": 48, - "voter": "0x3A25e701517e713e99818a169A39339Fc3eAe9d2", - "support": true, - "votingPower": 673.333333, - "transactionHash": "0xa198b040b6cd4685040d9090578e09e086908a8ba735c20b14dd0f5facaf24ed", - "timestamp": 1637315734, - "blockNumber": 13644939 - }, - { - "proposalId": 48, - "voter": "0xca768c37ba6EC3d67bE7B47bbE1F1C94CA216f46", - "support": true, - "votingPower": 550.000000127771, - "transactionHash": "0x9311fdc4e8f422a163ca67f2e2617536b31ada00e51ba4cdde2e0f4547521b4d", - "timestamp": 1637336288, - "blockNumber": 13646368 - }, - { - "proposalId": 48, - "voter": "0xEd9cA75f828747FE3da57f05b89665df6B1B54Fe", - "support": true, - "votingPower": 127.16742007078369, - "transactionHash": "0xa7f5e839b1f8345730e1d71f53bbe5969fecaf40c16591d6bf9b77474661a972", - "timestamp": 1637339658, - "blockNumber": 13646638 - }, - { - "proposalId": 48, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 2608.758179679587, - "transactionHash": "0xf149a500d80e02609a52f7f047f2eee287d22e2db4419cd6ddc739bc2767486f", - "timestamp": 1637366555, - "blockNumber": 13648641 - }, - { - "proposalId": 48, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 3071.5433384059547, - "transactionHash": "0x7783f3265173c09ffca7f0b1a773aa4ba18798d58b09b87bdbfbd27e48d29a26", - "timestamp": 1637366813, - "blockNumber": 13648655 - }, - { - "proposalId": 48, - "voter": "0xf85cbb44aB1644531eC7e08b2fE8F94DABF20Ee1", - "support": true, - "votingPower": 8.81, - "transactionHash": "0x72dcb0fac76dc64c454534d7eb121b88a1ab7d011cf6e5daa173e36187ae8b0d", - "timestamp": 1637399236, - "blockNumber": 13651019 - }, - { - "proposalId": 48, - "voter": "0xf63Ec662753B88c3634AE276ba4eA28D681478C8", - "support": true, - "votingPower": 108734.33387838016, - "transactionHash": "0x4d22d8c2003771380ba20bc66d5a1507840a0f139d9b0b9b5645879ea18530d0", - "timestamp": 1637427248, - "blockNumber": 13653068 - }, - { - "proposalId": 48, - "voter": "0xaF297deC752c909092A117A932A8cA4AaaFF9795", - "support": true, - "votingPower": 119.47002068204299, - "transactionHash": "0xc6aab538a739ca0f7b5cc0138cb3f391bf80a70acdb8e6902bf4952c656c6249", - "timestamp": 1637443410, - "blockNumber": 13654214 - }, - { - "proposalId": 48, - "voter": "0x5B3bFfC0bcF8D4cAEC873fDcF719F60725767c98", - "support": true, - "votingPower": 100.51499126979895, - "transactionHash": "0x695e6270ef6c2525fa6f2b7c8a5abb06c8a39bd7db0e4b769e88fae5f7fd6a15", - "timestamp": 1637479997, - "blockNumber": 13656844 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 49, - "voter": "0xa550A71B4a78b67c03900AC2B598B0e0b9D4668F", - "support": true, - "votingPower": 18.114914747870873, - "transactionHash": "0xee75208874e9cafe660fe1f338c65261482b59a712b3d99e9caf3e52e084cbb4", - "timestamp": 1637340331, - "blockNumber": 13646680 - }, - { - "proposalId": 49, - "voter": "0x9548Fc023f6000B4Bd1f8569aBc4222bDede65c7", - "support": true, - "votingPower": 181.33570777148887, - "transactionHash": "0xf4cf2e998172ed7b80038508c03fd7aa4cf0f9233768b1288085d3a20d81524e", - "timestamp": 1637340331, - "blockNumber": 13646680 - }, - { - "proposalId": 49, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 103333.33743046239, - "transactionHash": "0x45c5c23bbdb8e0d2bf8028de0f45b998114b58a038e44d0269aa49f8eb7b24ed", - "timestamp": 1637364462, - "blockNumber": 13648453 - }, - { - "proposalId": 49, - "voter": "0x41cb7d39b1100B320E8CFe27db9b526c671e7A07", - "support": true, - "votingPower": 18874.196358090216, - "transactionHash": "0xa95a30bc5a8230cb3d5dc574b7f2404eaa5f4d4df98a44b117f4f79f2542ee58", - "timestamp": 1637458199, - "blockNumber": 13655293 - }, - { - "proposalId": 49, - "voter": "0xc4a936B003BC223DF757B35Ee52f6Da66B062935", - "support": true, - "votingPower": 92529.61013077926, - "transactionHash": "0x6d6dc8baa356c3fb1f3105c87c502251b0ea83eb89a6276f11b4656297da6da6", - "timestamp": 1637458306, - "blockNumber": 13655300 - }, - { - "proposalId": 49, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 2608.758179679587, - "transactionHash": "0xdb93e61250f64d6828ad6ba557b7feaf91c98fca38d28a96787885fc49fa0e9a", - "timestamp": 1637464540, - "blockNumber": 13655722 - }, - { - "proposalId": 49, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 3071.5433384059547, - "transactionHash": "0xa3419a5e199435f236f4f5ba733d90e0cc2012d64a2c98eb393bd33008078cea", - "timestamp": 1637465046, - "blockNumber": 13655756 - }, - { - "proposalId": 49, - "voter": "0x0c940cDC24fd0142CDcB96B1d7A2F0B45dB8297b", - "support": true, - "votingPower": 92866.00939047684, - "transactionHash": "0xc84d7efff5a119c8549dd859e67c33501168b9cdaa1aa638885dcec5abb7e35c", - "timestamp": 1637491947, - "blockNumber": 13657736 - }, - { - "proposalId": 49, - "voter": "0x7F18CA114C9D162B7078791582885F41caa4cAEd", - "support": true, - "votingPower": 75.28301262493734, - "transactionHash": "0x8523d95afb07328421b5083c1602d9377a914cb6094638ad122a7d0436d83edc", - "timestamp": 1637503047, - "blockNumber": 13658567 - }, - { - "proposalId": 49, - "voter": "0x990daFE818681F8E18d14E2Ae7abD30aE46BF1c2", - "support": true, - "votingPower": 99980, - "transactionHash": "0xa195e83a3f7b6fc67e891a157299b5ca821bf60ff913a7c659abf56a31b833ec", - "timestamp": 1637515701, - "blockNumber": 13659533 - }, - { - "proposalId": 49, - "voter": "0x510b2D8E30e8c79247C51E04D5Be8bF7262F9938", - "support": true, - "votingPower": 1570.1715691180093, - "transactionHash": "0xce51431935033d70a449d204ae7effffe75241b3514062c6fcca1c08bd45ef69", - "timestamp": 1637538779, - "blockNumber": 13661175 - }, - { - "proposalId": 49, - "voter": "0xdD709cAE362972cb3B92DCeaD77127f7b8D58202", - "support": true, - "votingPower": 189874.17135511906, - "transactionHash": "0xe7d1a0bbfe011ac06c070406516a5c64bc220f66c11f59a4d6b14f9d0496dcb2", - "timestamp": 1637563889, - "blockNumber": 13663010 - }, - { - "proposalId": 49, - "voter": "0xA0efD27acC781549D5b78e89E561AA0903932d56", - "support": true, - "votingPower": 8.002657782527367, - "transactionHash": "0x6911c300ed6751686e847f04e238f7852702f1ddcf5317769e6e301d91d5f537", - "timestamp": 1637565435, - "blockNumber": 13663119 - }, - { - "proposalId": 49, - "voter": "0xf63Ec662753B88c3634AE276ba4eA28D681478C8", - "support": true, - "votingPower": 108932.66312884308, - "transactionHash": "0xf6c7b4bd27d118c5e631968c7fffb2f3a2522bc2256828aae4dd917a7d10d47a", - "timestamp": 1637579197, - "blockNumber": 13664138 - }, - { - "proposalId": 49, - "voter": "0x0499c1DDd467d92f4105e8738F2C38806F488a63", - "support": true, - "votingPower": 40, - "transactionHash": "0xb0333d68e05a6b2bb70eeadaaeecb993b68667e158beea2b3c6ca692e4846c4b", - "timestamp": 1637581457, - "blockNumber": 13664309 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 50, - "voter": "0x5772ACba5A09bB032f90AC7b15fE11D40CCC4314", - "support": true, - "votingPower": 67.635, - "transactionHash": "0x697445a534b766463f3cee0ee43d1ded0b64bfd150e3d1cb9758fd92254c5da8", - "timestamp": 1638295456, - "blockNumber": 13716251 - }, - { - "proposalId": 50, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 103333.33743046239, - "transactionHash": "0x40e18059d9b476c7ce3fe143157cbf545a1749a572b5f9996a0752bd25170591", - "timestamp": 1638296777, - "blockNumber": 13716344 - }, - { - "proposalId": 50, - "voter": "0xb01474b50382fAe1A847E3A916ECDf07Ba57BcC7", - "support": true, - "votingPower": 2, - "transactionHash": "0x52ebce44a718b1ee3ee11a6fd11875c7b0c3f5d6763a63ffb1c508d6102e504b", - "timestamp": 1638305825, - "blockNumber": 13717035 - }, - { - "proposalId": 50, - "voter": "0x8d07D225a769b7Af3A923481E1FdF49180e6A265", - "support": true, - "votingPower": 50, - "transactionHash": "0xe15ceb2af394372791a68498f747f2b8b6edd8c52eaf9619fe282c77e2cb8917", - "timestamp": 1638314391, - "blockNumber": 13717670 - }, - { - "proposalId": 50, - "voter": "0x458cEec48586a85fCFEb4A179706656eE321730E", - "support": true, - "votingPower": 10000, - "transactionHash": "0x560c0e4a04d95433951846468581f08c976049a3b21fb6f79059b42071954efd", - "timestamp": 1638343953, - "blockNumber": 13719792 - }, - { - "proposalId": 50, - "voter": "0x070341aA5Ed571f0FB2c4a5641409B1A46b4961b", - "support": true, - "votingPower": 10000, - "transactionHash": "0xaace8570c273d9e4fc8b499d470297a5845d00df8cdb2ac13124ca762079a9ad", - "timestamp": 1638381606, - "blockNumber": 13722507 - }, - { - "proposalId": 50, - "voter": "0xA0efD27acC781549D5b78e89E561AA0903932d56", - "support": true, - "votingPower": 8.002657782527367, - "transactionHash": "0x0994a9ed04bd5138d874b9401aeea5c31b7e307f69d67ae06ca09c9c585be365", - "timestamp": 1638419677, - "blockNumber": 13725301 - }, - { - "proposalId": 50, - "voter": "0x1B13aD8A2447535dA5a8c699E345B98c1a8165cE", - "support": true, - "votingPower": 34502.3002, - "transactionHash": "0xb13578e7c7f14372135a2f22eefc92b883faaebd122e2254002f8c43fd1e1407", - "timestamp": 1638463715, - "blockNumber": 13728479 - }, - { - "proposalId": 50, - "voter": "0xdD709cAE362972cb3B92DCeaD77127f7b8D58202", - "support": true, - "votingPower": 191617.0777002456, - "transactionHash": "0x2d321fffe22d49b4bbeac9bd9730720ab63e9302ca6cba7b40d36087cea70a86", - "timestamp": 1638468600, - "blockNumber": 13728815 - }, - { - "proposalId": 50, - "voter": "0x683a4F9915D6216f73d6Df50151725036bD26C02", - "support": true, - "votingPower": 4089.7055072778217, - "transactionHash": "0xdb61bb2d67872280b84bfc0d6cc1f5939fd7d042d9fb3a0f4a3b0939d04815bf", - "timestamp": 1638474392, - "blockNumber": 13729239 - }, - { - "proposalId": 50, - "voter": "0xF569914d4E46cBD6A91fDE6c8850a079604A271b", - "support": true, - "votingPower": 1147.3608898102448, - "transactionHash": "0x103c5dd254072253432c79d5726ad60ef6cf92285ad8ab3555801e979e997dbc", - "timestamp": 1638476566, - "blockNumber": 13729398 - }, - { - "proposalId": 50, - "voter": "0x06c4865ab16c9C760622f19a313a2E637E2e66a2", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xdf983228a46fd31b82d58fc81baca389e5f2efb59d19f7305b365f619e580d59", - "timestamp": 1638502233, - "blockNumber": 13731253 - }, - { - "proposalId": 50, - "voter": "0x33f844352144a9DDd91542b0adCD8Ba0dD142e93", - "support": true, - "votingPower": 3.0890513244433095, - "transactionHash": "0xc44540ab0016299d6fb2b79c6f7c82f6ce07990643dae28ef48c7498651c37b0", - "timestamp": 1638536411, - "blockNumber": 13733744 - }, - { - "proposalId": 50, - "voter": "0x94A966de39E7B1f2af4310B5bF3DDfB9Fc10869F", - "support": true, - "votingPower": 1.8556662295260924, - "transactionHash": "0x4323eaff2eb2a871260c01f37f2cb65aca6f38f56fe7e97a513a9ff01daae908", - "timestamp": 1638536624, - "blockNumber": 13733758 - }, - { - "proposalId": 50, - "voter": "0xD98695E2FCE07e908c9F523387b1b1f8Eb9d41EC", - "support": true, - "votingPower": 21.74909377560795, - "transactionHash": "0xab9c4d392987406bae9e9e91a3914f58980687931d50e3b34e9cb349a5af2db3", - "timestamp": 1638537027, - "blockNumber": 13733783 - }, - { - "proposalId": 50, - "voter": "0xf63Ec662753B88c3634AE276ba4eA28D681478C8", - "support": true, - "votingPower": 108215.53774929166, - "transactionHash": "0x17a2294322e50345e7edcecf6a6035c86e0a0a7ee295b2c67a9e1e8326c97833", - "timestamp": 1638544479, - "blockNumber": 13734295 - }, - { - "proposalId": 50, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 2478.603935236072, - "transactionHash": "0x2084135f16328b999b5971e67ec08c047ff199aa4a558778a3c086d2035beec4", - "timestamp": 1638549164, - "blockNumber": 13734626 - }, - { - "proposalId": 50, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 2914.82246419248, - "transactionHash": "0x964ef859e4bfc246794dc66a6c08433a27fbb7c26358ee7c13ce63e3feefe158", - "timestamp": 1638549662, - "blockNumber": 13734661 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 51, - "voter": "0x329c54289Ff5D6B7b7daE13592C6B1EDA1543eD4", - "support": true, - "votingPower": 175.58162242225163, - "transactionHash": "0xfcb8c8d05f01d7bb360369b2b740551f7142cb3bc0c850145fa953722ee0704f", - "timestamp": 1638825460, - "blockNumber": 13754584 - }, - { - "proposalId": 51, - "voter": "0x8DC4310F20d59BA458b76A62141697717f93FA41", - "support": true, - "votingPower": 11.00386193, - "transactionHash": "0xbe8097a127d902d351bea86958b1d6294fe69b72a9f4718f2afb152c54cacc8e", - "timestamp": 1638885263, - "blockNumber": 13758899 - }, - { - "proposalId": 51, - "voter": "0xF569914d4E46cBD6A91fDE6c8850a079604A271b", - "support": true, - "votingPower": 1159.9033047888079, - "transactionHash": "0x7122e4d552f998b6d845591ff2446ca771228c7498dd7911a3f9c505c1e742c9", - "timestamp": 1638900199, - "blockNumber": 13759996 - }, - { - "proposalId": 51, - "voter": "0x9548Fc023f6000B4Bd1f8569aBc4222bDede65c7", - "support": true, - "votingPower": 181.33570777148887, - "transactionHash": "0xdafeac3ff03f24e037baaf1ccec49cde76fcce31d8cb2a3321e4be388a9557a1", - "timestamp": 1638918760, - "blockNumber": 13761376 - }, - { - "proposalId": 51, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 103333.33743046239, - "transactionHash": "0xaa3bb5cd0caa8cb150bae2d776c7cf80cc010e072fe15d453df34b82872b1f56", - "timestamp": 1638929526, - "blockNumber": 13762126 - }, - { - "proposalId": 51, - "voter": "0x8aeF943D5A12e77443C14C65412fbF7024274BF8", - "support": true, - "votingPower": 5.714162919988051, - "transactionHash": "0xdde1d5120c47373350d79e8cceb239eeb3243c69dbbb132a3a3fbc3d771dd999", - "timestamp": 1638933896, - "blockNumber": 13762442 - }, - { - "proposalId": 51, - "voter": "0xdd45542cCf17A16F5c515c20db7F7C7D8bB74Cc5", - "support": true, - "votingPower": 65498, - "transactionHash": "0x543ce340b89307747a92d804670b0fb6c3404efd178ab266062dd8fa93b1fab9", - "timestamp": 1638958743, - "blockNumber": 13764263 - }, - { - "proposalId": 51, - "voter": "0xc4a936B003BC223DF757B35Ee52f6Da66B062935", - "support": true, - "votingPower": 92529.61013077926, - "transactionHash": "0x2382efc52682536697ca152e5eb5bf979b486e671b6460ae6a71d6c19b24d3a2", - "timestamp": 1638959187, - "blockNumber": 13764292 - }, - { - "proposalId": 51, - "voter": "0x41cb7d39b1100B320E8CFe27db9b526c671e7A07", - "support": true, - "votingPower": 18874.196358090216, - "transactionHash": "0xed036fe77f4527401b9ee667fd30783cb408229a8d0c5feee83c413829285936", - "timestamp": 1638959330, - "blockNumber": 13764295 - }, - { - "proposalId": 51, - "voter": "0x8dCF48FB8BC7FDDA5A3106eDe9b7c69Fc2C7E751", - "support": true, - "votingPower": 39888.72296007392, - "transactionHash": "0x96fd2c7a4e9e06e0ac9619e383ea4936d0d7ee2d74b7c1bf06cd266a3b647c58", - "timestamp": 1638959403, - "blockNumber": 13764303 - }, - { - "proposalId": 51, - "voter": "0xBC1796B4d9D112De8CF29849EE3e732FFD27d4d8", - "support": true, - "votingPower": 50, - "transactionHash": "0x947306375986bcf084aad13c4712ced69f0c7d03a875ff6125bb23ab107ecb31", - "timestamp": 1638968542, - "blockNumber": 13764953 - }, - { - "proposalId": 51, - "voter": "0x990daFE818681F8E18d14E2Ae7abD30aE46BF1c2", - "support": true, - "votingPower": 99980, - "transactionHash": "0x589f2d75015314d39e909d70261e851266466f39caaea4004070c9f3b1a5216e", - "timestamp": 1638982006, - "blockNumber": 13765909 - }, - { - "proposalId": 51, - "voter": "0xaFDAbFb6227507fF6522b8a242168F6b5F353a6E", - "support": true, - "votingPower": 93442, - "transactionHash": "0x79e5ebf188527b18f94ee6ca9962f63df7c5fc5986738064826af215a6079528", - "timestamp": 1639038970, - "blockNumber": 13770050 - }, - { - "proposalId": 51, - "voter": "0xf63Ec662753B88c3634AE276ba4eA28D681478C8", - "support": true, - "votingPower": 107118.19949699262, - "transactionHash": "0x70b4ee5b608b42aaee76ce584bebcab1755dadbf0d126bf86421552ada86f4bc", - "timestamp": 1639063434, - "blockNumber": 13771786 - }, - { - "proposalId": 51, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 2478.603935236072, - "transactionHash": "0x77c7cbb1c0512981a03411d7a7f7ff9f1c39c19b459420c592dab26e3004a44d", - "timestamp": 1639072446, - "blockNumber": 13772478 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 52, - "voter": "0x50db4821A42c72Ef26c478D4764354e56FE1207C", - "support": true, - "votingPower": 1900, - "transactionHash": "0x906560a8d66f8026de643b8554b068b586a193d8744a4539b43a1d2283dbf12c", - "timestamp": 1639507864, - "blockNumber": 13805013 - }, - { - "proposalId": 52, - "voter": "0xF569914d4E46cBD6A91fDE6c8850a079604A271b", - "support": true, - "votingPower": 1159.9033047888079, - "transactionHash": "0x7987a0b1a961a20727af4d16e5863f0b37a1fba90c1eeebef32a03a115a17011", - "timestamp": 1639508945, - "blockNumber": 13805098 - }, - { - "proposalId": 52, - "voter": "0x8d07D225a769b7Af3A923481E1FdF49180e6A265", - "support": true, - "votingPower": 50, - "transactionHash": "0x3c715b6c8ac5bc0165440cda6625074b28ff7e7842ea172da294698ed3f40df3", - "timestamp": 1639530609, - "blockNumber": 13806734 - }, - { - "proposalId": 52, - "voter": "0xb63A09B561Dd5baD75E9a78D4B7E9508eD5712a0", - "support": true, - "votingPower": 1.52860575, - "transactionHash": "0x263fa53b230a82d878aab13d044b42bdd7a6309e8ddce95a17e570a620d4dec9", - "timestamp": 1639545791, - "blockNumber": 13807819 - }, - { - "proposalId": 52, - "voter": "0x10D6d2e343281D388291A3e02f3293AaEdA67178", - "support": true, - "votingPower": 16.418540655997646, - "transactionHash": "0x1ab165cf9d25828489ee3eeb9e3a09bcad9da364d3bafcb342554e830a8a4d1c", - "timestamp": 1639562525, - "blockNumber": 13809067 - }, - { - "proposalId": 52, - "voter": "0x990daFE818681F8E18d14E2Ae7abD30aE46BF1c2", - "support": true, - "votingPower": 99980, - "transactionHash": "0xfae81a31e320c58813c79a11c76b79bbd02d437b8e4c971fe6b9de6274c0f4d3", - "timestamp": 1639581504, - "blockNumber": 13810510 - }, - { - "proposalId": 52, - "voter": "0x62a43123FE71f9764f26554b3F5017627996816a", - "support": true, - "votingPower": 30.669202, - "transactionHash": "0x82407419aeba0e9be6ff7a0a1d31864e3a21226090f4dd8471c46396850ba67d", - "timestamp": 1639589008, - "blockNumber": 13811044 - }, - { - "proposalId": 52, - "voter": "0xAD549C7fcF1bd3E57BCa464D9Dce0A0D561599D1", - "support": true, - "votingPower": 42.57851665211979, - "transactionHash": "0x530568f6ade3b61088d0e576e92e96fdcc18cda4ee407b288490bd86888da9cc", - "timestamp": 1639590868, - "blockNumber": 13811202 - }, - { - "proposalId": 52, - "voter": "0x070341aA5Ed571f0FB2c4a5641409B1A46b4961b", - "support": true, - "votingPower": 10000, - "transactionHash": "0x38d9315a8a0ca19aba3e997eea80ed1d8774fb13f48109e15059a953ffcbd4a9", - "timestamp": 1639595755, - "blockNumber": 13811581 - }, - { - "proposalId": 52, - "voter": "0x7E2E80E8250844Dd4E558f13850380D5af8F0C61", - "support": true, - "votingPower": 33334.33, - "transactionHash": "0xa4dc5eeea1d82a59fdd863f81d5edef66377139f87b376c279916fa9a529d9a3", - "timestamp": 1639599405, - "blockNumber": 13811838 - }, - { - "proposalId": 52, - "voter": "0xE160B7E43Cd921aCe4407358022e4897414eC377", - "support": true, - "votingPower": 68.07865061006329, - "transactionHash": "0x21c7280fbc11e567f9cb297a9ccba9b1b4e33c39aaeb50543f1a78d40d8f4dc9", - "timestamp": 1639619910, - "blockNumber": 13813385 - }, - { - "proposalId": 52, - "voter": "0xA0efD27acC781549D5b78e89E561AA0903932d56", - "support": true, - "votingPower": 8.002657782527367, - "transactionHash": "0x5b4a7955a869981ddb1e8148182339f08285f65f3f23cf1bb2a7f04cf7d6e8ff", - "timestamp": 1639627782, - "blockNumber": 13813963 - }, - { - "proposalId": 52, - "voter": "0x80DC468671316E50D4E9023D3db38D3105c1C146", - "support": true, - "votingPower": 2487.8675774613353, - "transactionHash": "0x7e9426a71c03a2a84bacfc5af090a26465e7f3e6cdf4a4e7ca7bcf4888ee2f5f", - "timestamp": 1639663177, - "blockNumber": 13816589 - }, - { - "proposalId": 52, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 103333.33743046239, - "transactionHash": "0xee77403514ac444a14b0b9d54252f4fccd7f3c966264cbc1bea0bd3e7631302f", - "timestamp": 1639676884, - "blockNumber": 13817613 - }, - { - "proposalId": 52, - "voter": "0xf63Ec662753B88c3634AE276ba4eA28D681478C8", - "support": true, - "votingPower": 106689.37876281409, - "transactionHash": "0x00dcf1a0ca388121cab14e9f13fa5e79b03744c8730df68d228ef13ad59506ab", - "timestamp": 1639678375, - "blockNumber": 13817740 - }, - { - "proposalId": 52, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 2907.438570070352, - "transactionHash": "0xceed36d1a868d5fe90330ddf1678b795be767e75185ab384717ae824df0ea881", - "timestamp": 1639687596, - "blockNumber": 13818430 - }, - { - "proposalId": 52, - "voter": "0xdD709cAE362972cb3B92DCeaD77127f7b8D58202", - "support": true, - "votingPower": 191617.0777002456, - "transactionHash": "0xffd134acbbef156ad5a0d5edc0cd3b810a519bb9603a0e46f3a6db1f547c7cc4", - "timestamp": 1639722676, - "blockNumber": 13821032 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 53, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 103333.33743046239, - "transactionHash": "0x673b4d2fe3dc79fc9e2795e84fd066b35edd3b560270c89a4f8c090f3f29ae68", - "timestamp": 1640113029, - "blockNumber": 13850287 - }, - { - "proposalId": 53, - "voter": "0xA0efD27acC781549D5b78e89E561AA0903932d56", - "support": true, - "votingPower": 8.002657782527367, - "transactionHash": "0x7cdc86bfea1d231c1cab96b3818fbcb876cb9328063aabc1a7e3be1141a9c002", - "timestamp": 1640146350, - "blockNumber": 13852766 - }, - { - "proposalId": 53, - "voter": "0x458cEec48586a85fCFEb4A179706656eE321730E", - "support": true, - "votingPower": 10000, - "transactionHash": "0x08ead9474129d87e9eef698ebe4f8741faa695369460c6140b65beff126b7979", - "timestamp": 1640198302, - "blockNumber": 13856643 - }, - { - "proposalId": 53, - "voter": "0x0991D02f28a5283338e9591CBf7dE2eb25da46Cd", - "support": true, - "votingPower": 36.93011716237247, - "transactionHash": "0x70639408696335d455f7a2837967b46280f8ce88ba3491c50bcb0aad9c669556", - "timestamp": 1640249416, - "blockNumber": 13860434 - }, - { - "proposalId": 53, - "voter": "0xf63Ec662753B88c3634AE276ba4eA28D681478C8", - "support": true, - "votingPower": 104760.07592231999, - "transactionHash": "0x1c40475d7a89dc31ce946da88f155e9b13dab4c614985fb068cca8ae2cd0bc6a", - "timestamp": 1640273569, - "blockNumber": 13862262 - }, - { - "proposalId": 53, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 2907.438570070352, - "transactionHash": "0xd2af5b6d1c0a20bf6d994197ffbc563572a305478a1dc55570f6f19a1bc6dce4", - "timestamp": 1640273902, - "blockNumber": 13862284 - }, - { - "proposalId": 53, - "voter": "0x683a4F9915D6216f73d6Df50151725036bD26C02", - "support": true, - "votingPower": 4089.7055072778217, - "transactionHash": "0x68a677995bd978eb70f8f80c6e498b2169aa40e1340701c1d34875ee5ed3a33c", - "timestamp": 1640285061, - "blockNumber": 13863120 - }, - { - "proposalId": 53, - "voter": "0xaFDAbFb6227507fF6522b8a242168F6b5F353a6E", - "support": true, - "votingPower": 93442, - "transactionHash": "0x05c02bda6566695048e2be68347131f7d7f1b4f0fbb74aff4bd8246cdac4d669", - "timestamp": 1640293390, - "blockNumber": 13863734 - }, - { - "proposalId": 53, - "voter": "0xdd45542cCf17A16F5c515c20db7F7C7D8bB74Cc5", - "support": true, - "votingPower": 65498, - "transactionHash": "0x9efe5a65a64f8f5d15f90e2077492631d3b2de5a8579280c9dd0c9871e8cb261", - "timestamp": 1640293758, - "blockNumber": 13863762 - }, - { - "proposalId": 53, - "voter": "0x347120F6d2e3142cacEd44Ad008708D80a4F9420", - "support": true, - "votingPower": 10000, - "transactionHash": "0x5cd1df1e38ca07a189fc0d6b5e651a051379660e5b41a03261b985d011aa75ea", - "timestamp": 1640296348, - "blockNumber": 13863982 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 54, - "voter": "0x683a4F9915D6216f73d6Df50151725036bD26C02", - "support": true, - "votingPower": 5991.606910108588, - "transactionHash": "0x44409ca3aab9229864938928edbc2989e0849e9ed9719791fb13ff79e88e7f2e", - "timestamp": 1641522132, - "blockNumber": 13955625 - }, - { - "proposalId": 54, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 103333.8474304624, - "transactionHash": "0x2ace5f69feed1269a0ed59221a789bccbb0d2d5f1b42e9f8e311c863e2f6ee98", - "timestamp": 1641586735, - "blockNumber": 13960418 - }, - { - "proposalId": 54, - "voter": "0xF569914d4E46cBD6A91fDE6c8850a079604A271b", - "support": true, - "votingPower": 1165.8942892534856, - "transactionHash": "0x9cddb3ab0c267ac2ce8d51153be6f0f3d2d45bbb2ad4cea37e046b66920729df", - "timestamp": 1641601198, - "blockNumber": 13961507 - }, - { - "proposalId": 54, - "voter": "0x880C205096F62Bd9da0f1acf3c34794789BBaBe6", - "support": true, - "votingPower": 1599.9215214422807, - "transactionHash": "0x8151ca370edfaadaf16f23b2cb7c67b042a55522f77224073d0fb29c1ab9236d", - "timestamp": 1641631500, - "blockNumber": 13963789 - }, - { - "proposalId": 54, - "voter": "0x704De5696dF237c5B9ba0De9ba7e0C63dA8eA0Df", - "support": true, - "votingPower": 2856.2358489653357, - "transactionHash": "0x85baa757f9e509ab87a5fbd7c29e1b74609c35c40e3de7272ddb4e2a703f2015", - "timestamp": 1641695981, - "blockNumber": 13968675 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 55, - "voter": "0x683a4F9915D6216f73d6Df50151725036bD26C02", - "support": true, - "votingPower": 5991.606910108588, - "transactionHash": "0x169934f8123f394ef7421da2563d0898bff19e5ca1ecb6f544adbfac8c956d70", - "timestamp": 1642534319, - "blockNumber": 14031446 - }, - { - "proposalId": 55, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 103333.8474304624, - "transactionHash": "0x92b4a93c1d7e0535223db48c413a38dd788d2cbfacc77daa7b896becad0c383d", - "timestamp": 1642536556, - "blockNumber": 14031606 - }, - { - "proposalId": 55, - "voter": "0xf63Ec662753B88c3634AE276ba4eA28D681478C8", - "support": true, - "votingPower": 104849.01805403616, - "transactionHash": "0x4f8e65aef9492190c7165deea2e44c2abbace66b2c7a415905288f933d0e58d6", - "timestamp": 1642724034, - "blockNumber": 14045659 - }, - { - "proposalId": 55, - "voter": "0xaFDAbFb6227507fF6522b8a242168F6b5F353a6E", - "support": true, - "votingPower": 93442, - "transactionHash": "0x6863d0685c23dad63b9d083e445c5daf94b2b05f20a703770f96e5ff919a96aa", - "timestamp": 1642758922, - "blockNumber": 14048263 - }, - { - "proposalId": 55, - "voter": "0xdD709cAE362972cb3B92DCeaD77127f7b8D58202", - "support": true, - "votingPower": 134131.50628921448, - "transactionHash": "0x69f592a9fbf425e4c317c79e1cef3a6ea635b0836d11e1151e6daadf5c3c99ae", - "timestamp": 1642761510, - "blockNumber": 14048455 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 56, - "voter": "0x85362d4700d2f8d55D1d779b31B837C863aE3C14", - "support": true, - "votingPower": 0.64831315, - "transactionHash": "0xa9cdef6869b1ac7f1f9a03f94c5754fd0978e9a57cc60db1ee12979e00dd7061", - "timestamp": 1643005165, - "blockNumber": 14066667 - }, - { - "proposalId": 56, - "voter": "0xC3c2e1Cf099Bc6e1fA94ce358562BCbD5cc59FE5", - "support": true, - "votingPower": 97931.74256399987, - "transactionHash": "0x2081707b2ff77e4558e02a881014f4c751aa38423facba505f319b0c3ad94a78", - "timestamp": 1643005719, - "blockNumber": 14066713 - }, - { - "proposalId": 56, - "voter": "0x2D5f86cd294cA6c92189340EaEFf41fc63Dc66EF", - "support": true, - "votingPower": 2, - "transactionHash": "0x3bcdb7eaec056fbf5316be01e3b6c55e4d097171fafefa34aff1f2d1cfaa0ec8", - "timestamp": 1643005829, - "blockNumber": 14066716 - }, - { - "proposalId": 56, - "voter": "0x4177a5c0E2369F6830A4c3825aFc8fB3Dd47790D", - "support": true, - "votingPower": 0.141292, - "transactionHash": "0xbc46bb85127055e942cbdb9f69f2018551f26006e03ca0736844f69708eb232e", - "timestamp": 1643006047, - "blockNumber": 14066738 - }, - { - "proposalId": 56, - "voter": "0xe23DA0Be88c9B56c815C0525E5c1C687A99A8DeF", - "support": true, - "votingPower": 3.943, - "transactionHash": "0xa90800f8d12891a391691ff7a6fc1839437bfa8221698fd1f9972b416c569d26", - "timestamp": 1643006047, - "blockNumber": 14066738 - }, - { - "proposalId": 56, - "voter": "0xB3e2A7b1295d9EE03e1f300DfCCaab2ecd47ee53", - "support": true, - "votingPower": 0.33223695, - "transactionHash": "0x46bc94054a5889265ff2ec987fbc9672d69ec3b6b71e257715b6373c9e117642", - "timestamp": 1643006162, - "blockNumber": 14066749 - }, - { - "proposalId": 56, - "voter": "0x324Fbd9536bf3d77d36137310fd4abe5130DfEA9", - "support": true, - "votingPower": 1.2155630966283504, - "transactionHash": "0x64597f9783b3badf49828f8c4e4f86c8456f9d3f28da167a692f2cc1cb5462ae", - "timestamp": 1643006616, - "blockNumber": 14066771 - }, - { - "proposalId": 56, - "voter": "0x73B46a49E5f92480710B07Be849500B772b6A995", - "support": true, - "votingPower": 0.01511, - "transactionHash": "0x10d1a35f46e62f367ff41cfb214e991378bce2c2c027f87e64fcac99b658cead", - "timestamp": 1643006939, - "blockNumber": 14066794 - }, - { - "proposalId": 56, - "voter": "0x6bdf6D03328e04Cf4E5079eA347e0c413AfcdF63", - "support": true, - "votingPower": 2.554340990778367, - "transactionHash": "0x12ccd3e37d2d47c77da687b9d6fbe36537b15545135cd4705f85b23e81070726", - "timestamp": 1643007382, - "blockNumber": 14066824 - }, - { - "proposalId": 56, - "voter": "0xC76b85Cd226518DAF2027081dEfF2Eac4Cc91a00", - "support": true, - "votingPower": 0.05079961, - "transactionHash": "0xee643cd8af772d55e71d295f61ae2890d59d354f2a82ecf74255f2bfab8782df", - "timestamp": 1643007386, - "blockNumber": 14066825 - }, - { - "proposalId": 56, - "voter": "0x7E4724C60718A9F87CE51bcF8812Bf90D0b7B9Db", - "support": true, - "votingPower": 0.048, - "transactionHash": "0x02c45ec78ab6f389e05ac4d1629c270736943f6de0e93df31e9c1bac6a34a5c8", - "timestamp": 1643007419, - "blockNumber": 14066829 - }, - { - "proposalId": 56, - "voter": "0x677975399cbd8aa7BD17A4B87C04Ed07A85978d4", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x7d5b85c87e112e1d1bf61ff3a0ff3bd37a1ae7f97a35551e553765b7146cd081", - "timestamp": 1643007818, - "blockNumber": 14066863 - }, - { - "proposalId": 56, - "voter": "0x79D87C8BEf0f0620d773983a6bE6DdCa784ca8a9", - "support": true, - "votingPower": 0.07046, - "transactionHash": "0x6e922c18dbd73d29bb9cc7cc275a236ba203f1a8fc82998790b0f3aa6f396383", - "timestamp": 1643008594, - "blockNumber": 14066911 - }, - { - "proposalId": 56, - "voter": "0xBb46A8ee4315a37C56AEcE45783045722dFD72a7", - "support": true, - "votingPower": 2.32036797, - "transactionHash": "0x5c7420e363a395dabb31c0a9765eedc0924d90bf865947451d21a139c9dac893", - "timestamp": 1643009035, - "blockNumber": 14066950 - }, - { - "proposalId": 56, - "voter": "0xE88632728Ed377f556cB964e6F670f6017d497e4", - "support": true, - "votingPower": 1.083, - "transactionHash": "0xce0546479ded09bcc1e3dab36c0bc7bb81380277246db75f79bcb0964e007fb0", - "timestamp": 1643010891, - "blockNumber": 14067104 - }, - { - "proposalId": 56, - "voter": "0x2b29518e5ac3eda4CfC138FacD6f023bffc5d65a", - "support": true, - "votingPower": 1, - "transactionHash": "0x1462496468b849946084fc5b7282f3a7eb1e5dffdb72396e42be9a03d04c111a", - "timestamp": 1643011014, - "blockNumber": 14067111 - }, - { - "proposalId": 56, - "voter": "0xE2ed8448c47b00d505aBBdEE375C346B4c40d09b", - "support": true, - "votingPower": 1.7307229399216773, - "transactionHash": "0x78cc586202e73aa081cedd9b55c0e26363689c698d3c83daacdbe2f634366a1b", - "timestamp": 1643011902, - "blockNumber": 14067178 - }, - { - "proposalId": 56, - "voter": "0x47D6F96Ba098816389DB7c87CBF077dE7181b853", - "support": true, - "votingPower": 132.85882116159692, - "transactionHash": "0x8bf688e35a3b494755ab8ff60383aaacd28dd7c24c36815cc09c534caa8fffca", - "timestamp": 1643013324, - "blockNumber": 14067309 - }, - { - "proposalId": 56, - "voter": "0xCDcAb24F4CFAda35C28Fef824CC13bD797b0CA13", - "support": true, - "votingPower": 1, - "transactionHash": "0x9e59d8650990343282ec815b3c98225c9332330799152c11c737fd8e783756e3", - "timestamp": 1643013644, - "blockNumber": 14067334 - }, - { - "proposalId": 56, - "voter": "0xf24f0a86E0b8367Bf065471Bbdc89008f0087Fd3", - "support": true, - "votingPower": 1, - "transactionHash": "0xe3a337223ef90da9c0a0d6e6eb66e8ca6eff842641ceea0a495e69662164ae3e", - "timestamp": 1643014153, - "blockNumber": 14067374 - }, - { - "proposalId": 56, - "voter": "0x40CF6bb888ca670e20139b1caA0BA0996f65371c", - "support": true, - "votingPower": 9.9193606, - "transactionHash": "0x4a9bfdf06197e7c0306fea25212b3f1de6ab6e94118d67676e3c406ce279169b", - "timestamp": 1643014689, - "blockNumber": 14067403 - }, - { - "proposalId": 56, - "voter": "0xDe34393312C0C1e97e404d18A04580E9610e063C", - "support": true, - "votingPower": 0.27, - "transactionHash": "0x29e271e376e8be4008f814ee213900ec22ec0cb3b17d95352181798503845bb2", - "timestamp": 1643014933, - "blockNumber": 14067423 - }, - { - "proposalId": 56, - "voter": "0xAABd5fBcb8ad62D4FbBB02a2E9769a9F2EE7e883", - "support": true, - "votingPower": 13.89845761720608, - "transactionHash": "0x556d29fc15b7f092da5a2d75ee92f0668c2a8f36c6ff62ed2a17ac8c7fde0bd9", - "timestamp": 1643015642, - "blockNumber": 14067476 - }, - { - "proposalId": 56, - "voter": "0xCe9332f4d44e9Efccc64f88C9bD23E288c0ae5a2", - "support": true, - "votingPower": 7.0684525, - "transactionHash": "0x098bf726aa8f8c71d506a48c657cc20194ef30df9b7b6f960e147492657cdc8a", - "timestamp": 1643015788, - "blockNumber": 14067485 - }, - { - "proposalId": 56, - "voter": "0x39292E0157EF646cc9EA65dc48F8F91Cae009EAe", - "support": true, - "votingPower": 0.40794037333926486, - "transactionHash": "0xec58e2b961f058c825aa669f2d01467a3575eb5efd8e258fecfccaa61284a1b3", - "timestamp": 1643016995, - "blockNumber": 14067569 - }, - { - "proposalId": 56, - "voter": "0x49e37446d862D0E29934aAF51Cdb128f9c9cA4bA", - "support": true, - "votingPower": 2.52818603, - "transactionHash": "0x4ff031285d6a88514d8059c7593a6e3872809c70447eba7d940e00af48371fcc", - "timestamp": 1643017500, - "blockNumber": 14067606 - }, - { - "proposalId": 56, - "voter": "0x2c123fc5C27888571CD525e8ae9b0c5ff848386D", - "support": true, - "votingPower": 76.15192745263624, - "transactionHash": "0xf6ef4372179a14417b41d0e74536586d26e25ede6529a2b19d290b630be5c82d", - "timestamp": 1643018576, - "blockNumber": 14067674 - }, - { - "proposalId": 56, - "voter": "0x12EF2cD4231D5CF655a6CDD4Ac1524FFaa439c17", - "support": true, - "votingPower": 5.343436307828268, - "transactionHash": "0xd9bce8c186b3b727a8392e9e873c2d6c98bae6bd7532f4d1ae25dbbb99cc6be7", - "timestamp": 1643019024, - "blockNumber": 14067709 - }, - { - "proposalId": 56, - "voter": "0x9B5ea8C719e29A5bd0959FaF79C9E5c8206d0499", - "support": true, - "votingPower": 77959.30261224811, - "transactionHash": "0xbb851cbc0096e4275091554afb27f21fbc668acd9e9e1b00c23dccb77f336caf", - "timestamp": 1643022311, - "blockNumber": 14067969 - }, - { - "proposalId": 56, - "voter": "0xdD709cAE362972cb3B92DCeaD77127f7b8D58202", - "support": true, - "votingPower": 134131.50628921448, - "transactionHash": "0xc24be33d4dcd30946622b0eeb029fd3028421c0860a411391e051ebaa3b79856", - "timestamp": 1643022590, - "blockNumber": 14067990 - }, - { - "proposalId": 56, - "voter": "0x763c823E2bdd66538C85736B1784031Fa4d993F6", - "support": true, - "votingPower": 0.9730286988282122, - "transactionHash": "0xe331c6d474cbc9e4982c762f746a57ec593d8039284cfeb559d53a0268d14e3a", - "timestamp": 1643023057, - "blockNumber": 14068020 - }, - { - "proposalId": 56, - "voter": "0x0a9a893ed9e173b3298C8022E959eC6691673145", - "support": true, - "votingPower": 0.10903983455841093, - "transactionHash": "0xc6995bbb9935d83855a26698ce37da36581fef2290449823de984873bad5a36e", - "timestamp": 1643024211, - "blockNumber": 14068097 - }, - { - "proposalId": 56, - "voter": "0x41Ade9A5803B4676917411Dbb439D357965dBf46", - "support": true, - "votingPower": 3.3071994330000005, - "transactionHash": "0x8b45470249ca226717f31c49ed8e9e805eb538dc815ac09f019bb5025b7d2489", - "timestamp": 1643024817, - "blockNumber": 14068140 - }, - { - "proposalId": 56, - "voter": "0xeE91345e3C0f668f7Ed503B416DDB2d618E4E2c8", - "support": true, - "votingPower": 0.08, - "transactionHash": "0x979bafb9305145441da2a76a875f3cd03e022d336387b7526324176e583f0f3a", - "timestamp": 1643026055, - "blockNumber": 14068229 - }, - { - "proposalId": 56, - "voter": "0x5Fe53632cBfFc86A33fDA1a0d0905CA849f8360D", - "support": true, - "votingPower": 0.15, - "transactionHash": "0xc0d2bad21f14ea611ef60323bfd193c596be034e3b097d2f0034f00b767d3d88", - "timestamp": 1643026124, - "blockNumber": 14068235 - }, - { - "proposalId": 56, - "voter": "0x60D38778ADbBeeAc88f741B833cbB9877228EEa0", - "support": true, - "votingPower": 1, - "transactionHash": "0xbf078ef56d322832f75dff1865eea94fb12be8759608fd54d2eb4d964b036bab", - "timestamp": 1643026158, - "blockNumber": 14068240 - }, - { - "proposalId": 56, - "voter": "0x35001A8Bdb3a224D05F086094c12fd4c9009986D", - "support": true, - "votingPower": 0.15016415692771432, - "transactionHash": "0x13eadc1137ed4a6c4e8ba760c686df32e27b5c041849c80dfc8a1378df7a5d02", - "timestamp": 1643026790, - "blockNumber": 14068291 - }, - { - "proposalId": 56, - "voter": "0xa532F169ceE0e551D4Da641031Ac78fd85461035", - "support": true, - "votingPower": 1.6035596053309769, - "transactionHash": "0x0f8916c6d2537d84614afbbb3336f06eaf8abee29f099c6f9cb1ddb1d98aa49e", - "timestamp": 1643027279, - "blockNumber": 14068327 - }, - { - "proposalId": 56, - "voter": "0xA9be601f305B8f4325568f4C7A89bC94bE815A57", - "support": true, - "votingPower": 0.254505, - "transactionHash": "0x8a4026bad3ef81f7afe905bb7973ee47e421196c9d221a21c483c572af6981bd", - "timestamp": 1643027931, - "blockNumber": 14068377 - }, - { - "proposalId": 56, - "voter": "0xa8bd174385B14F880F8b7F06894Cc1bF265Db32e", - "support": true, - "votingPower": 1.0136416387826517, - "transactionHash": "0xb98214498a624d7111eb041483c72590aff6f0a2b8843c983470c1de90d0027a", - "timestamp": 1643028198, - "blockNumber": 14068404 - }, - { - "proposalId": 56, - "voter": "0x6794BDa8e07FAA690d6924B259992Ed354aeC9Bb", - "support": true, - "votingPower": 0.085, - "transactionHash": "0x41971fdc7ea7e8b51f1e1fc1fa981befc9dea9c29d720f1c2ad7166bb8f0dd8e", - "timestamp": 1643029421, - "blockNumber": 14068479 - }, - { - "proposalId": 56, - "voter": "0xD527f891afF7E277b9b8CCC2d9509b924F42F2e2", - "support": true, - "votingPower": 0.000003410148800769, - "transactionHash": "0xfe7204f2184874682f1ea6172487366e1832d18b753dfcdeae8276eb70ad7dee", - "timestamp": 1643029476, - "blockNumber": 14068484 - }, - { - "proposalId": 56, - "voter": "0x002d2715b179d0DB3e17cC28317A98F2F65E6884", - "support": true, - "votingPower": 5.5071603066896975, - "transactionHash": "0x52e6cd63b61bf5974c7617657a5f85ab25ad35a18c754df2552e64d3f2cd3a53", - "timestamp": 1643030965, - "blockNumber": 14068589 - }, - { - "proposalId": 56, - "voter": "0x8Cf77B13b17D9C0a53C54fC4Fa427253b87194Ed", - "support": true, - "votingPower": 6.7257, - "transactionHash": "0x0c1bee449844352a3c6dfbbfba2c52eae6e83f8e87f9a6fac995ff4971204d02", - "timestamp": 1643031672, - "blockNumber": 14068637 - }, - { - "proposalId": 56, - "voter": "0x66923CDE32AfF78890f9d3dF47F38396463fcdB5", - "support": true, - "votingPower": 1.0049999295985184, - "transactionHash": "0x2382f42e6a929824391da0a26455a459e3c8a61b75f41f6335d162dfb39ce9e1", - "timestamp": 1643031763, - "blockNumber": 14068644 - }, - { - "proposalId": 56, - "voter": "0x9B8CB1326B8AdF7C8354a42a0ed3c680Ecf31699", - "support": true, - "votingPower": 1.2745136, - "transactionHash": "0x812517d8554be5c91f7d6fe4f8734046c5166f9ad0873f05a9979cd0bdc07d4c", - "timestamp": 1643031874, - "blockNumber": 14068655 - }, - { - "proposalId": 56, - "voter": "0x808A023B72260170c95d831F589A1ae0DCa1e43E", - "support": true, - "votingPower": 100.1373013136453, - "transactionHash": "0x23bc1d44e68247bfe0cb4c43aebf324dcf204b0af65a12c89fca905187725584", - "timestamp": 1643032020, - "blockNumber": 14068666 - }, - { - "proposalId": 56, - "voter": "0x57A9758A076B4f2733F1dFC1488756228b9c6452", - "support": true, - "votingPower": 0.71, - "transactionHash": "0xf7714d1146659d01a3e3e70adf6173ac927bf7be1f251c04bb656b54cd07e4e5", - "timestamp": 1643033117, - "blockNumber": 14068744 - }, - { - "proposalId": 56, - "voter": "0x4a39beD3F97ac8e4774b7407dE7090E7A1050A69", - "support": true, - "votingPower": 0.5, - "transactionHash": "0xd28884c5c6ace7d02d3fe21ae1f5ed510e4505cd2a372d774759f995f32ec1ab", - "timestamp": 1643033948, - "blockNumber": 14068799 - }, - { - "proposalId": 56, - "voter": "0x2BA0270e7532a266fdc9796E2c5B2706f5379a9D", - "support": true, - "votingPower": 21.11143649130442, - "transactionHash": "0x829cb878826a8f80229707d62a2c17c0585cf0e3959655737f75f37c794653dd", - "timestamp": 1643035099, - "blockNumber": 14068884 - }, - { - "proposalId": 56, - "voter": "0xE29555e804e414E295E2A059Fc49d002EC18F268", - "support": true, - "votingPower": 5.83303891811753, - "transactionHash": "0x5e97bdab15dd7ec40dce97335d26a838c09fb2f2519369924f655667689e1dea", - "timestamp": 1643035361, - "blockNumber": 14068911 - }, - { - "proposalId": 56, - "voter": "0x59bdFB381CA2080D0D042903e776D3DCb548050A", - "support": true, - "votingPower": 5.367, - "transactionHash": "0x5095ee1bcef155876a7adb5002d96b17d60fbd1c28bcd21170a625f6f028580a", - "timestamp": 1643035657, - "blockNumber": 14068933 - }, - { - "proposalId": 56, - "voter": "0x99Ac39F74CC51f683667F08B4591A6bc3639e0C5", - "support": true, - "votingPower": 0.26, - "transactionHash": "0x246374c2c5babbbbfeb8282a31226ce39f1c28eb4dddf9eda5f2733e1af79cfd", - "timestamp": 1643036330, - "blockNumber": 14068983 - }, - { - "proposalId": 56, - "voter": "0xb0C4Cc1AA998DF91D2c27cE06641261707A8c9C3", - "support": true, - "votingPower": 0.43294046628074845, - "transactionHash": "0x1e5cd399f710fdc9ad4d500f6bd7363de4cfbe3edcc956e568deb60c35308786", - "timestamp": 1643037317, - "blockNumber": 14069067 - }, - { - "proposalId": 56, - "voter": "0xC54a79174cb43729e65a95E41028c9BAC7Ab4592", - "support": true, - "votingPower": 2.66899611, - "transactionHash": "0xcec8a8368e73a37de53607f732296190164c8aeaef19ff15441b2548b8ea32da", - "timestamp": 1643038874, - "blockNumber": 14069187 - }, - { - "proposalId": 56, - "voter": "0x2848b9f2D4FaEBaA4838c41071684c70688B455d", - "support": true, - "votingPower": 0.2623121498172932, - "transactionHash": "0x0bf981709ae327e227ab5551c63b1b74d29f8513b14803a98313206929a8e356", - "timestamp": 1643039923, - "blockNumber": 14069267 - }, - { - "proposalId": 56, - "voter": "0xDF14100B76a5b5fd46FbA22b7Ac124919CFfC92a", - "support": true, - "votingPower": 2, - "transactionHash": "0xf9bc044a217a16cd58945878708cf8d639c796ba7aaaf93e89b0ac324c3d6c0e", - "timestamp": 1643040671, - "blockNumber": 14069330 - }, - { - "proposalId": 56, - "voter": "0x5b0f43AA578f4A82530a1f4299c9e537b83d38Ea", - "support": true, - "votingPower": 1.4560578631648726, - "transactionHash": "0xa5b4815773334c5fd60337b3e52ed6aa734ffa1f6d5b9e5c8877a6cca509eafe", - "timestamp": 1643040914, - "blockNumber": 14069348 - }, - { - "proposalId": 56, - "voter": "0xD7efAE6e8e0556eBb5E77A499a34FCe6a4D8c722", - "support": true, - "votingPower": 11.05385714, - "transactionHash": "0x997be59419abfc219290605ba562a70e0c743945c247a57be6fc413ae4107151", - "timestamp": 1643042325, - "blockNumber": 14069456 - }, - { - "proposalId": 56, - "voter": "0x0871E6872f0CdEb32eb013648a76575B4d2dBa80", - "support": true, - "votingPower": 40.37708000321202, - "transactionHash": "0x64d28f3a3fb907c302dfa53a8571c4482e4e8f81c517359ef82bb2032e3bd99f", - "timestamp": 1643042808, - "blockNumber": 14069496 - }, - { - "proposalId": 56, - "voter": "0x60c4ae0EE854a20eA7796a9678090767679B30FC", - "support": true, - "votingPower": 0.5, - "transactionHash": "0x6f176de403232b7fa2669b7a8fa6f1cd842b31a999007af573abed96fe7df9b3", - "timestamp": 1643042811, - "blockNumber": 14069497 - }, - { - "proposalId": 56, - "voter": "0x985116F8C174fE13325D36685424d1796cC11f51", - "support": true, - "votingPower": 0.70041984, - "transactionHash": "0xd6ea43d07be94ef4142636adc9301b414014356da6bff737c128ad40bea2c740", - "timestamp": 1643047865, - "blockNumber": 14069878 - }, - { - "proposalId": 56, - "voter": "0xAC39E0f01AFA1662B284F938b8C18B36D7f6fDd0", - "support": true, - "votingPower": 200.0306392903071, - "transactionHash": "0x1522914b301a7ecb790d7e128485651403c0e565312d5be07661a650834419f7", - "timestamp": 1643050690, - "blockNumber": 14070067 - }, - { - "proposalId": 56, - "voter": "0xDA5b2cd0d0Bb26E79FB3210233dDABdB7de131C9", - "support": true, - "votingPower": 7.94730749252372, - "transactionHash": "0xe50b4346ab1b03aa1c75efa4ee9340f1d4a627a7cbede01580ca0c4f1f71ea06", - "timestamp": 1643052450, - "blockNumber": 14070197 - }, - { - "proposalId": 56, - "voter": "0x1A518A3E674A76324058822CA5D8688cFfC5033b", - "support": true, - "votingPower": 1, - "transactionHash": "0x5bc073700d0000cd8ecb16ebc3d0445e32560a750f59d122c63a0d641a550138", - "timestamp": 1643053175, - "blockNumber": 14070260 - }, - { - "proposalId": 56, - "voter": "0xE0c43CF26B0BACB408C6334468700179C61aeEbF", - "support": true, - "votingPower": 4.785681664519816, - "transactionHash": "0xb12a820b776aba1e4f9db21a328d7109d186aefb59da69dbb73b19e75ea22b55", - "timestamp": 1643053182, - "blockNumber": 14070261 - }, - { - "proposalId": 56, - "voter": "0xf2B9ec5724dC97362A53907c0b4cc0AA72369e63", - "support": true, - "votingPower": 2.8798875588466473, - "transactionHash": "0xe016a7ee05d62fdcbf2250579bfeac6c5a915ac40bceb272e0bc6c164d5f5b4f", - "timestamp": 1643064281, - "blockNumber": 14071103 - }, - { - "proposalId": 56, - "voter": "0x137c0F7d6b2558eDF5B8f69eEc0635Dd43FAd6af", - "support": true, - "votingPower": 1, - "transactionHash": "0xa570670006bdbe5273736dc3e5b22dbddcc9b2980de5d718db32f1fd19241fd2", - "timestamp": 1643065407, - "blockNumber": 14071176 - }, - { - "proposalId": 56, - "voter": "0x956F1CE3ff2ea59A8b41DF83Ce9F85ED59D73F92", - "support": true, - "votingPower": 31.01708468104502, - "transactionHash": "0x031dfec21b603a707fdaa4bc6dc2671b33503be8fb4f8939b7e2c5ccb13d52af", - "timestamp": 1643065937, - "blockNumber": 14071230 - }, - { - "proposalId": 56, - "voter": "0x49848C2eaba520DC3FE7f214f11A233B6d605ef4", - "support": true, - "votingPower": 2.000000413540754, - "transactionHash": "0x67ac331f249bb77e2c12e2d39af88d578e69c53aed8ce6fb707f633405e4d270", - "timestamp": 1643068038, - "blockNumber": 14071394 - }, - { - "proposalId": 56, - "voter": "0xaDe1DC00a43079C27b96c025A3ffA113A3f98eCd", - "support": true, - "votingPower": 0.08, - "transactionHash": "0x7df65682e7d38ea4708643cae475695da38f0bcd048756d55914c7dea2bccb10", - "timestamp": 1643068359, - "blockNumber": 14071419 - }, - { - "proposalId": 56, - "voter": "0x9ff84B91998dF96A6587DB8dDe8D4E47518107d6", - "support": true, - "votingPower": 0.9749803690852121, - "transactionHash": "0x2551fd722bc4991db5946e6f85e3bbbfd9c3fff78bf9cd445c270d3edae8e1dd", - "timestamp": 1643070064, - "blockNumber": 14071550 - }, - { - "proposalId": 56, - "voter": "0x6bac48867BC94Ff20B4C62b21d484a44D04d342C", - "support": true, - "votingPower": 21.00042283305675, - "transactionHash": "0xf5e985358494b507c404f103306e23b615d2e7f6aaeede331953156e2bca1388", - "timestamp": 1643074585, - "blockNumber": 14071861 - }, - { - "proposalId": 56, - "voter": "0x34B121b6358E595946dB584051c94aff4ccC6926", - "support": true, - "votingPower": 0.1061205, - "transactionHash": "0x007bd5e5c09e62dd363ad0f9f257dfff76048f56ea33992a60acca74fdb144bd", - "timestamp": 1643079425, - "blockNumber": 14072250 - }, - { - "proposalId": 56, - "voter": "0xFaa795feCe9F8c564e122F1Ee216c24fABA2373B", - "support": true, - "votingPower": 0.44436666366137967, - "transactionHash": "0x16d93ab84478bfc0ba3d4813e3f580f6c16e7ce7e1a7baf7a41c0d27ffbab5e3", - "timestamp": 1643079568, - "blockNumber": 14072261 - }, - { - "proposalId": 56, - "voter": "0x03B3fD15405225146cc87F51F35c194E3c8ae590", - "support": true, - "votingPower": 0.89693627, - "transactionHash": "0x31e055a387ce09ee598ca0190311cfa4a2b6847f4d4c3f3860d2b4b06d356e4f", - "timestamp": 1643084219, - "blockNumber": 14072574 - }, - { - "proposalId": 56, - "voter": "0xF815a566E42b0D8ddD5D77f91409A7d9CeB10B92", - "support": true, - "votingPower": 0.7914509033802228, - "transactionHash": "0x9c2c7ace8dcf807e085a49597103aeb397ff709cf1ff96b38d9754d6e5a7cb52", - "timestamp": 1643084268, - "blockNumber": 14072578 - }, - { - "proposalId": 56, - "voter": "0x24777CA8E50C9cEC03b89aA65EacdAC5279DB7a8", - "support": true, - "votingPower": 20.000000000000814, - "transactionHash": "0x2e7c1cd7a27a63fb6ec6740708ebc1fd2cde360dcc53cfc1b80df109b691038c", - "timestamp": 1643102238, - "blockNumber": 14073907 - }, - { - "proposalId": 56, - "voter": "0x7bf1b494Bc101F1Aa422064804069d205b73163b", - "support": true, - "votingPower": 2000.83, - "transactionHash": "0xf35643176e7f3c9740126eab903793ae8f697763e88eff6ba9d5b85eaababf1e", - "timestamp": 1643106956, - "blockNumber": 14074256 - }, - { - "proposalId": 56, - "voter": "0xf5Fe364D18F4a5A53BADCe9a046ba74cfC97f6Fb", - "support": true, - "votingPower": 6.9365, - "transactionHash": "0x14a25d4cfec4c4ebadb9da7e70e0cd5d598c84ef68df21e90bdc6de6d02ee52a", - "timestamp": 1643109902, - "blockNumber": 14074481 - }, - { - "proposalId": 56, - "voter": "0xbad1990c2967231BC9A4fA9562ea68e65dd2B25d", - "support": true, - "votingPower": 38000.29329751174, - "transactionHash": "0x9264f305acc6da1decb031cc7cd4069d3c489031abe0f78798bf3709b3ffee78", - "timestamp": 1643110081, - "blockNumber": 14074492 - }, - { - "proposalId": 56, - "voter": "0x1BEb1715899a355dfca4c763080E88F35286d025", - "support": true, - "votingPower": 17144.538545984647, - "transactionHash": "0x4103c0f496b7d0ef6d0909eb5f5b59dc71ac8119caab9a5e5773e78960061212", - "timestamp": 1643116763, - "blockNumber": 14074975 - }, - { - "proposalId": 56, - "voter": "0x546c1528319f9Fc621F5752D98690f28293a5c1D", - "support": true, - "votingPower": 0.03771147454825442, - "transactionHash": "0xaf0d7843dc6bde75b9d30669be14616fb394cf1cf5a2f575d58976471f579c81", - "timestamp": 1643118425, - "blockNumber": 14075102 - }, - { - "proposalId": 56, - "voter": "0xB4845049cF818DccD320eB715c1A475b0cFFa1C3", - "support": true, - "votingPower": 155, - "transactionHash": "0xef312dfd93e61a6b7d8fc5c0b1970e6b384746e2e37d96654400c9f348162c79", - "timestamp": 1643128714, - "blockNumber": 14075876 - }, - { - "proposalId": 56, - "voter": "0x7bB797E7AD02cF67396193c22486f57D7D0Be435", - "support": true, - "votingPower": 19.78, - "transactionHash": "0xb5267514734ab8146b9c937c0cba89b823e7a8db45ec5ce1237928f82fb445c6", - "timestamp": 1643137045, - "blockNumber": 14076477 - }, - { - "proposalId": 56, - "voter": "0xF569914d4E46cBD6A91fDE6c8850a079604A271b", - "support": true, - "votingPower": 1173.3064777316388, - "transactionHash": "0x7c50b263804bf98c70aa1c23bfcf5b28c3d25b0f5fe2f2c48e14cb7f1b2783da", - "timestamp": 1643148167, - "blockNumber": 14077357 - }, - { - "proposalId": 56, - "voter": "0xc0AFEF712a1341cA78dA145B2AFAd346E8C3574F", - "support": true, - "votingPower": 3.2275685014905333, - "transactionHash": "0xf1740563951f3b586900437bb7952f17eff725024bb718d0c68c13a5f613d9d5", - "timestamp": 1643151628, - "blockNumber": 14077629 - }, - { - "proposalId": 56, - "voter": "0x69A2ea8Beb212Bab958ee0b5B1B0E363C1E4938f", - "support": true, - "votingPower": 1.77702, - "transactionHash": "0x5cd0b6e5d9b56d47746bedccd2b9649a37d206c1f67204c3e51749502582b668", - "timestamp": 1643152318, - "blockNumber": 14077679 - }, - { - "proposalId": 56, - "voter": "0x2244c16bA4105763BF21F68BF2eD4dd135E66b4B", - "support": true, - "votingPower": 0.3399799178100596, - "transactionHash": "0x7881f81415133a1eee049864a4f9ecd535b38056c5fb5c0100b1afe89f211688", - "timestamp": 1643170723, - "blockNumber": 14079066 - }, - { - "proposalId": 56, - "voter": "0xCEd9F37D056588c141050A80914BcAcB4396c67F", - "support": true, - "votingPower": 0.58099631, - "transactionHash": "0xb40ed340e62649de056a910efd3cb46593b08d075192deb4935f0b4b0e149aec", - "timestamp": 1643187661, - "blockNumber": 14080298 - }, - { - "proposalId": 56, - "voter": "0x63729548cc3F51128B4693E8C9dCB1bFe786adF4", - "support": true, - "votingPower": 3.2050844563381498, - "transactionHash": "0xc7dde6290899ebbdef3e26c6ab2a8b3e7bcf7026c8a5d972ac058cb57ed657e3", - "timestamp": 1643188896, - "blockNumber": 14080396 - }, - { - "proposalId": 56, - "voter": "0x3BBF5B5e873543dc90bCaEe9BC98bd8CcD06e60f", - "support": true, - "votingPower": 9.373128803569248, - "transactionHash": "0xffca73845a9d284b16f8d4ff0c534ca6dbba445aac58d37c4ee4e705dc05587b", - "timestamp": 1643199528, - "blockNumber": 14081190 - }, - { - "proposalId": 56, - "voter": "0xe913a5FE3FAA5F0fa0D420C87337c7CB99A0C6e5", - "support": true, - "votingPower": 85.6648948109833, - "transactionHash": "0x8b631b45c04d034a64c7e5a4063f09375e4f205b87a0aaeffeff6fce0e49e610", - "timestamp": 1643213811, - "blockNumber": 14082288 - }, - { - "proposalId": 56, - "voter": "0x62a43123FE71f9764f26554b3F5017627996816a", - "support": true, - "votingPower": 30.669202, - "transactionHash": "0x107f5fc9e40a21ff42dc318a412aaa68e2ac442995d9dc03e1b1169e74b7df86", - "timestamp": 1643220677, - "blockNumber": 14082808 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 57, - "voter": "0x1BEb1715899a355dfca4c763080E88F35286d025", - "support": true, - "votingPower": 17144.538545984647, - "transactionHash": "0xd66d9d6fe4cfdaac22ebd0441286b0f2264c7f0ffc6ae3a0cb4e23d93dc1dc0f", - "timestamp": 1643193251, - "blockNumber": 14080720 - }, - { - "proposalId": 57, - "voter": "0xA519a7cE7B24333055781133B13532AEabfAC81b", - "support": true, - "votingPower": 16.730843355897935, - "transactionHash": "0x66a83204106b2ed6876038003b9768b7115814b1d659cd7d074b6b7220e27ffe", - "timestamp": 1643290948, - "blockNumber": 14088008 - }, - { - "proposalId": 57, - "voter": "0x10D6d2e343281D388291A3e02f3293AaEdA67178", - "support": true, - "votingPower": 16.418540655997646, - "transactionHash": "0x14ec88e207a49a0faa9848a7c6e590131bf88ca0028928ec23a0d2d2efe861b0", - "timestamp": 1643292246, - "blockNumber": 14088098 - }, - { - "proposalId": 57, - "voter": "0xF569914d4E46cBD6A91fDE6c8850a079604A271b", - "support": true, - "votingPower": 1173.3064777316388, - "transactionHash": "0x151b84b0c41c7793f09f7e692195190134769eb3fa4cb0ae9d39a88f92f2246a", - "timestamp": 1643294843, - "blockNumber": 14088273 - }, - { - "proposalId": 57, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 103333.8474304624, - "transactionHash": "0x9c6d3c31ddd6b875f2b95aafc5ad2fdf5d3fa823be6947b98cab12a3c137820a", - "timestamp": 1643313917, - "blockNumber": 14089763 - }, - { - "proposalId": 57, - "voter": "0x990daFE818681F8E18d14E2Ae7abD30aE46BF1c2", - "support": true, - "votingPower": 99980, - "transactionHash": "0xa5ab0b790281ffe8c148c59caaa3815e2fe01654f2d827175f8054ad88ff170e", - "timestamp": 1643319328, - "blockNumber": 14090177 - }, - { - "proposalId": 57, - "voter": "0x5B3bFfC0bcF8D4cAEC873fDcF719F60725767c98", - "support": true, - "votingPower": 253.91056509311352, - "transactionHash": "0xd5196e10977c0c1ed6023655f93967387645d214e9d7fdcb00c718c36baae20e", - "timestamp": 1643370398, - "blockNumber": 14093938 - }, - { - "proposalId": 57, - "voter": "0xc4a936B003BC223DF757B35Ee52f6Da66B062935", - "support": true, - "votingPower": 92529.61013077926, - "transactionHash": "0xc083203380b0f7ccbc98a845b4dd560a4fb59d9e623a56fb0a805b3ce331eb50", - "timestamp": 1643374658, - "blockNumber": 14094286 - }, - { - "proposalId": 57, - "voter": "0xaFDAbFb6227507fF6522b8a242168F6b5F353a6E", - "support": true, - "votingPower": 93442, - "transactionHash": "0xd388782b98d61afbbc02f9680e5eb524ee472ef6ec5c098ea23812e83f5d06a3", - "timestamp": 1643379422, - "blockNumber": 14094654 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 58, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 103333.8474304624, - "transactionHash": "0x2e57d8bc2faecfc5e74acaeaeafe41aa0d97d62d91259c271f2fd5eb0fcb5641", - "timestamp": 1645048473, - "blockNumber": 14219713 - }, - { - "proposalId": 58, - "voter": "0x9915c60340e773ba76cfB785D3f11C9511615529", - "support": true, - "votingPower": 26.28985288, - "transactionHash": "0xc2d882d591ac91df658a7938f3ee1ca7546e592f9593492f72c4a6c19475587f", - "timestamp": 1645076952, - "blockNumber": 14221852 - }, - { - "proposalId": 58, - "voter": "0xdD709cAE362972cb3B92DCeaD77127f7b8D58202", - "support": true, - "votingPower": 135384.57247022813, - "transactionHash": "0x4106529b35ed13103b6881fd0acfd37092882ca0173652a1ab0bd1ea1d39c7d1", - "timestamp": 1645177252, - "blockNumber": 14229319 - }, - { - "proposalId": 58, - "voter": "0xaFDAbFb6227507fF6522b8a242168F6b5F353a6E", - "support": true, - "votingPower": 93442, - "transactionHash": "0x3a228d113dc78029bf59794ccd2f5904cd5bee370d91388b02786d061fea26d0", - "timestamp": 1645215598, - "blockNumber": 14232186 - }, - { - "proposalId": 58, - "voter": "0xC3c2e1Cf099Bc6e1fA94ce358562BCbD5cc59FE5", - "support": true, - "votingPower": 91395.25481526507, - "transactionHash": "0xaf182509a75a7e66260e226e4b0a151a2bd60dbedc1323202afb0a3cee8056ce", - "timestamp": 1645235040, - "blockNumber": 14233632 - }, - { - "proposalId": 58, - "voter": "0x294388d7f62065784666F797ca6919a4B8CeF4ab", - "support": true, - "votingPower": 0.02, - "transactionHash": "0x73ade23dcb5c447313a3e16735897cf5b1330ec5f78fd746099803bf8df2a9ea", - "timestamp": 1645261213, - "blockNumber": 14235605 - }, - { - "proposalId": 58, - "voter": "0x80Ad7547D879AB0481Eda439BF0514e02B0Cc2b9", - "support": true, - "votingPower": 6.221, - "transactionHash": "0x1d2b9344782412ce0917aa6987cca19f29b1ab33e7f6d0f640d3fdb455608819", - "timestamp": 1645264290, - "blockNumber": 14235835 - }, - { - "proposalId": 58, - "voter": "0x221A62f9FBaaEFF206dDB93428BBabef62a7c227", - "support": true, - "votingPower": 1.5, - "transactionHash": "0x8f967e85726c859b7bc4f269c316867f4ce8491e5c839305ee7c482b85b5341c", - "timestamp": 1645264931, - "blockNumber": 14235891 - }, - { - "proposalId": 58, - "voter": "0x65465f38B350ae17EbEf4104bd1e69D406F9b16c", - "support": true, - "votingPower": 1.5, - "transactionHash": "0xae4033e7a7b8fa792858ed6891b6fd7c476f6c05b7618c64b00ec0824cbfcc48", - "timestamp": 1645265195, - "blockNumber": 14235908 - }, - { - "proposalId": 58, - "voter": "0x2a37c395dD97C5c6b913E616C62213303B24A1bb", - "support": true, - "votingPower": 1.5, - "transactionHash": "0x1fef58f25bab36968746ce619ce33f100fa7ba25f61669a1da3951348a85f027", - "timestamp": 1645266054, - "blockNumber": 14235967 - }, - { - "proposalId": 58, - "voter": "0x2BC80D8d395CCf796bA86d631F37570E337fa49F", - "support": true, - "votingPower": 1.5, - "transactionHash": "0xb716ee948ecaa937fe71e221a3532d3ddb64ec5b47a44ad68a918ebaed857957", - "timestamp": 1645266895, - "blockNumber": 14236025 - }, - { - "proposalId": 58, - "voter": "0xF7bA8418Cc2f8bB25CDA5337949999C3Ea8caaDA", - "support": true, - "votingPower": 1.5, - "transactionHash": "0xab8873090283972642f256cefa3f93f1c7772065831ba0de0b8f240f91f2085d", - "timestamp": 1645266950, - "blockNumber": 14236026 - }, - { - "proposalId": 58, - "voter": "0x1D5c7904eCE494e1c65B3a475f3010b10f3Aa8A8", - "support": true, - "votingPower": 1.5, - "transactionHash": "0x0bd5a10e03a1bb5f70ea752adf28da63cf904b3a20cb0f86c9743e3d30333047", - "timestamp": 1645266966, - "blockNumber": 14236028 - }, - { - "proposalId": 58, - "voter": "0x6E480169eDFdf0b032eeC24f11bbba4f8B077752", - "support": true, - "votingPower": 1.5, - "transactionHash": "0x586f7b64744a873d332093e30deaf9b5a166ade8282499a2fb0601e0b77f156a", - "timestamp": 1645266993, - "blockNumber": 14236032 - }, - { - "proposalId": 58, - "voter": "0x72A6A74F996A60427565a69e0C2A71a490b39180", - "support": true, - "votingPower": 1.5, - "transactionHash": "0x14278d50f7e4d7bd813bee3cca359c6c79723205ab359e34c4bc97bb1052ec18", - "timestamp": 1645267579, - "blockNumber": 14236075 - }, - { - "proposalId": 58, - "voter": "0x1ccb144B700EC726d37Db38c617E154De6d9c0d0", - "support": true, - "votingPower": 0.5113125673532308, - "transactionHash": "0x5670067f6a05fe4e87f08112b8b4fb09cacefc1ed06de71b30d5273fc1dd1098", - "timestamp": 1645272487, - "blockNumber": 14236414 - }, - { - "proposalId": 58, - "voter": "0xCb12102493E513eD5e32FBC36864569bAd2812Bd", - "support": true, - "votingPower": 0.0493136, - "transactionHash": "0xe3e2463b161925022f32cf99cbbc9d125d0a1ec000fe1b0b48f6ec64c332be6e", - "timestamp": 1645272527, - "blockNumber": 14236415 - }, - { - "proposalId": 58, - "voter": "0x546f4c0deE76636FAad36F8f2105AE80db60F64E", - "support": true, - "votingPower": 1.5, - "transactionHash": "0x085060f486b69c6201c94b2a63696db1a2dc52fd19339c1befcc977eaaf4ac74", - "timestamp": 1645272527, - "blockNumber": 14236415 - }, - { - "proposalId": 58, - "voter": "0xD3655dBabA39e118C3998d11114b8f7268beF98e", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x96b2240685506be9bd68e6b7766840677342e79d27b4d4df64b382c86324060a", - "timestamp": 1645272543, - "blockNumber": 14236418 - }, - { - "proposalId": 58, - "voter": "0x3b59e42d9F33906fF58813f9bb8be58b185d22F2", - "support": true, - "votingPower": 0.05, - "transactionHash": "0x8ab55641903ba3b838ff0e943b7723bb7ab3d683a1782db12b3f30c82992237f", - "timestamp": 1645272607, - "blockNumber": 14236425 - }, - { - "proposalId": 58, - "voter": "0x25720637fee3f71242C4c705218D658f0718B618", - "support": true, - "votingPower": 1.5, - "transactionHash": "0x9e576b84cb917bba4e7a3fce60119622d63a4f1a2fa681ecf3194c34b4b12836", - "timestamp": 1645272723, - "blockNumber": 14236430 - }, - { - "proposalId": 58, - "voter": "0xbCe86F456f1ba249DD1BE339db8378C109a9285F", - "support": true, - "votingPower": 1.5, - "transactionHash": "0xdb3546e45c658ce55ccafc48bf768be8849ef53ea067ff564cda95c0e4cc2cbe", - "timestamp": 1645272760, - "blockNumber": 14236433 - }, - { - "proposalId": 58, - "voter": "0x1dEC13BE619fCB7d3d849f8a34434531d7842ae1", - "support": true, - "votingPower": 1.5, - "transactionHash": "0xb5de651dd4a6f385e938f60df1eeacfd57bcb8bb4ef553cf0cd126824a0ed7fd", - "timestamp": 1645272908, - "blockNumber": 14236445 - }, - { - "proposalId": 58, - "voter": "0x543eDaE87393b851217AE49Fa4eF84154F18143a", - "support": true, - "votingPower": 1.5, - "transactionHash": "0x24e1deb8b6a14af75adb54c59415f032d4d5f33eae2fde841dc67ff0bd2ed9a2", - "timestamp": 1645272925, - "blockNumber": 14236448 - }, - { - "proposalId": 58, - "voter": "0x72146d437b937918014F2C5106F9E9A890f597aC", - "support": true, - "votingPower": 1.5, - "transactionHash": "0xfad087d10e597e325a8569208160866d302c0a6a8d34a3d7e28c63dda74eb0b0", - "timestamp": 1645273242, - "blockNumber": 14236472 - }, - { - "proposalId": 58, - "voter": "0xf36F3976f288b2B4903aca8c177efC019b81D88B", - "support": false, - "votingPower": 63100.861, - "transactionHash": "0xbc19bb83405925ccbfa2e44452ac9d1594ec806b83353b2d77f03744a5277b90", - "timestamp": 1645280572, - "blockNumber": 14236988 - }, - { - "proposalId": 58, - "voter": "0xF569914d4E46cBD6A91fDE6c8850a079604A271b", - "support": false, - "votingPower": 1210.2047246533593, - "transactionHash": "0xc10758a367be94698d2940d57372366608d450e184026ceb2532cfd8c20ec172", - "timestamp": 1645285215, - "blockNumber": 14237310 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 59, - "voter": "0xdD709cAE362972cb3B92DCeaD77127f7b8D58202", - "support": true, - "votingPower": 135384.57247022813, - "transactionHash": "0x07fc767a995b086bb6932deea18b08175b60bebd7e8ba38e5c3b0651da7e17df", - "timestamp": 1645177252, - "blockNumber": 14229319 - }, - { - "proposalId": 59, - "voter": "0xaFDAbFb6227507fF6522b8a242168F6b5F353a6E", - "support": true, - "votingPower": 93442, - "transactionHash": "0xe80e41aa91421a511ba5ab9791d5d5798f2aeb782edc81cc1a5798e87617555d", - "timestamp": 1645215673, - "blockNumber": 14232194 - }, - { - "proposalId": 59, - "voter": "0xC3c2e1Cf099Bc6e1fA94ce358562BCbD5cc59FE5", - "support": true, - "votingPower": 91395.25481526507, - "transactionHash": "0x127e99ab590511d23b767c44f29eee7ce0f24807a04c38a9048bf39489252446", - "timestamp": 1645235130, - "blockNumber": 14233638 - }, - { - "proposalId": 59, - "voter": "0x221A62f9FBaaEFF206dDB93428BBabef62a7c227", - "support": true, - "votingPower": 1.5, - "transactionHash": "0x90bf6c1e0d9a1de2de99eca78c0c31d2aa607735584e1d008c1d2eeda5a62b3f", - "timestamp": 1645265087, - "blockNumber": 14235895 - }, - { - "proposalId": 59, - "voter": "0x65465f38B350ae17EbEf4104bd1e69D406F9b16c", - "support": true, - "votingPower": 1.5, - "transactionHash": "0x621f7c59e431c852c12ac24c06696fb4d5f880171cb5551ac788d731d0ce6cce", - "timestamp": 1645265393, - "blockNumber": 14235922 - }, - { - "proposalId": 59, - "voter": "0x546f4c0deE76636FAad36F8f2105AE80db60F64E", - "support": true, - "votingPower": 1.5, - "transactionHash": "0xef2d94a3270d121bdd306ed18e01a3d223e8562611ade623580d36381539a645", - "timestamp": 1645266084, - "blockNumber": 14235970 - }, - { - "proposalId": 59, - "voter": "0x543eDaE87393b851217AE49Fa4eF84154F18143a", - "support": true, - "votingPower": 1.5, - "transactionHash": "0xe05618d0ed4655db1d353aff512389b271c72e3ffa5abce5cbbc4616a29d2ecc", - "timestamp": 1645266153, - "blockNumber": 14235972 - }, - { - "proposalId": 59, - "voter": "0x2a37c395dD97C5c6b913E616C62213303B24A1bb", - "support": true, - "votingPower": 1.5, - "transactionHash": "0xe3037130b4e816a357c80f1c525c57812041662b4196c2e603faf8c52bbe0cc4", - "timestamp": 1645266161, - "blockNumber": 14235974 - }, - { - "proposalId": 59, - "voter": "0x6E480169eDFdf0b032eeC24f11bbba4f8B077752", - "support": true, - "votingPower": 1.5, - "transactionHash": "0x7eea0e34bf6b66849db6734feb2aa268f08881368f15da401b83c7133cd44e61", - "timestamp": 1645266366, - "blockNumber": 14235992 - }, - { - "proposalId": 59, - "voter": "0x2BC80D8d395CCf796bA86d631F37570E337fa49F", - "support": true, - "votingPower": 1.5, - "transactionHash": "0x806578f02c408d188efe6093a212f82a7d69377695fa5249f670296c0c9a301a", - "timestamp": 1645266987, - "blockNumber": 14236029 - }, - { - "proposalId": 59, - "voter": "0x1D5c7904eCE494e1c65B3a475f3010b10f3Aa8A8", - "support": true, - "votingPower": 1.5, - "transactionHash": "0xc54e61781f2d1d9b785fb9e98a584205056f76c2674ff1b2accaa86b1aba15a2", - "timestamp": 1645267015, - "blockNumber": 14236035 - }, - { - "proposalId": 59, - "voter": "0x80Ad7547D879AB0481Eda439BF0514e02B0Cc2b9", - "support": true, - "votingPower": 6.221, - "transactionHash": "0x2d3c83a23c2c8ed733939ddeb0c6084b8acd5d109400617aa40ba9eb6bb3d3f2", - "timestamp": 1645267597, - "blockNumber": 14236078 - }, - { - "proposalId": 59, - "voter": "0xF7bA8418Cc2f8bB25CDA5337949999C3Ea8caaDA", - "support": true, - "votingPower": 1.5, - "transactionHash": "0xeaa01b32a12d4b695014a224cf73ba33689d93684792683d71b63b00bda742b5", - "timestamp": 1645268370, - "blockNumber": 14236129 - }, - { - "proposalId": 59, - "voter": "0x25720637fee3f71242C4c705218D658f0718B618", - "support": true, - "votingPower": 1.5, - "transactionHash": "0xd82a4ef39a753b998e3b4561d6526b7d8adc287c89b2be1801e3ea21293f67b5", - "timestamp": 1645272667, - "blockNumber": 14236428 - }, - { - "proposalId": 59, - "voter": "0x72A6A74F996A60427565a69e0C2A71a490b39180", - "support": true, - "votingPower": 1.5, - "transactionHash": "0x250731d21cfb904d28e7d6478459ea5cf0d67e0cd20743b5e27c2e84c063ab5c", - "timestamp": 1645272877, - "blockNumber": 14236443 - }, - { - "proposalId": 59, - "voter": "0x1dEC13BE619fCB7d3d849f8a34434531d7842ae1", - "support": true, - "votingPower": 1.5, - "transactionHash": "0xece6606b7c015108bda0a3227fbc7717d6b09effc5e7d86e7171d53d2ead5778", - "timestamp": 1645273022, - "blockNumber": 14236455 - }, - { - "proposalId": 59, - "voter": "0x72146d437b937918014F2C5106F9E9A890f597aC", - "support": true, - "votingPower": 1.5, - "transactionHash": "0x43b1ad3670a3e91ac526e80472b4cc9f1852f986fc6137e2c51a05730691dfa8", - "timestamp": 1645273028, - "blockNumber": 14236456 - }, - { - "proposalId": 59, - "voter": "0xbCe86F456f1ba249DD1BE339db8378C109a9285F", - "support": true, - "votingPower": 1.5, - "transactionHash": "0xa64e80f6e229539c46e87e8bffa6a78ec314323fb026b87ae6dda3fc1117e548", - "timestamp": 1645273167, - "blockNumber": 14236465 - }, - { - "proposalId": 59, - "voter": "0xF569914d4E46cBD6A91fDE6c8850a079604A271b", - "support": true, - "votingPower": 1210.2047246533593, - "transactionHash": "0x34efb49ad45a1767f0bcd6478a859cfc8429b38c4c70313259dc1c89ddec135e", - "timestamp": 1645282051, - "blockNumber": 14237089 - }, - { - "proposalId": 59, - "voter": "0xA0efD27acC781549D5b78e89E561AA0903932d56", - "support": true, - "votingPower": 8.002657782527367, - "transactionHash": "0x38849a5d19a6e0f0e4a8e5003e3e02b7f3622132a46e0ae0ae035ad859c0cb6d", - "timestamp": 1645311517, - "blockNumber": 14239293 - }, - { - "proposalId": 59, - "voter": "0xdd45542cCf17A16F5c515c20db7F7C7D8bB74Cc5", - "support": true, - "votingPower": 55500, - "transactionHash": "0xa63fb316c974e3470f6da474b910d4a2c1f49cf233ce40227a40c686fae7bab0", - "timestamp": 1645345671, - "blockNumber": 14241846 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 60, - "voter": "0x3A25e701517e713e99818a169A39339Fc3eAe9d2", - "support": true, - "votingPower": 1100.000004, - "transactionHash": "0xea785cbdd40777221e3d50b4d7a007e5b9c7ccad06ed8a1c2deb2c69749be5c5", - "timestamp": 1645214424, - "blockNumber": 14232099 - }, - { - "proposalId": 60, - "voter": "0xaFDAbFb6227507fF6522b8a242168F6b5F353a6E", - "support": true, - "votingPower": 93442, - "transactionHash": "0x8f07686ba70648e57832f715b5b7bec66925bae72c42a81e5fd64492e9681bfc", - "timestamp": 1645215689, - "blockNumber": 14232196 - }, - { - "proposalId": 60, - "voter": "0xC3c2e1Cf099Bc6e1fA94ce358562BCbD5cc59FE5", - "support": true, - "votingPower": 91395.25481526507, - "transactionHash": "0x9008ffdfa91563fbccd4fbefba631892b1f67ad1975df9500dbcd5aa3e16d9f7", - "timestamp": 1645235173, - "blockNumber": 14233640 - }, - { - "proposalId": 60, - "voter": "0x6a61857928149cb7cd2ad29251902787BCf9C3b0", - "support": true, - "votingPower": 0.04, - "transactionHash": "0x860873e9daa96c4137bb28c05f229ca8417bbc30e0b4ad6c94548ab216171429", - "timestamp": 1645263654, - "blockNumber": 14235791 - }, - { - "proposalId": 60, - "voter": "0x0f8acA6bb8D86BBA87892EfAb1E19491c97387B7", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x05c2faaa74ed616fdf4ec46e6e4556a24b4a8917e61e36219a46876c8071488b", - "timestamp": 1645263736, - "blockNumber": 14235797 - }, - { - "proposalId": 60, - "voter": "0x80Ad7547D879AB0481Eda439BF0514e02B0Cc2b9", - "support": true, - "votingPower": 6.221, - "transactionHash": "0xe739253b4df5aebe21809aa7b573b1e269b74181e67c7bebe5bf24070316d02f", - "timestamp": 1645264485, - "blockNumber": 14235854 - }, - { - "proposalId": 60, - "voter": "0x1D5c7904eCE494e1c65B3a475f3010b10f3Aa8A8", - "support": true, - "votingPower": 1.5, - "transactionHash": "0x4c237bb06315e36581095f09c0782712ccc52df99f65fae041251a327228ae3c", - "timestamp": 1645264893, - "blockNumber": 14235890 - }, - { - "proposalId": 60, - "voter": "0x6E480169eDFdf0b032eeC24f11bbba4f8B077752", - "support": true, - "votingPower": 1.5, - "transactionHash": "0xbd68234f5439ec1165f543d2bebcf726cb93a3786b97445683c77fa35af8c6a4", - "timestamp": 1645266084, - "blockNumber": 14235970 - }, - { - "proposalId": 60, - "voter": "0x546f4c0deE76636FAad36F8f2105AE80db60F64E", - "support": true, - "votingPower": 1.5, - "transactionHash": "0x14856f96f99c688e875736f38ea1c4f661269616aec14d19856ee396ba1b20ac", - "timestamp": 1645266161, - "blockNumber": 14235974 - }, - { - "proposalId": 60, - "voter": "0x543eDaE87393b851217AE49Fa4eF84154F18143a", - "support": true, - "votingPower": 1.5, - "transactionHash": "0xa1f017f69dfde888431eb70d14cceb490812a25a0b8d03e437a068b352f0aaee", - "timestamp": 1645266209, - "blockNumber": 14235975 - }, - { - "proposalId": 60, - "voter": "0xF7bA8418Cc2f8bB25CDA5337949999C3Ea8caaDA", - "support": true, - "votingPower": 1.5, - "transactionHash": "0xd3bb161a0770f3b081a19e18e7b025e97917f573987f0b5d22ba73077e1de701", - "timestamp": 1645266275, - "blockNumber": 14235982 - }, - { - "proposalId": 60, - "voter": "0x65465f38B350ae17EbEf4104bd1e69D406F9b16c", - "support": true, - "votingPower": 1.5, - "transactionHash": "0xd8202d383f91b1f432d0cedd0a3490d837dc445b0140777fc4c357a27f5783a7", - "timestamp": 1645266950, - "blockNumber": 14236026 - }, - { - "proposalId": 60, - "voter": "0x2BC80D8d395CCf796bA86d631F37570E337fa49F", - "support": true, - "votingPower": 1.5, - "transactionHash": "0xb33783919057d29efbc6c9f796dc380153db5c1353235587ec2a412adb03c183", - "timestamp": 1645267766, - "blockNumber": 14236086 - }, - { - "proposalId": 60, - "voter": "0x221A62f9FBaaEFF206dDB93428BBabef62a7c227", - "support": true, - "votingPower": 1.5, - "transactionHash": "0x551fcade8d6e0e466be84d6dcc7a6d5eb1c36ca93b3979efbccb29ca1dffcee3", - "timestamp": 1645268282, - "blockNumber": 14236123 - }, - { - "proposalId": 60, - "voter": "0x2a37c395dD97C5c6b913E616C62213303B24A1bb", - "support": true, - "votingPower": 1.5, - "transactionHash": "0xfa4b516a158233bda2fd14009a08d04f29a9acf703fd73b6b3e8a80ee1fd096e", - "timestamp": 1645268551, - "blockNumber": 14236143 - }, - { - "proposalId": 60, - "voter": "0x25720637fee3f71242C4c705218D658f0718B618", - "support": true, - "votingPower": 1.5, - "transactionHash": "0x7dcc9faabda86d0342270a3d85ec9521a474c82741273391c3f765379812b1fe", - "timestamp": 1645272558, - "blockNumber": 14236420 - }, - { - "proposalId": 60, - "voter": "0x72A6A74F996A60427565a69e0C2A71a490b39180", - "support": true, - "votingPower": 1.5, - "transactionHash": "0x4012452240d451a218237fda763ad0ca6555793ce81496e80ca6a476cf47f1a1", - "timestamp": 1645272607, - "blockNumber": 14236425 - }, - { - "proposalId": 60, - "voter": "0x1dEC13BE619fCB7d3d849f8a34434531d7842ae1", - "support": true, - "votingPower": 1.5, - "transactionHash": "0x66db4ad73ab5c68b2a30fd29aee56e4affbbf778d769877d06bed1c5d1ec4311", - "timestamp": 1645272641, - "blockNumber": 14236426 - }, - { - "proposalId": 60, - "voter": "0xbCe86F456f1ba249DD1BE339db8378C109a9285F", - "support": true, - "votingPower": 1.5, - "transactionHash": "0xd95889c76282e0d9bd30a25e6f450331bc956514782a6dc465f85a62cc48f272", - "timestamp": 1645272877, - "blockNumber": 14236443 - }, - { - "proposalId": 60, - "voter": "0x72146d437b937918014F2C5106F9E9A890f597aC", - "support": true, - "votingPower": 1.5, - "transactionHash": "0xa1df150b33adda79bc220f97870166e35796a4bdb8e191d4a150e6b43aeb7797", - "timestamp": 1645272925, - "blockNumber": 14236448 - }, - { - "proposalId": 60, - "voter": "0xF60F6D5aCfaae09e666F0eFAc21b29290e4A9109", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xe205d6664f48f08e54a228b1056bb68eebf4589b7d14acff73ec3b78581c3daf", - "timestamp": 1645273350, - "blockNumber": 14236480 - }, - { - "proposalId": 60, - "voter": "0xb035e70084EC95f323A441600E37D766302094ca", - "support": true, - "votingPower": 0, - "transactionHash": "0xa712e14fff3362c43a67100a8269efe2ab79ca9269ea15443211212c919dd000", - "timestamp": 1645274169, - "blockNumber": 14236537 - }, - { - "proposalId": 60, - "voter": "0x294388d7f62065784666F797ca6919a4B8CeF4ab", - "support": true, - "votingPower": 0.02, - "transactionHash": "0x6f47b9a63aaadfba4f8f56a558edc447ed3f289488d04ab90f6bc7793a385965", - "timestamp": 1645277983, - "blockNumber": 14236801 - }, - { - "proposalId": 60, - "voter": "0x39F1366d7b098e5898196BE0B627C99EEf5a491e", - "support": true, - "votingPower": 0, - "transactionHash": "0x61603d118348447de5a706775c102516be1ba6d6b3864bad40131b90444acb6c", - "timestamp": 1645278373, - "blockNumber": 14236832 - }, - { - "proposalId": 60, - "voter": "0xb4c595D0C896a2F0De1B4d1bBE79C8c018696318", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xb54bc02e5101236995d0931d1c13fe386076824ef2f2129715a89e6ebe6d8d8a", - "timestamp": 1645278373, - "blockNumber": 14236832 - }, - { - "proposalId": 60, - "voter": "0xeEAA2dA749EcC8B2154b3Da7f59C65274e58e8d0", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xf12ecba4d8a713058c4397d6a5e3be90b1e9993d9edcf9eee9396b3fd8bcc451", - "timestamp": 1645278373, - "blockNumber": 14236832 - }, - { - "proposalId": 60, - "voter": "0x45eD9BA34166D3Ff6834F0A2709D034eB9320450", - "support": true, - "votingPower": 0.05, - "transactionHash": "0x27c70260357d661cebb7d91e7d0a4ad2b1b2ba2d5621cec5d7ade84d3711cea8", - "timestamp": 1645278373, - "blockNumber": 14236832 - }, - { - "proposalId": 60, - "voter": "0xF6887fd5cb87F7F31Df909a226950D9E722e39dF", - "support": true, - "votingPower": 0.3, - "transactionHash": "0xdfd05e625d189565428a0410c70e30f7c6b658920a19896ea023b2ebb43b436b", - "timestamp": 1645278373, - "blockNumber": 14236832 - }, - { - "proposalId": 60, - "voter": "0xB02cE4585Eee3a0e0E123a0Db8c663e41Bca063F", - "support": true, - "votingPower": 0.02, - "transactionHash": "0x2a731e4d2a32151d30da6a74f5fec82a00a93d682843d2b08dcfd4952aa884e7", - "timestamp": 1645278373, - "blockNumber": 14236832 - }, - { - "proposalId": 60, - "voter": "0xF2b0240Ae0D9366A1d10001Bd14aCEad5ffAdD83", - "support": true, - "votingPower": 0.02, - "transactionHash": "0xec266f0c254a5d571556c49f0d995ffa486e6385564a07e21fa005087bcb1edf", - "timestamp": 1645278373, - "blockNumber": 14236832 - }, - { - "proposalId": 60, - "voter": "0xfB0F55f9fd7f8F2035162DDd8608B9446478D7d8", - "support": true, - "votingPower": 0.02, - "transactionHash": "0x060d7b128ec8423e993869ff67fcf6c22c74b48a1d651c5c06982496057f5520", - "timestamp": 1645278373, - "blockNumber": 14236832 - }, - { - "proposalId": 60, - "voter": "0x09D46915731c599215777a4AFaC838162782C6e4", - "support": true, - "votingPower": 0.02, - "transactionHash": "0x29ec1567c20ceb85d5a81d0e1fa5347f0cd6e0d37f8422775901964f78a3ab5b", - "timestamp": 1645278373, - "blockNumber": 14236832 - }, - { - "proposalId": 60, - "voter": "0xB14b1deD5247F98b00c1d14e0EB60b38A2c76ECF", - "support": true, - "votingPower": 0.02, - "transactionHash": "0xc120e60d82f891d6e24609192753535984fe56820cbb5e3dd73d142d64c3f4f6", - "timestamp": 1645278373, - "blockNumber": 14236832 - }, - { - "proposalId": 60, - "voter": "0x055D3306067a1E0EA6b1eE2C838F2D5F2457Ed43", - "support": true, - "votingPower": 0.02, - "transactionHash": "0xb54e286600b2bffab66ab092daa99a8cb984d420717cbee6e9a6db17efa1307e", - "timestamp": 1645278373, - "blockNumber": 14236832 - }, - { - "proposalId": 60, - "voter": "0xEa59638FCD716D37d34959290B3b2f4F239e85A8", - "support": true, - "votingPower": 0.02, - "transactionHash": "0xcdc9349a0ff9449836fe3c44c2d44a1316f5b35b0526b9d8afeb0292f5f18a28", - "timestamp": 1645278373, - "blockNumber": 14236832 - }, - { - "proposalId": 60, - "voter": "0x92Ae56CEe6957CB4AA986c3e89955446107958d8", - "support": true, - "votingPower": 0.03, - "transactionHash": "0x65321227d8dac08e92288262f91bc8e0e8b21c20cb26d78040338021f83248ac", - "timestamp": 1645278373, - "blockNumber": 14236832 - }, - { - "proposalId": 60, - "voter": "0xeeDd108e9eBF1e05b0bb533B30bb4b287117EF73", - "support": true, - "votingPower": 0.02, - "transactionHash": "0x98972a4c16d91491a42609a9af85d22308c1ee122085e09e9e11734ad1d386c2", - "timestamp": 1645278373, - "blockNumber": 14236832 - }, - { - "proposalId": 60, - "voter": "0xA4E118F6d512b9Daa861da241b4E5a01EB8f1306", - "support": true, - "votingPower": 0.04, - "transactionHash": "0x82e6e5037cf965649740d4189eb7e7b6f083cd1cd96a97f7ee5c462bd27022d3", - "timestamp": 1645278373, - "blockNumber": 14236832 - }, - { - "proposalId": 60, - "voter": "0xD148D6E383bc4B77C040a559c7543e833CfdBb1F", - "support": true, - "votingPower": 0.04, - "transactionHash": "0x41e466a94533661f03cc21090045530213accae87d46e6b8e9c8330674b22309", - "timestamp": 1645278373, - "blockNumber": 14236832 - }, - { - "proposalId": 60, - "voter": "0x93896189872BAFbB47AF51414FbAF0b85A28aD94", - "support": true, - "votingPower": 0.04, - "transactionHash": "0x41269928b3353f94c497382ed85e790c6f2e8dd4f657f087f93b8644471b05a5", - "timestamp": 1645278373, - "blockNumber": 14236832 - }, - { - "proposalId": 60, - "voter": "0x292b275163Ddb3A383e370ce1E931297202dE058", - "support": true, - "votingPower": 0.02, - "transactionHash": "0xa7f178b40906d66c2d1f6a5a6a41677c6bebff22ec8ad5e32fef7707560c112f", - "timestamp": 1645278373, - "blockNumber": 14236832 - }, - { - "proposalId": 60, - "voter": "0x5cf01Ae1aAed90142c58456633FE8260Ec10741D", - "support": true, - "votingPower": 0.02, - "transactionHash": "0x50f5e0e03b2c3be6e73ab1152ec1af52b78d8058fef12ac3dd30c76de0d0b288", - "timestamp": 1645278373, - "blockNumber": 14236832 - }, - { - "proposalId": 60, - "voter": "0xc7D4e78CC93eFB95F4Bb8Bd23AE348BAd5662c03", - "support": true, - "votingPower": 0.02, - "transactionHash": "0x045ef87949c09419d1f0e86ade418ce45354c363b67a842315348ec83ef92306", - "timestamp": 1645278373, - "blockNumber": 14236832 - }, - { - "proposalId": 60, - "voter": "0x6ceC8BC68321FBc0BA54159b812Acf3795331Bc1", - "support": true, - "votingPower": 0, - "transactionHash": "0x3946475d4f41b2705d19212c5ae43c11c97e055dabf7b7675733cf14af95a651", - "timestamp": 1645278373, - "blockNumber": 14236832 - }, - { - "proposalId": 60, - "voter": "0x5d37d64236B7621941eeACA9db66739292900E57", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x16fed328d86e99c720fe61431235d4848caf24f79a2e74c75b783f69baaa9855", - "timestamp": 1645278373, - "blockNumber": 14236832 - }, - { - "proposalId": 60, - "voter": "0x37C9cF3B0e9EEb5D78D2b5eF168aF181871a441E", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x2572fea716f0b5949b20f222f984b5ebc769bf74a0b13c14757681f2859f43bb", - "timestamp": 1645278373, - "blockNumber": 14236832 - }, - { - "proposalId": 60, - "voter": "0xD1f4BeFBbd4Db61DaF7aFD15d97a03bbb76119c0", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xd1f673cb8f7e5ac5d57fb7810de6837f17a3faad1eb1caae0bd54bf3e2ef5710", - "timestamp": 1645278373, - "blockNumber": 14236832 - }, - { - "proposalId": 60, - "voter": "0x3ACA2ad957cC202D798F6beb3b858cE4c5618749", - "support": true, - "votingPower": 0.05, - "transactionHash": "0x355f77053a507b68a5f2095dd7399dbf39632727227b893da1338cabdedb0d12", - "timestamp": 1645278373, - "blockNumber": 14236832 - }, - { - "proposalId": 60, - "voter": "0x36F80088325b16C416D7237022F43F65D2Acc906", - "support": true, - "votingPower": 0.05, - "transactionHash": "0xba51d94698e94ca60f6fdb140183ccabf654808bc07527ded3926263592ad7a3", - "timestamp": 1645278373, - "blockNumber": 14236832 - }, - { - "proposalId": 60, - "voter": "0x4957DEd04dac83e6B4D9649d57DF756453e18a17", - "support": true, - "votingPower": 0.05, - "transactionHash": "0x0138a8d25b0eb51e671a2d0a20cc05c901d566286daf359058ec905970cbc414", - "timestamp": 1645278373, - "blockNumber": 14236832 - }, - { - "proposalId": 60, - "voter": "0x2899598d9Bf2c1D48Cf4CFf1906c0BA3419b8A7b", - "support": true, - "votingPower": 0.02, - "transactionHash": "0x3a9762513e2e5e157eae34bb4ce76f781841b3c9db9d84d03a0636d64a9edbdb", - "timestamp": 1645278373, - "blockNumber": 14236832 - }, - { - "proposalId": 60, - "voter": "0xAA1A3823c39764C3063f7252571c7f4acE66D820", - "support": true, - "votingPower": 0.03, - "transactionHash": "0xab7bdc09a01e3afdc5f4566623289632831c6f99ddff65d5b7b3c0866b6fde48", - "timestamp": 1645278373, - "blockNumber": 14236832 - }, - { - "proposalId": 60, - "voter": "0x1c70d0E81210fECbF1b39eD7291Ea2D75bba0B9c", - "support": true, - "votingPower": 0.02, - "transactionHash": "0x6733a7f64e6dc6fe995a28c42e1b816824c6d6755564dc68c767f4971ea6fbe6", - "timestamp": 1645278373, - "blockNumber": 14236832 - }, - { - "proposalId": 60, - "voter": "0x03Da98f5e26CDCAE4b8cdd504480A9f801DEd4F7", - "support": true, - "votingPower": 0.02, - "transactionHash": "0xec669f650176e263c92a0ab2375290605711e769571c0bafc73fb32cf36f63f8", - "timestamp": 1645278373, - "blockNumber": 14236832 - }, - { - "proposalId": 60, - "voter": "0xa1b7e322C675D0189b76F8d4D0F799c6F602239b", - "support": true, - "votingPower": 0.04, - "transactionHash": "0x241933f35809f6541507db6f23db7fff4e88192265d56b3b5a462d05f2e110a7", - "timestamp": 1645278373, - "blockNumber": 14236832 - }, - { - "proposalId": 60, - "voter": "0x70794157EFAc5314EA9b0eB363D7B19832444aeA", - "support": true, - "votingPower": 0.04, - "transactionHash": "0xb4afc0f77e7353089a0db7e90ee49ff0d1297c6d6fca59299a34c95de855e4c1", - "timestamp": 1645278373, - "blockNumber": 14236832 - }, - { - "proposalId": 60, - "voter": "0x59CA32a03229Ef805686E10CFbD32706378BD4d2", - "support": true, - "votingPower": 0.04, - "transactionHash": "0x0e54447dc12d60e93854069e283257e370a09ae5b0ef10de55958649c9d181d9", - "timestamp": 1645278373, - "blockNumber": 14236832 - }, - { - "proposalId": 60, - "voter": "0x11d9f43C216D2cbE066de087Ed5b2147d9FfbA01", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xd3da827a29ef6d39d13725b43adc620db1a0f579afc6df4ebefc6cb9c6908699", - "timestamp": 1645278373, - "blockNumber": 14236832 - }, - { - "proposalId": 60, - "voter": "0x30B908515E34b195a249071176B38653FA7B98D1", - "support": true, - "votingPower": 0.02, - "transactionHash": "0x09d3b4ce9148ba9761e8d4762f80481b1864d99958f97a9ac4c754af9ac698dd", - "timestamp": 1645278373, - "blockNumber": 14236832 - }, - { - "proposalId": 60, - "voter": "0xD5A5B219B76DB9e4273e317fE6e82e98D96e6E44", - "support": true, - "votingPower": 0.02, - "transactionHash": "0xfc77700d282435987c085de92507083d82489c2e62519b1575d57d19c84ce148", - "timestamp": 1645278373, - "blockNumber": 14236832 - }, - { - "proposalId": 60, - "voter": "0x3e4eb6d1766A6F35a0271eEA8997a06aC7E2dee8", - "support": true, - "votingPower": 0.02, - "transactionHash": "0x57a306fb14874297b50ff1cc8785cc8696e5912a6fadd7505b26a30c6a2da583", - "timestamp": 1645278373, - "blockNumber": 14236832 - }, - { - "proposalId": 60, - "voter": "0x84D501e88C8B1B1969C1D4dAd37B9FeAd2d2aC5A", - "support": true, - "votingPower": 0.02, - "transactionHash": "0xf707a13934642223ceb0e26266ab2140782a76fe825582aaee1b1e05cb3bdd2d", - "timestamp": 1645278373, - "blockNumber": 14236832 - }, - { - "proposalId": 60, - "voter": "0x505328f64A6b3d280970a6Fed79a7558fBfE2f06", - "support": true, - "votingPower": 0.02, - "transactionHash": "0x701a74006a76bc6664135ae3bc4e93b687d1a1765eb78d492cb2d48608fa8bba", - "timestamp": 1645278373, - "blockNumber": 14236832 - }, - { - "proposalId": 60, - "voter": "0x136EA24d79406759487051e6f4cD403d412045cA", - "support": true, - "votingPower": 0.02, - "transactionHash": "0x3fb233075164312dca782c34d3cd3b88eec1c50378c96260dbe69325ea76d4c0", - "timestamp": 1645278373, - "blockNumber": 14236832 - }, - { - "proposalId": 60, - "voter": "0x014E61E389924e0D275FA1FcD7b7dEcE38F921E2", - "support": true, - "votingPower": 0.02, - "transactionHash": "0x24cb4e261f1b96d0e358ecb8658123896dd608f5e0d520f5c1b6c70c866c72c1", - "timestamp": 1645278373, - "blockNumber": 14236832 - }, - { - "proposalId": 60, - "voter": "0x2cD926471980A9769Ade4F3ccfE2cA274e51FF7c", - "support": true, - "votingPower": 0.02, - "transactionHash": "0x74217ae3ea118d18798fe9f0f4edb59086fb152873bd56bc0bc45db1351297a4", - "timestamp": 1645278373, - "blockNumber": 14236832 - }, - { - "proposalId": 60, - "voter": "0xd38D889D5a971f81515E4425bB6516431Abe322f", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x94063e8ddf60523c9b7750cdc6ddb3f91e2da44164f8e7241e8d7200c24e5529", - "timestamp": 1645278373, - "blockNumber": 14236832 - }, - { - "proposalId": 60, - "voter": "0xEaB23CE1Cd79FAA44faA1af8d7c4d4378A34350C", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x6a112e2ff8340a48c5b4e88be1cc19813ec08da71a6896a0ef13dfdda6fc6aad", - "timestamp": 1645278382, - "blockNumber": 14236834 - }, - { - "proposalId": 60, - "voter": "0x3A3afa79C14af08268228f349BF9D6fA2C2c74Fb", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x58ca8ae1a9b01ed848989984dbfd02dee367df3aaff324570bd3c5399b81da3a", - "timestamp": 1645278382, - "blockNumber": 14236834 - }, - { - "proposalId": 60, - "voter": "0xE31B08A417cE1f48E2B735a1B5Cd5E7E8622C402", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x34fa40bd8d7bd5f748ab51e0ca36cd2cf923cec468eda32c6c00890078f208c8", - "timestamp": 1645278382, - "blockNumber": 14236834 - }, - { - "proposalId": 60, - "voter": "0xF569914d4E46cBD6A91fDE6c8850a079604A271b", - "support": true, - "votingPower": 1210.2047246533593, - "transactionHash": "0x2d80c4a0a4b6975fb9729cf17c888b66d372ffd3130143a810636bd70595e7ed", - "timestamp": 1645282003, - "blockNumber": 14237085 - }, - { - "proposalId": 60, - "voter": "0xA0efD27acC781549D5b78e89E561AA0903932d56", - "support": true, - "votingPower": 8.002657782527367, - "transactionHash": "0xb09ecbe5672bcefd0f08c29ec459b10dcee4d620ffcf76333c85ca8e1ea9d39b", - "timestamp": 1645312622, - "blockNumber": 14239375 - }, - { - "proposalId": 60, - "voter": "0xdd45542cCf17A16F5c515c20db7F7C7D8bB74Cc5", - "support": true, - "votingPower": 55500, - "transactionHash": "0x6856ae998b7873321f680604963a6c89186de9207f5fad28bbeb68aa5d15c3b3", - "timestamp": 1645344749, - "blockNumber": 14241793 - }, - { - "proposalId": 60, - "voter": "0xD41Fc5928577a3217b01986B629fc48f4913C70e", - "support": true, - "votingPower": 1, - "transactionHash": "0x85a4137cf7967fae9f13ab7a48ed6cc010d0ab1e0e8031cb400f4950b28acd3a", - "timestamp": 1645354479, - "blockNumber": 14242521 - }, - { - "proposalId": 60, - "voter": "0xc4a936B003BC223DF757B35Ee52f6Da66B062935", - "support": true, - "votingPower": 92529.61013077926, - "transactionHash": "0x9a79df46c433588aa36674b1fea58d4988dde0a8ee248c7ad9405a59fc4e147e", - "timestamp": 1645354535, - "blockNumber": 14242526 - }, - { - "proposalId": 60, - "voter": "0xa550A71B4a78b67c03900AC2B598B0e0b9D4668F", - "support": true, - "votingPower": 18.114914747870873, - "transactionHash": "0x6a78386ffcee75cdec5e32db7a66118a42bd543ad14534440921b07976787813", - "timestamp": 1645355299, - "blockNumber": 14242576 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 61, - "voter": "0xF569914d4E46cBD6A91fDE6c8850a079604A271b", - "support": true, - "votingPower": 1210.2047246533593, - "transactionHash": "0xd34f6ba4a71b48d9a7a9e1f2ee0f91f839fd6386c3643a3b3e603c7042ec4ade", - "timestamp": 1645565665, - "blockNumber": 14258298 - }, - { - "proposalId": 61, - "voter": "0xA0efD27acC781549D5b78e89E561AA0903932d56", - "support": true, - "votingPower": 8.002657782527367, - "transactionHash": "0x9c48fe7c66cbec75b7d18b2b6e88ce73fce13a522ab153a4d93a9ae37668b207", - "timestamp": 1645565899, - "blockNumber": 14258319 - }, - { - "proposalId": 61, - "voter": "0xC431702fAc93bd27983aa1Fe17C843E7254ED061", - "support": true, - "votingPower": 16.11395104271007, - "transactionHash": "0xf5de88901a4a959cf7636b28943e35b6c0e99ef67ce6623ee3164efc03219b18", - "timestamp": 1645602082, - "blockNumber": 14261067 - }, - { - "proposalId": 61, - "voter": "0xdd45542cCf17A16F5c515c20db7F7C7D8bB74Cc5", - "support": true, - "votingPower": 55500, - "transactionHash": "0xd3830061554e499192abdadb006473a7638aaa6c7dbce5a77691b49ff551d7f3", - "timestamp": 1645602990, - "blockNumber": 14261127 - }, - { - "proposalId": 61, - "voter": "0xA29DbaA84a9949A0A38a2Ba07E0b75e6603934DB", - "support": true, - "votingPower": 2.9784792218374427, - "transactionHash": "0x49f83b04948766fc8cc265d76bd1837adc99e46160d29d0133c1a93dee9d933f", - "timestamp": 1645608836, - "blockNumber": 14261563 - }, - { - "proposalId": 61, - "voter": "0x8bD3e86Bb7470Ab48436a8C5FF19a0f6e9121B42", - "support": true, - "votingPower": 4927.105467026871, - "transactionHash": "0x0221a13791b090bf7afe532e5470cfe6133be66408ab9499f57c6d2715801cb8", - "timestamp": 1645643031, - "blockNumber": 14264073 - }, - { - "proposalId": 61, - "voter": "0x41cb7d39b1100B320E8CFe27db9b526c671e7A07", - "support": true, - "votingPower": 18874.196358090216, - "transactionHash": "0xf828f150ab64dde4190ad361cdfe34ee54338db3f660d7f2cfc0e0afecadc32a", - "timestamp": 1645698544, - "blockNumber": 14268264 - }, - { - "proposalId": 61, - "voter": "0xc4a936B003BC223DF757B35Ee52f6Da66B062935", - "support": true, - "votingPower": 92529.61013077926, - "transactionHash": "0x0413d8adc4ee804eedb6a905bb196808737a13c4c89b31ba3f9d5a76d2e1f349", - "timestamp": 1645698595, - "blockNumber": 14268269 - }, - { - "proposalId": 61, - "voter": "0xb6D844E2529Bc79a444662aa55f72acA08fd8f54", - "support": true, - "votingPower": 73.98509615887833, - "transactionHash": "0x4fc05374b44774089283d166f22a677381c11b2c4bdf3927800bfe97aa6e93bd", - "timestamp": 1645699560, - "blockNumber": 14268334 - }, - { - "proposalId": 61, - "voter": "0x9F20DB7833C42eF63AA5B6d79C82307D6Ce7B36B", - "support": true, - "votingPower": 1388, - "transactionHash": "0x9d15add64ae8733d82b9c382516d5c2d1e371381a126df3344a1ba5668b41a5a", - "timestamp": 1645699683, - "blockNumber": 14268340 - }, - { - "proposalId": 61, - "voter": "0x36C4Bd54D54DD898C242F5F634f5D0CEf3bE2A8A", - "support": true, - "votingPower": 2191.753411375651, - "transactionHash": "0x95af13e3df06542671f4221deba1154ddea5f486259be994880ea4bbb0f542ff", - "timestamp": 1645700640, - "blockNumber": 14268405 - }, - { - "proposalId": 61, - "voter": "0xC1C79C6378e5A72895C8eA15fc6Dd59fFddc8dee", - "support": true, - "votingPower": 21.149549, - "transactionHash": "0x520cb2b7f6dce10bc6ae9f127123eb6e5794a6f39a94329bda90a307208a94b3", - "timestamp": 1645701048, - "blockNumber": 14268431 - }, - { - "proposalId": 61, - "voter": "0xDCB87abf8aDA15EBb94B29526A152B29C27fba3B", - "support": true, - "votingPower": 26.9527031664653, - "transactionHash": "0x905529ce5dbeeedfe4f1e242d390c716ab24816fba399e6948d38ae01710280b", - "timestamp": 1645702943, - "blockNumber": 14268590 - }, - { - "proposalId": 61, - "voter": "0x8036C45ffAC7980483862d8a8ce07635107E8C7c", - "support": true, - "votingPower": 184.09750070226173, - "transactionHash": "0x7018e6da5d7eff4ad550cd38a2b2e9fab8fd616f094da37f82e525df06482e90", - "timestamp": 1645703777, - "blockNumber": 14268656 - }, - { - "proposalId": 61, - "voter": "0x5020798592696459506850871700789288229669", - "support": true, - "votingPower": 0, - "transactionHash": "0x899ba6b4081ab695dc9bb4616d1d8302f42f3028ec1255a56a8ab1fb770d4889", - "timestamp": 1645707817, - "blockNumber": 14268976 - }, - { - "proposalId": 61, - "voter": "0xf63Ec662753B88c3634AE276ba4eA28D681478C8", - "support": true, - "votingPower": 91319.44933738938, - "transactionHash": "0xbccf05dd961142778f20b262fd309d0891773ee38186102a8287c878b725017a", - "timestamp": 1645720897, - "blockNumber": 14269912 - }, - { - "proposalId": 61, - "voter": "0xc8fc213Ecb824d0b3083449156864b905D1a818C", - "support": true, - "votingPower": 787.7535701625158, - "transactionHash": "0x2a1f44999d24937ae92d984e71730bea39a68856e50bc6b9c81ea0da02538f9b", - "timestamp": 1645723500, - "blockNumber": 14270124 - }, - { - "proposalId": 61, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 103333.8474304624, - "transactionHash": "0x49f5fe50e90ed3fa20429a6667681cbf4f2f3bd88d8582560a6b5de87874b9df", - "timestamp": 1645726470, - "blockNumber": 14270365 - }, - { - "proposalId": 61, - "voter": "0xA519a7cE7B24333055781133B13532AEabfAC81b", - "support": true, - "votingPower": 16.730843355897935, - "transactionHash": "0xc571c1af0b03e2f0a8bee1ae8d874802d6ddd6fae5ae71583e7576fa17db1946", - "timestamp": 1645726590, - "blockNumber": 14270373 - }, - { - "proposalId": 61, - "voter": "0x23FcD2644D74df98130Caa12bf980AF7c0dD2b85", - "support": true, - "votingPower": 0.11, - "transactionHash": "0xc79e4f79667120499c531e2882f13bc08e67c09a603427ba4b2b8a38a2bb5464", - "timestamp": 1645730938, - "blockNumber": 14270706 - }, - { - "proposalId": 61, - "voter": "0x3d93B4e055252526Dba09F9CBB198E7bE7F43031", - "support": true, - "votingPower": 0.11, - "transactionHash": "0xf256c1b1363d4ef3654b78b4489c17e6465d6048c29f0acd0be2b9d8c22de7de", - "timestamp": 1645730938, - "blockNumber": 14270706 - }, - { - "proposalId": 61, - "voter": "0xF53A9CEB1dA5f49bB4788bd01C72Ee243133935b", - "support": true, - "votingPower": 0.11, - "transactionHash": "0x0318b8481407245eed023421e03c56325727fd256d87ef4474a9186c1b41cdd0", - "timestamp": 1645730985, - "blockNumber": 14270711 - }, - { - "proposalId": 61, - "voter": "0x30a56ab7Aa837cC4c33944ea0bD155D45b332c23", - "support": true, - "votingPower": 0.11, - "transactionHash": "0x5e463bc5c15d10b9b7f0026a99ab685d955b5d5909bdc5f29ab776c589c37340", - "timestamp": 1645730985, - "blockNumber": 14270711 - }, - { - "proposalId": 61, - "voter": "0xe75002B41e2B8d0bfA53171c0A0eE76FF9Ed9748", - "support": true, - "votingPower": 0.11, - "transactionHash": "0xaa26d0433785e055df37cc841916c192befd8eaea1410ec849512d8422d4b049", - "timestamp": 1645730985, - "blockNumber": 14270711 - }, - { - "proposalId": 61, - "voter": "0x5bF5BC6695B4F64FE8a204E1d3D94F58Dd061038", - "support": true, - "votingPower": 0.11, - "transactionHash": "0xfae345d849f2899a4293cddd5453c2833549faa1a0f07c760191e50ff0e22390", - "timestamp": 1645730985, - "blockNumber": 14270711 - }, - { - "proposalId": 61, - "voter": "0x55e1490a1878D0B61811726e2cB96560022E764c", - "support": true, - "votingPower": 13.924391200546355, - "transactionHash": "0x7d71955ce97c202d833cab3a89441b85ba902a8742ff168423bcf82e39458d71", - "timestamp": 1645731717, - "blockNumber": 14270760 - }, - { - "proposalId": 61, - "voter": "0x86C62a0DD8690fa2Ba6e3E3D9A18D021dBd2565A", - "support": true, - "votingPower": 10.656899149043179, - "transactionHash": "0x6c3ffd445ad8ade3eac0b904c24099596653280d1dff967d131830e289b36fe5", - "timestamp": 1645732107, - "blockNumber": 14270787 - }, - { - "proposalId": 61, - "voter": "0x22fa8Cc33a42320385Cbd3690eD60a021891Cb32", - "support": true, - "votingPower": 183.88414977531147, - "transactionHash": "0x501ad1d3d23f5ffe92b3b0205722dfcb0be6f4862fa501e7a99461e8fa1ecacd", - "timestamp": 1645739404, - "blockNumber": 14271347 - }, - { - "proposalId": 61, - "voter": "0x3CBC3bEd185B837D79Ba18d36A3859EcbcFC3Dc8", - "support": true, - "votingPower": 0, - "transactionHash": "0x703b28534e73cfff15d187e70837966f5a0c060a642a687053d561e86fc70e43", - "timestamp": 1645739647, - "blockNumber": 14271362 - }, - { - "proposalId": 61, - "voter": "0xd0ed2D0b2B136F0DfEEfC1387DC52Ef5d2293DAE", - "support": true, - "votingPower": 206.74481300844263, - "transactionHash": "0xd47ab2b7a39b20ec1939239245e247fbcea6bdb553ace07c7779660c29fb8491", - "timestamp": 1645740905, - "blockNumber": 14271467 - }, - { - "proposalId": 61, - "voter": "0x073F57D81ff5c18e933161Ce157b1A027E8061c6", - "support": true, - "votingPower": 66.8596289898326, - "transactionHash": "0x5ca0e8c51b44afeb99270d400d7e0f5006ab28ea881b5932190f6b44e0414c3b", - "timestamp": 1645749092, - "blockNumber": 14272105 - }, - { - "proposalId": 61, - "voter": "0x71F12a5b0E60d2Ff8A87FD34E7dcff3c10c914b0", - "support": true, - "votingPower": 433.4481209513788, - "transactionHash": "0x4758a464e0d78c1654da22ffa299a5f3da0acc905390ebba24a3ef6420a1552e", - "timestamp": 1645753474, - "blockNumber": 14272392 - }, - { - "proposalId": 61, - "voter": "0xdf67361193D52EE42CB759eb98Ce2c7978DD440E", - "support": true, - "votingPower": 52.16280286005206, - "transactionHash": "0x592d619ac975911068091c5aa709922d95138514213f2e6208dbe700a2cd23ca", - "timestamp": 1645771280, - "blockNumber": 14273731 - }, - { - "proposalId": 61, - "voter": "0xdD709cAE362972cb3B92DCeaD77127f7b8D58202", - "support": true, - "votingPower": 135384.57247022813, - "transactionHash": "0x518ccc80fb8861b8eee45471a037fc306cbcbc6e36880401d114f46285adfdaa", - "timestamp": 1645785555, - "blockNumber": 14274749 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 62, - "voter": "0x79cce336ba69FB585115a04c12FCF0868C425A01", - "support": true, - "votingPower": 112.19184372, - "transactionHash": "0xa92a9c06b8e303b01ffedff27dbe973f1135831ef196d4da5a3b28bbdb6c37d2", - "timestamp": 1645627177, - "blockNumber": 14262945 - }, - { - "proposalId": 62, - "voter": "0xA0efD27acC781549D5b78e89E561AA0903932d56", - "support": true, - "votingPower": 8.002657782527367, - "transactionHash": "0x5a0bf34ddc0b4c1e668beec3ca2a0806f8bfabbb89662ede17f992bcc645457d", - "timestamp": 1645637132, - "blockNumber": 14263645 - }, - { - "proposalId": 62, - "voter": "0x8bD3e86Bb7470Ab48436a8C5FF19a0f6e9121B42", - "support": true, - "votingPower": 4927.105467026871, - "transactionHash": "0x080dc39e03859cb646d0a21054d5ea92b549256f9959d4cf09bf581e6222434c", - "timestamp": 1645642977, - "blockNumber": 14264069 - }, - { - "proposalId": 62, - "voter": "0x3596390E5FA968E053ed3375db7e4C04F384d0Ee", - "support": true, - "votingPower": 231392.2419041073, - "transactionHash": "0x8cdff92bbe897465405a997a37309031e309c76053fcd1957c3427f478ce83f2", - "timestamp": 1645647130, - "blockNumber": 14264400 - }, - { - "proposalId": 62, - "voter": "0x49d5D399F164E8a7082f3E9f35EB27b5d16181BC", - "support": true, - "votingPower": 10, - "transactionHash": "0x6ae0a1a79b22d122c5d739667ed1c2ef22eda298ff5f2f2cb078ab28594b36fa", - "timestamp": 1645652104, - "blockNumber": 14264810 - }, - { - "proposalId": 62, - "voter": "0x0095F223146ec08E78F32F376843B81d21f452D7", - "support": true, - "votingPower": 1022.46, - "transactionHash": "0x1f5eca4e672b2bf4089ce66d42ea147665b093a180c92cc27d3d18a1378b1c16", - "timestamp": 1645657449, - "blockNumber": 14265226 - }, - { - "proposalId": 62, - "voter": "0xF569914d4E46cBD6A91fDE6c8850a079604A271b", - "support": true, - "votingPower": 1210.2047246533593, - "transactionHash": "0x0b0203406ce13b4be5b9d41850cf1a50bcbc8266a7c93c47f095997daf3aef81", - "timestamp": 1645663382, - "blockNumber": 14265665 - }, - { - "proposalId": 62, - "voter": "0x9F20DB7833C42eF63AA5B6d79C82307D6Ce7B36B", - "support": true, - "votingPower": 1388, - "transactionHash": "0x38251e61750b5461daa07eec9891fbcf060ac96966cf317c81c46728e6fc6da8", - "timestamp": 1645699703, - "blockNumber": 14268344 - }, - { - "proposalId": 62, - "voter": "0x36C4Bd54D54DD898C242F5F634f5D0CEf3bE2A8A", - "support": true, - "votingPower": 2191.753411375651, - "transactionHash": "0x52d4527b044d9986eac938a6b80ceed149cc73bc41c999e7f68e72445156df02", - "timestamp": 1645700702, - "blockNumber": 14268408 - }, - { - "proposalId": 62, - "voter": "0xf63Ec662753B88c3634AE276ba4eA28D681478C8", - "support": true, - "votingPower": 91281.00820889979, - "transactionHash": "0xdb9f215f126d353f7f221ee0cf220463824d5ceb6cbc1f3bfa0c5c20cee55073", - "timestamp": 1645721038, - "blockNumber": 14269923 - }, - { - "proposalId": 62, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 103333.8474304624, - "transactionHash": "0xfc8f101a31cfddd59ff96232ac108c1218be3c40848c1e5f543069474ee355cd", - "timestamp": 1645726418, - "blockNumber": 14270356 - }, - { - "proposalId": 62, - "voter": "0xdf67361193D52EE42CB759eb98Ce2c7978DD440E", - "support": true, - "votingPower": 52.16280286005206, - "transactionHash": "0xff0217f5c82527fe19ab582a4697d6180386dea64c2cd53998e2d842f13fb7a0", - "timestamp": 1645771401, - "blockNumber": 14273737 - }, - { - "proposalId": 62, - "voter": "0x5a756d9C7cAA740E0342f755fa8Ad32e6F83726b", - "support": true, - "votingPower": 0.5313874114436111, - "transactionHash": "0xcf05c4b9fd47b2415ac8eae9e418f2d7b9e828920e6489b8087e6d6c707ed07a", - "timestamp": 1645775545, - "blockNumber": 14274043 - }, - { - "proposalId": 62, - "voter": "0xdD709cAE362972cb3B92DCeaD77127f7b8D58202", - "support": true, - "votingPower": 135384.57247022813, - "transactionHash": "0xcb15ec84350aa164fa1f00903fb94b75266b150c12d7afb4df9a961f71fb7c42", - "timestamp": 1645784563, - "blockNumber": 14274679 - }, - { - "proposalId": 62, - "voter": "0x7302C7e150aE4D035cf9e71F09580d59CE61fa54", - "support": true, - "votingPower": 1, - "transactionHash": "0x151d5316416a9bb092f166fe087600dd95634713cd790def623fa31da8bff12b", - "timestamp": 1645787413, - "blockNumber": 14274879 - }, - { - "proposalId": 62, - "voter": "0x8b4a8C1F32761D820D12015b293d24A2Ec1B47e9", - "support": true, - "votingPower": 115.35643259676218, - "transactionHash": "0xb86ba9d44bd10401beb1c8c231e604c312e8be3573581c307e24a690302f64d5", - "timestamp": 1645796816, - "blockNumber": 14275592 - }, - { - "proposalId": 62, - "voter": "0x5DE64238dA2d7A5F1949C1bb1958273C22c5EE01", - "support": true, - "votingPower": 12.858826205944593, - "transactionHash": "0x04b088a0b0a45a562dc03f85a68d400a138aa6a4a45bd4a712e50be82e892f0d", - "timestamp": 1645800339, - "blockNumber": 14275882 - }, - { - "proposalId": 62, - "voter": "0xA519a7cE7B24333055781133B13532AEabfAC81b", - "support": true, - "votingPower": 16.730843355897935, - "transactionHash": "0xf2699fb1e0c747afde67804b6337688818a905d91313e40cb110f27b57eb40bd", - "timestamp": 1645814978, - "blockNumber": 14276972 - }, - { - "proposalId": 62, - "voter": "0x62a43123FE71f9764f26554b3F5017627996816a", - "support": true, - "votingPower": 30.669202, - "transactionHash": "0xcf605fb7810e47c08c33665b7b2e54e62d21d5a6c6fb5b89ccd62c3276b0e5bf", - "timestamp": 1645818542, - "blockNumber": 14277242 - }, - { - "proposalId": 62, - "voter": "0x7b9A7d69832F353e54D65188473DDe2a7789F612", - "support": true, - "votingPower": 0.0330085, - "transactionHash": "0x720f3804232327c8fdaa9ae83f122bacae05c37a84b90a144ffa4d1fdd6d5c44", - "timestamp": 1645868707, - "blockNumber": 14280970 - }, - { - "proposalId": 62, - "voter": "0x7a67928bB379974768668D50ab991Eefb5F08c0e", - "support": true, - "votingPower": 0.075, - "transactionHash": "0x9ed3eed1cde4c2606eda6fe9bc17404c709fd4eb996e615f1e7684068e7c143b", - "timestamp": 1645868801, - "blockNumber": 14280979 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 63, - "voter": "0xa05527778c5d874ff4926AF98d162E3fbf4d96DB", - "support": true, - "votingPower": 182.11697500807833, - "transactionHash": "0x80c2a8cfd7716f2df3739de72078fea7d85f96da7abdc4fe934d21c6ea297954", - "timestamp": 1646151381, - "blockNumber": 14302157 - }, - { - "proposalId": 63, - "voter": "0xF569914d4E46cBD6A91fDE6c8850a079604A271b", - "support": true, - "votingPower": 1218.2811185794153, - "transactionHash": "0x33910a6941a93d1357e70df3dec5c49cafdc6bf14c4385a4478428de5b592fbc", - "timestamp": 1646151771, - "blockNumber": 14302182 - }, - { - "proposalId": 63, - "voter": "0x64B0C1918b4FFd3a77835229a69c01CE3219a58D", - "support": true, - "votingPower": 100, - "transactionHash": "0xbe5c43a621927bc9b4fe5c2bf5525e8d5c50e931c10af92cac2d81d2a3f3fdbc", - "timestamp": 1646153060, - "blockNumber": 14302291 - }, - { - "proposalId": 63, - "voter": "0xC0158745Da6f94AB9De9E2803FC10dF6Aaf225ac", - "support": true, - "votingPower": 10.044186986852816, - "transactionHash": "0x28d0be7511de74831bccb059acf27c1c4a3f4d85ca5f760b8d3985c9bf41846a", - "timestamp": 1646158802, - "blockNumber": 14302703 - }, - { - "proposalId": 63, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 103333.8474304624, - "transactionHash": "0x1ff4456f0b3a6851ce8c9982b5b7092139882e936412c711aa9391882c48d3be", - "timestamp": 1646160716, - "blockNumber": 14302834 - }, - { - "proposalId": 63, - "voter": "0xA0efD27acC781549D5b78e89E561AA0903932d56", - "support": true, - "votingPower": 8.002657782527367, - "transactionHash": "0xaed039037cbeb3327a919a9d78c5cff2f491c8d0a8a6f69743c097801d38f45f", - "timestamp": 1646169021, - "blockNumber": 14303464 - }, - { - "proposalId": 63, - "voter": "0x511E3D32A4fc0E6CF736b6E92c2a546a86964709", - "support": true, - "votingPower": 58528.92387383, - "transactionHash": "0x9b08cf8b438acb94a28fd0a88555658e8a22c8020a5db4ec6870eee1824750e2", - "timestamp": 1646218042, - "blockNumber": 14307119 - }, - { - "proposalId": 63, - "voter": "0x7302C7e150aE4D035cf9e71F09580d59CE61fa54", - "support": true, - "votingPower": 1, - "transactionHash": "0x449d6c3bc7ebad0bcc70a934bda412e048d2e17e251bc043cadae78bccc4e186", - "timestamp": 1646225399, - "blockNumber": 14307703 - }, - { - "proposalId": 63, - "voter": "0x7b9A7d69832F353e54D65188473DDe2a7789F612", - "support": true, - "votingPower": 0.0330085, - "transactionHash": "0xd06d9dcc962c252b9cbbf05d9bf4f1f990643c6123cb69a3e73f4ae8347acf3e", - "timestamp": 1646285006, - "blockNumber": 14312099 - }, - { - "proposalId": 63, - "voter": "0x7a67928bB379974768668D50ab991Eefb5F08c0e", - "support": true, - "votingPower": 0.075, - "transactionHash": "0x30a2fcc94b0d20750cbb2a37c23aad9a2991d698eed4f55a7a8d3017b2d634e5", - "timestamp": 1646285573, - "blockNumber": 14312147 - }, - { - "proposalId": 63, - "voter": "0xaFDAbFb6227507fF6522b8a242168F6b5F353a6E", - "support": true, - "votingPower": 93442, - "transactionHash": "0xef6edb74920a86289258778241ab656d75dcbeec2d45affde7a14367830ee770", - "timestamp": 1646291615, - "blockNumber": 14312590 - }, - { - "proposalId": 63, - "voter": "0x1dB67D560813Ea7AbA48bD8A9429CBECBeB2118e", - "support": true, - "votingPower": 10, - "transactionHash": "0xf8a04fa477047a6997c08f452f7915209f4e531ad0fef9501cf6f47756bfea6a", - "timestamp": 1646313450, - "blockNumber": 14314210 - }, - { - "proposalId": 63, - "voter": "0x9d83605D0479C475588fba28d7c4607F4cB30414", - "support": true, - "votingPower": 0.03125554333049294, - "transactionHash": "0x0428b0e55125bd9dad11d075d8dfb576e8c9fae5b81541ac7c39df73d77a5a20", - "timestamp": 1646315166, - "blockNumber": 14314343 - }, - { - "proposalId": 63, - "voter": "0x86C62a0DD8690fa2Ba6e3E3D9A18D021dBd2565A", - "support": true, - "votingPower": 10.656899149043179, - "transactionHash": "0xd016b76ac6a8ba2c41e9bed403fdafe8d43a9f6e663ae5babd50f7e409ae8895", - "timestamp": 1646321468, - "blockNumber": 14314817 - }, - { - "proposalId": 63, - "voter": "0xF191E64bd21c20d9144106aC0480f1c9ddb17914", - "support": true, - "votingPower": 49.598779563854826, - "transactionHash": "0xad25fd12b9585d1ae65075958ebc7c1f69a6765fbfdcc713d6b535dee039fb8f", - "timestamp": 1646322872, - "blockNumber": 14314939 - }, - { - "proposalId": 63, - "voter": "0x990daFE818681F8E18d14E2Ae7abD30aE46BF1c2", - "support": true, - "votingPower": 99980, - "transactionHash": "0x4c91febdd29f6fe38acc32ff95677721a2d7d966c2a7ed17af79714d3b512a3a", - "timestamp": 1646339408, - "blockNumber": 14316195 - }, - { - "proposalId": 63, - "voter": "0x1d829BdBd534A70fDF27E959e790ef1d64e10ef8", - "support": true, - "votingPower": 12.696605570148211, - "transactionHash": "0x5ee35fd28a0b91e64efc1ca6cd8cbce3f84e8520306f5fed8458d5138ccb2c9a", - "timestamp": 1646345680, - "blockNumber": 14316647 - }, - { - "proposalId": 63, - "voter": "0xb63A09B561Dd5baD75E9a78D4B7E9508eD5712a0", - "support": true, - "votingPower": 1.52860575, - "transactionHash": "0x024318342145db3d60dd93137dfc9e3a9d0a4882dca94124cc32d1003b177215", - "timestamp": 1646369501, - "blockNumber": 14318386 - }, - { - "proposalId": 63, - "voter": "0x8DBC752cfd6B1d4a05739324425c76f922bBD217", - "support": true, - "votingPower": 1.1, - "transactionHash": "0xde0411b0134940576b62d63781580236d17ae5afc13fdc5902148537c7deb216", - "timestamp": 1646384839, - "blockNumber": 14319546 - }, - { - "proposalId": 63, - "voter": "0x3EcFBA75d5a113241ec899888319A9e1E456EE9A", - "support": true, - "votingPower": 0.03130452, - "transactionHash": "0x9f9b42d7131a57d6f986910252ae866b5d12c1c53f50e3c5503cc4ea1e7966b6", - "timestamp": 1646387532, - "blockNumber": 14319752 - }, - { - "proposalId": 63, - "voter": "0x9feDB4D801A82b9B5F2D0E7dd0F3a1c88B3a6A23", - "support": true, - "votingPower": 27.10463458506701, - "transactionHash": "0x0376f0dabd7517afc3038735d173ff4998f82872e620d7505a6fdf2e4d0082ea", - "timestamp": 1646390058, - "blockNumber": 14319939 - }, - { - "proposalId": 63, - "voter": "0xf36F3976f288b2B4903aca8c177efC019b81D88B", - "support": true, - "votingPower": 39147.986, - "transactionHash": "0x13da99a4654251f90da78f28a214a431d273c4facb2e2358d8f97aa17941f5c6", - "timestamp": 1646398670, - "blockNumber": 14320598 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 64, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 103333.8474304624, - "transactionHash": "0x2b243ee815c18c26e398c3ffda2c0d26334c01547230df09cf295e7e1ed37cf8", - "timestamp": 1646186723, - "blockNumber": 14304807 - }, - { - "proposalId": 64, - "voter": "0x511E3D32A4fc0E6CF736b6E92c2a546a86964709", - "support": true, - "votingPower": 58528.92387383, - "transactionHash": "0x96a5d63c33edc920be5cbc0730c420e7cb9ec4f82b3368632bf8995817ed209f", - "timestamp": 1646218175, - "blockNumber": 14307131 - }, - { - "proposalId": 64, - "voter": "0x7302C7e150aE4D035cf9e71F09580d59CE61fa54", - "support": true, - "votingPower": 1, - "transactionHash": "0x566408bd93565da17ccc2310b9962f8999c642a0cc501f064d76bd142a384a85", - "timestamp": 1646225331, - "blockNumber": 14307697 - }, - { - "proposalId": 64, - "voter": "0x7b9A7d69832F353e54D65188473DDe2a7789F612", - "support": true, - "votingPower": 0.0330085, - "transactionHash": "0xe8922c01063aa0550f7eba6d247d53b8d89bdf0bd6eda90ef990db5792f9eb25", - "timestamp": 1646285127, - "blockNumber": 14312112 - }, - { - "proposalId": 64, - "voter": "0x84f918BA377cbd0385B4Ef28F6b2b6d7E9B54a4B", - "support": true, - "votingPower": 13.000564803701893, - "transactionHash": "0xb5444834b486fe8d612813103c3ec265067c0258fb65550670e71b94cfc9258e", - "timestamp": 1646288064, - "blockNumber": 14312347 - }, - { - "proposalId": 64, - "voter": "0xaFDAbFb6227507fF6522b8a242168F6b5F353a6E", - "support": true, - "votingPower": 93442, - "transactionHash": "0x46ce63c2ebe7132c0e55fad5097ae30764e45b30bc585969ecac7b4d047dd36a", - "timestamp": 1646291673, - "blockNumber": 14312595 - }, - { - "proposalId": 64, - "voter": "0xc4b74Ae89Ef93E683fB4AFba8e118d730313D45A", - "support": true, - "votingPower": 21, - "transactionHash": "0xfa19a84a34db2805f49af46ccd240f45f51410c55210a1417f604c278be8249d", - "timestamp": 1646295986, - "blockNumber": 14312935 - }, - { - "proposalId": 64, - "voter": "0x8A5C9621951708C57B1e74285918aBC86af6A24F", - "support": true, - "votingPower": 1, - "transactionHash": "0x05909e387a5a62dd453ab789f32baeeec1d7502becf413a6aafb6f9b804b0555", - "timestamp": 1646311552, - "blockNumber": 14314055 - }, - { - "proposalId": 64, - "voter": "0x6d319E903198bC5C7D5D247F804787F4821923CD", - "support": true, - "votingPower": 0.075, - "transactionHash": "0x621582b1b932b07151df3f9ce0ab0ae4171a2cded440bd178d2fa5352565b198", - "timestamp": 1646311664, - "blockNumber": 14314062 - }, - { - "proposalId": 64, - "voter": "0x9d83605D0479C475588fba28d7c4607F4cB30414", - "support": true, - "votingPower": 0.03125554333049294, - "transactionHash": "0x2b0ae16fc4a620fa4660a0e00a155da920cbf15d2c70a0e932ad540f1add2823", - "timestamp": 1646314945, - "blockNumber": 14314322 - }, - { - "proposalId": 64, - "voter": "0x86C62a0DD8690fa2Ba6e3E3D9A18D021dBd2565A", - "support": true, - "votingPower": 10.656899149043179, - "transactionHash": "0x1c98ee3821b75b564c7f066645e52e333ae4fd9a9a63f335e01c69ba77ada8cf", - "timestamp": 1646320012, - "blockNumber": 14314686 - }, - { - "proposalId": 64, - "voter": "0x9feDB4D801A82b9B5F2D0E7dd0F3a1c88B3a6A23", - "support": true, - "votingPower": 27.10463458506701, - "transactionHash": "0x4181e74fbe36fa9379d4c91c01fb5c0c106d570adbcd841d08e5e25aaa346ecc", - "timestamp": 1646390474, - "blockNumber": 14319974 - }, - { - "proposalId": 64, - "voter": "0xA519a7cE7B24333055781133B13532AEabfAC81b", - "support": true, - "votingPower": 16.730843355897935, - "transactionHash": "0x3963e398334c7c0564f3bf918311d1118e8ec68c1ba8f46247f54cdf12680fbf", - "timestamp": 1646407099, - "blockNumber": 14321254 - }, - { - "proposalId": 64, - "voter": "0x683a4F9915D6216f73d6Df50151725036bD26C02", - "support": true, - "votingPower": 5991.606910108588, - "transactionHash": "0xc4ce5eef20e66317f675236fef7176ded7d50d655e5e5dbfa81131051cc21323", - "timestamp": 1646424484, - "blockNumber": 14322572 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 65, - "voter": "0xF1A39ccAa7B3E0a6f82C0806518925b54024F011", - "support": true, - "votingPower": 230964.5419041073, - "transactionHash": "0x35a20b700e8355573e6bb1f5abceeea2f332b9a2106876bada860e524c301fc2", - "timestamp": 1646699050, - "blockNumber": 14342953 - }, - { - "proposalId": 65, - "voter": "0xE6156d93fbA1F2387fCe5f50f1BB45eF51ed5f2b", - "support": true, - "votingPower": 1, - "transactionHash": "0x5b8685fa0e07bf517e8410a532c1ff7f5c53df64661de0c32f56492b3752bfbb", - "timestamp": 1646699985, - "blockNumber": 14343029 - }, - { - "proposalId": 65, - "voter": "0xF0104ae974e7c10b7872B489Fe90f4752eB3b797", - "support": true, - "votingPower": 40, - "transactionHash": "0xeea85da489d10426dbd3601ffd00a267dd36b3e58651ef89b4662cd3e53fbe9b", - "timestamp": 1646704442, - "blockNumber": 14343329 - }, - { - "proposalId": 65, - "voter": "0xC543CB64FEd7827DB4489253Ecfa6EfA970d3890", - "support": true, - "votingPower": 0.8, - "transactionHash": "0x5cfddbc88fd88f7de617148465ef613ea74b940e38acc2214f251cb86e2dac87", - "timestamp": 1646708381, - "blockNumber": 14343637 - }, - { - "proposalId": 65, - "voter": "0xAd05B50B71D1C05e3309e9f99E633A21741b77D9", - "support": true, - "votingPower": 0.17, - "transactionHash": "0x290527ddbdab5ec81f48da4b8268ecd6ad02da3e1c49741097c0196b36ac3439", - "timestamp": 1646708970, - "blockNumber": 14343680 - }, - { - "proposalId": 65, - "voter": "0x7AE109A63ff4DC852e063a673b40BED85D22E585", - "support": true, - "votingPower": 10000, - "transactionHash": "0x823f39f3dc571f413078e858976365a78a72edc153f40fde9a1dfc574b148a96", - "timestamp": 1646715825, - "blockNumber": 14344216 - }, - { - "proposalId": 65, - "voter": "0x7a67928bB379974768668D50ab991Eefb5F08c0e", - "support": true, - "votingPower": 0.005, - "transactionHash": "0x81267ccae31469bb86ecdf8c27d3d49fc91d1281fa6ff3a20203fcc5d3590f0e", - "timestamp": 1646716835, - "blockNumber": 14344295 - }, - { - "proposalId": 65, - "voter": "0x7b9A7d69832F353e54D65188473DDe2a7789F612", - "support": true, - "votingPower": 0.0330085, - "transactionHash": "0xfd75020829f42c15223de232e99a90e980a29a4e4ac9ecab0163dbb6075cd8b7", - "timestamp": 1646716955, - "blockNumber": 14344303 - }, - { - "proposalId": 65, - "voter": "0x529da082E11Edcc410F99577f6668994b794492B", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x4d2358562c5391f8f3bd8633488e790248b8827d6c2b53caf3b3fc620d02bc6f", - "timestamp": 1646716992, - "blockNumber": 14344307 - }, - { - "proposalId": 65, - "voter": "0x402CFba729a640289F60de1382b86bC9f038fe82", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xfd96d051a0bd073105e0c55fe9e926d1b0c1a3299ab2f4479bac6c2c5a4d62dc", - "timestamp": 1646717044, - "blockNumber": 14344310 - }, - { - "proposalId": 65, - "voter": "0x5Cb5587377141ab761Be831493494912e619a3A9", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xd322cbe3fb4c7675a664335446134fc5159ac63e019f8eed161bb69d279844e2", - "timestamp": 1646717153, - "blockNumber": 14344315 - }, - { - "proposalId": 65, - "voter": "0xE4BA20B2FA72D891c98C21569E1f5F0fF145ff64", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x432c704abafad2d5bed8d2275720a64c0571685297c5a2f941ab906cc8d484ef", - "timestamp": 1646717206, - "blockNumber": 14344322 - }, - { - "proposalId": 65, - "voter": "0x0Ce152623649e9b8f514Ba0CB530f035B7552c35", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xa57f95b7003a6aed2c38cc8d6059100f99426e1eb65c4e8d8100e0d37655a979", - "timestamp": 1646717315, - "blockNumber": 14344335 - }, - { - "proposalId": 65, - "voter": "0x77EC061aC11df6b42Af3784BCE835A5feAF247Dd", - "support": true, - "votingPower": 0.261, - "transactionHash": "0x7997efb80a2620c2244c5fc18d57cde86c70551e258fcf516cfce5ce0e0f7af2", - "timestamp": 1646725368, - "blockNumber": 14344931 - }, - { - "proposalId": 65, - "voter": "0x3A25e701517e713e99818a169A39339Fc3eAe9d2", - "support": false, - "votingPower": 950.000004, - "transactionHash": "0xae0184850d5d63b9f986a719fdab615bb4448dcb6aed8c3bcf2ea870441eda91", - "timestamp": 1646728233, - "blockNumber": 14345147 - }, - { - "proposalId": 65, - "voter": "0x511E3D32A4fc0E6CF736b6E92c2a546a86964709", - "support": true, - "votingPower": 58528.92387383, - "transactionHash": "0x6e5fc3fac0d2b18d5707985b0b172686eb06c78ada534e824d098ef595497ede", - "timestamp": 1646730916, - "blockNumber": 14345348 - }, - { - "proposalId": 65, - "voter": "0xb4F70F2F0f1A27276571a12e60c64E321f40d47C", - "support": true, - "votingPower": 60000, - "transactionHash": "0x9bf8113da84a76f16c21bb8dea340d9b07c1d5358dd1e6acca95c57614bbcbd9", - "timestamp": 1646731241, - "blockNumber": 14345374 - }, - { - "proposalId": 65, - "voter": "0xb4CaA764e2bf087f1a7a0ceC43250892022787d9", - "support": true, - "votingPower": 1.45, - "transactionHash": "0x9afe5bb366364d25bf71aea299685f12ef203f0efa4037b3c30049f7d2dfc70d", - "timestamp": 1646732767, - "blockNumber": 14345488 - }, - { - "proposalId": 65, - "voter": "0x329c54289Ff5D6B7b7daE13592C6B1EDA1543eD4", - "support": true, - "votingPower": 24727.861907629755, - "transactionHash": "0x09e5b53135770652e09cb39546e7177dd68d65f0734e8484ddf27717a5a00cbd", - "timestamp": 1646732877, - "blockNumber": 14345492 - }, - { - "proposalId": 65, - "voter": "0x7E15fa4FbC4D5B5Cb0C97a982aC57C60BC5638B0", - "support": true, - "votingPower": 73.71451702, - "transactionHash": "0xe50c1c75629c5b7243b2d899da62e4f6cadcf553e4ae3c0144681b3643c52253", - "timestamp": 1646764059, - "blockNumber": 14347786 - }, - { - "proposalId": 65, - "voter": "0x2BA0270e7532a266fdc9796E2c5B2706f5379a9D", - "support": true, - "votingPower": 21.11143649130442, - "transactionHash": "0x9ed8ca6754e4c941d9b059a06000b8e5e53198e09c4e7c2536f7c2886f5bade0", - "timestamp": 1646765063, - "blockNumber": 14347859 - }, - { - "proposalId": 65, - "voter": "0x242F20589E3AA594d5014A58501f376861984f65", - "support": true, - "votingPower": 1.099, - "transactionHash": "0x5ee665c60fd8a0eac6d71e9ad0f97cfed200bd163d064e101624dad6f419547c", - "timestamp": 1646821608, - "blockNumber": 14352029 - }, - { - "proposalId": 65, - "voter": "0x506adE0A94949dB63047346D3796A01C09384198", - "support": true, - "votingPower": 0.02, - "transactionHash": "0xb9913b658518bf46aa4047159f724ab2beebba953dea3a1016aab9c83471a6c1", - "timestamp": 1646822049, - "blockNumber": 14352056 - }, - { - "proposalId": 65, - "voter": "0xe6Eec76C1b1577354c07B07FB59abAe58dfE5844", - "support": true, - "votingPower": 0.010000000000000004, - "transactionHash": "0x9e79763bdaf6f60953d21c374a93d9ee0366bce94e28c64735a51ac63abddf19", - "timestamp": 1646822160, - "blockNumber": 14352065 - }, - { - "proposalId": 65, - "voter": "0x481bb04f60DD1F7d6EC0A3611ed8023e618697CB", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xd881a2b1cff9b03197ef68e5b9dfff085359393aeb40d987d121bd85aa933ebf", - "timestamp": 1646826797, - "blockNumber": 14352395 - }, - { - "proposalId": 65, - "voter": "0xe462eF298f6E6AB59D9CDc857c5A6a07C067dbee", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x9e8305f5f9200fdc22e9700c061ca580e2ec96829b960e3aab748abd06d1eee7", - "timestamp": 1646826999, - "blockNumber": 14352411 - }, - { - "proposalId": 65, - "voter": "0x686DDCF9b7E2D6660EE4cf02757588245a4cB3e1", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xa2e8a7005525f90c93f1aa55c115af43abb476d50c768791892453595c6c42e1", - "timestamp": 1646827013, - "blockNumber": 14352412 - }, - { - "proposalId": 65, - "voter": "0x9C32443ec5B3c3604E2D29Ad1D41f8d3a859f278", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xb488b7ee7c75457b958182b92879e87a3ef09fd52793f87fe0b7c3349a7572ae", - "timestamp": 1646827041, - "blockNumber": 14352415 - }, - { - "proposalId": 65, - "voter": "0xDd47D3dB30809a107c1DD59417A61230458d278e", - "support": true, - "votingPower": 0.003961, - "transactionHash": "0x1bcee5bb77f4952886cbf1931c4043f98862a8477035aae026c97fa40ea5592c", - "timestamp": 1646827434, - "blockNumber": 14352447 - }, - { - "proposalId": 65, - "voter": "0xa475A14DDF8bAE5465793b5b04F2d0E5B68BcF14", - "support": true, - "votingPower": 0.00181, - "transactionHash": "0x4155b6f76dd8b048a1312d1a6103f3a83417d5406765a35806bb9b94d548eca5", - "timestamp": 1646827948, - "blockNumber": 14352489 - }, - { - "proposalId": 65, - "voter": "0x3CBF036d6C709FD723d3Bcc0B4123C603260fddE", - "support": true, - "votingPower": 0.0021, - "transactionHash": "0x5f00775af671fddca39254c699867d77d77d41ef60e656e438a14cc59c2d5237", - "timestamp": 1646827948, - "blockNumber": 14352489 - }, - { - "proposalId": 65, - "voter": "0x1D5e033Ae2AA830BF7621c6349e0A00E3E071402", - "support": true, - "votingPower": 0.00175, - "transactionHash": "0x7f7c8b606a4727231836e298eb0cb4cd267910341556bbf568208a218bc653f5", - "timestamp": 1646827948, - "blockNumber": 14352489 - }, - { - "proposalId": 65, - "voter": "0x61d203D91ac812F491F365C306e50E0801550723", - "support": true, - "votingPower": 0.005, - "transactionHash": "0xecefa55c698551b024e6891340da0e1083707515368267d0bc49d0021723cd36", - "timestamp": 1646827948, - "blockNumber": 14352489 - }, - { - "proposalId": 65, - "voter": "0x76024694Ed557264719683b0ceAb8Df1a572262e", - "support": true, - "votingPower": 0.119, - "transactionHash": "0x53c9fe8b59c7111b4fc8844a57bfbabaf0045a924784919f61c7efc773023321", - "timestamp": 1646829245, - "blockNumber": 14352595 - }, - { - "proposalId": 65, - "voter": "0x6CAd957812F1bb9aB9364F20cfA15482BcE9DE77", - "support": true, - "votingPower": 0.866, - "transactionHash": "0x54a7859bb6cb1274fe9eb25956afe87aea6eb8fbf6bc4ad17926c484b496610d", - "timestamp": 1646829317, - "blockNumber": 14352601 - }, - { - "proposalId": 65, - "voter": "0x101AfF216865f56E7653b2A0c6f714980606F072", - "support": true, - "votingPower": 0.119, - "transactionHash": "0x66a03b8f9455f70b271599b14f8db8df70d249cf5ae3b65137f494f899263295", - "timestamp": 1646829556, - "blockNumber": 14352621 - }, - { - "proposalId": 65, - "voter": "0x2f1F1339481746683c47e8713949e6744e7Ef8Cc", - "support": true, - "votingPower": 0.119, - "transactionHash": "0x3cd43b15c2c75458ca47f0adca9374f21c7f26db57e0849f20f930ff09e4acf0", - "timestamp": 1646829791, - "blockNumber": 14352637 - }, - { - "proposalId": 65, - "voter": "0x9308cf07C7110176179e9A0FBB92C09C032963c8", - "support": true, - "votingPower": 0.119, - "transactionHash": "0x8cc0ce673db6c024e0a358d6dfd92e3bb0c4f197740d3f072ef843aadb3ff0c2", - "timestamp": 1646830432, - "blockNumber": 14352694 - }, - { - "proposalId": 65, - "voter": "0x62a43123FE71f9764f26554b3F5017627996816a", - "support": true, - "votingPower": 30.669202, - "transactionHash": "0x83ce4b74b7bf603231abcd32f7bd10c18ca7ac4b785263cd850675abc4a06b3a", - "timestamp": 1646841938, - "blockNumber": 14353541 - }, - { - "proposalId": 65, - "voter": "0xA0efD27acC781549D5b78e89E561AA0903932d56", - "support": true, - "votingPower": 8.002657782527367, - "transactionHash": "0x4d3fc137b120613b100054ff3a85632a7c42f3ed61a6df893984e3a4b7a7e438", - "timestamp": 1646849159, - "blockNumber": 14354088 - }, - { - "proposalId": 65, - "voter": "0xA519a7cE7B24333055781133B13532AEabfAC81b", - "support": true, - "votingPower": 16.730843355897935, - "transactionHash": "0xcb2489eaecb4ef562e29cb09dbd093d4008a640891ef0b3d8257041a8085f1a1", - "timestamp": 1646850202, - "blockNumber": 14354182 - }, - { - "proposalId": 65, - "voter": "0x41cb7d39b1100B320E8CFe27db9b526c671e7A07", - "support": false, - "votingPower": 18874.196358090216, - "transactionHash": "0x0d42dcd1edbfaec31aee59beb302d913b5068f749e7eb7d151845c5eccdb6d59", - "timestamp": 1646859143, - "blockNumber": 14354834 - }, - { - "proposalId": 65, - "voter": "0xc4a936B003BC223DF757B35Ee52f6Da66B062935", - "support": false, - "votingPower": 92529.61013077926, - "transactionHash": "0x1a4fc724806019137c557844a2d15732e39daa5426948331a018bf7e20b95449", - "timestamp": 1646859254, - "blockNumber": 14354843 - }, - { - "proposalId": 65, - "voter": "0x8dCF48FB8BC7FDDA5A3106eDe9b7c69Fc2C7E751", - "support": false, - "votingPower": 39888.72296007392, - "transactionHash": "0xddb571f80a17ea2b1608134e29e5a963ed157a42d96008e13a773afb861719af", - "timestamp": 1646859683, - "blockNumber": 14354882 - }, - { - "proposalId": 65, - "voter": "0x86C62a0DD8690fa2Ba6e3E3D9A18D021dBd2565A", - "support": true, - "votingPower": 10.656899149043179, - "transactionHash": "0x63f9c7916400d4a0d8491c1f10d3091ec559bbf08e4fe157c8ec36c21f4dd158", - "timestamp": 1646865889, - "blockNumber": 14355369 - }, - { - "proposalId": 65, - "voter": "0xF569914d4E46cBD6A91fDE6c8850a079604A271b", - "support": false, - "votingPower": 1218.2811185794153, - "transactionHash": "0x34ee54ab3402616f7ecb7302a5c1094bbed6a6fa1260b22d13682e190db8d4cc", - "timestamp": 1646880161, - "blockNumber": 14356440 - }, - { - "proposalId": 65, - "voter": "0x5e4568C4D8343052a06EC8AAB1e124AF08B73248", - "support": true, - "votingPower": 1.5462930525781995, - "transactionHash": "0xe18913cca9a9c5a9e2ac8d52b51c07ea3e3d10e6f89cb21aa9c6e4c13f9d722d", - "timestamp": 1646921539, - "blockNumber": 14359562 - }, - { - "proposalId": 65, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 103333.8474304624, - "transactionHash": "0x5562948ee19492e84fe76d9ffc967dc6211b611223295b3e663829af6220f108", - "timestamp": 1646945398, - "blockNumber": 14361366 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 66, - "voter": "0x329c54289Ff5D6B7b7daE13592C6B1EDA1543eD4", - "support": true, - "votingPower": 24727.861907629755, - "transactionHash": "0xb4ce8d95307a77ed96a64f030d166aa670476941b37d00e123d3b4b2c6e77431", - "timestamp": 1646824508, - "blockNumber": 14352228 - }, - { - "proposalId": 66, - "voter": "0x7a67928bB379974768668D50ab991Eefb5F08c0e", - "support": true, - "votingPower": 0.005, - "transactionHash": "0x6b3f584f18e4091b8aa8d2e1c65a24974ee79ebc2ff96931d2c765afe3d082fd", - "timestamp": 1646839226, - "blockNumber": 14353347 - }, - { - "proposalId": 66, - "voter": "0x7b9A7d69832F353e54D65188473DDe2a7789F612", - "support": true, - "votingPower": 0.0330085, - "transactionHash": "0x280174b017c4d385bdcb22fd4bdcae1032b130e53d1a46665fc98c457f800b3f", - "timestamp": 1646839398, - "blockNumber": 14353357 - }, - { - "proposalId": 66, - "voter": "0xF569914d4E46cBD6A91fDE6c8850a079604A271b", - "support": false, - "votingPower": 1218.2811185794153, - "transactionHash": "0xece5dda2dd514258c821ff0b2c5cb6dced5a48eb0797e1e24f6127c5717b6a9e", - "timestamp": 1646880447, - "blockNumber": 14356460 - }, - { - "proposalId": 66, - "voter": "0xaFDAbFb6227507fF6522b8a242168F6b5F353a6E", - "support": true, - "votingPower": 93442, - "transactionHash": "0x6c72aa4505c87bb94a70034ac65f35051c9e9d8bc237baba9aff6160e2177ef2", - "timestamp": 1646900581, - "blockNumber": 14358016 - }, - { - "proposalId": 66, - "voter": "0x5e4568C4D8343052a06EC8AAB1e124AF08B73248", - "support": true, - "votingPower": 1.5462930525781995, - "transactionHash": "0x93cb60ad663bc73b9dc9f67cb6c56311f096f99dee777a36e2468d9f3e14ff26", - "timestamp": 1646921641, - "blockNumber": 14359569 - }, - { - "proposalId": 66, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 103333.8474304624, - "transactionHash": "0x2dc4fc95ea64ecc2733621c2ce821b0214e5cc155495fb5951f0f172822f4922", - "timestamp": 1646935677, - "blockNumber": 14360608 - }, - { - "proposalId": 66, - "voter": "0x7bf1b494Bc101F1Aa422064804069d205b73163b", - "support": true, - "votingPower": 2317.4771639564538, - "transactionHash": "0x4982a7e318ee1aabd6e38c0fbe4e8b324186597861cc0d01eb56a75dedb71ecf", - "timestamp": 1646994369, - "blockNumber": 14364970 - }, - { - "proposalId": 66, - "voter": "0xc4a936B003BC223DF757B35Ee52f6Da66B062935", - "support": true, - "votingPower": 92529.61013077926, - "transactionHash": "0x14234949894e9c63390da37da2efb6ac7e6295168480420904cd955c344b261c", - "timestamp": 1646995934, - "blockNumber": 14365085 - }, - { - "proposalId": 66, - "voter": "0xb0c1aeAd9eb620c8FADac9b84492033639bAE169", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0x23e441a9d2e86a2641af8fc522d6e57a078b8da149736c816b35157ba04e54ef", - "timestamp": 1647002299, - "blockNumber": 14365579 - }, - { - "proposalId": 66, - "voter": "0xb4CaA764e2bf087f1a7a0ceC43250892022787d9", - "support": true, - "votingPower": 0.0241, - "transactionHash": "0xcd30e6ea7bf05ea5c8fa4b113ab7a3c11272de262f9590c9e0e9fc09e745d43a", - "timestamp": 1647002711, - "blockNumber": 14365616 - }, - { - "proposalId": 66, - "voter": "0xD392613939b24d48FE8C5C86A82A868fF8bD6661", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0x7bd0ed75c529ce46e26e3a035f8351d8b65e3c280a9b322b4187e2fe287f74e3", - "timestamp": 1647002792, - "blockNumber": 14365625 - }, - { - "proposalId": 66, - "voter": "0x4932320615A27AEC2BA14DAdD82b775ddFcae888", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0x55ea8463ca79584cd0a15a7b5f889a77872bb28a893c5aa270a136b2eb7e66b1", - "timestamp": 1647003562, - "blockNumber": 14365679 - }, - { - "proposalId": 66, - "voter": "0x7285502ED0A0Ed25F65941E480bda7114492acF9", - "support": true, - "votingPower": 4.847014885047622, - "transactionHash": "0x74c2b0aa84afa51f018d05ac041ddc7b1b424f15e31d6232ed0d4e4c4879313f", - "timestamp": 1647003684, - "blockNumber": 14365689 - }, - { - "proposalId": 66, - "voter": "0xfAb4b5F085691e6174190427f69ebC3eC9F80f9c", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0x9a0a1f841e5558dc5ae1aa9eaa4573b91349843e2bc20590f7505e9812aad04b", - "timestamp": 1647003879, - "blockNumber": 14365703 - }, - { - "proposalId": 66, - "voter": "0x26b14FDdC9cECB3beCDfb2f63BC464b6E3C4f3C0", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0xb08804cb249d3ce55a2ce92ef6db7b2a54fdc7b2cbddd5256b7683553f8c19ea", - "timestamp": 1647004078, - "blockNumber": 14365717 - }, - { - "proposalId": 66, - "voter": "0x5d91F2ACDE102966281C7A93d1695A12CBd21Fc8", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0xda580ff4bedf9ca9f073dc3c367270d2a950024f00cf97f2f35358620904c4d0", - "timestamp": 1647004287, - "blockNumber": 14365732 - }, - { - "proposalId": 66, - "voter": "0xCbd4Af4b0b151F4D40867598966C0F1e957920b0", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0x0387a1552e3e251d46506ade2a66f5496e411e8fcf1366d13220119810275246", - "timestamp": 1647004323, - "blockNumber": 14365735 - }, - { - "proposalId": 66, - "voter": "0x29F80426F1aCBdCB2Cae32C413207d6eeD5078AD", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0x4139ed8f197356e08253d65b3e85af9b5225c5ada9d3fa65657e42e8724f0b01", - "timestamp": 1647004323, - "blockNumber": 14365735 - }, - { - "proposalId": 66, - "voter": "0x803826866d2077473cC9Ec296381f6c6A2c401B6", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0xc4fba15db74b8f8be86d2366fa21e3e16213eba45d44d510bbf4c874ab5ad8a1", - "timestamp": 1647004323, - "blockNumber": 14365735 - }, - { - "proposalId": 66, - "voter": "0x5575868bfAB83fD3c19cc876d57055A2e44381F0", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0x3350193b760ae14330b52c137562b160abd6c110a61c8ee7bf6a3f6b091ee03c", - "timestamp": 1647004323, - "blockNumber": 14365735 - }, - { - "proposalId": 66, - "voter": "0xb49083533dd4293eB40Cd351e047E305a13Ca1e2", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0xe59b1721ea9b7c6858a4043629eb51962a6ee7918d67eab93180895c16b912cc", - "timestamp": 1647004323, - "blockNumber": 14365735 - }, - { - "proposalId": 66, - "voter": "0x4DCB389201C60b3503c0Bb04F35748e6377303Be", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0xc76431651b187b4e287a7cd85055f3744c99e177945d0060c0c54e0cf634dd19", - "timestamp": 1647004323, - "blockNumber": 14365735 - }, - { - "proposalId": 66, - "voter": "0x0121aB155dAFC3FF69Fbb2e822EB497b073ca15c", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0xedd983b178c0c2a46370f5f762f3a36d2d2865b933bfa0152357fc8822d62e51", - "timestamp": 1647004323, - "blockNumber": 14365735 - }, - { - "proposalId": 66, - "voter": "0x6E4A5C345fb309e4C1b48e923651b459A845A40F", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0xc2a1a05d3e15b5e6fab6f96047092b5f4e676cad9b71a01058a25a2066408650", - "timestamp": 1647004353, - "blockNumber": 14365736 - }, - { - "proposalId": 66, - "voter": "0x8F9296413A9e299F2E9dde671A4f8e0D28a185C8", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0x11e84a558f70e3989a88bbfd1dd66931b1d50379c7e165367ddfb6af10516d0b", - "timestamp": 1647004353, - "blockNumber": 14365736 - }, - { - "proposalId": 66, - "voter": "0xA3552135Ecd11cf94Cbd51E142b623096373491d", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0xc71d36ea967169e39c8c0ea7076ca7801dcaece117a39c2ee158228b94333634", - "timestamp": 1647004354, - "blockNumber": 14365737 - }, - { - "proposalId": 66, - "voter": "0x285179eE774A014D78F6eFe660ef228de9B86BF1", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0x3458e82bd435a6567d2151c625c5019c51b464b6b338ed618fd980d535247636", - "timestamp": 1647004354, - "blockNumber": 14365737 - }, - { - "proposalId": 66, - "voter": "0xcc46bCde786912e8FB971c8c4689E318AAb8e631", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0xf80c2cfbd85891ed614b6e2bdb0c5298ccee93269facf562a7b5ceffe55d0c5a", - "timestamp": 1647004354, - "blockNumber": 14365737 - }, - { - "proposalId": 66, - "voter": "0x5a62B2A2825E8227dcB70B33de2B66C0834A29C1", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0xc8d39050859a878de3aa7e0bf77953a7d0818811c439f0cf95d988e21df11d91", - "timestamp": 1647004354, - "blockNumber": 14365737 - }, - { - "proposalId": 66, - "voter": "0x3EDcE9Bf04701AEDd9c82778C1ce7476Ec7D76A2", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0x298d7a6b014f7309ccde582588c67eb39b4c11f819c74cf5f2c296dec78fbb29", - "timestamp": 1647004360, - "blockNumber": 14365738 - }, - { - "proposalId": 66, - "voter": "0xd85fcc6C53f46C911e3EBd6E376B58664CBdFAb7", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0xcd135d2138aae70bc1a9e5944fcfe077b49214c16efc589e4f5bd69429ee23bc", - "timestamp": 1647004360, - "blockNumber": 14365738 - }, - { - "proposalId": 66, - "voter": "0x2957F4DBb83C99520a3886261Ad947f76487f3C9", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0x94ae0f359b75ca43293c0f1b026cf1a003a316cf07e258c8f64562cd6a9f762a", - "timestamp": 1647004360, - "blockNumber": 14365738 - }, - { - "proposalId": 66, - "voter": "0xdF1e08B22C8027f863C3EB190F00aC8432760280", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0x20c0a720fd1def7baf450c20a00cd0a1a3cd35030f0d80a5e922ee1532990b81", - "timestamp": 1647004360, - "blockNumber": 14365738 - }, - { - "proposalId": 66, - "voter": "0x06A6F99B87707E0965C3896280DF48E7c99A7562", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0xde6eb2f6c360096db5fe0ad615e720620e86fd593d65f88c7a85a025b9e2669b", - "timestamp": 1647004360, - "blockNumber": 14365738 - }, - { - "proposalId": 66, - "voter": "0x707567c1CE004fa6E6041bEda78E169502d9673B", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0x7f300d0ee22c70e110f2d3b618417ccebe10db7ccf253500c7bc692c934a7413", - "timestamp": 1647004360, - "blockNumber": 14365738 - }, - { - "proposalId": 66, - "voter": "0x22C85d797F39952aF77803f47bF65183eBFeCCC0", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0x912e7266c7a8a3de6c7f05066e86e95cf44cf7a4a2db26f44b0a154a92a36ea4", - "timestamp": 1647004360, - "blockNumber": 14365738 - }, - { - "proposalId": 66, - "voter": "0xFaDe0Cc570dF1a6D98188065cFBaD5391646f95F", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0xe8e43ddf0bb75f0e92bba5628cd681cf2a941eb08c8eb3b1fd192eb9648ff9f4", - "timestamp": 1647004370, - "blockNumber": 14365739 - }, - { - "proposalId": 66, - "voter": "0x52b00B6398a91962E8efbBE13592776B2100f709", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0xc5461d721518e37843ba50d536befdf53653c36eeaecfb64cccbd0ad556242a0", - "timestamp": 1647004371, - "blockNumber": 14365740 - }, - { - "proposalId": 66, - "voter": "0x8415Fd30B27C5146DB490dA95b416D32E44a518C", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0xe10d961f064a8dd2c069232ecc0fd0ba7fd2829536f10af180aa523cca6d92ff", - "timestamp": 1647004371, - "blockNumber": 14365740 - }, - { - "proposalId": 66, - "voter": "0x54d8C330Fb729eb13adF18a00D4B81C11Ea3905c", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0x1d485ce780e37c3141a91bdb600a0a5b486c3f5ad0431646ffca9a974e0d4202", - "timestamp": 1647004371, - "blockNumber": 14365740 - }, - { - "proposalId": 66, - "voter": "0x93c7CCD666fa7e6fE7437be14f2B410cca0692f2", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0xe5eb0147ba0d243cafb1c2c1f09af91a2aa35f15a46724e1e32e50309f8f4307", - "timestamp": 1647004371, - "blockNumber": 14365740 - }, - { - "proposalId": 66, - "voter": "0x4e9D83a8Df07Bc7D2a1e691B75378D71e7a4fCd0", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0x6ab77f1bfc23811e14f6d1256d69cd07d157d504b6f01dc28c4b880ea78cb5ce", - "timestamp": 1647004371, - "blockNumber": 14365740 - }, - { - "proposalId": 66, - "voter": "0xA469011f80098B3c48DD11174B9cd07Df88A2a56", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0x0fa280628eadafa49e01ac3cb0681386d28eab27923d70e084d052f3f589518d", - "timestamp": 1647004371, - "blockNumber": 14365740 - }, - { - "proposalId": 66, - "voter": "0x46AcC5048ccD6941Ad6a9db0295f838801eA9510", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0x76a944151414673a3c5e3523187bcc098f29e8aee51dbb1ef75bc3bdf77b2e00", - "timestamp": 1647004371, - "blockNumber": 14365740 - }, - { - "proposalId": 66, - "voter": "0x1043a873b4d7DDA04Bd63f0b35Cd94c4Da60fA20", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0x14b450c2505f5988875bfa82e923dff288410e32ebb4a1169ba41447ce062455", - "timestamp": 1647004371, - "blockNumber": 14365740 - }, - { - "proposalId": 66, - "voter": "0x6FfA487c9266fB90f2B7e3b50A70998f2827A55A", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0x0e6b5c2eb819a0ff0bd7de829c75af580f1bba1211ef0f57e4a868c441837d75", - "timestamp": 1647004371, - "blockNumber": 14365740 - }, - { - "proposalId": 66, - "voter": "0x5702A96640a8E5f022d702Af2ba9CbA54DfC69A5", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0xf0213bd97c251fa8b74a37372d921c2a671c458565d9b398e9dcd877b46b9c7a", - "timestamp": 1647004387, - "blockNumber": 14365741 - }, - { - "proposalId": 66, - "voter": "0x320ad99A5dE48648ECC9d423F565C01aB1E5c1B7", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0xd1fb966d229e1e2e2a174706726f7f259886dc6fdf0cca3b5483074a6e57a09e", - "timestamp": 1647004387, - "blockNumber": 14365741 - }, - { - "proposalId": 66, - "voter": "0x508E5B0fcf98ef9b01Eb1830af36596EA68712FF", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0x8ebf6bf80e2b6aee39506fa3187b0a3b22f292a376c760466663e3078cdfc870", - "timestamp": 1647004387, - "blockNumber": 14365741 - }, - { - "proposalId": 66, - "voter": "0x6416269c20FD94717A30791E9494A3913bd6Be69", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0xef0a589eb82ad3a7ecd5b5c4f2486e4dde7dc94f700f2260440b386c2c8783ba", - "timestamp": 1647004387, - "blockNumber": 14365741 - }, - { - "proposalId": 66, - "voter": "0xe96D0436E18852EB177A9A5dD3eCe1CC8c75c2bb", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0x5ddbf8ae8e806b42fe2912dfc8ab438f18ed2c3d3a03f11614b5861c0f2a9667", - "timestamp": 1647004387, - "blockNumber": 14365741 - }, - { - "proposalId": 66, - "voter": "0xCf46046208909B9C4339025B81Db0670eA3B1E58", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0x58b4a51795a374fb62b672d43940a02b3733b28a1ce4b020b45db04d02611797", - "timestamp": 1647004387, - "blockNumber": 14365741 - }, - { - "proposalId": 66, - "voter": "0x052705855fda32cAC7062b721AAa3d968C944641", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0x51077030dc9a1a3e3de3f144ce0f3947b0ab1eadc0e18ed654a98fa7b2a858cb", - "timestamp": 1647004387, - "blockNumber": 14365741 - }, - { - "proposalId": 66, - "voter": "0xEC2bB33752A8ff83679174AD487E25b0E7B2DE98", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0x770c72b984125751196d07a40ce194fb7765f0140523d5a50e31e76cb7448b25", - "timestamp": 1647004387, - "blockNumber": 14365741 - }, - { - "proposalId": 66, - "voter": "0xb9D1e3023fE6fCf2dC1fD23F7E9edd44067ed97c", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0xb56c094ce9196b4202d2983ee6cae4e243fb6d1b088ef89e8c4ccad9da11c94c", - "timestamp": 1647004387, - "blockNumber": 14365741 - }, - { - "proposalId": 66, - "voter": "0x94C11b20Ed177F8Ede5920DD18e302ebdDE5444B", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0x3c95f1978375b4ba4bcb849b8a694d1b3693873b8d21f0d20bd54b00a74809a5", - "timestamp": 1647004387, - "blockNumber": 14365741 - }, - { - "proposalId": 66, - "voter": "0x22c3D7C9Ed58Ca1CB38E7557E28Bd8999f3E66e4", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0x63ac3aedbcc845b2b560568094d8116522310cb805758de18ada85f93d58e279", - "timestamp": 1647004387, - "blockNumber": 14365741 - }, - { - "proposalId": 66, - "voter": "0x2339145825894aAa5c5e53fdE3cE27791DdA138B", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0x8b3d728d7e22ca26bd4a75c201659b4badbf1c8ec9b96b2dd7ad1200905a46a8", - "timestamp": 1647004387, - "blockNumber": 14365741 - }, - { - "proposalId": 66, - "voter": "0x24104DCE34B090E94e8f710C3D761362290c8EB9", - "support": true, - "votingPower": 0.0291, - "transactionHash": "0xee9c43a13fc29368d30df74d2817777a657b1347c6b903620e9e2c5b3f51a7e5", - "timestamp": 1647004387, - "blockNumber": 14365741 - }, - { - "proposalId": 66, - "voter": "0x987f05B5eEB8B30b02329D3888bebc3a7424e999", - "support": true, - "votingPower": 1.11, - "transactionHash": "0xee008059026699f67902ccc1bc1fd27a8b9718d21585d1f1b1f4f15e7c09162b", - "timestamp": 1647007758, - "blockNumber": 14365982 - }, - { - "proposalId": 66, - "voter": "0xb16C8DD25d61716e50Fe9dC2C828060226B2F4CD", - "support": true, - "votingPower": 1.1, - "transactionHash": "0x9e9b70be1f72ef052695c2b3dd85109e9f47160664e7253506026a9573de63f8", - "timestamp": 1647007984, - "blockNumber": 14366000 - }, - { - "proposalId": 66, - "voter": "0x2943EA8B50ba884a253286870b34279450BBa4E1", - "support": true, - "votingPower": 1.1, - "transactionHash": "0x5d18a24ea098696ce5707748a695f3a1e3e74cb32c60e18774fb56122aeaa24d", - "timestamp": 1647008630, - "blockNumber": 14366045 - }, - { - "proposalId": 66, - "voter": "0x715210dA31165a05a2481A512E1c3D253D8E13fF", - "support": true, - "votingPower": 0.502193, - "transactionHash": "0x502b004e15365e71f2d8d00f224c0b1dd321382a2e1a86d5ce13216d05d43151", - "timestamp": 1647009753, - "blockNumber": 14366130 - }, - { - "proposalId": 66, - "voter": "0xA8Fe82a8a726aAc05c4CB7F336989b5535cE46c5", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x0b96cb1671a663d0904c975e72dde232ac660a748c639e945658999244ca9470", - "timestamp": 1647009823, - "blockNumber": 14366140 - }, - { - "proposalId": 66, - "voter": "0xa4303850AA2aE3e7396F28814402D22B1615810C", - "support": true, - "votingPower": 5.1, - "transactionHash": "0xd5b9084b3eb0d2dd080e99b1a96760fce8bd7b8df6667e9524babbdff08f418f", - "timestamp": 1647009931, - "blockNumber": 14366149 - }, - { - "proposalId": 66, - "voter": "0xA519a7cE7B24333055781133B13532AEabfAC81b", - "support": true, - "votingPower": 16.730843355897935, - "transactionHash": "0x7b2aa9f3b0989355b7bac0358eb528fbb6460ae437494ef49aac80c3b52b69e7", - "timestamp": 1647010928, - "blockNumber": 14366218 - }, - { - "proposalId": 66, - "voter": "0x3cd411AFcC7d02BbE54D345602F5ed3Cf80D1C7C", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x16e5b947147eb63699725015812b4a66f1412ba9e24429c67146bc420555971f", - "timestamp": 1647010950, - "blockNumber": 14366222 - }, - { - "proposalId": 66, - "voter": "0x5B9045ADFAf64f84f9E7eeFC32CaFD7A5ebf0fa3", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xfb0ff8bc2c46b986688d23a4f3aeaa625f4add45778569f257cf4c1d2473c563", - "timestamp": 1647011005, - "blockNumber": 14366225 - }, - { - "proposalId": 66, - "voter": "0x7d8021EDfC66e33809Df2fEbD3a35054B8AFffc1", - "support": true, - "votingPower": 2, - "transactionHash": "0x0fba916f434df6d46fffcf9c8b164f64bd2ca267440febaa82b0dfad13869cd1", - "timestamp": 1647015676, - "blockNumber": 14366548 - }, - { - "proposalId": 66, - "voter": "0x0F11640BF66e2D9352d9c41434A5C6E597c5e4c8", - "support": true, - "votingPower": 48.24292743, - "transactionHash": "0x217b111bd1ee8bb4a5b53fccaa4e759fcb22bac5e431c47c0020cace54366cf6", - "timestamp": 1647015758, - "blockNumber": 14366555 - }, - { - "proposalId": 66, - "voter": "0xdd45542cCf17A16F5c515c20db7F7C7D8bB74Cc5", - "support": true, - "votingPower": 55500, - "transactionHash": "0x55efcfc0623032dc13a2bdf6f2fb9c208df7c5a90c9ff15e0e16cdc994364694", - "timestamp": 1647022237, - "blockNumber": 14367021 - }, - { - "proposalId": 66, - "voter": "0xA3f110F188CbC9af11382C30ed1796db2ed171F4", - "support": true, - "votingPower": 7.29223113927881, - "transactionHash": "0x18a6201f58f480c08778a9494e3d3f4b74191e7a2974b3522bc115ff4c0a0484", - "timestamp": 1647048594, - "blockNumber": 14368997 - }, - { - "proposalId": 66, - "voter": "0x86C62a0DD8690fa2Ba6e3E3D9A18D021dBd2565A", - "support": true, - "votingPower": 10.656899149043179, - "transactionHash": "0x98924aa9f68c5f2039e1479207f6685a192d61ada3b3f79c18a3080906dc731c", - "timestamp": 1647048901, - "blockNumber": 14369014 - }, - { - "proposalId": 66, - "voter": "0x83C9440dc34DA00c47A0d4dC2b598d7BDB1b53F7", - "support": true, - "votingPower": 0.8736625682184855, - "transactionHash": "0x4d616255757fe3011a876809623bcb8bda7d909d7f91af06f40569ec66f8ff2d", - "timestamp": 1647054948, - "blockNumber": 14369479 - }, - { - "proposalId": 66, - "voter": "0x5DE64238dA2d7A5F1949C1bb1958273C22c5EE01", - "support": true, - "votingPower": 12.858826205944593, - "transactionHash": "0x7f0e03ea2b3241aa0348e0b9ede88c27ff546f4899f86496e441bb5ced4e2bac", - "timestamp": 1647057719, - "blockNumber": 14369711 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 67, - "voter": "0x4d477F1aabcFc2FC3FC9b802E861C013E0123AD9", - "support": true, - "votingPower": 0.1092903026824001, - "transactionHash": "0x7e804fd9bd78d20b957881c43c99db78e6508a1b9e814e355d543949e96f3547", - "timestamp": 1648027206, - "blockNumber": 14441692 - }, - { - "proposalId": 67, - "voter": "0xeac7824c2F633c53d2acfab0c8E483789b7E10E7", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x63e87365f127206d877ccda320ec758ae489e3922d4b219e01006711116fd2ef", - "timestamp": 1648028396, - "blockNumber": 14441774 - }, - { - "proposalId": 67, - "voter": "0x413FD6B18910e516Da68d3292aB9b2DD3A87971d", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x9bb6dc7ab3fac393ddd2adf5f2d36bf61665c635856f2d69007507a5fa6b7b40", - "timestamp": 1648028396, - "blockNumber": 14441774 - }, - { - "proposalId": 67, - "voter": "0x0586cC847C82397C443992fAcDC8cAE0dBa46956", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xb60d8e852a804e26a87f5b74ab76e93b5aba8134dc6d2c2b88460d2eb74d6569", - "timestamp": 1648028396, - "blockNumber": 14441774 - }, - { - "proposalId": 67, - "voter": "0x03154B9E76B3e6EB27357CcFD638f9Ac9085E8b3", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x7d279b759ea807dde502f113b1e49954efc3e884910fa61e834e0f68ef5dae37", - "timestamp": 1648028396, - "blockNumber": 14441774 - }, - { - "proposalId": 67, - "voter": "0x068Db2A4655158Bc61e6147c0015BD2c63b4cf08", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x5991d26e6cabfd6550836a4f3805d7c2931c08baa99e72b204c6ffbe837b0691", - "timestamp": 1648028396, - "blockNumber": 14441774 - }, - { - "proposalId": 67, - "voter": "0xCDd05baE4c5bA7Dc483d092903aaf3036E91efdF", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x969fd68c8980a284a64e23849a1e7be123e5256f7779b8854864dd321a55cd18", - "timestamp": 1648028396, - "blockNumber": 14441774 - }, - { - "proposalId": 67, - "voter": "0x13ac0D7bb293163922Ca296a0c3fb1b236c815F0", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xa5748f510d3da8bdfb8724ae3cab5f8abb03317907e4798d743eee565a796126", - "timestamp": 1648028396, - "blockNumber": 14441774 - }, - { - "proposalId": 67, - "voter": "0x4a1d9E3B1a543601a7550D9490Cb41936265F715", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xa33c4ea2372f2530162b672033148e9e2e6756b1c804dca55838f1f8852f422f", - "timestamp": 1648028396, - "blockNumber": 14441774 - }, - { - "proposalId": 67, - "voter": "0x6bf3B32C6cD3D657f602347666244377793282e3", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x030c92cf60bb65f484ad43a7979248e522aa710b3072c6562e01b88086890063", - "timestamp": 1648028396, - "blockNumber": 14441774 - }, - { - "proposalId": 67, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 103333.8474304624, - "transactionHash": "0x371d936c34a95f60fe40c618a49711950f56a1332e148ac669c512d55e283215", - "timestamp": 1648056004, - "blockNumber": 14443860 - }, - { - "proposalId": 67, - "voter": "0xDD659911EcBD4458db07Ee7cDdeC79bf8F859AbC", - "support": true, - "votingPower": 50.1412964, - "transactionHash": "0x1f24e38de5aa2d13450f401556421793fb978bf52b1c3ffe008633309d0ab501", - "timestamp": 1648058540, - "blockNumber": 14444022 - }, - { - "proposalId": 67, - "voter": "0x7a67928bB379974768668D50ab991Eefb5F08c0e", - "support": true, - "votingPower": 0.01746923, - "transactionHash": "0x6de70afdcbd35626a2c19be5b0797f24b593aefd7d5a58194fba83dc3df70bb4", - "timestamp": 1648098513, - "blockNumber": 14447008 - }, - { - "proposalId": 67, - "voter": "0xd14D32F30b184983d3360c6F4b6593d41eD834F4", - "support": true, - "votingPower": 0.06, - "transactionHash": "0x49380ee03ed6975a0898cf7e075e9f92d71943d00188ae0c76eaa9f9c6154531", - "timestamp": 1648099600, - "blockNumber": 14447086 - }, - { - "proposalId": 67, - "voter": "0xe84Fec3f6418A154C742A5217Eb496590ac22766", - "support": true, - "votingPower": 0.06, - "transactionHash": "0xaec35b86d6b28d222c28906fef58eec1b36ee01aebee891d501c5ec7ab6d2afa", - "timestamp": 1648106482, - "blockNumber": 14447577 - }, - { - "proposalId": 67, - "voter": "0x6dE8b641B9B2b22F272d65106f0C471B612091C8", - "support": true, - "votingPower": 0.06, - "transactionHash": "0x669f6630797a3e1072f2dbc2bad2c2af89f6615977287896661127fed9687412", - "timestamp": 1648107339, - "blockNumber": 14447643 - }, - { - "proposalId": 67, - "voter": "0x9830037D21c8651ed1958ee414f42EA0A6A50475", - "support": true, - "votingPower": 0.06, - "transactionHash": "0xcb7383490177b19f69dcddf1efd74d9e472b55e9facfc71b204ea8e868ae2ffa", - "timestamp": 1648107552, - "blockNumber": 14447658 - }, - { - "proposalId": 67, - "voter": "0x2069Fb2721738B4C38E5D916Ca9a9E3a5A35A62d", - "support": true, - "votingPower": 0.06, - "transactionHash": "0x800c06f76bab7e9b9078b1fed2414a295172bced4cdc835b20666a4cb5f4f53b", - "timestamp": 1648108692, - "blockNumber": 14447745 - }, - { - "proposalId": 67, - "voter": "0x7343847FAD3912bB7081d477B2e15C8f8C69f28a", - "support": true, - "votingPower": 0.06, - "transactionHash": "0x639f02617dad816fbd6a08d91158d0f624682f7d29a17bf05d3c34bc6d2a1efa", - "timestamp": 1648108730, - "blockNumber": 14447749 - }, - { - "proposalId": 67, - "voter": "0x3c807Af9AB4b6bE4B0740BfE464Dc0DF2a8e519B", - "support": true, - "votingPower": 0.06, - "transactionHash": "0xe9935dd47e978f13d080a14360a3236512ded53dc17a6e510b8b73a54298a65e", - "timestamp": 1648108730, - "blockNumber": 14447749 - }, - { - "proposalId": 67, - "voter": "0x110EF3690d553584073016287F3406955430C8ab", - "support": true, - "votingPower": 0.06, - "transactionHash": "0xaea1915dd4d6037781406ac0a6ea085cd5adda818209443f45a8532e99bf5bdc", - "timestamp": 1648109267, - "blockNumber": 14447788 - }, - { - "proposalId": 67, - "voter": "0xd06ACbe86BB06C731e4892D14243450C7c3bDD97", - "support": true, - "votingPower": 0.06, - "transactionHash": "0x1b234d74e7efb1ed1f7dfe81d5dc4da129e3d0a04c7d874a5f65a7f9c1480182", - "timestamp": 1648109267, - "blockNumber": 14447788 - }, - { - "proposalId": 67, - "voter": "0xd67516C09C4FCB8289806a7f1602508a0D435Df8", - "support": true, - "votingPower": 0.06, - "transactionHash": "0x1a74343c500f64649d7bdb4b84822997dd3d0ef20c039837f7d0a474404fa60c", - "timestamp": 1648109423, - "blockNumber": 14447802 - }, - { - "proposalId": 67, - "voter": "0x48c767aAdf1c5f6aBf59053aa7c463Ba8d921DE3", - "support": true, - "votingPower": 0.508, - "transactionHash": "0x3494a8244b86f09099e441625e58b45d0c88c0d75650add089718ad1a90a5a73", - "timestamp": 1648110968, - "blockNumber": 14447936 - }, - { - "proposalId": 67, - "voter": "0x1c631824b0551FD0540A1f198c893B379D5Cf3c3", - "support": true, - "votingPower": 36.5804287050687, - "transactionHash": "0xd630be07f001e676a37a7dd1283bef4f155918aa2211ca74484b0a770ef5cfe1", - "timestamp": 1648113400, - "blockNumber": 14448089 - }, - { - "proposalId": 67, - "voter": "0x1B88Bdd5954B221fAC94619d28AB3b0B8c9d35a7", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x64b320e71d1bde55a626115334ebe60cf3c23908dfb701fe73e0c80d0b3b4fc9", - "timestamp": 1648120754, - "blockNumber": 14448650 - }, - { - "proposalId": 67, - "voter": "0xb3A639757973AC341533344C78D457B934108c8D", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xbbfc850a0e4026580e1ada022edf45c978ea06d9b862c14e9c25b76a373598b2", - "timestamp": 1648120764, - "blockNumber": 14448654 - }, - { - "proposalId": 67, - "voter": "0xE41E94b337A461FBbfB1921c89D322A999B920E9", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xae7e4b4e08c2a87e5acd940a3f6f52690494dfc5a3e6ef92dbc3723523da1d61", - "timestamp": 1648122198, - "blockNumber": 14448761 - }, - { - "proposalId": 67, - "voter": "0xABCa822E2Dc539f2E106A933f362B807C0669567", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x43ce839a80edf21b8e0b48c81477fa001417b0fc2380ffce140f2bf5497600de", - "timestamp": 1648124873, - "blockNumber": 14448954 - }, - { - "proposalId": 67, - "voter": "0xb8C2C0Aa32a95351ffa9450509C62379a42a4f87", - "support": true, - "votingPower": 18978.44115123291, - "transactionHash": "0x08b995f1d361bd0c21b72a08f21a8588397d908e66a4663495ac0f001b9dd420", - "timestamp": 1648125892, - "blockNumber": 14449037 - }, - { - "proposalId": 67, - "voter": "0x97D5bD51A9aC3C42782dc0Eee9eDF2E4AEcf0815", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xd53ed916ad97eb3afd64dad0d8a318f4133edcec1cce174fd4610bc971d8e61b", - "timestamp": 1648125892, - "blockNumber": 14449037 - }, - { - "proposalId": 67, - "voter": "0x7eC062D194F87022A908f943C86b7b9CAfA23662", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x710776f814482e92733e482ee20e9e5eb904c2876afe208866bd38737e2c2f33", - "timestamp": 1648125898, - "blockNumber": 14449039 - }, - { - "proposalId": 67, - "voter": "0xB8fa465f176A95c9b0C757CaC2985F2164a8e675", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x438bf80d05628bd86c311a1104e272edc0ab5c0935d5238b1795c595e850d527", - "timestamp": 1648127729, - "blockNumber": 14449189 - }, - { - "proposalId": 67, - "voter": "0x70DdC90b218bb7A6D710d9e2d498bB38Ff499AeD", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x0e79eee1bbdc2798b741e8c5093a0c819b1f8f9c3569e117b3d5a12f2c4c091a", - "timestamp": 1648184906, - "blockNumber": 14453480 - }, - { - "proposalId": 67, - "voter": "0x3617F9e9D601483CBA5239AAF5a3912edf752D0B", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xdf8e8e4613df18abb958fae4b63ff3ca616b886a7c15fa2a5957cac1428fec24", - "timestamp": 1648185160, - "blockNumber": 14453500 - }, - { - "proposalId": 67, - "voter": "0x1BEb1715899a355dfca4c763080E88F35286d025", - "support": true, - "votingPower": 17144.538545984647, - "transactionHash": "0xab9893e93439f8fbd174bea5fde876d6d2b43828324b7926a4bb1a9d660c2c55", - "timestamp": 1648192239, - "blockNumber": 14453979 - }, - { - "proposalId": 67, - "voter": "0xdd45542cCf17A16F5c515c20db7F7C7D8bB74Cc5", - "support": true, - "votingPower": 55500, - "transactionHash": "0xd582b6650b79ae5d38b4537f09100dfff5a2b6183ff92002f66ed18c9252dd69", - "timestamp": 1648193187, - "blockNumber": 14454058 - }, - { - "proposalId": 67, - "voter": "0xaFDAbFb6227507fF6522b8a242168F6b5F353a6E", - "support": true, - "votingPower": 93442, - "transactionHash": "0x4a5668f062af11958efb7dd1cb949529d1332b674b7f589c5962bdedf4d61a26", - "timestamp": 1648198079, - "blockNumber": 14454450 - }, - { - "proposalId": 67, - "voter": "0x683a4F9915D6216f73d6Df50151725036bD26C02", - "support": true, - "votingPower": 5991.606910108588, - "transactionHash": "0x063116ff709a5cf5db4440147077c1dabfe1842f6b6290b76e9b24a0621b5ae6", - "timestamp": 1648212897, - "blockNumber": 14455544 - }, - { - "proposalId": 67, - "voter": "0xA519a7cE7B24333055781133B13532AEabfAC81b", - "support": true, - "votingPower": 16.730843355897935, - "transactionHash": "0x71ae6f64a549aea5c768019c7775c720d47d26267c33009ce170bf2b55392fd7", - "timestamp": 1648224993, - "blockNumber": 14456455 - }, - { - "proposalId": 67, - "voter": "0x070341aA5Ed571f0FB2c4a5641409B1A46b4961b", - "support": true, - "votingPower": 10000, - "transactionHash": "0x73dfc0b5c3c39257c383413d84bd4e343a6f49897e752402e4d907390f7dc84c", - "timestamp": 1648229973, - "blockNumber": 14456821 - }, - { - "proposalId": 67, - "voter": "0x7AE109A63ff4DC852e063a673b40BED85D22E585", - "support": true, - "votingPower": 10000, - "transactionHash": "0x9e0f1893f15170417ffeaf9ba0ab531ec3c7e2e2b11f3500b38337ed601d3f68", - "timestamp": 1648251756, - "blockNumber": 14458418 - }, - { - "proposalId": 67, - "voter": "0x1B13aD8A2447535dA5a8c699E345B98c1a8165cE", - "support": true, - "votingPower": 12514.0282, - "transactionHash": "0xfc50e556d1c65d7bf51d180749b5607a74245b87271316c4c7fccf98056036d9", - "timestamp": 1648252872, - "blockNumber": 14458513 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 68, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 103333.8474304624, - "transactionHash": "0xe128d59b9fce07c453ae4dd0b24096871ae0bc38ed27c6176349cd5857d4b65a", - "timestamp": 1648236762, - "blockNumber": 14457335 - }, - { - "proposalId": 68, - "voter": "0x1B13aD8A2447535dA5a8c699E345B98c1a8165cE", - "support": true, - "votingPower": 12514.0282, - "transactionHash": "0x1752994dedebf44267e9bce4b738d05451c14420bfed0cb127b44f204baf03ec", - "timestamp": 1648239646, - "blockNumber": 14457514 - }, - { - "proposalId": 68, - "voter": "0x1B88Bdd5954B221fAC94619d28AB3b0B8c9d35a7", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xe5e065b50574d26ba6b5a02216f20081bac9d90d5af91eeedf58ef6dd6db3eb2", - "timestamp": 1648284641, - "blockNumber": 14460870 - }, - { - "proposalId": 68, - "voter": "0x3617F9e9D601483CBA5239AAF5a3912edf752D0B", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xc27bd076baca8b6c6813bbd9a27289a51e019e741511181bc6cb16efbd63b631", - "timestamp": 1648285057, - "blockNumber": 14460903 - }, - { - "proposalId": 68, - "voter": "0x70DdC90b218bb7A6D710d9e2d498bB38Ff499AeD", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x8674ba0e814d5aeee4bdf8f428029e35d4d825b90aff64e36f0f9a180ece8901", - "timestamp": 1648286339, - "blockNumber": 14460990 - }, - { - "proposalId": 68, - "voter": "0x7eC062D194F87022A908f943C86b7b9CAfA23662", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xa25bf13c5e04b3546beedc3dd005b788bfad64822802d7e2f0b6191a75c5a923", - "timestamp": 1648286964, - "blockNumber": 14461040 - }, - { - "proposalId": 68, - "voter": "0xB8fa465f176A95c9b0C757CaC2985F2164a8e675", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x7a93d5df74f62f7ff027fb972e5f345e439818ff63e8fcd61a25bbb900ffc36d", - "timestamp": 1648287044, - "blockNumber": 14461046 - }, - { - "proposalId": 68, - "voter": "0xE41E94b337A461FBbfB1921c89D322A999B920E9", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x80b833c4b0536f429dc2cc92d07981c27748a13ed5003d97f4b2881d2e44bb6a", - "timestamp": 1648287541, - "blockNumber": 14461086 - }, - { - "proposalId": 68, - "voter": "0xABCa822E2Dc539f2E106A933f362B807C0669567", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x8c99593f6af83f609e40b7865e9dbec851174c300b87b2b55412ea9c68b3ff50", - "timestamp": 1648287886, - "blockNumber": 14461108 - }, - { - "proposalId": 68, - "voter": "0x97D5bD51A9aC3C42782dc0Eee9eDF2E4AEcf0815", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xad5e66b92efc7cecc42493c28d71ebada76d6479dc2bd6fd774c02749bd68783", - "timestamp": 1648287886, - "blockNumber": 14461108 - }, - { - "proposalId": 68, - "voter": "0x7a67928bB379974768668D50ab991Eefb5F08c0e", - "support": true, - "votingPower": 0.01746923, - "transactionHash": "0x3bb818c7d0c833bca9aff64a7637342d0e65d698f8225b184edcade4d118b251", - "timestamp": 1648288137, - "blockNumber": 14461125 - }, - { - "proposalId": 68, - "voter": "0xb6D844E2529Bc79a444662aa55f72acA08fd8f54", - "support": true, - "votingPower": 73.98509615887833, - "transactionHash": "0xf7185b1153bfa205afd1417720eb5c51a0c14e946d31c6e0b22ad3d38c55bc2a", - "timestamp": 1648292837, - "blockNumber": 14461477 - }, - { - "proposalId": 68, - "voter": "0x4d477F1aabcFc2FC3FC9b802E861C013E0123AD9", - "support": true, - "votingPower": 0.1092903026824001, - "transactionHash": "0x972f9f25a2c82607ea5f4cdb8ca5a47e3a3b89924fdab81db7c4839e56b1dce2", - "timestamp": 1648294051, - "blockNumber": 14461558 - }, - { - "proposalId": 68, - "voter": "0xc290Cfb8D020c0615e9C63036f4319Cc41717E68", - "support": true, - "votingPower": 78.00244484938008, - "transactionHash": "0x1e051b241aa57605174155130443390acb838433faf7608d481a96df70bd537a", - "timestamp": 1648307367, - "blockNumber": 14462549 - }, - { - "proposalId": 68, - "voter": "0xA0efD27acC781549D5b78e89E561AA0903932d56", - "support": true, - "votingPower": 8.002657782527367, - "transactionHash": "0xe84cc970e183d18c51b608bac762a379e6699c25682f8895df46046aac6a0cc5", - "timestamp": 1648319543, - "blockNumber": 14463462 - }, - { - "proposalId": 68, - "voter": "0xe462eF298f6E6AB59D9CDc857c5A6a07C067dbee", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x57a9805e7cedd5b26ea3ad4cb849aa9fcae590a0bd1ff50b9bc78861ff52c156", - "timestamp": 1648363000, - "blockNumber": 14466660 - }, - { - "proposalId": 68, - "voter": "0x9C32443ec5B3c3604E2D29Ad1D41f8d3a859f278", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xca5fe2a0bc5273cbba755d4191566918b1b2095d349909b11aa23c2218429a88", - "timestamp": 1648363003, - "blockNumber": 14466661 - }, - { - "proposalId": 68, - "voter": "0x8a1034e56b0EE90d9b2A2d4D63B07bcAC9457283", - "support": true, - "votingPower": 3566.2151459943198, - "transactionHash": "0x557c9b9184817483ff364fbe33699cb0509afac4f654625847c099c2c16822ca", - "timestamp": 1648366195, - "blockNumber": 14466884 - }, - { - "proposalId": 68, - "voter": "0x063e07aFAEC50B98a3B9c393643800BFA475C383", - "support": true, - "votingPower": 0.07950236, - "transactionHash": "0x6a8f2cfbd010f4260950079376095a36e690253a560a425ceb11689c921a0bdd", - "timestamp": 1648368599, - "blockNumber": 14467064 - }, - { - "proposalId": 68, - "voter": "0xB69647c6624ABd6c38c6f023074faAa07F4b0b26", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xafd3920d5db5155529537ef3d3a0e428ea994fdcac26f97426a4d8677797f645", - "timestamp": 1648368599, - "blockNumber": 14467064 - }, - { - "proposalId": 68, - "voter": "0x739d102209c83f2713755D6b15d849d788E9b3FA", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x017ae7402cc0dc268e5748dcd171423e4fffd51827e35054b4f189b7618046b2", - "timestamp": 1648368599, - "blockNumber": 14467064 - }, - { - "proposalId": 68, - "voter": "0x4453dAB065B3C1B71A327F6706B607370aD74204", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xa524a56ea48737e0da1d1e45ca7681a053c2863a95ff6dfa10c7b93d7e7c0afe", - "timestamp": 1648368599, - "blockNumber": 14467064 - }, - { - "proposalId": 68, - "voter": "0xee78894bC89d60102abff055A32009A97A7Aa28b", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x5643ae0e68f02f9a1e31e48d1a3251503ad20c8f675c051a54b7b19d15510fa7", - "timestamp": 1648368599, - "blockNumber": 14467064 - }, - { - "proposalId": 68, - "voter": "0x2e1856bCfebaA64773A60dF4d0308cFf79512FCf", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x1539fe55f989f7eb6e53980130444b4d4b669ed8fee565d9cd434b584f8af99d", - "timestamp": 1648370469, - "blockNumber": 14467203 - }, - { - "proposalId": 68, - "voter": "0x26388Ee3216bf3957C437F003889bF7198DD2bc6", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x20301f1b996df482e4e2fd606cc3e8999fff42b5e0f811b021b086ce0c79e8c8", - "timestamp": 1648370469, - "blockNumber": 14467203 - }, - { - "proposalId": 68, - "voter": "0x4877e0ca88ECcEB7a594E8091519D90332E2D874", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x117db8c28180dba0f61c950cf5cc4057862b7293a2496549dc3fd306e3460b6e", - "timestamp": 1648370477, - "blockNumber": 14467205 - }, - { - "proposalId": 68, - "voter": "0x6ae0f17Eb9eC2923916Aa72eE1a88A70907E61e9", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xe1cfd946f1de8596792559b7c5e62bceee6c663530f17a37a8c99db370aa2732", - "timestamp": 1648370477, - "blockNumber": 14467205 - }, - { - "proposalId": 68, - "voter": "0x5fb37B98515789D0603aDb25fa9c2E400ed1Ec18", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x34a0741f263128c52500461f62e0c4fa1a05fb265b0ffe885e60d4cb890bd45d", - "timestamp": 1648370518, - "blockNumber": 14467207 - }, - { - "proposalId": 68, - "voter": "0xe81B63111A88bf9A5B22832EF594eA7a2D487824", - "support": true, - "votingPower": 0.11, - "transactionHash": "0xe647b3811dca31d897f1edabed515089937f4955448f2dec8d36ec200eee0d08", - "timestamp": 1648370533, - "blockNumber": 14467210 - }, - { - "proposalId": 68, - "voter": "0x846CA3b73B2E0c956abC90F3Cf456333FE1C9018", - "support": true, - "votingPower": 0.11, - "transactionHash": "0x35e5d419ade10ea66e5a584066ba6883158230070331d831deab4884fb75829d", - "timestamp": 1648370533, - "blockNumber": 14467210 - }, - { - "proposalId": 68, - "voter": "0xDcBF92f425696eeA32582602a512aaD8355bE101", - "support": true, - "votingPower": 0.11, - "transactionHash": "0xbeecdb1513f18c04166a57a0806a5790866e6c35dc61cdb1bd53bbdbc423fbe7", - "timestamp": 1648370533, - "blockNumber": 14467210 - }, - { - "proposalId": 68, - "voter": "0x899Ca2f14ae1944dfF85cf3aee2B7Ad666A313d2", - "support": true, - "votingPower": 0.11, - "transactionHash": "0x50514793ea1607f9b39afd05845b4a6b5ba5a0052c02646dce4cdb50603f0346", - "timestamp": 1648370533, - "blockNumber": 14467210 - }, - { - "proposalId": 68, - "voter": "0xabB88f61B11031FeC066810DcfB473aFeB85Be1f", - "support": true, - "votingPower": 0.11, - "transactionHash": "0x05008e5b871676affa5c7041f4d3ea9d1ed23bb0e93db202c32f189a89bc3943", - "timestamp": 1648370533, - "blockNumber": 14467210 - }, - { - "proposalId": 68, - "voter": "0x6835e9e1b56FB72b631A95D31D7BcC5CE46afc48", - "support": true, - "votingPower": 0.11, - "transactionHash": "0x5a937e7e0d8028fe3683b3e2adbc75006ec89d95fabb005da768dfbb38f230e4", - "timestamp": 1648370533, - "blockNumber": 14467210 - }, - { - "proposalId": 68, - "voter": "0xD9f60c4d4e023973790cD6B040527Ef70cCe6040", - "support": true, - "votingPower": 0.11, - "transactionHash": "0xab6596fdb75dfcc5be5b5c3efafd2d467e51f2d449fedfb53d10cc0f674e8a2a", - "timestamp": 1648370533, - "blockNumber": 14467210 - }, - { - "proposalId": 68, - "voter": "0xA961c2843484dE5C03D72d862E68F522677a9919", - "support": true, - "votingPower": 0.11, - "transactionHash": "0x10764ffde65a1f40bce62bc5637f47e65a1fe86c4c3b1cc1f0c6e3e8d3819caf", - "timestamp": 1648370533, - "blockNumber": 14467210 - }, - { - "proposalId": 68, - "voter": "0x687ba191117bc61bfB1392fE5B56c6cf1fe7d62c", - "support": true, - "votingPower": 0.11, - "transactionHash": "0xb6c0f31c448884864910b6a3c6cd0db584054f567a4b1ad0a42543719898e34b", - "timestamp": 1648370533, - "blockNumber": 14467210 - }, - { - "proposalId": 68, - "voter": "0x2ee8DCB7407DB5B18Bc1C5aCd0C7b1DD021A61E2", - "support": true, - "votingPower": 0.11, - "transactionHash": "0x2cb17e0241861af5bb76cbe63152311fadf8bd6ea7c74065036ecf1e1fd53357", - "timestamp": 1648370533, - "blockNumber": 14467210 - }, - { - "proposalId": 68, - "voter": "0x8E6B3Cc17Bd82182E1f96f30D8876D7265a33612", - "support": true, - "votingPower": 0.11, - "transactionHash": "0x5f6f4d0dd418e4a0d03af0efc366198204d9b79675e467c6c530c98c35c3eb74", - "timestamp": 1648370533, - "blockNumber": 14467210 - }, - { - "proposalId": 68, - "voter": "0x013274aa75bBc3BD7ACff906E564EDbBb50Dce08", - "support": true, - "votingPower": 0.11, - "transactionHash": "0xee468fb1671a698a6a56e0c147fa6fedb78c7656d5c2003e5dfab9dc683ac056", - "timestamp": 1648370533, - "blockNumber": 14467210 - }, - { - "proposalId": 68, - "voter": "0x5f328e449558b0a4A3d0fd631f46f17efda423b9", - "support": true, - "votingPower": 0.11, - "transactionHash": "0x550b3aae632d870781f54ad2779d0054baa0561ea41eb11c85f93f5a14ab2764", - "timestamp": 1648370533, - "blockNumber": 14467210 - }, - { - "proposalId": 68, - "voter": "0x1B00e674a6E592FbADe0fc4F309194E8DB2B139A", - "support": true, - "votingPower": 0.11, - "transactionHash": "0x7387352fcec991575e0766c4fc462a70ac82182630905dabb0a6b3fec9f6c125", - "timestamp": 1648370533, - "blockNumber": 14467210 - }, - { - "proposalId": 68, - "voter": "0xfE1d7c5889aD8b283B6d9E42604D8FB37D6391F3", - "support": true, - "votingPower": 0.11, - "transactionHash": "0xbc300ef408a10b77cfc91f5f89c738ecbe2f5f61fe04b08b87185517663f3cce", - "timestamp": 1648370533, - "blockNumber": 14467210 - }, - { - "proposalId": 68, - "voter": "0xc7ee3B9778e6192eC7A1eF984c786e59d2990Eab", - "support": true, - "votingPower": 16.00328349282716, - "transactionHash": "0x810c46674b4fe605ac807f964aaf662bc1fcc64420c94f908e676a664b2f6c83", - "timestamp": 1648371077, - "blockNumber": 14467249 - }, - { - "proposalId": 68, - "voter": "0x86ce032489383Ec0564BAD2Ed868048f0b1030f2", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xf320d4e6d46058bc40fe461fa1fc239226ca1d003bf1e3bf30cb955db16e7628", - "timestamp": 1648383271, - "blockNumber": 14468176 - }, - { - "proposalId": 68, - "voter": "0x13dDA63C28bB95FE9822FEA43ad5fEaA966636a9", - "support": true, - "votingPower": 0.2780938009037342, - "transactionHash": "0xf9045e17223c3bf3aabe723d18d691c646fc718603a0f18ceb94fd5eb8b003ac", - "timestamp": 1648390093, - "blockNumber": 14468693 - }, - { - "proposalId": 68, - "voter": "0x177e3e1cbA47340F3c24d1B3D4dC511099BFfeA8", - "support": true, - "votingPower": 68.53904208898584, - "transactionHash": "0xbb1418d1edfed8c2f1bd51eb2e13c1b41f51c4b0d003232c5b82d1d21a27277b", - "timestamp": 1648443388, - "blockNumber": 14472672 - }, - { - "proposalId": 68, - "voter": "0xaFDAbFb6227507fF6522b8a242168F6b5F353a6E", - "support": true, - "votingPower": 93442, - "transactionHash": "0x6c06653caf89d944faaf0be28367e816ee00c478d86f7c137d71763e36c71388", - "timestamp": 1648447721, - "blockNumber": 14472988 - }, - { - "proposalId": 68, - "voter": "0x452183FA1cF0a8D52779965E0C9c7aEfB1E9199B", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x4482c910f258cc651dce1165e3778869e97fee8f7bd2e2498ae82c5a9b64cdc0", - "timestamp": 1648448623, - "blockNumber": 14473061 - }, - { - "proposalId": 68, - "voter": "0x69caE3e9399A8B6feCc85b9c1dc62206ADb9FC94", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x41ec9c2bfd047cbbc7cec15e462963bb4eda2c899821f1d82e24e9aec53ce616", - "timestamp": 1648448623, - "blockNumber": 14473061 - }, - { - "proposalId": 68, - "voter": "0x31e635688CB360b564CffC1f3945074a5516D147", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xfc46792abba073fdff6280c9e506935b724b779b80940c1b085d780b2d427dd1", - "timestamp": 1648448623, - "blockNumber": 14473061 - }, - { - "proposalId": 68, - "voter": "0xfacE89c6a94188528068ce845f1566e5866F8fFB", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xdfabfd2d4bf78fc7c3bc2674a4a736d7fc9374de00cb999776e89809b1c2f764", - "timestamp": 1648448623, - "blockNumber": 14473061 - }, - { - "proposalId": 68, - "voter": "0x7EDA49fC9112D066FfEDba07186952A743231660", - "support": true, - "votingPower": 0.085, - "transactionHash": "0x64d70a795c24ac19e2da0af2e8dafa05295dbabf26684a93dd13503676ceb9b8", - "timestamp": 1648448623, - "blockNumber": 14473061 - }, - { - "proposalId": 68, - "voter": "0xdd45542cCf17A16F5c515c20db7F7C7D8bB74Cc5", - "support": true, - "votingPower": 55500, - "transactionHash": "0xe0b63a4bb5b06051bd8fd3a6f9923ae161be5022e9365fdf16a095a0fb2b9110", - "timestamp": 1648472437, - "blockNumber": 14474806 - }, - { - "proposalId": 68, - "voter": "0xf63Ec662753B88c3634AE276ba4eA28D681478C8", - "support": true, - "votingPower": 90168.14105480816, - "transactionHash": "0xb2e533c89232eeda9c9f5adba39423975137afdb87986c5fc49c96a53e4e90a4", - "timestamp": 1648476283, - "blockNumber": 14475086 - }, - { - "proposalId": 68, - "voter": "0xA519a7cE7B24333055781133B13532AEabfAC81b", - "support": true, - "votingPower": 16.730843355897935, - "transactionHash": "0x2ec11c752b0c75b007a817b93b5472c074b3fb78bcea9672c6f3a1fc76623305", - "timestamp": 1648479869, - "blockNumber": 14475361 - }, - { - "proposalId": 68, - "voter": "0x86C62a0DD8690fa2Ba6e3E3D9A18D021dBd2565A", - "support": true, - "votingPower": 10.656899149043179, - "transactionHash": "0x21a00fa4eb91fae3785e838abc81357a233e4b909231c42828426f7e1738fc94", - "timestamp": 1648482658, - "blockNumber": 14475562 - }, - { - "proposalId": 68, - "voter": "0xf36F3976f288b2B4903aca8c177efC019b81D88B", - "support": true, - "votingPower": 14875.884, - "transactionHash": "0xf3fa3f81b0167abb114ba4ec05974c790ed3e7a2b450874b3cf7561cfd6b3f54", - "timestamp": 1648486524, - "blockNumber": 14475838 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 69, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 103333.8474304624, - "transactionHash": "0xf381c9b37b7c9719b08331138d5f8e1c64138557e61341d0bc7bdad1a0d0bd2a", - "timestamp": 1649216742, - "blockNumber": 14530020 - }, - { - "proposalId": 69, - "voter": "0xb4F70F2F0f1A27276571a12e60c64E321f40d47C", - "support": true, - "votingPower": 60000, - "transactionHash": "0x114a5906e83844656a72003a4b2cdd63360d91eadb5cc806585a2eb7d0eb3fbb", - "timestamp": 1649248060, - "blockNumber": 14532344 - }, - { - "proposalId": 69, - "voter": "0x511E3D32A4fc0E6CF736b6E92c2a546a86964709", - "support": true, - "votingPower": 58528.92387383, - "transactionHash": "0xbe7e51ce68803c5ad453f64ee3dc53d52a666fd36716265b49f8292730172013", - "timestamp": 1649250740, - "blockNumber": 14532555 - }, - { - "proposalId": 69, - "voter": "0x3A25e701517e713e99818a169A39339Fc3eAe9d2", - "support": true, - "votingPower": 1316.666674, - "transactionHash": "0x0ee12c6895178b15b6cbe5257ade1dce65e0383d814f102af6bfce99aa902291", - "timestamp": 1649337419, - "blockNumber": 14538962 - }, - { - "proposalId": 69, - "voter": "0x683a4F9915D6216f73d6Df50151725036bD26C02", - "support": true, - "votingPower": 10302.405853538316, - "transactionHash": "0x013f882dbe1d7f369a21e9bc4f2ee187d5d86da52213784df5d9ea6d00e3d685", - "timestamp": 1649349284, - "blockNumber": 14539818 - }, - { - "proposalId": 69, - "voter": "0xdB316c70219CAB0533fF84D713C7d88C4DD1EAb4", - "support": true, - "votingPower": 1.175, - "transactionHash": "0x26479e5ced398501eb31cfc13b387619baffb1d59239e6b556a7387aba5dc9fc", - "timestamp": 1649356571, - "blockNumber": 14540371 - }, - { - "proposalId": 69, - "voter": "0xf63Ec662753B88c3634AE276ba4eA28D681478C8", - "support": true, - "votingPower": 91086.33692983062, - "transactionHash": "0x6e8503011873db8265cea879cd5182794c79423d4d6f61584ab33525d1ceb0f5", - "timestamp": 1649357895, - "blockNumber": 14540493 - }, - { - "proposalId": 69, - "voter": "0x880C205096F62Bd9da0f1acf3c34794789BBaBe6", - "support": true, - "votingPower": 1599.9215214422807, - "transactionHash": "0x32d9d0e609a4a711c2fe1d6ea6145964b14ec988d7aee8d8a8522bfef73b742f", - "timestamp": 1649389039, - "blockNumber": 14542795 - }, - { - "proposalId": 69, - "voter": "0x4d477F1aabcFc2FC3FC9b802E861C013E0123AD9", - "support": true, - "votingPower": 0.1092903026824001, - "transactionHash": "0x2a35ba320753204126974408d3a15835a238564bdb109962a91ef3c50076007f", - "timestamp": 1649395116, - "blockNumber": 14543253 - }, - { - "proposalId": 69, - "voter": "0xc02836da7e0183BAC6d08cA1Bd9D7fdC2E031634", - "support": true, - "votingPower": 2, - "transactionHash": "0x3302bb87b76d571980db4a39751cac3058d63fcd84a09357fa32abb22568d22a", - "timestamp": 1649407900, - "blockNumber": 14544145 - }, - { - "proposalId": 69, - "voter": "0xA519a7cE7B24333055781133B13532AEabfAC81b", - "support": true, - "votingPower": 293.5165433558979, - "transactionHash": "0x0948519692e45adaf470ec56a92060455000857faeb9dba53a71d5c7f6c39fe9", - "timestamp": 1649424355, - "blockNumber": 14545383 - }, - { - "proposalId": 69, - "voter": "0x070341aA5Ed571f0FB2c4a5641409B1A46b4961b", - "support": true, - "votingPower": 10000, - "transactionHash": "0x190db5c23840f4818e0c03c32ebb78ef1fc03ab3aa61d473bd8f424b12805898", - "timestamp": 1649446814, - "blockNumber": 14547064 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 70, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 103333.8477304624, - "transactionHash": "0x036a68b0043780d503f0886ebf5b0e64d97f51ee9f89a30665394f6935344f7e", - "timestamp": 1651012896, - "blockNumber": 14662837 - }, - { - "proposalId": 70, - "voter": "0x55e1490a1878D0B61811726e2cB96560022E764c", - "support": true, - "votingPower": 52.31888229618363, - "transactionHash": "0x68242ee756976fc67e0e9d034d306204a8343839de6970ef2ec630c25d9ae796", - "timestamp": 1651020049, - "blockNumber": 14663357 - }, - { - "proposalId": 70, - "voter": "0xE551388B683BB1E34e27E5a7b00eaBE79b080Bf7", - "support": true, - "votingPower": 5.152629130098438, - "transactionHash": "0x4b00014e4c2a27f7108c7fcf086df821ef9fbef0772ca19af19ed50fcf953e79", - "timestamp": 1651036701, - "blockNumber": 14664596 - }, - { - "proposalId": 70, - "voter": "0x0aB71C08687ad6248b76d3F7e799Fc6F339f6625", - "support": true, - "votingPower": 0.000057462405101628, - "transactionHash": "0x6485ece040715a9900cc87ba862f95b60152cd5e9181167988da87fce3be82a6", - "timestamp": 1651049920, - "blockNumber": 14665554 - }, - { - "proposalId": 70, - "voter": "0xa4303850AA2aE3e7396F28814402D22B1615810C", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xfa19062b7b032294745fcaeb8c43ea36991d7887038e492ba89a3958f471f29d", - "timestamp": 1651051853, - "blockNumber": 14665696 - }, - { - "proposalId": 70, - "voter": "0x3cd411AFcC7d02BbE54D345602F5ed3Cf80D1C7C", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x814fa97fc1a8d2f2c3d4402981997bfe207e821f7e48466d8403c1b87c488cf9", - "timestamp": 1651051892, - "blockNumber": 14665697 - }, - { - "proposalId": 70, - "voter": "0x5B9045ADFAf64f84f9E7eeFC32CaFD7A5ebf0fa3", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x55c8a8a848eacde9403c2295b759c7f7fbd5c003b043522b3ef791fe827d1767", - "timestamp": 1651051892, - "blockNumber": 14665697 - }, - { - "proposalId": 70, - "voter": "0x58C775af9296d634F02ec9A18198906DF84Fb43B", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x8f9e5b1cf3f5c2dbfc65f51797b204567cffe5d4395581ac7bed5fb591c8439a", - "timestamp": 1651052014, - "blockNumber": 14665707 - }, - { - "proposalId": 70, - "voter": "0x42419CaD559A52b8bD6e99A6f7AF76159218722B", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x71181c271e928118bba2be4feaa9c16500a634ee661dfd63c786c47891eba6f0", - "timestamp": 1651052036, - "blockNumber": 14665709 - }, - { - "proposalId": 70, - "voter": "0xFeC1083c50C374A0F691192b137f0db6077DAbBb", - "support": true, - "votingPower": 28.08074299110964, - "transactionHash": "0xbe3892c5feb99557dde2724233f3ccfc4b41a4c3b835cf0c409f5fe1f0fb7078", - "timestamp": 1651052084, - "blockNumber": 14665713 - }, - { - "proposalId": 70, - "voter": "0x800Ed249c34Ffc7A104fdC01b13F9913e3344CC9", - "support": true, - "votingPower": 22.69157, - "transactionHash": "0x67cd919d1c98c5c55d6aa58daec9661ffd63375e9aad4ce136eeade6f940ce0c", - "timestamp": 1651057938, - "blockNumber": 14666137 - }, - { - "proposalId": 70, - "voter": "0x4d477F1aabcFc2FC3FC9b802E861C013E0123AD9", - "support": true, - "votingPower": 0.1092903026824001, - "transactionHash": "0x892f5f83e7c4ca01f50907eb5eeadaa74cfc058b15c08ed7383e3628a8c6bbba", - "timestamp": 1651058519, - "blockNumber": 14666184 - }, - { - "proposalId": 70, - "voter": "0x5B3bFfC0bcF8D4cAEC873fDcF719F60725767c98", - "support": true, - "votingPower": 51.34471891228567, - "transactionHash": "0x4299518b444e0a9a35bd6a4304115fd9b93dfc907320a953bd8b7d1f4f7e9a61", - "timestamp": 1651091192, - "blockNumber": 14668643 - }, - { - "proposalId": 70, - "voter": "0xA519a7cE7B24333055781133B13532AEabfAC81b", - "support": true, - "votingPower": 159.68507743807496, - "transactionHash": "0xa49288c1a9aa6d4fe26cf1b7598dace6bd1cf563c7eb6a12fab0c076b6670898", - "timestamp": 1651102331, - "blockNumber": 14669414 - }, - { - "proposalId": 70, - "voter": "0x3617F9e9D601483CBA5239AAF5a3912edf752D0B", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xdf9a65ea028abea4724e0a6d6b9aaa72dbccb1a6a19c6c49cce636fb44962747", - "timestamp": 1651128072, - "blockNumber": 14671321 - }, - { - "proposalId": 70, - "voter": "0x9915c60340e773ba76cfB785D3f11C9511615529", - "support": true, - "votingPower": 75.96596410427007, - "transactionHash": "0x0ac88221f6f3fcddae3d0d7b189e420077e9b54aa04cc32145cc2303c6264170", - "timestamp": 1651136751, - "blockNumber": 14671990 - }, - { - "proposalId": 70, - "voter": "0xaFDAbFb6227507fF6522b8a242168F6b5F353a6E", - "support": true, - "votingPower": 93442, - "transactionHash": "0x92fb600fa2df82b05c739d366858f7b8050c526ac5e10d8d04069dbe8c1c15d7", - "timestamp": 1651154462, - "blockNumber": 14673268 - }, - { - "proposalId": 70, - "voter": "0xdd45542cCf17A16F5c515c20db7F7C7D8bB74Cc5", - "support": true, - "votingPower": 55500, - "transactionHash": "0xbf7cda9f17c02563789adfc8df48eee3d096bb9bfb4347b5d579a41d89c8e074", - "timestamp": 1651154592, - "blockNumber": 14673271 - }, - { - "proposalId": 70, - "voter": "0x070341aA5Ed571f0FB2c4a5641409B1A46b4961b", - "support": true, - "votingPower": 9999.9999, - "transactionHash": "0x70d0ed7c4716e11507ec406cec55dd629050802d521414ed34d0bf14a907441c", - "timestamp": 1651187195, - "blockNumber": 14675648 - }, - { - "proposalId": 70, - "voter": "0x5DE64238dA2d7A5F1949C1bb1958273C22c5EE01", - "support": true, - "votingPower": 47.86760223283534, - "transactionHash": "0xaf4038fcd9dc1a7e718aeeed7295ec2bf9aa837971c3ce7a73f31e60308c9a0a", - "timestamp": 1651244196, - "blockNumber": 14679858 - }, - { - "proposalId": 70, - "voter": "0x80a03DBf383c6FDD96FB95D1A24d63C7b6d02b08", - "support": true, - "votingPower": 161.34641368, - "transactionHash": "0x4833f2e041a947cb40317d55fc6bd014350b9b8afe59dec30dd8f1fe74ea4ec3", - "timestamp": 1651249615, - "blockNumber": 14680245 - }, - { - "proposalId": 70, - "voter": "0xc4a936B003BC223DF757B35Ee52f6Da66B062935", - "support": true, - "votingPower": 92529.61013077926, - "transactionHash": "0x94fad750dfabeb1340e161a3b9f136ff980ac32393ad7fdb9db36572b3fe6d18", - "timestamp": 1651252063, - "blockNumber": 14680457 - }, - { - "proposalId": 70, - "voter": "0xC7A3F400cdDe42cf52f240e46ae83d59F3dF1303", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xf1c4bed37cf845c157a7819d3446f452efadf144a77036d45367a04deb798651", - "timestamp": 1651269104, - "blockNumber": 14681719 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 71, - "voter": "0x683a4F9915D6216f73d6Df50151725036bD26C02", - "support": true, - "votingPower": 10302.405853538316, - "transactionHash": "0xb19f8d4d3bee781c3fb040dc896e49d96e73814a68ce3595d0a541696caf0144", - "timestamp": 1651600079, - "blockNumber": 14706053 - }, - { - "proposalId": 71, - "voter": "0x8c1515e1e4A58CC883f005b5E7f5A3094e89c9A3", - "support": true, - "votingPower": 47.6, - "transactionHash": "0x76f91190e499afbd8d158ed5f4df042c709d562bc050549611f26d96f0c93b2d", - "timestamp": 1651602986, - "blockNumber": 14706279 - }, - { - "proposalId": 71, - "voter": "0x5B3bFfC0bcF8D4cAEC873fDcF719F60725767c98", - "support": true, - "votingPower": 183364.3447189123, - "transactionHash": "0x5873bd5156f4f94b90003f4fb39dc145d21486a2a9df7336a21f99d8dd7cb45f", - "timestamp": 1651603440, - "blockNumber": 14706317 - }, - { - "proposalId": 71, - "voter": "0x0F11640BF66e2D9352d9c41434A5C6E597c5e4c8", - "support": true, - "votingPower": 45.24292743, - "transactionHash": "0xbd49060842681845c8938dd0b6d46eebb132a2e8143b9a323e734de6840edf81", - "timestamp": 1651603653, - "blockNumber": 14706334 - }, - { - "proposalId": 71, - "voter": "0xA0efD27acC781549D5b78e89E561AA0903932d56", - "support": true, - "votingPower": 8.002657782527367, - "transactionHash": "0x1ad3a34a7406dd5d04c4cc6fa37de8bb07ff2cff500b3da3262542d76d6defd6", - "timestamp": 1651606450, - "blockNumber": 14706552 - }, - { - "proposalId": 71, - "voter": "0x1dA5aF1E6ECfBb2C59632F169da9318669A349e5", - "support": true, - "votingPower": 0.12434754994464038, - "transactionHash": "0xce76202bbec0770bf1b7e31a7c95ddb0c51c50fb744be37b9834f911d21bd61f", - "timestamp": 1651631024, - "blockNumber": 14708292 - }, - { - "proposalId": 71, - "voter": "0x5Ae4E15921739EffEE139cE3C63624C2404a31e4", - "support": true, - "votingPower": 0.13390834987155611, - "transactionHash": "0xd8aae6ee317ded23eb8760c78d655ce5b96bdb9c331c8809d247070a605ec93d", - "timestamp": 1651631135, - "blockNumber": 14708299 - }, - { - "proposalId": 71, - "voter": "0x3D6CD1eDBC3e98eC12E8921cC1cDA9A1bd13bc64", - "support": true, - "votingPower": 0.025, - "transactionHash": "0x9629c4134196550a144c745db0ee3e4939a3c56236a9ac9c408377ac9e3eb905", - "timestamp": 1651637193, - "blockNumber": 14708757 - }, - { - "proposalId": 71, - "voter": "0xE8d2e851ed430Fbc56B18e824aaE993C41129C17", - "support": true, - "votingPower": 0.05, - "transactionHash": "0xa580367bbc5632dd06fad926f97275d93ec1cdd120fbbaac40fbe35f23bb07b1", - "timestamp": 1651637433, - "blockNumber": 14708780 - }, - { - "proposalId": 71, - "voter": "0xE6d49571728f49284Cc2CcAaf3659515a20bb679", - "support": true, - "votingPower": 1.1, - "transactionHash": "0xd61a30c7113866f10a3d0432c205c2efb5fe3aa942e8386e021e2bc54727ae1b", - "timestamp": 1651637460, - "blockNumber": 14708783 - }, - { - "proposalId": 71, - "voter": "0x49C3d0Cf9a98F7E014Ef67C6f52DCc4c18895771", - "support": true, - "votingPower": 1.0999989, - "transactionHash": "0xfd64d97b83ad8dce4d8f93f4e21ecfb80b8ef3ead2ae524a67b1d61c817dcddb", - "timestamp": 1651637460, - "blockNumber": 14708783 - }, - { - "proposalId": 71, - "voter": "0x8169B1d17CE9baF28BeDd917937D1b9352c362fa", - "support": true, - "votingPower": 0.05, - "transactionHash": "0x235367566c374e79a837264fb4e9c0d1b652a22392b8ebcee1eec12c0a7fef0a", - "timestamp": 1651638168, - "blockNumber": 14708828 - }, - { - "proposalId": 71, - "voter": "0xAB0bc8E749F91b032aA0b909EdE779f27f6a2CaE", - "support": true, - "votingPower": 650.015, - "transactionHash": "0x8edabbd7e3b0a8e7efaab5a8fb1ad8b3d5027363d5974a1bc53bec197991b544", - "timestamp": 1651641003, - "blockNumber": 14709019 - }, - { - "proposalId": 71, - "voter": "0x9c786B0aF421A06f282807B915470cd15516275A", - "support": true, - "votingPower": 1, - "transactionHash": "0x02492b9649d67d6c205f89409b417b23c079c03eba95e5b5de55677512d6af0a", - "timestamp": 1651651312, - "blockNumber": 14709753 - }, - { - "proposalId": 71, - "voter": "0xa35709FfA7D247CD5F36466b632b66d909d81beB", - "support": true, - "votingPower": 1.075, - "transactionHash": "0x1aa1426500ae67ab9a08af5ba2273a9eddcae032c44f3a1eeb19ff1d3d92a780", - "timestamp": 1651658946, - "blockNumber": 14710288 - }, - { - "proposalId": 71, - "voter": "0xCFECdBF9B60B64B7baaa94C6933a6ab29C3828e8", - "support": true, - "votingPower": 16510, - "transactionHash": "0x2070e78ff35ad233231e30632f9beacb39cf0defe2c9faed1349ee67a189f0f3", - "timestamp": 1651665137, - "blockNumber": 14710782 - }, - { - "proposalId": 71, - "voter": "0x7F366187755697D76a3E56C429716874Afc031C5", - "support": true, - "votingPower": 688.39028318803, - "transactionHash": "0x2d5930237466a9b516b4f7ecdc2eb989c77b918d069aee27a2609048540b9dee", - "timestamp": 1651670844, - "blockNumber": 14711210 - }, - { - "proposalId": 71, - "voter": "0xA519a7cE7B24333055781133B13532AEabfAC81b", - "support": true, - "votingPower": 159.68507743807496, - "transactionHash": "0xb63b2e709c90d33ba57bb4774d1ac910ffd6c4df569855958f20262eb90c0bcf", - "timestamp": 1651693417, - "blockNumber": 14712839 - }, - { - "proposalId": 71, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 103333.8477304624, - "transactionHash": "0x347b630b614487e360d7983e340cbcaa3431020f1522c639f338faa4075aaed9", - "timestamp": 1651699304, - "blockNumber": 14713254 - }, - { - "proposalId": 71, - "voter": "0xE6156d93fbA1F2387fCe5f50f1BB45eF51ed5f2b", - "support": true, - "votingPower": 2.39340174, - "transactionHash": "0x06167317d34220f911d6ff34bc94642b0533f053fd8c1ef7cd8c4a703d57bdec", - "timestamp": 1651704082, - "blockNumber": 14713629 - }, - { - "proposalId": 71, - "voter": "0x40534E513dF8277870B81e97B5107B3f39DE4f15", - "support": true, - "votingPower": 42.662623921793944, - "transactionHash": "0xc19764325275e46880649985241a012819dd874e4497218bcd5a48868c3d8781", - "timestamp": 1651707996, - "blockNumber": 14713913 - }, - { - "proposalId": 71, - "voter": "0x5DE81af11CC158bA45928278f61fa94F0E78047A", - "support": true, - "votingPower": 1, - "transactionHash": "0x18cfaec7d2f15bbb41093211a57387a75b8f01932b0b694924f6a7353a7ae296", - "timestamp": 1651738423, - "blockNumber": 14716133 - }, - { - "proposalId": 71, - "voter": "0xC935B59c7f810cEC91e46B45F03A4ac4Cc0e915e", - "support": true, - "votingPower": 7.4290011210683105, - "transactionHash": "0xa291ed216d030207247de5df341be110c6ab94eb56c753aa15e38b9fb0f7ece2", - "timestamp": 1651744156, - "blockNumber": 14716560 - }, - { - "proposalId": 71, - "voter": "0xF57218CE904e4B7AaB0B31c53A1010573C8F7183", - "support": true, - "votingPower": 33346.01392094722, - "transactionHash": "0x3e91547a19ea1df4b97f81aa8a105c1a6e8ac9b5b99d73e39f70beb5ffdce8fa", - "timestamp": 1651748919, - "blockNumber": 14716911 - }, - { - "proposalId": 71, - "voter": "0x0343e4246b7Bcdb7f3a69b6fCb728C151ab13881", - "support": true, - "votingPower": 4583.33778, - "transactionHash": "0x53907b3e808f3133bc5538c8f4d9469e51cf16f29a525da9b2f09c281deb0f0f", - "timestamp": 1651757803, - "blockNumber": 14717535 - }, - { - "proposalId": 71, - "voter": "0x36C4Bd54D54DD898C242F5F634f5D0CEf3bE2A8A", - "support": true, - "votingPower": 27598.064098790765, - "transactionHash": "0xb6a4dae487c59fddf5aab05d2ae9c8e5a9c420606096f93e3d5a7c9b6bffff52", - "timestamp": 1651757949, - "blockNumber": 14717544 - }, - { - "proposalId": 71, - "voter": "0xD178d2C271a17c0461eeb5e43759A6C0562Fb5Bb", - "support": true, - "votingPower": 17.08727000817704, - "transactionHash": "0xe20ad10ab0423006c2780a7682b1464b1d98ff1cc06c06b8c6c83675a1e1d7e1", - "timestamp": 1651808403, - "blockNumber": 14721230 - }, - { - "proposalId": 71, - "voter": "0xFeC1083c50C374A0F691192b137f0db6077DAbBb", - "support": true, - "votingPower": 28.31517559680687, - "transactionHash": "0xfc285d3e3d69017fad83909a4466f19682cce91254ca24f4db668da947c3527a", - "timestamp": 1651808887, - "blockNumber": 14721272 - }, - { - "proposalId": 71, - "voter": "0x00000000E2D6BbC97779BBD38463Fe25eb7e6983", - "support": true, - "votingPower": 10.256278446437605, - "transactionHash": "0xc2a0e614a450e9506cbd7dc4e4f0731df6dec41e6617a8e0364aa273ce1211e9", - "timestamp": 1651809020, - "blockNumber": 14721282 - }, - { - "proposalId": 71, - "voter": "0xBA08763250974b97A50E312D7dE484Ad2CEea4Fd", - "support": true, - "votingPower": 0.24681356030422358, - "transactionHash": "0x26e331be50a3e401bf3807d3b9651e4787cef87e1ee8a0ccb926e3b83657a4a6", - "timestamp": 1651830264, - "blockNumber": 14722833 - }, - { - "proposalId": 71, - "voter": "0xaFDAbFb6227507fF6522b8a242168F6b5F353a6E", - "support": true, - "votingPower": 93442, - "transactionHash": "0x9a1238b5483e2b72118622b2f48b9f3f69723a225e80080ae804f8f192ee0445", - "timestamp": 1651848315, - "blockNumber": 14724116 - }, - { - "proposalId": 71, - "voter": "0xFe238dB1dE2082bB9bA5dfC184B7e7C69C9bE636", - "support": true, - "votingPower": 48740.81377176334, - "transactionHash": "0xabb4686619a2e05065b20a267e92acb33b40229b561e366a538b3294af62d8a9", - "timestamp": 1651850240, - "blockNumber": 14724280 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 72, - "voter": "0xd2362DbB5Aa708Bc454Ce5C3F11050C016764fA6", - "support": true, - "votingPower": 88530.66976951904, - "transactionHash": "0x42b7718813fb4b3a9688663f0f830fd053f8775593ef42582ba0ddce90411eaa", - "timestamp": 1652133080, - "blockNumber": 14744805 - }, - { - "proposalId": 72, - "voter": "0xA86f7cb847bF41b049002cb0c96e6156a8B27E25", - "support": true, - "votingPower": 147.04558281, - "transactionHash": "0xd6da7a914ca254248be43462f377a9483f103f218b6a493d9dd6df2ae22249b6", - "timestamp": 1652134267, - "blockNumber": 14744899 - }, - { - "proposalId": 72, - "voter": "0xc290Cfb8D020c0615e9C63036f4319Cc41717E68", - "support": true, - "votingPower": 109.49220153592667, - "transactionHash": "0x8b51aea0b5cde5560a2239090f7c436b0f1499527535c63b01f0fc5fed9b3871", - "timestamp": 1652163214, - "blockNumber": 14746997 - }, - { - "proposalId": 72, - "voter": "0x8c1515e1e4A58CC883f005b5E7f5A3094e89c9A3", - "support": true, - "votingPower": 47.6, - "transactionHash": "0xf990b471d2a34c1e577d496621be7da251cc7920434771859cdea4c664166218", - "timestamp": 1652189286, - "blockNumber": 14748835 - }, - { - "proposalId": 72, - "voter": "0x87c524f48f9fb7621dA5589Ea4946371D458869C", - "support": true, - "votingPower": 1, - "transactionHash": "0x0f80f4b3888095f08d9e709a0472dc5f708feab549747f2a387f01f4ef173d27", - "timestamp": 1652200186, - "blockNumber": 14749612 - }, - { - "proposalId": 72, - "voter": "0x070341aA5Ed571f0FB2c4a5641409B1A46b4961b", - "support": true, - "votingPower": 9999.9999, - "transactionHash": "0x0ad8970d39f6aac0ff19b342032774c0bd5bb20cc7fdd5a0f5db97e227c29e12", - "timestamp": 1652206971, - "blockNumber": 14750078 - }, - { - "proposalId": 72, - "voter": "0x7AE109A63ff4DC852e063a673b40BED85D22E585", - "support": true, - "votingPower": 9999.9999, - "transactionHash": "0x7e803223deabaaecf21532f1e95d83bba7e29baaed189ac31722977738a0ed5b", - "timestamp": 1652209232, - "blockNumber": 14750257 - }, - { - "proposalId": 72, - "voter": "0x2C0bAdC1679FB7666E4705Ef3c0084654bc81673", - "support": true, - "votingPower": 0.18486536, - "transactionHash": "0xf1310c9c26182ab13af40e2cc74068e96e494c1a3a4ae56677b6ac914dae5ade", - "timestamp": 1652211720, - "blockNumber": 14750451 - }, - { - "proposalId": 72, - "voter": "0x4254c53Fc3b3b38DF025Ea30BcAE410e11bb95b6", - "support": true, - "votingPower": 0.295, - "transactionHash": "0x7ba267fba66f2e64bbbb36f2c635ef63d26897009dc069b4b18eb270deb969b1", - "timestamp": 1652213046, - "blockNumber": 14750545 - }, - { - "proposalId": 72, - "voter": "0x41434bfE3Bd073D77afD2C1875bca3472A5E887f", - "support": true, - "votingPower": 0.000023020219449918, - "transactionHash": "0x5903d90affc417d530e404984f92cb8c7865bdbfb2b80d9ce21326b31569e5f7", - "timestamp": 1652214554, - "blockNumber": 14750666 - }, - { - "proposalId": 72, - "voter": "0x5B3bFfC0bcF8D4cAEC873fDcF719F60725767c98", - "support": true, - "votingPower": 183364.3447189123, - "transactionHash": "0x9b333b4740cb6449e7261bb76d5661d5fefd51f65efb1a4969e5ead40802abdf", - "timestamp": 1652239700, - "blockNumber": 14752464 - }, - { - "proposalId": 72, - "voter": "0x64BCFE3789603DfAFC21D27560202034295D3DC4", - "support": true, - "votingPower": 1.1, - "transactionHash": "0xc999cccbc27944801f39dd4c8936b4721646d8c0d95118e56fb2b9a4cb65e6e3", - "timestamp": 1652266545, - "blockNumber": 14754469 - }, - { - "proposalId": 72, - "voter": "0x259cC22956b3a8d872bc180E2b86a8dE9126f028", - "support": true, - "votingPower": 2.91889, - "transactionHash": "0x70e48dee747e9106d2d88d891d3cdaf71ad6fc2b7cfc5c7a0eda42e23c6ee7de", - "timestamp": 1652358502, - "blockNumber": 14761085 - }, - { - "proposalId": 72, - "voter": "0x36C4Bd54D54DD898C242F5F634f5D0CEf3bE2A8A", - "support": true, - "votingPower": 27598.064098790765, - "transactionHash": "0x6d4e29c7d141c71221bb63360b5b2aa7b75c4f122414c2f6b224838a76cfdb2c", - "timestamp": 1652376349, - "blockNumber": 14762389 - }, - { - "proposalId": 72, - "voter": "0xaFDAbFb6227507fF6522b8a242168F6b5F353a6E", - "support": true, - "votingPower": 93442, - "transactionHash": "0xce9b2cf2e8c511bc5ed847e2c328cdd206688ec9fce460fb70923f45c8cab118", - "timestamp": 1652378222, - "blockNumber": 14762518 - }, - { - "proposalId": 72, - "voter": "0xcDBe82b04C9A74831f431481468950E3a9cEFe31", - "support": true, - "votingPower": 20833, - "transactionHash": "0xd0744be91155ae637b54dc1bce74bb7d817c8e69fa9775c76c59187050bea0e3", - "timestamp": 1652378675, - "blockNumber": 14762550 - }, - { - "proposalId": 72, - "voter": "0xF5Fb27b912D987B5b6e02A1B1BE0C1F0740E2c6f", - "support": true, - "votingPower": 3551.2488654885483, - "transactionHash": "0xb5f96a8c78faad10bc5362e076db2ac74f9ef3be0f1e59dbf7944d49fc89f98e", - "timestamp": 1652378731, - "blockNumber": 14762553 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 73, - "voter": "0x4d477F1aabcFc2FC3FC9b802E861C013E0123AD9", - "support": true, - "votingPower": 0.1092903026824001, - "transactionHash": "0xf6ffcdf0f530e1b97a86863a5a60327e495337a12d1dd663828980a054c2e36a", - "timestamp": 1652235141, - "blockNumber": 14752139 - }, - { - "proposalId": 73, - "voter": "0x5B3bFfC0bcF8D4cAEC873fDcF719F60725767c98", - "support": true, - "votingPower": 183364.3447189123, - "transactionHash": "0x5d06f9c72cefdd523c795eddf15cf409d41d7885cd265735c4c93a4b5c12c4d0", - "timestamp": 1652236689, - "blockNumber": 14752246 - }, - { - "proposalId": 73, - "voter": "0x36C4Bd54D54DD898C242F5F634f5D0CEf3bE2A8A", - "support": true, - "votingPower": 27598.064098790765, - "transactionHash": "0x38df032984793cb43592db5b50f7c8af60ed38f5ee1fab331be8a6b6093a8382", - "timestamp": 1652256484, - "blockNumber": 14753714 - }, - { - "proposalId": 73, - "voter": "0x41D2a18E1DdACdAbFDdADB62e9AEE67c63070b76", - "support": true, - "votingPower": 31.5301, - "transactionHash": "0x04fa4fdc80964df56f488abc41cfecf20a3817fd67a967d36eaa05abb3b62ba9", - "timestamp": 1652287567, - "blockNumber": 14755975 - }, - { - "proposalId": 73, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 103333.8477304624, - "transactionHash": "0x3bd985ba2ea3a063cb76335067bd50fef268b6bd5e9da337adbb4f4cf6a31c85", - "timestamp": 1652320707, - "blockNumber": 14758413 - }, - { - "proposalId": 73, - "voter": "0xE160B7E43Cd921aCe4407358022e4897414eC377", - "support": true, - "votingPower": 45.5, - "transactionHash": "0x82049acdf431cf7db28ea098d5e3c0195f2d306a4d4772cdb8d9e5aad98d6da4", - "timestamp": 1652357038, - "blockNumber": 14760985 - }, - { - "proposalId": 73, - "voter": "0xd2362DbB5Aa708Bc454Ce5C3F11050C016764fA6", - "support": true, - "votingPower": 88530.66976951904, - "transactionHash": "0x6f15f52057dcfa1b9f9e063983e7f8e17b9d3394969af9508838a58a979de911", - "timestamp": 1652361665, - "blockNumber": 14761297 - }, - { - "proposalId": 73, - "voter": "0x683a4F9915D6216f73d6Df50151725036bD26C02", - "support": true, - "votingPower": 10302.405853538316, - "transactionHash": "0xf7fa48295414d00779de780c0d2e08eef8f731a8b864827a5dfc35d67012ee61", - "timestamp": 1652365849, - "blockNumber": 14761609 - }, - { - "proposalId": 73, - "voter": "0xcDBe82b04C9A74831f431481468950E3a9cEFe31", - "support": true, - "votingPower": 20833, - "transactionHash": "0x65f3bb8ed436a11b86abd88fd3488f550235d560fd989ddf9413e50b37ffb2c3", - "timestamp": 1652378965, - "blockNumber": 14762568 - }, - { - "proposalId": 73, - "voter": "0x62a43123FE71f9764f26554b3F5017627996816a", - "support": true, - "votingPower": 30.669202, - "transactionHash": "0x504187cfce36a3d9768df60c62d81d39fc31ad73ab05440263c36520bfcb4b8e", - "timestamp": 1652389622, - "blockNumber": 14763331 - }, - { - "proposalId": 73, - "voter": "0x898Ce876f3F182b7cfAd3D22d561613BbE7f7B34", - "support": true, - "votingPower": 4103, - "transactionHash": "0x03dde9350c24147eac0f9c32ce1b2437a7969bc18627818a5f4b93c86f6d8516", - "timestamp": 1652399225, - "blockNumber": 14764039 - }, - { - "proposalId": 73, - "voter": "0x7c996999a55eD5459291546dDcf42B384aE97A3d", - "support": true, - "votingPower": 4266.463, - "transactionHash": "0xf314e6c1ba692caad01bc92fc034fda0907001762c2851d3c5d44c85a075cc8a", - "timestamp": 1652399605, - "blockNumber": 14764062 - }, - { - "proposalId": 73, - "voter": "0x223CF852A2320B7D451bBF5FF8E97Cc3Aa6fec9B", - "support": true, - "votingPower": 1.875, - "transactionHash": "0x04e8cf9abe1fd17e04c83502ca5b4dc4ea57402a08d6884735b2542f7ea3ee96", - "timestamp": 1652416634, - "blockNumber": 14765288 - }, - { - "proposalId": 73, - "voter": "0x7F366187755697D76a3E56C429716874Afc031C5", - "support": true, - "votingPower": 688.39028318803, - "transactionHash": "0xc392ad9a4524813f44bb685ef7aebac47c93b066b91119447a947ead33a91332", - "timestamp": 1652425743, - "blockNumber": 14765951 - }, - { - "proposalId": 73, - "voter": "0x87c524f48f9fb7621dA5589Ea4946371D458869C", - "support": true, - "votingPower": 1, - "transactionHash": "0xd9917abc66dbe57966782de9ebbb77d367e75e90b1d813cbc7aa4f8d010df1b1", - "timestamp": 1652429741, - "blockNumber": 14766251 - }, - { - "proposalId": 73, - "voter": "0x8DA23C4171A72feA20864Ced791bE3D175f9C2A0", - "support": true, - "votingPower": 1, - "transactionHash": "0x36e04cb50eb74e0891ff611075357de94d6a19aeeb77aaf490d97927fa0d2b9c", - "timestamp": 1652437105, - "blockNumber": 14766775 - }, - { - "proposalId": 73, - "voter": "0x3e6Bd5Bc81a181434848f6c1135925D5bEB3e566", - "support": true, - "votingPower": 8.845436496137422, - "transactionHash": "0x01cc5d5e195f24614c0509696073bc47cfeed27e21cc7a79e9aa78c88501b1dc", - "timestamp": 1652476498, - "blockNumber": 14769722 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 74, - "voter": "0x5B3bFfC0bcF8D4cAEC873fDcF719F60725767c98", - "support": true, - "votingPower": 183364.3447189123, - "transactionHash": "0x83f5847b8ca7d214077a3216e8bfdd5163629c1ec0f24496a9e335dc097a0df3", - "timestamp": 1652239843, - "blockNumber": 14752478 - }, - { - "proposalId": 74, - "voter": "0x070341aA5Ed571f0FB2c4a5641409B1A46b4961b", - "support": true, - "votingPower": 9999.9999, - "transactionHash": "0xd80a0a96f08a98a7ece2774c6531f34a84ca7fba34bce0468e9c58f0443bc58e", - "timestamp": 1652293808, - "blockNumber": 14756448 - }, - { - "proposalId": 74, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 103333.8477304624, - "transactionHash": "0x4c0562fd721bdd3bcf1944dbb00fdef9de1862fac606169d8ff7330a52bfdda2", - "timestamp": 1652320790, - "blockNumber": 14758417 - }, - { - "proposalId": 74, - "voter": "0xd2362DbB5Aa708Bc454Ce5C3F11050C016764fA6", - "support": true, - "votingPower": 88530.66976951904, - "transactionHash": "0xe429a8a9aca07caf65263deb427886c9c667efacb9d34704ab89d5f04c56a7e2", - "timestamp": 1652361809, - "blockNumber": 14761311 - }, - { - "proposalId": 74, - "voter": "0xFaee4eDdD05510bBfBfC9142e20d03F8C7595B00", - "support": true, - "votingPower": 28.684627520617788, - "transactionHash": "0x8b9a5e48e14f705453addf925c696b40d1f7bb94787477853b22af74be7a0ed0", - "timestamp": 1652394002, - "blockNumber": 14763664 - }, - { - "proposalId": 74, - "voter": "0x7F366187755697D76a3E56C429716874Afc031C5", - "support": true, - "votingPower": 688.39028318803, - "transactionHash": "0x6dd901676d685be19062cd4ab6670b3601cecbcfdede2e5336573330a26bac6f", - "timestamp": 1652425668, - "blockNumber": 14765947 - }, - { - "proposalId": 74, - "voter": "0xb4F70F2F0f1A27276571a12e60c64E321f40d47C", - "support": true, - "votingPower": 60411.92615051282, - "transactionHash": "0xe78575270f0d17e701b5248431a6f830fbd74a627c7f33523c56a14c79a45d37", - "timestamp": 1652426714, - "blockNumber": 14766036 - }, - { - "proposalId": 74, - "voter": "0x87c524f48f9fb7621dA5589Ea4946371D458869C", - "support": true, - "votingPower": 1, - "transactionHash": "0x688a497725b3fd2d119cb8367170afa97d013886bf3dc35793febf2c6cfbe633", - "timestamp": 1652429787, - "blockNumber": 14766258 - }, - { - "proposalId": 74, - "voter": "0x8DA23C4171A72feA20864Ced791bE3D175f9C2A0", - "support": true, - "votingPower": 1, - "transactionHash": "0x11b89062ed0e649d1108801570f44dd43221a965b6bff42641d948e43b38de64", - "timestamp": 1652437105, - "blockNumber": 14766775 - }, - { - "proposalId": 74, - "voter": "0x3e6Bd5Bc81a181434848f6c1135925D5bEB3e566", - "support": true, - "votingPower": 8.845436496137422, - "transactionHash": "0xbccfbd7a16e747ff9813bc22ff3c197e770aa358597e606c059e04c449e77eb2", - "timestamp": 1652476616, - "blockNumber": 14769733 - }, - { - "proposalId": 74, - "voter": "0xECD02810Db92Ff027ea1b0850d46BdA963676D74", - "support": true, - "votingPower": 1.1, - "transactionHash": "0x5f23d1204c8a672833f31c57042ba784d9da998d355a64ada5aff9d3420fc28a", - "timestamp": 1652483877, - "blockNumber": 14770280 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 75, - "voter": "0x9a568bFeB8CB19e4bAfcB57ee69498D57D9591cA", - "support": true, - "votingPower": 1.27491251992898, - "transactionHash": "0xdf33e3838f46b98f99e409dd1366f32b56cfe10cf41175ebe329b9b811c57fee", - "timestamp": 1652583809, - "blockNumber": 14777503 - }, - { - "proposalId": 75, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 103333.8477304624, - "transactionHash": "0x98490b8739181309b9adeaf3d72d8547d9496b3a3a6035512de1fd0b6365313f", - "timestamp": 1652588526, - "blockNumber": 14777872 - }, - { - "proposalId": 75, - "voter": "0xFA143A9eC660Ad2118c58cf99a2767B9db6B1D1F", - "support": false, - "votingPower": 0.1, - "transactionHash": "0x1008cce5c30aac081b9ff782915d35d89ac38d73d64143ff99203af4027b42e1", - "timestamp": 1652588595, - "blockNumber": 14777876 - }, - { - "proposalId": 75, - "voter": "0x8d8Fed00A69073aD5bDb0DfE196e1ef0CEFbb95c", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x024e0ef47c64744ec218f9cc193b10e7cd2b0d2a54312c9c2cb0de269cfd3327", - "timestamp": 1652588748, - "blockNumber": 14777885 - }, - { - "proposalId": 75, - "voter": "0x6f9697B567F378C5dE24ec8022aFBf7cc1887d1B", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x92fdda854702ef0f861940953c3bb16f87c3d6aeb494a09d5fdd76969ddb3df2", - "timestamp": 1652588837, - "blockNumber": 14777890 - }, - { - "proposalId": 75, - "voter": "0x5faabE609D2A6DeAB5b268c53c3C7a3b16D1F509", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xf696572a26ad1fc13bacffb4557cdb88b3054c35388e3b5552e813eb60007fee", - "timestamp": 1652588869, - "blockNumber": 14777893 - }, - { - "proposalId": 75, - "voter": "0xAE796D0971E648D10d01966189BfD94EAE05bc85", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xf1d5eb0587e02fd50700966009ed0390b260369e2a5708b940c6fc7ea5a9d4d2", - "timestamp": 1652588897, - "blockNumber": 14777894 - }, - { - "proposalId": 75, - "voter": "0xB1a6189b1e3FCD72C98bf5c0ED7B1D89e515B3dA", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x29738ef450d8424d922954059970112214d17ea266a2f42570ad534fd4990475", - "timestamp": 1652589129, - "blockNumber": 14777911 - }, - { - "proposalId": 75, - "voter": "0xd173E5555DDE81ed105dD43db279493DfDC23730", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xa6e11f49456a01cddeacd2e8836f2b9a59d41367c82762445657210d176e4ba8", - "timestamp": 1652589163, - "blockNumber": 14777914 - }, - { - "proposalId": 75, - "voter": "0xA197B23dc701378e1f3149aBeDD29542c084cA62", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x0f2280a18cd74512ae77d91e6b3de8a8c2d7f0d761af61ab5e40ab78f577c84d", - "timestamp": 1652589203, - "blockNumber": 14777918 - }, - { - "proposalId": 75, - "voter": "0x0F0F9ea5FD3Ac4fEd56cbBc0c728e408be73f163", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xe45b72bc6e29d898c4a06d8135a86e546941bedefef7dd6e9a405124fbcea323", - "timestamp": 1652589286, - "blockNumber": 14777920 - }, - { - "proposalId": 75, - "voter": "0x9A582bc73e2a3dAfC546045eEe6c11A2B5922b8b", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x3e6e868bb0c0c608ae99eb38d10a220d0c1ea62baf382197be4b6d7ff05cb411", - "timestamp": 1652589328, - "blockNumber": 14777924 - }, - { - "proposalId": 75, - "voter": "0xdB316c70219CAB0533fF84D713C7d88C4DD1EAb4", - "support": true, - "votingPower": 1.175, - "transactionHash": "0x4852f365bf7c92999702b29f202fb7c1f4181b7a4153b2fec1d438f717b44167", - "timestamp": 1652590546, - "blockNumber": 14778023 - }, - { - "proposalId": 75, - "voter": "0x070341aA5Ed571f0FB2c4a5641409B1A46b4961b", - "support": true, - "votingPower": 9999.9999, - "transactionHash": "0xd2624d7c5d0eadf9011032b9dc61afd158395697a498a077845b27e54a8a5d51", - "timestamp": 1652599567, - "blockNumber": 14778611 - }, - { - "proposalId": 75, - "voter": "0x5DE81af11CC158bA45928278f61fa94F0E78047A", - "support": true, - "votingPower": 1, - "transactionHash": "0xed0ec7f784fb4e95644f4af02eb09870b29e7f01ab7802ae0528b0b63796ecbe", - "timestamp": 1652599935, - "blockNumber": 14778632 - }, - { - "proposalId": 75, - "voter": "0x4d477F1aabcFc2FC3FC9b802E861C013E0123AD9", - "support": false, - "votingPower": 0.1092903026824001, - "transactionHash": "0xeaa26b8b996b59641cec71e58a479e4c67ef7005f7185020d32e9b96049143b7", - "timestamp": 1652600726, - "blockNumber": 14778703 - }, - { - "proposalId": 75, - "voter": "0x87c524f48f9fb7621dA5589Ea4946371D458869C", - "support": true, - "votingPower": 2, - "transactionHash": "0xd8150f84aefbcdcefae50b901528f0292ff341e492b86dd7ebcf6b2b58b6550c", - "timestamp": 1652601167, - "blockNumber": 14778739 - }, - { - "proposalId": 75, - "voter": "0x4a1FC803cE305351Af3B439b807E2fb9811e8520", - "support": true, - "votingPower": 0.15431902385799562, - "transactionHash": "0x382a9e96f8c35c69c8fa176c0aefb7074998ffafe75151279e49c7a1bdb808a5", - "timestamp": 1652603292, - "blockNumber": 14778886 - }, - { - "proposalId": 75, - "voter": "0x8C69f8D2F360d0bd12cB73b92E90a380e32987BB", - "support": true, - "votingPower": 1.0049999339286548, - "transactionHash": "0x71442a082dc3017423fc9ab3dd0424d8779f049c5f42980efaca611b2b224096", - "timestamp": 1652605342, - "blockNumber": 14779029 - }, - { - "proposalId": 75, - "voter": "0xF79D4D09D45ACE417e7075BDF1816d198E57F186", - "support": false, - "votingPower": 12.843216029844017, - "transactionHash": "0xc027ed4874fe8e6591b68c8fe79a74d4bb065faed99a46944babad5500e20ac8", - "timestamp": 1652606479, - "blockNumber": 14779107 - }, - { - "proposalId": 75, - "voter": "0x800Ed249c34Ffc7A104fdC01b13F9913e3344CC9", - "support": true, - "votingPower": 22.69157, - "transactionHash": "0xa65716f8e6999c40badcf09bb42a7aad8e020d7ea4c6840a33f2ab8b9db30fcb", - "timestamp": 1652606555, - "blockNumber": 14779116 - }, - { - "proposalId": 75, - "voter": "0x6FdED91556cfBf602f05e279d270327382d9206E", - "support": true, - "votingPower": 327.10961362, - "transactionHash": "0xb74705a523d4ebb1af096610427121226c567453aea573f8ef04d3712075061a", - "timestamp": 1652624149, - "blockNumber": 14780402 - }, - { - "proposalId": 75, - "voter": "0x4254c53Fc3b3b38DF025Ea30BcAE410e11bb95b6", - "support": true, - "votingPower": 0.295, - "transactionHash": "0xb2ddf44fc830884056c844e9c03555c3c7dc8d96b08a2cede6b9b78849aee540", - "timestamp": 1652655919, - "blockNumber": 14782752 - }, - { - "proposalId": 75, - "voter": "0x2C0bAdC1679FB7666E4705Ef3c0084654bc81673", - "support": true, - "votingPower": 0.18486536, - "transactionHash": "0x4f8640869093d9874fc42f933e7d082f2a08d948dd09bf5778fceb1cd147ee03", - "timestamp": 1652656007, - "blockNumber": 14782760 - }, - { - "proposalId": 75, - "voter": "0x13dDA63C28bB95FE9822FEA43ad5fEaA966636a9", - "support": true, - "votingPower": 0.2780938009037342, - "transactionHash": "0xd13f5f094a98dbffcf27b73dd52a89397729b3eab2e8beae90a7cf43c6e6de64", - "timestamp": 1652668066, - "blockNumber": 14783645 - }, - { - "proposalId": 75, - "voter": "0x6c4ADEa8f704410d4146368203856dc4c439ACDB", - "support": true, - "votingPower": 1.1109998510664045, - "transactionHash": "0x2e994c232c3d78b861d4c275bb1091ee621e9ac389e62b8840cccbe9f676432f", - "timestamp": 1652680511, - "blockNumber": 14784551 - }, - { - "proposalId": 75, - "voter": "0xECD02810Db92Ff027ea1b0850d46BdA963676D74", - "support": true, - "votingPower": 1.1, - "transactionHash": "0xc86273d543eee09e1784727f5dfe9e45ce0e4edd13185150fa5b33950437c276", - "timestamp": 1652697546, - "blockNumber": 14785757 - }, - { - "proposalId": 75, - "voter": "0x33ce1310E0E95bDb74fe3bA755231B0fe1849105", - "support": true, - "votingPower": 0.045, - "transactionHash": "0x26d74e2d0705c19a0a7553553f845b84b57b26a7872db090b03726957b32f02c", - "timestamp": 1652700876, - "blockNumber": 14786015 - }, - { - "proposalId": 75, - "voter": "0x8330A84D3C16A55302f921C36979B1067418053a", - "support": true, - "votingPower": 0.516, - "transactionHash": "0x249a5641b672678521d19c1157e3dcc5a4108384761fade1106c3b69591529a3", - "timestamp": 1652713156, - "blockNumber": 14786880 - }, - { - "proposalId": 75, - "voter": "0xE6156d93fbA1F2387fCe5f50f1BB45eF51ed5f2b", - "support": true, - "votingPower": 2.39340174, - "transactionHash": "0x555db1df2ab5083bd0d59ab353e7f6b80d76df32721fb3591892e306e3d87ed8", - "timestamp": 1652721113, - "blockNumber": 14787522 - }, - { - "proposalId": 75, - "voter": "0x7c996999a55eD5459291546dDcf42B384aE97A3d", - "support": true, - "votingPower": 4266.463, - "transactionHash": "0xed4e7f81401a628881c75a0c8a8c53e6ecf8391029324f31bc7190ea24aeef07", - "timestamp": 1652721461, - "blockNumber": 14787547 - }, - { - "proposalId": 75, - "voter": "0x898Ce876f3F182b7cfAd3D22d561613BbE7f7B34", - "support": true, - "votingPower": 4103, - "transactionHash": "0x02037e265116c5c9935b45c79040064643f1a5ce53a21fca2578f9f39a5abb90", - "timestamp": 1652721583, - "blockNumber": 14787553 - }, - { - "proposalId": 75, - "voter": "0x5B3bFfC0bcF8D4cAEC873fDcF719F60725767c98", - "support": true, - "votingPower": 183364.3447189123, - "transactionHash": "0x95f53bb5669d83e5b0dade16bba90eb7efa7935b9509593830f63dbebe710420", - "timestamp": 1652725653, - "blockNumber": 14787855 - }, - { - "proposalId": 75, - "voter": "0xA2e7002E0FFC42e4228292D67C13a81FDd191870", - "support": true, - "votingPower": 0.045, - "transactionHash": "0x9fd29a541c3898c9cbbe3281330b751d9883ac327936c1be769568bced005e0b", - "timestamp": 1652741155, - "blockNumber": 14788944 - }, - { - "proposalId": 75, - "voter": "0xda2804f2ef63AACFb3503510602c6d68dfFd554B", - "support": true, - "votingPower": 0.05, - "transactionHash": "0x79b71efed641f48086d0e89b01269308a72e900f47bc54995a00efa1f157afb0", - "timestamp": 1652765287, - "blockNumber": 14790682 - }, - { - "proposalId": 75, - "voter": "0xB8fa465f176A95c9b0C757CaC2985F2164a8e675", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xec75b66ca35baa9b94b289df9c3a29f2c007a9e4a0904ae37df9a65f0263ec30", - "timestamp": 1652773435, - "blockNumber": 14791293 - }, - { - "proposalId": 75, - "voter": "0xABCa822E2Dc539f2E106A933f362B807C0669567", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x691506dbb2ea90b41c3a8c77f51b800fc3f0c2644b735ffc41ae9756e798cda3", - "timestamp": 1652773477, - "blockNumber": 14791295 - }, - { - "proposalId": 75, - "voter": "0xb4F70F2F0f1A27276571a12e60c64E321f40d47C", - "support": true, - "votingPower": 60411.92615051282, - "transactionHash": "0xdd91f34e192b4d37fc6accfe3eeaad4d4374169bb6fcbe95dc3f716da6c1c738", - "timestamp": 1652773922, - "blockNumber": 14791323 - }, - { - "proposalId": 75, - "voter": "0x3617F9e9D601483CBA5239AAF5a3912edf752D0B", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xec40d985f49d0233886a6e59082a9ebe6a3bb9a77106aa934dc5b04b39c53561", - "timestamp": 1652775287, - "blockNumber": 14791421 - }, - { - "proposalId": 75, - "voter": "0x2C6628D60836Ad7ec2271E2EbD9a40Adc29F1b6a", - "support": true, - "votingPower": 1.41610891, - "transactionHash": "0xcefa20f8f917a74e3367b17c41448685846b2f08bd8f2dc57e1b30ffb71e9fbe", - "timestamp": 1652775816, - "blockNumber": 14791460 - }, - { - "proposalId": 75, - "voter": "0xd2362DbB5Aa708Bc454Ce5C3F11050C016764fA6", - "support": true, - "votingPower": 88530.66976951904, - "transactionHash": "0xb3bd3949134fb415c997e4ee77a3de34d4cda23023c47cb15ad81b3ed5c29d61", - "timestamp": 1652778854, - "blockNumber": 14791685 - }, - { - "proposalId": 75, - "voter": "0xDD659911EcBD4458db07Ee7cDdeC79bf8F859AbC", - "support": true, - "votingPower": 50.1412964, - "transactionHash": "0xa73289650aedaa3e45972f4804a00926ff106aabff6badde8d9f8b2bfba675e8", - "timestamp": 1652806674, - "blockNumber": 14793718 - }, - { - "proposalId": 75, - "voter": "0xf36F3976f288b2B4903aca8c177efC019b81D88B", - "support": false, - "votingPower": 7413.929, - "transactionHash": "0x89d7f92af994772c497897966361514e1b809733462528edbe98009920a9b6c1", - "timestamp": 1652833600, - "blockNumber": 14795662 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 76, - "voter": "0xc290Cfb8D020c0615e9C63036f4319Cc41717E68", - "support": true, - "votingPower": 109.49220153592667, - "transactionHash": "0x9287863f73d53b5a99fff675c8763b856bd6338794968ff1472dd598983c5e7f", - "timestamp": 1652824351, - "blockNumber": 14794986 - }, - { - "proposalId": 76, - "voter": "0x13f729864E43eA27Ee473FB51cEABf3936F4CcEf", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x58ddaaed68b2de241e29efeb8fc0d379e79630e8a975898a85da84695a880a4a", - "timestamp": 1652839017, - "blockNumber": 14796068 - }, - { - "proposalId": 76, - "voter": "0x070341aA5Ed571f0FB2c4a5641409B1A46b4961b", - "support": true, - "votingPower": 9999.9999, - "transactionHash": "0x0babde492793aec29b6fc5f2463776064b54673b0467ea1981ec9f54d2df876a", - "timestamp": 1652852282, - "blockNumber": 14797051 - }, - { - "proposalId": 76, - "voter": "0x00000000E2D6BbC97779BBD38463Fe25eb7e6983", - "support": true, - "votingPower": 10.256278446437605, - "transactionHash": "0x052357836f815c153f692a21a11a743fe63d16daab6f5cc43acb7bfe874d9d43", - "timestamp": 1652860005, - "blockNumber": 14797611 - }, - { - "proposalId": 76, - "voter": "0xD178d2C271a17c0461eeb5e43759A6C0562Fb5Bb", - "support": true, - "votingPower": 17.08727000817704, - "transactionHash": "0x79c95b1b59d66d5538d85800639c632cdfd27958ac439b8c75a52a12b84f88f4", - "timestamp": 1652860070, - "blockNumber": 14797618 - }, - { - "proposalId": 76, - "voter": "0x16ea3b4A3D4b69Faaf78B4aBE8160D342eC4C9bE", - "support": true, - "votingPower": 10.61, - "transactionHash": "0xc9138bd96eedd8c7c7ee5edc970adcf121f780a0bd9d6caa94bd050be59d3779", - "timestamp": 1652860502, - "blockNumber": 14797646 - }, - { - "proposalId": 76, - "voter": "0xE6156d93fbA1F2387fCe5f50f1BB45eF51ed5f2b", - "support": true, - "votingPower": 2.39340174, - "transactionHash": "0x1e00935c3d788666739125b5077ec0ea82215e118b7c393dfe7eb26838d09234", - "timestamp": 1652883067, - "blockNumber": 14799286 - }, - { - "proposalId": 76, - "voter": "0x5B3bFfC0bcF8D4cAEC873fDcF719F60725767c98", - "support": true, - "votingPower": 183364.3447189123, - "transactionHash": "0xe669f503f144eb5bafdba116d82feb9f37ad98c675e4e0d306c04a570f4cd57b", - "timestamp": 1652889071, - "blockNumber": 14799707 - }, - { - "proposalId": 76, - "voter": "0xA519a7cE7B24333055781133B13532AEabfAC81b", - "support": true, - "votingPower": 159.68507743807496, - "transactionHash": "0xa7939be05536dda4415f4d10443af61d2e8c79a552be61cd09988ba3058ad757", - "timestamp": 1652917973, - "blockNumber": 14801763 - }, - { - "proposalId": 76, - "voter": "0x184F44a581a3FDf67e834Cf2A0F193CbDd08A3b9", - "support": true, - "votingPower": 0.11, - "transactionHash": "0x86661397e3fce14d698ed983d4b6d86397fb0dc773e9a469163dca6811435672", - "timestamp": 1652933044, - "blockNumber": 14802823 - }, - { - "proposalId": 76, - "voter": "0x40276bA5EfDFBBf749557f6B2A094ABd78197164", - "support": true, - "votingPower": 0.06635298115685384, - "transactionHash": "0x6ef8b88dac90fc18532260b4864eb5db37b19d1cc4335e44e8ce7f1a4f6e97bf", - "timestamp": 1652933315, - "blockNumber": 14802845 - }, - { - "proposalId": 76, - "voter": "0x1c631824b0551FD0540A1f198c893B379D5Cf3c3", - "support": true, - "votingPower": 22.86418781053127, - "transactionHash": "0xa8a61fe9fa10f4234fc1ed8c3669d240a387df7de70dae2f5ee254f3a1d25729", - "timestamp": 1652957312, - "blockNumber": 14804522 - }, - { - "proposalId": 76, - "voter": "0x4a1FC803cE305351Af3B439b807E2fb9811e8520", - "support": true, - "votingPower": 0.15431902385799562, - "transactionHash": "0x43e5b851126a89c6291d894e09f7f6718f3e3cd652fca9b9284f4854ef956d96", - "timestamp": 1652958072, - "blockNumber": 14804577 - }, - { - "proposalId": 76, - "voter": "0xe35D5Ca7Dd27BDa27FA571b888aB0b4d085FA831", - "support": true, - "votingPower": 8.694202407664134, - "transactionHash": "0x91581a04f09f33f2e48a8825e2d726ff2d76c10ac473429e6b3fa8df7d2b9f2d", - "timestamp": 1652982503, - "blockNumber": 14806302 - }, - { - "proposalId": 76, - "voter": "0x683a4F9915D6216f73d6Df50151725036bD26C02", - "support": true, - "votingPower": 10302.405853538316, - "transactionHash": "0x9572ae1b77b001e8630b23ca1732d5f2b90139471bee50a2faf6aad80cbff73d", - "timestamp": 1652985678, - "blockNumber": 14806525 - }, - { - "proposalId": 76, - "voter": "0xd2362DbB5Aa708Bc454Ce5C3F11050C016764fA6", - "support": true, - "votingPower": 88530.66976951904, - "transactionHash": "0x49b9a69dbc410658819dbff200eea72e1f26158d7d205c8789d10210e94eea2a", - "timestamp": 1652986681, - "blockNumber": 14806598 - }, - { - "proposalId": 76, - "voter": "0xDD659911EcBD4458db07Ee7cDdeC79bf8F859AbC", - "support": true, - "votingPower": 50.1412964, - "transactionHash": "0x8fe90bf8c84fb9e5dd1c04b75f81da2f1f601293fa408c5fa0c0388b18d2950a", - "timestamp": 1652986943, - "blockNumber": 14806616 - }, - { - "proposalId": 76, - "voter": "0xDc52350858b60853D93390Ab38DEe3ce7e147fa7", - "support": true, - "votingPower": 1.0870945960197633, - "transactionHash": "0xa38b275c69de5bea85755f77b6272bad6264b35b706b58c48d3c5aaff7548ad9", - "timestamp": 1652999722, - "blockNumber": 14807541 - }, - { - "proposalId": 76, - "voter": "0xBf207EA5de7D210DB9F70Baf7c79Bb8c6c36666c", - "support": true, - "votingPower": 0.3, - "transactionHash": "0x08fa51ddad0a4863aed722e1f716fe25fc3d18587f99d7b8ab2a2d546ecb4881", - "timestamp": 1652999787, - "blockNumber": 14807546 - }, - { - "proposalId": 76, - "voter": "0x602114d8b9041F2bE7e6A534b793B92829114749", - "support": true, - "votingPower": 0.3, - "transactionHash": "0x3883ec8f8e85fd73bbf47e31ff1c2c7f865d908ca06b7ada058c696246b775a4", - "timestamp": 1652999867, - "blockNumber": 14807553 - }, - { - "proposalId": 76, - "voter": "0xB496A7902D2117Fc7acbbd5251E14075a5B23f6c", - "support": true, - "votingPower": 0.3, - "transactionHash": "0xc051df6324486abcec57bd468c6422aae8362c23fb7a560016c8b7b3d97c8bde", - "timestamp": 1653000183, - "blockNumber": 14807573 - }, - { - "proposalId": 76, - "voter": "0x2146Fa841F0c1076C064E14c05FfFf6e7BA41865", - "support": true, - "votingPower": 0.4, - "transactionHash": "0x5168c94247d464de89f7232bcba9caf207e474cf8a9a88f7990277e0e5c8081e", - "timestamp": 1653001426, - "blockNumber": 14807659 - }, - { - "proposalId": 76, - "voter": "0x562BF1B67Dc40d9b7C3ddd49E45aE58e61E1B76E", - "support": true, - "votingPower": 0.06384445632619642, - "transactionHash": "0x4ed15f8d29ecf312e652c4436872471416ffd26636a8a51002a46404bd8f3101", - "timestamp": 1653016371, - "blockNumber": 14808706 - }, - { - "proposalId": 76, - "voter": "0x41564Aa3B81dc37de38B89d78EbfA4cAc80993F6", - "support": true, - "votingPower": 995.02830997, - "transactionHash": "0x402ae90c46372d1119908be1c02b4ba77504106174798d9e24df994f80088aff", - "timestamp": 1653021852, - "blockNumber": 14809122 - }, - { - "proposalId": 76, - "voter": "0xE8cd4cB68dd4c79d118368F36D8564F3134c180D", - "support": true, - "votingPower": 0.375, - "transactionHash": "0x0d48815773df90bd38579499585bee67e88b32e497bc5cfe7004695c19014656", - "timestamp": 1653024601, - "blockNumber": 14809305 - }, - { - "proposalId": 76, - "voter": "0x987f05B5eEB8B30b02329D3888bebc3a7424e999", - "support": true, - "votingPower": 1.11, - "transactionHash": "0xd50eda2c77b9a6a3dee6bed5a5ec968846ee8308407a0e9da70a5fafc7eaf7d2", - "timestamp": 1653028103, - "blockNumber": 14809537 - }, - { - "proposalId": 76, - "voter": "0xaFDAbFb6227507fF6522b8a242168F6b5F353a6E", - "support": true, - "votingPower": 93442, - "transactionHash": "0x8295f70196826dc5e1390f97330e537b5ff0183bd5c22c9a81f000cda15e8e45", - "timestamp": 1653031389, - "blockNumber": 14809764 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 77, - "voter": "0x5B3bFfC0bcF8D4cAEC873fDcF719F60725767c98", - "support": true, - "votingPower": 183364.3447189123, - "transactionHash": "0x5a9eb1005e57c277bec02f7af7667f4b845127105d24938795e8c80051def79c", - "timestamp": 1653421997, - "blockNumber": 14837609 - }, - { - "proposalId": 77, - "voter": "0x094a84cb21A47a42f521BA501F48a39b9492FfA8", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xba7d2e7a22bccaededd3ccf7146668c112d467bb12a1ffc8f128f1ff7dc5a1de", - "timestamp": 1653442955, - "blockNumber": 14839074 - }, - { - "proposalId": 77, - "voter": "0xA55e93fD3CCe2cf40D43824B2f18889F404dDf57", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x253a8ded04079e8fac23286120bd7b3bde786f3bcf039e5c90e7a358026022ab", - "timestamp": 1653443496, - "blockNumber": 14839117 - }, - { - "proposalId": 77, - "voter": "0x97b63808628203cc716F7F92144e29428561685a", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xaf9b4f27aed96c6f9c5cf43f6ba5368f633e687290fb6b4dccfd4cd70e632367", - "timestamp": 1653443631, - "blockNumber": 14839128 - }, - { - "proposalId": 77, - "voter": "0x00AFB5284eEB291f6924d23B852C9b8fD13c9fD4", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xdec814fe73a29f63aaace8332c61164a6fb38d9157c5664f0d26413772b8112e", - "timestamp": 1653443660, - "blockNumber": 14839129 - }, - { - "proposalId": 77, - "voter": "0x00A9E4bb3f9dFA0Dfb2f6632531001251e0f2fb5", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x3d216e69e990daaff66cc49de795d64433fc9101d19a9cebaa6ccae1061cc873", - "timestamp": 1653443695, - "blockNumber": 14839132 - }, - { - "proposalId": 77, - "voter": "0x56Ff385d0459FDc5ceE0B91235D2E22DFE1E1335", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x2afc2534493d5e865eda8d21d89efd4f0b1af287ca536926ee09c8cf138d48a0", - "timestamp": 1653443825, - "blockNumber": 14839144 - }, - { - "proposalId": 77, - "voter": "0x61cBBcc43Ee116f99F20d422F6E8fc77D2406361", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x92583d51fcb88faad58d7668b3caedcfe23bad149f1bc5fa1f3b496714d7bb7c", - "timestamp": 1653444089, - "blockNumber": 14839167 - }, - { - "proposalId": 77, - "voter": "0x07107979D021187E038eC8dB9b5Efb5C033cb970", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x691d93b63a29fda55ad7010e12b15b95c34421e49ae089e9da3628ebbe340d3d", - "timestamp": 1653444089, - "blockNumber": 14839167 - }, - { - "proposalId": 77, - "voter": "0x9f811982C3a3858094Ad8fA9C564F6f9b8Eb9c6b", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x54f9361ef72ba4a13377619aae271433e1c0bcb1ebf2d92b23ac3c31ff2dbef1", - "timestamp": 1653444092, - "blockNumber": 14839168 - }, - { - "proposalId": 77, - "voter": "0xC65ee56cdF268207C63ae51A4691C9a49E6872a5", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x9c14ee608251e8b6ca2d7ff60f34cc8dc3e55b14092780829a97a7964d1b8f34", - "timestamp": 1653445089, - "blockNumber": 14839239 - }, - { - "proposalId": 77, - "voter": "0x5Fe82A0A2459680C6A0472dD52F087303953306b", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x906ab28d5e0331d565aad7b59b7bde4cb21587be02e794797fe99a2e5e924032", - "timestamp": 1653447390, - "blockNumber": 14839394 - }, - { - "proposalId": 77, - "voter": "0x6DAa937DE5E0dBb81990fE48195458fE36bc4000", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xa9293889c9c0df626ffbcb34bfeb286021c72aa117cdc38b5c52170dd2445d34", - "timestamp": 1653451406, - "blockNumber": 14839703 - }, - { - "proposalId": 77, - "voter": "0xC56eba48D3d5E07E3bd071550dEc42Bc85D49894", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xd3a58ac11dabbf8af81c8d4ebfc790f8a512502ea7894cc6791caf450febe454", - "timestamp": 1653451418, - "blockNumber": 14839704 - }, - { - "proposalId": 77, - "voter": "0x9F21a1507243Dd0C61695Dd522A09774F7872e98", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xe510ba88103f6fd9d52e3cf6ce33e5f82d947c6bac068477c7fd5f7a562a2c38", - "timestamp": 1653451746, - "blockNumber": 14839725 - }, - { - "proposalId": 77, - "voter": "0xc423133254322D63153c9Bb03a69f589d812F3f7", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x616f629207b6afb73c63e41d71eaeeea480936e7155001dda8409d212592e68b", - "timestamp": 1653451746, - "blockNumber": 14839725 - }, - { - "proposalId": 77, - "voter": "0xfA511e6faA68Ef4068f0EBa95dd2dE5E9bD2E07c", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x406b8826be1171bb8325f6ea0b002c25c2e07f081e88f89412bb2eb5d20b4455", - "timestamp": 1653451746, - "blockNumber": 14839725 - }, - { - "proposalId": 77, - "voter": "0x9c626fD1A3b39413a9A7c750E70C39Bc7D402C38", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x8fbdba84e590eb4d5dfa9b8d3d0638354806a568a278f806308874aec657d2eb", - "timestamp": 1653451746, - "blockNumber": 14839725 - }, - { - "proposalId": 77, - "voter": "0xa68002A930196C59b60b771d40c5d3a36b9f1982", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xad42cfcc0e1b40abb14ebb39931522827705c72ed090254b10d61352e5063504", - "timestamp": 1653451746, - "blockNumber": 14839725 - }, - { - "proposalId": 77, - "voter": "0x47b7568CEcc0843d4Dc0fe0318F72a8960638e25", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x104a91789cf4dddfd7849837a2d503fe94942884ccc6e1034e5620e1fbb5ded3", - "timestamp": 1653451746, - "blockNumber": 14839725 - }, - { - "proposalId": 77, - "voter": "0xDF4003EB86cf0F4712FB84fF6F70882F9d7b67D5", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x689b1fd0789fb23cb190e393b057dfdcd915372665bf0e2a0377ba2becaabdfa", - "timestamp": 1653451746, - "blockNumber": 14839725 - }, - { - "proposalId": 77, - "voter": "0xC88D5E96f82fDa12478cF038eF050974B580f0fB", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x3d52e60344e12e6ceb77518befe22e777e964b8939a4985e52297d2815bdd802", - "timestamp": 1653451746, - "blockNumber": 14839725 - }, - { - "proposalId": 77, - "voter": "0x8FAA7f7D85546C2eAC5357945961DdC5Db4C72e8", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xc95283442d46b165e56023a98008ebd155b992e7228aa60e3103c4dac06158bf", - "timestamp": 1653454970, - "blockNumber": 14839939 - }, - { - "proposalId": 77, - "voter": "0xf06bFd1B38bAF510a9C39C0cE9d1260968cFfcf0", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x85cf9e27e07415425e7be20b8fd7e73556f8288928d0f4a18ff263ae9bf67a39", - "timestamp": 1653454980, - "blockNumber": 14839940 - }, - { - "proposalId": 77, - "voter": "0xC57419f29b9cf897e1c3D9140B4b429432126DDf", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x765ef08cd7c78d9f8896fee87bdd4b7da899e4bcb1a0af109a1d8d965572f5ba", - "timestamp": 1653454980, - "blockNumber": 14839940 - }, - { - "proposalId": 77, - "voter": "0x4907657e43630217829978B82ea4a5D328d66A21", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xa9bcf8e451e5e5c10432698301bcd43ec5cbfeb7fec10851384cebafcde65e0a", - "timestamp": 1653454980, - "blockNumber": 14839940 - }, - { - "proposalId": 77, - "voter": "0x8955B8ff82582C64275eC9bDCC138Ea677c0277A", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x9e3fed9712aa9a80c354c8c607056d7cbd29957ed478630bb09f64501ef17000", - "timestamp": 1653454980, - "blockNumber": 14839940 - }, - { - "proposalId": 77, - "voter": "0xC948ceEF3C9A26a706b66BB1aD25A32A4cE530ce", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x4a9b58991bb9ce591409dca605617ecd1de9a218c231e7d5f86c0858187547b7", - "timestamp": 1653454990, - "blockNumber": 14839941 - }, - { - "proposalId": 77, - "voter": "0xB9396897564D7a14B7e6a4121A2D4815D106EaE7", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x40ba71553843d2ae49aa81096e429a423b20603ad2a302f0388d4bef3b09ba5d", - "timestamp": 1653455000, - "blockNumber": 14839943 - }, - { - "proposalId": 77, - "voter": "0x2D106fB33A585AD2a246C6FC1Be59d5A322A7F37", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x72515dfd0ed0ca73535f899f6d0238f3b28125e6b370226595b67d6754cc76b3", - "timestamp": 1653455009, - "blockNumber": 14839946 - }, - { - "proposalId": 77, - "voter": "0x61dB5652216366Fba831c594fBAE22A7a6aA4783", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x95dd01f0dbf99c23f9a19a4a895557fc8dca7e7b29f55bbd7c2327cf995dcd6e", - "timestamp": 1653455009, - "blockNumber": 14839946 - }, - { - "proposalId": 77, - "voter": "0x3F7BF380DcEe4aa066619074b3CDD405e7Ea88F2", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x4ea8222b1f6ab273d08096c7f0da3ceb3d7e1b018202d687dfeaf27976269b5c", - "timestamp": 1653455009, - "blockNumber": 14839946 - }, - { - "proposalId": 77, - "voter": "0x09ca382552a1CF2286B49f38Cddf239C0b76dd52", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x7f7a7fbe962eccd61706146d6ae7f244ea79c7db50adb34b0a9e77647200c7f2", - "timestamp": 1653455009, - "blockNumber": 14839946 - }, - { - "proposalId": 77, - "voter": "0x6f59b9142241adB3ce1E5A8B110FA0dABeD74c2A", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x2070e913feb49e18b3b4d3254c82ea1181d718226773a5ccd2424cfd538d5c53", - "timestamp": 1653455009, - "blockNumber": 14839946 - }, - { - "proposalId": 77, - "voter": "0xE152A47eef0Ce5Ac81206A2342fCD18af4766677", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xe10bc326f7b2d9c12e623403cf74b12d53dac764edf576573f390986d02c4861", - "timestamp": 1653455009, - "blockNumber": 14839946 - }, - { - "proposalId": 77, - "voter": "0xA33198D7D68333b668ED33eD556c5DBAaA590A0e", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x60fdc1dd6f847eac75f594d077929820619e51c30274e2601b7f30e8adfd497d", - "timestamp": 1653455009, - "blockNumber": 14839946 - }, - { - "proposalId": 77, - "voter": "0x65d72d8FDFCF47cd18F1e86eADF30a25687BF800", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x1d7c28f9da2cb45f01bcb7e9ce5bb752afe1471a9fdb67e403e7c6230283510d", - "timestamp": 1653455009, - "blockNumber": 14839946 - }, - { - "proposalId": 77, - "voter": "0x2C904d5aDc0cEC67B6aCF3D61A7705460d133A2d", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x0136b0772ab336be6b5574dd183b5ecfbb6b2ae898367e7a3b64b49a123fea77", - "timestamp": 1653455009, - "blockNumber": 14839946 - }, - { - "proposalId": 77, - "voter": "0x36AA102ea9e841414Df0E8EB041e25164053d7d6", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x117a9445cd8b76eca6bd71423632c757c4459f518c0daaf42a6ca9de049046ac", - "timestamp": 1653455009, - "blockNumber": 14839946 - }, - { - "proposalId": 77, - "voter": "0xa059E146658154091e5a2A8Ea53098d879132a8C", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xf4147797f1987f59a33c7e4e4263003cfa138b7764932f578c6c4f95d39e605c", - "timestamp": 1653455009, - "blockNumber": 14839946 - }, - { - "proposalId": 77, - "voter": "0x41C879b20C440DbE580B4042552e2C50cF086a3a", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x827f760f57f772e366a79edf0a537fb98b3265fbf15498015665411f0dd24349", - "timestamp": 1653455009, - "blockNumber": 14839946 - }, - { - "proposalId": 77, - "voter": "0x0A0e19d5aDbc6c3f9C7D99BC18302CEDE3A3b55d", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xe3da685854656f5e4b75d25d04fec8c2cb07c85a7b74f9fa967a5ba37f30aff4", - "timestamp": 1653455009, - "blockNumber": 14839946 - }, - { - "proposalId": 77, - "voter": "0x1D30e724d5D251272Ff756eCFeB387623d731dD8", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x0eb40717f87a6f31c6d6f8aa703e97c280f75185fd2b057275a5648cf54cfc2f", - "timestamp": 1653455009, - "blockNumber": 14839946 - }, - { - "proposalId": 77, - "voter": "0x779b5a289F2969D4Dd004e108a21d8237925Ce3B", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x12c370dd3eef76e6969279e49959c67048b6850a74fb1dd60b58f2a0829f6481", - "timestamp": 1653455009, - "blockNumber": 14839946 - }, - { - "proposalId": 77, - "voter": "0xDD54A2F07cC9Da663f04c7e107503857665e6678", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x36b886420f799c8d34a1c0fa84aaa1fa4bad1c30118b8735392c2524f88c80cc", - "timestamp": 1653455040, - "blockNumber": 14839949 - }, - { - "proposalId": 77, - "voter": "0x680e2Ca551A099eAfa6dCe745b56E46bc78BF507", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x4eebd67b9506ab8687286175b31f6cb01ec93fb34071de9782ee08390fc98014", - "timestamp": 1653455040, - "blockNumber": 14839949 - }, - { - "proposalId": 77, - "voter": "0x496995F2f88320aD02653968C4e0B883c69b7D38", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xfd86e5f9077c3b2bc7105ca23dcd5ae8c529f50a2402a840a043cb2240ca79c0", - "timestamp": 1653455065, - "blockNumber": 14839950 - }, - { - "proposalId": 77, - "voter": "0x0ec14Ee6a869586E7AeAbE4426aB65C3f0ab54f6", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xa35f52b0e8fe74fe1793f99ac291e43a2e2c62f2cffd9b3b2c852b7805293543", - "timestamp": 1653455079, - "blockNumber": 14839952 - }, - { - "proposalId": 77, - "voter": "0x3513196020C72768f5c973f576f944efCF28ec18", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x87828a3b18165235c49bbc155bd71b4293db2a4b567f9f38af379d4bbfc61a20", - "timestamp": 1653455079, - "blockNumber": 14839952 - }, - { - "proposalId": 77, - "voter": "0x2ab2D127e698834De0DC86bd7ee81C664Bd3FC06", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x8b0f210a313d5f6b7c3f03aed4db2bf451acc037c465b7cb2b48469263bb2888", - "timestamp": 1653455079, - "blockNumber": 14839952 - }, - { - "proposalId": 77, - "voter": "0x971fD39106208d9A52024152f65717CD0C46A81C", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x6e5712dd85a9b32eecf63edec4292e17c51ca136d84b2bfc84d5dcac3741eca3", - "timestamp": 1653455079, - "blockNumber": 14839952 - }, - { - "proposalId": 77, - "voter": "0x72D67Ec2a32C48d4a7Da9f159c94edad263084F6", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xddba3267687241f46b095568b3ddc7e016e4afd1d444849d779001c0f43ebbf5", - "timestamp": 1653455196, - "blockNumber": 14839959 - }, - { - "proposalId": 77, - "voter": "0x6eb0a04BbEc1965D720b55B4F7CB619f298a3d86", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x049529b081a39abc56e73c8ac1583ceb7c8f56a115d3719eb61fdf883566577a", - "timestamp": 1653456250, - "blockNumber": 14840037 - }, - { - "proposalId": 77, - "voter": "0x09D9590cedcBC29427AFB4f696D11ffe0DD8B20A", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xa111620ba0a7458ad4ca20febf74d051d7b2ad50fba37ea7b1623fb064ad5d19", - "timestamp": 1653456884, - "blockNumber": 14840087 - }, - { - "proposalId": 77, - "voter": "0xBCA958F0C6C883Ab1dAB4Dc3C9d37Cec12622d3c", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xe1be63a8a905da201b8f712104928ba89fb29dfd28d989781825684552a0a513", - "timestamp": 1653457484, - "blockNumber": 14840139 - }, - { - "proposalId": 77, - "voter": "0x35B104F7F3d7429Fe8D695BD8EF050F8198B3D1d", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x0ee4c6ffe7b9d08a63ccfc864d02db40abc07edafcf0caaad05cdd6f091d3ef1", - "timestamp": 1653457572, - "blockNumber": 14840147 - }, - { - "proposalId": 77, - "voter": "0xC266cfbEB4D6cA48dDe3d369EfE2754523ef8eAB", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x59c7ed2a2931924189880f434b74d890e1de6724b5cba70e0e8f55766e33b90c", - "timestamp": 1653457824, - "blockNumber": 14840162 - }, - { - "proposalId": 77, - "voter": "0x313e605a2a89b979467ACC7872154fb2c5aba44F", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x110fa99f84040f0913dd97b369d219c9cc2597362612f4fadb68b072ae26571e", - "timestamp": 1653458050, - "blockNumber": 14840175 - }, - { - "proposalId": 77, - "voter": "0x944d445f944DD6343924a1C1989f1a98d042D45b", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xf9de51752527e41e2f1c98752be856914c3af2963d34493ca3845583303a1fab", - "timestamp": 1653458169, - "blockNumber": 14840187 - }, - { - "proposalId": 77, - "voter": "0x8207BB6fa57c53bf9c471d2616a586c3df6A981E", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xbf28cc7056055f9fc25e48675dadaad23b74b456583943555a008b8ef8a68611", - "timestamp": 1653458468, - "blockNumber": 14840213 - }, - { - "proposalId": 77, - "voter": "0x56b3E614450100ce51b70f12C559397f2aDdcd58", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xec047a06c92d9477e88b03dcf2d9a73706e7eac144c39132efb4c1627acd018f", - "timestamp": 1653458515, - "blockNumber": 14840221 - }, - { - "proposalId": 77, - "voter": "0x04361FDfD5c494Ca3a90F1373281d1D3A93940B7", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xa423448ce338ee55d8987913ea55874736f7f25a95fc31124f73eb691a71afc2", - "timestamp": 1653458633, - "blockNumber": 14840226 - }, - { - "proposalId": 77, - "voter": "0x7D3dECb25Dbd138f9485267d633260b5d3906f3b", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xc358e660aebaedf63410fccaad76d50eb771cb9d65e8fcffcde0679d1965abb1", - "timestamp": 1653458760, - "blockNumber": 14840233 - }, - { - "proposalId": 77, - "voter": "0x1178AB90E2303a6D6C0c2937bdDA112c4FDF32f0", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x54bb579b85f2f3810264508046531f4526d2a3e9f664db8b14ab6f75bfe02c8e", - "timestamp": 1653458866, - "blockNumber": 14840241 - }, - { - "proposalId": 77, - "voter": "0x5FA5E3d17D11C650892bc541dD6a4F3E0bb36Fe4", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xfef2340cd8cc71375c9ea8e6281ce3709f0fd50ae3ae4d5db9174a2dfb3feacc", - "timestamp": 1653458941, - "blockNumber": 14840251 - }, - { - "proposalId": 77, - "voter": "0x60225d2129C8E86Faf856AF042dfE58DbbC33812", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xc2228c21961a70879ee9ec4cfabd5dda322e595abeee0d6abc59fd952b6a199d", - "timestamp": 1653459056, - "blockNumber": 14840256 - }, - { - "proposalId": 77, - "voter": "0xEaBA7B056cd11491835Ea7629134031E5dD426dc", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x441807d61b59e43a4784e4a0f43a0ef72ba22188eaf84b540d8768d469c95b6c", - "timestamp": 1653459188, - "blockNumber": 14840266 - }, - { - "proposalId": 77, - "voter": "0x506D4f34d7615A7732cD6a1aCFf23Ba71FBCa691", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x77e0d62098a90e0ad90565c058462b2a514e9afe4c0d9b0ea5c17f87a55146ed", - "timestamp": 1653459252, - "blockNumber": 14840272 - }, - { - "proposalId": 77, - "voter": "0x4019B444C6e397fc8e3F4228e508d3B95deB433b", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x9d3275a7e94906b0f29e6f6df7391cb1e9cbcc30ce6d85e1d8f06c55d881a147", - "timestamp": 1653459336, - "blockNumber": 14840279 - }, - { - "proposalId": 77, - "voter": "0x74ddB9147EAF2695bD2558e60469F528b7FF5309", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xdd540f4bc4322bbe7375d655418083a94a4e11fea1a9ed8436516cf0cf1cdf5a", - "timestamp": 1653459481, - "blockNumber": 14840293 - }, - { - "proposalId": 77, - "voter": "0x6fDcC30a80Fe66a32a70F03f5ccca3a482dd36Da", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x4be38ddd6b623aafb98a0542e020733254bea08c8b71cec35fb1a47fc3f0dd99", - "timestamp": 1653459569, - "blockNumber": 14840298 - }, - { - "proposalId": 77, - "voter": "0x2600543185e678B55a44028E8027203E42d9d6d1", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xb4bb4c3400502961ec7ead77bcdd99418920ed4d9c0e55f7c8a96ef96768a186", - "timestamp": 1653459636, - "blockNumber": 14840301 - }, - { - "proposalId": 77, - "voter": "0x8771Ce184B42Fe63EAA785225b877972f5055664", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xd65d500cfc1ecb4d4407563bbf2ed9cecf71b37f2e7d14f02ebc91f2ca5dc331", - "timestamp": 1653459745, - "blockNumber": 14840309 - }, - { - "proposalId": 77, - "voter": "0xb1F3eb25cAB209C387A3Eb9Fcb4dca1417988e97", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x743f2ccfb06805c958e7a1b11326882486135df411045f4f0351493aeaf06850", - "timestamp": 1653459777, - "blockNumber": 14840312 - }, - { - "proposalId": 77, - "voter": "0xac4F7e4C37fae70E1C3Ba6Cb0dD273c19f08c712", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x1464a57d8529f1ba81b1d310bfb5cd9f9a6213359848f258cf0b16886a1f0718", - "timestamp": 1653459852, - "blockNumber": 14840317 - }, - { - "proposalId": 77, - "voter": "0x1fC632a2B9b0b133ED43985c80C716C419ec4aA3", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x05d6d5fef79caaeb94d9ce220f09b0b299934f5e79943501ee5becd70ce1ddfb", - "timestamp": 1653459939, - "blockNumber": 14840321 - }, - { - "proposalId": 77, - "voter": "0x3b0268e5f15f578c2816C9c704b01F5C276EF197", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x4cc7216d9950e922ec2adb0ae3035869fbb4c4ff8dcb273a9b183de159b73bb3", - "timestamp": 1653460028, - "blockNumber": 14840325 - }, - { - "proposalId": 77, - "voter": "0xC505b0998910F22da978e1C012a0b50797e3aB8f", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x1203872e8b39eb4c76bcd0d76900b5fb64a210936dbc6e59a4471809a15f6cfe", - "timestamp": 1653460134, - "blockNumber": 14840332 - }, - { - "proposalId": 77, - "voter": "0x6431C5E5C1851a8dcF832b2784eCcCD43205d537", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x41b13b7e4ab676fe9ab11fb810ed6d12dd738a2108e26fb85a618163718c71cb", - "timestamp": 1653460206, - "blockNumber": 14840338 - }, - { - "proposalId": 77, - "voter": "0x70ACe5f457452415e3f71F3Ff95F09cCB22270d6", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x38bcf8316b299077e975738bde5bc90a98dc45f95cf274745143dd8e37e2133b", - "timestamp": 1653460279, - "blockNumber": 14840343 - }, - { - "proposalId": 77, - "voter": "0xddF509Dc23468530E860caA2ecE5d0CFD3Bb0cc2", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x9be76db035c5abf74044be08ab4458bcde79ebeb0ff53b09fd66c9eba7343a2c", - "timestamp": 1653460356, - "blockNumber": 14840349 - }, - { - "proposalId": 77, - "voter": "0xF2bdA0198CDCb0e42984d1591cD245016703E80C", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xd8b0c6102456a54b43164e6ce68b9b0b8254651f0deb8eae40756732dd371277", - "timestamp": 1653460425, - "blockNumber": 14840353 - }, - { - "proposalId": 77, - "voter": "0x5e9a6B73a88785f11B1aCB931FC291061eD64bB1", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xc48bbb70361f0deb83f503522741453859cc30d0c1b3a237a978bd2d6e6291ca", - "timestamp": 1653460644, - "blockNumber": 14840369 - }, - { - "proposalId": 77, - "voter": "0x41E25a17EB08218051020044364Fc8b412FCA2c7", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xec241a10cb4b07951878d08bb36b98bc7fc06feb6c8a36723d79dd5063f4662d", - "timestamp": 1653460705, - "blockNumber": 14840374 - }, - { - "proposalId": 77, - "voter": "0x31fB6e45445D06B719AD164AA0f634324813fA69", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xbd777d8763f16d3756c7680ff9943dbfef812f067a26ba7d3d9736a42fac1922", - "timestamp": 1653460782, - "blockNumber": 14840384 - }, - { - "proposalId": 77, - "voter": "0x3c7Ad24476E45D75411aB259025Dc8d7f05CFFC4", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x856e8a8713979337e21a949c878891b152fe1f03f1793e726c6fc83823cd2361", - "timestamp": 1653460904, - "blockNumber": 14840392 - }, - { - "proposalId": 77, - "voter": "0x7b5EC9Ac595D23FDEC463967eE05036555BcF0F7", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x2696cc0257a06bf0cde2d816b611d627581e116805084071413ad3280c3b95a0", - "timestamp": 1653460985, - "blockNumber": 14840398 - }, - { - "proposalId": 77, - "voter": "0x16dE9A38417EbAdFf3f36a76Bcb1Ec8d1bF1aB0F", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x50b015a81f21adba7332f9cafb72805e019846b5fcf4a1f254405e4a9533e78a", - "timestamp": 1653461045, - "blockNumber": 14840404 - }, - { - "proposalId": 77, - "voter": "0x9E14F62b60c281aEe1D89C5dEd817d0F69d2b8fE", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x105f5b5a7067e9dc4c82bb0bef8530446735825b39b4014e2b1223aebd85e37f", - "timestamp": 1653461188, - "blockNumber": 14840410 - }, - { - "proposalId": 77, - "voter": "0x00D54C98e105FBbcF7D5f3A74E0b5DB5Dd13626f", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x92f23dbfb26798fb0a63c54d2ad57632fc52de9bcd67bce9fa5cc2ad9ad23424", - "timestamp": 1653461273, - "blockNumber": 14840415 - }, - { - "proposalId": 77, - "voter": "0xd5248DaC997D077da37175c5C4F43Dc6f664EC67", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x27a65fd675549720aa8da881c93e635a98b1b13a122c077eb36462651d646456", - "timestamp": 1653461348, - "blockNumber": 14840421 - }, - { - "proposalId": 77, - "voter": "0x5f4F0d21959AaEFCE39cdb74288e5C0a6f1B1b47", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x1db615f9ceb79da0a346b98db0ccb68962e2bc23e1e890a15e2f56b99494b607", - "timestamp": 1653461465, - "blockNumber": 14840429 - }, - { - "proposalId": 77, - "voter": "0x6002C801D347226a3E55dfDf5feb408D87A5Ee00", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xe98687accb88dfe3e49e906fafa8a94347a2587bfe39cdc7014f17c9a6a0b79c", - "timestamp": 1653461540, - "blockNumber": 14840433 - }, - { - "proposalId": 77, - "voter": "0x488a4105cF82E3E39DD1eD8B437c6580b0965F8e", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x24d8806775f4613cea5706873486a8a73d28ef8b15d204ec9b64b48e922ccc8e", - "timestamp": 1653461665, - "blockNumber": 14840443 - }, - { - "proposalId": 77, - "voter": "0xa9B3e2E71bCaD66D27422F21d390ded283e08047", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x978946a4b18ec76e800df506409ffe61f8bffaf1a9dcda9fb3e2c46bf7fe33e1", - "timestamp": 1653461746, - "blockNumber": 14840446 - }, - { - "proposalId": 77, - "voter": "0x58F1e8F9D95b63e20788BeB990edD9bb29F4370B", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x1f145f5a7b17bc6953b44fb64258d54f569f34ef83ab9bd941bad38fdb05ec6c", - "timestamp": 1653461817, - "blockNumber": 14840451 - }, - { - "proposalId": 77, - "voter": "0x17BA7F1419Bf5a64C90d92b0ae086761B6ee633C", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x8079926ffded8e744b1c9e0f6f7994824b8f7334aa27c79f4e96c1db77d72d10", - "timestamp": 1653462042, - "blockNumber": 14840462 - }, - { - "proposalId": 77, - "voter": "0x753A5B853CED64067970A748c414D10c4cb7280d", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xb74f6296d9a6840495cd12fca1b97817c28de83a261726107370c60dc839d206", - "timestamp": 1653462131, - "blockNumber": 14840467 - }, - { - "proposalId": 77, - "voter": "0x301e3A2b4E761fe373616859Da23a49C3583d081", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x2b8ffedc3d4f7c7361d35af33f405e80dd3d573cb616bc4aba4a3346cb149352", - "timestamp": 1653462228, - "blockNumber": 14840470 - }, - { - "proposalId": 77, - "voter": "0x0F2075f750e3646Ed6E5568C144192211e076990", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xce4e88a1e986bcf0fe7fd0744d9ca85a539b338fa5b1769f81bb41bd9a307483", - "timestamp": 1653462359, - "blockNumber": 14840481 - }, - { - "proposalId": 77, - "voter": "0x382017115D9fD59d2497dE049b6859f7D5c80C57", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xf86abc8404229683a2ce0067e2c684b74b5313c4627607ce1540f5a99fc3927a", - "timestamp": 1653462495, - "blockNumber": 14840489 - }, - { - "proposalId": 77, - "voter": "0x497A6680c713D7e1F8F78DE4aCEB0824933b49C8", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x755192058657c6920ed989ffbe73ef746ed5c9b7ca55728a4fe4331fa9e239c8", - "timestamp": 1653462565, - "blockNumber": 14840494 - }, - { - "proposalId": 77, - "voter": "0x378Ba35e58a82A4b2f561e29cCDA1096f1e9f6b2", - "support": true, - "votingPower": 0.975, - "transactionHash": "0x3aa2a92cf8ad04605134641533123027b52f736270cedc6e552628a492e7aaae", - "timestamp": 1653465532, - "blockNumber": 14840696 - }, - { - "proposalId": 77, - "voter": "0xDc52350858b60853D93390Ab38DEe3ce7e147fa7", - "support": true, - "votingPower": 1.0870945960197633, - "transactionHash": "0x98b34d08027d211139190a8711fb0860c5f966a47d46ecb92a44b35e9881bc24", - "timestamp": 1653485209, - "blockNumber": 14842112 - }, - { - "proposalId": 77, - "voter": "0xa5A25ADcFd24b980E480f875Aa2086571047e14D", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xe18637796428fbdce2b3441076d81d03b69a0c327cb668bdc75d6aee8390d472", - "timestamp": 1653485517, - "blockNumber": 14842136 - }, - { - "proposalId": 77, - "voter": "0xBf207EA5de7D210DB9F70Baf7c79Bb8c6c36666c", - "support": true, - "votingPower": 0.3, - "transactionHash": "0xa31bf0fd6952872ef5e1a213a1953e3bf21a28fe65005dee0cea0db271d8820d", - "timestamp": 1653485661, - "blockNumber": 14842143 - }, - { - "proposalId": 77, - "voter": "0xD7CdA84356bB42F56748aF40abfE41375e704819", - "support": true, - "votingPower": 0.045, - "transactionHash": "0x73a2a277514e5968ad98386b8b2d696cd40542c8b58677e7f14602830cc0784e", - "timestamp": 1653486816, - "blockNumber": 14842231 - }, - { - "proposalId": 77, - "voter": "0x886cf30e5f7C6f69Ef1Be1173a53a6DD04E76966", - "support": true, - "votingPower": 0.011438645151094213, - "transactionHash": "0x4d5dac3ec6698cb49a2c0a94acb1eede98fcfa0f38daa36f5d8b5a06166500a9", - "timestamp": 1653500175, - "blockNumber": 14843197 - }, - { - "proposalId": 77, - "voter": "0xA0efD27acC781549D5b78e89E561AA0903932d56", - "support": true, - "votingPower": 8.002657782527367, - "transactionHash": "0x420b65822445dc6fda9dc51f109447c98e8aa1e2b5f05efd0923a3221c7993c0", - "timestamp": 1653507723, - "blockNumber": 14843722 - }, - { - "proposalId": 77, - "voter": "0x5D0F47Ca822c0c5808BfC8f8418c41cDA523E5c8", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x0a0c186ff4fb071547cbd89bb0f406c379c9282cd29e8df7fcbe92445a3e8f0b", - "timestamp": 1653532844, - "blockNumber": 14845454 - }, - { - "proposalId": 77, - "voter": "0x398Adf3432CD620401fBE6e0187eb72975629B8d", - "support": true, - "votingPower": 0.0775, - "transactionHash": "0xf5d7d70aa40b573ff14f388877ebc29176740b39aad256f2728d0882db9a6d4e", - "timestamp": 1653535561, - "blockNumber": 14845661 - }, - { - "proposalId": 77, - "voter": "0x591De77a630af7f38419D86DcEA580440a42E582", - "support": true, - "votingPower": 0.0775, - "transactionHash": "0x90ec82db428353748139af51e82a6b773142ad0b1a5e218dbf8ed627fc4cb57c", - "timestamp": 1653535616, - "blockNumber": 14845664 - }, - { - "proposalId": 77, - "voter": "0x46350842D614c493300E2CA3F173AE4721FeAAb6", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x268b249ab4a271e2715d85e14f622cdd994674f968bbcd37217bc7713b7e9a06", - "timestamp": 1653535739, - "blockNumber": 14845678 - }, - { - "proposalId": 77, - "voter": "0x6D0f1Fb99bf8A5495cD2acAfc2eAc708F93E7C35", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xf0e4926bd032e1be968ad4ce90a2d9ce62f82805f14fe72735c29d1129ffb0d8", - "timestamp": 1653535783, - "blockNumber": 14845685 - }, - { - "proposalId": 77, - "voter": "0x32f3824FAe9955Ac31052039b702A727f78a327e", - "support": true, - "votingPower": 1, - "transactionHash": "0x44f5290b5262f7a68d5d77946a9e06752b0b19dbcb35292666ecda4db68409a2", - "timestamp": 1653535804, - "blockNumber": 14845688 - }, - { - "proposalId": 77, - "voter": "0x19d2866ea79599cCBF7f500F456C268F06eC975B", - "support": true, - "votingPower": 1, - "transactionHash": "0xc82856de9f82ce65ba1bf245266632023b58e49fa7d225d2343dfec187a0909e", - "timestamp": 1653535856, - "blockNumber": 14845691 - }, - { - "proposalId": 77, - "voter": "0x2FdAf0e62a811CF2cFE575d486d51E895A67Ab6d", - "support": true, - "votingPower": 1, - "transactionHash": "0x3368bad1834e2cd11ec86f5358eeaac131ab7989b2d7a6c0490171c7b102c96a", - "timestamp": 1653535870, - "blockNumber": 14845692 - }, - { - "proposalId": 77, - "voter": "0xcd82ba368B2209FcA02f2FA3EF827bA5Ce0978a4", - "support": true, - "votingPower": 1, - "transactionHash": "0xc7585686fef82adff05ff4a6ee8229137914e7a4d6909e832b010bbb7bbbe4b4", - "timestamp": 1653535884, - "blockNumber": 14845694 - }, - { - "proposalId": 77, - "voter": "0x5c62315f0F14f6E8d113568b2Cb6d16597e232d6", - "support": true, - "votingPower": 1, - "transactionHash": "0x59a3456754b2e297826389621afad9f29f2154ce0a4f4299d1635176c07a54e0", - "timestamp": 1653535884, - "blockNumber": 14845694 - }, - { - "proposalId": 77, - "voter": "0x13Dbb5Ae7cc1C4694f3254d2f4f61972d978C968", - "support": true, - "votingPower": 1, - "transactionHash": "0xdef9fa65768bad8ad79e102457cdfde985f4817f0863b5394c908a8a9985122e", - "timestamp": 1653535925, - "blockNumber": 14845696 - }, - { - "proposalId": 77, - "voter": "0x9E0D2d3E22fd21C8640a6d9dE6871108F48486A6", - "support": true, - "votingPower": 1, - "transactionHash": "0xcab1fb4286453e6f6527d193960b8fca42c81cfc91f81cde74f45dab3e8e4124", - "timestamp": 1653535949, - "blockNumber": 14845701 - }, - { - "proposalId": 77, - "voter": "0xf986560C2F129c34E2Af793379C073AF5e623954", - "support": true, - "votingPower": 1, - "transactionHash": "0xe2d7ac3a7a04d5326480e6461ec22ffce5a71c6d1aa91e48f96633314fd6e5be", - "timestamp": 1653535954, - "blockNumber": 14845702 - }, - { - "proposalId": 77, - "voter": "0x2Bf93D575AA62dAbF4CA7DeAc33dD864290a9508", - "support": true, - "votingPower": 1, - "transactionHash": "0xd6c52bbaabbba675447a120686c325a8e823a8ce53919f379ee2be17c23b3743", - "timestamp": 1653535984, - "blockNumber": 14845704 - }, - { - "proposalId": 77, - "voter": "0x1f5CEb1601Aa024D0fde6854aAD2522cbF7Be275", - "support": true, - "votingPower": 1, - "transactionHash": "0xe6b86266e769c61b884fbb7251c89a05070ce62e0f8b9c30f4d797f4be9ababf", - "timestamp": 1653536004, - "blockNumber": 14845707 - }, - { - "proposalId": 77, - "voter": "0xCEFb5Be5e48744fce916Cc733E5BE0CECDF85f76", - "support": true, - "votingPower": 1, - "transactionHash": "0xee8ea3f101c5b19bcf5c703bce49f6bcb4eef32726a9194b214f4d75bfbcd337", - "timestamp": 1653536042, - "blockNumber": 14845711 - }, - { - "proposalId": 77, - "voter": "0xc279925da33cf0a27ab56AfF0D2E76d4F7b04e1f", - "support": true, - "votingPower": 1, - "transactionHash": "0x87f9e9a69612358a81afa2e22bcb46b2e629105ab5ecd16b4f651424b3142c06", - "timestamp": 1653536042, - "blockNumber": 14845711 - }, - { - "proposalId": 77, - "voter": "0x5659CaA4306432d93a4f8C07B8cFc84aB7570375", - "support": true, - "votingPower": 1, - "transactionHash": "0xb522b26d0e5751bda49c8d5a1ba9162a4fa70db26f0526245ace1877a97140e7", - "timestamp": 1653536048, - "blockNumber": 14845713 - }, - { - "proposalId": 77, - "voter": "0x5f1B534Bcdcb7c4E0A0383880F913c0fFfEA8294", - "support": true, - "votingPower": 1, - "transactionHash": "0x2cb47a3a2ba6a45e008ba0826327c5758b9df209e29e921fcbbca08f68ac5e97", - "timestamp": 1653536066, - "blockNumber": 14845715 - }, - { - "proposalId": 77, - "voter": "0x280d1a302030fB0744CB876250eE0FAFce2D7cf7", - "support": true, - "votingPower": 1, - "transactionHash": "0x15840b198cde2f88a65a0a854d0162cead47f47d2808aea263b913fa3d380efb", - "timestamp": 1653536079, - "blockNumber": 14845717 - }, - { - "proposalId": 77, - "voter": "0x602114d8b9041F2bE7e6A534b793B92829114749", - "support": true, - "votingPower": 0.3, - "transactionHash": "0x14fd3726650de7fa46b8cf9e9cb75fe461e8100f91066adf9db30a8c7e5083ed", - "timestamp": 1653537843, - "blockNumber": 14845854 - }, - { - "proposalId": 77, - "voter": "0xF06F09C65635ea3dB2F6255cABeFcc11d28f2ef2", - "support": true, - "votingPower": 0.36, - "transactionHash": "0x58247593ef4ac3c1cf10322531931dd229302fe1857d358c04e12f1f4bad6f73", - "timestamp": 1653548008, - "blockNumber": 14846574 - }, - { - "proposalId": 77, - "voter": "0x562BF1B67Dc40d9b7C3ddd49E45aE58e61E1B76E", - "support": true, - "votingPower": 0.06384445632619642, - "transactionHash": "0xd912b5b2a1828e624b8a72f6306dc5cbe271316720402feb52e8fefc3318adde", - "timestamp": 1653548392, - "blockNumber": 14846602 - }, - { - "proposalId": 77, - "voter": "0x184F44a581a3FDf67e834Cf2A0F193CbDd08A3b9", - "support": true, - "votingPower": 0.08000165, - "transactionHash": "0x869fd380078cbf41cfff1b96598469c212532ff82efb99e1d6e89765cef9d2d0", - "timestamp": 1653548485, - "blockNumber": 14846608 - }, - { - "proposalId": 77, - "voter": "0xc062Eeca3891539F75054b1060997aa3459b7390", - "support": true, - "votingPower": 0.06, - "transactionHash": "0x4df2854c892b2f6dcbf6c6d683724424a1bdcf7de1e30c5a31a5500ed76cfb39", - "timestamp": 1653548574, - "blockNumber": 14846616 - }, - { - "proposalId": 77, - "voter": "0x76363226b9E31b78C2077Ecea78F440D81299f39", - "support": true, - "votingPower": 0.05, - "transactionHash": "0x0f05d4af119d874a6c77cd25087d94ff65a92e62674ed6afa7494a91121e7471", - "timestamp": 1653548626, - "blockNumber": 14846622 - }, - { - "proposalId": 77, - "voter": "0x40276bA5EfDFBBf749557f6B2A094ABd78197164", - "support": true, - "votingPower": 0.06635298115685384, - "transactionHash": "0xd16f8ff6a036a9444161cf726b390f59e2e5b0a24a419936c7265a6c061fbf3b", - "timestamp": 1653548754, - "blockNumber": 14846627 - }, - { - "proposalId": 77, - "voter": "0xdC09eb652D4568c3E22D176BCe8F5eFb12aF7716", - "support": true, - "votingPower": 0.06, - "transactionHash": "0x652463a4230e54028d7c75f28f4ce63dd80a5e5ad238c34d0d3a28511091ae51", - "timestamp": 1653548851, - "blockNumber": 14846634 - }, - { - "proposalId": 77, - "voter": "0xE8cd4cB68dd4c79d118368F36D8564F3134c180D", - "support": true, - "votingPower": 0.375, - "transactionHash": "0x791e06c815bbd983467e7cc3832a1dea1a2552e95ed7397356e00cadd520bc51", - "timestamp": 1653552583, - "blockNumber": 14846890 - }, - { - "proposalId": 77, - "voter": "0x98173D41603A1Ca46326f2F4e06bfef7e16DF544", - "support": true, - "votingPower": 0.3, - "transactionHash": "0x8685a9e549681114f8dd7a09b7898f41073323d8354b2e2a6008a29ac1fbefb5", - "timestamp": 1653552647, - "blockNumber": 14846896 - }, - { - "proposalId": 77, - "voter": "0x706BC1d595157CCD17a4250Ee7b8aB0700Fc0418", - "support": true, - "votingPower": 0.32, - "transactionHash": "0xa2114aed30127d02846d3dca454fa1b80b0091ac5d0459ea3c4ebbf631219464", - "timestamp": 1653552741, - "blockNumber": 14846907 - }, - { - "proposalId": 77, - "voter": "0x0fa36A7eBA4bFA4E0f6d82942c2245082cF7DD52", - "support": true, - "votingPower": 0.044, - "transactionHash": "0xe6c0c0dfdda2ffd88686cc20ca44395752afed51910ef82d9d5fb78648a8bb31", - "timestamp": 1653562080, - "blockNumber": 14847533 - }, - { - "proposalId": 77, - "voter": "0x26eC9b36deea962530C644De43514c762e8E22EA", - "support": true, - "votingPower": 42.06834081717177, - "transactionHash": "0xb1b8714b48daafed68995503f5c2300687762fd832552147df500175949d06c5", - "timestamp": 1653574015, - "blockNumber": 14848372 - }, - { - "proposalId": 77, - "voter": "0xA519a7cE7B24333055781133B13532AEabfAC81b", - "support": true, - "votingPower": 159.68507743807496, - "transactionHash": "0x2f70b9cd3170745ed198e3130a5dc550c72c39cf5cc1d68acde814787f09d3dc", - "timestamp": 1653575587, - "blockNumber": 14848480 - }, - { - "proposalId": 77, - "voter": "0xaFDAbFb6227507fF6522b8a242168F6b5F353a6E", - "support": true, - "votingPower": 93442, - "transactionHash": "0x61b8ec147203017bdd04b3777b8541d332d0f854fd6b2102f1d1deba215992c7", - "timestamp": 1653586248, - "blockNumber": 14849285 - }, - { - "proposalId": 77, - "voter": "0x070341aA5Ed571f0FB2c4a5641409B1A46b4961b", - "support": true, - "votingPower": 9999.9999, - "transactionHash": "0xf2afb252115847561171f7bcb4ce34b3481a91ca780e48f1c5c2143b65459e1d", - "timestamp": 1653628968, - "blockNumber": 14852324 - }, - { - "proposalId": 77, - "voter": "0xe6753AD7Cf78385b3c369504377799a66f87479e", - "support": true, - "votingPower": 1, - "transactionHash": "0x111d6ed7af2daba0652f3cecd7bb607f33203d0b90aba769eb48b471a06bb6e8", - "timestamp": 1653635703, - "blockNumber": 14852791 - }, - { - "proposalId": 77, - "voter": "0x8864486C1be43143B2Fb2992777bA0B85129f3e4", - "support": true, - "votingPower": 0.1539332465884695, - "transactionHash": "0x0c6b852446d15c1f37ed9af9fe8b10973756cb7f0a0a12e6b878b9d9defa9a64", - "timestamp": 1653635768, - "blockNumber": 14852797 - }, - { - "proposalId": 77, - "voter": "0x45BEE058F59c3fC2311BFF15C854F37170780ff5", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xc98949c4c241b1967186251bf1d836086f76bcd05546a79a92c8d630080be964", - "timestamp": 1653636165, - "blockNumber": 14852825 - }, - { - "proposalId": 77, - "voter": "0xECD02810Db92Ff027ea1b0850d46BdA963676D74", - "support": true, - "votingPower": 1.1, - "transactionHash": "0x875f260a5af77fae6fd81a9a2840a8f30f85c76fb8874fe599e2fdba25ab61bb", - "timestamp": 1653642880, - "blockNumber": 14853303 - }, - { - "proposalId": 77, - "voter": "0x6c4ADEa8f704410d4146368203856dc4c439ACDB", - "support": true, - "votingPower": 1.1109998510664045, - "transactionHash": "0x974cce14c14e786e5da9840bfd44317aafa5d5b7db8eb30abc08b4af0efcfd3e", - "timestamp": 1653642880, - "blockNumber": 14853303 - }, - { - "proposalId": 77, - "voter": "0x97f5f2731B4c3839FFAa2696EB9Aa0d640f1d380", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x098b050f79350943af946c4ea61b9ae4d84d520956a03d901e3d812d2df6176e", - "timestamp": 1653648713, - "blockNumber": 14853746 - }, - { - "proposalId": 77, - "voter": "0x52407A233Ac443e2c43B1cb08aa9f7c50D23708f", - "support": true, - "votingPower": 0.11, - "transactionHash": "0xb4602576bad8a12f7f0267dbfa606fa083cc003613718b8fd9528d018ad15874", - "timestamp": 1653648780, - "blockNumber": 14853751 - }, - { - "proposalId": 77, - "voter": "0xbF3140FE434e3C34B1A44CEd4B8f5d5fac0c2F26", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x47c93b876f31fb51a89ae2fb472d9712fc4b6abe81d17520175f2679a2033ba8", - "timestamp": 1653648844, - "blockNumber": 14853755 - }, - { - "proposalId": 77, - "voter": "0x98C4A5691E20edCd48C4BD5AFE6527B17f5b187e", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xe83b921b44a06bf836de4873242247b33e741e619d51f277e29520cbcb5ef125", - "timestamp": 1653648985, - "blockNumber": 14853765 - }, - { - "proposalId": 77, - "voter": "0xcb6DDd92f9705D6196DE25eE5bb89D06e5045F5F", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x15445b8b7ade1b6c24b6c4a6b1f4494393dee1d32fe4d03262ba03f70010638c", - "timestamp": 1653649052, - "blockNumber": 14853767 - }, - { - "proposalId": 77, - "voter": "0x19eAdE6e4e5cF16fe0b15e47c39AB565FB8e734E", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x45520d3a831ab33a471e81f267fbc03f8e7630a875ee47e40949707854ae3df4", - "timestamp": 1653649052, - "blockNumber": 14853767 - }, - { - "proposalId": 77, - "voter": "0xcbf512e5590d45973b5570964A6326Dd442f38Ad", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x7380ad018e9b0613686423afa43f46245047997deceaa29085ccc538df4bb7ad", - "timestamp": 1653649511, - "blockNumber": 14853800 - }, - { - "proposalId": 77, - "voter": "0x1c631824b0551FD0540A1f198c893B379D5Cf3c3", - "support": true, - "votingPower": 50.127320897591076, - "transactionHash": "0xf7f7d1e627773c299caf28d7da6aebd5a234ca4059e59aaad75794a56d078dac", - "timestamp": 1653651443, - "blockNumber": 14853941 - }, - { - "proposalId": 77, - "voter": "0xdd45542cCf17A16F5c515c20db7F7C7D8bB74Cc5", - "support": true, - "votingPower": 65498, - "transactionHash": "0x96a5ba7845b5054bba9a7751b10549ad17972f7a3fef4eb21c328ead9ef2e6d8", - "timestamp": 1653653267, - "blockNumber": 14854078 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 78, - "voter": "0xD441D20fa42972BF8945a052B53c167318308193", - "support": true, - "votingPower": 0.11893013, - "transactionHash": "0x6cdefc567da11617893b6ef22345a3420ae73d6b9f9da253cee1676f38950383", - "timestamp": 1654064189, - "blockNumber": 14883269 - }, - { - "proposalId": 78, - "voter": "0xce575De2c04618511Ce3e984B9b2655aa6385231", - "support": true, - "votingPower": 0.17882045334541669, - "transactionHash": "0xc0782059e408d1f3d9b237d490e346f5c68c92c8151749f4da3d8cc2ef3da3cc", - "timestamp": 1654076626, - "blockNumber": 14884099 - }, - { - "proposalId": 78, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 103333.8477304624, - "transactionHash": "0x70235248d0c33f1f85fed21638ec78964ee7acc5627a84004297f4bec555bdb3", - "timestamp": 1654117089, - "blockNumber": 14887008 - }, - { - "proposalId": 78, - "voter": "0x1A29079662d2Fc3530767122b8E931e041b6282a", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x8efdf6fbb3c4b706142dbcfb0577ba0da581d70c370011d7789255ff27e4afd9", - "timestamp": 1654130081, - "blockNumber": 14887942 - }, - { - "proposalId": 78, - "voter": "0x91F7C7dC5a44276482c102178fe1d620B397c276", - "support": true, - "votingPower": 0.495, - "transactionHash": "0x37d3502c2c74c5f140c52f618c414e0bf70a215baeee5621017f5855047eb80f", - "timestamp": 1654160482, - "blockNumber": 14890066 - }, - { - "proposalId": 78, - "voter": "0xEa0E065560333D66A3F9Aa648E63848B86d3362A", - "support": true, - "votingPower": 3.3628938902927326, - "transactionHash": "0x0d78080397fa2014e020fdbfe782186b324f220cdc56a75edd8a9c5e80885292", - "timestamp": 1654171563, - "blockNumber": 14890885 - }, - { - "proposalId": 78, - "voter": "0x87c524f48f9fb7621dA5589Ea4946371D458869C", - "support": true, - "votingPower": 2, - "transactionHash": "0x2910d3be127460c965097df1b1f4aa707020b96bc55f4e3561555147db56413d", - "timestamp": 1654171609, - "blockNumber": 14890889 - }, - { - "proposalId": 78, - "voter": "0x5B3bFfC0bcF8D4cAEC873fDcF719F60725767c98", - "support": true, - "votingPower": 183375.7063189123, - "transactionHash": "0x134475e047144303f4776b7efc9b4de5a21ad7f8f55b2ce1dbb4ec1c732d5fa6", - "timestamp": 1654195674, - "blockNumber": 14892578 - }, - { - "proposalId": 78, - "voter": "0xaFDAbFb6227507fF6522b8a242168F6b5F353a6E", - "support": false, - "votingPower": 93442, - "transactionHash": "0x521cbec207e0cbc890098a342d1bb7ea777d69e3421fc9ab2ef326f284f26349", - "timestamp": 1654196968, - "blockNumber": 14892680 - }, - { - "proposalId": 78, - "voter": "0xdd45542cCf17A16F5c515c20db7F7C7D8bB74Cc5", - "support": false, - "votingPower": 65498, - "transactionHash": "0x0b0471d16d18438085cb458089914cad23b595e5145b79a5b53bae8904286803", - "timestamp": 1654198061, - "blockNumber": 14892759 - }, - { - "proposalId": 78, - "voter": "0xd2362DbB5Aa708Bc454Ce5C3F11050C016764fA6", - "support": false, - "votingPower": 80004.5593395732, - "transactionHash": "0xd9f66ce3394b0f1c15ac0cbd86b38cdf1d842c361bb120fe64c716f606a81b4c", - "timestamp": 1654249601, - "blockNumber": 14896444 - }, - { - "proposalId": 78, - "voter": "0x8330A84D3C16A55302f921C36979B1067418053a", - "support": true, - "votingPower": 0.516, - "transactionHash": "0x49c69dbb3304544a6933c46b797c03d60c69a58943da23e348931e9a0bbeb755", - "timestamp": 1654275253, - "blockNumber": 14898235 - }, - { - "proposalId": 78, - "voter": "0x33ce1310E0E95bDb74fe3bA755231B0fe1849105", - "support": true, - "votingPower": 0.045, - "transactionHash": "0x854a6bcb1ce2f77766913d9c7923e0251a6b88ddc27ef896214879938f0b2c42", - "timestamp": 1654278299, - "blockNumber": 14898460 - }, - { - "proposalId": 78, - "voter": "0x4F49C34759B7e888cE77de9dd34FEC63d63495CC", - "support": true, - "votingPower": 0.07171932440078563, - "transactionHash": "0x60aacc814682a9dc858b22e4ed395fa8d1d2356871b070a928ab0d6f5dca800d", - "timestamp": 1654279144, - "blockNumber": 14898523 - }, - { - "proposalId": 78, - "voter": "0xF623CBcE211c638A2b639672C812DcDa97ad1742", - "support": true, - "votingPower": 0.07200653109587336, - "transactionHash": "0xc697f0615e57fa01c70381e9836ebe9497e24e7493efe972bdbc96bd91518035", - "timestamp": 1654279144, - "blockNumber": 14898523 - }, - { - "proposalId": 78, - "voter": "0xCF3AD6c9D1839705BaC02fb3701A933Ecd9ab9e8", - "support": false, - "votingPower": 0.04912253594438309, - "transactionHash": "0xd62762532d1105535360c2b1f19374abb67aa253c08135abb08278e453585b1c", - "timestamp": 1654279144, - "blockNumber": 14898523 - }, - { - "proposalId": 78, - "voter": "0xB34C68153EB4991A57C3c9c9137071Dd0387759E", - "support": false, - "votingPower": 0.049285530009988046, - "transactionHash": "0xa223067c74ce3a924960c8cfa4b22c68684225a2b6294a80ac1037252fec9a4f", - "timestamp": 1654279144, - "blockNumber": 14898523 - }, - { - "proposalId": 78, - "voter": "0xA2e7002E0FFC42e4228292D67C13a81FDd191870", - "support": true, - "votingPower": 0.045, - "transactionHash": "0x767193cf366f85358ec393fed11d45d5f6f193048f6c261b2bc5f4dc8959a130", - "timestamp": 1654294947, - "blockNumber": 14899674 - }, - { - "proposalId": 78, - "voter": "0xFeC1083c50C374A0F691192b137f0db6077DAbBb", - "support": false, - "votingPower": 28.31517559680687, - "transactionHash": "0x2c8a745ad58cc031550d0bad2609e55768d7abd97390c512dec7538d83b522d4", - "timestamp": 1654309210, - "blockNumber": 14900713 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 79, - "voter": "0x5B3bFfC0bcF8D4cAEC873fDcF719F60725767c98", - "support": true, - "votingPower": 183375.7063189123, - "transactionHash": "0x4c5a21f9e7335c673646193342b2070c156ca107379622c8d5c1539cdd21af8f", - "timestamp": 1654184567, - "blockNumber": 14891853 - }, - { - "proposalId": 79, - "voter": "0x683a4F9915D6216f73d6Df50151725036bD26C02", - "support": true, - "votingPower": 10302.405853538316, - "transactionHash": "0xc52bd7888af460dea1db2db0e6fbc93634204fd74a036a0bf73465c3e1afe833", - "timestamp": 1654207150, - "blockNumber": 14893410 - }, - { - "proposalId": 79, - "voter": "0xd2362DbB5Aa708Bc454Ce5C3F11050C016764fA6", - "support": true, - "votingPower": 79760.0708803633, - "transactionHash": "0x76c52861d9d168925cfd19d40a879c040eedc2757a80c24164cbb7c35a15e6dd", - "timestamp": 1654276070, - "blockNumber": 14898299 - }, - { - "proposalId": 79, - "voter": "0xDD659911EcBD4458db07Ee7cDdeC79bf8F859AbC", - "support": true, - "votingPower": 50.1412964, - "transactionHash": "0x79bebbb6c42a09e07bc7f5b6fc057177cef9ff37b0678eaca07125034ebd78ab", - "timestamp": 1654280615, - "blockNumber": 14898623 - }, - { - "proposalId": 79, - "voter": "0x00F928a6aDC7c345EF919fe5A8Be2458580eF9f6", - "support": true, - "votingPower": 0.003713907527387724, - "transactionHash": "0x0651b918008c964477857be44fa86b03430e6d9a6238b14efb22bf9bd2bddffa", - "timestamp": 1654304409, - "blockNumber": 14900334 - }, - { - "proposalId": 79, - "voter": "0xEAFEFb44c6b5802Df613877B37d1bC7Ddb81300b", - "support": true, - "votingPower": 0.023179053215976523, - "transactionHash": "0x53a494f6623122144d1824161d934e376ce50a7f748cab4d05224bd0147f252d", - "timestamp": 1654325390, - "blockNumber": 14901873 - }, - { - "proposalId": 79, - "voter": "0x8F2A0c6BDd5c1f61552558D2C0D2Afe6d3dC5272", - "support": true, - "votingPower": 0.62, - "transactionHash": "0x2fbd3dac9caaa5c69fe046ae727cd7fc3544e037b5cb301ffcbd07819d64a7d9", - "timestamp": 1654329305, - "blockNumber": 14902162 - }, - { - "proposalId": 79, - "voter": "0x29ee39be789aDA5cBb2051f4bDd70Dd735Aed7d0", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xfada33ac8b67a5ddcaf24212507cca9b8c8829449b22a548cdf73b58ec165f99", - "timestamp": 1654329480, - "blockNumber": 14902169 - }, - { - "proposalId": 79, - "voter": "0x5244736b3A8F898149aE33f013126A20cE7abc62", - "support": true, - "votingPower": 0.119, - "transactionHash": "0x4cad56cf584049be6e6ab66b1c2fe2198f4c9ad8660f74fd9dd4a24e5096fe98", - "timestamp": 1654329658, - "blockNumber": 14902185 - }, - { - "proposalId": 79, - "voter": "0x71213a9C9504E406d3242436A4bf69c6bfE74461", - "support": true, - "votingPower": 0.31, - "transactionHash": "0xca40ee5cb516c0782d2b2058e867c30c4d956c776fa8bd9666f03aee5aa452f2", - "timestamp": 1654330135, - "blockNumber": 14902218 - }, - { - "proposalId": 79, - "voter": "0x078Ad5270b0240D8529f600f35A271Fc6E2b2bD8", - "support": true, - "votingPower": 0.05706259, - "transactionHash": "0x33400c97cb078d46b904534dece44a476b45378e46043ababa89c4e33351a758", - "timestamp": 1654330396, - "blockNumber": 14902233 - }, - { - "proposalId": 79, - "voter": "0x896002E29FE4CDa28A3ae139b0bf7bAc26B33a8C", - "support": true, - "votingPower": 1.014609, - "transactionHash": "0xa6b2de29ca28157de1796694ee9c0008fefc0d91cc2cce14b8acba20130bd706", - "timestamp": 1654330744, - "blockNumber": 14902257 - }, - { - "proposalId": 79, - "voter": "0xbEE3C272ad4215cb352291af334dDC014BB3c20b", - "support": true, - "votingPower": 0.5, - "transactionHash": "0x5c140d34a55fccbc57e1971d35ac62d783933652d042b41c2b561f069dbc2566", - "timestamp": 1654337199, - "blockNumber": 14902676 - }, - { - "proposalId": 79, - "voter": "0x015566197d36a8272e5d6AEDeDF075AE9eb041E2", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xfcd59a9eb632aeb8630ad76578f7c3109d8673ce93fc59e454ccd884014644f3", - "timestamp": 1654337557, - "blockNumber": 14902701 - }, - { - "proposalId": 79, - "voter": "0xB34C68153EB4991A57C3c9c9137071Dd0387759E", - "support": true, - "votingPower": 0.049285530009988046, - "transactionHash": "0xa5c73db0b519ccef33c47d0c04238bb4c73114c4b60f29840b200b90137963aa", - "timestamp": 1654339793, - "blockNumber": 14902835 - }, - { - "proposalId": 79, - "voter": "0xCF3AD6c9D1839705BaC02fb3701A933Ecd9ab9e8", - "support": true, - "votingPower": 0.04912253594438309, - "transactionHash": "0xd9f0519e077063f09ae8b56ce2e01a0df8213ba188a7da38f94d650f6866a4d1", - "timestamp": 1654339818, - "blockNumber": 14902838 - }, - { - "proposalId": 79, - "voter": "0xF623CBcE211c638A2b639672C812DcDa97ad1742", - "support": true, - "votingPower": 0.07200653109587336, - "transactionHash": "0x16609131746b7423b91b534a0468bce179c514b92eb9c545899bff3ea1062ff3", - "timestamp": 1654345858, - "blockNumber": 14903270 - }, - { - "proposalId": 79, - "voter": "0x4F49C34759B7e888cE77de9dd34FEC63d63495CC", - "support": true, - "votingPower": 0.07171932440078563, - "transactionHash": "0xce8dccb7e570aa7d3c1ab6aca789caf739998958fc22b11a88575e185f8d244a", - "timestamp": 1654345934, - "blockNumber": 14903274 - }, - { - "proposalId": 79, - "voter": "0x33ce1310E0E95bDb74fe3bA755231B0fe1849105", - "support": true, - "votingPower": 0.045, - "transactionHash": "0x0d8291e964dd7150392cd4bd489f520e4d810e07d966b1075f2a8d53bacae2c9", - "timestamp": 1654345947, - "blockNumber": 14903276 - }, - { - "proposalId": 79, - "voter": "0xb4F70F2F0f1A27276571a12e60c64E321f40d47C", - "support": true, - "votingPower": 61113.414769985204, - "transactionHash": "0xf6f61887276cb23055a53ebf98597981d75590dbb6ca517165b30dbd70029a57", - "timestamp": 1654352569, - "blockNumber": 14903709 - }, - { - "proposalId": 79, - "voter": "0xc290Cfb8D020c0615e9C63036f4319Cc41717E68", - "support": true, - "votingPower": 109.49220153592667, - "transactionHash": "0xf78eb7c349f1a363539b0a5cee5893331a6593afb4b5dc3860b8759f648e88dd", - "timestamp": 1654363822, - "blockNumber": 14904435 - }, - { - "proposalId": 79, - "voter": "0x070341aA5Ed571f0FB2c4a5641409B1A46b4961b", - "support": true, - "votingPower": 9999.9999, - "transactionHash": "0x280b195c8df3d5ee91831e972a3fdd23daf01976c5f0583f0b5feaf244a3c208", - "timestamp": 1654369291, - "blockNumber": 14904807 - }, - { - "proposalId": 79, - "voter": "0x7AE109A63ff4DC852e063a673b40BED85D22E585", - "support": true, - "votingPower": 9999.9999, - "transactionHash": "0x5197ab7e94d403bc1e3e3bb14916563f2c24eb5611af3e6a743d654c9986bb6c", - "timestamp": 1654388388, - "blockNumber": 14906072 - }, - { - "proposalId": 79, - "voter": "0xFeC1083c50C374A0F691192b137f0db6077DAbBb", - "support": true, - "votingPower": 28.31517559680687, - "transactionHash": "0x6446516cb0132ccc7a40758047f546bf238907dfe93b1fab30e833c462218623", - "timestamp": 1654404859, - "blockNumber": 14907162 - }, - { - "proposalId": 79, - "voter": "0xECD02810Db92Ff027ea1b0850d46BdA963676D74", - "support": true, - "votingPower": 1.1, - "transactionHash": "0x12455a605ab208ec17502e20b41f845efa5192122804d12b9aa88c6b222975cb", - "timestamp": 1654405858, - "blockNumber": 14907235 - }, - { - "proposalId": 79, - "voter": "0x6c4ADEa8f704410d4146368203856dc4c439ACDB", - "support": true, - "votingPower": 1.1109998510664045, - "transactionHash": "0xe5c2d871c8350231cb8ff25b070dccf1e88e5db7168944d34dd90271aaf9f32f", - "timestamp": 1654405894, - "blockNumber": 14907240 - }, - { - "proposalId": 79, - "voter": "0xA2e7002E0FFC42e4228292D67C13a81FDd191870", - "support": true, - "votingPower": 0.045, - "transactionHash": "0xc26c2a8213932277a0a468085b59a0e479eb5d4735715e2492d634717d891b96", - "timestamp": 1654415003, - "blockNumber": 14907888 - }, - { - "proposalId": 79, - "voter": "0x8b4a8C1F32761D820D12015b293d24A2Ec1B47e9", - "support": true, - "votingPower": 121.17633257680919, - "transactionHash": "0xda051acf6832cf24b1a9909b2934b8599b0dbae95081a008b010985f9830cfcc", - "timestamp": 1654416916, - "blockNumber": 14908015 - }, - { - "proposalId": 79, - "voter": "0x87c524f48f9fb7621dA5589Ea4946371D458869C", - "support": true, - "votingPower": 2, - "transactionHash": "0x0b634b261543e20b403e88ef2b8d8b75c5a116d70cb96d6d9935284ff844c159", - "timestamp": 1654418325, - "blockNumber": 14908127 - }, - { - "proposalId": 79, - "voter": "0xda2804f2ef63AACFb3503510602c6d68dfFd554B", - "support": true, - "votingPower": 0.05, - "transactionHash": "0xa8217e78020199e483d5833bf89e4ecbb91634270c6ad180f5b3b8c1e84c1fc8", - "timestamp": 1654418913, - "blockNumber": 14908176 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 80, - "voter": "0x070341aA5Ed571f0FB2c4a5641409B1A46b4961b", - "support": false, - "votingPower": 9999.9999, - "transactionHash": "0x2a2a082d866dfc59e1135121f1911067cdf6713b321431e1e39390f9271a8116", - "timestamp": 1654664380, - "blockNumber": 14924875 - }, - { - "proposalId": 80, - "voter": "0x5B3bFfC0bcF8D4cAEC873fDcF719F60725767c98", - "support": true, - "votingPower": 183375.7063189123, - "transactionHash": "0x5efc4b051f72f414cbc76f06fa28b548b4aa2bcac6b444409176aac859655362", - "timestamp": 1654700201, - "blockNumber": 14927311 - }, - { - "proposalId": 80, - "voter": "0xCfaba3994C45aa03e479000300801AE35B39c388", - "support": true, - "votingPower": 1482.1787192310733, - "transactionHash": "0xbf32d1f05fc3cab92d010a5aaa2ec637269e1c8ae059a01741c9dfd2d5a73c03", - "timestamp": 1654717610, - "blockNumber": 14928523 - }, - { - "proposalId": 80, - "voter": "0x0435F8Bc13635bf3cb934242072eEa3EeB09d73E", - "support": true, - "votingPower": 0.7170524453938774, - "transactionHash": "0x6b5833cf3eb74cf650dfc66c5b1fc3806955aae2559934200e7dd02a58389c15", - "timestamp": 1654760593, - "blockNumber": 14931425 - }, - { - "proposalId": 80, - "voter": "0x92F5d472bb5018e858E23453641850bFeaC30e7d", - "support": true, - "votingPower": 2597.9906702252565, - "transactionHash": "0x3361aa53ca7d805fd067dc731934407c240d110f996da604c65b8b48ff1853e2", - "timestamp": 1654762880, - "blockNumber": 14931573 - }, - { - "proposalId": 80, - "voter": "0xA8c4e3ce1743D0f2A6c227548C982a7C40569940", - "support": true, - "votingPower": 0.0271066, - "transactionHash": "0x86b4944a4753cf52c7b171ff05304c2ec3b15bd190c5230ce35fffb6d5ca6e36", - "timestamp": 1654763272, - "blockNumber": 14931603 - }, - { - "proposalId": 80, - "voter": "0xb3B7344Dd665195392dE5a89b165c9dC2ADD62B6", - "support": false, - "votingPower": 1, - "transactionHash": "0x0036198d0adba0210f45bf47c6c320d60d1b1d4f94485c36684615cab8be8274", - "timestamp": 1654767071, - "blockNumber": 14931867 - }, - { - "proposalId": 80, - "voter": "0x7b69771616A1f673E57F0FC6eD6053FC63B7607C", - "support": true, - "votingPower": 1.0000000043184474, - "transactionHash": "0xad23ab1769af9f0aca6ab20315c904aa33c78fbcc4681019ac6339f0d52036ff", - "timestamp": 1654768704, - "blockNumber": 14931987 - }, - { - "proposalId": 80, - "voter": "0xd2362DbB5Aa708Bc454Ce5C3F11050C016764fA6", - "support": true, - "votingPower": 78506.68076809174, - "transactionHash": "0x4a8a8793ee1528dec7ed4a41e2406b995f1c1be4a37eb3f4e29fa824ca95e55d", - "timestamp": 1654798324, - "blockNumber": 14933964 - }, - { - "proposalId": 80, - "voter": "0x547B36b9710B5fDbcd89aBf983c2B944bfc6C073", - "support": true, - "votingPower": 2.040148592678554, - "transactionHash": "0x67908f4608baeaa2bfcac47405fe3e9cf49316c38d9f074387df75b8480de581", - "timestamp": 1654807906, - "blockNumber": 14934626 - }, - { - "proposalId": 80, - "voter": "0x3563FB742DB8ae3BE7764a464C8cb7c426195596", - "support": true, - "votingPower": 5.41560424919995, - "transactionHash": "0x0096aededd698a22c5d74976100576223efb280355e36c20f77f825612cdf047", - "timestamp": 1654833141, - "blockNumber": 14936364 - }, - { - "proposalId": 80, - "voter": "0x113b84cDa038587f0e7a5e6bdb74Cb03CfCc4f23", - "support": true, - "votingPower": 0.6450208784021385, - "transactionHash": "0x8964211847b5da679ae1f8c53a6c1b3a329a10a21d44f7073bbe626fe6aadae4", - "timestamp": 1654841240, - "blockNumber": 14936885 - }, - { - "proposalId": 80, - "voter": "0xaFDAbFb6227507fF6522b8a242168F6b5F353a6E", - "support": true, - "votingPower": 93442, - "transactionHash": "0xb8c443e8a306867ed53dfddbd18be2a301105bef0c4a8d37a491f4531429bf2b", - "timestamp": 1654846655, - "blockNumber": 14937244 - }, - { - "proposalId": 80, - "voter": "0xb4F70F2F0f1A27276571a12e60c64E321f40d47C", - "support": true, - "votingPower": 61113.414769985204, - "transactionHash": "0x5a646e8813bcf7a7e60a67c6d10eff4781617f0851c1f11e4be4e99d6119e82d", - "timestamp": 1654849442, - "blockNumber": 14937424 - }, - { - "proposalId": 80, - "voter": "0x236884bb674067C96fcBCc5dff728141E05BE99d", - "support": true, - "votingPower": 1, - "transactionHash": "0xe0cc3407dc140d762f1b8108afba93bb66bd6124455d1cdb0244f10d53a622dd", - "timestamp": 1654855424, - "blockNumber": 14937832 - }, - { - "proposalId": 80, - "voter": "0xF977bF5f5CCB1BFd868BD95D563294494F0D5d89", - "support": true, - "votingPower": 1, - "transactionHash": "0xbf22b7a31f413b10d625ca8fd99730c641c991ee19ae78485c568b80fa1c4c65", - "timestamp": 1654857696, - "blockNumber": 14937998 - }, - { - "proposalId": 80, - "voter": "0xE1d1c5F48f708aa038AA6A9976308Cd1d19D951a", - "support": true, - "votingPower": 1, - "transactionHash": "0x4989338793556a6f7e558d91c21b863836cf30e61a06ddfcf3061649b71c606f", - "timestamp": 1654857994, - "blockNumber": 14938016 - }, - { - "proposalId": 80, - "voter": "0xdd4A19DC351Ba42421dB282196AF38b433AA86BA", - "support": true, - "votingPower": 1, - "transactionHash": "0x9c75ef8ee60d84bce313a0950a5b4cd943e0fcb8a11e153599b381002d624c27", - "timestamp": 1654858317, - "blockNumber": 14938039 - }, - { - "proposalId": 80, - "voter": "0x9497243478392B1F7f508874F606379F989C6eea", - "support": true, - "votingPower": 1, - "transactionHash": "0xeb342c99259d00d05389eff956994f7b84535203c25084a0aa254f0537ef0c50", - "timestamp": 1654858745, - "blockNumber": 14938073 - }, - { - "proposalId": 80, - "voter": "0x05ac3D28434804ec02eD9472490fC42D7e9E646d", - "support": true, - "votingPower": 1, - "transactionHash": "0xb8c69aa7e3bc3d537e4685f695b0bb81064f6f637ba9441b033d884c14f59cee", - "timestamp": 1654858869, - "blockNumber": 14938080 - }, - { - "proposalId": 80, - "voter": "0x61D9e931A72c9FB3eB9731dCc5A30f1F6C3ab63F", - "support": true, - "votingPower": 1, - "transactionHash": "0x0eee90b5ce1d6788654bb425254f431cd6e1a5553afaa9a920505ecacd2f08b7", - "timestamp": 1654858981, - "blockNumber": 14938084 - }, - { - "proposalId": 80, - "voter": "0xA519a7cE7B24333055781133B13532AEabfAC81b", - "support": true, - "votingPower": 159.68507743807496, - "transactionHash": "0xf2bb7995b5432e13d07c8763afd70c03101d0bd094ce7e7b8b419fec3d51a8e8", - "timestamp": 1654871050, - "blockNumber": 14938902 - }, - { - "proposalId": 80, - "voter": "0xA0efD27acC781549D5b78e89E561AA0903932d56", - "support": true, - "votingPower": 8.002657782527367, - "transactionHash": "0x5465600f4cc1a8281167a1e67b866e19b06fa64f0a535ae9ed94d76adbe81731", - "timestamp": 1654892680, - "blockNumber": 14940373 - }, - { - "proposalId": 80, - "voter": "0x24B0d6eFfcBf51206Ca3F0c0b15795e5aD7d53Cf", - "support": true, - "votingPower": 0, - "transactionHash": "0xeddee00ff544bb999da0d4b3aee681889089ec59fbb84b1fcea6d590d8de7518", - "timestamp": 1654900802, - "blockNumber": 14940930 - }, - { - "proposalId": 80, - "voter": "0x602114d8b9041F2bE7e6A534b793B92829114749", - "support": true, - "votingPower": 0.3, - "transactionHash": "0x1f99fea4192b28b081d2b70d62829242fc997f3037f8abe35005f924bb7d3a35", - "timestamp": 1654901566, - "blockNumber": 14940982 - }, - { - "proposalId": 80, - "voter": "0xDc52350858b60853D93390Ab38DEe3ce7e147fa7", - "support": true, - "votingPower": 1.0870945960197633, - "transactionHash": "0x9af0d33820b8a4151b234163641b195c7cfa98c62436c8805ff4c1e4392ddc16", - "timestamp": 1654901755, - "blockNumber": 14940998 - }, - { - "proposalId": 80, - "voter": "0xBf207EA5de7D210DB9F70Baf7c79Bb8c6c36666c", - "support": true, - "votingPower": 0.3, - "transactionHash": "0x540f6d5c747006240a30ea4d3bacc16c2d7732654fd9a5ce73561e5ffbbc9b31", - "timestamp": 1654901784, - "blockNumber": 14941000 - }, - { - "proposalId": 80, - "voter": "0xB496A7902D2117Fc7acbbd5251E14075a5B23f6c", - "support": true, - "votingPower": 0.3, - "transactionHash": "0x957dabe4f599dc5f97b80ff5a50ef1ab4135ef6aeccf4eb8f3e7b69473afe625", - "timestamp": 1654901944, - "blockNumber": 14941009 - }, - { - "proposalId": 80, - "voter": "0x706BC1d595157CCD17a4250Ee7b8aB0700Fc0418", - "support": true, - "votingPower": 0.32, - "transactionHash": "0xe556411fe35eae769707b22735f0a5e87304fa88eb044195a314160afd2411d9", - "timestamp": 1654903027, - "blockNumber": 14941084 - }, - { - "proposalId": 80, - "voter": "0x98173D41603A1Ca46326f2F4e06bfef7e16DF544", - "support": true, - "votingPower": 0.3, - "transactionHash": "0x89e62ad5beccfa04062f0d13ab053efc830999ebfdb400e750211486cb1f18a0", - "timestamp": 1654903790, - "blockNumber": 14941139 - }, - { - "proposalId": 80, - "voter": "0xE8cd4cB68dd4c79d118368F36D8564F3134c180D", - "support": true, - "votingPower": 0.375, - "transactionHash": "0xc89de98cb64f6b0421ca87723456ca466a5fc75247dac2ed1598a3ab15a9ab1b", - "timestamp": 1654905546, - "blockNumber": 14941263 - }, - { - "proposalId": 80, - "voter": "0xe6753AD7Cf78385b3c369504377799a66f87479e", - "support": true, - "votingPower": 1, - "transactionHash": "0x34107937671dd63c29c3ebe7edfdade4538f2caccb2119c0da63f55c6c326922", - "timestamp": 1654909149, - "blockNumber": 14941490 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 81, - "voter": "0x070341aA5Ed571f0FB2c4a5641409B1A46b4961b", - "support": true, - "votingPower": 9999.9999, - "transactionHash": "0x4fc626b46b255c78a679fbb269fb868c01645a3141edf033062448b592d2b849", - "timestamp": 1654664431, - "blockNumber": 14924878 - }, - { - "proposalId": 81, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 103333.8477304624, - "transactionHash": "0x9b25cff10ebbf64acc40830884f062940175b6f735f09b2c25225a4a848ece4f", - "timestamp": 1654713708, - "blockNumber": 14928260 - }, - { - "proposalId": 81, - "voter": "0x196a37946C3D93e9A5309f539ae28b774a32411F", - "support": true, - "votingPower": 1.337139276378288, - "transactionHash": "0x18782c9657d62d420d476f27a83ed63917d3db2999399037cf90225120e5a729", - "timestamp": 1654756114, - "blockNumber": 14931125 - }, - { - "proposalId": 81, - "voter": "0xDAbc72dAc85692e0115257DB423648f0E4D23040", - "support": true, - "votingPower": 0.4742352999324944, - "transactionHash": "0x4f291d10796b7d6a33133c47eb3a9c08e9e62c85b5bd249519e012024f902137", - "timestamp": 1654758841, - "blockNumber": 14931298 - }, - { - "proposalId": 81, - "voter": "0x43DEb3b8960b1760f81070A989fdAF1a575E552A", - "support": true, - "votingPower": 0.3, - "transactionHash": "0x8e51a356b4de20e96551d9767a05e6af715513d532bb86056f2602a3dd4e5ab7", - "timestamp": 1654758981, - "blockNumber": 14931309 - }, - { - "proposalId": 81, - "voter": "0x016E9153A386d53C6fc0cA2d6A56dbB3834Dc4B7", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x86be9b31bb9dfab9c06e2ae1c76844635298416dc590ee8ca02ce5b7f363a702", - "timestamp": 1654759011, - "blockNumber": 14931311 - }, - { - "proposalId": 81, - "voter": "0xa0773DBC8d0f4930BCD37D43d8B0C11f03652C84", - "support": true, - "votingPower": 0.25, - "transactionHash": "0x6e2ebcb3b988bb9dc5847fdcb1ce8dbd4ca5e1133b7738d0df701db3ad6e105c", - "timestamp": 1654759075, - "blockNumber": 14931313 - }, - { - "proposalId": 81, - "voter": "0xbF4c796931727fce4b42e8a7F1b284681A0d5a7C", - "support": true, - "votingPower": 0.8178829270671828, - "transactionHash": "0x1aed792e1920df6b8a00e34e47b5a7ce8d6943835727ddd86e4989b0317be1c4", - "timestamp": 1654759516, - "blockNumber": 14931345 - }, - { - "proposalId": 81, - "voter": "0x8655F051512899Af8614275e8E31f260eA276267", - "support": true, - "votingPower": 1.0000000018927506, - "transactionHash": "0x8db5234eb05165c12d586c652a5c60bdd7f1da906ed864a6641c8f31fd06efe0", - "timestamp": 1654759729, - "blockNumber": 14931361 - }, - { - "proposalId": 81, - "voter": "0x0435F8Bc13635bf3cb934242072eEa3EeB09d73E", - "support": true, - "votingPower": 0.7170524453938774, - "transactionHash": "0x57ad7664516f346ab13001db48ed60f252c4225a16426baf1dd6d769b50e3647", - "timestamp": 1654760444, - "blockNumber": 14931413 - }, - { - "proposalId": 81, - "voter": "0xA8c4e3ce1743D0f2A6c227548C982a7C40569940", - "support": true, - "votingPower": 0.0271066, - "transactionHash": "0x7c88ea704723ab47bf97320b7a1fcdd75c8427adfb9093e33e499dc40b00d0a2", - "timestamp": 1654763520, - "blockNumber": 14931619 - }, - { - "proposalId": 81, - "voter": "0x8fBB54606676BA5F8Edc6C4c88ef29b86d58774c", - "support": true, - "votingPower": 0.3, - "transactionHash": "0xca76983baa4328432fbdac748802ebe4e13e97fe740d832cbd6abdefe5a5fc2d", - "timestamp": 1654763761, - "blockNumber": 14931632 - }, - { - "proposalId": 81, - "voter": "0x3cCd44BB20bc9c06FA8CCE8f6Aa207AE86D7DD5b", - "support": true, - "votingPower": 0.5, - "transactionHash": "0x82aa37a2f48ae6833d6952ad471a0fc0aa35bd1b007ec8e1562eb89be89717bc", - "timestamp": 1654766185, - "blockNumber": 14931796 - }, - { - "proposalId": 81, - "voter": "0x81dD777413157D8d1Dc92B3479704e07C339b9ad", - "support": true, - "votingPower": 0.5, - "transactionHash": "0x4e91f49ac4fa2167e479c331b5fbad641b306ee311655b7b6031cdc03a09f435", - "timestamp": 1654766468, - "blockNumber": 14931815 - }, - { - "proposalId": 81, - "voter": "0xb3B7344Dd665195392dE5a89b165c9dC2ADD62B6", - "support": true, - "votingPower": 1, - "transactionHash": "0x1113964d7626a75fa24527f5f4706b8efd2d48c4432e406400db0c3c559aef9d", - "timestamp": 1654767017, - "blockNumber": 14931862 - }, - { - "proposalId": 81, - "voter": "0x7b69771616A1f673E57F0FC6eD6053FC63B7607C", - "support": true, - "votingPower": 1.0000000043184474, - "transactionHash": "0x0bb4f4e61e65b7b8886bdc7469a4ff53b9b864092ee2237efc5d9543ddd3d0fc", - "timestamp": 1654768839, - "blockNumber": 14931995 - }, - { - "proposalId": 81, - "voter": "0x113b84cDa038587f0e7a5e6bdb74Cb03CfCc4f23", - "support": true, - "votingPower": 0.6450208784021385, - "transactionHash": "0x742fcfc115e5ccbd93f62e620a5dc756b7b004310ca568771fb74b4c2c1bdd06", - "timestamp": 1654768968, - "blockNumber": 14932008 - }, - { - "proposalId": 81, - "voter": "0x9d2BeEa6625c1991C796c498B93842d9E09cb6d6", - "support": true, - "votingPower": 0.075, - "transactionHash": "0x6b8641cd0800405de81e3a3d2eb9f48ee6d56864458a5775f105877b0b42018e", - "timestamp": 1654770521, - "blockNumber": 14932117 - }, - { - "proposalId": 81, - "voter": "0xfAdA7CE3535047e81718E15e0995E4a74061341b", - "support": true, - "votingPower": 0.075, - "transactionHash": "0x828c862cb021bd1dbb28ff5591447b1a0cf78c67ea74fba06eafdfe81a8cb057", - "timestamp": 1654771262, - "blockNumber": 14932155 - }, - { - "proposalId": 81, - "voter": "0x2bA3f0981Dda6FEB724e23b1a2AE349bDaA24A2d", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x3a7ac028a4133ebce682480bf93f6d8e7a8bb8ec63c0bca078a8348b89d04c67", - "timestamp": 1654771930, - "blockNumber": 14932194 - }, - { - "proposalId": 81, - "voter": "0x07450986773F22507c919483dCcFb9d348EF042e", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x9fadf8494278841c5a17dbba0da0e637f63457cd3884ca0bb211b31db83025a5", - "timestamp": 1654772050, - "blockNumber": 14932199 - }, - { - "proposalId": 81, - "voter": "0xcc4F347d205B0456e70AA34e384a5db6BA95F54e", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x0e015c99d2af25c77348445be85ce2fb8ef3224c3ade3aef209d3d962aaf0039", - "timestamp": 1654773828, - "blockNumber": 14932321 - }, - { - "proposalId": 81, - "voter": "0x047924B7bc2Cb14BC8Ff1a53C035b46155BC68E0", - "support": true, - "votingPower": 0.075, - "transactionHash": "0xe36ff4b7ae7afb74c15b1009edb9335184ef70cf20778c56a1e3be54dbb8ca0e", - "timestamp": 1654775164, - "blockNumber": 14932410 - }, - { - "proposalId": 81, - "voter": "0x0C6fec618DD0932E78B026CF6570A459Ca48F61a", - "support": true, - "votingPower": 0.075, - "transactionHash": "0xb20d0294041cf3f92c7865204147821f1c9b785bd34962beab69afe37ee43476", - "timestamp": 1654775967, - "blockNumber": 14932478 - }, - { - "proposalId": 81, - "voter": "0x51e6c9264b79CE57330f799195E1c58E821a0522", - "support": true, - "votingPower": 0.075, - "transactionHash": "0xfd3f75e7350e347920c2a876ff2aeb31e4b17527e158bcbb1582d281e7e92a44", - "timestamp": 1654780273, - "blockNumber": 14932771 - }, - { - "proposalId": 81, - "voter": "0xA8851F2D7B10cC0a84083a25981b3e2Df7529487", - "support": true, - "votingPower": 0.075, - "transactionHash": "0xc7a99bedd63c286c70557c71d01b8055c752a6af8ca5070cdffd229e0ae0c811", - "timestamp": 1654780700, - "blockNumber": 14932789 - }, - { - "proposalId": 81, - "voter": "0x37C422cbC2f10D1052b2F85512a5986a49F6eA8a", - "support": true, - "votingPower": 0.075, - "transactionHash": "0xc37a413fb886be56288d2356e6b8d6bce25a51625c021ac53958c4fdf43da835", - "timestamp": 1654781833, - "blockNumber": 14932869 - }, - { - "proposalId": 81, - "voter": "0xd2362DbB5Aa708Bc454Ce5C3F11050C016764fA6", - "support": true, - "votingPower": 78506.68076809174, - "transactionHash": "0xdfcd9c7eba391d4aedff2b5587544234d30dd6ff5d11571604ee6458dc1242f5", - "timestamp": 1654804144, - "blockNumber": 14934373 - }, - { - "proposalId": 81, - "voter": "0x29BaEB01eFbB06Bc988093Ffe1b5b231d2F70E20", - "support": true, - "votingPower": 1, - "transactionHash": "0x7321e7b3d71f349afae5d117591717ac2c413efe684750b63b17d1e6ab93298d", - "timestamp": 1654805103, - "blockNumber": 14934447 - }, - { - "proposalId": 81, - "voter": "0xb4F70F2F0f1A27276571a12e60c64E321f40d47C", - "support": true, - "votingPower": 61113.414769985204, - "transactionHash": "0x4f14d2ba149b6816881eb3298c1a8813f16a56010bab0fede9663464491d7640", - "timestamp": 1654849394, - "blockNumber": 14937421 - }, - { - "proposalId": 81, - "voter": "0x236884bb674067C96fcBCc5dff728141E05BE99d", - "support": true, - "votingPower": 1, - "transactionHash": "0xb31c26ccb5dc13296d9e819c469823abff5044dd12f12028a1741904ef8e0819", - "timestamp": 1654855446, - "blockNumber": 14937833 - }, - { - "proposalId": 81, - "voter": "0xF977bF5f5CCB1BFd868BD95D563294494F0D5d89", - "support": true, - "votingPower": 1, - "transactionHash": "0xe8699a2842024328e9f3b8ad24739cb6748ba514c3165d602badfc398d8c887e", - "timestamp": 1654857833, - "blockNumber": 14938012 - }, - { - "proposalId": 81, - "voter": "0xE1d1c5F48f708aa038AA6A9976308Cd1d19D951a", - "support": true, - "votingPower": 1, - "transactionHash": "0x8d4c4e8ab8a03aa37ab509d0bcc5ca9e8748f25b5edf49c3221c1b5a4efb762b", - "timestamp": 1654858011, - "blockNumber": 14938017 - }, - { - "proposalId": 81, - "voter": "0xdd4A19DC351Ba42421dB282196AF38b433AA86BA", - "support": true, - "votingPower": 1, - "transactionHash": "0xfd7e86a4749eefd63565243cc260fa697fd7c2e398dd30c9509cfa0a4cbae0be", - "timestamp": 1654858238, - "blockNumber": 14938034 - }, - { - "proposalId": 81, - "voter": "0x9497243478392B1F7f508874F606379F989C6eea", - "support": true, - "votingPower": 1, - "transactionHash": "0xd63b054150761614ea7104f1b38d462c4a9d7012fce1ae86b6bc581bbb0ca87f", - "timestamp": 1654858779, - "blockNumber": 14938076 - }, - { - "proposalId": 81, - "voter": "0x05ac3D28434804ec02eD9472490fC42D7e9E646d", - "support": true, - "votingPower": 1, - "transactionHash": "0x065acfe221283b30341b6c859a38fe6032bda33d1d173a3c45dc01ea25926a65", - "timestamp": 1654858869, - "blockNumber": 14938080 - }, - { - "proposalId": 81, - "voter": "0x61D9e931A72c9FB3eB9731dCc5A30f1F6C3ab63F", - "support": true, - "votingPower": 1, - "transactionHash": "0x7583c4474b37183df3df086d867666c35262130dd7de49c56d0cc1ec31f459d7", - "timestamp": 1654858990, - "blockNumber": 14938085 - }, - { - "proposalId": 81, - "voter": "0x76363226b9E31b78C2077Ecea78F440D81299f39", - "support": true, - "votingPower": 0.05, - "transactionHash": "0x2bc37de962bf174beba4b4165e86d157db1ed684637d3296c0ae3eb2c7484212", - "timestamp": 1654860300, - "blockNumber": 14938169 - }, - { - "proposalId": 81, - "voter": "0x40276bA5EfDFBBf749557f6B2A094ABd78197164", - "support": true, - "votingPower": 0.06635298115685384, - "transactionHash": "0x6ef68964f36b05aa4fa04ef754b5a77f602fc14f339828efe23544bc8ebafe35", - "timestamp": 1654860430, - "blockNumber": 14938175 - }, - { - "proposalId": 81, - "voter": "0xdC09eb652D4568c3E22D176BCe8F5eFb12aF7716", - "support": true, - "votingPower": 0.06, - "transactionHash": "0x9835d823f3634b15606b60ff52c2cfb7946eb5885aa4b77ef0c466236e32799e", - "timestamp": 1654861911, - "blockNumber": 14938264 - }, - { - "proposalId": 81, - "voter": "0x184F44a581a3FDf67e834Cf2A0F193CbDd08A3b9", - "support": true, - "votingPower": 0.08000165, - "transactionHash": "0xfaa7d4989c34132da39b46873136783b5f7cb4973f24a43a338c3d6f523a3112", - "timestamp": 1654861911, - "blockNumber": 14938264 - }, - { - "proposalId": 81, - "voter": "0xc062Eeca3891539F75054b1060997aa3459b7390", - "support": true, - "votingPower": 0.06, - "transactionHash": "0x54f5c343ff5dfd4d99985fa072ea6450776f2c977ff420794ffe3892362ec5ae", - "timestamp": 1654861987, - "blockNumber": 14938270 - }, - { - "proposalId": 81, - "voter": "0xA519a7cE7B24333055781133B13532AEabfAC81b", - "support": true, - "votingPower": 159.68507743807496, - "transactionHash": "0xcd2ca8db241363a2e70a2c9df2480fe27f90d69749dfcb46af46c9f9a9afdaaa", - "timestamp": 1654871050, - "blockNumber": 14938902 - }, - { - "proposalId": 81, - "voter": "0xC6b2cFC8CF242Be856dE634921E12fD52F05B3E1", - "support": true, - "votingPower": 3, - "transactionHash": "0xe4251d85cbd54f3e6df93a4acfb7bf1400fed443e0be73902cf035a3ba7cbae9", - "timestamp": 1654897442, - "blockNumber": 14940677 - }, - { - "proposalId": 81, - "voter": "0x4524e8BbeC317C68338B5147D6D7069684350036", - "support": true, - "votingPower": 1, - "transactionHash": "0x987fdc3313c11b213cf73bf06d8b8c8f538872e9d78dd8cbe9a3629cb6659f3b", - "timestamp": 1654897444, - "blockNumber": 14940678 - }, - { - "proposalId": 81, - "voter": "0x5B3145d2F61F2d17Ae1f4d65dc48e987A47B5929", - "support": true, - "votingPower": 1.54209846, - "transactionHash": "0x3537dd61d1cce658b2a1352f6b54774659099ea6f814eb2330c4cbf96a833f6f", - "timestamp": 1654920236, - "blockNumber": 14942219 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 82, - "voter": "0x364735491B12151178EeC906EfDABa0d42d2A20E", - "support": true, - "votingPower": 0.7586954211218943, - "transactionHash": "0x1e04551ef19154a66de491425941649d6ec24e8aa30c26ab07286c73049dce9f", - "timestamp": 1655141717, - "blockNumber": 14957224 - }, - { - "proposalId": 82, - "voter": "0x5F389707Fc094f5daaFf685ba8E47Ee56E31f51F", - "support": true, - "votingPower": 2.975488355324591, - "transactionHash": "0xc827a3d5f2894d16280779943cacadb431d7d17e745669b4b6b29b70e221ba49", - "timestamp": 1655157159, - "blockNumber": 14958285 - }, - { - "proposalId": 82, - "voter": "0xA0efD27acC781549D5b78e89E561AA0903932d56", - "support": true, - "votingPower": 8.002657782527367, - "transactionHash": "0x7fd951b1284423d10357a108928928dd4a5a562cd811e807498b624f966ddd85", - "timestamp": 1655158031, - "blockNumber": 14958334 - }, - { - "proposalId": 82, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 103333.8477304624, - "transactionHash": "0xd72cfa02b238a1e6ded238394593af648dd1bc68044b1e4764d2053afcce5b52", - "timestamp": 1655159697, - "blockNumber": 14958440 - }, - { - "proposalId": 82, - "voter": "0x972C4546aBe5Cb312C7B10B62EF6c539A698D2cA", - "support": true, - "votingPower": 0.41537627760184076, - "transactionHash": "0x68c2983f4cf334c9ba4c61a1becedd2be74b910ec547ea4ffd16693c0e77b635", - "timestamp": 1655169422, - "blockNumber": 14959106 - }, - { - "proposalId": 82, - "voter": "0x070341aA5Ed571f0FB2c4a5641409B1A46b4961b", - "support": true, - "votingPower": 9999.9999, - "transactionHash": "0xf50f7a7ddec0e0aac2a9af826874b59501df0183b23810e83c3a6387145b3416", - "timestamp": 1655181949, - "blockNumber": 14959917 - }, - { - "proposalId": 82, - "voter": "0x683a4F9915D6216f73d6Df50151725036bD26C02", - "support": true, - "votingPower": 58827.15085353832, - "transactionHash": "0x49c840ad40316d529e57d1f963c28884c70c0293d49ed176c102c3df82545b1b", - "timestamp": 1655185051, - "blockNumber": 14960129 - }, - { - "proposalId": 82, - "voter": "0xff5361F2d4ab046409ace2e69926D7fac78b2Be7", - "support": true, - "votingPower": 1.38, - "transactionHash": "0x44757b9f5838fd61d83be821f83f774ad0f5435a387f1e2682d61ea7642e57c9", - "timestamp": 1655188997, - "blockNumber": 14960392 - }, - { - "proposalId": 82, - "voter": "0xF623CBcE211c638A2b639672C812DcDa97ad1742", - "support": true, - "votingPower": 0.07200653109587336, - "transactionHash": "0xe5f09e887793ac9906b0fcdf42b1e2654c82a253fc1e3a148046b585456c75cf", - "timestamp": 1655190750, - "blockNumber": 14960503 - }, - { - "proposalId": 82, - "voter": "0x4F49C34759B7e888cE77de9dd34FEC63d63495CC", - "support": true, - "votingPower": 0.07171932440078563, - "transactionHash": "0xd1ec6701b21bda6b51815ca1bb8ad36cae175c06fe62f06d2bbb9beb507c04ad", - "timestamp": 1655190750, - "blockNumber": 14960503 - }, - { - "proposalId": 82, - "voter": "0xCF3AD6c9D1839705BaC02fb3701A933Ecd9ab9e8", - "support": true, - "votingPower": 0.04912253594438309, - "transactionHash": "0xb5ba144d5ee0e5d603a88e2e3cd57f2437592abc57f9f2b181cc746fb81d117c", - "timestamp": 1655190750, - "blockNumber": 14960503 - }, - { - "proposalId": 82, - "voter": "0xB34C68153EB4991A57C3c9c9137071Dd0387759E", - "support": true, - "votingPower": 0.049285530009988046, - "transactionHash": "0x2d416808d9a6ee54e72325462a198cfbf57b3aca940498ea6cbbb9cc68aafc64", - "timestamp": 1655190750, - "blockNumber": 14960503 - }, - { - "proposalId": 82, - "voter": "0x33ce1310E0E95bDb74fe3bA755231B0fe1849105", - "support": true, - "votingPower": 0.045, - "transactionHash": "0xacc69599541f48449e35f5542a3ae89c951b8f2260b45966102351be3aecf1ab", - "timestamp": 1655190938, - "blockNumber": 14960518 - }, - { - "proposalId": 82, - "voter": "0xaFDAbFb6227507fF6522b8a242168F6b5F353a6E", - "support": true, - "votingPower": 93442, - "transactionHash": "0x407952fb40df8df5c058f64b681031ad0f5945ec824197029889567ac39f145d", - "timestamp": 1655218280, - "blockNumber": 14962303 - }, - { - "proposalId": 82, - "voter": "0xFeC1083c50C374A0F691192b137f0db6077DAbBb", - "support": true, - "votingPower": 28.31517559680687, - "transactionHash": "0x7011cd115cf5e56e5ba58051788dbf47e30cccf2b3e25b2d0d0a13c0eca71395", - "timestamp": 1655265301, - "blockNumber": 14965474 - }, - { - "proposalId": 82, - "voter": "0xdd45542cCf17A16F5c515c20db7F7C7D8bB74Cc5", - "support": true, - "votingPower": 65498, - "transactionHash": "0xd1ce77102ad1656aad645943191dec79b6d0a9d78b21c4a6d67d65b5d501f93a", - "timestamp": 1655323707, - "blockNumber": 14969364 - }, - { - "proposalId": 82, - "voter": "0xd2362DbB5Aa708Bc454Ce5C3F11050C016764fA6", - "support": true, - "votingPower": 79551.90042056891, - "transactionHash": "0x5e61ed0d66cb68cb3823b61528cd1705791770a89b70d67ecb8f5243f0b82af0", - "timestamp": 1655324355, - "blockNumber": 14969409 - }, - { - "proposalId": 82, - "voter": "0xA519a7cE7B24333055781133B13532AEabfAC81b", - "support": true, - "votingPower": 159.68507743807496, - "transactionHash": "0x2f5e51ef8d5f767be7a2999c2ecba94a6327687cd6ec46e5abc22039bbb2a392", - "timestamp": 1655332099, - "blockNumber": 14969932 - }, - { - "proposalId": 82, - "voter": "0x5B3bFfC0bcF8D4cAEC873fDcF719F60725767c98", - "support": true, - "votingPower": 183375.7063189123, - "transactionHash": "0xd5afc43aca232b2aece8055d55f68aa3653d0f48add69de521dae308f4dfbca2", - "timestamp": 1655336237, - "blockNumber": 14970207 - }, - { - "proposalId": 82, - "voter": "0x236884bb674067C96fcBCc5dff728141E05BE99d", - "support": true, - "votingPower": 1, - "transactionHash": "0x986df3d738035e3c990769004a2d17164074f773515b7a428713b7fc9822ffaa", - "timestamp": 1655348713, - "blockNumber": 14971073 - }, - { - "proposalId": 82, - "voter": "0xF977bF5f5CCB1BFd868BD95D563294494F0D5d89", - "support": true, - "votingPower": 1, - "transactionHash": "0xbd520021a7174b56c56268f607fedd8d0f0a2f9cc03429bcaca4fd10a0b5848f", - "timestamp": 1655349456, - "blockNumber": 14971122 - }, - { - "proposalId": 82, - "voter": "0xE1d1c5F48f708aa038AA6A9976308Cd1d19D951a", - "support": true, - "votingPower": 1, - "transactionHash": "0x9a35045c8c7d15cf80db1a6f604e2ad8ceaf5bee97b9267046e312d6579d54e4", - "timestamp": 1655349785, - "blockNumber": 14971146 - }, - { - "proposalId": 82, - "voter": "0xdd4A19DC351Ba42421dB282196AF38b433AA86BA", - "support": true, - "votingPower": 1, - "transactionHash": "0xf9fe70e8cd798b7096484f3c4b82c4ab3d9a06b32431593cfcd20254d5ae0cb5", - "timestamp": 1655349972, - "blockNumber": 14971161 - }, - { - "proposalId": 82, - "voter": "0x9497243478392B1F7f508874F606379F989C6eea", - "support": true, - "votingPower": 1, - "transactionHash": "0xbc3b47dd834be2e9472e496b10379545c304fd4ab540d9db51aa95c9423fcecf", - "timestamp": 1655350447, - "blockNumber": 14971181 - }, - { - "proposalId": 82, - "voter": "0x05ac3D28434804ec02eD9472490fC42D7e9E646d", - "support": true, - "votingPower": 1, - "transactionHash": "0x55ffdf3feec82ffb42285a0dc9da75be20d177eae4cf3e519de69645f5cd5e7e", - "timestamp": 1655350654, - "blockNumber": 14971199 - }, - { - "proposalId": 82, - "voter": "0x61D9e931A72c9FB3eB9731dCc5A30f1F6C3ab63F", - "support": true, - "votingPower": 1, - "transactionHash": "0xdea68058525235a5da75f86ba0ba2622851412210dff54e04617f39d7c7804a8", - "timestamp": 1655351999, - "blockNumber": 14971284 - }, - { - "proposalId": 82, - "voter": "0x1fBc37D49B4624BBDECE83d15eB06383f44Bd9f7", - "support": true, - "votingPower": 22.449651130666606, - "transactionHash": "0xad4d494a89a52916dfcc1e42f279804e50c6bb16a9c8f84f74be8342af7bb604", - "timestamp": 1655364431, - "blockNumber": 14972117 - }, - { - "proposalId": 82, - "voter": "0xA8c4e3ce1743D0f2A6c227548C982a7C40569940", - "support": true, - "votingPower": 0.16867781, - "transactionHash": "0x24d1f6e48f3c45e6c18cb043ea4fe97677feda4de7c5046eba5f32ab5ecd3176", - "timestamp": 1655367295, - "blockNumber": 14972300 - }, - { - "proposalId": 82, - "voter": "0xd44Bd863D78F4bDd0FB45c5dFA117efDCcb040AC", - "support": true, - "votingPower": 0.305, - "transactionHash": "0x25ee3f5f3002112c4ddbdbaa3eb87a7b7da25cfd6987d963f20d21833bf9f080", - "timestamp": 1655370019, - "blockNumber": 14972463 - }, - { - "proposalId": 82, - "voter": "0x7AE109A63ff4DC852e063a673b40BED85D22E585", - "support": true, - "votingPower": 9999.9999, - "transactionHash": "0x5b04a3ecfdba3d58dfbf24d91d3e6318fc895c00c0d4c9571dc38c6541b60363", - "timestamp": 1655371930, - "blockNumber": 14972582 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 83, - "voter": "0x6c881Cd9fE0FB779506a55c1036968f00E6CD97C", - "support": true, - "votingPower": 2.9308261867524705, - "transactionHash": "0xccd17e1e6876ae67ebf07f4ffead44a4abc991871b4ae401b119f125a2726a1e", - "timestamp": 1655181749, - "blockNumber": 14959907 - }, - { - "proposalId": 83, - "voter": "0x070341aA5Ed571f0FB2c4a5641409B1A46b4961b", - "support": false, - "votingPower": 9999.9999, - "transactionHash": "0x05268dabe833d88185badbd89410d271b835e9879c796d3f455b3dd52b4d3022", - "timestamp": 1655182058, - "blockNumber": 14959926 - }, - { - "proposalId": 83, - "voter": "0x683a4F9915D6216f73d6Df50151725036bD26C02", - "support": true, - "votingPower": 58827.15085353832, - "transactionHash": "0x33c6df238830ad477a0975dcc8f556ad9a222ae892b5894ddead8ec7bc2e2d31", - "timestamp": 1655184809, - "blockNumber": 14960112 - }, - { - "proposalId": 83, - "voter": "0x33ce1310E0E95bDb74fe3bA755231B0fe1849105", - "support": true, - "votingPower": 0.045, - "transactionHash": "0x6813e5c88c5f0452f892894db16f2ba1311226b56d1d2b439d1962485953df2a", - "timestamp": 1655191971, - "blockNumber": 14960582 - }, - { - "proposalId": 83, - "voter": "0x4F49C34759B7e888cE77de9dd34FEC63d63495CC", - "support": true, - "votingPower": 0.07171932440078563, - "transactionHash": "0xe708cc43b20385aaa28b1f86b7bd2f26c2db6286235f79e19bb362aeee95f0b5", - "timestamp": 1655196518, - "blockNumber": 14960885 - }, - { - "proposalId": 83, - "voter": "0xCF3AD6c9D1839705BaC02fb3701A933Ecd9ab9e8", - "support": true, - "votingPower": 0.04912253594438309, - "transactionHash": "0x084d71e30cc099fdce93a12a49747f0840d07dcbe423941a377e451b00b5ff00", - "timestamp": 1655196518, - "blockNumber": 14960885 - }, - { - "proposalId": 83, - "voter": "0xB34C68153EB4991A57C3c9c9137071Dd0387759E", - "support": true, - "votingPower": 0.049285530009988046, - "transactionHash": "0xe3f1e8274b1a8ac089aeb45db042919ab3eff2765d45ffb0607ce193234d400c", - "timestamp": 1655196518, - "blockNumber": 14960885 - }, - { - "proposalId": 83, - "voter": "0xF623CBcE211c638A2b639672C812DcDa97ad1742", - "support": true, - "votingPower": 0.07200653109587336, - "transactionHash": "0x0291e6667ed34c22e13933e2f7acb1aabab80f8646f53efcb592327daaa33445", - "timestamp": 1655200651, - "blockNumber": 14961142 - }, - { - "proposalId": 83, - "voter": "0x259cC22956b3a8d872bc180E2b86a8dE9126f028", - "support": true, - "votingPower": 2.91889, - "transactionHash": "0x2dd773793de485278c3b1675b618aa05790c50846e713001ba3c27d3f4bdb87e", - "timestamp": 1655209944, - "blockNumber": 14961745 - }, - { - "proposalId": 83, - "voter": "0xc4a936B003BC223DF757B35Ee52f6Da66B062935", - "support": false, - "votingPower": 92529.61013077926, - "transactionHash": "0x5e9addd43e4dd0c71e8f08f5abec86c91866f2bf24d996b00f8a59d5f6226cf5", - "timestamp": 1655220940, - "blockNumber": 14962463 - }, - { - "proposalId": 83, - "voter": "0xdd45542cCf17A16F5c515c20db7F7C7D8bB74Cc5", - "support": false, - "votingPower": 65498, - "transactionHash": "0x4ac9b140f26cb3646939853f70a9d27cd05369434ccbab1e9282e9fd104b107d", - "timestamp": 1655225536, - "blockNumber": 14962769 - }, - { - "proposalId": 83, - "voter": "0xA0efD27acC781549D5b78e89E561AA0903932d56", - "support": false, - "votingPower": 8.002657782527367, - "transactionHash": "0xd1684d1f035adb99852e490d8aa8658d106547de33a3c7ce673f061dc5e4c593", - "timestamp": 1655228947, - "blockNumber": 14963007 - }, - { - "proposalId": 83, - "voter": "0xac727f8BAe7D66a5376085768562C30Edbd2A1D2", - "support": false, - "votingPower": 242.97465774257324, - "transactionHash": "0xd037143b4fcc19b97dda6dedad6096ebbf6c39ceeb15cf7c30ba1d131ce35d42", - "timestamp": 1655261854, - "blockNumber": 14965237 - }, - { - "proposalId": 83, - "voter": "0xFeC1083c50C374A0F691192b137f0db6077DAbBb", - "support": true, - "votingPower": 28.31517559680687, - "transactionHash": "0xedd6a8196aca8282c0b5a629f9fa9bc77ff73a7450acecc68784ea5c6ddedcc6", - "timestamp": 1655265175, - "blockNumber": 14965464 - }, - { - "proposalId": 83, - "voter": "0x775f6A8EAA17775EB19e7f873ae2d8a807B20B95", - "support": true, - "votingPower": 6.098222497109016, - "transactionHash": "0xc5e1a0bdc63ff16e4914e4ced898aaf8986b5d2145b9c515f81c7a33d704a0da", - "timestamp": 1655291927, - "blockNumber": 14967213 - }, - { - "proposalId": 83, - "voter": "0x05eBf7B089a859af295B4F4D96673eDcB5ef6621", - "support": true, - "votingPower": 2.163648477422404, - "transactionHash": "0xece15108f730e89987157565b519f703943bc4dbc39d720c51e6a6ac169ccf1f", - "timestamp": 1655292010, - "blockNumber": 14967222 - }, - { - "proposalId": 83, - "voter": "0xA519a7cE7B24333055781133B13532AEabfAC81b", - "support": false, - "votingPower": 159.68507743807496, - "transactionHash": "0x27d8b63c9501c977584e7a8830d6400711e1dbcafdeac231e6ffb104d5b32cbd", - "timestamp": 1655332240, - "blockNumber": 14969940 - }, - { - "proposalId": 83, - "voter": "0x5B3bFfC0bcF8D4cAEC873fDcF719F60725767c98", - "support": false, - "votingPower": 183375.7063189123, - "transactionHash": "0x6d417e1224da6a488258a389a890aa6585f3893f8a86e6afd37d76ff81b075a0", - "timestamp": 1655336388, - "blockNumber": 14970216 - }, - { - "proposalId": 83, - "voter": "0xB21365a936cad1E7D0A676a9CB971dd8B72a7D03", - "support": true, - "votingPower": 0.125, - "transactionHash": "0xb07390b5f04d6f78578b1a93c344e2a7e5cf0ab8b272629068f9dc66e2df63e0", - "timestamp": 1655347249, - "blockNumber": 14970966 - }, - { - "proposalId": 83, - "voter": "0x236884bb674067C96fcBCc5dff728141E05BE99d", - "support": false, - "votingPower": 1, - "transactionHash": "0x7fbc4a23b395c73e46b17d48cd3c8e3ae16b907dc55e8fe9d7f19d541dfaf0df", - "timestamp": 1655348879, - "blockNumber": 14971084 - }, - { - "proposalId": 83, - "voter": "0xF977bF5f5CCB1BFd868BD95D563294494F0D5d89", - "support": false, - "votingPower": 1, - "transactionHash": "0x3c1559f946dd42eac52d15a01041599188a53261541257023913f430a4729d18", - "timestamp": 1655349537, - "blockNumber": 14971126 - }, - { - "proposalId": 83, - "voter": "0xE1d1c5F48f708aa038AA6A9976308Cd1d19D951a", - "support": false, - "votingPower": 1, - "transactionHash": "0x975259d5afdbed1ed76a136641f713e2534583ac42eeb79bdd7d7652e49b5731", - "timestamp": 1655349800, - "blockNumber": 14971148 - }, - { - "proposalId": 83, - "voter": "0xdd4A19DC351Ba42421dB282196AF38b433AA86BA", - "support": false, - "votingPower": 1, - "transactionHash": "0xac6859cdf978b8c2099694fd98478c7a9ba463d2f280d7d7df79092d7d89e314", - "timestamp": 1655350000, - "blockNumber": 14971162 - }, - { - "proposalId": 83, - "voter": "0x9497243478392B1F7f508874F606379F989C6eea", - "support": false, - "votingPower": 1, - "transactionHash": "0x9e9259012fdfee9b3867418ed1ff5d7370e9f711563bebaf93a0496d794d243e", - "timestamp": 1655350467, - "blockNumber": 14971183 - }, - { - "proposalId": 83, - "voter": "0x05ac3D28434804ec02eD9472490fC42D7e9E646d", - "support": false, - "votingPower": 1, - "transactionHash": "0x6d99e8fee90791177469841ba2b56a62fa6ac2c241ad74ffb3de9eefa9022641", - "timestamp": 1655350684, - "blockNumber": 14971202 - }, - { - "proposalId": 83, - "voter": "0x61D9e931A72c9FB3eB9731dCc5A30f1F6C3ab63F", - "support": false, - "votingPower": 1, - "transactionHash": "0xd939f87de1731d064335383485e81652553ae219b4a631c2162ffe9ba7e1b8c5", - "timestamp": 1655352043, - "blockNumber": 14971285 - }, - { - "proposalId": 83, - "voter": "0x27e56c3D33bFB6254C9F8024B545B33e9e62012f", - "support": true, - "votingPower": 0.043, - "transactionHash": "0x11b0f99ae6707129900585d7f7017086d8ccd10d6a6b04a5209959c79b55b4a6", - "timestamp": 1655363505, - "blockNumber": 14972058 - }, - { - "proposalId": 83, - "voter": "0x1fBc37D49B4624BBDECE83d15eB06383f44Bd9f7", - "support": false, - "votingPower": 22.449651130666606, - "transactionHash": "0x0a7dbeaa50e31d915ca3c796eccea9ca718e5dbd82fe58de12f89044176938f6", - "timestamp": 1655364303, - "blockNumber": 14972112 - }, - { - "proposalId": 83, - "voter": "0x8B64673c9a482913a6e2c1298637532947cD96eE", - "support": false, - "votingPower": 22.972115728527747, - "transactionHash": "0x38a59845adac976ff1d404c1039d4284de18f6dc1af2525d3fc6d976ebb37eae", - "timestamp": 1655367516, - "blockNumber": 14972316 - }, - { - "proposalId": 83, - "voter": "0xA8c4e3ce1743D0f2A6c227548C982a7C40569940", - "support": false, - "votingPower": 0.16867781, - "transactionHash": "0xca32ef3fb30e75f177c6607dce029f5bab8d9e42a6f90629980cf2ad0c4ae6bc", - "timestamp": 1655367786, - "blockNumber": 14972338 - }, - { - "proposalId": 83, - "voter": "0x8fBB54606676BA5F8Edc6C4c88ef29b86d58774c", - "support": true, - "votingPower": 0.3, - "transactionHash": "0xf17b015132a3e2da74617f32688d860291b531d77af10b821c83cdb6ba5dce06", - "timestamp": 1655369021, - "blockNumber": 14972408 - }, - { - "proposalId": 83, - "voter": "0x81dD777413157D8d1Dc92B3479704e07C339b9ad", - "support": true, - "votingPower": 0.5, - "transactionHash": "0x9a4002e49c9918f170e22ba03a04ab7f4e5e0b667765b66ce5b623746bcec8e8", - "timestamp": 1655369379, - "blockNumber": 14972424 - }, - { - "proposalId": 83, - "voter": "0x2bA3f0981Dda6FEB724e23b1a2AE349bDaA24A2d", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x8a9dc2505ff50f1c0d801b9d7d90184cfdcd188bfcc97ee798c082ec74920dd0", - "timestamp": 1655369728, - "blockNumber": 14972443 - }, - { - "proposalId": 83, - "voter": "0x3cCd44BB20bc9c06FA8CCE8f6Aa207AE86D7DD5b", - "support": true, - "votingPower": 0.5, - "transactionHash": "0x1bc3fbea9fc1beca529f333cce4b1b3238fb5db0ea585d38162e1d783edfdfb6", - "timestamp": 1655369931, - "blockNumber": 14972457 - }, - { - "proposalId": 83, - "voter": "0x07450986773F22507c919483dCcFb9d348EF042e", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xeff6b64d2d3109a10514c8820c4d93e7a79bdaedb011ca133eb4f3bf78e55300", - "timestamp": 1655369931, - "blockNumber": 14972457 - }, - { - "proposalId": 83, - "voter": "0xda35b3C4Ab2E0b470c525511b0242139E7dE6C32", - "support": true, - "votingPower": 0.33343, - "transactionHash": "0x7c7186f13b336aa6e484f837bc258fae699f4d12edd4dac53b66dd6736bafc08", - "timestamp": 1655371930, - "blockNumber": 14972582 - }, - { - "proposalId": 83, - "voter": "0x8d07D225a769b7Af3A923481E1FdF49180e6A265", - "support": false, - "votingPower": 10, - "transactionHash": "0x0c57a2f5f806db4d194dd576f58a006db38d247794f3c231e0a8f4c75015ec62", - "timestamp": 1655384495, - "blockNumber": 14973439 - }, - { - "proposalId": 83, - "voter": "0x5F389707Fc094f5daaFf685ba8E47Ee56E31f51F", - "support": true, - "votingPower": 2.975488355324591, - "transactionHash": "0xb13b263c246b23a863e6656628afceec344d671f8361e2e8e85bca909c0287f0", - "timestamp": 1655390634, - "blockNumber": 14973876 - }, - { - "proposalId": 83, - "voter": "0xd2362DbB5Aa708Bc454Ce5C3F11050C016764fA6", - "support": false, - "votingPower": 77764.93744824127, - "transactionHash": "0x8ed13612447136d1100964de6d61151b1e9a65273b145130604d72c897973743", - "timestamp": 1655401105, - "blockNumber": 14974619 - }, - { - "proposalId": 83, - "voter": "0x24B0d6eFfcBf51206Ca3F0c0b15795e5aD7d53Cf", - "support": true, - "votingPower": 0.81865364, - "transactionHash": "0xb7ecf944f3a241b8483088b94f254fb985e6f75b4f3b22bda095e28f5de29981", - "timestamp": 1655417993, - "blockNumber": 14975728 - }, - { - "proposalId": 83, - "voter": "0x4A49f3081f321909477C1b6C6A1979339760313c", - "support": true, - "votingPower": 0.041, - "transactionHash": "0x0b58ce2a6b5eb58cab810325f8d0fc724022f0c7d12f8dcddb31467a21a6e754", - "timestamp": 1655444977, - "blockNumber": 14977567 - }, - { - "proposalId": 83, - "voter": "0x05A5787e3Bd8478b9bA08a0eF2036296Bc0eDF87", - "support": false, - "votingPower": 0.042, - "transactionHash": "0x0d617b367efcb14584e7990220088726d73af0d223cc6f148d5409467c515d97", - "timestamp": 1655445076, - "blockNumber": 14977572 - }, - { - "proposalId": 83, - "voter": "0xA99B8111bD91e3FcE42431eC32e621fe5A3f9BC4", - "support": true, - "votingPower": 0.0629971395531562, - "transactionHash": "0xb9c186f50a3df6f10e7e2d6d6d7698085b1f6d226541a36de32d466ed4b9e679", - "timestamp": 1655445076, - "blockNumber": 14977572 - }, - { - "proposalId": 83, - "voter": "0x29BaEB01eFbB06Bc988093Ffe1b5b231d2F70E20", - "support": true, - "votingPower": 1, - "transactionHash": "0x774abaa18582a2770275fde07617beeaeff3e98c71ae52657dbf9626e862d744", - "timestamp": 1655457422, - "blockNumber": 14978377 - }, - { - "proposalId": 83, - "voter": "0x7B8d1133D3dbFBFb90aB32071f46106a88cF25A5", - "support": true, - "votingPower": 0.111, - "transactionHash": "0x8f55fda2280b41ab48f596c34dcda547a98708e28959e15da71a17d91060ff7f", - "timestamp": 1655457446, - "blockNumber": 14978379 - }, - { - "proposalId": 83, - "voter": "0x3053C11E2311EC24464751204A78a25844CcA847", - "support": true, - "votingPower": 0.0000644, - "transactionHash": "0x9a627e39f33e3f237fbdedd44f3d3a5ea3f8cc414dd72ca15ff986edbb99bdc1", - "timestamp": 1655457488, - "blockNumber": 14978382 - }, - { - "proposalId": 83, - "voter": "0xD5e81C75b48172A38AfEca96e8f07F5107aBEC13", - "support": true, - "votingPower": 0.5248409985477732, - "transactionHash": "0x210fbff99f0c1b0ffd786b47039d4b4366b3450a3d6c2b41fd33d4e50024ee74", - "timestamp": 1655457632, - "blockNumber": 14978387 - }, - { - "proposalId": 83, - "voter": "0xEAFEFb44c6b5802Df613877B37d1bC7Ddb81300b", - "support": false, - "votingPower": 0.023179053215976523, - "transactionHash": "0x07b2cf99eca2cb84f1d24ad592f8f76c47582fe6f9bae51b10e0110d56a6967a", - "timestamp": 1655460260, - "blockNumber": 14978585 - }, - { - "proposalId": 83, - "voter": "0x329c54289Ff5D6B7b7daE13592C6B1EDA1543eD4", - "support": false, - "votingPower": 14.611296399782587, - "transactionHash": "0x64e1018c17551717689126f2c7ff5935c6679de6f6e90615c17036e83038c3f6", - "timestamp": 1655462395, - "blockNumber": 14978724 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 84, - "voter": "0xc062Eeca3891539F75054b1060997aa3459b7390", - "support": true, - "votingPower": 0.06, - "transactionHash": "0xd77c34d36605a1fd2b8b5d40167d4502af08cef9d87cdf2715ef89be8db26212", - "timestamp": 1655892953, - "blockNumber": 15007133 - }, - { - "proposalId": 84, - "voter": "0x562BF1B67Dc40d9b7C3ddd49E45aE58e61E1B76E", - "support": true, - "votingPower": 0.06384445632619642, - "transactionHash": "0x19f160e326777050ff3e2622dd85b6eab2d4c0b3d53d82cf2d9b55e618728ac0", - "timestamp": 1655892974, - "blockNumber": 15007135 - }, - { - "proposalId": 84, - "voter": "0xdC09eb652D4568c3E22D176BCe8F5eFb12aF7716", - "support": true, - "votingPower": 0.06, - "transactionHash": "0x3461516902cc0423948d6050381e4763230dea54128564fcd42c3d4f2bb42d2c", - "timestamp": 1655893009, - "blockNumber": 15007138 - }, - { - "proposalId": 84, - "voter": "0xBD90F0243173E91385224a8117212d17C2E9e494", - "support": true, - "votingPower": 0.022079767861370916, - "transactionHash": "0x157e3c3cbec111c4e69cd03551848db875a9ea1dfa3bec85a57e826b254752f5", - "timestamp": 1655893329, - "blockNumber": 15007158 - }, - { - "proposalId": 84, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 103333.8477304624, - "transactionHash": "0x275ed48076ee3bc4bb865b77a16643f00afa84b403c01b47b851e9848f6384d5", - "timestamp": 1655920747, - "blockNumber": 15008851 - }, - { - "proposalId": 84, - "voter": "0x98dc06b6809984A490e3c8a8A3e262aE6Ed16be9", - "support": true, - "votingPower": 0.0492174985143748, - "transactionHash": "0x2d8104fda33c636392ecfbf4b394ecff013619960f0ef8e9121c3f7ce369fe0f", - "timestamp": 1655922616, - "blockNumber": 15008974 - }, - { - "proposalId": 84, - "voter": "0x5B3bFfC0bcF8D4cAEC873fDcF719F60725767c98", - "support": true, - "votingPower": 183375.7063189123, - "transactionHash": "0x9cb2329d21aa3f5797af0ebf36d016094dc63a2c5083aface1cd957379399531", - "timestamp": 1655925060, - "blockNumber": 15009120 - }, - { - "proposalId": 84, - "voter": "0xA8c4e3ce1743D0f2A6c227548C982a7C40569940", - "support": true, - "votingPower": 0.16867781, - "transactionHash": "0x9f6c1364c3943d6b928caee0a32786c5a429ce27dcce601a8f0180059b975caa", - "timestamp": 1655926934, - "blockNumber": 15009240 - }, - { - "proposalId": 84, - "voter": "0xda2804f2ef63AACFb3503510602c6d68dfFd554B", - "support": true, - "votingPower": 0.05, - "transactionHash": "0xde143cf9cbb85d09e56ea7c6cc33541325effc0ac8820eaf8d35a90c3517fb1e", - "timestamp": 1655936206, - "blockNumber": 15009817 - }, - { - "proposalId": 84, - "voter": "0x236884bb674067C96fcBCc5dff728141E05BE99d", - "support": true, - "votingPower": 1, - "transactionHash": "0x45e198162a3cb7b046fdd8b0beb4e4a9d2516f63cac76b6afd85ae1b6976af0f", - "timestamp": 1655945282, - "blockNumber": 15010389 - }, - { - "proposalId": 84, - "voter": "0x4d477F1aabcFc2FC3FC9b802E861C013E0123AD9", - "support": true, - "votingPower": 0.1092903026824001, - "transactionHash": "0xd55f3a3a3dfba2d47fff0a230cb26898731c9715a3d27b3bbaff8780e4dabf4d", - "timestamp": 1655951277, - "blockNumber": 15010733 - }, - { - "proposalId": 84, - "voter": "0xC576eb3a729BC7B2Faff54B1752A8Bf05c00A12A", - "support": true, - "votingPower": 2.237058, - "transactionHash": "0x744f693c1a9e47dac7266dd440659ace56ef3539c0f09d66dac03d678d91b2e0", - "timestamp": 1655955142, - "blockNumber": 15010969 - }, - { - "proposalId": 84, - "voter": "0x070341aA5Ed571f0FB2c4a5641409B1A46b4961b", - "support": true, - "votingPower": 9999.9999, - "transactionHash": "0x589d1b035d48f97321562960eafb192ceb492282f2d1a121d98c0dc6a12746d0", - "timestamp": 1655957212, - "blockNumber": 15011091 - }, - { - "proposalId": 84, - "voter": "0x8fBB54606676BA5F8Edc6C4c88ef29b86d58774c", - "support": true, - "votingPower": 0.3, - "transactionHash": "0x5cc0d8b0717d6ca4ef28d73c359aceb43b7881ca9b513f3cd1fc8072f1953336", - "timestamp": 1655980351, - "blockNumber": 15012493 - }, - { - "proposalId": 84, - "voter": "0x3cCd44BB20bc9c06FA8CCE8f6Aa207AE86D7DD5b", - "support": true, - "votingPower": 0.5, - "transactionHash": "0x6468328c2985d5b6862b8d897a9bf8a7a0803091c184bcae2f55a1473b5002ae", - "timestamp": 1655980509, - "blockNumber": 15012507 - }, - { - "proposalId": 84, - "voter": "0x81dD777413157D8d1Dc92B3479704e07C339b9ad", - "support": true, - "votingPower": 0.5, - "transactionHash": "0xa5d8e8ef0f8dfdec0fc2a36dd7404e545baf25620c27724d589a1f63208ac728", - "timestamp": 1655981574, - "blockNumber": 15012581 - }, - { - "proposalId": 84, - "voter": "0x2bA3f0981Dda6FEB724e23b1a2AE349bDaA24A2d", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xe3733c9cb5f42212274e7a635c58bc3e794785a1e8eddeb3a82ab5ca27663c8c", - "timestamp": 1655982102, - "blockNumber": 15012626 - }, - { - "proposalId": 84, - "voter": "0x07450986773F22507c919483dCcFb9d348EF042e", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xfcb9cb8ffb76446ed0ef448d2e7cfe830145553637fe9fb9322c311f1ccabfef", - "timestamp": 1655982836, - "blockNumber": 15012674 - }, - { - "proposalId": 84, - "voter": "0x223CF852A2320B7D451bBF5FF8E97Cc3Aa6fec9B", - "support": true, - "votingPower": 1.875, - "transactionHash": "0x682f9d7f303043d9f864fa71f557f134d0253bb56e9a68c6eaaa5bb297f30d2a", - "timestamp": 1655993270, - "blockNumber": 15013327 - }, - { - "proposalId": 84, - "voter": "0x683a4F9915D6216f73d6Df50151725036bD26C02", - "support": true, - "votingPower": 58827.15085353832, - "transactionHash": "0x94cd70c415f3240dd0f5efb2e75d0ed9bc3e583f89746fbb63962d946284ed0c", - "timestamp": 1655995165, - "blockNumber": 15013434 - }, - { - "proposalId": 84, - "voter": "0xfADE0870B4F34455A7056070d1C2cE148609aD05", - "support": true, - "votingPower": 1, - "transactionHash": "0x60a37de937abd573ce189f51860e1e86832258fbb3cb11edf05c1427b5b64cd7", - "timestamp": 1655995260, - "blockNumber": 15013435 - }, - { - "proposalId": 84, - "voter": "0x6D29eB3fE1229DCcCaFe51A085234A0c76Ef6c8e", - "support": true, - "votingPower": 3, - "transactionHash": "0xb1611a4858b895550bfde7857ddf499d6f67a48792b0acaedcc1cc010df720d5", - "timestamp": 1656012438, - "blockNumber": 15014490 - }, - { - "proposalId": 84, - "voter": "0xF977bF5f5CCB1BFd868BD95D563294494F0D5d89", - "support": true, - "votingPower": 1, - "transactionHash": "0xeea61df9095797da43c01b24af15c22438a86ac1f3309bec6bbdd3e7e2991148", - "timestamp": 1656028643, - "blockNumber": 15015507 - }, - { - "proposalId": 84, - "voter": "0xE1d1c5F48f708aa038AA6A9976308Cd1d19D951a", - "support": true, - "votingPower": 1, - "transactionHash": "0x1bdb844c80a35c82b72bb0661d564ca339bc46583fa054f27deb27dac70e21b9", - "timestamp": 1656028955, - "blockNumber": 15015529 - }, - { - "proposalId": 84, - "voter": "0xdd4A19DC351Ba42421dB282196AF38b433AA86BA", - "support": true, - "votingPower": 1, - "transactionHash": "0x9e70d5dbf1468cf2e5fe46950d9ac8ede0db525627cf4084beedd9d48019a039", - "timestamp": 1656029352, - "blockNumber": 15015557 - }, - { - "proposalId": 84, - "voter": "0x9497243478392B1F7f508874F606379F989C6eea", - "support": true, - "votingPower": 1, - "transactionHash": "0xfbff0d04d2fb1186b18d429563df9e6c0ae17b82508d4a70dd578e8c220e83da", - "timestamp": 1656029695, - "blockNumber": 15015575 - }, - { - "proposalId": 84, - "voter": "0x05ac3D28434804ec02eD9472490fC42D7e9E646d", - "support": true, - "votingPower": 1, - "transactionHash": "0xb6b47da7ede3ad640d139c6f131f9d12993d292225da8e68cf167cc150fc75ad", - "timestamp": 1656029921, - "blockNumber": 15015590 - }, - { - "proposalId": 84, - "voter": "0x61D9e931A72c9FB3eB9731dCc5A30f1F6C3ab63F", - "support": true, - "votingPower": 1, - "transactionHash": "0x3c27e631b8012e826119714665011c5b2ec9cbabc8d4ed36ebdcf11aad4ba70f", - "timestamp": 1656030150, - "blockNumber": 15015601 - }, - { - "proposalId": 84, - "voter": "0xDF9d1bCA4C94e8a551031E17F487a0da96404f6E", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xf9ac3387b72387ace86bb60611353e33082957d3287e436bbc61404da03c0b6e", - "timestamp": 1656036154, - "blockNumber": 15015977 - }, - { - "proposalId": 84, - "voter": "0x49c8aB38B44e98c568244f3188F3F4A40Ae769Ad", - "support": true, - "votingPower": 28.51444253, - "transactionHash": "0x54444ac4eb12c384a1ba070dc93b0feddc3377c85895fb4c0e517abec3f8fdde", - "timestamp": 1656105943, - "blockNumber": 15020312 - }, - { - "proposalId": 84, - "voter": "0x86951B2E7caB5c9CaE52de4329c179432264A159", - "support": true, - "votingPower": 1.0376101297046956, - "transactionHash": "0x314cd5cae0418bfa2d633d3fca64d6998e8125c6352c6572aeb5462967adfeea", - "timestamp": 1656106907, - "blockNumber": 15020379 - }, - { - "proposalId": 84, - "voter": "0x2ccBF7C691C1725E1b6D8dC6A4304f3227B31F75", - "support": true, - "votingPower": 0.101, - "transactionHash": "0xaa4c65fe3c5665b326caba0c7b481f7f769858f3d25ba4210d183fb798262a64", - "timestamp": 1656128530, - "blockNumber": 15021741 - }, - { - "proposalId": 84, - "voter": "0x1A8167907256ECE255be4563c141C88EE16427CA", - "support": true, - "votingPower": 1.05, - "transactionHash": "0x57ee4fc1c220e47097f9c7732498036796cc6935d4db5d7f77f3a410769c6d9b", - "timestamp": 1656128660, - "blockNumber": 15021752 - }, - { - "proposalId": 84, - "voter": "0xECD02810Db92Ff027ea1b0850d46BdA963676D74", - "support": true, - "votingPower": 1.1, - "transactionHash": "0x5efeb004597e9aab197adc898df26a4ac324f1ffd57c58dc612f1d1f682d1b9b", - "timestamp": 1656149892, - "blockNumber": 15023049 - }, - { - "proposalId": 84, - "voter": "0x6c4ADEa8f704410d4146368203856dc4c439ACDB", - "support": true, - "votingPower": 1.1109998510664045, - "transactionHash": "0x08beb6c9d6be44257adc54be188ab786f355724c396b5a594740f41b996a266a", - "timestamp": 1656149892, - "blockNumber": 15023049 - }, - { - "proposalId": 84, - "voter": "0x8330A84D3C16A55302f921C36979B1067418053a", - "support": true, - "votingPower": 0.516, - "transactionHash": "0xecb4355d70ae098e8e45cf2ec85d2009b12af5ab3f86cb352d06907e0f833339", - "timestamp": 1656151854, - "blockNumber": 15023189 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 85, - "voter": "0xA8c4e3ce1743D0f2A6c227548C982a7C40569940", - "support": true, - "votingPower": 0.16867781, - "transactionHash": "0xb0fd592b32d7ab182c1952207217fec633d445645d5045a70ad2f0c52e150e4d", - "timestamp": 1656940445, - "blockNumber": 15076255 - }, - { - "proposalId": 85, - "voter": "0x33482803274C5e08661843636DceE8E9A68c7252", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0xee5aa18a77a0b874d2b4a08fbc42d881a612295de01420ee485aa2d2dabd00de", - "timestamp": 1656944457, - "blockNumber": 15076547 - }, - { - "proposalId": 85, - "voter": "0x347Bb83E4ab465C8C6b7afaB3BEB373410A9Cae2", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0xb5168fc69975aede397b4d5561004907d280971906f112f52a73eb8395d976f4", - "timestamp": 1656944458, - "blockNumber": 15076548 - }, - { - "proposalId": 85, - "voter": "0x9fD9Bb687696f19038892989876Bd6dC96Abd769", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0x396bebfc8a2205f56a93b10039f835736a8e4c5ed60c0bf911d632ef3e32d3ee", - "timestamp": 1656944458, - "blockNumber": 15076548 - }, - { - "proposalId": 85, - "voter": "0x9E73201903164d3B476505f3C54F86cdCD4010DF", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0x50c5818481c0c180b5f5639c69c1a041227ffdf97326da40196bc939f1a041bd", - "timestamp": 1656944470, - "blockNumber": 15076549 - }, - { - "proposalId": 85, - "voter": "0x949aD06a4c904cd0B31AE2F56AaE0eC68C16CCAc", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0x668cf0f361e1bd3384b64407248b3a75b8108b2109397f0c5b8b77cdaa760ebd", - "timestamp": 1656944470, - "blockNumber": 15076549 - }, - { - "proposalId": 85, - "voter": "0xFBE6915fB22DFe6b42a7c50b43B45bF692681e5D", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0x4b31d49724fdbbc23db1e9c7dd437632d7af59269c8bc712017dac46c9b81209", - "timestamp": 1656944487, - "blockNumber": 15076550 - }, - { - "proposalId": 85, - "voter": "0x0585c0d0aEdF071a07992ad650bdc047Cef0c04F", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0x87775f9fc81373379ef4f87de593ae444e7ae895a1f2f95b9cdce7832d8a01e1", - "timestamp": 1656944503, - "blockNumber": 15076551 - }, - { - "proposalId": 85, - "voter": "0x69389398e4D903b02010e20d308ee58EA8D6D714", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0xc495de0c0f292be305ece79965fc0fc37f37c1dc6f55532e59fc2055717b23c7", - "timestamp": 1656944515, - "blockNumber": 15076552 - }, - { - "proposalId": 85, - "voter": "0x99D305dfc38CEfA91cB1129387681eDe4c93e87D", - "support": true, - "votingPower": 0.03620082, - "transactionHash": "0xc5655aa81a091853c680cfc51b5b12836e3fb74b87bc10beeaccd032a277ff4a", - "timestamp": 1656944522, - "blockNumber": 15076553 - }, - { - "proposalId": 85, - "voter": "0x8Dd0F1C1BDEf8e2C180df44d348db44494C54Ea7", - "support": true, - "votingPower": 0.11973361215093221, - "transactionHash": "0x3622abd0fb6fce58c2cecf8044d6b5e3b40e8f24f6cd2cc33d414b7f79a7cfaa", - "timestamp": 1656952965, - "blockNumber": 15077177 - }, - { - "proposalId": 85, - "voter": "0x2908790CeC0Da7786c8e954162d753a07a98b344", - "support": true, - "votingPower": 0.10065482679220604, - "transactionHash": "0xe2e41e0e119dfab679d767f447d527f5829d03aae0aae7f149afe649c39e90b1", - "timestamp": 1656953083, - "blockNumber": 15077187 - }, - { - "proposalId": 85, - "voter": "0x08fECB006F7edCE664eDF7B21F61f5EfC4D7aCF9", - "support": true, - "votingPower": 0.1006443538168045, - "transactionHash": "0xdd0b16b163fc322283b2ce0f5536263ebb8b36f26919105d62b00759f824c2fd", - "timestamp": 1656953117, - "blockNumber": 15077191 - }, - { - "proposalId": 85, - "voter": "0x5B060d8C21B60d6904052BE0Dc6C2Eb1888De74C", - "support": true, - "votingPower": 0.10722431074624417, - "transactionHash": "0x996b82c5525679b2f6ae17fc986b53210d47409db0c9f09ef98d076a9d21b635", - "timestamp": 1656953129, - "blockNumber": 15077192 - }, - { - "proposalId": 85, - "voter": "0x301b3410F3C3FeDf8f90ad465964a45861B1773e", - "support": true, - "votingPower": 0.10533481371745422, - "transactionHash": "0x9b04c47b51f4343567cc853f45bb29901c4825fcf7d638637c7fff20dfdade5b", - "timestamp": 1656953208, - "blockNumber": 15077204 - }, - { - "proposalId": 85, - "voter": "0xeC0b276dfe3D75237F356b4092402a3d0e7b724b", - "support": true, - "votingPower": 0.10320499840582133, - "transactionHash": "0x8bb3df6ce72daf4dc84dd7a545df54bdfc0c48a94b61d8256c081a28a158c74e", - "timestamp": 1656953226, - "blockNumber": 15077206 - }, - { - "proposalId": 85, - "voter": "0x2835600819dc2633611d600C488a52C6AF4908f2", - "support": true, - "votingPower": 0.10401153763748364, - "transactionHash": "0x215198bc8eb748e9076246f7f565a415ed6d968667516c99c6af3fd70034eda8", - "timestamp": 1656953243, - "blockNumber": 15077208 - }, - { - "proposalId": 85, - "voter": "0x8E6583b679c10e648D415BA48D57Cf3C2dC00F7F", - "support": true, - "votingPower": 0.10570864300681156, - "transactionHash": "0xd5d27616370102da24784f2d24159140b8406eb164e2c0091dd4d013571e6e01", - "timestamp": 1656953243, - "blockNumber": 15077208 - }, - { - "proposalId": 85, - "voter": "0x2c6141c6c7aaf27dD1BE50bfdF5409F0Ca986eE2", - "support": true, - "votingPower": 0.10878172213773987, - "transactionHash": "0x69c349babbdbc4dd20fd00776025c76e47f281592bb1ab7f6f6c73859d136365", - "timestamp": 1656953269, - "blockNumber": 15077210 - }, - { - "proposalId": 85, - "voter": "0xFCE7FB5D5548b821b02ad99E398bb38b27FD626C", - "support": true, - "votingPower": 0.10823061839336548, - "transactionHash": "0x7b65a489554b8fb40d8b5f3d301535c135c2cb91f3a2ec86ebfa2edfb583d2d1", - "timestamp": 1656953327, - "blockNumber": 15077214 - }, - { - "proposalId": 85, - "voter": "0xbC2Ff35020ffF6Df7AE8a0b154938cE5C5e459C9", - "support": true, - "votingPower": 0.1082189455222498, - "transactionHash": "0xca27ec7dfdaf5f8539e891e8a8cdbc79cb92c48a8a4a0541e9062aa4f807c5f4", - "timestamp": 1656953327, - "blockNumber": 15077214 - }, - { - "proposalId": 85, - "voter": "0x3d5E234B544c57e79B7f624e544B90AA974b79c9", - "support": true, - "votingPower": 0.10773712221172291, - "transactionHash": "0x80b3740913cd1f10bc12b2fdb3653d7319a829553b8f3d1960664ac9dd0c4113", - "timestamp": 1656953327, - "blockNumber": 15077214 - }, - { - "proposalId": 85, - "voter": "0x60f1e68a7ffe5E5c33a3844838112575F00929ad", - "support": true, - "votingPower": 0.10772552938124977, - "transactionHash": "0x5109ecf96aec2aa5362a74101965b82ea2ebc28a917e67a6f0b29c3ee8d04335", - "timestamp": 1656953335, - "blockNumber": 15077217 - }, - { - "proposalId": 85, - "voter": "0x8C69f8D2F360d0bd12cB73b92E90a380e32987BB", - "support": true, - "votingPower": 1.0049999339286548, - "transactionHash": "0x3b2f63f2bf0589badab9a5d8fbc2d71e7c318f5f63d5d4f6427100f4712f75f4", - "timestamp": 1656953768, - "blockNumber": 15077263 - }, - { - "proposalId": 85, - "voter": "0xBd5f593C86319523e6E8AfE60dEdBEfaeDBdB8C9", - "support": true, - "votingPower": 1.05732371, - "transactionHash": "0xeed60acd8dd0d83ee94118a5c21d28466adb85f19b4cf345b32a1ef9a956e92d", - "timestamp": 1656961774, - "blockNumber": 15077867 - }, - { - "proposalId": 85, - "voter": "0xA0efD27acC781549D5b78e89E561AA0903932d56", - "support": true, - "votingPower": 8.002657782527367, - "transactionHash": "0xa150167cf29bd9011b23c9ef81fe38b8467e54c6fe6057a34aecdf2235aabf60", - "timestamp": 1656965189, - "blockNumber": 15078119 - }, - { - "proposalId": 85, - "voter": "0x1A8167907256ECE255be4563c141C88EE16427CA", - "support": true, - "votingPower": 1.05, - "transactionHash": "0x8d9407569bd43031e8a03e72dc550362d92b655e8a91fe8b6147584c6708e8b5", - "timestamp": 1656996275, - "blockNumber": 15080435 - }, - { - "proposalId": 85, - "voter": "0xaa4fF93201f029A54120D223Deb9FC6d0C8cDd45", - "support": true, - "votingPower": 19.6989, - "transactionHash": "0x8171a7182acdd2a2561da01e240592de9b51a8c39f1b28a43fb5eedc92b8b0eb", - "timestamp": 1657000304, - "blockNumber": 15080730 - }, - { - "proposalId": 85, - "voter": "0x97f5f2731B4c3839FFAa2696EB9Aa0d640f1d380", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x36793a632e4d6d344c0fc95d7eb4081bc981b5bb707cbe09d30be9ee9f4134a5", - "timestamp": 1657013806, - "blockNumber": 15081715 - }, - { - "proposalId": 85, - "voter": "0x19eAdE6e4e5cF16fe0b15e47c39AB565FB8e734E", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xc42a4f2963feccbe635edbf84547e9ab5cfeae5c488c4217b4e5c70a836b853a", - "timestamp": 1657014673, - "blockNumber": 15081785 - }, - { - "proposalId": 85, - "voter": "0xBc470793aafEC58a427FB40894C6a304A51866De", - "support": true, - "votingPower": 0.275, - "transactionHash": "0x0482bff4bf07519514b9c0e71cc5aff36fde4df59e79ba6d90c0143a8936df19", - "timestamp": 1657014673, - "blockNumber": 15081785 - }, - { - "proposalId": 85, - "voter": "0xe8E83Ddfc373BBBD22eDF5A80a30eC7DEd8f2b47", - "support": true, - "votingPower": 0.1634751657966329, - "transactionHash": "0x7e4b47bcca177c0c776e62ac21b7c387eed3940b6a6199521814f0d825261801", - "timestamp": 1657014686, - "blockNumber": 15081786 - }, - { - "proposalId": 85, - "voter": "0x5FC5B2fC589967b5Fe482E33DdCe64881547a016", - "support": true, - "votingPower": 0.12, - "transactionHash": "0x3441620ce30a07fb0ae1f554073a0b1340da08f133bcbfae3c938b19035543ae", - "timestamp": 1657014686, - "blockNumber": 15081786 - }, - { - "proposalId": 85, - "voter": "0xA47F68826Abe8d3A20EE1B1458F3156e6C7b5277", - "support": true, - "votingPower": 0.09, - "transactionHash": "0x702588b9ec7967316bbf41da79eb4582e6b1eae780cee3548bc09e1c476a97c3", - "timestamp": 1657014686, - "blockNumber": 15081786 - }, - { - "proposalId": 85, - "voter": "0xcb6DDd92f9705D6196DE25eE5bb89D06e5045F5F", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xe9cb7df85e6725d7cd315d8d63c2cc3a8636c90b35239c64b3f6a33414894498", - "timestamp": 1657014727, - "blockNumber": 15081787 - }, - { - "proposalId": 85, - "voter": "0x34A10fcE0293276A43c127AC457aD3e65732c888", - "support": true, - "votingPower": 0.325, - "transactionHash": "0xe7d4521b724f8eadb0f1e88c9f1897b78face208bf65e80f9df6e8e1c99b3022", - "timestamp": 1657014760, - "blockNumber": 15081790 - }, - { - "proposalId": 85, - "voter": "0x886F55E670cF0e0749cae8e58bA355Ae5F804575", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x089b1bf9c21bddb0d9639207bb9edf542c420c5f0f5dd09f1e0ae608cd937e46", - "timestamp": 1657014831, - "blockNumber": 15081796 - }, - { - "proposalId": 85, - "voter": "0x373b19826aD320F1a72E39122adE734b1ad5fa4D", - "support": true, - "votingPower": 1.1749988, - "transactionHash": "0x6b1f419588423d88fc0e7dade3264b38dec60a0fec770249970904b8d66b33f1", - "timestamp": 1657014868, - "blockNumber": 15081798 - }, - { - "proposalId": 85, - "voter": "0x32E100b633A70B4f315945f7c18373297F9f8a9F", - "support": true, - "votingPower": 0.27, - "transactionHash": "0x09c628c770d6636e5499f8166d708f47e773948343b94357d63e627352a72962", - "timestamp": 1657014942, - "blockNumber": 15081801 - }, - { - "proposalId": 85, - "voter": "0x634ed8C2dF8fBe613eE25DEBE1a460B4DF2487d7", - "support": true, - "votingPower": 0.19092668868391283, - "transactionHash": "0x79dae1da01aa0640099c5375ea215289469e71502bb0e9ae856603fd3f172323", - "timestamp": 1657014963, - "blockNumber": 15081803 - }, - { - "proposalId": 85, - "voter": "0x05f7F81Ef8b158be44b96A3a3Bd5351BdF28946c", - "support": true, - "votingPower": 0.1717442480705237, - "transactionHash": "0x7d9c08d74d120438b78a09c3eea24b655a430a5d41fffc217e34ef12e416da8e", - "timestamp": 1657015122, - "blockNumber": 15081809 - }, - { - "proposalId": 85, - "voter": "0xf11A3703226a02825F23A02c1b3663be8fc46060", - "support": true, - "votingPower": 0.025, - "transactionHash": "0xb9bddf7b4bb7d347d66096c625dc09b25e3b25d050a01ff89d9bdbced802fc35", - "timestamp": 1657015125, - "blockNumber": 15081810 - }, - { - "proposalId": 85, - "voter": "0xB21365a936cad1E7D0A676a9CB971dd8B72a7D03", - "support": true, - "votingPower": 0.125, - "transactionHash": "0x334b91e21360a8c674336dcdafd2054c861c9fcbf1a9e7f714168bb3ec1d2e7b", - "timestamp": 1657015154, - "blockNumber": 15081813 - }, - { - "proposalId": 85, - "voter": "0x7a67928bB379974768668D50ab991Eefb5F08c0e", - "support": true, - "votingPower": 0.01746923, - "transactionHash": "0x2f54c93451eb39aef5195ea13a13a58b2c9297a6e6b14ca60862c7f174ae42f7", - "timestamp": 1657015206, - "blockNumber": 15081817 - }, - { - "proposalId": 85, - "voter": "0x810d3AABbBf8CbCFf5C256f2B0621c4941f8B139", - "support": true, - "votingPower": 1.099, - "transactionHash": "0xa50eb66439a410168c86041f6d86027038be46e96f662ea85baa20878c8b39c2", - "timestamp": 1657015223, - "blockNumber": 15081819 - }, - { - "proposalId": 85, - "voter": "0xb3A639757973AC341533344C78D457B934108c8D", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x9ea9ecbee1e2bfe9ee10b1a2b0d4b830ed1dd70712f106e360ccb562650cc314", - "timestamp": 1657015223, - "blockNumber": 15081819 - }, - { - "proposalId": 85, - "voter": "0x1B88Bdd5954B221fAC94619d28AB3b0B8c9d35a7", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xcb79dcd809fe58aed2d133d386d31f4201f142a28d1beeccfb3fed4ab446812b", - "timestamp": 1657015223, - "blockNumber": 15081819 - }, - { - "proposalId": 85, - "voter": "0xE41E94b337A461FBbfB1921c89D322A999B920E9", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x7bd8154f8a70a61f9f25536ba5ce1be291775490f9831de7c6ab40de3ef23297", - "timestamp": 1657015252, - "blockNumber": 15081820 - }, - { - "proposalId": 85, - "voter": "0x242F20589E3AA594d5014A58501f376861984f65", - "support": true, - "votingPower": 1.099, - "transactionHash": "0xfd3fb2ff8a5444da9bd9a65fb23541ab4c6c25e860524460a6a813e59bf6d340", - "timestamp": 1657015271, - "blockNumber": 15081821 - }, - { - "proposalId": 85, - "voter": "0x7eC062D194F87022A908f943C86b7b9CAfA23662", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x29b0ef5a42202981cda48dd8a0b78fd5a3c54a024b8f1f79456115c9e6609861", - "timestamp": 1657015310, - "blockNumber": 15081822 - }, - { - "proposalId": 85, - "voter": "0xB8fa465f176A95c9b0C757CaC2985F2164a8e675", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x3de6fd3dc7f227eda3e42848c5ff6cae856aab834075996257c8f65e9ca3fd2b", - "timestamp": 1657015310, - "blockNumber": 15081822 - }, - { - "proposalId": 85, - "voter": "0xd44Bd863D78F4bDd0FB45c5dFA117efDCcb040AC", - "support": true, - "votingPower": 0.305, - "transactionHash": "0xa90fe69c8b2c2464d25e4239f2b738c0fc28ac94a88ac204c0837a128dccf692", - "timestamp": 1657015310, - "blockNumber": 15081822 - }, - { - "proposalId": 85, - "voter": "0x76024694Ed557264719683b0ceAb8Df1a572262e", - "support": true, - "votingPower": 0.119, - "transactionHash": "0xc43a87b6f7dbae9cc13714f65d01cc88975128da953f67a1b4c307de4fa75aaa", - "timestamp": 1657015360, - "blockNumber": 15081825 - }, - { - "proposalId": 85, - "voter": "0x7F7bAc92AA3e28351F9E89535CA334e8A44542d0", - "support": true, - "votingPower": 0.022226255544358326, - "transactionHash": "0xa70f85359f2330963c8edde49b848323ede255a7f71b840a3b254b9cafb43cfa", - "timestamp": 1657015360, - "blockNumber": 15081825 - }, - { - "proposalId": 85, - "voter": "0xbbE1c829931a20b180926C7781B9eCB6A4C91220", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x28f8466f67464b76d2d304e398083bad0e800bd7098026e3c3e6aa8096a7c4b3", - "timestamp": 1657015423, - "blockNumber": 15081834 - }, - { - "proposalId": 85, - "voter": "0x6CAd957812F1bb9aB9364F20cfA15482BcE9DE77", - "support": true, - "votingPower": 0.866, - "transactionHash": "0xb98c9d1af537686149cd70c29f27de0ef2f103bfe9ae11be28323f9bbc20f5fb", - "timestamp": 1657015433, - "blockNumber": 15081837 - }, - { - "proposalId": 85, - "voter": "0x101AfF216865f56E7653b2A0c6f714980606F072", - "support": true, - "votingPower": 0.119, - "transactionHash": "0x9d9a370eaf71102fe860a53d1c3b357bec0a2b8a8b78c4297090406bbf924901", - "timestamp": 1657015472, - "blockNumber": 15081840 - }, - { - "proposalId": 85, - "voter": "0x96409069b740744a084F3D7cd95ec36c72B6E6Fc", - "support": true, - "votingPower": 0.225, - "transactionHash": "0x23602dc705dc3fe8f50225045a0c35e16cb053ed9e40d3d6702ff39c107842c6", - "timestamp": 1657015472, - "blockNumber": 15081840 - }, - { - "proposalId": 85, - "voter": "0x4254c53Fc3b3b38DF025Ea30BcAE410e11bb95b6", - "support": true, - "votingPower": 0.295, - "transactionHash": "0x8a2893bc70286fea1ac9b6dca6c3a95ffe3fea18e27815253b7bf482a7829be5", - "timestamp": 1657015488, - "blockNumber": 15081841 - }, - { - "proposalId": 85, - "voter": "0x2f1F1339481746683c47e8713949e6744e7Ef8Cc", - "support": true, - "votingPower": 0.118, - "transactionHash": "0xc562bae34ec837a31ea15b0d3ccd7e6f74c5e8686f8a7e4173addd1b48c57714", - "timestamp": 1657015496, - "blockNumber": 15081842 - }, - { - "proposalId": 85, - "voter": "0x315E1A5C796B734585c27E615b774441372Fbd08", - "support": true, - "votingPower": 0.009747995406436342, - "transactionHash": "0xb05b64e0fbc7a35c8eb570a3f385bb8f1d42988f475f61a6472b5bf7ed4e6fbe", - "timestamp": 1657015559, - "blockNumber": 15081847 - }, - { - "proposalId": 85, - "voter": "0x9308cf07C7110176179e9A0FBB92C09C032963c8", - "support": true, - "votingPower": 0.119, - "transactionHash": "0xa78041b069386b8954c915a6d85e63724557cf886321913fc6453627996ed9a7", - "timestamp": 1657015569, - "blockNumber": 15081848 - }, - { - "proposalId": 85, - "voter": "0x1bbd33A95889C76931dDCd072c2f74B12cF4AF17", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x4aab40f36150f0e4eef268e82854510860ab17c1b0208f99cbdce3777c49937e", - "timestamp": 1657015588, - "blockNumber": 15081850 - }, - { - "proposalId": 85, - "voter": "0x9afF41a486CB48873C4F55c8ceA4bF35dEe57d87", - "support": true, - "votingPower": 0.275, - "transactionHash": "0x2a1b3b49bbb68ee3252e3fe45315691bbceac71f2a34fd285c200d5d75287252", - "timestamp": 1657015588, - "blockNumber": 15081850 - }, - { - "proposalId": 85, - "voter": "0x2238287464bFD7a2DC2B29Fe4116365E39aA69c5", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x6c8364029a37cc1e7abc62bc5afd71943414b5dfa6017280799fd14d7bb20f8c", - "timestamp": 1657015666, - "blockNumber": 15081854 - }, - { - "proposalId": 85, - "voter": "0x721C7ffFe9aC426A028e616677811F755Fa99EbA", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x7a869906fbb5b246b87c8df8846efb99de2af3641128ae1aa918785f3d995440", - "timestamp": 1657015701, - "blockNumber": 15081856 - }, - { - "proposalId": 85, - "voter": "0x6aDa6454cD458E230C26E8cbA2Ba18b0b41f041F", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x9c0f213dce1e12d0918e1f60c990fb2da55be48880fd9a245ff7aeb74c2d3b9c", - "timestamp": 1657015732, - "blockNumber": 15081859 - }, - { - "proposalId": 85, - "voter": "0x52407A233Ac443e2c43B1cb08aa9f7c50D23708f", - "support": false, - "votingPower": 0.11, - "transactionHash": "0x451f76c5ca976ee7496a70a32215012a3e2b87dce9b2b542d565f887de641a11", - "timestamp": 1657015732, - "blockNumber": 15081859 - }, - { - "proposalId": 85, - "voter": "0x751949ca0E82Da14f6cE1161640684F284e87Ba2", - "support": true, - "votingPower": 0.10114049711720806, - "transactionHash": "0x109dd8f9fa1b0a8b3155d8fb43aefb8442c6d9a95f7290ebecd8429ceb144d24", - "timestamp": 1657015732, - "blockNumber": 15081859 - }, - { - "proposalId": 85, - "voter": "0xa203422D04A6751fe6552354Bd1003cD1003B84f", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x8b30e73b70536a2feea43fc98aea6f55ac551a214a617877d310686f1541a684", - "timestamp": 1657015776, - "blockNumber": 15081864 - }, - { - "proposalId": 85, - "voter": "0xbF3140FE434e3C34B1A44CEd4B8f5d5fac0c2F26", - "support": false, - "votingPower": 0.1, - "transactionHash": "0x453a7e03269c9c9e96cb470279c77ec92281102c0198bba33a6cf3a085bc3a0d", - "timestamp": 1657015791, - "blockNumber": 15081865 - }, - { - "proposalId": 85, - "voter": "0x90c8C94b29A13B9D4D4ebBDE8FcF394052E53EF0", - "support": true, - "votingPower": 1, - "transactionHash": "0x9f222dbc7555e9c0ed121183338ef0c692e28496c4ced0e5a0cdad704ccc5663", - "timestamp": 1657015799, - "blockNumber": 15081866 - }, - { - "proposalId": 85, - "voter": "0xcbf512e5590d45973b5570964A6326Dd442f38Ad", - "support": false, - "votingPower": 0.1, - "transactionHash": "0xb3a176a2bd4ca3a9ef5435d5e7d335ae8473e0f26275ca0dc0472b6177a10654", - "timestamp": 1657015807, - "blockNumber": 15081867 - }, - { - "proposalId": 85, - "voter": "0x43dd14091D6769DB1a14873506132bBd7f04D384", - "support": true, - "votingPower": 0.101, - "transactionHash": "0xca8e3e08423db58190bfdf496a7830a077882d41a179562e5c7b5d049d55eca4", - "timestamp": 1657015807, - "blockNumber": 15081867 - }, - { - "proposalId": 85, - "voter": "0x2C0bAdC1679FB7666E4705Ef3c0084654bc81673", - "support": true, - "votingPower": 0.18486536, - "transactionHash": "0x073b80115719b1b27d63fdf7dd7e06a07f7c23d808dea886d17662317408a386", - "timestamp": 1657015829, - "blockNumber": 15081868 - }, - { - "proposalId": 85, - "voter": "0xc1E7626Bbd01BEFA94E53Bd239D1518Ec55BF293", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x83ef09edec4f31e19d39e793702c2a4775b54ed56fce21c4f854bde63314151d", - "timestamp": 1657015839, - "blockNumber": 15081869 - }, - { - "proposalId": 85, - "voter": "0x98C4A5691E20edCd48C4BD5AFE6527B17f5b187e", - "support": false, - "votingPower": 0.1, - "transactionHash": "0x7577fc42e2dd3420ad67e1c33a0dd9c186e4aad17d0e700b45f1456ba4bc63d9", - "timestamp": 1657015872, - "blockNumber": 15081873 - }, - { - "proposalId": 85, - "voter": "0x17dfD18987B6B131686fea478600b75D11193335", - "support": true, - "votingPower": 1.9476829025784255, - "transactionHash": "0xa5d077312d8ab96c0da344009016f6c94e286253bb0b86463c8c4195b4dd3da0", - "timestamp": 1657015872, - "blockNumber": 15081873 - }, - { - "proposalId": 85, - "voter": "0x39501a8D70Bea6cd9527B9f38E3D5e9079DD8645", - "support": true, - "votingPower": 0.1456318691085253, - "transactionHash": "0x8a19a9ee87a86c6ea0bd34d6021a67fcead9454f56608f738c1c042293b0d522", - "timestamp": 1657015872, - "blockNumber": 15081873 - }, - { - "proposalId": 85, - "voter": "0x0b683590F3F6637a890a4dfa007a229F16897fF4", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xb81e08f773ddbac4246fcae57188c12b4d469dc64ec326cc83c049300ff23d4a", - "timestamp": 1657015883, - "blockNumber": 15081874 - }, - { - "proposalId": 85, - "voter": "0x8864486C1be43143B2Fb2992777bA0B85129f3e4", - "support": true, - "votingPower": 0.1539332465884695, - "transactionHash": "0x3062f017e8b4bb265348d685d5c3de62f4765d1c3a81283c038e3548a9bc8c77", - "timestamp": 1657015926, - "blockNumber": 15081875 - }, - { - "proposalId": 85, - "voter": "0x30E86E9A4e5de3F492d4801f9414751f1EF5df81", - "support": false, - "votingPower": 0.01, - "transactionHash": "0x00ef3c48f85bc287cbb5d31afab804724f50afb869becfa31337ed88b7b9d4e9", - "timestamp": 1657015960, - "blockNumber": 15081876 - }, - { - "proposalId": 85, - "voter": "0xeB40d183FAeC21Ca7aBc4AF1A5AFE59b1e887149", - "support": true, - "votingPower": 0.000782680031896055, - "transactionHash": "0x4d56a1df27037e7b255d22263c74310e1926b288267918ee56df79ac6eda8f6b", - "timestamp": 1657015960, - "blockNumber": 15081876 - }, - { - "proposalId": 85, - "voter": "0x8A8245fC21eB46cC4ACF1a0a1cd6356c6206b514", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xe6a8e3a536583eb1ebfd9ea60d998ded3b8991c2e65807a724418f42973102a2", - "timestamp": 1657015960, - "blockNumber": 15081876 - }, - { - "proposalId": 85, - "voter": "0x9796b9443A3FFbc60eAB64F33E368CC19ebA4F33", - "support": true, - "votingPower": 0.21466, - "transactionHash": "0xf8df08dce0fcfb880fa0c591bbc7659e853aed7362739577f9d0a9352028adf8", - "timestamp": 1657015960, - "blockNumber": 15081876 - }, - { - "proposalId": 85, - "voter": "0xb2502A17c5328C78d2F541BBDaC38CE306e66A66", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x7aa714858be45c9939fc467e49ff65a2edb86bec0ec709e9261a084995c08728", - "timestamp": 1657015972, - "blockNumber": 15081877 - }, - { - "proposalId": 85, - "voter": "0x684DD2bA7b71eE743EA10569B40cF1Fa15264A15", - "support": false, - "votingPower": 0.01, - "transactionHash": "0x367202d4c7f5a53d28356f6362f5a293d87c66a0bfd86272ddcb91eb9ce9c412", - "timestamp": 1657016003, - "blockNumber": 15081879 - }, - { - "proposalId": 85, - "voter": "0x285AB8B73531A59bCB01B7F2028a66aa377e697b", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x146591d09fd7802bb06df078f8b6c37f74e9e392e5efa1c14f32cc5ef72008cf", - "timestamp": 1657016019, - "blockNumber": 15081881 - }, - { - "proposalId": 85, - "voter": "0x4d477F1aabcFc2FC3FC9b802E861C013E0123AD9", - "support": true, - "votingPower": 0.1092903026824001, - "transactionHash": "0xcaad2a6e76ea5e3d325700276284208c88621445d31d08900536e8e2e5d1b72f", - "timestamp": 1657016046, - "blockNumber": 15081882 - }, - { - "proposalId": 85, - "voter": "0x45BEE058F59c3fC2311BFF15C854F37170780ff5", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x614659d43c6272e272afbc0d28ddcec3497a537e1e4fe44865fab693ebd6929f", - "timestamp": 1657016046, - "blockNumber": 15081882 - }, - { - "proposalId": 85, - "voter": "0xE15F010961eFBB8BebeF340029782Da1cbdA8c0c", - "support": true, - "votingPower": 0.03, - "transactionHash": "0x36eb25483bb8f0cf8e3d4dcb47afa970556208691c1d61fa667c2435a354dabd", - "timestamp": 1657016061, - "blockNumber": 15081883 - }, - { - "proposalId": 85, - "voter": "0x56bdee90dc6d484E9191ca4cDe0ccc7dCB6dB48b", - "support": false, - "votingPower": 0.05, - "transactionHash": "0x6fc16c824c7eac28e14d51c58298970f0f01c2b927575a650696453548ef55a9", - "timestamp": 1657016061, - "blockNumber": 15081883 - }, - { - "proposalId": 85, - "voter": "0x3f2b31757f862dEd7B98C6621b53B6656C199e6a", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x8d8912eea1501533e012d69686f4c41799d3c4eba90072cb453cfa841cb844c9", - "timestamp": 1657016111, - "blockNumber": 15081885 - }, - { - "proposalId": 85, - "voter": "0x89862CBBE11A0d5aF808f1428c8D8542e2356044", - "support": true, - "votingPower": 0.1000000140280579, - "transactionHash": "0xa98c1bdf806a51db9595131af77346fd4fb28e24ff91c5c90fdee0ef72bd935b", - "timestamp": 1657016176, - "blockNumber": 15081891 - }, - { - "proposalId": 85, - "voter": "0x88a2D89D44a94f549F14869947f2b443000dddd7", - "support": false, - "votingPower": 0.01, - "transactionHash": "0x4209931a37356284965f631861e8f19d9007e946e5edbfd4795c6b51b15b35c4", - "timestamp": 1657016198, - "blockNumber": 15081892 - }, - { - "proposalId": 85, - "voter": "0x1a9f84935d5a0601e980C7DFe195365CCFDB55f3", - "support": true, - "votingPower": 0.08, - "transactionHash": "0x5bacf98fa5b60c6e940be7ee98429c72449fb526057ce9a6a1c593d95de2e1ea", - "timestamp": 1657016198, - "blockNumber": 15081892 - }, - { - "proposalId": 85, - "voter": "0x45F233399c7E79b459722053cF96CBE7155B206a", - "support": true, - "votingPower": 0.5, - "transactionHash": "0x517bb721843a78429d30955031f4e82d184a1b7800af2077c85e699408fe1b87", - "timestamp": 1657016212, - "blockNumber": 15081893 - }, - { - "proposalId": 85, - "voter": "0x49e439ba390365227bffDa1F759C4D6407e9D3Ed", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xe62043ff3a736bcaa716b838e21ae7951b707c0884c8b17a96a66439351eb85f", - "timestamp": 1657016272, - "blockNumber": 15081895 - }, - { - "proposalId": 85, - "voter": "0xbc26c0f82c30b8b6c28D025FD539Da516Ddbc570", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x03921065670f44a5397495ca88ddafc72acbe7efcd2dc75a13517a9523e123a8", - "timestamp": 1657016356, - "blockNumber": 15081901 - }, - { - "proposalId": 85, - "voter": "0xaB7b49bacd43BD4CfA41433D477F690Bb9E1fB26", - "support": true, - "votingPower": 0.022937704081823, - "transactionHash": "0xd202fcd8c9308a5e814bbc17f2467c5bc5ec8123701013b05bb115d1c7e5caff", - "timestamp": 1657016476, - "blockNumber": 15081907 - }, - { - "proposalId": 85, - "voter": "0x5F8AE1A4D621432c218eC44c20eDb0AB469bCb4f", - "support": true, - "votingPower": 0.15000001246463432, - "transactionHash": "0xcd50e7ad72f237ae674c32859fb7c1e28f42f8d82b01cfb5c3a1475cb5de2327", - "timestamp": 1657016608, - "blockNumber": 15081913 - }, - { - "proposalId": 85, - "voter": "0xeac7824c2F633c53d2acfab0c8E483789b7E10E7", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x2d844eca7fe4cde7ff2a6e3bc2274d44ceb037e3b4528b655bea1129c8bbe35a", - "timestamp": 1657017020, - "blockNumber": 15081949 - }, - { - "proposalId": 85, - "voter": "0x413FD6B18910e516Da68d3292aB9b2DD3A87971d", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x871ff0c397b2487d5e1d8622b3a65ad3c4c99a2e7119e4d40121e05b517ce2a2", - "timestamp": 1657017020, - "blockNumber": 15081949 - }, - { - "proposalId": 85, - "voter": "0x0586cC847C82397C443992fAcDC8cAE0dBa46956", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x84a988b92afe98387a4b5c41ebd5979732cb6861bf835c2743423373a56c0ef1", - "timestamp": 1657017020, - "blockNumber": 15081949 - }, - { - "proposalId": 85, - "voter": "0x03154B9E76B3e6EB27357CcFD638f9Ac9085E8b3", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x3022465d6fc26854a753ecd6a0f8583be2465c39096da841615995250005b77a", - "timestamp": 1657017020, - "blockNumber": 15081949 - }, - { - "proposalId": 85, - "voter": "0x068Db2A4655158Bc61e6147c0015BD2c63b4cf08", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x0e9172d130f052f8e0def663a99560f3cff5d2c99ded9ec525e3e29eda1a99f4", - "timestamp": 1657017020, - "blockNumber": 15081949 - }, - { - "proposalId": 85, - "voter": "0xCDd05baE4c5bA7Dc483d092903aaf3036E91efdF", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x4c0cedd32b998c551b81e762bdc9ac4a8d66e0fd84a81c2533916e2546fa0e4a", - "timestamp": 1657017020, - "blockNumber": 15081949 - }, - { - "proposalId": 85, - "voter": "0x19C3C3823A0D55AfE95499cd7eEF7c496f3C837D", - "support": false, - "votingPower": 0.01, - "transactionHash": "0xf36a0a4f970d033399109d260d3072015f228c79b7274052b7dad64984f59498", - "timestamp": 1657017072, - "blockNumber": 15081952 - }, - { - "proposalId": 85, - "voter": "0x13ac0D7bb293163922Ca296a0c3fb1b236c815F0", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x6f01eee65202ae7440bd01757a902ad40f4d218efe3d8b565d1464e532c419d9", - "timestamp": 1657017176, - "blockNumber": 15081960 - }, - { - "proposalId": 85, - "voter": "0x2B6F8e4B67657260001962772f44339c0fb4E3fC", - "support": true, - "votingPower": 0.10000001411713756, - "transactionHash": "0x0fff54f37c9e79f822c2a6b69bf405864dda8679e524f1e24420d65b0d6fb916", - "timestamp": 1657017229, - "blockNumber": 15081965 - }, - { - "proposalId": 85, - "voter": "0xa0C721bFDa221070168c0B8edBDB9BC83f6e6B18", - "support": true, - "votingPower": 0.077, - "transactionHash": "0x7ef7cb3f762e683da39757b2d8e2db7ee65222cd9587e3eac4e777636e784667", - "timestamp": 1657017229, - "blockNumber": 15081965 - }, - { - "proposalId": 85, - "voter": "0xCcC2C0dABE43fb6540C8edf0e9e8091B25E4e8D6", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x0b138d9a6d0da46e11c8cbe51e49d78f65f152c8b58222fbeffa8001f64d2a1d", - "timestamp": 1657017235, - "blockNumber": 15081966 - }, - { - "proposalId": 85, - "voter": "0xb256d31Bda41C2ab66A0f3DdC2517f2E213B0062", - "support": true, - "votingPower": 0.126684, - "transactionHash": "0xe673f8ecfa5f358c7f013eb9d295d90ea5ec812a1350de7dd888a4024bfe3c4e", - "timestamp": 1657017241, - "blockNumber": 15081968 - }, - { - "proposalId": 85, - "voter": "0xF3B23BB212567c174f356437F98544bf13164436", - "support": true, - "votingPower": 0.06964406022503608, - "transactionHash": "0xa59d31137847a72711dbdf486441e98aa67d9c9b6d158a4a7a40bf93d2a842b9", - "timestamp": 1657017241, - "blockNumber": 15081968 - }, - { - "proposalId": 85, - "voter": "0x4a1d9E3B1a543601a7550D9490Cb41936265F715", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xad7e1ca6504f72f5d644d28fcf7c419618bed1360a751bd568f61c04a9339bee", - "timestamp": 1657017246, - "blockNumber": 15081970 - }, - { - "proposalId": 85, - "voter": "0x6bf3B32C6cD3D657f602347666244377793282e3", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x55061c23e153f9edfac2821a1d24b71cce4f7854d9cdacca66eb6839159ffe62", - "timestamp": 1657017267, - "blockNumber": 15081974 - }, - { - "proposalId": 85, - "voter": "0x211BdE309F20ef784bEF23eFA1a4063643654E4f", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xc3672ad9c3c8790e44e53e9dfa9fc60ed1352fde749d5d51903276eb5faf742b", - "timestamp": 1657017278, - "blockNumber": 15081976 - }, - { - "proposalId": 85, - "voter": "0x77C9e49073d9830723195f3788570c2c36c97688", - "support": true, - "votingPower": 0.05, - "transactionHash": "0x2c0cfeb3184158cdc721cfca661b04013cae4b3287f7a4b468f5a64ed8252e5a", - "timestamp": 1657017312, - "blockNumber": 15081982 - }, - { - "proposalId": 85, - "voter": "0xCAFA92cF95c281f8906987D293eff535600fE73c", - "support": true, - "votingPower": 0.175, - "transactionHash": "0xed540b06021dff46657be03d3f6f49f68466347120e176de346b90b9c1a5529d", - "timestamp": 1657017338, - "blockNumber": 15081983 - }, - { - "proposalId": 85, - "voter": "0xd7E1df3C6d6F974F2AED3d13Cec917217C9A7187", - "support": true, - "votingPower": 0.143412, - "transactionHash": "0x547cbd5a0f9a10022d213854383eb48b35cef6289b2147b52e57b3848c41e7f4", - "timestamp": 1657017338, - "blockNumber": 15081983 - }, - { - "proposalId": 85, - "voter": "0xE5Ef6Efd25bBC351f6De5919C9168FA9F0DBe9Cc", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x8fa08abb149ba07964016144d9e31a5fc8e411947b171e91a26c0788ea8562ca", - "timestamp": 1657017376, - "blockNumber": 15081985 - }, - { - "proposalId": 85, - "voter": "0x05A5787e3Bd8478b9bA08a0eF2036296Bc0eDF87", - "support": true, - "votingPower": 0.042, - "transactionHash": "0x81006256d08d185c98623a4ba629dc01332bb4eab05b97430dab4202cd441f45", - "timestamp": 1657017376, - "blockNumber": 15081985 - }, - { - "proposalId": 85, - "voter": "0x59c2D175B1507a7475F19D1129D6D9B5CC9c127F", - "support": true, - "votingPower": 0.141, - "transactionHash": "0xb3facdbbbef1dea6cdd700d6eac8786f0adf618bdcdb834bd82f29de4e0b4d12", - "timestamp": 1657017398, - "blockNumber": 15081986 - }, - { - "proposalId": 85, - "voter": "0xF74709B52c0E108eCFE56fA364175A779d3C059A", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xd64549399b6b8f5b030a585ad67e099c04ad10d9be37832fb5a4bc58d208b9e4", - "timestamp": 1657017398, - "blockNumber": 15081986 - }, - { - "proposalId": 85, - "voter": "0xB52bCC47404d7860E58ac67436156Cb20B8EBD8b", - "support": true, - "votingPower": 0.3467541080861357, - "transactionHash": "0x8adc85a960bd89b4d211eedcf6252c12cc92c237c6993582caaa34453c25b6d1", - "timestamp": 1657017409, - "blockNumber": 15081989 - }, - { - "proposalId": 85, - "voter": "0x2a8BC27e9312d0Ffb981ceFb6B95C65fa2A9F9D2", - "support": true, - "votingPower": 0.156, - "transactionHash": "0xcfad4186bcb28dcba62f342ad9d2d3753e6600b3c88ec6d1af097e95528476c2", - "timestamp": 1657017466, - "blockNumber": 15081991 - }, - { - "proposalId": 85, - "voter": "0xA99B8111bD91e3FcE42431eC32e621fe5A3f9BC4", - "support": true, - "votingPower": 0.0629971395531562, - "transactionHash": "0x0797e8814ee93adb6054c2f6c436758a78dc40cf92f70db615258fc77420a42c", - "timestamp": 1657017466, - "blockNumber": 15081991 - }, - { - "proposalId": 85, - "voter": "0x6cc41926F264E7a0fAe386A4008888E3f923EE0c", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xf916a69a0ac393f9e88ff0463233066b1c750f8d470b78901d0f1540f3a9cf0d", - "timestamp": 1657017466, - "blockNumber": 15081991 - }, - { - "proposalId": 85, - "voter": "0xAf11b3B0Ea9C697e92ABDa3D89D5c942fd4E335f", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xfa5bc52b9f3da17098ba59286ed134d6f7c0dd808cc41c8e947d3a4b51749094", - "timestamp": 1657017502, - "blockNumber": 15081992 - }, - { - "proposalId": 85, - "voter": "0xc88E12CAB47a1023D7B257a851c46bF7Ea74A3B3", - "support": true, - "votingPower": 0.042, - "transactionHash": "0x46ca5ec5c0ab376fca727f8708be7c5adb64f79b4f3d748f5d242fc5accb07d3", - "timestamp": 1657017502, - "blockNumber": 15081992 - }, - { - "proposalId": 85, - "voter": "0xc0D4c7e637C1AAB378d328f3942D623c9b333aAB", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x2fd38e7a4a4bf983d16002b4a3cfe9f4ab0953408436bcca229fbfb13c6f8cb4", - "timestamp": 1657017552, - "blockNumber": 15081997 - }, - { - "proposalId": 85, - "voter": "0x274Fc04A6A4C6504F692b94bdb089C7ab2106dFD", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x7ea2d9d2edd5e38341c2f6c25b6fa82ee2bb491dc297bf9ed065de912a444ab0", - "timestamp": 1657017563, - "blockNumber": 15081998 - }, - { - "proposalId": 85, - "voter": "0x527043Fd0EcF2574a00E9625cEf0503115cf8F3B", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x221607033c64c35f243418da24cf9510d7788cf2bfbe62da56b4ac773fb69685", - "timestamp": 1657017634, - "blockNumber": 15082003 - }, - { - "proposalId": 85, - "voter": "0x422875df5170A421897e6Af87D77Fc1a78ba2D1C", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x3f7d8f79c4cd4e8d518c7573c2f98cadd35abd676df7800f55faa1154b44f022", - "timestamp": 1657017634, - "blockNumber": 15082003 - }, - { - "proposalId": 85, - "voter": "0x3790EcFFb4e44EFBDd8e29A432C5C3aa93de436A", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x8e30e88a56b708567d0613f3726fe6dd6df4c9ad4925354e375198cfd5e7ab2b", - "timestamp": 1657017634, - "blockNumber": 15082003 - }, - { - "proposalId": 85, - "voter": "0xE67F1c66e8881742D21F845684b26fF806Efc9a8", - "support": true, - "votingPower": 0.042, - "transactionHash": "0x65893bf3a660e66aef66a48b9dd8fc818f7d1c6a2fa4da137a5e4fe8674b5110", - "timestamp": 1657017634, - "blockNumber": 15082003 - }, - { - "proposalId": 85, - "voter": "0x8382B08Aac3C64790034F8BAde6f39394fa222ac", - "support": true, - "votingPower": 0.04, - "transactionHash": "0x0132a0bb35370123e93eb979874a774bce22969e50da509d15c2828e9eeb7e05", - "timestamp": 1657017664, - "blockNumber": 15082004 - }, - { - "proposalId": 85, - "voter": "0x457F1c682E3B0026FAa5F58391993C37bb9cC7F6", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x2e43d59765171e86492a20d05e54f08e3e10c900788e790b6205911f9e831935", - "timestamp": 1657017669, - "blockNumber": 15082005 - }, - { - "proposalId": 85, - "voter": "0x0859be3FED836fb396A6Ef5aada8293f0a2c7F2F", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xb7a7511b1267377c23549ce2acb20f2835ecdc92924e49e27cc8ce7bfbf26603", - "timestamp": 1657017834, - "blockNumber": 15082008 - }, - { - "proposalId": 85, - "voter": "0x564ceF44E7F51ed4e3800267C4D854c3d95E3900", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x2591b120c501f6ee27bdafc68efd3b5b86f92a3bba71f58b6b8d41a7d9b69c6e", - "timestamp": 1657017879, - "blockNumber": 15082015 - }, - { - "proposalId": 85, - "voter": "0x9Adfd762D997bd382028A579Bb68bDD49d97493c", - "support": true, - "votingPower": 0.0849791, - "transactionHash": "0x427bd43dc40a8e3353d811245781b6aab396bab9aba07e2edeff96ee705ee134", - "timestamp": 1657017884, - "blockNumber": 15082016 - }, - { - "proposalId": 85, - "voter": "0x70344a1f4965BdcEFdDdD6269025BA3B869550b9", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xe745aae0006c932d25dcf117f1ea19a6733fc975692a14b356bddd3bd98519c9", - "timestamp": 1657017921, - "blockNumber": 15082020 - }, - { - "proposalId": 85, - "voter": "0xCDf18EDa56c2526FA50Af04bc4eCA9cB4ce68c39", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x1588e6a38d455246164a942d99110d543c587e6af3aad0bd9084a2f6d68c7e23", - "timestamp": 1657017946, - "blockNumber": 15082022 - }, - { - "proposalId": 85, - "voter": "0x4270783A1d4E97E2249cA64B97BD29b8896E1cf8", - "support": true, - "votingPower": 0.0949772, - "transactionHash": "0xd2cbcbe7c63c489239e883ea5509836f44e8087f7ea3ed1190a0c899ee234d29", - "timestamp": 1657017959, - "blockNumber": 15082023 - }, - { - "proposalId": 85, - "voter": "0x451195ECfb60d71593276642c4d669BEDce127D9", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xdeb56eb4ed0a62c85c8fc22add335091106f372b3504a66d604e8cc3d2bd83b6", - "timestamp": 1657017974, - "blockNumber": 15082025 - }, - { - "proposalId": 85, - "voter": "0x0B844de0132C9c5D780379D0201Ba3edf6538754", - "support": true, - "votingPower": 0.015, - "transactionHash": "0x668603c10c611016c315cdb2ffb8086bc33bb70105936abd8bc91866693e872d", - "timestamp": 1657017974, - "blockNumber": 15082025 - }, - { - "proposalId": 85, - "voter": "0xc850bE64F338e4C50de8a8158D15E673823B01C4", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x0fb8df9c33434139a9871905cff063345c518067f3a766bed0baf85e3d199ef1", - "timestamp": 1657017998, - "blockNumber": 15082026 - }, - { - "proposalId": 85, - "voter": "0x22d88c0822D2A0a31d1b02F8a328d9C87880daC0", - "support": true, - "votingPower": 0, - "transactionHash": "0xd82b42368e149f2ce2064c90b885d925adab6da93c94528cef9b5498319fd606", - "timestamp": 1657018009, - "blockNumber": 15082027 - }, - { - "proposalId": 85, - "voter": "0xa31e0765Ba50b834bF14b38fffebBBe65a04bDf7", - "support": true, - "votingPower": 0.1049753, - "transactionHash": "0xff73d0909b76bd1209109975012061aaa2edd2021bb7462d7227ee45cab4d646", - "timestamp": 1657018009, - "blockNumber": 15082027 - }, - { - "proposalId": 85, - "voter": "0xa670f0C4F1bdbc1089Cb75774ac7230037b6DBB9", - "support": true, - "votingPower": 0.05, - "transactionHash": "0xb08bce7844df89452af8b8cfefb88311f5a0b99e26497515f1c69f906af4dc01", - "timestamp": 1657018047, - "blockNumber": 15082030 - }, - { - "proposalId": 85, - "voter": "0x597fc897b6AB221c18Cf51A31Cef41285597aEf1", - "support": true, - "votingPower": 0.225, - "transactionHash": "0x1f1a55f5d6a73f027eaa6e754c94ea2125a2af8a9afa189e0a76e8831e31fb03", - "timestamp": 1657018047, - "blockNumber": 15082030 - }, - { - "proposalId": 85, - "voter": "0x6D25a1e9e176AB058E0f19e67bCbcaAc2be96fA9", - "support": true, - "votingPower": 0.2150227, - "transactionHash": "0xbf44a46fafda0a75b3c324640cf4d624e1742a0de80dc8b4ef208e716ff454c2", - "timestamp": 1657018073, - "blockNumber": 15082031 - }, - { - "proposalId": 85, - "voter": "0x0F7974Fc4a15ad9E0C177748264BEEa72AF7749A", - "support": true, - "votingPower": 0.113, - "transactionHash": "0xe6f9ba7aa2f3da8a9d654572977e0dd785ea9baa23703ed689fef769afc288a7", - "timestamp": 1657018164, - "blockNumber": 15082037 - }, - { - "proposalId": 85, - "voter": "0xc4fb550FA8F2A6e5178711e56D5b48DEdF897e5e", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xb199d07b98e37fb28165bca8b926b13da0e03a94835925d8ffe784a4a1b6b585", - "timestamp": 1657018169, - "blockNumber": 15082038 - }, - { - "proposalId": 85, - "voter": "0x310C58A54A13a4975BA5D27530Ea8a8fF6F2FCa5", - "support": true, - "votingPower": 0.005, - "transactionHash": "0x463bbbe5a8e88d87a98d9b18740d7a5fad81d45018ff1c93f5444db7e5a18e99", - "timestamp": 1657018173, - "blockNumber": 15082040 - }, - { - "proposalId": 85, - "voter": "0x76EC2F3d9628dCC71E55178DbF26e8a19C5Dd4bA", - "support": true, - "votingPower": 0.135, - "transactionHash": "0x4fbe18c509aee044582379b62416b639245adf87f67869422b770d0048d8e1ac", - "timestamp": 1657018205, - "blockNumber": 15082042 - }, - { - "proposalId": 85, - "voter": "0x53aA991b2A2a1b6Ce7b54747b9bEA230C61603Bf", - "support": true, - "votingPower": 0.035, - "transactionHash": "0xeebb350ba39883326164483f49194ea7afa49cee38c12f1889115cd7dcb2192d", - "timestamp": 1657018236, - "blockNumber": 15082043 - }, - { - "proposalId": 85, - "voter": "0x56BB16b51f235B3533F691D34c041DBff5732930", - "support": true, - "votingPower": 0.101, - "transactionHash": "0x02bb9c648f3d0ac3ba098183db58c008e5fda577fa274a5a98d4a9caa7df3d4f", - "timestamp": 1657018271, - "blockNumber": 15082050 - }, - { - "proposalId": 85, - "voter": "0x325b3EdFe868631C77cca84FD3570a52e324837E", - "support": true, - "votingPower": 0.11, - "transactionHash": "0xb10bae194efbb60f758819f05976ef57fa3fc2d6b779b4346bf6c1c936277ee7", - "timestamp": 1657018271, - "blockNumber": 15082050 - }, - { - "proposalId": 85, - "voter": "0x4D371fa1F20B4bdfB97bBE1f52677FD96E711232", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x08ee381feb05ab1842fd12d3946c12760f3aa291dbb8b9a3e61f8ead88597c57", - "timestamp": 1657018369, - "blockNumber": 15082058 - }, - { - "proposalId": 85, - "voter": "0x7d1F72D49397b0506152aD90a8F23f1C641a5C40", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xb4862d40beb2b18bf7f7649901c16a444493bee384a0fae90d02840efea8668c", - "timestamp": 1657018402, - "blockNumber": 15082061 - }, - { - "proposalId": 85, - "voter": "0x4d3875545893e21BaE6F1E0aB137CC2D9451BfCc", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x9c3e4dd5af4344a92397e35bd9d79d0080a65ccf98557490670beeb6ef97ec69", - "timestamp": 1657018475, - "blockNumber": 15082066 - }, - { - "proposalId": 85, - "voter": "0x7977B909D55a53F9c73140f7F611EaF0638238Ed", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x72c0f0db56f7abe8500ace4813da6e207f489a17419dc277b922e5c23e816c0e", - "timestamp": 1657018499, - "blockNumber": 15082069 - }, - { - "proposalId": 85, - "voter": "0x8D470921050899284b451d6a65f4204Eee4aaf8f", - "support": true, - "votingPower": 1, - "transactionHash": "0x42a2656b7314be6b83e2a6229bc2bdc9baf4c6a6532a52850e5087779b0b360f", - "timestamp": 1657018537, - "blockNumber": 15082070 - }, - { - "proposalId": 85, - "voter": "0xA3F066285ad422407acbF6765FC1a71505bc610d", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x9b15a32bb2034745bd45c7c807205778e6fd11116b235dd36a9eb1717fc20c0a", - "timestamp": 1657018650, - "blockNumber": 15082079 - }, - { - "proposalId": 85, - "voter": "0x9859F916C7B46AEae52BEe615F93f2f4641bbE6E", - "support": true, - "votingPower": 1, - "transactionHash": "0x11619ac46c8df9773d6fe2d35bfb8de83b173ccc8eaae46a7733c52b1e4335a7", - "timestamp": 1657018650, - "blockNumber": 15082079 - }, - { - "proposalId": 85, - "voter": "0x0586fCc2D0d400596Ff326f30DEBAa3A79E33C25", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xc7a68f0b582ec8904a8bfb5f2063282bce4313c189ed98c5026f608d388b7770", - "timestamp": 1657018671, - "blockNumber": 15082080 - }, - { - "proposalId": 85, - "voter": "0x696D181A7961EE66C42f1EBeDDc0B48B106C45ad", - "support": true, - "votingPower": 0.5, - "transactionHash": "0xd9ed3fbf53005a9014334b0f2dd445692b77b772344ca803e86eb56dc05d0946", - "timestamp": 1657018671, - "blockNumber": 15082080 - }, - { - "proposalId": 85, - "voter": "0x2805DdF1DFEDeCa06752907F493F5A5c9bb2C902", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x20de9cf4d5e02ec1d5599d3386420b38ce0e08b7236587a3deeaba109fc94ba7", - "timestamp": 1657018730, - "blockNumber": 15082086 - }, - { - "proposalId": 85, - "voter": "0x874d561AFa3E120BF9bd2AAd7A435cf0D4656989", - "support": true, - "votingPower": 1, - "transactionHash": "0x28d3a6a8c058f5e266270502aef35dd24c9754a359790385f066e0ed604a6346", - "timestamp": 1657018730, - "blockNumber": 15082086 - }, - { - "proposalId": 85, - "voter": "0x72dDc7cf64f8b5c899262674f565E5A4d759d886", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xad9cd9e457589c25baac364ce25a1a528ef919115462ed23129a2fa12650c6c0", - "timestamp": 1657018779, - "blockNumber": 15082090 - }, - { - "proposalId": 85, - "voter": "0x3444660F13cfE85Be0e5ea5D2eA75d5CB1bB7C27", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x95443b546963dd3299a84923d861ebd881fbb43b14ac6ae33232307233e4771c", - "timestamp": 1657018841, - "blockNumber": 15082094 - }, - { - "proposalId": 85, - "voter": "0x67149c6a2aa490636948b084d88DDE8A958CA269", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xb27c1213883d0565a56c04ce2ce599d95d1f1e2bee63ffee4eb251504ea53162", - "timestamp": 1657018879, - "blockNumber": 15082098 - }, - { - "proposalId": 85, - "voter": "0x938a49E24fD7A26149Dd537019078D8a8F919290", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x80c6e299f118b8b3a9353e8ed63b0b4561db5bd5942d273b3675dca0b2dffd75", - "timestamp": 1657019311, - "blockNumber": 15082133 - }, - { - "proposalId": 85, - "voter": "0x24777CA8E50C9cEC03b89aA65EacdAC5279DB7a8", - "support": true, - "votingPower": 20.000000000000814, - "transactionHash": "0x7314b720f6d7ba8dc8aa27fe745dd264047d6329a43c4e97cc5ee4f517593d4e", - "timestamp": 1657019407, - "blockNumber": 15082142 - }, - { - "proposalId": 85, - "voter": "0x43F6943EC98e1714af1caA45B150f7b999Ee6045", - "support": true, - "votingPower": 0.015, - "transactionHash": "0x7781508e647a42a8c0a3c1f0090255706225b80fad424be4651730ef3c5f1211", - "timestamp": 1657019515, - "blockNumber": 15082152 - }, - { - "proposalId": 85, - "voter": "0xdBf6473bB963727c18A4dDf21dBb9183005371a4", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xc9ac6f564fe352894b439cc4de72a4e8915ce23be4a2992da66c45fde42cb240", - "timestamp": 1657019550, - "blockNumber": 15082153 - }, - { - "proposalId": 85, - "voter": "0xf4714989E3a1055ef9C469B1Fb6a623734e52Da8", - "support": true, - "votingPower": 0.475, - "transactionHash": "0x7bc53e05b6651910556c798bc0f270b61fc3963ba5819cfcdad8e4aadac9d69d", - "timestamp": 1657019550, - "blockNumber": 15082153 - }, - { - "proposalId": 85, - "voter": "0x8fA3232FF0a45De66F1810096189A0f6f4ea8724", - "support": true, - "votingPower": 0.11705775248737449, - "transactionHash": "0x35e959121411345423ce1b792faf4e3d4622dc86ea9f71e672a5186d014ef781", - "timestamp": 1657019570, - "blockNumber": 15082155 - }, - { - "proposalId": 85, - "voter": "0x1F2910331D564341ba9a9762f2B7eCA182230b2F", - "support": true, - "votingPower": 0.01017141, - "transactionHash": "0xeb5e38e7e0c40105bdf9e720cf58653a48d9c8c0abd1a590ee030a786ed79025", - "timestamp": 1657019739, - "blockNumber": 15082158 - }, - { - "proposalId": 85, - "voter": "0x5Ad75f8b6A44734a886c5EBb2E999971fC8A1d5F", - "support": true, - "votingPower": 0.01019894, - "transactionHash": "0x823c12ce48efec8fa9c9c834957103e84102e3d876514ed821c8f5cb0c470e34", - "timestamp": 1657019739, - "blockNumber": 15082158 - }, - { - "proposalId": 85, - "voter": "0x87AB51bC3616ADa5D988C5BA2c60771c2a11BdCa", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xe522cc4df556b727ac42253b8ea6ee806e2db46a8b68ae6d0b35fbd87a82c95b", - "timestamp": 1657019739, - "blockNumber": 15082158 - }, - { - "proposalId": 85, - "voter": "0xcD01A3acED67e266be21117376C7025B384Cd4d7", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xd98b5963e5d828f3572e0a124b1cf15af6980c37c09d97dad96e4bd8b349cd2f", - "timestamp": 1657019833, - "blockNumber": 15082166 - }, - { - "proposalId": 85, - "voter": "0x272781144d28498C20ba567B3dE6eb5367B8A024", - "support": true, - "votingPower": 1, - "transactionHash": "0x653bc47f8bcc18eadbb70e35f278934368f3b06728f87e3c7657f4b05559f6ff", - "timestamp": 1657019833, - "blockNumber": 15082166 - }, - { - "proposalId": 85, - "voter": "0x9622d9a65e80f48F7d93cb8D41D1a3626cb0949E", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xcc843c1c516fe5a8d53bae37a02efa5b10f13a0561e4fd96646dfbee01596871", - "timestamp": 1657019892, - "blockNumber": 15082172 - }, - { - "proposalId": 85, - "voter": "0x1281D407Eab37452B4BfB2e2777DB6dc9697756b", - "support": true, - "votingPower": 1.0195095381164005, - "transactionHash": "0xc63e58f01e165aec920307f087232a9df789e836d6384ab2de83f06a1383536d", - "timestamp": 1657019912, - "blockNumber": 15082173 - }, - { - "proposalId": 85, - "voter": "0xb8C2C0Aa32a95351ffa9450509C62379a42a4f87", - "support": true, - "votingPower": 19220.736395967462, - "transactionHash": "0xa912b5fd1f3e95f624a16f932c42c7a5d0c330f406f82809439d838927c0b2af", - "timestamp": 1657019912, - "blockNumber": 15082173 - }, - { - "proposalId": 85, - "voter": "0xd896c64FAE3F8eb6b0C09Cb0D26D56C0d2D695A4", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xa83f8004856eace9314716ec20c021e019f5b7df9c0bc13f37906a8f0307fd28", - "timestamp": 1657019986, - "blockNumber": 15082176 - }, - { - "proposalId": 85, - "voter": "0xdBa50697eC0e46DF001286f122068682CcF77204", - "support": true, - "votingPower": 1, - "transactionHash": "0x07dcd838253ae92203938a07e71b3ba8ddfcc6c940b95e616e18aa1101ded247", - "timestamp": 1657020054, - "blockNumber": 15082179 - }, - { - "proposalId": 85, - "voter": "0xEE1A89411b6588c415402Cedf988c7171695Db77", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x1eee0eebe0b6c94317da162f0d475a00e71ceded6453995441ff50c7fd2ca6e0", - "timestamp": 1657020054, - "blockNumber": 15082179 - }, - { - "proposalId": 85, - "voter": "0x6face1420A8683be8341a2F43E29469199E54bEe", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x47ed306eda45d7f646ba461c2c9daf66e705818e59d4afa3c4baf52306e82e4b", - "timestamp": 1657020159, - "blockNumber": 15082188 - }, - { - "proposalId": 85, - "voter": "0xc770F7c87e6De9d599da1DA41e41B3Bf8B55CdAc", - "support": true, - "votingPower": 0.2983, - "transactionHash": "0xfe43c687cf7f292172d72b2336721c93587953cc571743d3cf56e39b6ae75667", - "timestamp": 1657020195, - "blockNumber": 15082189 - }, - { - "proposalId": 85, - "voter": "0x87A427C0A3508705F7f7D0C8b90E270f4f3d8268", - "support": true, - "votingPower": 0.5, - "transactionHash": "0xe5cb0a63bde96867c2db72eb7931f78c7520127a69641b7a0ac69c45d9cd6d2e", - "timestamp": 1657020230, - "blockNumber": 15082190 - }, - { - "proposalId": 85, - "voter": "0xd8742073F4F44d0046916a9B62A955A36e0c0e5f", - "support": true, - "votingPower": 0.16327328778861241, - "transactionHash": "0x928faa7094694e2bd650ee6af82d220b906d49432035f546b5bd3722d4145350", - "timestamp": 1657020308, - "blockNumber": 15082201 - }, - { - "proposalId": 85, - "voter": "0x07Bb16934f1a5C3080c248F53717b7e14A2B860e", - "support": true, - "votingPower": 1.004999274407501, - "transactionHash": "0x19d3c48ab4505580373a67b7e243da459dc3345fc21e69801a80f7afdd7bdd45", - "timestamp": 1657020312, - "blockNumber": 15082202 - }, - { - "proposalId": 85, - "voter": "0xC9641B6096b48fD54C472F62ed82d7554043101d", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x45bd742b348c44491ad816ea5f2422906c1b6a9d15e59a769d2161025e459ed4", - "timestamp": 1657020328, - "blockNumber": 15082204 - }, - { - "proposalId": 85, - "voter": "0x397ac9aa39E3B76E3a10de427a79131524e6339E", - "support": false, - "votingPower": 0.0001, - "transactionHash": "0x4cf29c9a1c8c2c645b7605a755b18b9ea553ea29e74e68def522dea116f4c278", - "timestamp": 1657020405, - "blockNumber": 15082212 - }, - { - "proposalId": 85, - "voter": "0x64B5F9Dd6f23269B966A4c3717e150A6Dd264851", - "support": true, - "votingPower": 0.505, - "transactionHash": "0x6eb733f3ef0e79ea2fb07092ec93dc6ad18c86c2dd0b2c0ef2048e7fbb1d9d57", - "timestamp": 1657020426, - "blockNumber": 15082214 - }, - { - "proposalId": 85, - "voter": "0xE31B9B3E5b631a55521b3706a7A8B67dc8C91f79", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xd495290821d0dd019949bbeac7a216611ea7713a9ece0dcf211fe1bb6a3ee07d", - "timestamp": 1657020445, - "blockNumber": 15082216 - }, - { - "proposalId": 85, - "voter": "0xE03E0eDeED53C91F3716Cb52E6B9CCA4D3916CE2", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x43b7e0d7338d5b431c63bb836eac2083f32bbea09e22ffaa59d1b380342d0a94", - "timestamp": 1657020469, - "blockNumber": 15082217 - }, - { - "proposalId": 85, - "voter": "0x03A1Bd9951d51e7d6D9EC79F931F204e11c58492", - "support": true, - "votingPower": 0.105, - "transactionHash": "0xf2e27307d0c6fbc8c0eb4c2a62eb2f9ff19548359840cc7450fe3bc7d17eb122", - "timestamp": 1657020484, - "blockNumber": 15082220 - }, - { - "proposalId": 85, - "voter": "0x613cBCf28A11Ae2D81789128D7D1cd0B162e1797", - "support": true, - "votingPower": 0.104, - "transactionHash": "0x1f54171b3dda971975b1780990bb6c42f91cf8ecfa636f046ef6aa63f78de4b8", - "timestamp": 1657020484, - "blockNumber": 15082220 - }, - { - "proposalId": 85, - "voter": "0xBC0D3587e752F10BACCE62d082577C4C5bC2b146", - "support": true, - "votingPower": 0.015, - "transactionHash": "0x23b3ed5b03722fe5795f61be8267ded856ea845c6bcce946cf9bf9c92ce48d90", - "timestamp": 1657020484, - "blockNumber": 15082220 - }, - { - "proposalId": 85, - "voter": "0x8343D0C4B0b56b111FBCD22bffC48cd0D39Ddc44", - "support": true, - "votingPower": 0.103, - "transactionHash": "0xebdd3718b22798c5fd3a010fd54c67b9220949c642bc2efd666c72fc9b096ebb", - "timestamp": 1657020484, - "blockNumber": 15082220 - }, - { - "proposalId": 85, - "voter": "0x4304ECB5504e1790C8F4d5Ab2A03B85C466824b5", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xd9365a990aa4ae61b4df91b7585b32dc830a602cb4a33f36d3c4b833918d06db", - "timestamp": 1657020494, - "blockNumber": 15082222 - }, - { - "proposalId": 85, - "voter": "0x843aa999827ae6d187F8a5b6ab4afB1B1597551D", - "support": true, - "votingPower": 0.02187195, - "transactionHash": "0xc996a268a649a10c44f0ee27b8fe922bbbf4ee62f3b33b16b762b4079144e946", - "timestamp": 1657020605, - "blockNumber": 15082232 - }, - { - "proposalId": 85, - "voter": "0xcC1d0f888fFd519b23eA6d0396568EB2bB9ee371", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x02e4d12c742d890ddea91c5ff3dbdd8066e4da5c382015ea7965764ca0f737f9", - "timestamp": 1657020688, - "blockNumber": 15082234 - }, - { - "proposalId": 85, - "voter": "0xbEE3C272ad4215cb352291af334dDC014BB3c20b", - "support": true, - "votingPower": 0.5, - "transactionHash": "0x96a4e4ff0b66bf33a7632fd11d7e93cbe2ad58dbef33b1a65fa2c0edef5d87cd", - "timestamp": 1657021534, - "blockNumber": 15082298 - }, - { - "proposalId": 85, - "voter": "0xcD75942b66C1a82d7e04f65A34cE7f93791fA8A8", - "support": true, - "votingPower": 0.495, - "transactionHash": "0x002352355892204b58c83c57d65f0b676f67f446718842aac452241650e8cd81", - "timestamp": 1657021598, - "blockNumber": 15082304 - }, - { - "proposalId": 85, - "voter": "0xAEc2e770042682BD086e27A87A1eD2D75A5c8d15", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xe9dca0ec133eda47b04e388cb7a2d8193f3626897033d795389f9c054e0603de", - "timestamp": 1657021671, - "blockNumber": 15082309 - }, - { - "proposalId": 85, - "voter": "0x015566197d36a8272e5d6AEDeDF075AE9eb041E2", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x70a02f194a8aa3df717f7281d57129a3f85d0e10cda0e8852336fbd92fdbdd0c", - "timestamp": 1657021685, - "blockNumber": 15082310 - }, - { - "proposalId": 85, - "voter": "0x1ccb144B700EC726d37Db38c617E154De6d9c0d0", - "support": true, - "votingPower": 1.0203125673532307, - "transactionHash": "0x79faef44687eb69353b8262a8594791870565861550d1508fa8c041c076c46b9", - "timestamp": 1657021767, - "blockNumber": 15082316 - }, - { - "proposalId": 85, - "voter": "0x0e4cb981Aa087847eF0C9F0C0989d884a86D04c3", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x7512c041797dd44ee1c92adddd4d8769d37e28cbd3e3036ebf03040cfa7fc381", - "timestamp": 1657021819, - "blockNumber": 15082321 - }, - { - "proposalId": 85, - "voter": "0x3b59e42d9F33906fF58813f9bb8be58b185d22F2", - "support": true, - "votingPower": 1.001, - "transactionHash": "0x1e89031e94568d199f2e05c7fcc5d92635fb63153f345abf86d33a205715317e", - "timestamp": 1657021911, - "blockNumber": 15082329 - }, - { - "proposalId": 85, - "voter": "0xAd05B50B71D1C05e3309e9f99E633A21741b77D9", - "support": true, - "votingPower": 0.17, - "transactionHash": "0x9bfd20d058d1b5e867b8cb19f39ddb7ca57e0aa5ee4e9cc0deacad75fb989796", - "timestamp": 1657021934, - "blockNumber": 15082332 - }, - { - "proposalId": 85, - "voter": "0x335D2d954CEc61Cb4673780300d890340A29Dd99", - "support": true, - "votingPower": 0.495, - "transactionHash": "0xc3e12706f906858bdbcba918528bc149a76eb05214c124cd0e129d9b199bd323", - "timestamp": 1657022080, - "blockNumber": 15082344 - }, - { - "proposalId": 85, - "voter": "0x70b865272aD41899E4498eCe22c05d044C42870c", - "support": true, - "votingPower": 0.09, - "transactionHash": "0xbbd221df8c222f59edd89a607df4d1ed7ca9a0a055fef33406d9d7b4a45dce28", - "timestamp": 1657022166, - "blockNumber": 15082350 - }, - { - "proposalId": 85, - "voter": "0x3B142E585a085432DE2B978D3b7D9aB3aD211632", - "support": true, - "votingPower": 0.3096658, - "transactionHash": "0xc2584eb01a871285f6a1d7724684d90be838ca2e20540bba3e850fd3d4c93acd", - "timestamp": 1657022166, - "blockNumber": 15082350 - }, - { - "proposalId": 85, - "voter": "0x54914F8BB055565e1447c4a1739124C95ba9B141", - "support": true, - "votingPower": 0.05, - "transactionHash": "0xf230df4579d092614af1221bae571a60610073da585de117867742d98ecf7eeb", - "timestamp": 1657022226, - "blockNumber": 15082357 - }, - { - "proposalId": 85, - "voter": "0xabf228a632fE4340e18d76B89E6fD79352290b5b", - "support": true, - "votingPower": 0.03, - "transactionHash": "0x012171f50c2168caab9047648c91afcc3add11f8a5dec68f38393dd19c89f290", - "timestamp": 1657022308, - "blockNumber": 15082363 - }, - { - "proposalId": 85, - "voter": "0x3948422f8998189C64928D5468a49aE63Ce7E3D6", - "support": true, - "votingPower": 0.05, - "transactionHash": "0x9c26ae5d527d4dd5ee6530f8378a6b83922c0b349bf054a36bf7efef52210976", - "timestamp": 1657022433, - "blockNumber": 15082373 - }, - { - "proposalId": 85, - "voter": "0x55507877D1f1C8254937FcCd28745c2D4927BDcB", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xc194a43a09a8c347ccc16d8f0bb66f0afcf9383ab90bceabcb49ed91d61dbad6", - "timestamp": 1657022441, - "blockNumber": 15082374 - }, - { - "proposalId": 85, - "voter": "0x91F7C7dC5a44276482c102178fe1d620B397c276", - "support": true, - "votingPower": 0.495, - "transactionHash": "0x6661faa194c3ff50b2acc701b365bbf8b3a5e5c2b1835e76cc0681b26d69c196", - "timestamp": 1657022616, - "blockNumber": 15082391 - }, - { - "proposalId": 85, - "voter": "0x8F7612ec23b73c7a2d9510eB86b82202C1549061", - "support": true, - "votingPower": 0.015, - "transactionHash": "0x413b2a52e07b05708b7aefe9e71eff952f49fed715384c3b476f713eb8104df6", - "timestamp": 1657022755, - "blockNumber": 15082403 - }, - { - "proposalId": 85, - "voter": "0xaC7Ec5Ef22b13a00422d6B04829ee993F5c96e1b", - "support": true, - "votingPower": 0.075, - "transactionHash": "0x8be7b49b3206b4376628c06cfa135f274f43ca3a0780529be3dfabab4e77aebf", - "timestamp": 1657022803, - "blockNumber": 15082410 - }, - { - "proposalId": 85, - "voter": "0x7F4cd9A1812788eE565CD065334879D04454Cf57", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xe7926c2579d4a762114c8161437ddd69ac46fafe30c7fe3caec9cf9ae4572ef0", - "timestamp": 1657022832, - "blockNumber": 15082411 - }, - { - "proposalId": 85, - "voter": "0xdCd9d4403FD34cAEC239433721eD80d90e761F82", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x1c7f5488b1c9c6ac6e46a728ce25e26d2ad13e7064e7bfa5303a9eda634015b2", - "timestamp": 1657022842, - "blockNumber": 15082412 - }, - { - "proposalId": 85, - "voter": "0xFa0C3a490Ee63edf277d15bF171997f3306d0520", - "support": true, - "votingPower": 0.075, - "transactionHash": "0x6974c432583dfb2a0a16aa22cde5e7f8ab0511207def3eb67f20fd670fa6e795", - "timestamp": 1657022848, - "blockNumber": 15082413 - }, - { - "proposalId": 85, - "voter": "0xd04048989a2bb05d9b5E7D4f9278D75DBf33327C", - "support": true, - "votingPower": 0.12, - "transactionHash": "0x5d91b6922b71b11fc9adbf68a423497372bb0774fc6d01c45a81c5594ecd9c43", - "timestamp": 1657022848, - "blockNumber": 15082413 - }, - { - "proposalId": 85, - "voter": "0x489243703959e200099B8cbe3BFDD86f13Ce6Be1", - "support": true, - "votingPower": 0.075, - "transactionHash": "0xdaf4eeede09cccad684179e9c5c2c18537322f34255fac2605ca2df839eed775", - "timestamp": 1657022848, - "blockNumber": 15082413 - }, - { - "proposalId": 85, - "voter": "0xa2277F4aE7e6380De426fa334B05D4CEb39F1d47", - "support": true, - "votingPower": 0.1974612, - "transactionHash": "0x0f2084dd0bcf1996bb87244ed2a70c0b433854f03c98cf1d799ecfdc50acde9f", - "timestamp": 1657023069, - "blockNumber": 15082433 - }, - { - "proposalId": 85, - "voter": "0xD2E1b76f81b71304DaCEec93F7D55d0A2AbE2307", - "support": true, - "votingPower": 0.51, - "transactionHash": "0x39193ba29c2a2da7dce89e07c18d488b72f801f31a4dc9bd37ec80f965b5216c", - "timestamp": 1657023184, - "blockNumber": 15082443 - }, - { - "proposalId": 85, - "voter": "0x1684C382352FA8992E2d12264b08CBFd8E06b7b1", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xa91bef224d8c0c0d853aeefa3584b45395f66ca23d2470514d69c09b6bc106f0", - "timestamp": 1657023635, - "blockNumber": 15082473 - }, - { - "proposalId": 85, - "voter": "0xB2F456886367c8e50566377ec6d9293D4Da5bb81", - "support": true, - "votingPower": 0.8, - "transactionHash": "0xe135ded6377eedf299fb807160c3195e550a4ee1617a5e516c068099010cefc4", - "timestamp": 1657023984, - "blockNumber": 15082503 - }, - { - "proposalId": 85, - "voter": "0x6a4a5B7F9913575A1006ACd77F6CfD6CC97df091", - "support": true, - "votingPower": 0.283746, - "transactionHash": "0xee6bab00b70ecaf39ba6ad1948d324e72a428b11b88c7dfd0c3ae4480b12a7e2", - "timestamp": 1657024099, - "blockNumber": 15082513 - }, - { - "proposalId": 85, - "voter": "0x080a75c96bF646Cd9f78aaF8C9869a510E9c68bb", - "support": true, - "votingPower": 0.5, - "transactionHash": "0x6324766fb588e280a08d737617ad8d3d222931b7447176a34d24c12fba3ee596", - "timestamp": 1657024116, - "blockNumber": 15082515 - }, - { - "proposalId": 85, - "voter": "0x0813E1B0a5B1D0D67cEAc68696591f5aECc613c7", - "support": true, - "votingPower": 0.3454378717155155, - "transactionHash": "0x9b5445fb49b7bb1a03f64b39c3b436f5779069253977dacdd7bb928233d03bdd", - "timestamp": 1657024167, - "blockNumber": 15082522 - }, - { - "proposalId": 85, - "voter": "0xce575De2c04618511Ce3e984B9b2655aa6385231", - "support": true, - "votingPower": 0.17882045334541669, - "transactionHash": "0xfed8166ed917dfb5060fa575dd8f2fe4aca439b47b497b04201189833622d647", - "timestamp": 1657024414, - "blockNumber": 15082546 - }, - { - "proposalId": 85, - "voter": "0xDc52350858b60853D93390Ab38DEe3ce7e147fa7", - "support": true, - "votingPower": 1.0870945960197633, - "transactionHash": "0x754fe86689c2211bb2a98c24661ee83ce90a84fcb9969bcf8f6dbb41bd85278e", - "timestamp": 1657024641, - "blockNumber": 15082560 - }, - { - "proposalId": 85, - "voter": "0xecEab46DfFBB0d8877018040cFDB816E94d1947F", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x9ca8d9bd045935584c3f43ff757797a5fc63112e1d4c033084ed69d301421348", - "timestamp": 1657024649, - "blockNumber": 15082561 - }, - { - "proposalId": 85, - "voter": "0x9C72C98535224c3C045a3d27ff981ED5a1d64d6e", - "support": true, - "votingPower": 0.39, - "transactionHash": "0xc0f7036deb1c2ca7c3e6e7e2363bf441fc556f2918ac603a00953a4c856c16cf", - "timestamp": 1657024665, - "blockNumber": 15082562 - }, - { - "proposalId": 85, - "voter": "0xBf207EA5de7D210DB9F70Baf7c79Bb8c6c36666c", - "support": true, - "votingPower": 0.3, - "transactionHash": "0x5ffa648ee070a8851032e86bb1f12d144cac481d4c3109d49771f9251331ddce", - "timestamp": 1657024742, - "blockNumber": 15082570 - }, - { - "proposalId": 85, - "voter": "0xB496A7902D2117Fc7acbbd5251E14075a5B23f6c", - "support": true, - "votingPower": 0.3, - "transactionHash": "0xfcc71a3f496910893078cb6947ffd9233835408e86b76abfda6a3d92240179ce", - "timestamp": 1657024997, - "blockNumber": 15082592 - }, - { - "proposalId": 85, - "voter": "0xcf8E24538E6e8c6D7cA711F84539aEac0892e28b", - "support": true, - "votingPower": 0.295, - "transactionHash": "0x406f32fed4af4954ddb709f0e30d71c15b99a718ff4ed0c32e73fcf38faa2105", - "timestamp": 1657025062, - "blockNumber": 15082595 - }, - { - "proposalId": 85, - "voter": "0x86Ae33E8Ff7a7f780D60347DCA4f2BEA0191E4e0", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x9db9eb847432cd872be2416c969dfdaf70128f7cf5873d2842cc314905d03ae1", - "timestamp": 1657025149, - "blockNumber": 15082599 - }, - { - "proposalId": 85, - "voter": "0x2146Fa841F0c1076C064E14c05FfFf6e7BA41865", - "support": true, - "votingPower": 0.4, - "transactionHash": "0x1b13eef050154752782ada9f76471942ac394ccc46fbc0196d46b25bf6673fca", - "timestamp": 1657025187, - "blockNumber": 15082603 - }, - { - "proposalId": 85, - "voter": "0x602114d8b9041F2bE7e6A534b793B92829114749", - "support": true, - "votingPower": 0.3, - "transactionHash": "0xafdbe95517cda8e188512a5e3570c070947e08a613c0dbd2c0848c171ccdf252", - "timestamp": 1657025327, - "blockNumber": 15082615 - }, - { - "proposalId": 85, - "voter": "0xE8cd4cB68dd4c79d118368F36D8564F3134c180D", - "support": true, - "votingPower": 0.375, - "transactionHash": "0xe6c15a63b587680ea5d4842d1ec6521754a09f1dbefbbc5d24fa99f473855ea0", - "timestamp": 1657025556, - "blockNumber": 15082633 - }, - { - "proposalId": 85, - "voter": "0xA1CAD48e9844d850f066376e1f1e04147b16619e", - "support": true, - "votingPower": 0.29, - "transactionHash": "0xb4054eb0ead0b335c06b942d6427be8764c77b83834c84b6672bc673477ec34b", - "timestamp": 1657025605, - "blockNumber": 15082640 - }, - { - "proposalId": 85, - "voter": "0xc21611A12525D3aB940c339b8aE4C4BE5865B6a2", - "support": true, - "votingPower": 0.11382236582795392, - "transactionHash": "0x7a028116957ddb6521c209bed6238622ab4336975b5d8a1eb197ebf2bc2ee22b", - "timestamp": 1657025656, - "blockNumber": 15082645 - }, - { - "proposalId": 85, - "voter": "0xB43F8F3C1B2e4ccfD9535A0501dD857BaC7b7C21", - "support": true, - "votingPower": 0.11, - "transactionHash": "0x412231788a6cc5376d2d369bb6df5df2491ba24c26b620a4e4aa9d9fed01dbdf", - "timestamp": 1657025692, - "blockNumber": 15082647 - }, - { - "proposalId": 85, - "voter": "0x27B0FC6C4A5a0Cf213a570097279a5bde61214d2", - "support": true, - "votingPower": 0.035, - "transactionHash": "0xb9598962201b4dab48da6072c14ba9ea8cf60f8e9c12998db9f2bc4949a5a728", - "timestamp": 1657026013, - "blockNumber": 15082663 - }, - { - "proposalId": 85, - "voter": "0xD4DcA397627a3e1e162D8410bD09f22a3AC5bEc0", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x4999fa8a406404c30645d2ec29700db160165b10e8b3aee577a321bcae4e9b50", - "timestamp": 1657026110, - "blockNumber": 15082675 - }, - { - "proposalId": 85, - "voter": "0x529408a6962Bae6Ca5328874d633738116B89B05", - "support": true, - "votingPower": 0.02121106653713577, - "transactionHash": "0x71177a4b5dd3e5370bb627dee503dc15c18345237d1e061cd22c3ed0004d63eb", - "timestamp": 1657027233, - "blockNumber": 15082766 - }, - { - "proposalId": 85, - "voter": "0x89768Ca7E116D7971519af950DbBdf6e80b9Ded1", - "support": true, - "votingPower": 0.027400615626734147, - "transactionHash": "0x56bcf85324d476bbcae23daf95a4d28bdc49067519464cc91856aa03de63056f", - "timestamp": 1657028073, - "blockNumber": 15082813 - }, - { - "proposalId": 85, - "voter": "0x1FE6A806E0A9858359E16C58e4f84C790171596b", - "support": true, - "votingPower": 0.04146131075243324, - "transactionHash": "0x2214111d60edfedbac5c514ac45fe586af34365ca5d55f350c9bcbd606343d95", - "timestamp": 1657028150, - "blockNumber": 15082820 - }, - { - "proposalId": 85, - "voter": "0xefa80A25527FCDde37058AAD50983f5c5F72039c", - "support": true, - "votingPower": 1.175, - "transactionHash": "0xc814485929b032aeed6d9dab843e32ec904e3db4947430671bad07788d72b22d", - "timestamp": 1657028333, - "blockNumber": 15082832 - }, - { - "proposalId": 85, - "voter": "0x6bDA40B4e5A0551ABe056A916a7Bd40027D466E5", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x97ea59d1f3714e6ac49d26c7c440d61af790feb09ff25d13d66c4a77e48085c5", - "timestamp": 1657028743, - "blockNumber": 15082863 - }, - { - "proposalId": 85, - "voter": "0x485b0c5E93947010F9Fda2bA50de23FcEfd58F29", - "support": true, - "votingPower": 0.06529872425836444, - "transactionHash": "0x05c28a05676d8bac4d25455eb83bd7738a9e53ef9b9e82c01d6f25e78c7b2793", - "timestamp": 1657028905, - "blockNumber": 15082879 - }, - { - "proposalId": 85, - "voter": "0x641f2f8cD5Fb6CB50a49c22247B065CD893a1FC7", - "support": true, - "votingPower": 0.25, - "transactionHash": "0x65bb918e99be41645b83db64d65b6f86aaca1224510c304d9eef3b263cc59bee", - "timestamp": 1657028974, - "blockNumber": 15082888 - }, - { - "proposalId": 85, - "voter": "0x25aD2667B19e866109c1a93102b816730a6Aec3f", - "support": true, - "votingPower": 0.0536372652317274, - "transactionHash": "0x197cfb4f5124adde2615701e213cb1682d82a7627de536b2eb1c075b8d480e87", - "timestamp": 1657029206, - "blockNumber": 15082909 - }, - { - "proposalId": 85, - "voter": "0x8390E3f92B24cFd8682111329CF25B86aBA76cF3", - "support": true, - "votingPower": 0.975, - "transactionHash": "0xabc69177ae1cb8b96e3a44240e6795fe168cfee6569c7453e553d7cb2c9dd736", - "timestamp": 1657029791, - "blockNumber": 15082955 - }, - { - "proposalId": 85, - "voter": "0x5E4db3f9811974246080Cc663726E465de27Cdc3", - "support": true, - "votingPower": 1.475, - "transactionHash": "0x90a9cac87a9c36aa0b53edd1edf5c2fb552bc1aff0409df64d3c27db7b2ea71f", - "timestamp": 1657029824, - "blockNumber": 15082956 - }, - { - "proposalId": 85, - "voter": "0x2385202C54197c5A5D007C55311C050adf9a9dc8", - "support": true, - "votingPower": 1.975, - "transactionHash": "0x556dd8a40f94568e962028b2884a7c29ed63ebcc9f70a1dc808a33a5c4d70a24", - "timestamp": 1657029850, - "blockNumber": 15082957 - }, - { - "proposalId": 85, - "voter": "0xB9Ed52d10EE3E2918cb7AA525449c732fA5108F6", - "support": true, - "votingPower": 0.975, - "transactionHash": "0x462ec0a0f8e8afcf9971ac32ee43253583114745f286a8533dd04ca2d19a1162", - "timestamp": 1657029911, - "blockNumber": 15082962 - }, - { - "proposalId": 85, - "voter": "0x56bABdb63d71879f8D77e2c9515060d3Ae29Cd9e", - "support": true, - "votingPower": 0.01000005, - "transactionHash": "0xa321d2902229c1eb5df8f5ec94a8f2a4c10e6c98e68b0ce1eba5f9ca1a3678b3", - "timestamp": 1657030098, - "blockNumber": 15082977 - }, - { - "proposalId": 85, - "voter": "0x698Fa8dFa821489CF4B69225347F28A56E3c3129", - "support": true, - "votingPower": 0.26767810327406893, - "transactionHash": "0xb5cde7ced934187e1ea041c06cfb44c173c89e16f05a3380c1a535c95e8cfa64", - "timestamp": 1657033152, - "blockNumber": 15083209 - }, - { - "proposalId": 85, - "voter": "0x880C205096F62Bd9da0f1acf3c34794789BBaBe6", - "support": true, - "votingPower": 1599.9215214422807, - "transactionHash": "0xf6e92238f614f227ce8d3cc8038b095d89ab74003af3a7556f1c41e907c96baf", - "timestamp": 1657037460, - "blockNumber": 15083519 - }, - { - "proposalId": 85, - "voter": "0xC2332295cFBcD03531a77b00A019f39335AB8D43", - "support": true, - "votingPower": 1.1903562731846307, - "transactionHash": "0x7bc0abcf2300a454704dd471cc62e20995543a46eba8a35c61dd102058385b72", - "timestamp": 1657038536, - "blockNumber": 15083595 - }, - { - "proposalId": 85, - "voter": "0x608972868362504b4820Fc26aA60787f45159913", - "support": true, - "votingPower": 0.3, - "transactionHash": "0x05ce9e6f439c28544d15ed5815e914538620ec18c8804b9f6948ef268fdc66e0", - "timestamp": 1657039095, - "blockNumber": 15083635 - }, - { - "proposalId": 85, - "voter": "0xB355df7a527f215F51Af23396C69094955840E2c", - "support": true, - "votingPower": 0.55, - "transactionHash": "0x09ef60f7ab77c106df15eab721677f81b9ba88aa4b332abbda0663dfbde2df08", - "timestamp": 1657039142, - "blockNumber": 15083637 - }, - { - "proposalId": 85, - "voter": "0x4A7db7b42E26dC80A7091f72e2389b6cC9dEB60d", - "support": true, - "votingPower": 0.25, - "transactionHash": "0xc5b95ec980b60fed8cc347b1876df473cc3255770a8e4083458ed951206ee1c0", - "timestamp": 1657039281, - "blockNumber": 15083650 - }, - { - "proposalId": 85, - "voter": "0xdd45542cCf17A16F5c515c20db7F7C7D8bB74Cc5", - "support": true, - "votingPower": 65498, - "transactionHash": "0x36532b4716b55cd4a7519e45fa01de7b13ab035bd8ff8278643b85d40cdaf958", - "timestamp": 1657041357, - "blockNumber": 15083813 - }, - { - "proposalId": 85, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 103333.8477304624, - "transactionHash": "0xe9496c6c9864fcc1757c596c63d7005ca1f7dd6c67dd39c7b271de10226f2849", - "timestamp": 1657056347, - "blockNumber": 15084965 - }, - { - "proposalId": 85, - "voter": "0x236884bb674067C96fcBCc5dff728141E05BE99d", - "support": true, - "votingPower": 1, - "transactionHash": "0x78def2c5c22b1ddb038a2ad11dc95ad846309bc21bd74490b4de1cfbc532b4e7", - "timestamp": 1657063736, - "blockNumber": 15085481 - }, - { - "proposalId": 85, - "voter": "0x48386A6E3528A9aaFF7591B320afdC7bAb527669", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x8a506ccb5a6f1239b743c414b3e0dcd7daae91d93f89ce6b848157a6a1d1cb61", - "timestamp": 1657064138, - "blockNumber": 15085516 - }, - { - "proposalId": 85, - "voter": "0x3d0d364A3C7EEcbEa4a26bA4B18DE44385E2b941", - "support": true, - "votingPower": 0.10058, - "transactionHash": "0x96360304a4c98a740b565ea7a72cd6d3f446c85e5baaae126a8ad8210b9b3d6a", - "timestamp": 1657067183, - "blockNumber": 15085739 - }, - { - "proposalId": 85, - "voter": "0x71F12a5b0E60d2Ff8A87FD34E7dcff3c10c914b0", - "support": true, - "votingPower": 433.4481209513788, - "transactionHash": "0xbfe1b0418222212f9233676bf45dd1994f429656a76bd7e55d06fee30c0bec8c", - "timestamp": 1657070817, - "blockNumber": 15086014 - }, - { - "proposalId": 85, - "voter": "0x7B8d1133D3dbFBFb90aB32071f46106a88cF25A5", - "support": true, - "votingPower": 0.111, - "transactionHash": "0x2fd2fb2636a6490ab0ca9e0e89502da4e87655a0ccecd4a24c6ac11f9d388c23", - "timestamp": 1657074289, - "blockNumber": 15086274 - }, - { - "proposalId": 85, - "voter": "0xF977bF5f5CCB1BFd868BD95D563294494F0D5d89", - "support": true, - "votingPower": 1, - "transactionHash": "0x2090fb11b5d7e95a2bcfe44266303994e3518d0d2d18f5379b1d7a88cd5a4086", - "timestamp": 1657074665, - "blockNumber": 15086300 - }, - { - "proposalId": 85, - "voter": "0xE1d1c5F48f708aa038AA6A9976308Cd1d19D951a", - "support": true, - "votingPower": 1, - "transactionHash": "0x2d734f6cfbcd842a235f10ad43974c125157dcce178d83a293ebf314ff049823", - "timestamp": 1657074789, - "blockNumber": 15086305 - }, - { - "proposalId": 85, - "voter": "0xdd4A19DC351Ba42421dB282196AF38b433AA86BA", - "support": true, - "votingPower": 1, - "transactionHash": "0x51df150700c22102543683dd0b43124a06ada21d16890b48fbba4bfe01473a93", - "timestamp": 1657074953, - "blockNumber": 15086314 - }, - { - "proposalId": 85, - "voter": "0x4bd77E5637212bc070B6C1382B3bF40BC1a7DE18", - "support": true, - "votingPower": 0.02, - "transactionHash": "0x84ee42767a0bf76ab68a18abfbb88b1edf1dcdc46eae78b881a404e6b5bc91d0", - "timestamp": 1657075064, - "blockNumber": 15086325 - }, - { - "proposalId": 85, - "voter": "0x9497243478392B1F7f508874F606379F989C6eea", - "support": true, - "votingPower": 1, - "transactionHash": "0xe0072de9a83f7722c8ed5267373062eecbfec963241f305d6f7eacdd0caa1ef1", - "timestamp": 1657075253, - "blockNumber": 15086340 - }, - { - "proposalId": 85, - "voter": "0x1A29079662d2Fc3530767122b8E931e041b6282a", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x93332b7a5fd7b6780d541d7346118e362bd43ee0e5a6263e75bb55bc210eb3f0", - "timestamp": 1657078154, - "blockNumber": 15086582 - }, - { - "proposalId": 85, - "voter": "0xA79F69d88679b98747Fd58737eB2e0291C6E3d2d", - "support": true, - "votingPower": 0.746634, - "transactionHash": "0x2111c9b2300b89061f7da6393806ac6014afcd91f80a0b5b084601ef2f5176c2", - "timestamp": 1657079394, - "blockNumber": 15086672 - }, - { - "proposalId": 85, - "voter": "0x9896780e3525B68fAC631eB840EF1114Ed146835", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x888cca218066ada11b40d3a629163d053e22e8e3b3808e74dab33bf39e0b9283", - "timestamp": 1657079438, - "blockNumber": 15086678 - }, - { - "proposalId": 85, - "voter": "0xD7E0A3EB9d0BC2B25Bf766572A4f86FBc7280DC4", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xfaff85527e5cd11439a9c70485b4cce6f4e07f83814ea377fdc237097485c895", - "timestamp": 1657079475, - "blockNumber": 15086679 - }, - { - "proposalId": 85, - "voter": "0x670d4460C70415438ef1868B896B86A5B6228192", - "support": true, - "votingPower": 0.324684529775515, - "transactionHash": "0x42efb0932d13465f0ddc81a58975cc4504641882dd8472bd918da49ecb29dea2", - "timestamp": 1657079722, - "blockNumber": 15086686 - }, - { - "proposalId": 85, - "voter": "0x4336Fa67626BEc05eb5f9092864993D6C1FADEd5", - "support": true, - "votingPower": 0.33445856586898925, - "transactionHash": "0x0737da147b0da3fa3e5e5643a50602a249bb22c8d429d17f631c0874cfb8aa49", - "timestamp": 1657079876, - "blockNumber": 15086698 - }, - { - "proposalId": 85, - "voter": "0x32eab3E046246e5cA1Da750afaefE9ee7bD3B6D3", - "support": true, - "votingPower": 0.36, - "transactionHash": "0x2566cc525c193f3929a6761177789fff27ce151a043f5841e4ba78bc70dc2cfc", - "timestamp": 1657080036, - "blockNumber": 15086710 - }, - { - "proposalId": 85, - "voter": "0x070341aA5Ed571f0FB2c4a5641409B1A46b4961b", - "support": true, - "votingPower": 9999.9999, - "transactionHash": "0xb58a1e9013047e583d9043ae01ec00de30c216c4203993756d6c12c732ac3d16", - "timestamp": 1657080115, - "blockNumber": 15086715 - }, - { - "proposalId": 85, - "voter": "0xcF3F16175B264C23436E327cf00D4f24a27BC345", - "support": true, - "votingPower": 0.38152814547448716, - "transactionHash": "0xe71633dd99439232b8a2d1ea910444152c0f84424adddbf8d1247b0b7b656c0f", - "timestamp": 1657080153, - "blockNumber": 15086718 - }, - { - "proposalId": 85, - "voter": "0xBccD75B44a8581ae675381b0B3fE8A0f43101Ebe", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x7e6ed55eabf8b53eebf06a2c4454cf4d3e7f7a6320b5df97382f64a720e77178", - "timestamp": 1657080601, - "blockNumber": 15086747 - }, - { - "proposalId": 85, - "voter": "0xdAD07ddbb3837b8eA6Ee4372A76254Fd6fdBab23", - "support": true, - "votingPower": 0.3, - "transactionHash": "0x073be32fda93952435aa5a412a3e0d87dd962ea745ec5865890e08c030711600", - "timestamp": 1657081619, - "blockNumber": 15086816 - }, - { - "proposalId": 85, - "voter": "0x05ac3D28434804ec02eD9472490fC42D7e9E646d", - "support": true, - "votingPower": 1, - "transactionHash": "0x39465b64fb7fb47ef638357f8baf2169e0dc7af82124319b58cfb152d2fbc6e7", - "timestamp": 1657082323, - "blockNumber": 15086853 - }, - { - "proposalId": 85, - "voter": "0x61D9e931A72c9FB3eB9731dCc5A30f1F6C3ab63F", - "support": true, - "votingPower": 1, - "transactionHash": "0x15af6411b702f5342b029b27800e3a252d5bfbbc735b7377e31045d9fbb9c89d", - "timestamp": 1657082555, - "blockNumber": 15086863 - }, - { - "proposalId": 85, - "voter": "0x49D79F29ebe7793De8f03D1CB7D8d6da23017BeB", - "support": true, - "votingPower": 0.5, - "transactionHash": "0xcd926f37d3c42bfc1041c1af26fc1a60f124367ceff9bf37301668a3002a73d0", - "timestamp": 1657083026, - "blockNumber": 15086899 - }, - { - "proposalId": 85, - "voter": "0xBD90F0243173E91385224a8117212d17C2E9e494", - "support": true, - "votingPower": 0.022079767861370916, - "transactionHash": "0x1c065ac549a6b00de15b31a343b782725d101302a96af72efdad3752dbcf6fa7", - "timestamp": 1657083305, - "blockNumber": 15086926 - }, - { - "proposalId": 85, - "voter": "0x856DC4a12f08AFA49f42B52F81769A96505f312C", - "support": true, - "votingPower": 0.010008199185595062, - "transactionHash": "0x6319a383edf015dc50cb87944df71fb8c7c4b72c134dc0b5de3dce6d69046926", - "timestamp": 1657085121, - "blockNumber": 15087048 - }, - { - "proposalId": 85, - "voter": "0x031d2Da6A39Dfe83C314dF7C2E7A74BFAD01773b", - "support": true, - "votingPower": 0.138, - "transactionHash": "0x31e501210956436c96830f6852adaddc368db3d4094d792232ac7c0ddfab5675", - "timestamp": 1657086635, - "blockNumber": 15087158 - }, - { - "proposalId": 85, - "voter": "0x9AF46BeC9987a7F71A60E53f846747E7ab522D8d", - "support": true, - "votingPower": 0.051, - "transactionHash": "0xf4321c39c6c188f1c2f3cf0858b434c1dcdcb972f0543230edae693a227ed3b4", - "timestamp": 1657086905, - "blockNumber": 15087178 - }, - { - "proposalId": 85, - "voter": "0x177821CbE97b3eB0a20de1FD534bC7160cBCd76e", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x286a7e348757467c520ba8662f181e8e24a853f46df2b9447c1eb8fa76a9441c", - "timestamp": 1657087008, - "blockNumber": 15087187 - }, - { - "proposalId": 85, - "voter": "0xe6753AD7Cf78385b3c369504377799a66f87479e", - "support": true, - "votingPower": 1, - "transactionHash": "0x11c582c33885d3295b90ffdf203bf0438944197b94f6b7f5a3b0f8d67e0f80de", - "timestamp": 1657087081, - "blockNumber": 15087193 - }, - { - "proposalId": 85, - "voter": "0x88D2C34c3c59069F823d9F5011662b6111862282", - "support": true, - "votingPower": 0.11272965079602724, - "transactionHash": "0x5633349751a879791c4b9703119a2f72c3ff3f240bf5c46624653053324a29f7", - "timestamp": 1657087182, - "blockNumber": 15087201 - }, - { - "proposalId": 85, - "voter": "0x3b5362CEB3C417148bBEc31C7927C65FF7987326", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xab0ecc7fc8d47d042468bf8e9f43ecd89ad3dccefa6d348cab839a9ede5da107", - "timestamp": 1657087182, - "blockNumber": 15087201 - }, - { - "proposalId": 85, - "voter": "0x4C73535655072Ee70BB321d22Cea67E36D947a29", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x1dcd2834dafa76e91fde67d2bd6fc47113a28b07b1f5204eac4b420fd47262a9", - "timestamp": 1657087182, - "blockNumber": 15087201 - }, - { - "proposalId": 85, - "voter": "0x506adE0A94949dB63047346D3796A01C09384198", - "support": true, - "votingPower": 0.8104509492028132, - "transactionHash": "0xd1688b2c9b4ee6260e4a59aad817768bccd6113b4b2604721beb34287b35c9cf", - "timestamp": 1657087248, - "blockNumber": 15087204 - }, - { - "proposalId": 85, - "voter": "0xD1BC2dbb8EbC0707Ed89499116040a3Efc3f97f2", - "support": true, - "votingPower": 0.02, - "transactionHash": "0x0d908918507b136c4610b9924b9ada8d16770eb00bd29048ae938d400fce6351", - "timestamp": 1657087288, - "blockNumber": 15087211 - }, - { - "proposalId": 85, - "voter": "0x5E1610784f0b8c1CD1DF8170eC28a59e94cB5c0d", - "support": true, - "votingPower": 0.02, - "transactionHash": "0x89c51463c8f203e8fa9a00ca1594d4989f2fe3005c824a76c1bc2dfc04bc8ccf", - "timestamp": 1657087363, - "blockNumber": 15087217 - }, - { - "proposalId": 85, - "voter": "0xD862b45054Ef15BbF7690CD860aA5d1f8A060F6e", - "support": true, - "votingPower": 0.11, - "transactionHash": "0x39c1154a55527bb7659fd21f85ec6867b902177561636d0dc459832060c96bb9", - "timestamp": 1657087376, - "blockNumber": 15087218 - }, - { - "proposalId": 85, - "voter": "0x4C078cB14B2D321231a90089195317968957896d", - "support": true, - "votingPower": 0.02, - "transactionHash": "0x4442428b11297a938e018b592dc1ce01c6e4d06ec83792b747dd56215048a3cf", - "timestamp": 1657087376, - "blockNumber": 15087218 - }, - { - "proposalId": 85, - "voter": "0x4c8067Db4933e00e9b7638D3D66d2B58181887C1", - "support": true, - "votingPower": 0.105, - "transactionHash": "0x91150a6ac36a90109dc27c26a4f56891139e0d6060dbcd6fb51ec2826d56cb89", - "timestamp": 1657087407, - "blockNumber": 15087219 - }, - { - "proposalId": 85, - "voter": "0x79748bfc42a567c58682ADD44A072f8900a84998", - "support": true, - "votingPower": 0.11, - "transactionHash": "0xd939b900299ef6314a9d96a2744f12bb58bc6175c0041af9e5246755dc376576", - "timestamp": 1657087408, - "blockNumber": 15087220 - }, - { - "proposalId": 85, - "voter": "0xE7841ad5Db7F6b9fa089Ac3100A9623C6aA3730F", - "support": true, - "votingPower": 0.11, - "transactionHash": "0x7426afaa09f433f4dc2a0ff56410baabcd95fe34e6ae52bfa30b86d0fe80951d", - "timestamp": 1657087458, - "blockNumber": 15087225 - }, - { - "proposalId": 85, - "voter": "0x8EBC08C08b79c7EE7de645fde878D0DBcDBF93aE", - "support": true, - "votingPower": 0.015, - "transactionHash": "0x7dde99a4e3dc8e92dc7e19df86f035ab4f0ce0ae9ab1414a7f115b773ec2c589", - "timestamp": 1657087458, - "blockNumber": 15087225 - }, - { - "proposalId": 85, - "voter": "0x61b27dFfD80a11E5bCb4F2A8F2B5f4d97F54C2aC", - "support": true, - "votingPower": 0.01654401642183, - "transactionHash": "0x9050ab199ebb0ff17300d01cf751427f90f8750d6df6c17e4fd3f6453e8273fc", - "timestamp": 1657087507, - "blockNumber": 15087229 - }, - { - "proposalId": 85, - "voter": "0x579DCc13dD9df276A5CDD63763D68695D24d9Bbb", - "support": true, - "votingPower": 0.019447472602456, - "transactionHash": "0x2b8f9b4daec8ce269bdc569a38f254eea00fea5a816982bacc9d4a452dfc1601", - "timestamp": 1657087534, - "blockNumber": 15087231 - }, - { - "proposalId": 85, - "voter": "0x50F7c1a1db6AC509d4a9E684617a191f3B400C04", - "support": true, - "votingPower": 0.11, - "transactionHash": "0x0c71ae4bc48f6a326822f549fbfa98ee0cab419b1e0d2eb0060a0f6e482c73d4", - "timestamp": 1657087534, - "blockNumber": 15087231 - }, - { - "proposalId": 85, - "voter": "0xf6522fC7061f4Ab77D5353dD631002d86951d245", - "support": true, - "votingPower": 0.11, - "transactionHash": "0xef37b425eb99eee2d0e05a2e087f378f523fb17bed70711c43f1365c3524e670", - "timestamp": 1657087575, - "blockNumber": 15087234 - }, - { - "proposalId": 85, - "voter": "0x8E67f585Ea4B0FBbc05cEDe51D346B269e322A33", - "support": true, - "votingPower": 0.03, - "transactionHash": "0x2a907e998c836068c7aaa08e2a8f763d13481c290277f5fc2001af11e89e6bbf", - "timestamp": 1657087583, - "blockNumber": 15087235 - }, - { - "proposalId": 85, - "voter": "0x3B9d5114C279ade3dD99B5A14218c645f6ad433a", - "support": true, - "votingPower": 0.02, - "transactionHash": "0x43e5399251fb3108bea0decec9308a1ff625a1cc76b254f92cc1aada3ac26fb3", - "timestamp": 1657087642, - "blockNumber": 15087239 - }, - { - "proposalId": 85, - "voter": "0x1A5Da809b313Ee593B3BBa6b063f747e2288ACB6", - "support": true, - "votingPower": 0.02, - "transactionHash": "0xd6cc5ecced09d42960c024b2bd8e11a5216faf35bb8be1c7be2c521e48210cb4", - "timestamp": 1657087692, - "blockNumber": 15087242 - }, - { - "proposalId": 85, - "voter": "0x83db1678Abe5281ccD960Bc5C3eB5D5761CBd5fd", - "support": true, - "votingPower": 0.02, - "transactionHash": "0x4e1238b3c20ae67d6a861e65686af7f72484287558567ffbb1f80c65c3cdf04d", - "timestamp": 1657087731, - "blockNumber": 15087245 - }, - { - "proposalId": 85, - "voter": "0x61cE616a39F5735F844a3BC5D67Fe2ab8E64e702", - "support": true, - "votingPower": 0.002452, - "transactionHash": "0xe631a73649f3205a554aadaa4b29f7b2cfa3e2dad9ef927f064545ad065dd737", - "timestamp": 1657087750, - "blockNumber": 15087247 - }, - { - "proposalId": 85, - "voter": "0xA5442cc5381f6Ee3764770D34d4b9AA5A59cB0da", - "support": true, - "votingPower": 0.02, - "transactionHash": "0x3b9474a7108e09863e57af77ed03f73cd83cc3feaa4a28945ecb9c7b38b18ce9", - "timestamp": 1657087821, - "blockNumber": 15087252 - }, - { - "proposalId": 85, - "voter": "0x5CAE86ce1d4B6d603294136B8DcF162061681AE8", - "support": true, - "votingPower": 0.02, - "transactionHash": "0xac82865f485b99c8794b0bd14606694f23c2a7a45810dfec8a2487dd26d51832", - "timestamp": 1657087909, - "blockNumber": 15087256 - }, - { - "proposalId": 85, - "voter": "0xD81c7Bb5C8DDCFc47522b9cCa25b240f5e54e4e2", - "support": true, - "votingPower": 0.02, - "transactionHash": "0x5a0fda4ee0658ac7e5e3cda821ff230cfa5eae9f937968879fa640c134ea57fe", - "timestamp": 1657087941, - "blockNumber": 15087257 - }, - { - "proposalId": 85, - "voter": "0x9B2b78003e469A342977e0a078F6Aef88077acD9", - "support": true, - "votingPower": 0.12, - "transactionHash": "0xc80fcb86a7010f53e4d57655b298765c6e4d653c72cd89f6d2f05f914dfdc4be", - "timestamp": 1657087941, - "blockNumber": 15087257 - }, - { - "proposalId": 85, - "voter": "0xdF6C74e0387570344C4C36FF77C79fd805c5b5F7", - "support": true, - "votingPower": 0.115, - "transactionHash": "0xb705b5ee8bf73bdc0f0dd8cb9e392275eebde2939fb321d035e730838d5625f9", - "timestamp": 1657088010, - "blockNumber": 15087262 - }, - { - "proposalId": 85, - "voter": "0xDE88d146F61463D582262a1Dcdf6eA1323AbA34a", - "support": true, - "votingPower": 0.5, - "transactionHash": "0xecc56a2c811301f57c355d158c878efe292354e13af04d22fcb6b1e5e8e9a5ea", - "timestamp": 1657088018, - "blockNumber": 15087263 - }, - { - "proposalId": 85, - "voter": "0xF1B42f62840DC26c51A8BAe82A537A4F6e912F1F", - "support": true, - "votingPower": 0.015, - "transactionHash": "0x76999209f63b9c29b0742697bcb95ebcb129b099811e436d1014d147ffad7c61", - "timestamp": 1657088037, - "blockNumber": 15087265 - }, - { - "proposalId": 85, - "voter": "0x677f0fB523eCfe8343560ddCAAC47e1Eab34409a", - "support": true, - "votingPower": 0.115, - "transactionHash": "0x2247ff1120ba3a04b32f1216c10a54419518c5b5b21e7e3d8b69d4452f81afd1", - "timestamp": 1657088065, - "blockNumber": 15087268 - }, - { - "proposalId": 85, - "voter": "0x03DD5a390f1cdd203f41bfc681a98e741F3e5aC3", - "support": true, - "votingPower": 0.015, - "transactionHash": "0xecd741dc16ce2a4520e67f89afb563eaa1e2b99812a75cc9d0082959204c55f8", - "timestamp": 1657088096, - "blockNumber": 15087270 - }, - { - "proposalId": 85, - "voter": "0x12Cd3DCa194161fE3535755075499f115982eE63", - "support": true, - "votingPower": 0.5, - "transactionHash": "0xe12b2129ecb0848bf2490e822e4d008fc80c3f2442d4bdb6f21ae0eaa90ae93d", - "timestamp": 1657088096, - "blockNumber": 15087270 - }, - { - "proposalId": 85, - "voter": "0x5CFc2C648BA36144644758f8D39553c0ce355Fc6", - "support": true, - "votingPower": 0.3, - "transactionHash": "0x8d598112938bcf852eb9cda74a1cd4e8b2f0f75bc789595c6ef83a8be6b4800b", - "timestamp": 1657088187, - "blockNumber": 15087278 - }, - { - "proposalId": 85, - "voter": "0x747D660C18C355f6e659AfD733375C80016EeB24", - "support": true, - "votingPower": 0.148766782492192, - "transactionHash": "0x84990038299192d88fc529b45264f24b8b2c20206194fc417c5dd62d9acd8a65", - "timestamp": 1657088187, - "blockNumber": 15087278 - }, - { - "proposalId": 85, - "voter": "0x27695076EF87E7749ee7CA387f47549eE55DADe3", - "support": true, - "votingPower": 0.285, - "transactionHash": "0x0f5b55861892d97eb8223b1440f01465ab51b6cebfb24b8d841cfda9583a1389", - "timestamp": 1657088329, - "blockNumber": 15087292 - }, - { - "proposalId": 85, - "voter": "0x939BaC3bAd78752763be4Dd1Da19e8e70995A408", - "support": true, - "votingPower": 0.38000275, - "transactionHash": "0xed17159c86b6a3e80dec8e3ac4f03a6c0e4df2f00838ad8069366ddbed885a7c", - "timestamp": 1657088413, - "blockNumber": 15087297 - }, - { - "proposalId": 85, - "voter": "0x1aC81FDCD10b27d2aF73EF0F097159CdF0F0aA8a", - "support": true, - "votingPower": 0.175, - "transactionHash": "0xd569a8c8e9695ce359e7e04c7ee09e3f0dcb4ef40466f7788b8edaaf31a02f19", - "timestamp": 1657088439, - "blockNumber": 15087298 - }, - { - "proposalId": 85, - "voter": "0xbb7BB43aF885549f1bbF5724213ee48b40eBeE83", - "support": true, - "votingPower": 0.175, - "transactionHash": "0x82f72cea66c824b2d3a3a4ad5d7bee0b817d10b6ef87b3d7a9e2dc8383e319c6", - "timestamp": 1657088544, - "blockNumber": 15087305 - }, - { - "proposalId": 85, - "voter": "0xbCC7E64d6B522EF804450000F5bB8d944C7Ddd01", - "support": true, - "votingPower": 0.175, - "transactionHash": "0x089c14d3efa307d727adcea4c10c00d442614cb2678942f1ed00e6777cf715b5", - "timestamp": 1657088575, - "blockNumber": 15087307 - }, - { - "proposalId": 85, - "voter": "0x61C4d254051CDBf86dC71D13070a1b6e9ABC2489", - "support": true, - "votingPower": 0.175, - "transactionHash": "0xbf962d81298483ec24dce68b488853279f98ad94011734b436e40d81e7581f29", - "timestamp": 1657088625, - "blockNumber": 15087314 - }, - { - "proposalId": 85, - "voter": "0xf20bb1Ea28A496db525efbAd28a23003c9D73724", - "support": true, - "votingPower": 0.175, - "transactionHash": "0xa0b46256c1edd5b4c7fac5254ec1f684cfa6f3032ec8e244cd61d403d617bb15", - "timestamp": 1657088693, - "blockNumber": 15087320 - }, - { - "proposalId": 85, - "voter": "0x69ed884522820266F6d50c0e71E7d90ec4048Cd4", - "support": true, - "votingPower": 0.10000001537709459, - "transactionHash": "0x4ef328188561b49966cc10a8b9ed581038212e79fd2a36701b166c1af393fe2b", - "timestamp": 1657088798, - "blockNumber": 15087327 - }, - { - "proposalId": 85, - "voter": "0xBc7e44A0B3a82d710117b09E5F887bF668804c7C", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x2193a3f9ff65a70d698a5629ae800e194de4e07f8b8d569eada4b9d2f5731eb2", - "timestamp": 1657088815, - "blockNumber": 15087329 - }, - { - "proposalId": 85, - "voter": "0x12A282d228B306E08aFf9A9A98ad45Df1822062a", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xa62e831349d3fe94e7bd7b574f274e2f2729e7699a91f858fb1c2d30d25ef745", - "timestamp": 1657088939, - "blockNumber": 15087338 - }, - { - "proposalId": 85, - "voter": "0x9D36Ef2EFc940c1FDD02a3dF21E838EAE229375F", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x4154208ce73747ed3fd3a559f00449bc80fbc3fb34c2ecb71dd89988c79733b8", - "timestamp": 1657089095, - "blockNumber": 15087348 - }, - { - "proposalId": 85, - "voter": "0xE8d601728CF47a31c0fB45Fc7fCEBAf3E25c5374", - "support": true, - "votingPower": 0.10000000780620125, - "transactionHash": "0x1990549a321c5953e5372cd0fa902e6af48d21cfbb90f30719c29330dbfa26eb", - "timestamp": 1657089095, - "blockNumber": 15087348 - }, - { - "proposalId": 85, - "voter": "0xAa24c1F0EF3CA45B1BBD1AD9E4Ad5723beC5b2a1", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xb9fec2e80809a1f31b6a0e76e60fbc0c7dc444fbadc3fe07e819f22f92275495", - "timestamp": 1657089145, - "blockNumber": 15087354 - }, - { - "proposalId": 85, - "voter": "0x8Bb53244772ccB7050E022Fe285410Cf85e96c6f", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xbdcb76733294dad660779f251c32e188b7a6d82ac5bc487f08cec7165b7ecd43", - "timestamp": 1657089217, - "blockNumber": 15087361 - }, - { - "proposalId": 85, - "voter": "0x5Fc88001979092BA0646Afb846557BCCFfe16bbf", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xa9e26c5d09e1423e34266e0cd2ca70d741856a4363af6e30efb13fd9c62bebd4", - "timestamp": 1657089255, - "blockNumber": 15087366 - }, - { - "proposalId": 85, - "voter": "0xA38f82506C3AB79816D625AD286574133Fc6F4e9", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x2071ecb596a83314b0c3296cca36a2aa20e3d86f3755981a4c032c415d1d2802", - "timestamp": 1657089286, - "blockNumber": 15087370 - }, - { - "proposalId": 85, - "voter": "0x1a233644cB6bf094800090F8eFdbE2c240dd092b", - "support": true, - "votingPower": 0.0039, - "transactionHash": "0xff75f3cbb263803ded93b1292d916b6c66ddfb517b671633b961cf8f976bf36b", - "timestamp": 1657089324, - "blockNumber": 15087374 - }, - { - "proposalId": 85, - "voter": "0xf4B0B32B9Fb3d9289674424447715EB694e9974A", - "support": true, - "votingPower": 0.10000000905509501, - "transactionHash": "0x22cc103f3f5c44ba116a3f952224781238481809327167c58f62bb60110045a4", - "timestamp": 1657089336, - "blockNumber": 15087375 - }, - { - "proposalId": 85, - "voter": "0x10865b0ACb89Cce3850D217f22cd98946cf3605c", - "support": true, - "votingPower": 0.15, - "transactionHash": "0x573c92a5ae6b4c185d9b82af806d283fe85177e3870211670282aa1b739a369b", - "timestamp": 1657089347, - "blockNumber": 15087377 - }, - { - "proposalId": 85, - "voter": "0x5317c99b30bea75222a64340ab119D9ee2840a1e", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x2ec655169146f680a4898eb4521d192b4eba5659b355152c81cfb259b85a2e16", - "timestamp": 1657089355, - "blockNumber": 15087379 - }, - { - "proposalId": 85, - "voter": "0xDDC31Dfd453a6673C1d5C912c1cA196d5E08Ea71", - "support": true, - "votingPower": 0.075, - "transactionHash": "0xcce05f7f9df8d19edacdb3d25dcfec5a19569c297c5db6c54cda45fd596ec262", - "timestamp": 1657089391, - "blockNumber": 15087382 - }, - { - "proposalId": 85, - "voter": "0x397Eb57696b2Ee00b667d9ACDAc8b7E85C568533", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x07ca412b34eb7490d3c5813d8a41fe16faf12fb4e27433ea788f301776014923", - "timestamp": 1657089482, - "blockNumber": 15087385 - }, - { - "proposalId": 85, - "voter": "0xd284888B7495568aa8696D5C56AbdC1d06cB788B", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x5b795d22753c5b4eba7f98ed826386bdb2a9b55704635472f130d4fe0202d029", - "timestamp": 1657089511, - "blockNumber": 15087388 - }, - { - "proposalId": 85, - "voter": "0x6588847fb80C60b45B3B1b0413cC4e30d1517FcD", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x4c59f8a33ba4aa5426776fa620bf1699162f47b62633756cd03334fd988eeadf", - "timestamp": 1657089577, - "blockNumber": 15087392 - }, - { - "proposalId": 85, - "voter": "0x7005c3F79dC4ffcB50BBC5A9Ec5fA599f795b527", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x3bb16917a20059f9aebd8fc1c6a5729183298345368df222ae24c6e9be2926cd", - "timestamp": 1657089643, - "blockNumber": 15087399 - }, - { - "proposalId": 85, - "voter": "0x8b918C0ABD57888E1E5e7862B20Cb6AEAdDf54E2", - "support": true, - "votingPower": 0.051, - "transactionHash": "0x5b13b598f2130a774b44ec416830b90e116a21c92df5ffb0020a02a96d07c5e8", - "timestamp": 1657089800, - "blockNumber": 15087412 - }, - { - "proposalId": 85, - "voter": "0x196a37946C3D93e9A5309f539ae28b774a32411F", - "support": true, - "votingPower": 1.337139276378288, - "transactionHash": "0xb104e0dc53da7fd1c569647f8b567df6fdc56811ca77e14d04154aeec7e17964", - "timestamp": 1657089825, - "blockNumber": 15087415 - }, - { - "proposalId": 85, - "voter": "0xeC4a6612e32230bF2771D2A371A7B062aea1E420", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xc7ed92727b9b491d28d6ee6e2f65286dfc6ee022d041d985e6be4028405a2ee3", - "timestamp": 1657089893, - "blockNumber": 15087422 - }, - { - "proposalId": 85, - "voter": "0xa8293Dd8eb52564a35b8357a539146321b934153", - "support": true, - "votingPower": 0.011222278994650404, - "transactionHash": "0x9dd2f043a914692d277d50e58b1c185a3a27acd185034bb58c2289b1b71372a3", - "timestamp": 1657089899, - "blockNumber": 15087423 - }, - { - "proposalId": 85, - "voter": "0x9D75b8717aa34258DeA1afD74306Cb41e30F7B3F", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xeb2760f3b80585f6208452c31d827ba185bc35fd768fd9cdde2cb2c535a3a9ae", - "timestamp": 1657089933, - "blockNumber": 15087427 - }, - { - "proposalId": 85, - "voter": "0x289C44AB3F461127AF1F04FC80f8B54Fc3fF7316", - "support": true, - "votingPower": 0.02, - "transactionHash": "0xe337f621930be8c95258bd00ec4b43d5dcb7c84421bebc0d8f9509f399f83422", - "timestamp": 1657090496, - "blockNumber": 15087465 - }, - { - "proposalId": 85, - "voter": "0x7824D7AE24ee595750e970AFe61123573aD3Ad27", - "support": true, - "votingPower": 0.11, - "transactionHash": "0x7c7883a66874539424f21a1e87fa45ec82c72cb8b05f5fdc2884439ecd532334", - "timestamp": 1657090543, - "blockNumber": 15087468 - }, - { - "proposalId": 85, - "voter": "0x8fBB54606676BA5F8Edc6C4c88ef29b86d58774c", - "support": true, - "votingPower": 0.3, - "transactionHash": "0x3c93dd45c529513f3e7066b2b21527a1f826e1c664c9f148c3f890325da0b2e5", - "timestamp": 1657090693, - "blockNumber": 15087478 - }, - { - "proposalId": 85, - "voter": "0xDAbc72dAc85692e0115257DB423648f0E4D23040", - "support": true, - "votingPower": 0.4742352999324944, - "transactionHash": "0x6ff69433a6629dd71e4f24ce20b7c85406cdd61b4553fdc47f1e78f03c7a1272", - "timestamp": 1657090935, - "blockNumber": 15087495 - }, - { - "proposalId": 85, - "voter": "0xB2ad87FD9a7A15CC365Bcf1ee9040cd986455173", - "support": true, - "votingPower": 0.11, - "transactionHash": "0xea44529ed617b0327d31fb7b349c17bdc7b1bdef24b4024d30ec7683db7ac762", - "timestamp": 1657090960, - "blockNumber": 15087498 - }, - { - "proposalId": 85, - "voter": "0x4AadE9eF175A61E008473ee8965eB6754F41c213", - "support": true, - "votingPower": 0.11000000000000001, - "transactionHash": "0xec57e5cade21ca626ec769ac92d00391404e2be67cff9e9ddd3c7b4bca1e2d6a", - "timestamp": 1657090989, - "blockNumber": 15087501 - }, - { - "proposalId": 85, - "voter": "0x3cCd44BB20bc9c06FA8CCE8f6Aa207AE86D7DD5b", - "support": true, - "votingPower": 0.5, - "transactionHash": "0x40b4041b92dc2196ec9e09eb9abe0b8872ebf17c536836a08a92bed3921739d2", - "timestamp": 1657091269, - "blockNumber": 15087524 - }, - { - "proposalId": 85, - "voter": "0x81dD777413157D8d1Dc92B3479704e07C339b9ad", - "support": true, - "votingPower": 0.5, - "transactionHash": "0x270332d82eb0f0aae0b82b4bf0e205280c2867184ea97aef8bd9f293ff3234e8", - "timestamp": 1657091548, - "blockNumber": 15087539 - }, - { - "proposalId": 85, - "voter": "0x9A8DAD4b5025BEF44a5622A850f1E946b58c5cc7", - "support": true, - "votingPower": 0.11, - "transactionHash": "0x880bdb2545dce8535d5c4b7d55ad6774b561f231cb26cad34397e576e7674fd2", - "timestamp": 1657091605, - "blockNumber": 15087544 - }, - { - "proposalId": 85, - "voter": "0x43DEb3b8960b1760f81070A989fdAF1a575E552A", - "support": true, - "votingPower": 0.3, - "transactionHash": "0x0f65c9e6e650e3bd41cf6d54172ab5414c899f6703635089110e3fbf5a8bc34b", - "timestamp": 1657091893, - "blockNumber": 15087566 - }, - { - "proposalId": 85, - "voter": "0x2bA3f0981Dda6FEB724e23b1a2AE349bDaA24A2d", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x853c3d5bfce2b044bbe528c7a1e572df1cee25b277de7586a8715b9ebaf81afa", - "timestamp": 1657091916, - "blockNumber": 15087568 - }, - { - "proposalId": 85, - "voter": "0xd6B33c51cfE49626F425BcA143fA51918ef1bf6b", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xde10085cf9fcae56d7900de4ffd341694dce05516fb6013ef05cbaa6c759d22c", - "timestamp": 1657091928, - "blockNumber": 15087569 - }, - { - "proposalId": 85, - "voter": "0xA45e4DA10f86579FF2D37CBf29Fc7B27C08A22fA", - "support": true, - "votingPower": 0.10655685579679205, - "transactionHash": "0xd02bb02f8e8b08161ad6b3cdda1bf774a2cd09c6ccb145397bd932d2432474aa", - "timestamp": 1657091948, - "blockNumber": 15087571 - }, - { - "proposalId": 85, - "voter": "0xaf0827353b3450Abc4eDfDa43cD36137aa0c1202", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xb3da43f03715deb8f3b694ee0154b2d2eab75ac329f2521e05d4024fc6c31a0c", - "timestamp": 1657092011, - "blockNumber": 15087578 - }, - { - "proposalId": 85, - "voter": "0x0dA1d27aB726669ed32FF3963cD9167ffaa04742", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x23c5e9a01fcf8921ef5b9ab1082878e786c6078d3831d7f119c53741d3cfcaf0", - "timestamp": 1657092011, - "blockNumber": 15087578 - }, - { - "proposalId": 85, - "voter": "0x7a586b81960b935F5D1780C57D89712525723D5E", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xc797ba222e94efa22a3b9b14943b6c8fa132d90d7fe44740f5a98e86638c3c6f", - "timestamp": 1657092011, - "blockNumber": 15087578 - }, - { - "proposalId": 85, - "voter": "0x5631B1e09C119DfB13922a4db8d33287f87eED6d", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xc44fe06c0f4b4a3c5d7c1e7e2c194848edfb499b7036b54b668651f0e0373f34", - "timestamp": 1657092011, - "blockNumber": 15087578 - }, - { - "proposalId": 85, - "voter": "0x7f3cd654D6de6073f9D5a91569196ee2b84F003a", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xca0737e68063815fd8e5d28311b4f87aefe9ea3671badd0183f7431c2b266b7c", - "timestamp": 1657092011, - "blockNumber": 15087578 - }, - { - "proposalId": 85, - "voter": "0xC82F7051EBcf95c101022518bBC02c9C4a175E88", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x71a0e87536374ac2cc95b85fbb1903d8236ecaee2ab1f5051fdc649545df1304", - "timestamp": 1657092011, - "blockNumber": 15087578 - }, - { - "proposalId": 85, - "voter": "0x016E9153A386d53C6fc0cA2d6A56dbB3834Dc4B7", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xdcf3bd23e11be9b5baa6077b7fb12feb7e20d577efaa33a7627b332e1a953942", - "timestamp": 1657092036, - "blockNumber": 15087582 - }, - { - "proposalId": 85, - "voter": "0x20879C965B29A728eF87A2eb391e8BD8f6cD0Dc0", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xeb3accbbc7bbfc5bfbeb9a5d0e80af1849bb7955c012cf70670b6d26888fc131", - "timestamp": 1657092049, - "blockNumber": 15087584 - }, - { - "proposalId": 85, - "voter": "0x5Dd0fAd326FD1c906744ED43f7F5e860f1681080", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x495437255de17ce0ab771ad93bafe47f48d98d94969eac37ddaa7666b861ca68", - "timestamp": 1657092102, - "blockNumber": 15087587 - }, - { - "proposalId": 85, - "voter": "0xdFa054043dc2bda895c6ADE88A1329fE552c3b68", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x9b06d6fd8e45648b5f187223f510ec8113a0d64f948b7002f4b323ce5e93c7a7", - "timestamp": 1657092228, - "blockNumber": 15087598 - }, - { - "proposalId": 85, - "voter": "0xbBCd2582Ecd8404950D76bf98FC7c745ACf5b3A6", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x31c00bd9c9960631b9e1c572212051fd2f4e8ae3b126dc94c3583eda901d5d09", - "timestamp": 1657092241, - "blockNumber": 15087600 - }, - { - "proposalId": 85, - "voter": "0xE4E08236b65556DBC44dED268BE186375DdA07dB", - "support": true, - "votingPower": 0.005, - "transactionHash": "0xcb5250c6321e613f9236faa6a4a394f1bc557379d7deeed4ca0ce390dab4c638", - "timestamp": 1657092306, - "blockNumber": 15087601 - }, - { - "proposalId": 85, - "voter": "0xC55d35AF6A5ff6299EF3fb8632BBaC6cce17DC8b", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x2cbb486d710c89f66b7806c80cdc48be7b873a90e33a8d820fb0b522ea61d57a", - "timestamp": 1657092385, - "blockNumber": 15087607 - }, - { - "proposalId": 85, - "voter": "0x9f6c3440e1BDbe102f9c3E0C84E0f04BfAE9bcDC", - "support": true, - "votingPower": 0.105, - "transactionHash": "0xeea2f7ab3895c4421c96d7af817dc829334c5de5dab5cf4fbdee0bc4f80519c0", - "timestamp": 1657092422, - "blockNumber": 15087614 - }, - { - "proposalId": 85, - "voter": "0x22c3512c89e5A835f98AC2A66AB25C587a4CF7aa", - "support": true, - "votingPower": 0.108, - "transactionHash": "0xeaad4b8d9147edf2f8c052c56bfbfbdc8fda107f6a0c860858634e7faa8e8ca5", - "timestamp": 1657092422, - "blockNumber": 15087614 - }, - { - "proposalId": 85, - "voter": "0x7445A52b32427bD7447b2fdf1BD158608A89AC82", - "support": true, - "votingPower": 0.106, - "transactionHash": "0x96e3746afc5348934e4add4db660cbfe03fb98eaeafd6e5b0d8d8dfc908541b8", - "timestamp": 1657092424, - "blockNumber": 15087615 - }, - { - "proposalId": 85, - "voter": "0x64A4469c640F739d1553829e9e14a48B93bd115D", - "support": true, - "votingPower": 0.105, - "transactionHash": "0x90f7a7c3f3163dbfc7ca2ce6030b1a7e62078163b80d72558656b89505b0c3b1", - "timestamp": 1657092424, - "blockNumber": 15087615 - }, - { - "proposalId": 85, - "voter": "0x8F99a784600d51D6a662749769AE31b615b2CfA8", - "support": true, - "votingPower": 0.106, - "transactionHash": "0x07eb77a0b79864caeb9a54d677d20e9a7a8498b377a7314b2c09f432738063fc", - "timestamp": 1657092424, - "blockNumber": 15087615 - }, - { - "proposalId": 85, - "voter": "0x52b12817Cab124a515c7C714A7df44aA2e0BC799", - "support": true, - "votingPower": 0.105, - "transactionHash": "0x777a17655d6c932abeac6899ab96ac6d54e26215b26a6508a577dc962698f109", - "timestamp": 1657092424, - "blockNumber": 15087615 - }, - { - "proposalId": 85, - "voter": "0xf194EccA33a31Ec318D4bbABCD7FA89e14E003B0", - "support": true, - "votingPower": 0.0049, - "transactionHash": "0xda12689ec89d6292df03571044d026ca242f5e7f0cb11d64d123ca047b6e442e", - "timestamp": 1657092424, - "blockNumber": 15087615 - }, - { - "proposalId": 85, - "voter": "0x66D8137E644fb7D03eEFfD6B45EEF812DA3Dcbb3", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x885e188035c65c495a5f345823e056cd757cdc455278e329cf3730413f3c954a", - "timestamp": 1657092424, - "blockNumber": 15087615 - }, - { - "proposalId": 85, - "voter": "0xe3eB72D56F25C6B57E9dC4Be9e8D64151fACB7C7", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xeb46a9243cdd41ac66ed05eabd7f07329a38a5553c3aaf2433bdd085ea092a2c", - "timestamp": 1657092424, - "blockNumber": 15087615 - }, - { - "proposalId": 85, - "voter": "0x4c400139e281b9a917Ee23Cb5391E78aa9d0a8dd", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x56ec614f5d27dd74a37e6315e5da3d644ce155e36621222a178cdc28165358eb", - "timestamp": 1657092424, - "blockNumber": 15087615 - }, - { - "proposalId": 85, - "voter": "0x82484b07668Ff20b15af9Ae7796B301724E15A27", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x7b86afe4d85c09838c4561dfc38a9014120892ee0d09557a748cd947d3f38bc9", - "timestamp": 1657092424, - "blockNumber": 15087615 - }, - { - "proposalId": 85, - "voter": "0x07450986773F22507c919483dCcFb9d348EF042e", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xbef369cf39987f9de80c378c105d3fc2ed909e857fcca74e12a0569ae593636f", - "timestamp": 1657092442, - "blockNumber": 15087619 - }, - { - "proposalId": 85, - "voter": "0xa0773DBC8d0f4930BCD37D43d8B0C11f03652C84", - "support": true, - "votingPower": 0.25, - "transactionHash": "0x1fb40dee11f23857b3d5d672cf1f3acb3e376b4a105ba3486a28b021c8843529", - "timestamp": 1657092543, - "blockNumber": 15087632 - }, - { - "proposalId": 85, - "voter": "0xD2AD0A94559599Ad9018D9046d2b5f7d11cc2865", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x4d47e9acaa1985fc730ed2002b083baa03c4f69e89f5378214c73950e03987c3", - "timestamp": 1657092555, - "blockNumber": 15087633 - }, - { - "proposalId": 85, - "voter": "0xe29CFC15D1c609818BCC02C7127280F82E3E6C8E", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xf53b1da2e356dcded0d2a281c1d7ea39c1a542c4fdf71208e8488d7110f74dcb", - "timestamp": 1657092555, - "blockNumber": 15087633 - }, - { - "proposalId": 85, - "voter": "0x766247820B6183664a0FA8088BAfb164063EE679", - "support": true, - "votingPower": 0.00396094, - "transactionHash": "0x17633683aa3a7caa45ad0ff90adfbbb6c3140bee344e160568c743d37d931041", - "timestamp": 1657092555, - "blockNumber": 15087633 - }, - { - "proposalId": 85, - "voter": "0xff6B985D17AC578b5e8DBAd4659dD970483b08E8", - "support": true, - "votingPower": 0.11, - "transactionHash": "0xe2f95fe24df11ca01ea96e7c592ec2491e951c48a053f3d814ec8dc4d751a424", - "timestamp": 1657092561, - "blockNumber": 15087634 - }, - { - "proposalId": 85, - "voter": "0xAc395a12Cd0b1Bf56e4c832bffB60E723953Cd5B", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xd96d69e99ea8242ff0858e180fe67f5ba6b1dde6e80f36848148d1f17411f055", - "timestamp": 1657092686, - "blockNumber": 15087641 - }, - { - "proposalId": 85, - "voter": "0xbF4c796931727fce4b42e8a7F1b284681A0d5a7C", - "support": true, - "votingPower": 0.8178829270671828, - "transactionHash": "0x9f061e241f0ddc7142e0282314b89768182987caf83d977df7226b1a3669a7af", - "timestamp": 1657092828, - "blockNumber": 15087655 - }, - { - "proposalId": 85, - "voter": "0x611A6Ed28cb59DEE17DF7B579Bf3796B10e326a6", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x5c943c2f07c7f7e530ad879ccc7d311b886fbca676cb595ce3f9d0a96144bcf2", - "timestamp": 1657093002, - "blockNumber": 15087669 - }, - { - "proposalId": 85, - "voter": "0x8655F051512899Af8614275e8E31f260eA276267", - "support": true, - "votingPower": 1.0000000018927506, - "transactionHash": "0x8b5f4891ef982a2a7b05e077ba69fd2dfe8900de9e710160bd18e6f9dce9bcbc", - "timestamp": 1657093108, - "blockNumber": 15087676 - }, - { - "proposalId": 85, - "voter": "0x7B92E1c1D11507c9A3d9aFCc782EcC146488951b", - "support": true, - "votingPower": 0.17493863, - "transactionHash": "0xb3b2f9fb9aa4ab230d85055f425e2744517781de80eb1553351fa1e9b962e64c", - "timestamp": 1657093357, - "blockNumber": 15087696 - }, - { - "proposalId": 85, - "voter": "0x6F8D0c0A2b28dF39cf2A4727d3eCfb60E9Ddad27", - "support": true, - "votingPower": 0.101, - "transactionHash": "0x13450a15b15f5baf2109a406b80011de410c33d622a8633ddcede703874df420", - "timestamp": 1657093401, - "blockNumber": 15087702 - }, - { - "proposalId": 85, - "voter": "0xd9F18d0C490697CcDC1C16F54d223eA75a069BcC", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x6da265f5fa0d7310a41ec685d76931f5703778db4ec249e495a244b6df130aa6", - "timestamp": 1657093410, - "blockNumber": 15087704 - }, - { - "proposalId": 85, - "voter": "0x7f59bE872c50A195056eD409a193495a8f490275", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x0c8d4ffb0aab6cb2937731ad5645d953d99ab93be9685f66c9a1f493e1c60692", - "timestamp": 1657093473, - "blockNumber": 15087708 - }, - { - "proposalId": 85, - "voter": "0x8c18f2728c5731B4757448C9C59117a22c19d325", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x98848c93d2facf6eb94b2a51b37fc2db250a7782a58bf8521fb48bd570108264", - "timestamp": 1657093539, - "blockNumber": 15087710 - }, - { - "proposalId": 85, - "voter": "0xb6D844E2529Bc79a444662aa55f72acA08fd8f54", - "support": true, - "votingPower": 67.98509615887833, - "transactionHash": "0xaa0c55a0c2de7c864cd2af4b40394bcb72cbd6ea766f884eb65d7ad51b27cb64", - "timestamp": 1657094336, - "blockNumber": 15087752 - }, - { - "proposalId": 85, - "voter": "0x4d246e41D7131fF60cD533C13bD2aaFcE7aB1265", - "support": true, - "votingPower": 1.0120513450961395, - "transactionHash": "0xf74a3db04a7715c15c7f7b81b9cd69ae6066eb5fc78af90a1e102a5c10719e00", - "timestamp": 1657094472, - "blockNumber": 15087766 - }, - { - "proposalId": 85, - "voter": "0x1BA1fF69F03d38Af7ef40E3afDc53ad073eb4642", - "support": true, - "votingPower": 0.21, - "transactionHash": "0x4c11ee6a46f1af300d9a6e60da21e0c211fdec4b7ecdaeb98ac45da3ede628ef", - "timestamp": 1657094585, - "blockNumber": 15087770 - }, - { - "proposalId": 85, - "voter": "0xDb57F1613Ef9d26Af65BCC5dD197a9f31a5aA091", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xe9a1aaa1c490a8d30aae1ebc09fc3eaa34db41cae0a1cefde9f986c7c12d2a5e", - "timestamp": 1657094664, - "blockNumber": 15087778 - }, - { - "proposalId": 85, - "voter": "0x50C2B9c3acDa872Dd71d88aA2C198aed0b788e5B", - "support": true, - "votingPower": 0.21, - "transactionHash": "0x60c1717505c71318faff9d6e7bb6308a1d44fb459369fc3b282e572c44be8d14", - "timestamp": 1657094797, - "blockNumber": 15087785 - }, - { - "proposalId": 85, - "voter": "0xd2208B5C2091D8c847d246509Ed306bD6BE9d200", - "support": true, - "votingPower": 0.21, - "transactionHash": "0x7e973624094b2c6ef2419ab27b9d29d09d6fd67dccb3d4de435c7ecdb4de6a75", - "timestamp": 1657095155, - "blockNumber": 15087811 - }, - { - "proposalId": 85, - "voter": "0x40CF224a5E91949bd2ba4276D046C4680C8D646c", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x3247a1ca7b8528ed8fe8b7212844868bb00a20bf5a6e42cccfe10aae08b60708", - "timestamp": 1657095238, - "blockNumber": 15087814 - }, - { - "proposalId": 85, - "voter": "0xf6e41cc3EFdcAC73983F55b8023bF2CD7D19F534", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xe3825f6663c77264a2e3dc400232a855828fa11243c3c0a85db9c652b7cdc0b8", - "timestamp": 1657095423, - "blockNumber": 15087828 - }, - { - "proposalId": 85, - "voter": "0x4Dc23e91FcD7693551f99642bC1e0ED4664FbdDD", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xd6057ae6e2072a3906868c5af9c7740ca7854a9bae2259b7b9420ebf238b9f91", - "timestamp": 1657095426, - "blockNumber": 15087829 - }, - { - "proposalId": 85, - "voter": "0x7eE58c703c3a93838b2e86639fEe62d3815b6bac", - "support": true, - "votingPower": 0.051, - "transactionHash": "0x56fab5b48814b42042b8a411d1c51e9b83ea329334bb4286978ac4b0c2ff8572", - "timestamp": 1657095510, - "blockNumber": 15087838 - }, - { - "proposalId": 85, - "voter": "0x06Fb028Ba0Cb89f9b9049a066e784fd3b8662030", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x391bffa610d3e047b9156c473d2499b594a59b8e7f187fa73b0f38a25ee5fa26", - "timestamp": 1657095549, - "blockNumber": 15087840 - }, - { - "proposalId": 85, - "voter": "0xd4f108BEbC0823676491c9580fbf1F400D26dc8c", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x201d94a550950344fbeb42e0514bae41f92d95b4101b324d85d9d8c5aa8aa337", - "timestamp": 1657095713, - "blockNumber": 15087846 - }, - { - "proposalId": 85, - "voter": "0xC5791a39F21b1f00f222F463f9d7d5fb1ADe5614", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xb23eb902b0cd4b3fe3f4977575db012540bd96d7deb058ec736f204dc1b4cb88", - "timestamp": 1657095848, - "blockNumber": 15087852 - }, - { - "proposalId": 85, - "voter": "0x1F63690d46Ac591366508Eb66Ff585F6d0bfC42e", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x4582f454dca2c6d3b0186ab9ec13d9ee7e0fefcfa75b5d32bdc56245646f94c6", - "timestamp": 1657096139, - "blockNumber": 15087874 - }, - { - "proposalId": 85, - "voter": "0x83f4ed64D635119eDcb539f5De1bc192DE3d934A", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x1367a36ff002959c9b38bc7d4307640b0e99f30fba1c96c80a61f85837fb2cd7", - "timestamp": 1657096849, - "blockNumber": 15087920 - }, - { - "proposalId": 85, - "voter": "0x501783E585936116220b5028C4C22DC9fdB991Bc", - "support": true, - "votingPower": 0.194738406671303, - "transactionHash": "0xd96b4f58fb4c91352e32b61c15a158ed717b12606b440311950c6ea12717df98", - "timestamp": 1657098041, - "blockNumber": 15087992 - }, - { - "proposalId": 85, - "voter": "0x6D8624cdc097a525E8b36763C6dF284B15DC8d64", - "support": true, - "votingPower": 0.09, - "transactionHash": "0x25d2f87d8202dc18643d4b04dc812320e96898cdd073e1075439f1a277d76bbe", - "timestamp": 1657098114, - "blockNumber": 15087999 - }, - { - "proposalId": 85, - "voter": "0x6A16683BB8654433D67f6a9E0dC9eb563456823E", - "support": true, - "votingPower": 0.09, - "transactionHash": "0x6879205b82d1a74a1b6c4555d207323cb5a9c10a13f98c12c731a00acc484fcc", - "timestamp": 1657098214, - "blockNumber": 15088005 - }, - { - "proposalId": 85, - "voter": "0xd5BD9934264A0965B91FD26A561539FD0308a080", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xb97af0149b9d9d859d1277fc731bbf9cd412f15d8176af764e4a08dc95e31dff", - "timestamp": 1657098257, - "blockNumber": 15088010 - }, - { - "proposalId": 85, - "voter": "0x34186a490eBCD04D5533ab4c65CBe288Ee54C64B", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x9e1bb812dac4d54cb3de6f5b8eac0629b0919a186b12feff2253b9ad98c0ffe1", - "timestamp": 1657098274, - "blockNumber": 15088012 - }, - { - "proposalId": 85, - "voter": "0xCD790d0813bef3aDD5ddC1Ae5589D3A9B526CaDf", - "support": true, - "votingPower": 0.6064419493063337, - "transactionHash": "0x754947f73973f78214991ed482473cfc4e1e14494ea7bde66ed3dd0be73080b7", - "timestamp": 1657098640, - "blockNumber": 15088032 - }, - { - "proposalId": 85, - "voter": "0x9D81F9BdFd6073Fe445a6a0e22487a2850db50DC", - "support": true, - "votingPower": 1.0049992131797187, - "transactionHash": "0x7c60b1a6cbb8668cd2721b1789c1403da4dd5885740e9840cca756db77a09dec", - "timestamp": 1657099373, - "blockNumber": 15088084 - }, - { - "proposalId": 85, - "voter": "0xA3632Dd93B046817Ae313A22a0e76CCA971499E7", - "support": true, - "votingPower": 0.001, - "transactionHash": "0x973f9d77fb68be8414a63f19b57c65f8f75391aa1b321117bbd9ec8d50bc4085", - "timestamp": 1657105365, - "blockNumber": 15088548 - }, - { - "proposalId": 85, - "voter": "0x2d59309df7Ab517e554B5e9033f7950D57801Aff", - "support": true, - "votingPower": 0.001, - "transactionHash": "0xba61c71254c5ea2dddc8ab9bd9b6aea0a7504a950b72f2d5ba661542a8840a78", - "timestamp": 1657105413, - "blockNumber": 15088555 - }, - { - "proposalId": 85, - "voter": "0x42A01ba13F8F7Fc3999fec82cccd1f7459800487", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x8c46473a2136123eb0ef0bc9ba211eca580e4d15a3414bd13f965d858ead7ae1", - "timestamp": 1657105769, - "blockNumber": 15088578 - }, - { - "proposalId": 85, - "voter": "0xd29D6a0E29B160075809F67d3936b16619EDf83e", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x29f66317ed921ba22f0cc50269d1d7badcb1a8a9c3593ddcbaed8965eb65c82d", - "timestamp": 1657105779, - "blockNumber": 15088579 - }, - { - "proposalId": 85, - "voter": "0x1c631824b0551FD0540A1f198c893B379D5Cf3c3", - "support": true, - "votingPower": 1, - "transactionHash": "0x2fa6730b310518b63cea4e5f0161baf489785ae896e77e39b62465bbfcc31f84", - "timestamp": 1657105865, - "blockNumber": 15088589 - }, - { - "proposalId": 85, - "voter": "0x542DEF0BD5C808dDf56eBD35e84a4b1650518A14", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xaa4d92940d272ca54eda6cf7509b897e0c8c896a2dea7d994125daf68def7701", - "timestamp": 1657106053, - "blockNumber": 15088604 - }, - { - "proposalId": 85, - "voter": "0xad4745844bC838a22c6d63213507Bc888dEE3fc4", - "support": true, - "votingPower": 0.5, - "transactionHash": "0x2d52205b22e6c5110fff6e8e6a124583fc211045dd5b9e99d9f46dfbe3cebc3d", - "timestamp": 1657107332, - "blockNumber": 15088694 - }, - { - "proposalId": 85, - "voter": "0xcd5C1BB777C937d993bC5E16E48B1669bEcc77aa", - "support": true, - "votingPower": 0.5, - "transactionHash": "0x111aba3e5593b75336861409ac2b909dd0f2eced60ba084a7eedaae19c92e6a0", - "timestamp": 1657107332, - "blockNumber": 15088694 - }, - { - "proposalId": 85, - "voter": "0xBCCb2e1B4292D4DBb3F6A4C257BB5ec9bfC69fdA", - "support": true, - "votingPower": 0.22967136007561578, - "transactionHash": "0x78ba98b9864fd2b41aba5e5bda46fa6a4c3a18a127fb39c7e2e904cfa1df077f", - "timestamp": 1657107451, - "blockNumber": 15088703 - }, - { - "proposalId": 85, - "voter": "0xB8A9C37240E8B72F42a88f1099E6c61DC3e96756", - "support": true, - "votingPower": 0.5, - "transactionHash": "0x22398c8fca7e0a390f6059f9b3f9571e8f8eb5585dc7045ddb2d9793073403f7", - "timestamp": 1657107472, - "blockNumber": 15088704 - }, - { - "proposalId": 85, - "voter": "0xdf7A23B9e0d46E5a96fEAd2b324aa6f85FB7227E", - "support": true, - "votingPower": 0.001, - "transactionHash": "0x7d23904cc322f41378ae57cf653a7b779e06f09d284968c9bd42afdc732025dd", - "timestamp": 1657107535, - "blockNumber": 15088711 - }, - { - "proposalId": 85, - "voter": "0x892106dd258540d7EB82d0B634e421E4D0Ea1E19", - "support": true, - "votingPower": 0.15, - "transactionHash": "0x6490a4813da8087167a2e292cced082ed8c067e91ffad90a200b8b23aeae7c35", - "timestamp": 1657107689, - "blockNumber": 15088717 - }, - { - "proposalId": 85, - "voter": "0xce2c567Ae501631FC017E5461608eAa9ccDf281A", - "support": true, - "votingPower": 0.001, - "transactionHash": "0x710be4406db070a42d76a99a77a1d44a85be68a5608915300980ed914f251e00", - "timestamp": 1657107919, - "blockNumber": 15088732 - }, - { - "proposalId": 85, - "voter": "0xf5Df7f94806fA50D6A391fb59Fa68d751fAfa293", - "support": true, - "votingPower": 0.15, - "transactionHash": "0x227aaba8ef8b25bb1499b71005bd170fd21311531ed949c879a6bbcac18ae669", - "timestamp": 1657107990, - "blockNumber": 15088740 - }, - { - "proposalId": 85, - "voter": "0x8a0Ee7E98d5c3f49E1a9f8E5609B211250D774BC", - "support": true, - "votingPower": 0.15231441566601264, - "transactionHash": "0x9e6b3314662102fcebfe304493fe25ae6e8f4894cd83c15220fdc4fac77f5b50", - "timestamp": 1657107991, - "blockNumber": 15088741 - }, - { - "proposalId": 85, - "voter": "0x7821F8B55d58D508cEd1DD4cE031F0985ce1E46A", - "support": true, - "votingPower": 0.001, - "transactionHash": "0x3d5a3f7b594a65a538985cea6de3e04a145fb100217cb55894026ed4ecd88f08", - "timestamp": 1657108052, - "blockNumber": 15088747 - }, - { - "proposalId": 85, - "voter": "0x89ec3894e7832541eb1730263ea3532c0ee6BB67", - "support": true, - "votingPower": 0.25, - "transactionHash": "0xe150556c2eeeb45978d3b78108e4d224cc43158a6367a61eb1598282fabad937", - "timestamp": 1657108385, - "blockNumber": 15088765 - }, - { - "proposalId": 85, - "voter": "0xA094e287128d62e6e872DABA552ac139Bae71354", - "support": true, - "votingPower": 0.001, - "transactionHash": "0x9741a6fbc02b6e40b60bebaf1360baac77fe9cf2d2700143d880092f2c8d1822", - "timestamp": 1657109460, - "blockNumber": 15088830 - }, - { - "proposalId": 85, - "voter": "0xf7aA189442B2d5cC4846A363892f15Ff8B15f41c", - "support": true, - "votingPower": 0.001, - "transactionHash": "0x8629c8ed6baaa1b099d65ffbeb0aaabc0c1cfac9924d49b9915d4d60c3c4f926", - "timestamp": 1657109669, - "blockNumber": 15088844 - }, - { - "proposalId": 85, - "voter": "0x0F7E46D4a4397d06d43567c9F161ec2bbA57CF8e", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x74b6d676ecd2453e3fb2e5b08b22835dcc4e1f3e7ea9872c786e119767e934c3", - "timestamp": 1657109842, - "blockNumber": 15088864 - }, - { - "proposalId": 85, - "voter": "0x32066C4Ae40983D9D18b211FDE0FEE01CeaFF6b5", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x0e09c2a341c9c3cf56cd967fd84f0b1d23036e8c1e165b2d839792c5a351f5d5", - "timestamp": 1657110006, - "blockNumber": 15088877 - }, - { - "proposalId": 85, - "voter": "0x7c5C0816819e0Bd13146F1e7747F4786a59100A7", - "support": true, - "votingPower": 0.21, - "transactionHash": "0xd1330a0cae36fb683dd07ab52a41c5b5fafbfa7da7414ebf83df0b522e88d3a1", - "timestamp": 1657110339, - "blockNumber": 15088905 - }, - { - "proposalId": 85, - "voter": "0x5a50FC5452Fc71eFc6dC83936D82Fa376193d71F", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xe3d65db60ce628494c29d6cf044ecd5b76c30e16b48f3fbdb2597e4f2d8e2b36", - "timestamp": 1657110724, - "blockNumber": 15088940 - }, - { - "proposalId": 85, - "voter": "0xA5ce8f5Bd9CeDcbD774af1b646813361eFEfc65a", - "support": true, - "votingPower": 0.15, - "transactionHash": "0x0252eb4007e0ad21a7174ec8157d8d748c4bdfd86e255cc6b283d618c377de2a", - "timestamp": 1657110776, - "blockNumber": 15088944 - }, - { - "proposalId": 85, - "voter": "0xf2e089f2b09916F79229ef54883f5A4f0ed4626a", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x11fa88ac8b7018093fa81c085603b106ebb89197e9270c86c13b4a7020c86296", - "timestamp": 1657110931, - "blockNumber": 15088954 - }, - { - "proposalId": 85, - "voter": "0x5808f403d126A21EbCcbC7BBE7B02b7397e0B7D1", - "support": true, - "votingPower": 0.03, - "transactionHash": "0x820465af246c14341ee79f65a34d48994e70265b647551caef3f1d8559643c92", - "timestamp": 1657110944, - "blockNumber": 15088959 - }, - { - "proposalId": 85, - "voter": "0x2932f6f3e0B803764A5db5C75eed3FA5AB0dE2cF", - "support": true, - "votingPower": 0.25, - "transactionHash": "0xe0b903108609c8333b9e8ac402580cebfdc29b0bb85ca7749904dc9852816eb5", - "timestamp": 1657110948, - "blockNumber": 15088961 - }, - { - "proposalId": 85, - "voter": "0x23523C7EdE0e71b55ee7433da1734c710D2d292f", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x2a3b2f2d5a04a11bff752fd295bd617a2b49f7ce1fb1a0950e12e20ffcb04cce", - "timestamp": 1657111002, - "blockNumber": 15088968 - }, - { - "proposalId": 85, - "voter": "0x93EDD247a2E4cbd000708B04925569a341a34524", - "support": true, - "votingPower": 0.15, - "transactionHash": "0x174549d1aff15db76312ce6ba718a3b31ab4427b26751be9324e945c076d1e99", - "timestamp": 1657111002, - "blockNumber": 15088968 - }, - { - "proposalId": 85, - "voter": "0xE6C2C118FDbFeDB21f7F051E8a9360626a3F6d33", - "support": true, - "votingPower": 0.001, - "transactionHash": "0xb75787d718cdfc7d86528a7ac0b7e20960839bfa930c5debce5e6cf2e5e198be", - "timestamp": 1657111018, - "blockNumber": 15088969 - }, - { - "proposalId": 85, - "voter": "0x2900a1701BC7398A4203CC4F331138b75CE86C5d", - "support": true, - "votingPower": 0.156, - "transactionHash": "0xdbfce1a0e2dfd0ce9c3aec8db2afeae6ec96fdde1b2110fd6d3a9b8b0e97d0dc", - "timestamp": 1657111097, - "blockNumber": 15088975 - }, - { - "proposalId": 85, - "voter": "0x4c5875226220B52F578dA536453D29B33BCf5B3e", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x4357ae5626db1d63cccc99268b04c6ae0b57ba85d53f1711da76642e4375f82f", - "timestamp": 1657111104, - "blockNumber": 15088976 - }, - { - "proposalId": 85, - "voter": "0x046a65107B7f4Ca5Ba7742b928303c0F0917d843", - "support": true, - "votingPower": 0.151014, - "transactionHash": "0x9b4491ffa2927de08e6e4724c92d762f83ce07d2585401efc7471df5e9c17f47", - "timestamp": 1657111154, - "blockNumber": 15088981 - }, - { - "proposalId": 85, - "voter": "0x102717d982642B294AD4033b04F7B6262dac915f", - "support": true, - "votingPower": 0.001, - "transactionHash": "0x5e91b2c8bca3cc4e043796b99985d7b3dd2d627d459cb204ffb93cd0095fb4b6", - "timestamp": 1657111657, - "blockNumber": 15089015 - }, - { - "proposalId": 85, - "voter": "0x294388d7f62065784666F797ca6919a4B8CeF4ab", - "support": true, - "votingPower": 0.02, - "transactionHash": "0xd2272578bf1146c78c360c560f2a454705e5437ab4c44ada338bba14c162369a", - "timestamp": 1657113621, - "blockNumber": 15089155 - }, - { - "proposalId": 85, - "voter": "0x2e0d91866FE0b1e3c50829Bf3067dCde46720432", - "support": true, - "votingPower": 0.001, - "transactionHash": "0x6e06934bad18d614a6c6d00fa5759a5cfdc1592caadb5082c5261768a4c9b4be", - "timestamp": 1657114592, - "blockNumber": 15089230 - }, - { - "proposalId": 85, - "voter": "0xf7b8070C7a030345e1474BD5420f59A4Fd864fB4", - "support": true, - "votingPower": 0.001, - "transactionHash": "0xda7855bd9a10f26319e0d8974476772830780fb8a9a5e81a9ca914f04c05f68d", - "timestamp": 1657115316, - "blockNumber": 15089293 - }, - { - "proposalId": 85, - "voter": "0x329c54289Ff5D6B7b7daE13592C6B1EDA1543eD4", - "support": true, - "votingPower": 21.88090867064423, - "transactionHash": "0x7ddfc0f8192c9fe7315836dceec0070c7155a07b6bfd4176560a060e5d2d0ee8", - "timestamp": 1657117019, - "blockNumber": 15089429 - }, - { - "proposalId": 85, - "voter": "0xb1C4BFbB2487b32f57394497b1101d3416ad3912", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xc8b4a69e8535ed48be5c58f20e15fac27f0c114e8ddb5dc1bb2c0d211cc2b756", - "timestamp": 1657119734, - "blockNumber": 15089633 - }, - { - "proposalId": 85, - "voter": "0x62a43123FE71f9764f26554b3F5017627996816a", - "support": true, - "votingPower": 30.669202, - "transactionHash": "0xbedefb555e56afc8c36fcc8ca5a0001825eb228d5f818b767b35c834c54bb5cb", - "timestamp": 1657122411, - "blockNumber": 15089826 - }, - { - "proposalId": 85, - "voter": "0xDc7f569A3d8F100041707BE8CB711D22B6d5e256", - "support": true, - "votingPower": 0.001, - "transactionHash": "0xca4faf5f547892a1eb78e3b812e87bd87976c91ef6b4bab1a38d46d79bef0486", - "timestamp": 1657126241, - "blockNumber": 15090122 - }, - { - "proposalId": 85, - "voter": "0x6D29eB3fE1229DCcCaFe51A085234A0c76Ef6c8e", - "support": true, - "votingPower": 3, - "transactionHash": "0xf350814f1e9f1b8bda81a3cdce12ccc7a02b0e827b8cb886daa15beefc9893d5", - "timestamp": 1657132719, - "blockNumber": 15090606 - }, - { - "proposalId": 85, - "voter": "0xc4a936B003BC223DF757B35Ee52f6Da66B062935", - "support": true, - "votingPower": 92529.61013077926, - "transactionHash": "0x5c507f6283106ff2f8b0a824807d21db2d7b22a468ba622d540b67b90077f35a", - "timestamp": 1657133681, - "blockNumber": 15090672 - }, - { - "proposalId": 85, - "voter": "0x8dCF48FB8BC7FDDA5A3106eDe9b7c69Fc2C7E751", - "support": true, - "votingPower": 49055.11522889984, - "transactionHash": "0xd13dd25fbc39971a65ae5d174640f767144cad5cd0194543da0c21ab8e1769d9", - "timestamp": 1657133803, - "blockNumber": 15090679 - }, - { - "proposalId": 85, - "voter": "0x5F389707Fc094f5daaFf685ba8E47Ee56E31f51F", - "support": true, - "votingPower": 2.975488355324591, - "transactionHash": "0xdeb379df75c46cddf0bf876496d34124051457b3b8e3055ebba2a0a0a67b30cc", - "timestamp": 1657140410, - "blockNumber": 15091213 - }, - { - "proposalId": 85, - "voter": "0x3f505b9fdB7c75D27D45d3A899457dFFE3CAE17e", - "support": true, - "votingPower": 0.03, - "transactionHash": "0x173d4c69a234d27e20ec26114087d8b2dd3787874abf02d2d4119ccbe3a96904", - "timestamp": 1657142914, - "blockNumber": 15091411 - }, - { - "proposalId": 85, - "voter": "0x83D4C7Dc6a0a0c63b70B4964C930e64786712fEA", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x06408ab8f5a06b678c116161ebbf511adcaad7f28e007a000aab078f6e1dca46", - "timestamp": 1657142927, - "blockNumber": 15091414 - }, - { - "proposalId": 85, - "voter": "0x3D8983f01B2088f05497079cd0eDDa9760eeADB6", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xa60f686dd666dd4f7ac0ab3dced4d2e5a62bce3d46a99dd287bba9399fcef42c", - "timestamp": 1657162905, - "blockNumber": 15092886 - }, - { - "proposalId": 85, - "voter": "0x366e58737164430AF4AEd2856840be9BB148BDC7", - "support": true, - "votingPower": 0.05489998, - "transactionHash": "0xa2ae574a7b52615013236ee75601938fed0a1836220d9b63772a0947d5c1308a", - "timestamp": 1657162996, - "blockNumber": 15092892 - }, - { - "proposalId": 85, - "voter": "0xcDD3943f9094218575A7A06CE19fCeEFb8649F8f", - "support": false, - "votingPower": 0.001, - "transactionHash": "0x02c4f3b119456155fe70bf2b4f13da8f81a34837f686ec49557b6b4a3154d2d2", - "timestamp": 1657163255, - "blockNumber": 15092909 - }, - { - "proposalId": 85, - "voter": "0x8D6D5519a1f759D94E4ca2CAf572028e55eDfcBc", - "support": true, - "votingPower": 0.001, - "transactionHash": "0x997b8a912336254fa2728ddf3dcfe578a739955c896bf2febf5090ebb27ad394", - "timestamp": 1657163738, - "blockNumber": 15092937 - }, - { - "proposalId": 85, - "voter": "0xbB2558c3DAB34F5f68D750E2Bc0D07EE12398402", - "support": true, - "votingPower": 0.001, - "transactionHash": "0x9da54c14d1ce17b66a44e53abd9c201968c5068c115ac76d7aecec1d8e04a12b", - "timestamp": 1657167274, - "blockNumber": 15093195 - }, - { - "proposalId": 85, - "voter": "0xaD4464E2Bf5a0eE7F053dcc21b54F20622b9225E", - "support": false, - "votingPower": 0.001, - "transactionHash": "0x88417865a0528a1d40b560f3f4929da8b569efdb6c9ac9c266622ea157a4b5aa", - "timestamp": 1657167357, - "blockNumber": 15093205 - }, - { - "proposalId": 85, - "voter": "0xea6DFf45E978378957C68cC26821B4ba533B4322", - "support": true, - "votingPower": 0.00099999, - "transactionHash": "0x2f90bbc2e34b12c1ddaefbaf0d3eacf4e8b48fb20580d62c15dfbda488772144", - "timestamp": 1657167357, - "blockNumber": 15093205 - }, - { - "proposalId": 85, - "voter": "0x7EA5D1fa47aE7cE64EA260C20f08ddB8bEe24555", - "support": true, - "votingPower": 0.001, - "transactionHash": "0x9c839b3615ae1fd7bed559586751e9082f9c460e42bbcbabf03dfc171b3b325c", - "timestamp": 1657167357, - "blockNumber": 15093205 - }, - { - "proposalId": 85, - "voter": "0xB435020750a630A4BFF24E425d71bfC39fE5628C", - "support": true, - "votingPower": 0.001, - "transactionHash": "0xa69da94768279388e849e76455e8afb8612c743ffcc2c65b62d0979c3fa01b30", - "timestamp": 1657167357, - "blockNumber": 15093205 - }, - { - "proposalId": 85, - "voter": "0x1857A43cFE391B69E13011b03fd1d3F6a0f4e7d8", - "support": true, - "votingPower": 0.001, - "transactionHash": "0x32938bf92ae1f64430dd6818b9ed60f6de68d42ac565d616c4765287dca4d63e", - "timestamp": 1657167357, - "blockNumber": 15093205 - }, - { - "proposalId": 85, - "voter": "0x631ab8EB40588543dF900263F864b6376d56A587", - "support": true, - "votingPower": 0.244946, - "transactionHash": "0x69c7b232b3821d45925fcfdda9df352226dd1c1f8e98740377cf08602f0fbe4c", - "timestamp": 1657168075, - "blockNumber": 15093252 - }, - { - "proposalId": 85, - "voter": "0x6c4ADEa8f704410d4146368203856dc4c439ACDB", - "support": true, - "votingPower": 1.1109998510664045, - "transactionHash": "0x59a7b65c41cb7554b4f3d53301e7121df4e5cfe2954cd310dcb7a5feed8a9850", - "timestamp": 1657171778, - "blockNumber": 15093530 - }, - { - "proposalId": 85, - "voter": "0xECD02810Db92Ff027ea1b0850d46BdA963676D74", - "support": true, - "votingPower": 1.1, - "transactionHash": "0xd88d0b05b69aa199eb051f6543f64094937789947c974ef72b8a741fd121d3d2", - "timestamp": 1657171791, - "blockNumber": 15093533 - }, - { - "proposalId": 85, - "voter": "0x7b055cf71AA8175643C59baAA01Be7251dF604EA", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xeea30e13dd72029b6d455ad63def1536bc91f0f0eee9a3006e2f96ceaecf28d8", - "timestamp": 1657171971, - "blockNumber": 15093548 - }, - { - "proposalId": 85, - "voter": "0x49b3D93D811d33798401Be37677E523BDBbE1708", - "support": true, - "votingPower": 0.11866673053239289, - "transactionHash": "0x2547002eb709af6450552925de256961f88b7a370428ba0e8712e13ff1f8567d", - "timestamp": 1657172075, - "blockNumber": 15093556 - }, - { - "proposalId": 85, - "voter": "0x9F30391A08f8412814bc18a55a5aeaE03816C65A", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xefda63bf4dce021994faed61ea36a6a7a190200b8e41b893735d5a7c6842bbb9", - "timestamp": 1657173175, - "blockNumber": 15093639 - }, - { - "proposalId": 85, - "voter": "0xF34471132C23CCa106F0cDC3AF41De2Dd1cA82e7", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x1ce6a0acd103b3e37d84f95df6f8857dec7a85ae7aa3a91979401bd7a6f31b7b", - "timestamp": 1657174484, - "blockNumber": 15093724 - }, - { - "proposalId": 85, - "voter": "0x13dDA63C28bB95FE9822FEA43ad5fEaA966636a9", - "support": true, - "votingPower": 0.2780938009037342, - "transactionHash": "0x0954e04194d5b29664cb1acc7609c0b78c53b931e1c95ebaf5286c8d4ccab43c", - "timestamp": 1657174533, - "blockNumber": 15093730 - }, - { - "proposalId": 85, - "voter": "0xb92610A2086cC694bC6186B46e1d8D33d7A72239", - "support": true, - "votingPower": 0.00313, - "transactionHash": "0x676b65adc31e975fca47f9b4f3e0cec020eb2f03e4cf22b38cc9be589f100519", - "timestamp": 1657174631, - "blockNumber": 15093740 - }, - { - "proposalId": 85, - "voter": "0xD1570080bcB784b4F5E378dfd4cDfFDfd6C110f6", - "support": true, - "votingPower": 0.009154923754893938, - "transactionHash": "0x87d2d26968dbab392f92169a8f33c50486987cf1b42ef8eced13e950e45cb322", - "timestamp": 1657175535, - "blockNumber": 15093820 - }, - { - "proposalId": 85, - "voter": "0xDE7b0b50cDa77586348530C58c3d8f655bB2a0C7", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x6fd61ab8f5ed4832db0e34cc4279f010965c559aca781b9d296c56209d2696cd", - "timestamp": 1657176063, - "blockNumber": 15093870 - }, - { - "proposalId": 85, - "voter": "0xF0c635f9F02B07cfA65963e8E9757a84CC35881f", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x06717e03c05500fcd712334a0d1cd41e99d7773110ef83fec5930f6e3cdc048c", - "timestamp": 1657176063, - "blockNumber": 15093870 - }, - { - "proposalId": 85, - "voter": "0x09833DCA7ab636EC7058809876b88046738E2940", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x60bdb425132e100b67f24950e13d1e8393a2eedc90343a5f48789fff7b105626", - "timestamp": 1657176966, - "blockNumber": 15093930 - }, - { - "proposalId": 85, - "voter": "0xf61d7BFaE5745726845751ef235Fbb8878335D71", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xda4827acef5c3da79710fb6b5e0c6d4ffe0458a9739d6d4259198ba13812c8d7", - "timestamp": 1657177506, - "blockNumber": 15093971 - }, - { - "proposalId": 85, - "voter": "0x3E67019EC55b6C1D0C531b3D1d536681f01c8470", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xee55669625ea84547a2e585f85a5a7e4f49364447520cd3b9607a2c638e02b83", - "timestamp": 1657177575, - "blockNumber": 15093976 - }, - { - "proposalId": 85, - "voter": "0xE018e0372F27D16Ca567C7044c9B105d228e9C97", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x14abf1dc55ddf56353d37a18bb2b8dd1232a96bd04f3db0542efb247ebc64df1", - "timestamp": 1657177715, - "blockNumber": 15093986 - }, - { - "proposalId": 85, - "voter": "0x0b3240851E92FFc80e837f53Aa7560CBE1290F57", - "support": true, - "votingPower": 0.051, - "transactionHash": "0x36f4f7e6d8c99b2ce842615c66140907ce97d886263e883dc224542df1845f8f", - "timestamp": 1657177728, - "blockNumber": 15093988 - }, - { - "proposalId": 85, - "voter": "0x80AF5aFA7786A62F7c11E8c31cD1D871a4604c20", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x252b5a86ede4a5248e7cbf1e6b1302c6e253b6065ff965075d06a11a09a3c37e", - "timestamp": 1657177996, - "blockNumber": 15094007 - }, - { - "proposalId": 85, - "voter": "0x007d09e274d04b0a84E22931939F984e7F34A1E7", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x0e83e81dcfd91890d4914ce449b0827745ce69466c70d3cd2754113e04f941ed", - "timestamp": 1657179465, - "blockNumber": 15094119 - }, - { - "proposalId": 85, - "voter": "0x551A724010AD436d200A0a7697117689627AD5e8", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xa59d32a7c00782bac3bd9dae6d0a00e1a9fc81fafd78e9ada4e54a7ed2792c29", - "timestamp": 1657179848, - "blockNumber": 15094153 - }, - { - "proposalId": 85, - "voter": "0x95dEa4b3E8A197252743f9E4E9Ad3Ff6dDF0fEEd", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x0fd34ceb1f6cb19bca2aa4defbbb1e6a3b042236456c4f97e3e060fda8e839a5", - "timestamp": 1657179848, - "blockNumber": 15094153 - }, - { - "proposalId": 85, - "voter": "0x5fE2A08106DF08D82f89a73E0853Cd4466895A65", - "support": true, - "votingPower": 0.001, - "transactionHash": "0xa61aa5843012be0c9038dc64a525a9648aa1e9b1238e5821f32e8e0aa4d2dd2b", - "timestamp": 1657180071, - "blockNumber": 15094165 - }, - { - "proposalId": 85, - "voter": "0x1e2d99ACcC188FfBD77c0d476fF5A6AACfa96Ef9", - "support": true, - "votingPower": 0.001, - "transactionHash": "0xffecb23bbb45cee589f75d1aa3ae07d4f6d0d12f1c95d2f8d4ff3a3e6350d410", - "timestamp": 1657180169, - "blockNumber": 15094173 - }, - { - "proposalId": 85, - "voter": "0x28872bA19147c04b40C0769B170a40faA52Ab26c", - "support": true, - "votingPower": 0.101, - "transactionHash": "0x5e361ce2f8af9171dfea47e74c3422aac24393f2906663589d97bec621c4a08b", - "timestamp": 1657182919, - "blockNumber": 15094407 - }, - { - "proposalId": 85, - "voter": "0x4dbfce0D1e297524631B6a26852572380Cd56aAD", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xf9686c1275a47d2d80739c6c32ab06ea7857ed04a1a8348f8b9ac197867985f1", - "timestamp": 1657183191, - "blockNumber": 15094434 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 86, - "voter": "0x329c54289Ff5D6B7b7daE13592C6B1EDA1543eD4", - "support": true, - "votingPower": 21.88090867064423, - "transactionHash": "0x5191e8ea33ef5735973834a425d27dc640301171e747f55305044de7565a86e3", - "timestamp": 1657207508, - "blockNumber": 15096225 - }, - { - "proposalId": 86, - "voter": "0x8Dd0F1C1BDEf8e2C180df44d348db44494C54Ea7", - "support": true, - "votingPower": 0.11973361215093221, - "transactionHash": "0x8f8ed14312bf6928a7359d8b5d843a189e6d87bdc49f483e6b28a453431fe6c9", - "timestamp": 1657243286, - "blockNumber": 15098933 - }, - { - "proposalId": 86, - "voter": "0x08fECB006F7edCE664eDF7B21F61f5EfC4D7aCF9", - "support": true, - "votingPower": 0.1006443538168045, - "transactionHash": "0xf312b2f61d8e20baa86242b8ca9318ea4ee271e6928729e2865c4871b8d934db", - "timestamp": 1657243951, - "blockNumber": 15098986 - }, - { - "proposalId": 86, - "voter": "0x5B060d8C21B60d6904052BE0Dc6C2Eb1888De74C", - "support": true, - "votingPower": 0.10722431074624417, - "transactionHash": "0x0cfb36fbd64db65118f86a18e654f8634c2702757decfa74a7202376fc11d538", - "timestamp": 1657244720, - "blockNumber": 15099042 - }, - { - "proposalId": 86, - "voter": "0x301b3410F3C3FeDf8f90ad465964a45861B1773e", - "support": true, - "votingPower": 0.10533481371745422, - "transactionHash": "0x2739de6cd9c121eb27cdcc0523e0e10e6929be5a7b36bb172d1f679edd314251", - "timestamp": 1657244925, - "blockNumber": 15099062 - }, - { - "proposalId": 86, - "voter": "0xeC0b276dfe3D75237F356b4092402a3d0e7b724b", - "support": true, - "votingPower": 0.10320499840582133, - "transactionHash": "0xc9127c6425098ba33173dcaf48f2bad45a1f4fbe2403133d779be03249c73e38", - "timestamp": 1657245350, - "blockNumber": 15099090 - }, - { - "proposalId": 86, - "voter": "0x2835600819dc2633611d600C488a52C6AF4908f2", - "support": true, - "votingPower": 0.10401153763748364, - "transactionHash": "0x47059816f402c3e708f4a2505ac5ff81fcff9c5083979f457fcaab1ff5253450", - "timestamp": 1657245390, - "blockNumber": 15099095 - }, - { - "proposalId": 86, - "voter": "0x8E6583b679c10e648D415BA48D57Cf3C2dC00F7F", - "support": true, - "votingPower": 0.10570864300681156, - "transactionHash": "0x4b39d77ce57e069d88d8ad76fd8172a6d0927c84f87e909cea51445ff54fe5cc", - "timestamp": 1657245445, - "blockNumber": 15099099 - }, - { - "proposalId": 86, - "voter": "0x2c6141c6c7aaf27dD1BE50bfdF5409F0Ca986eE2", - "support": true, - "votingPower": 0.10878172213773987, - "transactionHash": "0xbbaddacb8d63674e5898aa267fa872147913a00faae6372201ca145047b79c7b", - "timestamp": 1657245484, - "blockNumber": 15099102 - }, - { - "proposalId": 86, - "voter": "0xFCE7FB5D5548b821b02ad99E398bb38b27FD626C", - "support": true, - "votingPower": 0.10823061839336548, - "transactionHash": "0x6e3f3b7d9e5edcbf1fee7ad4f3dfaf75f47eed63e0ee5565f10ccfc6427a7007", - "timestamp": 1657245502, - "blockNumber": 15099103 - }, - { - "proposalId": 86, - "voter": "0xbC2Ff35020ffF6Df7AE8a0b154938cE5C5e459C9", - "support": true, - "votingPower": 0.1082189455222498, - "transactionHash": "0x332d563deded35fa1b637b49d9877fad0eb6b12c008962e703d891c78ad48a79", - "timestamp": 1657245515, - "blockNumber": 15099105 - }, - { - "proposalId": 86, - "voter": "0x3d5E234B544c57e79B7f624e544B90AA974b79c9", - "support": true, - "votingPower": 0.10773712221172291, - "transactionHash": "0xe7cec05316f933ef4db7e6ab0aa399d18df16171038b09532bb85988e2428159", - "timestamp": 1657245583, - "blockNumber": 15099112 - }, - { - "proposalId": 86, - "voter": "0x60f1e68a7ffe5E5c33a3844838112575F00929ad", - "support": true, - "votingPower": 0.10772552938124977, - "transactionHash": "0x0adb2048ac7300379025d01f73fba70567b7832f9c5d212e7ba966b19075b5bf", - "timestamp": 1657245623, - "blockNumber": 15099118 - }, - { - "proposalId": 86, - "voter": "0xA0556E8e8b617f184c6948DF2c08AC795036DAA5", - "support": true, - "votingPower": 1.0330950768363638, - "transactionHash": "0x486b3ec64dc9fb98b2dc49de1f8b3a5bee41c50b7efd2fd7ea136758d7e838f9", - "timestamp": 1657250893, - "blockNumber": 15099508 - }, - { - "proposalId": 86, - "voter": "0xA0efD27acC781549D5b78e89E561AA0903932d56", - "support": true, - "votingPower": 8.002657782527367, - "transactionHash": "0xd96ea0282e45c72d403d3ce9dac6b3aae5758476c218b5d0e201ed7a69729e50", - "timestamp": 1657256233, - "blockNumber": 15099916 - }, - { - "proposalId": 86, - "voter": "0x562BF1B67Dc40d9b7C3ddd49E45aE58e61E1B76E", - "support": true, - "votingPower": 0.06384445632619642, - "transactionHash": "0x900c0598ee13dcf23a081767dcc07821f72b5fd1ceb2e355bb5f2145d17f94a0", - "timestamp": 1657258246, - "blockNumber": 15100053 - }, - { - "proposalId": 86, - "voter": "0xF06F09C65635ea3dB2F6255cABeFcc11d28f2ef2", - "support": true, - "votingPower": 0.36, - "transactionHash": "0x39af9b096645522bc3c5de5f3510cd67908e35264088dfd7f5c058b0b13c3a9a", - "timestamp": 1657258355, - "blockNumber": 15100057 - }, - { - "proposalId": 86, - "voter": "0xe35D5Ca7Dd27BDa27FA571b888aB0b4d085FA831", - "support": true, - "votingPower": 8.694202407664134, - "transactionHash": "0x251f9468506c0997ee1019156f1e5476b40a6ff7045caf5e3e02e7be7323a003", - "timestamp": 1657258385, - "blockNumber": 15100064 - }, - { - "proposalId": 86, - "voter": "0xc062Eeca3891539F75054b1060997aa3459b7390", - "support": true, - "votingPower": 0.06, - "transactionHash": "0x260cad2cfa1593b25a681dccbd88dfa7dff074fabb9d7ba8092827d63ff2738b", - "timestamp": 1657258402, - "blockNumber": 15100068 - }, - { - "proposalId": 86, - "voter": "0x184F44a581a3FDf67e834Cf2A0F193CbDd08A3b9", - "support": true, - "votingPower": 0.08000165, - "transactionHash": "0x918732db292feba3ff48748962fab146ba75fe794e0c556b920a1cadd57d84f8", - "timestamp": 1657258451, - "blockNumber": 15100073 - }, - { - "proposalId": 86, - "voter": "0xdC09eb652D4568c3E22D176BCe8F5eFb12aF7716", - "support": true, - "votingPower": 0.06, - "transactionHash": "0xd92ade7529b48a9ca47671b002030a8ec24b02cc59e7df5693b42a2bc3969dfb", - "timestamp": 1657258491, - "blockNumber": 15100076 - }, - { - "proposalId": 86, - "voter": "0x40276bA5EfDFBBf749557f6B2A094ABd78197164", - "support": true, - "votingPower": 0.06635298115685384, - "transactionHash": "0xf40d44d6aa6ba4b1b4854977919a524e0b2f2c986e09510477dc73c47a46d030", - "timestamp": 1657258567, - "blockNumber": 15100080 - }, - { - "proposalId": 86, - "voter": "0x76363226b9E31b78C2077Ecea78F440D81299f39", - "support": true, - "votingPower": 0.05, - "transactionHash": "0x41115152673a1078e27ec662fae889ce05dc4ccf6143db428127c05e7043dc13", - "timestamp": 1657258625, - "blockNumber": 15100083 - }, - { - "proposalId": 86, - "voter": "0x196a37946C3D93e9A5309f539ae28b774a32411F", - "support": true, - "votingPower": 1.337139276378288, - "transactionHash": "0x8417d05cbeee76ef9cc851c30b2981e75a1d7045b4e11a250df8994bd358e986", - "timestamp": 1657261787, - "blockNumber": 15100313 - }, - { - "proposalId": 86, - "voter": "0xa8293Dd8eb52564a35b8357a539146321b934153", - "support": true, - "votingPower": 0.011222278994650404, - "transactionHash": "0xa76f2130d9ace29eae542afd7359d5e3ef8259da18d859365d4d91e287f29fe5", - "timestamp": 1657266024, - "blockNumber": 15100626 - }, - { - "proposalId": 86, - "voter": "0xa9F1fA575864Cd58fF145CF2b41F23F7BD31ab5e", - "support": true, - "votingPower": 100.190473, - "transactionHash": "0xdf732cef68024f7fe06cc729a49a0b78c7f325193333ea4a5f95b49aea9e441e", - "timestamp": 1657271415, - "blockNumber": 15101017 - }, - { - "proposalId": 86, - "voter": "0xaFDAbFb6227507fF6522b8a242168F6b5F353a6E", - "support": true, - "votingPower": 93459.962854, - "transactionHash": "0x8be682fe856cc2bc9eab5394f1c9625da66a1114af3dea24740176e04579ef81", - "timestamp": 1657272567, - "blockNumber": 15101091 - }, - { - "proposalId": 86, - "voter": "0x9DD27621eAcAa37F8421DD995bB556ff12189B07", - "support": true, - "votingPower": 16.99980586, - "transactionHash": "0x75e941edae00ac78e9aaba5801d705210e10a4ac4d4ccaa25449852c39ffa882", - "timestamp": 1657273942, - "blockNumber": 15101189 - }, - { - "proposalId": 86, - "voter": "0x018361ab87160C898CA7Bc3Ca6876c0A7596816e", - "support": true, - "votingPower": 25.73215427, - "transactionHash": "0x939fd23a7af186eb928d6fe0fff47ea4e2ad2aa111f522d4cfd2fe43df97d548", - "timestamp": 1657274157, - "blockNumber": 15101211 - }, - { - "proposalId": 86, - "voter": "0x5B3145d2F61F2d17Ae1f4d65dc48e987A47B5929", - "support": true, - "votingPower": 1.54209846, - "transactionHash": "0x3db60f0edb700f03dc2ba451d6267aca8a2137c5e7165092373826f912404ce0", - "timestamp": 1657275464, - "blockNumber": 15101320 - }, - { - "proposalId": 86, - "voter": "0x529408a6962Bae6Ca5328874d633738116B89B05", - "support": true, - "votingPower": 1.0791909726913655, - "transactionHash": "0x9f969286536b122715fb8fbc991438b4464c9abe375a05b9cb49a90801955c12", - "timestamp": 1657281814, - "blockNumber": 15101795 - }, - { - "proposalId": 86, - "voter": "0x485b0c5E93947010F9Fda2bA50de23FcEfd58F29", - "support": true, - "votingPower": 0.06529872425836444, - "transactionHash": "0x1956f1766b84779f0c2e92923e75a37b406f9f646681a42a1170658d739ba3d9", - "timestamp": 1657282839, - "blockNumber": 15101877 - }, - { - "proposalId": 86, - "voter": "0xA8c4e3ce1743D0f2A6c227548C982a7C40569940", - "support": true, - "votingPower": 0.16867781, - "transactionHash": "0x43ec5978a5de715e0d77a2538b59a1698f1aac20c0370273e491ce54ff903ca8", - "timestamp": 1657303242, - "blockNumber": 15103413 - }, - { - "proposalId": 86, - "voter": "0x33482803274C5e08661843636DceE8E9A68c7252", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0x9e32a54178e7b4880d371ada94a9ffb195303f1237be702800a87343f084eb29", - "timestamp": 1657305660, - "blockNumber": 15103611 - }, - { - "proposalId": 86, - "voter": "0x347Bb83E4ab465C8C6b7afaB3BEB373410A9Cae2", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0x24655a29c2d737dce90def134dfd9cd8dcb74998ffe8c393cace727875f0315d", - "timestamp": 1657305679, - "blockNumber": 15103613 - }, - { - "proposalId": 86, - "voter": "0x9fD9Bb687696f19038892989876Bd6dC96Abd769", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0xb9ceab2a00c29cc232a47951e01811de0bcab5ee8fc16005cf8db25080fb688e", - "timestamp": 1657305679, - "blockNumber": 15103613 - }, - { - "proposalId": 86, - "voter": "0x9E73201903164d3B476505f3C54F86cdCD4010DF", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0x6671584750c8721347260b9fb934e46cac7e0bc2cbd01966b5810b2cdec4a1a8", - "timestamp": 1657305679, - "blockNumber": 15103613 - }, - { - "proposalId": 86, - "voter": "0x949aD06a4c904cd0B31AE2F56AaE0eC68C16CCAc", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0x0c4f1f2abc01313153e059f135dabe414cb222631f037b06154aba1cc4aed120", - "timestamp": 1657305702, - "blockNumber": 15103614 - }, - { - "proposalId": 86, - "voter": "0xFBE6915fB22DFe6b42a7c50b43B45bF692681e5D", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0x3650287ac61d7200b8fef70704c4923205e824e1eac7a9128bc2ab23bf326de5", - "timestamp": 1657305702, - "blockNumber": 15103614 - }, - { - "proposalId": 86, - "voter": "0x0585c0d0aEdF071a07992ad650bdc047Cef0c04F", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0xd53b56c9605f5b6ecbf0913b41b6faf036c550474be126f25f2cbe905b78cea1", - "timestamp": 1657305744, - "blockNumber": 15103618 - }, - { - "proposalId": 86, - "voter": "0x69389398e4D903b02010e20d308ee58EA8D6D714", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0xe74a93049add01c4ec3d092fde6078747a9abc0b1d8bc904cf6f1c9486ef28b4", - "timestamp": 1657305744, - "blockNumber": 15103618 - }, - { - "proposalId": 86, - "voter": "0x99D305dfc38CEfA91cB1129387681eDe4c93e87D", - "support": true, - "votingPower": 0.03620082, - "transactionHash": "0x6cf8e3b331e3444da3705ac4621ad0037196b711e55b4c5b96c1ece3a681ca41", - "timestamp": 1657305744, - "blockNumber": 15103618 - }, - { - "proposalId": 86, - "voter": "0x683a4F9915D6216f73d6Df50151725036bD26C02", - "support": true, - "votingPower": 62742.79405115374, - "transactionHash": "0xac256c0f57963fe1826a3e1e2bfb0fca0842e44cf8f56d1f8696eb1f5baf59fa", - "timestamp": 1657310433, - "blockNumber": 15103992 - }, - { - "proposalId": 86, - "voter": "0x33e02dcFF88ba6ad64fee33dde1FE29c50210124", - "support": true, - "votingPower": 25.589594656232048, - "transactionHash": "0x1368e6df9f2d3c5167f5568d281dab1f31ce62e6be16407d92f4e6e5aa134e33", - "timestamp": 1657311710, - "blockNumber": 15104085 - }, - { - "proposalId": 86, - "voter": "0xc21611A12525D3aB940c339b8aE4C4BE5865B6a2", - "support": true, - "votingPower": 0.11382236582795392, - "transactionHash": "0x31a8cfc98bb1b42833c97441e4325dd5429ca7780426129233157bad4c5e31af", - "timestamp": 1657324541, - "blockNumber": 15105056 - }, - { - "proposalId": 86, - "voter": "0x40Cb0B19D71Eda986C275c85A6e5b26b6AC7E2E4", - "support": true, - "votingPower": 0.09511727369202091, - "transactionHash": "0xc17acc81b19e970285e10e367dc3b500e1e26903cbee674a716447191a0ddf28", - "timestamp": 1657325199, - "blockNumber": 15105106 - }, - { - "proposalId": 86, - "voter": "0xBCCb2e1B4292D4DBb3F6A4C257BB5ec9bfC69fdA", - "support": true, - "votingPower": 0.22967136007561578, - "transactionHash": "0xffc78afbc5c40dac0624fbcb2a5b53fbcc466cd2f18aef9934b0386407a794ab", - "timestamp": 1657326680, - "blockNumber": 15105212 - }, - { - "proposalId": 86, - "voter": "0x7ADbD800d49D2A75A736c97CD32b1B9AEEC3D24F", - "support": true, - "votingPower": 0.14847450883246788, - "transactionHash": "0x3c8a86a6c381d04a88dced32fa3501d121a62174b7db531994198ed15a010f0c", - "timestamp": 1657327555, - "blockNumber": 15105294 - }, - { - "proposalId": 86, - "voter": "0x8755f08374bB0bc598681C324913CBde3283AC18", - "support": true, - "votingPower": 0.3194277316688895, - "transactionHash": "0xe11779332db30adf551eb3239c67794da535a846081d65ac777d7bfd0a23aaef", - "timestamp": 1657327884, - "blockNumber": 15105314 - }, - { - "proposalId": 86, - "voter": "0xBD90F0243173E91385224a8117212d17C2E9e494", - "support": true, - "votingPower": 0.022079767861370916, - "transactionHash": "0x8e5ce7f2f107a4ec5dde03bb8cd0ddaf16cc0c6cac4ccc83ecd211c85c8c1521", - "timestamp": 1657329345, - "blockNumber": 15105419 - }, - { - "proposalId": 86, - "voter": "0xC576eb3a729BC7B2Faff54B1752A8Bf05c00A12A", - "support": true, - "votingPower": 2.237058, - "transactionHash": "0x2721ce6abbfa85234caa2b88a7579952bfdb1d3fa024b9ac7fbeeda778ba564b", - "timestamp": 1657340551, - "blockNumber": 15106169 - }, - { - "proposalId": 86, - "voter": "0x070341aA5Ed571f0FB2c4a5641409B1A46b4961b", - "support": true, - "votingPower": 9999.9999, - "transactionHash": "0x560d47ab9735ea34319da659b75b5890fc4509a437225cb4c046e55633ea89a3", - "timestamp": 1657342881, - "blockNumber": 15106333 - }, - { - "proposalId": 86, - "voter": "0x9afF41a486CB48873C4F55c8ceA4bF35dEe57d87", - "support": true, - "votingPower": 0.275, - "transactionHash": "0xbae9fdca160efaca0847e0380462cd0ed5fb2b2bd6445c9be5320eab7c125c07", - "timestamp": 1657343939, - "blockNumber": 15106409 - }, - { - "proposalId": 86, - "voter": "0x0b683590F3F6637a890a4dfa007a229F16897fF4", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x4510d02ba2f43f9c1e6491ac4f69fa0a9946aade98c86cdb4c177187c0bf7c9f", - "timestamp": 1657344157, - "blockNumber": 15106433 - }, - { - "proposalId": 86, - "voter": "0x69ed884522820266F6d50c0e71E7d90ec4048Cd4", - "support": true, - "votingPower": 0.10000001537709459, - "transactionHash": "0x276f14ec4b10eacebe6286640e6f698386403159fa526f85826fbfb3bdcbf029", - "timestamp": 1657345111, - "blockNumber": 15106510 - }, - { - "proposalId": 86, - "voter": "0xE8d601728CF47a31c0fB45Fc7fCEBAf3E25c5374", - "support": true, - "votingPower": 0.10000000780620125, - "transactionHash": "0x8d3383f50e7d82dc1cd33d3e7fdcd21f6a66fde60d4e7b4486ab29c95fb9a985", - "timestamp": 1657346314, - "blockNumber": 15106612 - }, - { - "proposalId": 86, - "voter": "0xf4B0B32B9Fb3d9289674424447715EB694e9974A", - "support": true, - "votingPower": 0.10000000905509501, - "transactionHash": "0x98953ae4c0537732cd754456e1cadcce656a89e3c1d6e23c6d7fe60ea2043262", - "timestamp": 1657346695, - "blockNumber": 15106643 - }, - { - "proposalId": 86, - "voter": "0x893d2B013937F00e70bc5edC00ddFEd8cdc636B0", - "support": true, - "votingPower": 0.100000003367006, - "transactionHash": "0x257ce19c9ca2ccb5b7bd823c3f8c550497c74a519416d728ae0da4bef65b739d", - "timestamp": 1657346946, - "blockNumber": 15106660 - }, - { - "proposalId": 86, - "voter": "0x236884bb674067C96fcBCc5dff728141E05BE99d", - "support": true, - "votingPower": 1, - "transactionHash": "0x5abd190522e2f89831c7546245e1b6087385b7809379ff220c79a667afb9eb6e", - "timestamp": 1657351678, - "blockNumber": 15107035 - }, - { - "proposalId": 86, - "voter": "0x89862CBBE11A0d5aF808f1428c8D8542e2356044", - "support": true, - "votingPower": 0.1000000140280579, - "transactionHash": "0x7edb8baf62c2e832fc1daef692df9bfe74c9ff6b6c03ed737a58fc25e9869b35", - "timestamp": 1657351998, - "blockNumber": 15107057 - }, - { - "proposalId": 86, - "voter": "0x5F8AE1A4D621432c218eC44c20eDb0AB469bCb4f", - "support": true, - "votingPower": 0.15000001246463432, - "transactionHash": "0xa98a24ec9414d9af5d425b92b4823e99076aa59b178a8564f3a1814d50eb0c7b", - "timestamp": 1657354760, - "blockNumber": 15107269 - }, - { - "proposalId": 86, - "voter": "0x8a0Ee7E98d5c3f49E1a9f8E5609B211250D774BC", - "support": true, - "votingPower": 0.15231441566601264, - "transactionHash": "0x7409479ed5ec11be8130f86f1ab4b32ca7bb6bf953d45fc89c454cd3ec35d926", - "timestamp": 1657354837, - "blockNumber": 15107275 - }, - { - "proposalId": 86, - "voter": "0x2B6F8e4B67657260001962772f44339c0fb4E3fC", - "support": true, - "votingPower": 0.10000001411713756, - "transactionHash": "0x572b6ec75d4e7a45290269609ebb2fd9d80e2a6037220cf83f5a4f94cb6f7d4f", - "timestamp": 1657354944, - "blockNumber": 15107282 - }, - { - "proposalId": 86, - "voter": "0xECD02810Db92Ff027ea1b0850d46BdA963676D74", - "support": true, - "votingPower": 1.1, - "transactionHash": "0x90af57eced04c082db150afe817f32d12f6317030af02575be4b96793a11444c", - "timestamp": 1657356505, - "blockNumber": 15107399 - }, - { - "proposalId": 86, - "voter": "0x6c4ADEa8f704410d4146368203856dc4c439ACDB", - "support": true, - "votingPower": 1.1109998510664045, - "transactionHash": "0xa51e00d126e89ba93092b6292ca01b929f8b1d050c26ea20123c1ac7fc4cd3b5", - "timestamp": 1657356505, - "blockNumber": 15107399 - }, - { - "proposalId": 86, - "voter": "0xE478C8F35F18D694bF85352317339a3ee17A9daa", - "support": true, - "votingPower": 0.20000000587995448, - "transactionHash": "0xa968bb677af8c4ed9efe7d42b695a42669ff4ea31c2cb37a0f9d66b175281795", - "timestamp": 1657356597, - "blockNumber": 15107406 - }, - { - "proposalId": 86, - "voter": "0xdd45542cCf17A16F5c515c20db7F7C7D8bB74Cc5", - "support": true, - "votingPower": 65498, - "transactionHash": "0x2c5827e96da61ecd496db7c6c8b06ade12a51969c7eedfc9eb1f0b9a8cd32c3b", - "timestamp": 1657358373, - "blockNumber": 15107527 - }, - { - "proposalId": 86, - "voter": "0x2ccBF7C691C1725E1b6D8dC6A4304f3227B31F75", - "support": true, - "votingPower": 0.101, - "transactionHash": "0x948de68d21f13c374754ad1adc810a0fb45092a197960c90b2b9a2e0343cbead", - "timestamp": 1657362332, - "blockNumber": 15107796 - }, - { - "proposalId": 86, - "voter": "0x89AbfB83EB5f6a01317a42dB64eff5291C1dfBaB", - "support": true, - "votingPower": 7.54724616, - "transactionHash": "0x5e194ed2d5a427aacf0e5fcb7d471192000aad6141d247cacfa61eac1db33a56", - "timestamp": 1657362448, - "blockNumber": 15107811 - }, - { - "proposalId": 86, - "voter": "0x8C69f8D2F360d0bd12cB73b92E90a380e32987BB", - "support": true, - "votingPower": 1.0049999339286548, - "transactionHash": "0xa0c0b67998395717509575ee29d07132c6b790a351736574ec307088c80fb50f", - "timestamp": 1657363267, - "blockNumber": 15107868 - }, - { - "proposalId": 86, - "voter": "0xa6660932dc1556Ea11116982Ae2A37F64f95acE6", - "support": true, - "votingPower": 0.1867803535558114, - "transactionHash": "0xc1c53142823ea35d8dd49939decc99294b5d2fca50999be305c82da8f5b49d5f", - "timestamp": 1657364342, - "blockNumber": 15107940 - }, - { - "proposalId": 86, - "voter": "0x601091af1314491f4E3088f8f0FfF80D31Fb0E1e", - "support": true, - "votingPower": 1.021201524444363, - "transactionHash": "0xd87e48d5047260089c3e109ba361bf367b5792aa7abd2d71535ab69bde2ba533", - "timestamp": 1657365393, - "blockNumber": 15108024 - }, - { - "proposalId": 86, - "voter": "0xa8541E4b65bAe5a703c333970Be1Bb85f2658591", - "support": true, - "votingPower": 1.1, - "transactionHash": "0x75a900ab05e8de74825725635209788d490f042ff9d4229cf8f25d9d293d1ed3", - "timestamp": 1657368144, - "blockNumber": 15108223 - }, - { - "proposalId": 86, - "voter": "0x36Bf12154A40B151E9a87A5Ca11Cb4934Dd3EdEd", - "support": true, - "votingPower": 0.11000000387498157, - "transactionHash": "0x62884d78d22ca4684795947e371fd059e7fe70abcaa16f54a376438ad1b34a24", - "timestamp": 1657368193, - "blockNumber": 15108227 - }, - { - "proposalId": 86, - "voter": "0xe77e6B7f2127d758811B19e48422E40c6625eD41", - "support": true, - "votingPower": 0.85363745, - "transactionHash": "0x58109f3fee4d069bbe8f60357a1a25c00a5995e603c185b273cfe866aa95c3f4", - "timestamp": 1657368417, - "blockNumber": 15108239 - }, - { - "proposalId": 86, - "voter": "0x9CB0525D06c14aA22c18414dC6EE4Cf4edb27566", - "support": true, - "votingPower": 0.11, - "transactionHash": "0xf24f4fbc5501b2b0b3377e27cc29eee8aa6b376d73c3b0bfab2a3bf441d1298a", - "timestamp": 1657372270, - "blockNumber": 15108542 - }, - { - "proposalId": 86, - "voter": "0xEAA6A500543581753eF27d1Def789458B3b102aD", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x31c5b56d8ec896c947c2e9b550990ab5e34253d84f79b33d1ccd850c2da2c8f7", - "timestamp": 1657372371, - "blockNumber": 15108555 - }, - { - "proposalId": 86, - "voter": "0x7bFEeF335b5F0BfA62fdCD9Ce718B469eB7C310f", - "support": true, - "votingPower": 0.22, - "transactionHash": "0x300297d0e80a4e22f6bd53c904328ad372233e5b8dfd5bc76db1c6fef9e58a52", - "timestamp": 1657372410, - "blockNumber": 15108561 - }, - { - "proposalId": 86, - "voter": "0x6488ea4A5177ADC1B150BB7C13944Ed3AB6A85a6", - "support": true, - "votingPower": 20, - "transactionHash": "0x5ed9fc87180b2fcd92da13f21d879e30dc66c5506170f2ba5994e1b237a6f8a3", - "timestamp": 1657373415, - "blockNumber": 15108651 - }, - { - "proposalId": 86, - "voter": "0x99e284aB353E12bF709E6f03f90543e574364101", - "support": true, - "votingPower": 1.6255932083263307, - "transactionHash": "0x9a2faaa7e610ce270ddc370955b99ec2a5f20889995d6f9622b289466d9ff8c1", - "timestamp": 1657373481, - "blockNumber": 15108659 - }, - { - "proposalId": 86, - "voter": "0xFaee4eDdD05510bBfBfC9142e20d03F8C7595B00", - "support": true, - "votingPower": 28.684627520617788, - "transactionHash": "0x9cff1eb37a20d5b073104824f7f11f6fc818fb54c63491697f22d65e9a59d300", - "timestamp": 1657373548, - "blockNumber": 15108662 - }, - { - "proposalId": 86, - "voter": "0xb8C2C0Aa32a95351ffa9450509C62379a42a4f87", - "support": true, - "votingPower": 19220.736395967462, - "transactionHash": "0x313bdcda1588e0c6085c8bb90b18c8231fd1ca323af3f7be97041a1c427ba5a7", - "timestamp": 1657379614, - "blockNumber": 15109158 - }, - { - "proposalId": 86, - "voter": "0x1684C382352FA8992E2d12264b08CBFd8E06b7b1", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x924e1756883c4c6474e0f56bf05a2e33e951619f9875b5a0f928d653584964b4", - "timestamp": 1657385279, - "blockNumber": 15109582 - }, - { - "proposalId": 86, - "voter": "0xcb6DDd92f9705D6196DE25eE5bb89D06e5045F5F", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x32fec2718589ce8074e3b4fb72e7294b206225c72dcb5bd79c393eb3a10698ed", - "timestamp": 1657395329, - "blockNumber": 15110308 - }, - { - "proposalId": 86, - "voter": "0x97f5f2731B4c3839FFAa2696EB9Aa0d640f1d380", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xf26443eeecde819f9390db58259a6ff154bc412dfadc434f2de12d27401e820a", - "timestamp": 1657395417, - "blockNumber": 15110315 - }, - { - "proposalId": 86, - "voter": "0x19eAdE6e4e5cF16fe0b15e47c39AB565FB8e734E", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xd9610173c9d815670c0780b8dfd933712889d9b5f758d4dae54fe6b8e16416b4", - "timestamp": 1657395417, - "blockNumber": 15110315 - }, - { - "proposalId": 86, - "voter": "0x98C4A5691E20edCd48C4BD5AFE6527B17f5b187e", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xced4796ab8745d114113d95b043029714256a7310263e2d7a3feeb44296d78f8", - "timestamp": 1657395593, - "blockNumber": 15110331 - }, - { - "proposalId": 86, - "voter": "0xcbf512e5590d45973b5570964A6326Dd442f38Ad", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x6ae81bc0f68007ab80a86a37700f9aea19395d1926c90662b92143820c6c759e", - "timestamp": 1657395627, - "blockNumber": 15110334 - }, - { - "proposalId": 86, - "voter": "0x52407A233Ac443e2c43B1cb08aa9f7c50D23708f", - "support": true, - "votingPower": 0.11, - "transactionHash": "0x18c5e74d86189f00dc039ef71ff1145ee635f8222e662e451505cd968d799bc9", - "timestamp": 1657395671, - "blockNumber": 15110335 - }, - { - "proposalId": 86, - "voter": "0xbF3140FE434e3C34B1A44CEd4B8f5d5fac0c2F26", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x623fde1f6708f615c8a655f809a83db6e5d4447bf3fca87ef1e20dccbd6972f7", - "timestamp": 1657395968, - "blockNumber": 15110358 - }, - { - "proposalId": 86, - "voter": "0xa178F4062887800d28580414bE2132c640C4aec6", - "support": true, - "votingPower": 0.5166259470788541, - "transactionHash": "0x017c95fba818b93fe531a3df9f0115b1fba85610d10a3d74c09cdf10d0c8eaed", - "timestamp": 1657411934, - "blockNumber": 15111537 - }, - { - "proposalId": 86, - "voter": "0xf78dfC47e09c1c8117a85579283C95ED4F19086E", - "support": true, - "votingPower": 36.51148768211431, - "transactionHash": "0x00ecb091bdcc5cb14dfbc0d568e3a97fd66f928d5a1dafd282d50efed2ddb877", - "timestamp": 1657414631, - "blockNumber": 15111769 - }, - { - "proposalId": 86, - "voter": "0x3EE56188250E9CA6c359c7f636077c699dfC6Caa", - "support": true, - "votingPower": 0.111, - "transactionHash": "0x50ef26b7d9605421c29515191a292a7a1d60d57310702c76ea1d5e7ec2ab9de5", - "timestamp": 1657426140, - "blockNumber": 15112662 - }, - { - "proposalId": 86, - "voter": "0xF977bF5f5CCB1BFd868BD95D563294494F0D5d89", - "support": true, - "votingPower": 1, - "transactionHash": "0x6acd289a315e587e0237e962874db620fb3e007c9dc610811d871b18a256ed8c", - "timestamp": 1657432690, - "blockNumber": 15113144 - }, - { - "proposalId": 86, - "voter": "0xE1d1c5F48f708aa038AA6A9976308Cd1d19D951a", - "support": true, - "votingPower": 1, - "transactionHash": "0x60751143362d803faf12e39515fc099838cc908c31b165b9225d0a16bbfee422", - "timestamp": 1657433061, - "blockNumber": 15113169 - }, - { - "proposalId": 86, - "voter": "0xdd4A19DC351Ba42421dB282196AF38b433AA86BA", - "support": true, - "votingPower": 1, - "transactionHash": "0xba3cf91868b46d097797001c769df83bd34cab1a41c32381085e1c4670b3dcd4", - "timestamp": 1657433254, - "blockNumber": 15113183 - }, - { - "proposalId": 86, - "voter": "0x9497243478392B1F7f508874F606379F989C6eea", - "support": true, - "votingPower": 1, - "transactionHash": "0x9f657e0e2ee97272b859e0bf7a6dcaed7fdd57a9a091ba3c069ca10263c1412b", - "timestamp": 1657433343, - "blockNumber": 15113190 - }, - { - "proposalId": 86, - "voter": "0x05ac3D28434804ec02eD9472490fC42D7e9E646d", - "support": true, - "votingPower": 1, - "transactionHash": "0xcfa244ad5af195a156644e02e3e0bdccf2c1c8abb9f0077e2d0138dc1162b1b6", - "timestamp": 1657433483, - "blockNumber": 15113200 - }, - { - "proposalId": 86, - "voter": "0x61D9e931A72c9FB3eB9731dCc5A30f1F6C3ab63F", - "support": true, - "votingPower": 1, - "transactionHash": "0x277327bd277168710e92472652f97b9c9916666afa3786ac32d2e69b3acbb2a8", - "timestamp": 1657433630, - "blockNumber": 15113210 - }, - { - "proposalId": 86, - "voter": "0x3D6CD1eDBC3e98eC12E8921cC1cDA9A1bd13bc64", - "support": true, - "votingPower": 0.025, - "transactionHash": "0x8d4c8dda3de7a416e54130c85e8bc0aaf028b4c4630616968dda00dad009217c", - "timestamp": 1657435499, - "blockNumber": 15113348 - }, - { - "proposalId": 86, - "voter": "0x8169B1d17CE9baF28BeDd917937D1b9352c362fa", - "support": true, - "votingPower": 0.05, - "transactionHash": "0xb50e2077b51a3b4fd35d772baadfa8df127e0253c272b790af4966b56165ae2b", - "timestamp": 1657436263, - "blockNumber": 15113409 - }, - { - "proposalId": 86, - "voter": "0xE8d2e851ed430Fbc56B18e824aaE993C41129C17", - "support": true, - "votingPower": 0.05, - "transactionHash": "0x6b435f8345f2c6cac3920799c6ccb75a423cced5510a0ca289218df7ad95ccfa", - "timestamp": 1657436344, - "blockNumber": 15113416 - }, - { - "proposalId": 86, - "voter": "0xc8E2174AB910222543E277d8DcD73c3E59956c16", - "support": true, - "votingPower": 0.05, - "transactionHash": "0xbbad2a5fc8bdf3e3b4f45db0b82a490df8798fae51ffe00d00a88f4dcb734109", - "timestamp": 1657436493, - "blockNumber": 15113429 - }, - { - "proposalId": 86, - "voter": "0x0F7bC0F18cA02Dc1f4e56142B640Ed376Cc30554", - "support": true, - "votingPower": 0.05, - "transactionHash": "0x42770f5cb598831df94e1b56282926c579e239ecf4eb151014d7b6755141a7e8", - "timestamp": 1657436592, - "blockNumber": 15113439 - }, - { - "proposalId": 86, - "voter": "0xB9077E780e16412E9aa5a483a1fc7624B14D6d3E", - "support": true, - "votingPower": 0.05, - "transactionHash": "0xfef6e71c465622d68453cf4feff771192f53cb4f058b0ac39f1f0f352c04fe6a", - "timestamp": 1657436691, - "blockNumber": 15113447 - }, - { - "proposalId": 86, - "voter": "0xbdA307D9F63F120D7A1B32Ded7412dC598CBa54a", - "support": true, - "votingPower": 0.05, - "transactionHash": "0x391dfed2869e8ed2c4a6af453dc324adc30f27f7ce142cb7893f5792ca6a65e6", - "timestamp": 1657436780, - "blockNumber": 15113454 - }, - { - "proposalId": 86, - "voter": "0x82F4C7650978E9A3Fd2324892e67D02155Ea76Ea", - "support": true, - "votingPower": 0.05, - "transactionHash": "0x5d617234d16188cf2bcf5746f17e121d62cd9587e97797413e71c3ba9052dc34", - "timestamp": 1657436836, - "blockNumber": 15113457 - }, - { - "proposalId": 86, - "voter": "0x3a2aeFeDA3114C4334B0546f2a308b8569Bc7F41", - "support": true, - "votingPower": 0.05, - "transactionHash": "0x8e16dec853e91b7071736d1f7017bdbd4a897e720d22b31cbe382eb5dab7a542", - "timestamp": 1657436997, - "blockNumber": 15113471 - }, - { - "proposalId": 86, - "voter": "0xE7C81a7C175dE2C5768CDdFB37381A15A2a6A37E", - "support": true, - "votingPower": 0.075, - "transactionHash": "0xa675d4acff3e94738aedd376c9c92e82fac02c145c2a47089be9eda879caeb92", - "timestamp": 1657437045, - "blockNumber": 15113475 - }, - { - "proposalId": 86, - "voter": "0x36C4Bd54D54DD898C242F5F634f5D0CEf3bE2A8A", - "support": true, - "votingPower": 41363.95679240154, - "transactionHash": "0xd0cd0fa5adc536400d3dbf012d21180f69605ee734202741685adc3171830d78", - "timestamp": 1657444208, - "blockNumber": 15114033 - }, - { - "proposalId": 86, - "voter": "0xcDBe82b04C9A74831f431481468950E3a9cEFe31", - "support": true, - "votingPower": 20833, - "transactionHash": "0x0c70117752c692f7950a81cd6135e610cd663ad758c01766e0b01743616fd9b2", - "timestamp": 1657446224, - "blockNumber": 15114194 - }, - { - "proposalId": 86, - "voter": "0xFe238dB1dE2082bB9bA5dfC184B7e7C69C9bE636", - "support": true, - "votingPower": 48740.81377176334, - "transactionHash": "0xa7014c1f3ded6de13058ad384afb237901f7dcddfafce93f4a75dbf436fda604", - "timestamp": 1657449680, - "blockNumber": 15114440 - }, - { - "proposalId": 86, - "voter": "0x7b69771616A1f673E57F0FC6eD6053FC63B7607C", - "support": true, - "votingPower": 1.0000000043184474, - "transactionHash": "0xfab67652b2d7ac8b9d7c7ee2fcfcf0d9b16953a6780152517f0d66c0be070b32", - "timestamp": 1657455257, - "blockNumber": 15114823 - }, - { - "proposalId": 86, - "voter": "0x5f6486f13d2FaF529eEB12016059078CdA4Bc90B", - "support": true, - "votingPower": 1.0310083, - "transactionHash": "0xfe1f6b0ba0d13c0962960868347d0bf1d945a9708199f34ef19791d95043b613", - "timestamp": 1657457597, - "blockNumber": 15114997 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 87, - "voter": "0xc290Cfb8D020c0615e9C63036f4319Cc41717E68", - "support": true, - "votingPower": 139.01926578211163, - "transactionHash": "0x800ea99473eaa1c6c0124c4af71c91472f7f4c7b868bc48f2331cd1916cc5c75", - "timestamp": 1657661460, - "blockNumber": 15130314 - }, - { - "proposalId": 87, - "voter": "0x119460eCc4C538a02307e5D4f687BB83eDdC5cf9", - "support": true, - "votingPower": 0.6658313369435329, - "transactionHash": "0x82b323a0ed0bca945c115c2106db7b0ae40c1908c3b868e4bd6785d6ca3e33da", - "timestamp": 1657665953, - "blockNumber": 15130641 - }, - { - "proposalId": 87, - "voter": "0xDc52350858b60853D93390Ab38DEe3ce7e147fa7", - "support": true, - "votingPower": 1.4870945960197635, - "transactionHash": "0x3d09537aa199da2bc3461f22a9516c1a82eb7beb80de49c266f2dec074c86719", - "timestamp": 1657666478, - "blockNumber": 15130687 - }, - { - "proposalId": 87, - "voter": "0x5B3bFfC0bcF8D4cAEC873fDcF719F60725767c98", - "support": true, - "votingPower": 183375.7063189123, - "transactionHash": "0x1d603e3d8a7aaf2d73f15d5a497ce3c1fb622a20a06670c9a36251cbe3721536", - "timestamp": 1657671719, - "blockNumber": 15131072 - }, - { - "proposalId": 87, - "voter": "0x972C4546aBe5Cb312C7B10B62EF6c539A698D2cA", - "support": true, - "votingPower": 47.0140721328612, - "transactionHash": "0x123f33dbcff4b739f4772260a2a653ab732b49069ef77232a091f18687055004", - "timestamp": 1657671735, - "blockNumber": 15131074 - }, - { - "proposalId": 87, - "voter": "0x4d477F1aabcFc2FC3FC9b802E861C013E0123AD9", - "support": true, - "votingPower": 0.1092903026824001, - "transactionHash": "0x76a43036d6005f2210cce86af445a4abbb89e3edde351c08866a4b5e70ecc584", - "timestamp": 1657682243, - "blockNumber": 15131833 - }, - { - "proposalId": 87, - "voter": "0x8E816827b98B6318CBC19f7372fb583eaDBF3232", - "support": true, - "votingPower": 74.75122963693966, - "transactionHash": "0x73d02851c455009ffbf567c4c05c68c1b3d8c8a1536cf5e60e63d5f02548fddf", - "timestamp": 1657684550, - "blockNumber": 15132003 - }, - { - "proposalId": 87, - "voter": "0x070341aA5Ed571f0FB2c4a5641409B1A46b4961b", - "support": true, - "votingPower": 9999.9999, - "transactionHash": "0x689d653373a56c89da5ae29d5d8cec6794f2952ef07161941e36594e7e7bebe0", - "timestamp": 1657686617, - "blockNumber": 15132157 - }, - { - "proposalId": 87, - "voter": "0x682c72e317Cf93A36Ace26d52f9eB9c41712e56C", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xd1d21f1c97c63eb09d7cc86529af973c26439a7bb64cce582cab1742ab47b63f", - "timestamp": 1657691559, - "blockNumber": 15132529 - }, - { - "proposalId": 87, - "voter": "0xaCf2D88b01DA54603F20e44CE5D96C445B3CE259", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xac023440fb74905562c0da66eee8b42280fbb3d3440a3bc80489963c11b5f98d", - "timestamp": 1657691751, - "blockNumber": 15132546 - }, - { - "proposalId": 87, - "voter": "0x432b5FA73DC00F096f5Ecc349bA5a72Ae3853d44", - "support": true, - "votingPower": 0.10000364, - "transactionHash": "0x6038330d9c393a8f7fd9d35b1d56587c67a2f23a50fedf9fc086131de0875709", - "timestamp": 1657691751, - "blockNumber": 15132546 - }, - { - "proposalId": 87, - "voter": "0xBD90F0243173E91385224a8117212d17C2E9e494", - "support": true, - "votingPower": 0.022079767861370916, - "transactionHash": "0x80d0d22f2382a6f43140266770a95954b60efd8a08319aea8f8fc20e16d633e6", - "timestamp": 1657700068, - "blockNumber": 15133161 - }, - { - "proposalId": 87, - "voter": "0x1c631824b0551FD0540A1f198c893B379D5Cf3c3", - "support": true, - "votingPower": 1, - "transactionHash": "0x123d7868e2fe4bfce9ff705242b77c43c997497dd6e1948559822b6c45e24c8f", - "timestamp": 1657703591, - "blockNumber": 15133422 - }, - { - "proposalId": 87, - "voter": "0x00EE80c322D6e956D2629a73223605bBda946F2d", - "support": false, - "votingPower": 0.24143137, - "transactionHash": "0xb3f7d1393fd9bbca21313773d8b98cb23ff38406d9cf5ef916e65cfe7bfbfdca", - "timestamp": 1657704982, - "blockNumber": 15133527 - }, - { - "proposalId": 87, - "voter": "0xd639E3108669aCce8d1f4F870841de6D4486Eade", - "support": true, - "votingPower": 0.001, - "transactionHash": "0x03ed1a53787318e5891c0d0a7705799b0ea26f8fd393934999593347dd496ab3", - "timestamp": 1657705603, - "blockNumber": 15133564 - }, - { - "proposalId": 87, - "voter": "0xF06F09C65635ea3dB2F6255cABeFcc11d28f2ef2", - "support": true, - "votingPower": 0.36, - "transactionHash": "0xbf9874a5a0782d15d3d5889e79fbae3c984f0271080531baa5659e00f6bc6504", - "timestamp": 1657707686, - "blockNumber": 15133724 - }, - { - "proposalId": 87, - "voter": "0x562BF1B67Dc40d9b7C3ddd49E45aE58e61E1B76E", - "support": true, - "votingPower": 0.06384445632619642, - "transactionHash": "0x51b652eddfa5e05586dfb193f23d65e0e72304789ee28fdbc8da17f673751fc8", - "timestamp": 1657707756, - "blockNumber": 15133732 - }, - { - "proposalId": 87, - "voter": "0x40276bA5EfDFBBf749557f6B2A094ABd78197164", - "support": true, - "votingPower": 0.06635298115685384, - "transactionHash": "0xe810729ef483b88d910bf1eabda69a655b206110cb1d66f6af6dbcffa84f68a2", - "timestamp": 1657707830, - "blockNumber": 15133739 - }, - { - "proposalId": 87, - "voter": "0x76363226b9E31b78C2077Ecea78F440D81299f39", - "support": true, - "votingPower": 0.05, - "transactionHash": "0x251b76a27705f46e8979994ae9e2b6076ddd67ee84fe7500ca3d680f0c5ff1ac", - "timestamp": 1657707897, - "blockNumber": 15133743 - }, - { - "proposalId": 87, - "voter": "0xdC09eb652D4568c3E22D176BCe8F5eFb12aF7716", - "support": true, - "votingPower": 0.06, - "transactionHash": "0x83bf6aa4118bbc88ba0e1d47aaccd5069566415c7e716ceddac13c4b5476eaeb", - "timestamp": 1657707930, - "blockNumber": 15133748 - }, - { - "proposalId": 87, - "voter": "0x184F44a581a3FDf67e834Cf2A0F193CbDd08A3b9", - "support": true, - "votingPower": 0.08000165, - "transactionHash": "0x056cf7f397c4ff16c612e8c439db9616675e1b4b2c2c73b074af3c51fbbd0e85", - "timestamp": 1657707988, - "blockNumber": 15133754 - }, - { - "proposalId": 87, - "voter": "0xc062Eeca3891539F75054b1060997aa3459b7390", - "support": true, - "votingPower": 0.06, - "transactionHash": "0x86c555f698a6580854891558492b4ebfb9043bdc9c9d95c67b46fa98f89aab40", - "timestamp": 1657708096, - "blockNumber": 15133760 - }, - { - "proposalId": 87, - "voter": "0x329c54289Ff5D6B7b7daE13592C6B1EDA1543eD4", - "support": true, - "votingPower": 5021.880908670644, - "transactionHash": "0x91b3f63cea263bd8ffa19c274b70f4cfce4131f072f8146e92c75c8d598bb498", - "timestamp": 1657708249, - "blockNumber": 15133772 - }, - { - "proposalId": 87, - "voter": "0x9730299b10A30bDbAF81815c99b4657c685314AB", - "support": false, - "votingPower": 0.5488416779091422, - "transactionHash": "0x7400327b613768819fae1fb54d3b021bfafb116dfd4ed36a6fae78d99b4748de", - "timestamp": 1657709960, - "blockNumber": 15133894 - }, - { - "proposalId": 87, - "voter": "0xc21611A12525D3aB940c339b8aE4C4BE5865B6a2", - "support": true, - "votingPower": 0.11382236582795392, - "transactionHash": "0xc8cd36ab30de865382ffa0c0007b5cb5e2d6773e1676b815f258d3dd6c7983cb", - "timestamp": 1657710508, - "blockNumber": 15133926 - }, - { - "proposalId": 87, - "voter": "0x40Cb0B19D71Eda986C275c85A6e5b26b6AC7E2E4", - "support": true, - "votingPower": 0.09511727369202091, - "transactionHash": "0x92b9610135823f678f9ae1215b35709525267e1cbdb56a875890db424ebfc7cd", - "timestamp": 1657710754, - "blockNumber": 15133944 - }, - { - "proposalId": 87, - "voter": "0x58885C86f27C3c811Bc6A49B22FA6C807B0EFB4d", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x1092c785d83e018e047dff469f2faf8644a55e0d0ee2e3b7d80477d6ba8e3439", - "timestamp": 1657713392, - "blockNumber": 15134136 - }, - { - "proposalId": 87, - "voter": "0x8Dd0F1C1BDEf8e2C180df44d348db44494C54Ea7", - "support": true, - "votingPower": 0.11973361215093221, - "transactionHash": "0xd905e414947527c6cbca3d8ffbeecae29684890b2de581d3ff2f1aebf01e08ff", - "timestamp": 1657722439, - "blockNumber": 15134794 - }, - { - "proposalId": 87, - "voter": "0x2908790CeC0Da7786c8e954162d753a07a98b344", - "support": true, - "votingPower": 0.10065482679220604, - "transactionHash": "0xb616f492680444af5b0a2ab6d3508174a4631614dcfa92c77aadf4726389b17a", - "timestamp": 1657722454, - "blockNumber": 15134797 - }, - { - "proposalId": 87, - "voter": "0x08fECB006F7edCE664eDF7B21F61f5EfC4D7aCF9", - "support": true, - "votingPower": 0.1006443538168045, - "transactionHash": "0xc7926df61a19b86997f2958a1d85c4ac2e2a90da2d16b6c2059895560efd32da", - "timestamp": 1657722486, - "blockNumber": 15134799 - }, - { - "proposalId": 87, - "voter": "0x5B060d8C21B60d6904052BE0Dc6C2Eb1888De74C", - "support": true, - "votingPower": 0.10722431074624417, - "transactionHash": "0x792df7e2b243ad16e9f347a4aa94f02ffb8b1e67b18a2574f2340656b0b9e13c", - "timestamp": 1657722525, - "blockNumber": 15134800 - }, - { - "proposalId": 87, - "voter": "0x301b3410F3C3FeDf8f90ad465964a45861B1773e", - "support": true, - "votingPower": 0.10533481371745422, - "transactionHash": "0x49bbb7157932df261d98db551ef3c8710b99140f8d0666d437134ae43f692f1e", - "timestamp": 1657722844, - "blockNumber": 15134822 - }, - { - "proposalId": 87, - "voter": "0xeC0b276dfe3D75237F356b4092402a3d0e7b724b", - "support": true, - "votingPower": 0.10320499840582133, - "transactionHash": "0x30c9ad1d28e5763a799be5e6d2db745637977a198b51a27cf3fab1f6711f4efc", - "timestamp": 1657722848, - "blockNumber": 15134823 - }, - { - "proposalId": 87, - "voter": "0x2835600819dc2633611d600C488a52C6AF4908f2", - "support": true, - "votingPower": 0.10401153763748364, - "transactionHash": "0x585e6ed73c385fda08cad550d093fd4504859901516166a1c2a9445b118fbc79", - "timestamp": 1657722876, - "blockNumber": 15134828 - }, - { - "proposalId": 87, - "voter": "0x8E6583b679c10e648D415BA48D57Cf3C2dC00F7F", - "support": true, - "votingPower": 0.10570864300681156, - "transactionHash": "0x1f9dacfd974de203324899440a81e0cb0d23e21b58e9541b4039317e7cc094bc", - "timestamp": 1657722883, - "blockNumber": 15134829 - }, - { - "proposalId": 87, - "voter": "0x2c6141c6c7aaf27dD1BE50bfdF5409F0Ca986eE2", - "support": true, - "votingPower": 0.10878172213773987, - "transactionHash": "0x956154f42c8507635d3b0d3a5ef81671393f788d73c6f19bcf830ce385fde2cb", - "timestamp": 1657722933, - "blockNumber": 15134832 - }, - { - "proposalId": 87, - "voter": "0xFCE7FB5D5548b821b02ad99E398bb38b27FD626C", - "support": true, - "votingPower": 0.10823061839336548, - "transactionHash": "0x3507f004f00f447dae56f980bc3873105394313ab2251040f295be6438bef271", - "timestamp": 1657722942, - "blockNumber": 15134833 - }, - { - "proposalId": 87, - "voter": "0xbC2Ff35020ffF6Df7AE8a0b154938cE5C5e459C9", - "support": true, - "votingPower": 0.1082189455222498, - "transactionHash": "0x6310abce759f4ac295761cc34cb08753ee623cb5a342d5c2374db7a4fac5589e", - "timestamp": 1657722946, - "blockNumber": 15134834 - }, - { - "proposalId": 87, - "voter": "0x3d5E234B544c57e79B7f624e544B90AA974b79c9", - "support": true, - "votingPower": 0.10773712221172291, - "transactionHash": "0x1b525f4e2d1021e14b11648228fd6512a0da9fe70c4e2f784819c00839c65950", - "timestamp": 1657722978, - "blockNumber": 15134835 - }, - { - "proposalId": 87, - "voter": "0x60f1e68a7ffe5E5c33a3844838112575F00929ad", - "support": true, - "votingPower": 0.10772552938124977, - "transactionHash": "0x9657ab528cec5945cd47fc814e0f8a6c8c41c0999239a2139b96c97ed41282e3", - "timestamp": 1657722987, - "blockNumber": 15134838 - }, - { - "proposalId": 87, - "voter": "0x7a67928bB379974768668D50ab991Eefb5F08c0e", - "support": true, - "votingPower": 0.01746923, - "transactionHash": "0x3543b6629661f2e268399e4b62ad7a4664123c81b9c31f609d2fee8fcec12df7", - "timestamp": 1657726967, - "blockNumber": 15135099 - }, - { - "proposalId": 87, - "voter": "0x7F85Cf44E446a4B1AaCe2A28774E88cd6d4e3441", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x6cc864e9e7fc38a2aef23cbfcaacae3a6e74fe034708e6ef7babeca30376c011", - "timestamp": 1657727017, - "blockNumber": 15135107 - }, - { - "proposalId": 87, - "voter": "0x1B88Bdd5954B221fAC94619d28AB3b0B8c9d35a7", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x74bd4da3f2ab2657acfaa31213cf68c0427cf4fc0fd4fde0ffe4babcb9a5dba2", - "timestamp": 1657729163, - "blockNumber": 15135282 - }, - { - "proposalId": 87, - "voter": "0x60dd456273Cbb018C2222621d4c2Dc5016E870d3", - "support": true, - "votingPower": 0.13047043946417894, - "transactionHash": "0x7698d799e9ee8ada8368ad56a9362b25f7ee3be2af986b47cf11a1ba7c75ce8b", - "timestamp": 1657729941, - "blockNumber": 15135337 - }, - { - "proposalId": 87, - "voter": "0xd2362DbB5Aa708Bc454Ce5C3F11050C016764fA6", - "support": true, - "votingPower": 73900.72205462291, - "transactionHash": "0xe5b018a837575a6e9760628ab1be80a9a97b8598c16c75d0b9a94d131b774475", - "timestamp": 1657732482, - "blockNumber": 15135530 - }, - { - "proposalId": 87, - "voter": "0x5F389707Fc094f5daaFf685ba8E47Ee56E31f51F", - "support": true, - "votingPower": 2.975488355324591, - "transactionHash": "0xef751ea229bd8588558276f4066503c1cde8a311fc17c027a8485fc080afa0dd", - "timestamp": 1657733060, - "blockNumber": 15135571 - }, - { - "proposalId": 87, - "voter": "0xA0efD27acC781549D5b78e89E561AA0903932d56", - "support": true, - "votingPower": 8.002657782527367, - "transactionHash": "0xbb8e41d64f6de39e62ad1065308f3d37f330d03ff919c1dbb77ab5688d75b2c0", - "timestamp": 1657736035, - "blockNumber": 15135815 - }, - { - "proposalId": 87, - "voter": "0xD332f90e9EedaEE3Af94e8F3f71C3e4f2FdbeE36", - "support": true, - "votingPower": 0.002, - "transactionHash": "0x47a4e3d7d3bcb50cf715f365cd1896b10d7f03d6cb051d1892da5e01f80a19b7", - "timestamp": 1657736239, - "blockNumber": 15135834 - }, - { - "proposalId": 87, - "voter": "0xe7c724F87EcFf8E2f563962f96b6c291cBD729cF", - "support": true, - "votingPower": 800.0762915085044, - "transactionHash": "0x0026104ef943946c295d689f50609d48a7509fce8aef3c77c02bdcbff525e4ab", - "timestamp": 1657742579, - "blockNumber": 15136300 - }, - { - "proposalId": 87, - "voter": "0x6406306DB56F691b8F71Dcd9D39A0ebDbb2018e3", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xbe4fe8d8445a85d5654be25a523bb311d7a30d9cc957427840a938eef9e2ee55", - "timestamp": 1657744986, - "blockNumber": 15136486 - }, - { - "proposalId": 87, - "voter": "0xd999735AC5F59eDbda509bCB4C932fB533F9F974", - "support": true, - "votingPower": 245.96050328957125, - "transactionHash": "0xe9933a639a85df4b8f6c4b6647cedd429e31ffcc2bb4e00bada1a281bfb8dff8", - "timestamp": 1657747578, - "blockNumber": 15136672 - }, - { - "proposalId": 87, - "voter": "0x89768Ca7E116D7971519af950DbBdf6e80b9Ded1", - "support": true, - "votingPower": 0.027400615626734147, - "transactionHash": "0xe194ac579da36ef7bf57a3503bc5595cfdd61027b508fcb0581858a9583e4cb9", - "timestamp": 1657751721, - "blockNumber": 15136984 - }, - { - "proposalId": 87, - "voter": "0x1FE6A806E0A9858359E16C58e4f84C790171596b", - "support": true, - "votingPower": 0.04146131075243324, - "transactionHash": "0x2df615ee9b816df16cba80707caa1b3dbf5ec9ad136b5ecd105faf24bf8d8ee4", - "timestamp": 1657751788, - "blockNumber": 15136990 - }, - { - "proposalId": 87, - "voter": "0xefa80A25527FCDde37058AAD50983f5c5F72039c", - "support": true, - "votingPower": 1.175, - "transactionHash": "0x7483886a9b761c0f1b1c4b3433a58db673ac4097d43ee09d2c4ff2893c358c75", - "timestamp": 1657751849, - "blockNumber": 15136995 - }, - { - "proposalId": 87, - "voter": "0x8390E3f92B24cFd8682111329CF25B86aBA76cF3", - "support": true, - "votingPower": 0.975, - "transactionHash": "0x02d14ed24e3291606f9a54673f61224a5c4be220743814160b330ee4f7670df0", - "timestamp": 1657751903, - "blockNumber": 15137000 - }, - { - "proposalId": 87, - "voter": "0x5E4db3f9811974246080Cc663726E465de27Cdc3", - "support": true, - "votingPower": 1.475, - "transactionHash": "0x3099af9163199426629ad7809d622ff0f5662e421c0992f004f65dd075365638", - "timestamp": 1657752085, - "blockNumber": 15137014 - }, - { - "proposalId": 87, - "voter": "0x2385202C54197c5A5D007C55311C050adf9a9dc8", - "support": true, - "votingPower": 1.975, - "transactionHash": "0x77dc942c7c4c8c83b233cb2b93bc218c074cb0658c741b9eb784978b9c6c8b2e", - "timestamp": 1657752156, - "blockNumber": 15137019 - }, - { - "proposalId": 87, - "voter": "0xB9Ed52d10EE3E2918cb7AA525449c732fA5108F6", - "support": true, - "votingPower": 0.975, - "transactionHash": "0x5f5de1e4f17a265f3a3854f437d9becfc3d66a598d63070d76e95774e85db2c7", - "timestamp": 1657752192, - "blockNumber": 15137022 - }, - { - "proposalId": 87, - "voter": "0xc10F2e9051b674e4a7E6Fbe9bD5aF0a1fBf7ce24", - "support": true, - "votingPower": 0.09520120467236026, - "transactionHash": "0xe905384076fb5aa82ada60019679b72a660bb239800ea735bfb4481d034fc3ea", - "timestamp": 1657752279, - "blockNumber": 15137025 - }, - { - "proposalId": 87, - "voter": "0x485b0c5E93947010F9Fda2bA50de23FcEfd58F29", - "support": true, - "votingPower": 0.06529872425836444, - "transactionHash": "0x8d4bbc08a9a3baa9eccc56ad1de24a8f4f35fb6fb2d3ad2590edf83288d7d468", - "timestamp": 1657752753, - "blockNumber": 15137071 - }, - { - "proposalId": 87, - "voter": "0x8a0Ee7E98d5c3f49E1a9f8E5609B211250D774BC", - "support": true, - "votingPower": 0.15231441566601264, - "transactionHash": "0x3aa4d65b5563d54bef6531e9151e724ca52c82dff63f86cd32f0bb304c0ce2c4", - "timestamp": 1657752860, - "blockNumber": 15137081 - }, - { - "proposalId": 87, - "voter": "0x0e4cb981Aa087847eF0C9F0C0989d884a86D04c3", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x283122b5a9d7474a3f95e18a72c59c71de00e5d4768e407cfea21d91764cd983", - "timestamp": 1657756794, - "blockNumber": 15137385 - }, - { - "proposalId": 87, - "voter": "0x3b59e42d9F33906fF58813f9bb8be58b185d22F2", - "support": true, - "votingPower": 1.001, - "transactionHash": "0xfd2dbe9b2a9a697ee35260b6e6d03a9bbe8ac24453112f607a2158b92c7db7de", - "timestamp": 1657756878, - "blockNumber": 15137392 - }, - { - "proposalId": 87, - "voter": "0x54914F8BB055565e1447c4a1739124C95ba9B141", - "support": true, - "votingPower": 0.05, - "transactionHash": "0x468ded40e47bbd64626ee809e203f27a0e1c7d4bc0abbab50dc9ae502e954e52", - "timestamp": 1657759918, - "blockNumber": 15137617 - }, - { - "proposalId": 87, - "voter": "0xA0556E8e8b617f184c6948DF2c08AC795036DAA5", - "support": true, - "votingPower": 1.0330950768363638, - "transactionHash": "0x5fca3c7c1a2b3c7dc95ef4cfe7c8afb54b6c1b52a42270d103b878b53401dd05", - "timestamp": 1657764131, - "blockNumber": 15137919 - }, - { - "proposalId": 87, - "voter": "0x4bd77E5637212bc070B6C1382B3bF40BC1a7DE18", - "support": true, - "votingPower": 0.02, - "transactionHash": "0x3a617335e238bac3dc41c9b6471966abd9ad74696f3dee3a64aa62ebca549866", - "timestamp": 1657768221, - "blockNumber": 15138205 - }, - { - "proposalId": 87, - "voter": "0x602114d8b9041F2bE7e6A534b793B92829114749", - "support": true, - "votingPower": 0.3, - "transactionHash": "0x0332b630375eeaad823e44455e8ea86c10181225b8b7c23aeab25129262e9da5", - "timestamp": 1657771325, - "blockNumber": 15138432 - }, - { - "proposalId": 87, - "voter": "0xB496A7902D2117Fc7acbbd5251E14075a5B23f6c", - "support": true, - "votingPower": 0.3, - "transactionHash": "0x39c1a195309dc4140fb6f565540236af274b1f0285e3c0a6aa8d211bd6dcf5b4", - "timestamp": 1657771394, - "blockNumber": 15138434 - }, - { - "proposalId": 87, - "voter": "0x17dfD18987B6B131686fea478600b75D11193335", - "support": true, - "votingPower": 1.9476829025784255, - "transactionHash": "0xa934ebb205e48e2cba8e867e842d423d6b4254b200c7bd44cd4ab090af1e01fc", - "timestamp": 1657772884, - "blockNumber": 15138566 - }, - { - "proposalId": 87, - "voter": "0x39501a8D70Bea6cd9527B9f38E3D5e9079DD8645", - "support": true, - "votingPower": 0.1456318691085253, - "transactionHash": "0x151d89a9d949e19cd527c7f06f4f47548e1e5713ca983f1bea0e1cb804e44301", - "timestamp": 1657773118, - "blockNumber": 15138588 - }, - { - "proposalId": 87, - "voter": "0xa2277F4aE7e6380De426fa334B05D4CEb39F1d47", - "support": true, - "votingPower": 0.1974612, - "transactionHash": "0x9836ef44eee7ebf14db103e43e53b6088d080570170e1652d856ebb63fcc2fe5", - "timestamp": 1657773118, - "blockNumber": 15138588 - }, - { - "proposalId": 87, - "voter": "0x0FFa84C59169853F698B3d5BC98AAfB9a0CBC0E9", - "support": true, - "votingPower": 0.15, - "transactionHash": "0x3efa229c1027c243bec56627854efb6be2fcf0668ef7d6624883b70e491da515", - "timestamp": 1657774219, - "blockNumber": 15138672 - }, - { - "proposalId": 87, - "voter": "0x191Bed220e2cBF7F42E917e0ED370d9880E640df", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xec7dee514dbd7b80c2198d89cd967385528b549b6aa61be56fd753ab9909b985", - "timestamp": 1657774219, - "blockNumber": 15138672 - }, - { - "proposalId": 87, - "voter": "0x605dc1310d888Af6b4c5dDD0c42e63aF317966F6", - "support": true, - "votingPower": 0.15, - "transactionHash": "0x6ac32f3f4021529e38ca21d5fa9395ac6bc71b4349556a94f47e80313918154c", - "timestamp": 1657774219, - "blockNumber": 15138672 - }, - { - "proposalId": 87, - "voter": "0x945fa554aF6a462a759A6986Ed67Bf938C3DE358", - "support": true, - "votingPower": 1.3703589526673048, - "transactionHash": "0x373f97a3ed717dade2937271efa36c60948296baade49a3816fd034c3ee9dd0c", - "timestamp": 1657776441, - "blockNumber": 15138828 - }, - { - "proposalId": 87, - "voter": "0xaDb06487fab7372608cD281dD4E498108E860470", - "support": true, - "votingPower": 0.015289733211272246, - "transactionHash": "0x13c541c197876c7950b5bec70ab9ce699bb48b1e887299d240a82d3030ae4631", - "timestamp": 1657776902, - "blockNumber": 15138858 - }, - { - "proposalId": 87, - "voter": "0xb251974fdf11Cc68842377a8011a72Cd9B3331B3", - "support": true, - "votingPower": 0.8642221605034291, - "transactionHash": "0xf957eed2e77576d5d294df83cf113915d0e8a54d4eb561455fb9c04264a7fb09", - "timestamp": 1657777264, - "blockNumber": 15138880 - }, - { - "proposalId": 87, - "voter": "0x886F55E670cF0e0749cae8e58bA355Ae5F804575", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x2659c0c85aefa35a72eadcd147fe4e2427c6917a6e58676e26a4a3aa6c734433", - "timestamp": 1657777458, - "blockNumber": 15138892 - }, - { - "proposalId": 87, - "voter": "0xFDD88a45cE43e403BA0C0d6774a13b01b6f75d40", - "support": true, - "votingPower": 0.034988, - "transactionHash": "0xa675a57c9985633fe028fd5f2a70284bd522e9e67a6963d65e7a084eaffd6124", - "timestamp": 1657777466, - "blockNumber": 15138893 - }, - { - "proposalId": 87, - "voter": "0x1bbd33A95889C76931dDCd072c2f74B12cF4AF17", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x64f3edcc8bf2cb1a60baac0d98951e7915bde3a98f842d2e08ae0178c9009cf0", - "timestamp": 1657777697, - "blockNumber": 15138904 - }, - { - "proposalId": 87, - "voter": "0x90c8C94b29A13B9D4D4ebBDE8FcF394052E53EF0", - "support": true, - "votingPower": 1, - "transactionHash": "0xfc1901e5bb5ead303a61e069e3ecfdfe337ec239ac802830a5625484609655df", - "timestamp": 1657778361, - "blockNumber": 15138943 - }, - { - "proposalId": 87, - "voter": "0x16B74F5bF177Ef616c0CcDAe4B9Ef4a636654670", - "support": true, - "votingPower": 0.08452623911181088, - "transactionHash": "0x8e69daa3697a9d0d32b0ca4028aa473ffafdb556b6fcbe26ccf6ea5e1b015f47", - "timestamp": 1657778397, - "blockNumber": 15138945 - }, - { - "proposalId": 87, - "voter": "0xE69574577a939C8F755E0F93714212f28dD9a733", - "support": true, - "votingPower": 0.4488395464042626, - "transactionHash": "0x1b43e9d10cbab48c30d713e4e330f3037c34edd0dee51dba523c362bd902734f", - "timestamp": 1657778612, - "blockNumber": 15138959 - }, - { - "proposalId": 87, - "voter": "0xdB29F285D5C81A87370f03Cb273301F0e3f9De23", - "support": true, - "votingPower": 0.11504064, - "transactionHash": "0x28019f8389e7eb885feda4d37004dc3e6f65b78b21218cfa8ce497b11f4a60bf", - "timestamp": 1657779115, - "blockNumber": 15138998 - }, - { - "proposalId": 87, - "voter": "0x4CC85664d4E8886b3818c5f147F7A215C17e741a", - "support": true, - "votingPower": 1.2, - "transactionHash": "0x5ef2a1ee245c982acc58525b137e5b0cd35c3b32d28f36dc0a08c1affec9a6ba", - "timestamp": 1657779324, - "blockNumber": 15139016 - }, - { - "proposalId": 87, - "voter": "0x4F459Dc2A1DAC3Cfb64DC5DCEbA6Ab02D8E1FC1c", - "support": true, - "votingPower": 1.0847798582329624, - "transactionHash": "0xccd1e7f5019fb4ac238c0b509fdac34b1f74d31cedca28bad81556b2ea0e7635", - "timestamp": 1657779509, - "blockNumber": 15139028 - }, - { - "proposalId": 87, - "voter": "0xeFD67615d66E3819539021d40E155e1a6107F283", - "support": true, - "votingPower": 1.0110845243868458, - "transactionHash": "0xc65b3a596d0d79549bf4d32f32558ae3fdc0880b3c886a45084de205158dfd6e", - "timestamp": 1657787136, - "blockNumber": 15139611 - }, - { - "proposalId": 87, - "voter": "0x0dD807113d19F1089C6cC98C775aCdE182F93194", - "support": true, - "votingPower": 0.04497777, - "transactionHash": "0xf453c16935e6871a68e0239e1984927e3a5a9c01ccfb7ec0a92809b80425cbcd", - "timestamp": 1657787494, - "blockNumber": 15139641 - }, - { - "proposalId": 87, - "voter": "0x5E464B4766FB32Ac5f4bF74249D2681d6E00FBAd", - "support": true, - "votingPower": 0.025, - "transactionHash": "0xc837ee599c6f19166f7ec4eaa96ea04e73033628290f22b0d578f279569ddf09", - "timestamp": 1657787566, - "blockNumber": 15139650 - }, - { - "proposalId": 87, - "voter": "0x8168363c12488275050F75F4deCd92b773F637F9", - "support": true, - "votingPower": 0.07, - "transactionHash": "0x886d60bcf6a308b3d144ae4ce2e7b2f074265582998a20eb3b2726dfe3379b82", - "timestamp": 1657788108, - "blockNumber": 15139707 - }, - { - "proposalId": 87, - "voter": "0x45F36faF52D02cD52ED5e4F6F77Ae07b4705eBbb", - "support": true, - "votingPower": 1.2, - "transactionHash": "0x5330a28852504b0208b3ec03d38f28e92c638552e2879333cd506ad8f13b04f0", - "timestamp": 1657788624, - "blockNumber": 15139746 - }, - { - "proposalId": 87, - "voter": "0xAf4F9Aa4A83133Ae981b5AfeDA7d764621C5FAe6", - "support": true, - "votingPower": 0.16479653855185453, - "transactionHash": "0x1b01fa090cc7fb98c6a23c04c5ca696fdfacf24f78828777532496eaf6464174", - "timestamp": 1657788690, - "blockNumber": 15139754 - }, - { - "proposalId": 87, - "voter": "0x8B7A3c57eb9C6Bc5a2144E4244396b4917A19720", - "support": true, - "votingPower": 0.2547918510229404, - "transactionHash": "0x14c81742529d5a2fe7e77fc05f8ec1da585b4e1a38f0360f9bba5318454352f8", - "timestamp": 1657788794, - "blockNumber": 15139761 - }, - { - "proposalId": 87, - "voter": "0xBc2b401780f597b3c879ffDE99Fc9753340D3C92", - "support": true, - "votingPower": 0.6685, - "transactionHash": "0x6f7cf2ba75103cf229b5dc87e2f418acf92aa65ee2af5496d83cab5f8f29ac43", - "timestamp": 1657788833, - "blockNumber": 15139766 - }, - { - "proposalId": 87, - "voter": "0x7d62667CA6636f5c4811114D8fDC0cb841DFd003", - "support": true, - "votingPower": 0.7046921863543822, - "transactionHash": "0xabda057a7d38e2022e0f3fcf16e687fd5969df2467712a1db66f4942b593f88a", - "timestamp": 1657788912, - "blockNumber": 15139773 - }, - { - "proposalId": 87, - "voter": "0x569510615D27B2F31302E38E1A63528e75f547C3", - "support": true, - "votingPower": 2.706151360620164, - "transactionHash": "0x81db56fc9745ba6fb95caa0a1c8cfe67955703a89d9e010c099838dbe14e6ded", - "timestamp": 1657789115, - "blockNumber": 15139788 - }, - { - "proposalId": 87, - "voter": "0x13389316C576C3E7C9288c1C8F4929C470FA772c", - "support": true, - "votingPower": 1e-18, - "transactionHash": "0xed03787214874b7cc46d73562605c01ce0223c8d1fc01ce6c74f689350d4ba08", - "timestamp": 1657789269, - "blockNumber": 15139800 - }, - { - "proposalId": 87, - "voter": "0x3e681781664Bf347eF2B70C53e04cC8d4ee4e9B4", - "support": true, - "votingPower": 2.66125664992731, - "transactionHash": "0xf54175be0133e216e620dd9517792ef2c3fb167facd7ecce37dc442b3ac40efa", - "timestamp": 1657790423, - "blockNumber": 15139893 - }, - { - "proposalId": 87, - "voter": "0x515fAD9044494cd323B211C2F1eec80C1098f4F2", - "support": true, - "votingPower": 0.02, - "transactionHash": "0xbe8353e82a5b1dee12d4b97b39fdd540811c1435067e9e797cab954fc2a66f72", - "timestamp": 1657790482, - "blockNumber": 15139900 - }, - { - "proposalId": 87, - "voter": "0xD7CdA84356bB42F56748aF40abfE41375e704819", - "support": true, - "votingPower": 0.045, - "transactionHash": "0x3169d6474c6f3605dabb84cfbc52446346f792a3472eead7d0c39814a1b69e06", - "timestamp": 1657791697, - "blockNumber": 15139998 - }, - { - "proposalId": 87, - "voter": "0x0fa36A7eBA4bFA4E0f6d82942c2245082cF7DD52", - "support": true, - "votingPower": 0.044, - "transactionHash": "0x00b3d72bba7de48b4dae3493958f17b1fc74eb15e3cb1d6f0e7fdb56644e91f4", - "timestamp": 1657791770, - "blockNumber": 15140005 - }, - { - "proposalId": 87, - "voter": "0xE67F1c66e8881742D21F845684b26fF806Efc9a8", - "support": true, - "votingPower": 0.042, - "transactionHash": "0x906a1fc166a7de72dca7c6117820c8efbc3b53ec681acf36a43dbe28290b97f6", - "timestamp": 1657791873, - "blockNumber": 15140017 - }, - { - "proposalId": 87, - "voter": "0xc88E12CAB47a1023D7B257a851c46bF7Ea74A3B3", - "support": false, - "votingPower": 0.042, - "transactionHash": "0x3e6ddf8fd8938b6d563a38e22d45a888e1ca9d7f824ba6b06c1a3add888c94e2", - "timestamp": 1657791885, - "blockNumber": 15140019 - }, - { - "proposalId": 87, - "voter": "0x8382B08Aac3C64790034F8BAde6f39394fa222ac", - "support": true, - "votingPower": 0.04, - "transactionHash": "0x1c047b8a795832a7296c68a2c3b8b96e476b03cede2e906c6615fd3e8607ffc1", - "timestamp": 1657791929, - "blockNumber": 15140022 - }, - { - "proposalId": 87, - "voter": "0x2146Fa841F0c1076C064E14c05FfFf6e7BA41865", - "support": true, - "votingPower": 0.4, - "transactionHash": "0xc274e91ae8b1fae3f92a69be0c39ca067b1b6f0a7977c38fa57a524acbdbdb28", - "timestamp": 1657794019, - "blockNumber": 15140199 - }, - { - "proposalId": 87, - "voter": "0x25aD2667B19e866109c1a93102b816730a6Aec3f", - "support": true, - "votingPower": 0.0536372652317274, - "transactionHash": "0x9b80588df11852bf79a4dcda3d2191a1965950bd05a231e654f36b860fc4985f", - "timestamp": 1657794775, - "blockNumber": 15140250 - }, - { - "proposalId": 87, - "voter": "0x8755f08374bB0bc598681C324913CBde3283AC18", - "support": true, - "votingPower": 0.3194277316688895, - "transactionHash": "0xac1075c663787b7c3b2d773c9c43c925cdea2a4f05cf06755eb04bc042c91363", - "timestamp": 1657795665, - "blockNumber": 15140316 - }, - { - "proposalId": 87, - "voter": "0x33231C4171E4D6A864C05b6dB61467ec2424EFA5", - "support": true, - "votingPower": 0.10049999914846365, - "transactionHash": "0x923fa042bffe1c2bb21c3a2230dcc5b988a14463c395a583e98bb378c8d7c6c8", - "timestamp": 1657797244, - "blockNumber": 15140432 - }, - { - "proposalId": 87, - "voter": "0x7ADbD800d49D2A75A736c97CD32b1B9AEEC3D24F", - "support": true, - "votingPower": 0.14847450883246788, - "transactionHash": "0x3bd34fcdb0cf88688ce9632040b344fee2e77eb4ce0b63074a83081324bad98f", - "timestamp": 1657797371, - "blockNumber": 15140443 - }, - { - "proposalId": 87, - "voter": "0x8864486C1be43143B2Fb2992777bA0B85129f3e4", - "support": true, - "votingPower": 0.1539332465884695, - "transactionHash": "0x59205e5e8e344800cc49acac65e0796403eee05ae02ccb3588416655e672ce63", - "timestamp": 1657799697, - "blockNumber": 15140603 - }, - { - "proposalId": 87, - "voter": "0x45BEE058F59c3fC2311BFF15C854F37170780ff5", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x7f18bf7bfc3c5de36391e7590e0a71df996cc9fcd35d0a6b1a2caa02af440f3c", - "timestamp": 1657799764, - "blockNumber": 15140608 - }, - { - "proposalId": 87, - "voter": "0xA8c4e3ce1743D0f2A6c227548C982a7C40569940", - "support": true, - "votingPower": 0.16867781, - "transactionHash": "0xe0cf75b3695692b60d6d31550cc59f04883d7e56b323a37b0fa7a2ea2d27f709", - "timestamp": 1657802805, - "blockNumber": 15140824 - }, - { - "proposalId": 87, - "voter": "0x33482803274C5e08661843636DceE8E9A68c7252", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0x333c1c6dbb79a36ee0f53f9d784c543f7b1679e81eddbee3ae179ddcc567d28b", - "timestamp": 1657802850, - "blockNumber": 15140829 - }, - { - "proposalId": 87, - "voter": "0x347Bb83E4ab465C8C6b7afaB3BEB373410A9Cae2", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0x24bab430a78c0b4c26a5e9c976061d3a1cf275a506bced995007e68d154ce008", - "timestamp": 1657802884, - "blockNumber": 15140832 - }, - { - "proposalId": 87, - "voter": "0x9fD9Bb687696f19038892989876Bd6dC96Abd769", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0x20a0d056f1e50c55785fb09b04782dba25370ff1334c2c1e9566cca9816f30c1", - "timestamp": 1657802884, - "blockNumber": 15140832 - }, - { - "proposalId": 87, - "voter": "0x9E73201903164d3B476505f3C54F86cdCD4010DF", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0x2acfc87966c108afa3bb7b1c758d4ca3b32905ea2fb5037e9bad93540d50b51e", - "timestamp": 1657802923, - "blockNumber": 15140833 - }, - { - "proposalId": 87, - "voter": "0x0585c0d0aEdF071a07992ad650bdc047Cef0c04F", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0xcaf3827826189cb74bdf112a2eb401b1933824e02fdc3d5257c32c8a96fd1904", - "timestamp": 1657802923, - "blockNumber": 15140833 - }, - { - "proposalId": 87, - "voter": "0x69389398e4D903b02010e20d308ee58EA8D6D714", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0xbc029f2e2b7a4c4e0b2095060262fedd969ec3e1cafefcce8caa193338e75166", - "timestamp": 1657802923, - "blockNumber": 15140833 - }, - { - "proposalId": 87, - "voter": "0x99D305dfc38CEfA91cB1129387681eDe4c93e87D", - "support": true, - "votingPower": 0.03620082, - "transactionHash": "0x992231227c60410906edc87004d899620d184a4b94457b9606ad2eeadc0cdd66", - "timestamp": 1657802923, - "blockNumber": 15140833 - }, - { - "proposalId": 87, - "voter": "0x949aD06a4c904cd0B31AE2F56AaE0eC68C16CCAc", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0x6c511245e9ae1250dbd4add9715d55ab30d19f2a3016211e5f00ffc3cea3b3e7", - "timestamp": 1657803034, - "blockNumber": 15140844 - }, - { - "proposalId": 87, - "voter": "0xFBE6915fB22DFe6b42a7c50b43B45bF692681e5D", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0x67e261036e212e40d480b3ddfb0e9d29385c6ed40175922da27d2fafe47aac97", - "timestamp": 1657803038, - "blockNumber": 15140845 - }, - { - "proposalId": 87, - "voter": "0xC6b2cFC8CF242Be856dE634921E12fD52F05B3E1", - "support": true, - "votingPower": 3, - "transactionHash": "0x97528c54bf8572df78ab845c2d4de0dd769fa70d77fe82c8f109f586d6f173f9", - "timestamp": 1657811582, - "blockNumber": 15141520 - }, - { - "proposalId": 87, - "voter": "0x4524e8BbeC317C68338B5147D6D7069684350036", - "support": true, - "votingPower": 1, - "transactionHash": "0x20354f8bab98e41153e337cf8c16e116e1fd526df6cdf942833d1471c4b50aea", - "timestamp": 1657811660, - "blockNumber": 15141525 - }, - { - "proposalId": 87, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 103333.8477304624, - "transactionHash": "0xf03641dce1c19b709c7667447769f022d2b4995115204c4e7da1f7d52c25fe45", - "timestamp": 1657819950, - "blockNumber": 15142154 - }, - { - "proposalId": 87, - "voter": "0xe982382bc082da0032fA74155078D0a85Dc1cDf8", - "support": true, - "votingPower": 4.35428619, - "transactionHash": "0xe31ad4f573ed71426a752306d354fc8ed2d6af7436734807067ab2ffb46632ac", - "timestamp": 1657846679, - "blockNumber": 15144207 - }, - { - "proposalId": 87, - "voter": "0xA79F69d88679b98747Fd58737eB2e0291C6E3d2d", - "support": true, - "votingPower": 0.746634, - "transactionHash": "0xc2498e2949f6d9fb53c2e0d313b9e4140d5d5ec6a70d99284d7373eb9056e2ac", - "timestamp": 1657862749, - "blockNumber": 15145377 - }, - { - "proposalId": 87, - "voter": "0x9896780e3525B68fAC631eB840EF1114Ed146835", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x83b071f46bc2b43eac69be71a251367c921cd6ed9bc3fc1c04ce95e7eac5caf7", - "timestamp": 1657862844, - "blockNumber": 15145380 - }, - { - "proposalId": 87, - "voter": "0xD7E0A3EB9d0BC2B25Bf766572A4f86FBc7280DC4", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x33c67ea34cc18b65273fe5f011a85e5d6c2b6d637d51fdf8f28a60829bee497b", - "timestamp": 1657862897, - "blockNumber": 15145384 - }, - { - "proposalId": 87, - "voter": "0xF977bF5f5CCB1BFd868BD95D563294494F0D5d89", - "support": true, - "votingPower": 1, - "transactionHash": "0x68423e464bb89bbd9683184112929175fe00d27da700943af1ed2fe419d3677f", - "timestamp": 1657864232, - "blockNumber": 15145469 - }, - { - "proposalId": 87, - "voter": "0xE1d1c5F48f708aa038AA6A9976308Cd1d19D951a", - "support": true, - "votingPower": 1, - "transactionHash": "0x1722ec8dc35513973ff8379853eea2fc24fb63c8e2e9d1a8fd0e755069897d3f", - "timestamp": 1657864394, - "blockNumber": 15145481 - }, - { - "proposalId": 87, - "voter": "0xdd4A19DC351Ba42421dB282196AF38b433AA86BA", - "support": true, - "votingPower": 1, - "transactionHash": "0x165539817b28d91aa89f88bffecae3f8dbaf551a2afe1f5c5fa7f4a17d25900e", - "timestamp": 1657864555, - "blockNumber": 15145493 - }, - { - "proposalId": 87, - "voter": "0x9497243478392B1F7f508874F606379F989C6eea", - "support": true, - "votingPower": 1, - "transactionHash": "0x6a1b365c4090ff0c5afe1d7c523584845e43a415f3153d7a7e6fc649085cc786", - "timestamp": 1657864647, - "blockNumber": 15145499 - }, - { - "proposalId": 87, - "voter": "0x05ac3D28434804ec02eD9472490fC42D7e9E646d", - "support": true, - "votingPower": 1, - "transactionHash": "0x46f000f6f65a321fc52073441e05b100da1b412aa0ab4e5060fc3114b84ddfd1", - "timestamp": 1657864726, - "blockNumber": 15145507 - }, - { - "proposalId": 87, - "voter": "0x61D9e931A72c9FB3eB9731dCc5A30f1F6C3ab63F", - "support": true, - "votingPower": 1, - "transactionHash": "0xea20928e0af001df2ff7eb7b46da190e05811e2e2a1ea85262cbd3ecaa0437c2", - "timestamp": 1657864808, - "blockNumber": 15145516 - }, - { - "proposalId": 87, - "voter": "0x236884bb674067C96fcBCc5dff728141E05BE99d", - "support": true, - "votingPower": 1, - "transactionHash": "0xa9df8174a6d49a32986dbbc132e90cc3b1b0b70aa346ab45ec8f754aa19a4ed8", - "timestamp": 1657864896, - "blockNumber": 15145522 - }, - { - "proposalId": 87, - "voter": "0x7F7aD73518C490885723B425a998921Bb3Cd309A", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x3ced823e258d5752cdfe7c8ed0d08c410c57fc988a8a13e09d7e6a6fd651fa1b", - "timestamp": 1657867936, - "blockNumber": 15145739 - }, - { - "proposalId": 87, - "voter": "0xB656744D0a893F98df21DF88dA2eE183D620BB59", - "support": true, - "votingPower": 6.86, - "transactionHash": "0xa8ec5ee5ebb08c219f3164c5a7ac1b3072b5c29a42eb03976d9069f07d42ec6f", - "timestamp": 1657876095, - "blockNumber": 15146342 - }, - { - "proposalId": 87, - "voter": "0x8A8245fC21eB46cC4ACF1a0a1cd6356c6206b514", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x722df765edb6bef550fa66896cf5423d19ae3eff86a6d37ca55a82d7cea6ac43", - "timestamp": 1657879593, - "blockNumber": 15146621 - }, - { - "proposalId": 87, - "voter": "0x529408a6962Bae6Ca5328874d633738116B89B05", - "support": true, - "votingPower": 1.0791909726913655, - "transactionHash": "0x7de583b779e5a20d851f133e73977f59a67257140e572589b0fd83cc39f4386a", - "timestamp": 1657884432, - "blockNumber": 15146963 - }, - { - "proposalId": 87, - "voter": "0x2949764C330a13a00b3B49DD36b1943908d04E09", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xe065705d9b6fabb1d5fba74b865f25e5f485bd35979abf79c8dd806f47529d81", - "timestamp": 1657887066, - "blockNumber": 15147165 - }, - { - "proposalId": 87, - "voter": "0xb8C2C0Aa32a95351ffa9450509C62379a42a4f87", - "support": true, - "votingPower": 19220.736395967462, - "transactionHash": "0x01b3ff8da4dfd06fc2ec48f412d6db3ba13a2bcb406082c20b4a50eb879b248b", - "timestamp": 1657893128, - "blockNumber": 15147636 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 88, - "voter": "0x8755f08374bB0bc598681C324913CBde3283AC18", - "support": true, - "votingPower": 0.3194277316688895, - "transactionHash": "0xf2958518fa4bfd0542d2fdcd0c7b11e2149ae1aca9df347d0d39e5c9915886cd", - "timestamp": 1657795648, - "blockNumber": 15140315 - }, - { - "proposalId": 88, - "voter": "0x001076a29493CF2ACE3474Bfe308688effAf12Cb", - "support": true, - "votingPower": 11.6168334891674, - "transactionHash": "0xe951de993b4887499c5d3c1972b55a968e961143bc5597bd2d1224ef79a30d3e", - "timestamp": 1657796856, - "blockNumber": 15140401 - }, - { - "proposalId": 88, - "voter": "0xB86cB4D6a47c7D50c232793cd61707ad60377A75", - "support": true, - "votingPower": 51, - "transactionHash": "0xcbf60a42aa56d6f4503290490290bd7827651eed420393aed27f72d8ed527410", - "timestamp": 1657798140, - "blockNumber": 15140498 - }, - { - "proposalId": 88, - "voter": "0x949aD06a4c904cd0B31AE2F56AaE0eC68C16CCAc", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0x92eb6ecf904d6f7d44ed5d34a43b847f8b3047278616fd96d9cd1891b1ff58fd", - "timestamp": 1657803217, - "blockNumber": 15140863 - }, - { - "proposalId": 88, - "voter": "0x33482803274C5e08661843636DceE8E9A68c7252", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0xa5ee26f8785fa16ae0c1a171cdae9cf449b6b2dd522098a45e0e18b5b6f1102c", - "timestamp": 1657803228, - "blockNumber": 15140864 - }, - { - "proposalId": 88, - "voter": "0x347Bb83E4ab465C8C6b7afaB3BEB373410A9Cae2", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0x676a46ecd93858f6611fc595a1128beeade19a2aaeece1c3b9788500b9541fd5", - "timestamp": 1657803269, - "blockNumber": 15140865 - }, - { - "proposalId": 88, - "voter": "0x9fD9Bb687696f19038892989876Bd6dC96Abd769", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0x4ac8e9b329b92cff017ccfa1b9205227c4e32ee39234f3a3339180e1dfd663e2", - "timestamp": 1657803269, - "blockNumber": 15140865 - }, - { - "proposalId": 88, - "voter": "0x9E73201903164d3B476505f3C54F86cdCD4010DF", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0x04683a38e828b09d2ff771e7956ceaed486be21906c88245e4cf206f03dad188", - "timestamp": 1657803272, - "blockNumber": 15140866 - }, - { - "proposalId": 88, - "voter": "0xFBE6915fB22DFe6b42a7c50b43B45bF692681e5D", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0x11079b7c8e32344b5603885a33ef3f06ed1c04a8cefbcec957580a7086a14852", - "timestamp": 1657803293, - "blockNumber": 15140868 - }, - { - "proposalId": 88, - "voter": "0x0585c0d0aEdF071a07992ad650bdc047Cef0c04F", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0x18a013479273003e93d0c6e039aa638ddf61f995478683b25de49c478e851a6c", - "timestamp": 1657803327, - "blockNumber": 15140871 - }, - { - "proposalId": 88, - "voter": "0x69389398e4D903b02010e20d308ee58EA8D6D714", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0x247f1bd7ce1870d210b8ef04f396d56626226a9444e438628b59a5e664124843", - "timestamp": 1657803327, - "blockNumber": 15140871 - }, - { - "proposalId": 88, - "voter": "0x99D305dfc38CEfA91cB1129387681eDe4c93e87D", - "support": true, - "votingPower": 0.03620082, - "transactionHash": "0x36449ea69ac53aa9303db96fcd11f73ebf2bbe6ac5a4fc7261ac19bdc1dd71bb", - "timestamp": 1657803343, - "blockNumber": 15140872 - }, - { - "proposalId": 88, - "voter": "0xd2362DbB5Aa708Bc454Ce5C3F11050C016764fA6", - "support": true, - "votingPower": 73900.72205462291, - "transactionHash": "0xa2f774c602452de6cb2ad07589d42778e3f078f76a337152720ff82ddc224462", - "timestamp": 1657816446, - "blockNumber": 15141886 - }, - { - "proposalId": 88, - "voter": "0x329c54289Ff5D6B7b7daE13592C6B1EDA1543eD4", - "support": true, - "votingPower": 5021.880908670644, - "transactionHash": "0xd6227c0a61b8bae929e692c0538567e7d560b6038e5c6116923c3335c158943f", - "timestamp": 1657828201, - "blockNumber": 15142799 - }, - { - "proposalId": 88, - "voter": "0xA0efD27acC781549D5b78e89E561AA0903932d56", - "support": true, - "votingPower": 8.002657782527367, - "transactionHash": "0x1180874ef6758bf3d713a1b581ed158e60bdb92e9eaf54b425a0f7c054cd66f6", - "timestamp": 1657834978, - "blockNumber": 15143298 - }, - { - "proposalId": 88, - "voter": "0x60dd456273Cbb018C2222621d4c2Dc5016E870d3", - "support": true, - "votingPower": 0.13047043946417894, - "transactionHash": "0x5d63434e85fed5e763b8ce67c3c1123edc1e74415dca7baea7eb7da9a8f8f95b", - "timestamp": 1657843111, - "blockNumber": 15143926 - }, - { - "proposalId": 88, - "voter": "0xe982382bc082da0032fA74155078D0a85Dc1cDf8", - "support": true, - "votingPower": 4.35428619, - "transactionHash": "0xe208e355c9b261db1d174e5b58b2b62f5e7cc350c53541d83c3e1ca143b877ea", - "timestamp": 1657846573, - "blockNumber": 15144195 - }, - { - "proposalId": 88, - "voter": "0x8EA25e68a6dED06C033547ce7D80288E8A92C8D8", - "support": true, - "votingPower": 2.4609616421576317, - "transactionHash": "0xf8df9e2dde602546948c52420fc34ea9e0900475eb15d0069779e8658551310a", - "timestamp": 1657861529, - "blockNumber": 15145286 - }, - { - "proposalId": 88, - "voter": "0x250D43D476387104Df6A22d9BFB43BdFA89f7881", - "support": true, - "votingPower": 4.087738313252908, - "transactionHash": "0x874e133a199e34a382e14ee6b757e4065b1d2aeec4b754abdc715106bb1f076d", - "timestamp": 1657861758, - "blockNumber": 15145306 - }, - { - "proposalId": 88, - "voter": "0xaDb06487fab7372608cD281dD4E498108E860470", - "support": true, - "votingPower": 0.015289733211272246, - "transactionHash": "0xec1dd12e34b757217f8aeee6c433d9b1b658a4ba1ff639a9f0233f7aab61ecab", - "timestamp": 1657861844, - "blockNumber": 15145313 - }, - { - "proposalId": 88, - "voter": "0x945fa554aF6a462a759A6986Ed67Bf938C3DE358", - "support": true, - "votingPower": 1.3703589526673048, - "transactionHash": "0x3a023a7c7e6a0018a2a617fc19426199f05dcc47b9dcdc672baa1da37f955b03", - "timestamp": 1657861985, - "blockNumber": 15145328 - }, - { - "proposalId": 88, - "voter": "0xb251974fdf11Cc68842377a8011a72Cd9B3331B3", - "support": true, - "votingPower": 0.8642221605034291, - "transactionHash": "0xd6f53da3de76f6528ac799ea50aa56b14c113c1b9845731698d7661c9192e947", - "timestamp": 1657862324, - "blockNumber": 15145353 - }, - { - "proposalId": 88, - "voter": "0x16B74F5bF177Ef616c0CcDAe4B9Ef4a636654670", - "support": true, - "votingPower": 0.08452623911181088, - "transactionHash": "0x78b004edad1bdcea747fa33168a83726204e322179d3577f80dbbd4b8105ca91", - "timestamp": 1657862603, - "blockNumber": 15145368 - }, - { - "proposalId": 88, - "voter": "0x6406306DB56F691b8F71Dcd9D39A0ebDbb2018e3", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xe50feb404e2d0ca8b99cf1746efce7f3294288d79e5a6afba12dcc39f3539cb4", - "timestamp": 1657864782, - "blockNumber": 15145514 - }, - { - "proposalId": 88, - "voter": "0x196a37946C3D93e9A5309f539ae28b774a32411F", - "support": true, - "votingPower": 1.337139276378288, - "transactionHash": "0x929485e4352b7840fff2ec2a08b31b71d93d9992e05fc2ba2b035b7aaf6da565", - "timestamp": 1657866322, - "blockNumber": 15145611 - }, - { - "proposalId": 88, - "voter": "0x8fBB54606676BA5F8Edc6C4c88ef29b86d58774c", - "support": true, - "votingPower": 0.3, - "transactionHash": "0xc1683aadad518bb1a437d31d266976eae224dcf20cd50d7da37715f2736a9120", - "timestamp": 1657866607, - "blockNumber": 15145632 - }, - { - "proposalId": 88, - "voter": "0xDAbc72dAc85692e0115257DB423648f0E4D23040", - "support": true, - "votingPower": 0.4742352999324944, - "transactionHash": "0x00e820263c7b1a3a440dcd389f757ce2d6e0a66f575951f4732eb7cd0aa77ddd", - "timestamp": 1657866613, - "blockNumber": 15145633 - }, - { - "proposalId": 88, - "voter": "0x4d477F1aabcFc2FC3FC9b802E861C013E0123AD9", - "support": true, - "votingPower": 0.1092903026824001, - "transactionHash": "0x46421839a71eabd207eccc97a67354b6e4ab5d9e58e70c0a670b89ca9b49e5f0", - "timestamp": 1657866782, - "blockNumber": 15145645 - }, - { - "proposalId": 88, - "voter": "0x7F7aD73518C490885723B425a998921Bb3Cd309A", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xacb562685a5627d0d959d82c94c26c959c160f03487e5622341893e7f4414ad1", - "timestamp": 1657867323, - "blockNumber": 15145690 - }, - { - "proposalId": 88, - "voter": "0x43DEb3b8960b1760f81070A989fdAF1a575E552A", - "support": true, - "votingPower": 0.3, - "transactionHash": "0x31bd690669528e416793a5b5f3d0d3140bf871be5c9c05cce5d2dc9b1e9c3a5a", - "timestamp": 1657867352, - "blockNumber": 15145693 - }, - { - "proposalId": 88, - "voter": "0x3cCd44BB20bc9c06FA8CCE8f6Aa207AE86D7DD5b", - "support": true, - "votingPower": 0.5, - "transactionHash": "0xb5fe15a09735e35e059065200296e1919c02e1ded5f3182930342cd3ca8d46f9", - "timestamp": 1657867550, - "blockNumber": 15145710 - }, - { - "proposalId": 88, - "voter": "0x016E9153A386d53C6fc0cA2d6A56dbB3834Dc4B7", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x0c6d0f1816ab912a14583aaffbd74269c77940dddeb4650ea7a26dbdc50c2a15", - "timestamp": 1657867854, - "blockNumber": 15145728 - }, - { - "proposalId": 88, - "voter": "0x81dD777413157D8d1Dc92B3479704e07C339b9ad", - "support": true, - "votingPower": 0.5, - "transactionHash": "0x207bac6863caebc8e7e6db3e4c48574d4b77ab11a1194a744bc203e49f3d9210", - "timestamp": 1657867993, - "blockNumber": 15145743 - }, - { - "proposalId": 88, - "voter": "0xa0773DBC8d0f4930BCD37D43d8B0C11f03652C84", - "support": true, - "votingPower": 0.25, - "transactionHash": "0x1a1aff64fb99b80c8706db2fe4c2c989f51a09ac12bc6551221725b7d55b9729", - "timestamp": 1657868245, - "blockNumber": 15145763 - }, - { - "proposalId": 88, - "voter": "0x2bA3f0981Dda6FEB724e23b1a2AE349bDaA24A2d", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xd3160ad31981b5694e78201e75e49f6d3ad1e53b34b6cc65d2fd9c50768e46fd", - "timestamp": 1657868354, - "blockNumber": 15145770 - }, - { - "proposalId": 88, - "voter": "0x07450986773F22507c919483dCcFb9d348EF042e", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x9b933525255c17c255cd1874b36463a0533e5f6b30128cd5bf76dd5807c49023", - "timestamp": 1657869434, - "blockNumber": 15145848 - }, - { - "proposalId": 88, - "voter": "0xbF4c796931727fce4b42e8a7F1b284681A0d5a7C", - "support": true, - "votingPower": 0.8178829270671828, - "transactionHash": "0x90dae2604ed7be24dac5646dfe41c8662dc0590791183c428915c5e1fae67751", - "timestamp": 1657871209, - "blockNumber": 15145973 - }, - { - "proposalId": 88, - "voter": "0xB656744D0a893F98df21DF88dA2eE183D620BB59", - "support": true, - "votingPower": 6.86, - "transactionHash": "0xa5845301db180f97e6de0f9325de9b0e8339005680cdf38737837d89f46e1a92", - "timestamp": 1657875805, - "blockNumber": 15146317 - }, - { - "proposalId": 88, - "voter": "0xc21611A12525D3aB940c339b8aE4C4BE5865B6a2", - "support": true, - "votingPower": 0.11382236582795392, - "transactionHash": "0xe4037e117fc41fd1f995c68b81c579c18f3e5f5ed67e429070f607aee86e6364", - "timestamp": 1657885339, - "blockNumber": 15147027 - }, - { - "proposalId": 88, - "voter": "0x75e302CDC15d37abA075F1064eAE098E285df20C", - "support": true, - "votingPower": 1320.9757539500672, - "transactionHash": "0xa9f8cdf4d92b53bacba7ae33be1a71d477a6e1e6021391263dab21d0f9995633", - "timestamp": 1657886043, - "blockNumber": 15147084 - }, - { - "proposalId": 88, - "voter": "0xa5AB762Aee588Cb38D00FF162bba990451De71F3", - "support": true, - "votingPower": 1.0025335, - "transactionHash": "0x17709d8b6d89f0c01bff4b7731d8faad5bdbdc2366f94a80f7a60ee37e3d1c42", - "timestamp": 1657926127, - "blockNumber": 15150104 - }, - { - "proposalId": 88, - "voter": "0x6237C3e5A234596Dc5704ae3940a0929A03a2935", - "support": true, - "votingPower": 1236.826234747945, - "transactionHash": "0x9bad1f86763651115a1ef54bc45b2973942bf525421de56187073939fb8a198d", - "timestamp": 1657928825, - "blockNumber": 15150298 - }, - { - "proposalId": 88, - "voter": "0x40Cb0B19D71Eda986C275c85A6e5b26b6AC7E2E4", - "support": true, - "votingPower": 0.09511727369202091, - "transactionHash": "0xbd863080e8840d7abe2e6da8f5501a5c1e1c7c5ada617a28834c73b638ec8767", - "timestamp": 1657929276, - "blockNumber": 15150341 - }, - { - "proposalId": 88, - "voter": "0xC576eb3a729BC7B2Faff54B1752A8Bf05c00A12A", - "support": true, - "votingPower": 2.237058, - "transactionHash": "0x3c452e3d591c988e2f2f0ed8029b646e04a75a8eb03287ee51494b09258f5e94", - "timestamp": 1657936173, - "blockNumber": 15150859 - }, - { - "proposalId": 88, - "voter": "0xbAC2D8926c17fBf4783428e29641d6C5238E1074", - "support": true, - "votingPower": 48.3125, - "transactionHash": "0x860716d077ea1029dc997992554dcf3821dd76cb1b2d4a7e7de822db8587a31f", - "timestamp": 1657936710, - "blockNumber": 15150893 - }, - { - "proposalId": 88, - "voter": "0xC55d35AF6A5ff6299EF3fb8632BBaC6cce17DC8b", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x56d2690318c45b2e79e9c8d3e359f0d95d754b421440b98d97b93afd4d0c0de9", - "timestamp": 1657939339, - "blockNumber": 15151089 - }, - { - "proposalId": 88, - "voter": "0x86ce032489383Ec0564BAD2Ed868048f0b1030f2", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x87c256707233e9e282508d19386a37b1a26b0652cbb7dde1958c8ae76bec6a07", - "timestamp": 1657939599, - "blockNumber": 15151118 - }, - { - "proposalId": 88, - "voter": "0x66B190D7efe49FC082E8872a9C8ACE703dC80588", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x2a690a642b95e21cd74df4aa64ea18d3d23bfe133cc865ca1ed7cec646d30f19", - "timestamp": 1657939874, - "blockNumber": 15151137 - }, - { - "proposalId": 88, - "voter": "0x8Dd0F1C1BDEf8e2C180df44d348db44494C54Ea7", - "support": true, - "votingPower": 0.11973361215093221, - "transactionHash": "0x026ff13026bf59d80586d9b9839de5e4e81dee75b7023e2de100ab42bd44741d", - "timestamp": 1657939923, - "blockNumber": 15151141 - }, - { - "proposalId": 88, - "voter": "0x2908790CeC0Da7786c8e954162d753a07a98b344", - "support": true, - "votingPower": 0.10065482679220604, - "transactionHash": "0xa6e6ffea90682360dd68de9e246db690dcaccda206cb2c7cdce3ecdee9cdcaf5", - "timestamp": 1657940086, - "blockNumber": 15151152 - }, - { - "proposalId": 88, - "voter": "0x08fECB006F7edCE664eDF7B21F61f5EfC4D7aCF9", - "support": true, - "votingPower": 0.1006443538168045, - "transactionHash": "0x3b0781756c0b32911621e3dad6cbb0b334966b516ee2de4b27071370df7772ff", - "timestamp": 1657940202, - "blockNumber": 15151157 - }, - { - "proposalId": 88, - "voter": "0x5B060d8C21B60d6904052BE0Dc6C2Eb1888De74C", - "support": true, - "votingPower": 0.10722431074624417, - "transactionHash": "0x68b6bc4f6e01f3a534a50663896529af97664c39e2cbc003e734fa265f1f09c3", - "timestamp": 1657940202, - "blockNumber": 15151157 - }, - { - "proposalId": 88, - "voter": "0x301b3410F3C3FeDf8f90ad465964a45861B1773e", - "support": true, - "votingPower": 0.10533481371745422, - "transactionHash": "0xe3aad9b5881b33de7be2f8fdd70b2721ac94ba9f6437ac20236e94ac08b0a6aa", - "timestamp": 1657940240, - "blockNumber": 15151158 - }, - { - "proposalId": 88, - "voter": "0xeC0b276dfe3D75237F356b4092402a3d0e7b724b", - "support": true, - "votingPower": 0.10320499840582133, - "transactionHash": "0xdec4e802d2dd3a50f4006dc735bae6d0b203175eea5ce5eb287634c2191ac11a", - "timestamp": 1657940305, - "blockNumber": 15151161 - }, - { - "proposalId": 88, - "voter": "0x2835600819dc2633611d600C488a52C6AF4908f2", - "support": true, - "votingPower": 0.10401153763748364, - "transactionHash": "0x49ffb026d1933de6851f26a48fbe5a675c6d0337904777cf9646cdad862481e5", - "timestamp": 1657940305, - "blockNumber": 15151161 - }, - { - "proposalId": 88, - "voter": "0x8E6583b679c10e648D415BA48D57Cf3C2dC00F7F", - "support": true, - "votingPower": 0.10570864300681156, - "transactionHash": "0xa2f443d3f6e92d53fedd3fc751edb33c8fbb3fea9931668886a289c9c0c1921d", - "timestamp": 1657940305, - "blockNumber": 15151161 - }, - { - "proposalId": 88, - "voter": "0x2c6141c6c7aaf27dD1BE50bfdF5409F0Ca986eE2", - "support": true, - "votingPower": 0.10878172213773987, - "transactionHash": "0x515d7ec5c3a8dab70c0293d853701aa1297c11bcf69368b5fe9bd925e83fb4c5", - "timestamp": 1657940305, - "blockNumber": 15151161 - }, - { - "proposalId": 88, - "voter": "0xFCE7FB5D5548b821b02ad99E398bb38b27FD626C", - "support": true, - "votingPower": 0.10823061839336548, - "transactionHash": "0x945ef086967ac3f6f432739361ac7581827f0ae51a171c4dddb86d29788565d2", - "timestamp": 1657940328, - "blockNumber": 15151165 - }, - { - "proposalId": 88, - "voter": "0xbC2Ff35020ffF6Df7AE8a0b154938cE5C5e459C9", - "support": true, - "votingPower": 0.1082189455222498, - "transactionHash": "0xfcdd082ac99beae2bf17a1a74c7d5fc9950f220d88d4221b1bd9ce6fd6fbd3af", - "timestamp": 1657940335, - "blockNumber": 15151166 - }, - { - "proposalId": 88, - "voter": "0x3d5E234B544c57e79B7f624e544B90AA974b79c9", - "support": true, - "votingPower": 0.10773712221172291, - "transactionHash": "0x232b0fd5a7993854706f4e1589f6867625cc1ad0120218a5233322226eafeaac", - "timestamp": 1657940351, - "blockNumber": 15151167 - }, - { - "proposalId": 88, - "voter": "0x60f1e68a7ffe5E5c33a3844838112575F00929ad", - "support": true, - "votingPower": 0.10772552938124977, - "transactionHash": "0xbc3ad23deafb43d083fa18fe655672fe0c6d2a925b0e119ae8f48e12f24f0749", - "timestamp": 1657940367, - "blockNumber": 15151169 - }, - { - "proposalId": 88, - "voter": "0x2659c70663762dE8A1Eaef4D9D5947d56a778588", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x00369d05836a44392e8b2d9a4babbf90035efee7adebca7e5cd2d6ddd820be81", - "timestamp": 1657941191, - "blockNumber": 15151235 - }, - { - "proposalId": 88, - "voter": "0x92D2eeacF8c6926d904e7bbf692439Ce61641555", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x8d1443599a81fb026f8ba81ea42fe0604c14cc345373e0a13d7e3fafee46c08f", - "timestamp": 1657941277, - "blockNumber": 15151244 - }, - { - "proposalId": 88, - "voter": "0x19AAf3138e5859294679f19Af871A12AAC4C8880", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x8d3cf8df22276a08e428224204b67b132b567496f83520c574250276b4045645", - "timestamp": 1657941352, - "blockNumber": 15151254 - }, - { - "proposalId": 88, - "voter": "0x8526A1962C498aA32aF5771515335CE1Be976678", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x76c70585fdd27aa845897dc32e602f5f086ff4ef0dab49a9b4f7cd7f14cc0d9c", - "timestamp": 1657941661, - "blockNumber": 15151276 - }, - { - "proposalId": 88, - "voter": "0x77d4C4263490cE26C0689c214451AB6E9F7Ef800", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x5ea9eb0224b73cc031911ae2699860edaafe69fa242acd52233ccc53d910d74f", - "timestamp": 1657941736, - "blockNumber": 15151284 - }, - { - "proposalId": 88, - "voter": "0x7Cb38495E166d04d9B02E83De75bde9515839500", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x855e58ebc11647e3b188eaa56d69868cacddbb654eb707bf047dd4f270cb02a3", - "timestamp": 1657941805, - "blockNumber": 15151291 - }, - { - "proposalId": 88, - "voter": "0xf4F26672E1c1C85F7251979497729506CB46e97d", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xe633f030dc968c1ce16c96a866ecc531aa1051db62eaaae7e927573be0630391", - "timestamp": 1657941885, - "blockNumber": 15151295 - }, - { - "proposalId": 88, - "voter": "0xaa18448Eb19CD801C63F05176d095b66E78E8A00", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x88067177b633fb35a6c63238ab5124b663749ce74987c8e6332fcbd5e184b24a", - "timestamp": 1657941961, - "blockNumber": 15151300 - }, - { - "proposalId": 88, - "voter": "0xFA667AF4291fe3013C34eCC6D2ace5142144a818", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xc76b114c2f0fbb1b87defcd2c939cbe607f771729fdef8f12a153f8746a10fd1", - "timestamp": 1657942024, - "blockNumber": 15151307 - }, - { - "proposalId": 88, - "voter": "0xB37b54DB1CdB7Ca82dF3eB372067Fa94AC962882", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xa38cfdddf7c87374937b056ee713c205171c5e084fb0f81260bb3cfde5008fda", - "timestamp": 1657942057, - "blockNumber": 15151310 - }, - { - "proposalId": 88, - "voter": "0xe5Bd4145b51E35a2c49aE8DF4F0065Da449d6523", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xf698cfb82ca1e448a91cabdf529f53c822d839186ffe0e7b23766b65ade20f1b", - "timestamp": 1657942135, - "blockNumber": 15151313 - }, - { - "proposalId": 88, - "voter": "0xb678692Aa34B8B51Ed53f358d2C3D4355D2F2750", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x521ce6eeacbf8fffce3e55e3c621f82ca1418dc40b21cf3a9401615eb6f5faa3", - "timestamp": 1657942186, - "blockNumber": 15151318 - }, - { - "proposalId": 88, - "voter": "0x485b0c5E93947010F9Fda2bA50de23FcEfd58F29", - "support": true, - "votingPower": 0.06529872425836444, - "transactionHash": "0x1d5e613f3813031125630f876abdefb14a05dea97cc05224c760afb83aff852f", - "timestamp": 1657945050, - "blockNumber": 15151531 - }, - { - "proposalId": 88, - "voter": "0xA0556E8e8b617f184c6948DF2c08AC795036DAA5", - "support": true, - "votingPower": 1.0330950768363638, - "transactionHash": "0x2de384cbf3dafe704481f9a7cffc165529ad6427b514efee6cb083ed548861d5", - "timestamp": 1657948614, - "blockNumber": 15151792 - }, - { - "proposalId": 88, - "voter": "0x2ccBF7C691C1725E1b6D8dC6A4304f3227B31F75", - "support": true, - "votingPower": 0.101, - "transactionHash": "0x8abcd423c301debc687beb31417913faccd37cb4776fdaf20b1b9d9d3485a262", - "timestamp": 1657948957, - "blockNumber": 15151827 - }, - { - "proposalId": 88, - "voter": "0x44f4B08BB4aB1230e80e571460f68d701a561C4e", - "support": true, - "votingPower": 0.07384133732328395, - "transactionHash": "0xbb61ef5ff6b3490e6d42690f5934505741e613adb1654b7bafc23a3c79f5e4c6", - "timestamp": 1657949646, - "blockNumber": 15151881 - }, - { - "proposalId": 88, - "voter": "0x89AbfB83EB5f6a01317a42dB64eff5291C1dfBaB", - "support": true, - "votingPower": 7.691451121196575, - "transactionHash": "0x62312eba2c3ac58c667d45f62aacf238115778873257679d9ce478419879ed2e", - "timestamp": 1657949857, - "blockNumber": 15151892 - }, - { - "proposalId": 88, - "voter": "0x529408a6962Bae6Ca5328874d633738116B89B05", - "support": true, - "votingPower": 1.0791909726913655, - "transactionHash": "0xaf3eff5e6667b6b52c001e4f2961c22c792a54dcc4a9e2f77359031a8165ea02", - "timestamp": 1657952644, - "blockNumber": 15152085 - }, - { - "proposalId": 88, - "voter": "0x688d5a18323349A002B294162e0f1768fC4573BE", - "support": true, - "votingPower": 48.11321489, - "transactionHash": "0x5edd5aaa2f4a3fe06e9941da22f376bc522d3274fd8f6ae7bb5ac4c582e29208", - "timestamp": 1657958695, - "blockNumber": 15152545 - }, - { - "proposalId": 88, - "voter": "0x1A8167907256ECE255be4563c141C88EE16427CA", - "support": true, - "votingPower": 1.05, - "transactionHash": "0x8c562865afa4f6414a7ec5623d906405c59bfbf074db7337e5d142a1aaa3ab80", - "timestamp": 1657958743, - "blockNumber": 15152550 - }, - { - "proposalId": 88, - "voter": "0xB0158A40156Bc1FE42afbd46aCdd0d66210f85F8", - "support": true, - "votingPower": 0.10257749546775614, - "transactionHash": "0x2818390c3a39625474e348142d59e619362ca7ba5792da7fdfff6db5a3878931", - "timestamp": 1657959958, - "blockNumber": 15152652 - }, - { - "proposalId": 88, - "voter": "0xBCCb2e1B4292D4DBb3F6A4C257BB5ec9bfC69fdA", - "support": true, - "votingPower": 0.22967136007561578, - "transactionHash": "0x877468dd1037dd4d7ac656f21b54356b1567709d345d3a8c37de94dd14adf0be", - "timestamp": 1657960822, - "blockNumber": 15152714 - }, - { - "proposalId": 88, - "voter": "0xb3B7344Dd665195392dE5a89b165c9dC2ADD62B6", - "support": true, - "votingPower": 1, - "transactionHash": "0x31e13400255f91a724bce7d66aa2869a6f838c4ab433739ab99717ffab98c60c", - "timestamp": 1657961570, - "blockNumber": 15152772 - }, - { - "proposalId": 88, - "voter": "0x91D6E70676b39A45D9D1198aB01319a810Ce7618", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xbbe1b77b611c08e1b4450d83b68cfc9fb36aa0eed7076e8b2ff59d2e8ee4b755", - "timestamp": 1657963346, - "blockNumber": 15152918 - }, - { - "proposalId": 88, - "voter": "0xaFDAbFb6227507fF6522b8a242168F6b5F353a6E", - "support": true, - "votingPower": 93459.962854, - "transactionHash": "0x9f9368fc57672637cfe3175d9ef4900c77bcb9b46dc22178a7eb582b6c4b1e59", - "timestamp": 1657971905, - "blockNumber": 15153541 - }, - { - "proposalId": 88, - "voter": "0x4524e8BbeC317C68338B5147D6D7069684350036", - "support": true, - "votingPower": 1, - "transactionHash": "0x81ec54a46a5ce4d5ec086df25d25adb96c0d1bddea4ed12e2a03fc57fc3a941c", - "timestamp": 1658009901, - "blockNumber": 15156372 - }, - { - "proposalId": 88, - "voter": "0x070341aA5Ed571f0FB2c4a5641409B1A46b4961b", - "support": true, - "votingPower": 9999.9999, - "transactionHash": "0x2607540947b60d2f5588711ab5596f4e1226a8e4438e80f226dfc7c282231c4f", - "timestamp": 1658013356, - "blockNumber": 15156624 - }, - { - "proposalId": 88, - "voter": "0xC6b2cFC8CF242Be856dE634921E12fD52F05B3E1", - "support": true, - "votingPower": 3, - "transactionHash": "0xaa975553741a3c63b5b121b165a34020f800d967eff28c1c27b73249930d7988", - "timestamp": 1658015364, - "blockNumber": 15156769 - }, - { - "proposalId": 88, - "voter": "0x7ADbD800d49D2A75A736c97CD32b1B9AEEC3D24F", - "support": true, - "votingPower": 0.14847450883246788, - "transactionHash": "0x27b5bc264c3bbe92b0398719688f8546997e070dca31ef688d67799e766a1e56", - "timestamp": 1658021507, - "blockNumber": 15157211 - }, - { - "proposalId": 88, - "voter": "0x34B33D4E52dbC5C965769B4aA97066d95B318331", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x0c8cd2dd772755d7e73da46fa15d52e1d08f9164052a2ff81a7942d1b8e8ff55", - "timestamp": 1658023960, - "blockNumber": 15157411 - }, - { - "proposalId": 88, - "voter": "0x8d0917af309e9c5d5861E043A51337a2605C0574", - "support": true, - "votingPower": 0.07767493, - "transactionHash": "0x8b4c7330169a5cbeafc7abb82e653a865f727c5f752b93ac1a9241f7abc861b8", - "timestamp": 1658024190, - "blockNumber": 15157432 - }, - { - "proposalId": 88, - "voter": "0x8a0Ee7E98d5c3f49E1a9f8E5609B211250D774BC", - "support": true, - "votingPower": 0.15231441566601264, - "transactionHash": "0x1342ce7ef43cc7322c43be770d247b2f365c1ddc26d4d88ad22e2b17af17b86c", - "timestamp": 1658030413, - "blockNumber": 15157919 - }, - { - "proposalId": 88, - "voter": "0x1186a54003Df7Dca290dE22475f1B369E4cd9a1F", - "support": true, - "votingPower": 1.168279120712378, - "transactionHash": "0x84ad3ab275266e9efcf611b95105e9b7146c192393c0ac44805ac865c87faaba", - "timestamp": 1658030780, - "blockNumber": 15157956 - }, - { - "proposalId": 88, - "voter": "0x48b1614Aa47720d8F507A4A69bf51C9b7E8B7f6D", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xdfc676be831ea2b79e7a6e468a07336afb117b8b013ce2f42901da6820184ccb", - "timestamp": 1658031419, - "blockNumber": 15158003 - }, - { - "proposalId": 88, - "voter": "0xB1F589D7841AF99F721DA8cC32bf7C58109FD5ba", - "support": true, - "votingPower": 15.304635241975085, - "transactionHash": "0x7f1b6711f4c361dac237d44acc96893ba4306b2ab8ead4b1548dd9d7fe76cc21", - "timestamp": 1658033600, - "blockNumber": 15158145 - }, - { - "proposalId": 88, - "voter": "0xFDD88a45cE43e403BA0C0d6774a13b01b6f75d40", - "support": true, - "votingPower": 0.034988, - "transactionHash": "0x57601df528ebb8000b96c15e892317124e9cbec28dcec7de790f5c904d06be8c", - "timestamp": 1658033849, - "blockNumber": 15158165 - }, - { - "proposalId": 88, - "voter": "0x28872bA19147c04b40C0769B170a40faA52Ab26c", - "support": true, - "votingPower": 0.101, - "transactionHash": "0x3449032625e9f11f1e0f554d4e15335b1b3907ab1f02a0e30b7abaa993f0e3e7", - "timestamp": 1658034845, - "blockNumber": 15158246 - }, - { - "proposalId": 88, - "voter": "0x6F8D0c0A2b28dF39cf2A4727d3eCfb60E9Ddad27", - "support": true, - "votingPower": 0.101, - "transactionHash": "0x601e05b561dd114fe2aaacab4937da66e040c40d9818cd4a89f5feb835b9e1fb", - "timestamp": 1658035526, - "blockNumber": 15158297 - }, - { - "proposalId": 88, - "voter": "0xFe238dB1dE2082bB9bA5dfC184B7e7C69C9bE636", - "support": true, - "votingPower": 48740.81377176334, - "transactionHash": "0xb2796f62180b03a2e03dd251cffea31f60ba3dcf544f2577e9a41dc46afca3f8", - "timestamp": 1658038743, - "blockNumber": 15158535 - }, - { - "proposalId": 88, - "voter": "0xdd45542cCf17A16F5c515c20db7F7C7D8bB74Cc5", - "support": true, - "votingPower": 65498, - "transactionHash": "0x761c73f1eb7f9f1bccd1b7fbc65364aa06ea3afcdb4e5cc2645bb84aadd960b3", - "timestamp": 1658042609, - "blockNumber": 15158802 - }, - { - "proposalId": 88, - "voter": "0xda2804f2ef63AACFb3503510602c6d68dfFd554B", - "support": true, - "votingPower": 0.05, - "transactionHash": "0xa4c0a09a592d7edfd8c070325ac115bc054e932c65eb3f27ee1c0b6c02ec7ccf", - "timestamp": 1658045201, - "blockNumber": 15159007 - }, - { - "proposalId": 88, - "voter": "0x36C4Bd54D54DD898C242F5F634f5D0CEf3bE2A8A", - "support": true, - "votingPower": 41609.252775038454, - "transactionHash": "0xab547f08f69b89f7b07aefe6ef7fbe69292f1242281d231032b416d2f1439ff4", - "timestamp": 1658045760, - "blockNumber": 15159051 - }, - { - "proposalId": 88, - "voter": "0xA2e7002E0FFC42e4228292D67C13a81FDd191870", - "support": true, - "votingPower": 0.045, - "transactionHash": "0x9b9d85d84417a9d05798ecc7655817e18e8bfef3f7e7966d482018488000bb7c", - "timestamp": 1658045877, - "blockNumber": 15159059 - }, - { - "proposalId": 88, - "voter": "0xc4a936B003BC223DF757B35Ee52f6Da66B062935", - "support": true, - "votingPower": 92529.61013077926, - "transactionHash": "0x17675fa97cd3a33518597c43a27f2d9482981d2aa4197318b53517910a5ff5b4", - "timestamp": 1658046689, - "blockNumber": 15159119 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 89, - "voter": "0xd2362DbB5Aa708Bc454Ce5C3F11050C016764fA6", - "support": true, - "votingPower": 73900.72205462291, - "transactionHash": "0xdc2e6a2862eeba9f8c7f1145157ed78841cff58c3860e39febb61bc27542d465", - "timestamp": 1658305678, - "blockNumber": 15178413 - }, - { - "proposalId": 89, - "voter": "0x26463F18FA1f6d850542b13376edc152cA8e970d", - "support": true, - "votingPower": 2.3598863204541245, - "transactionHash": "0x0fa3b9337de06b077577b361fe90d2a31b17dfa4295a5b5787df05a231804540", - "timestamp": 1658308043, - "blockNumber": 15178594 - }, - { - "proposalId": 89, - "voter": "0x5F389707Fc094f5daaFf685ba8E47Ee56E31f51F", - "support": true, - "votingPower": 2.975488355324591, - "transactionHash": "0x1374ea93cd52eebb8c1fb1dba24cc5007f820811f53eb47adc2cbf2dcdca3b49", - "timestamp": 1658316832, - "blockNumber": 15179237 - }, - { - "proposalId": 89, - "voter": "0xA0efD27acC781549D5b78e89E561AA0903932d56", - "support": true, - "votingPower": 8.002657782527367, - "transactionHash": "0x73641d5cb3e743f7a7cb9e1a8367e6b5bea8d443e790ccb5b1a70ac122c31ce9", - "timestamp": 1658341286, - "blockNumber": 15181074 - }, - { - "proposalId": 89, - "voter": "0x60dd456273Cbb018C2222621d4c2Dc5016E870d3", - "support": true, - "votingPower": 0.13047043946417894, - "transactionHash": "0x23517544feb16e37eafe5cb5b50bfc2b02dd4549784776c9a3c0e4dafa8f0a1d", - "timestamp": 1658362195, - "blockNumber": 15182667 - }, - { - "proposalId": 89, - "voter": "0x6406306DB56F691b8F71Dcd9D39A0ebDbb2018e3", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x96e8c06fc597688ad8900ab00423165bc8eaa804cb223b00a2f5c19eba4cc17b", - "timestamp": 1658362330, - "blockNumber": 15182678 - }, - { - "proposalId": 89, - "voter": "0xe7c724F87EcFf8E2f563962f96b6c291cBD729cF", - "support": true, - "votingPower": 900.0862915085044, - "transactionHash": "0x8952ef17f16fdda5d7cb439dc3b8e6ba1feee6f9fe80605fa10d3730c732000b", - "timestamp": 1658365038, - "blockNumber": 15182871 - }, - { - "proposalId": 89, - "voter": "0x3D4FEB0354AfF32AC1B19F28e892D006c26E573d", - "support": true, - "votingPower": 0.03785494582560158, - "transactionHash": "0xd45c15ebd5a29439fb89182abb3078173afa99e12c354effa171f49e0697d97a", - "timestamp": 1658376602, - "blockNumber": 15183712 - }, - { - "proposalId": 89, - "voter": "0x8323c071BC48cd7852e6bE2e729c65f5b65f68F7", - "support": true, - "votingPower": 0.08779038607009784, - "transactionHash": "0x98b67f18c005107325ed2417ab081808b1cb627460c1870708409876ea37a247", - "timestamp": 1658378058, - "blockNumber": 15183830 - }, - { - "proposalId": 89, - "voter": "0xaDb06487fab7372608cD281dD4E498108E860470", - "support": true, - "votingPower": 0.015289733211272246, - "transactionHash": "0x550353c70b6b606a39036afcf70f23c404526776a520df3ddf4faf48d6edbb05", - "timestamp": 1658378411, - "blockNumber": 15183853 - }, - { - "proposalId": 89, - "voter": "0x250D43D476387104Df6A22d9BFB43BdFA89f7881", - "support": true, - "votingPower": 4.087738313252908, - "transactionHash": "0xd5255d47e2b34c86bc03b8168cf2608817b170861d207c144b7f7e99d608c40f", - "timestamp": 1658378717, - "blockNumber": 15183878 - }, - { - "proposalId": 89, - "voter": "0x945fa554aF6a462a759A6986Ed67Bf938C3DE358", - "support": true, - "votingPower": 1.3703589526673048, - "transactionHash": "0x9178bc0a0bfb1c49f99e4932439e273acda383113aac529550255f98728c4acc", - "timestamp": 1658378717, - "blockNumber": 15183878 - }, - { - "proposalId": 89, - "voter": "0x1186a54003Df7Dca290dE22475f1B369E4cd9a1F", - "support": true, - "votingPower": 1.168279120712378, - "transactionHash": "0xe658e2126a29b18533cf92140fdbdfd85ccde733b394f862c6b8a60a651e987f", - "timestamp": 1658378930, - "blockNumber": 15183893 - }, - { - "proposalId": 89, - "voter": "0xb251974fdf11Cc68842377a8011a72Cd9B3331B3", - "support": true, - "votingPower": 0.8642221605034291, - "transactionHash": "0xaa1294458ae068481f1cbdbfa3dc083eb7406c4ce1d241ffed221526b6d019b3", - "timestamp": 1658379082, - "blockNumber": 15183907 - }, - { - "proposalId": 89, - "voter": "0xaCA42e229a20066Ac77E839b22544653d2aA99e2", - "support": true, - "votingPower": 0.08794551664981799, - "transactionHash": "0x2a72237262df9fcc3fb9e584c973640e66fd9305e408f21e333ce245aac14de9", - "timestamp": 1658379233, - "blockNumber": 15183920 - }, - { - "proposalId": 89, - "voter": "0x16B74F5bF177Ef616c0CcDAe4B9Ef4a636654670", - "support": true, - "votingPower": 0.08452623911181088, - "transactionHash": "0x19c458c529a3076ec0722c650cadc1bef4081532705c29cf8e0164069bf5160f", - "timestamp": 1658379533, - "blockNumber": 15183945 - }, - { - "proposalId": 89, - "voter": "0x8d0917af309e9c5d5861E043A51337a2605C0574", - "support": true, - "votingPower": 0.07767493, - "transactionHash": "0xa3bdb36c224af74a3e11a07b3e6ce1c7658c26b0c4bc3fc4eda2305a45b9a99a", - "timestamp": 1658380607, - "blockNumber": 15184003 - }, - { - "proposalId": 89, - "voter": "0x581cd77931452c830Ff949A7De907e3E4C1518F9", - "support": true, - "votingPower": 0.07833921, - "transactionHash": "0xc89a9b9cbda48d6121a321daae8327fa18a19168481ad2f7200a078d0baa3d73", - "timestamp": 1658380907, - "blockNumber": 15184023 - }, - { - "proposalId": 89, - "voter": "0xa941fD0D9fcbD27aE8881f4611C98197F32d85Dc", - "support": true, - "votingPower": 1.2963851341822807, - "transactionHash": "0xff400080208d9824d6fa15276e14287692c0058a4492899f06a3aeb6a85deac1", - "timestamp": 1658380969, - "blockNumber": 15184027 - }, - { - "proposalId": 89, - "voter": "0x3555ce028ae9e2D7A059F315B073ADd87E1C10AB", - "support": true, - "votingPower": 0.034062481545731695, - "transactionHash": "0x4d08319ba9a0521c2bca05a8dfb9a8a64b3d0451dd91c69f533f57783bf8baea", - "timestamp": 1658383227, - "blockNumber": 15184186 - }, - { - "proposalId": 89, - "voter": "0x196a37946C3D93e9A5309f539ae28b774a32411F", - "support": true, - "votingPower": 1.337139276378288, - "transactionHash": "0xaaf58682d918e35a0338475f9e136d57bf2d451c908a3eea91ac4c37174cf33d", - "timestamp": 1658386309, - "blockNumber": 15184415 - }, - { - "proposalId": 89, - "voter": "0xDAbc72dAc85692e0115257DB423648f0E4D23040", - "support": true, - "votingPower": 0.4742352999324944, - "transactionHash": "0xbc4ab4a0920bebbccfd4498c51782e9abefff26774a147355c32bc720a859d00", - "timestamp": 1658386566, - "blockNumber": 15184434 - }, - { - "proposalId": 89, - "voter": "0x43DEb3b8960b1760f81070A989fdAF1a575E552A", - "support": true, - "votingPower": 0.3, - "transactionHash": "0xd7897b8952320c3d2e5ce84127b68146c82d1bb30ff11c861819db2c9fb98b8d", - "timestamp": 1658386782, - "blockNumber": 15184449 - }, - { - "proposalId": 89, - "voter": "0x016E9153A386d53C6fc0cA2d6A56dbB3834Dc4B7", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x1d7800b5e65f5f0a6334ac1bf7ee91edf98b21d708e2bece2918fdb18db1e4b3", - "timestamp": 1658387062, - "blockNumber": 15184473 - }, - { - "proposalId": 89, - "voter": "0xECD02810Db92Ff027ea1b0850d46BdA963676D74", - "support": true, - "votingPower": 1.1, - "transactionHash": "0x34826b44abe4b1d8e3781d01ad58ca3b88a5d3fbf4859b042f94642861cc3963", - "timestamp": 1658387168, - "blockNumber": 15184485 - }, - { - "proposalId": 89, - "voter": "0x6c4ADEa8f704410d4146368203856dc4c439ACDB", - "support": true, - "votingPower": 1.1109998510664045, - "transactionHash": "0x0a0bc4e42bf79ea8e6fe442199f1ded5f83f1ff9ec689e2e47b26b8c2c053bd8", - "timestamp": 1658387168, - "blockNumber": 15184485 - }, - { - "proposalId": 89, - "voter": "0x1c631824b0551FD0540A1f198c893B379D5Cf3c3", - "support": true, - "votingPower": 1, - "transactionHash": "0xdc0ff7e2d693d1bf831cb6acf86cf582e2ef8395e0a31ba8635d18ec48b2c88b", - "timestamp": 1658387975, - "blockNumber": 15184547 - }, - { - "proposalId": 89, - "voter": "0xa0773DBC8d0f4930BCD37D43d8B0C11f03652C84", - "support": true, - "votingPower": 0.25, - "transactionHash": "0xb7515c8c083a807f0a287956eb29b054c1ce71d7bc0060c72128d39eaf084cfc", - "timestamp": 1658388333, - "blockNumber": 15184572 - }, - { - "proposalId": 89, - "voter": "0xbF4c796931727fce4b42e8a7F1b284681A0d5a7C", - "support": true, - "votingPower": 0.8178829270671828, - "transactionHash": "0xf8802f571dc4d22444c8937ba93a3a6b4efec73fc81ecff5f38d44b4bd91f3fa", - "timestamp": 1658388888, - "blockNumber": 15184606 - }, - { - "proposalId": 89, - "voter": "0x8655F051512899Af8614275e8E31f260eA276267", - "support": true, - "votingPower": 1.0000000018927506, - "transactionHash": "0x204dac574d178f930f3154cec7d98e27aaad782bb546fb1172bc9422b6535060", - "timestamp": 1658389022, - "blockNumber": 15184616 - }, - { - "proposalId": 89, - "voter": "0x7a67928bB379974768668D50ab991Eefb5F08c0e", - "support": true, - "votingPower": 0.01746923, - "transactionHash": "0x4b3067f89b3cb0447237b39f81b6898d7ed6f24a8f7b0d23dbaa02af9f17926a", - "timestamp": 1658390265, - "blockNumber": 15184715 - }, - { - "proposalId": 89, - "voter": "0xD0a485D93ac117E601B8389571e6058270894AB5", - "support": true, - "votingPower": 0.09484568, - "transactionHash": "0x5656bf52c29f4d5d18f89b327d511498dc8333e90b114e79f39a9bbaf2e23689", - "timestamp": 1658390303, - "blockNumber": 15184717 - }, - { - "proposalId": 89, - "voter": "0xabb009F5De6edF2A856223c336bd1F6Ea97162bf", - "support": true, - "votingPower": 0.1999376, - "transactionHash": "0x34f18afcaf6c21194ff3f41390af557ceb71c84c4d2b439af3b51db64124919e", - "timestamp": 1658390342, - "blockNumber": 15184720 - }, - { - "proposalId": 89, - "voter": "0x5098211E5Bf9d2A919b697647a5b2827217D560d", - "support": true, - "votingPower": 0.03, - "transactionHash": "0x2bee3ab060dba4fe2536ca9d3ee523937934460c33a41eab2dc4b5f396bf2a81", - "timestamp": 1658390375, - "blockNumber": 15184722 - }, - { - "proposalId": 89, - "voter": "0xC1Bb2Cd7EF9b0f7A0D42a13F191aDC5500A10Fbe", - "support": true, - "votingPower": 0.03, - "transactionHash": "0xa83cbc6e1532685ec4af8d4a301be7be36bcd38261fb1cf6826a6510044f20fe", - "timestamp": 1658390515, - "blockNumber": 15184733 - }, - { - "proposalId": 89, - "voter": "0x1c23E8D80f9D5Fd26fFF426aA695097010186a89", - "support": true, - "votingPower": 0.03, - "transactionHash": "0x91fb6858b48aee92ee5ef86783c0a546af87620d63f3082efcf53ce5d36cd739", - "timestamp": 1658390515, - "blockNumber": 15184733 - }, - { - "proposalId": 89, - "voter": "0x1CfFA5fa543A8d5B6a972AD2aa3AdF5b742327cf", - "support": true, - "votingPower": 0.03, - "transactionHash": "0x1890a97f451ea66fba5c6d036a85a7176a4308a0c13e9ebddaf1b84e119dda18", - "timestamp": 1658390519, - "blockNumber": 15184734 - }, - { - "proposalId": 89, - "voter": "0x6eabE35D1ae961D84BB4F98A46e093f580A9180f", - "support": true, - "votingPower": 0.03199307, - "transactionHash": "0x277d34a910e63bc30443cb9b4e1ef94130d09bc2be8ce077c1a2ff296eaa0f9a", - "timestamp": 1658390526, - "blockNumber": 15184736 - }, - { - "proposalId": 89, - "voter": "0xb75A7B6AB64C7fF15d8AAFBC38cd7B65962EAA7e", - "support": true, - "votingPower": 0.6650710929540484, - "transactionHash": "0x61ba3c2768acc8e687bdd8b9ec0bcf32756b950e1f47e648a56b6d1b7e77c479", - "timestamp": 1658393302, - "blockNumber": 15184943 - }, - { - "proposalId": 89, - "voter": "0xA8c4e3ce1743D0f2A6c227548C982a7C40569940", - "support": true, - "votingPower": 0.16867781, - "transactionHash": "0x7ac9d51b11c1066d6bb6948d507090bdb31a4cd16f7f1f3dffe4d1189c290ab5", - "timestamp": 1658398875, - "blockNumber": 15185346 - }, - { - "proposalId": 89, - "voter": "0x33482803274C5e08661843636DceE8E9A68c7252", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0x7ce9648ea71532de0caba7cbca1c42b39123ca277ae746b45176a7484600a67c", - "timestamp": 1658399380, - "blockNumber": 15185379 - }, - { - "proposalId": 89, - "voter": "0x347Bb83E4ab465C8C6b7afaB3BEB373410A9Cae2", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0x6399c8f45634a50988c04f5a0e7c8d8930944d0677042e3915885e10a5238915", - "timestamp": 1658399380, - "blockNumber": 15185379 - }, - { - "proposalId": 89, - "voter": "0x9fD9Bb687696f19038892989876Bd6dC96Abd769", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0x0a5b4fa4c380bc575dd4ecfb8e8714eb57d2b150a41fddcaf50e81a7ad04b6cf", - "timestamp": 1658399380, - "blockNumber": 15185379 - }, - { - "proposalId": 89, - "voter": "0x9E73201903164d3B476505f3C54F86cdCD4010DF", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0x26d7aa5945af0bfc1ca6974020d6ce7bb519cdbd7e3c83bbb309bbbce4120b50", - "timestamp": 1658399459, - "blockNumber": 15185387 - }, - { - "proposalId": 89, - "voter": "0x949aD06a4c904cd0B31AE2F56AaE0eC68C16CCAc", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0x61a1347637fff221c2a9a15e113a680636eed07274b0a369a1fb1e71dd921150", - "timestamp": 1658399459, - "blockNumber": 15185387 - }, - { - "proposalId": 89, - "voter": "0xFBE6915fB22DFe6b42a7c50b43B45bF692681e5D", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0x9849ec14bc59c690ddbd478c4cc2f0b271e750dc78dee58d04393cdc64deb531", - "timestamp": 1658399498, - "blockNumber": 15185388 - }, - { - "proposalId": 89, - "voter": "0x0585c0d0aEdF071a07992ad650bdc047Cef0c04F", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0xdce1f9dabefeb7b7f0da2d19a5e3d8936543ba75af211f3db6050d9694854117", - "timestamp": 1658399534, - "blockNumber": 15185392 - }, - { - "proposalId": 89, - "voter": "0x69389398e4D903b02010e20d308ee58EA8D6D714", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0x324db80510ece59200dc5330985e6db02d99f7834019540a1a3b3b6544714318", - "timestamp": 1658399534, - "blockNumber": 15185392 - }, - { - "proposalId": 89, - "voter": "0x99D305dfc38CEfA91cB1129387681eDe4c93e87D", - "support": true, - "votingPower": 0.03620082, - "transactionHash": "0x20eef0cd66c4f77e6c682c4f4e503d42994fee1a52e5e25bce12aa8ec6eda8ba", - "timestamp": 1658399534, - "blockNumber": 15185392 - }, - { - "proposalId": 89, - "voter": "0x89AbfB83EB5f6a01317a42dB64eff5291C1dfBaB", - "support": true, - "votingPower": 7.691451121196575, - "transactionHash": "0x59d144415cbc6efa3ab6b3fe30d6d20dee95399fd3ab8b02c9d62adb51b19916", - "timestamp": 1658400077, - "blockNumber": 15185427 - }, - { - "proposalId": 89, - "voter": "0xa8bB785F1dB506d0D35Ce6A5F506099D6062653A", - "support": true, - "votingPower": 0.04126236010476225, - "transactionHash": "0x9ebdd00fd1385b10d77cf14ee111bec4e77f31789972ef713c596b609bbd552b", - "timestamp": 1658400170, - "blockNumber": 15185434 - }, - { - "proposalId": 89, - "voter": "0x585059A867fF44e818eCf4f6Cc13E6eE77d4579E", - "support": true, - "votingPower": 0.035440178027474574, - "transactionHash": "0xb746361c0278e5d691654c5d1bbc4e038b17110cbb0e9a732a3abb5025546e8a", - "timestamp": 1658400929, - "blockNumber": 15185489 - }, - { - "proposalId": 89, - "voter": "0xa0C61b98842Fb3b85B3eCa4ac2Fd03424b6efdE7", - "support": true, - "votingPower": 0.029744929239500957, - "transactionHash": "0xb1ae5d959acccd5c9d13b6943f0cc9d3e8a54c67c8fac6e7f774bc6d777135dd", - "timestamp": 1658405621, - "blockNumber": 15185823 - }, - { - "proposalId": 89, - "voter": "0x4Cae7ce0e48a287e252EFa05eE29c49e3E29DfBa", - "support": true, - "votingPower": 0.05312851110764216, - "transactionHash": "0xb8c75e6ec6b2dfb1a39dc6c09a7ce723675902ed8e9ca3be30e2b0db905b6d8a", - "timestamp": 1658406284, - "blockNumber": 15185885 - }, - { - "proposalId": 89, - "voter": "0x30438CF64E2E16b87187453c3A6956468eB24FA6", - "support": true, - "votingPower": 0.14761094396776453, - "transactionHash": "0x9470acd7e412b2f1c1443af5067847331e6f0b77fdf72839d3d4d4d86fc2a683", - "timestamp": 1658427956, - "blockNumber": 15187539 - }, - { - "proposalId": 89, - "voter": "0x44f4B08BB4aB1230e80e571460f68d701a561C4e", - "support": true, - "votingPower": 0.07384133732328395, - "transactionHash": "0x0583f988222a3e72fedc06e25435e5d32e8e3f00c9bbc28a9fba0a91a9bb0fb5", - "timestamp": 1658430293, - "blockNumber": 15187725 - }, - { - "proposalId": 89, - "voter": "0x7F85Cf44E446a4B1AaCe2A28774E88cd6d4e3441", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xe5819b61f93a5a98e8de15b1816f2ddd817a8120ee4b1d1e9c45aa00acabcb2a", - "timestamp": 1658433303, - "blockNumber": 15187963 - }, - { - "proposalId": 89, - "voter": "0x070341aA5Ed571f0FB2c4a5641409B1A46b4961b", - "support": true, - "votingPower": 10046.358349213082, - "transactionHash": "0x1f1513d2bea725c8815a4192c46311f07623cb0df3441a923f27defa8fa4a4c0", - "timestamp": 1658451658, - "blockNumber": 15189361 - }, - { - "proposalId": 89, - "voter": "0xce575De2c04618511Ce3e984B9b2655aa6385231", - "support": true, - "votingPower": 0.17882045334541669, - "transactionHash": "0xde94154ddb985e39ca91dfa2faa869acb6bd63f5f02e3847dc48abbfc06175e8", - "timestamp": 1658452969, - "blockNumber": 15189447 - }, - { - "proposalId": 89, - "voter": "0xD03Ad690ed8065EDfdC1E08197a3ebC71535A7ff", - "support": true, - "votingPower": 0.01001, - "transactionHash": "0xfc08be1fe39bbc2511df1cffafc4b85b76f483a85887bbe5dd4d516a67924d0c", - "timestamp": 1658453525, - "blockNumber": 15189478 - }, - { - "proposalId": 89, - "voter": "0x046f601CbcBfa162228897AC75C9B61dAF5cEe5F", - "support": true, - "votingPower": 0.10049999937549137, - "transactionHash": "0x72aec86d172ccac883de91764a928a247348875091f50691d7c98e460c10fb97", - "timestamp": 1658453658, - "blockNumber": 15189488 - }, - { - "proposalId": 89, - "voter": "0x99C820E11D5ee26a55755f24F7B6cB55ea782136", - "support": true, - "votingPower": 0.004695480752915499, - "transactionHash": "0x7755a1e45f9d1679382e1b7513cce0aee66c12a9073e80cf602278fd19cb27b1", - "timestamp": 1658453808, - "blockNumber": 15189498 - }, - { - "proposalId": 89, - "voter": "0xc4fb550FA8F2A6e5178711e56D5b48DEdF897e5e", - "support": true, - "votingPower": 0.1163462763245048, - "transactionHash": "0xf565bfb330e179d1887fffc7fa0e61a8e3e2f71551d64098a29bc827a94d87e5", - "timestamp": 1658454142, - "blockNumber": 15189520 - }, - { - "proposalId": 89, - "voter": "0x7DA0e97CB78832463914392B5d414C1bEFA1fB01", - "support": true, - "votingPower": 1, - "transactionHash": "0x2b07249292cd14c52b8ea48a56575a73a982cc8caf57b78af79b243c463a7185", - "timestamp": 1658455553, - "blockNumber": 15189617 - }, - { - "proposalId": 89, - "voter": "0x634ed8C2dF8fBe613eE25DEBE1a460B4DF2487d7", - "support": true, - "votingPower": 0.19092668868391283, - "transactionHash": "0x475f8eadeb63f710e0fe743d8849ed018f7eb1a1d261a945c390782a2e91d80d", - "timestamp": 1658456859, - "blockNumber": 15189718 - }, - { - "proposalId": 89, - "voter": "0x1A29079662d2Fc3530767122b8E931e041b6282a", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x272c36e42d605a96b8ca165c501fda1c838c64e0915cbc559210ee2595301eb9", - "timestamp": 1658457006, - "blockNumber": 15189731 - }, - { - "proposalId": 89, - "voter": "0x72dDc7cf64f8b5c899262674f565E5A4d759d886", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x94f6e34e87697a1062993f2e66d02646ccd6f0b61d5c0dce2f66fd3812244f05", - "timestamp": 1658457308, - "blockNumber": 15189759 - }, - { - "proposalId": 89, - "voter": "0x0586fCc2D0d400596Ff326f30DEBAa3A79E33C25", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x5b6272d8bd182fc5598444934d561402ef898a6289c3b569387097562e67e57e", - "timestamp": 1658457360, - "blockNumber": 15189761 - }, - { - "proposalId": 89, - "voter": "0xE6ec7f3155bF378A24b93677EFf2cCF05dEF231D", - "support": true, - "votingPower": 0.01485552861885349, - "transactionHash": "0xef07e91a63fafa7cc21f67c5e2d0301268ebf74f377ee7dc9a7d94c1a6a631d1", - "timestamp": 1658457708, - "blockNumber": 15189791 - }, - { - "proposalId": 89, - "voter": "0x8eE3Fc743653BC3854a71FB06505bA4c988A3148", - "support": true, - "votingPower": 0.398, - "transactionHash": "0x66623214176192acf5f13df20d5590e336cf5f8c6101a1c85b8e5720d4a19b59", - "timestamp": 1658458090, - "blockNumber": 15189823 - }, - { - "proposalId": 89, - "voter": "0xf3FE8c6c75bE4afB2F8200Fc77339abE4D7CFF33", - "support": true, - "votingPower": 0.11180414451666074, - "transactionHash": "0x8594be48ac980824416369ae5fae2874da8252926d3bbaf1a1281e9ccc610ec7", - "timestamp": 1658458099, - "blockNumber": 15189825 - }, - { - "proposalId": 89, - "voter": "0xeFD67615d66E3819539021d40E155e1a6107F283", - "support": true, - "votingPower": 1.0110845243868458, - "transactionHash": "0x4fca2fc38783eecbbb2ddd9d4a7203807bb1ef5344ced2f1af4642ff849bb71e", - "timestamp": 1658458180, - "blockNumber": 15189833 - }, - { - "proposalId": 89, - "voter": "0xe6C6523Cd68E73C55958BcA91616b109B1ED061b", - "support": true, - "votingPower": 15.731832838514332, - "transactionHash": "0x5c414da762b6ddb89c6bebc0a1899e4f1909459146852974d49f69cdcb5a2875", - "timestamp": 1658458189, - "blockNumber": 15189836 - }, - { - "proposalId": 89, - "voter": "0xe4ec13946CE37ae7b3EA6AAC315B486DAD7766F2", - "support": true, - "votingPower": 0.00484853385296609, - "transactionHash": "0x4893ee783ab2a1ef75305c3f4a39bf9a0897d7a1e2c09482eb970f019f1ba679", - "timestamp": 1658458294, - "blockNumber": 15189845 - }, - { - "proposalId": 89, - "voter": "0x92cC5b8de992Bb704AfE270ff7d28930012248FE", - "support": true, - "votingPower": 0.001, - "transactionHash": "0x2119846a174dbabdc7f4c213da00378dd8d9f4abab504287340b5bd319a2c442", - "timestamp": 1658458339, - "blockNumber": 15189849 - }, - { - "proposalId": 89, - "voter": "0xF3B23BB212567c174f356437F98544bf13164436", - "support": true, - "votingPower": 0.06964406022503608, - "transactionHash": "0x80af69809e239d7e2c1c4b64c683ece52efde0cea6cc6646bb52d5abdaff5c86", - "timestamp": 1658458339, - "blockNumber": 15189849 - }, - { - "proposalId": 89, - "voter": "0x61d20712851C797a5aCA1eA7Cb2134cDEbaa32EC", - "support": true, - "votingPower": 0.003643098223835, - "transactionHash": "0xe4737f04c5714967fc0acbbb69c68f74fe9856a8f3ad133465588bd94d9078dd", - "timestamp": 1658458459, - "blockNumber": 15189858 - }, - { - "proposalId": 89, - "voter": "0x325e231870461bBAc93202D035EDEf04838F4886", - "support": true, - "votingPower": 0.015, - "transactionHash": "0xcb5d550a6695ac6cd91b64f95a3fbe485499e8cb4ed5783bce843c262765cef4", - "timestamp": 1658458465, - "blockNumber": 15189859 - }, - { - "proposalId": 89, - "voter": "0x9ddAe7a058d2d8940d83B90E2538f72CBfBDE206", - "support": true, - "votingPower": 0.008946955708474933, - "transactionHash": "0x7dcff65f3303bdce59aeac4bd2b2ad234aad0f7ecf4f861d86123f1ce5b582b0", - "timestamp": 1658458496, - "blockNumber": 15189862 - }, - { - "proposalId": 89, - "voter": "0xfd1Ef79b3ac72A4a90E5D147F32597E4406C8CEe", - "support": true, - "votingPower": 1, - "transactionHash": "0x1c84a949dbcefccb99ecbad38f89f594cc1c7a3edb343e5158e8116318a014b7", - "timestamp": 1658458496, - "blockNumber": 15189862 - }, - { - "proposalId": 89, - "voter": "0x1bbd33A95889C76931dDCd072c2f74B12cF4AF17", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x549618189add86241f5d42b7f0bb98d9dce14148fe1d408289037ea3ffe88063", - "timestamp": 1658458522, - "blockNumber": 15189865 - }, - { - "proposalId": 89, - "voter": "0x9bdfE468ED0d21ce9290e4b84575208e36ac0609", - "support": true, - "votingPower": 0.0033, - "transactionHash": "0xdab28a3289fd8a5cea33ac79683f55db0a9b915b44ad26feb057cc372517274c", - "timestamp": 1658458573, - "blockNumber": 15189868 - }, - { - "proposalId": 89, - "voter": "0x886F55E670cF0e0749cae8e58bA355Ae5F804575", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x167090dfebad2228bc3bd646755bfc8a78d3a47f4040eeee6491db3c3a59f73a", - "timestamp": 1658458579, - "blockNumber": 15189869 - }, - { - "proposalId": 89, - "voter": "0xE69574577a939C8F755E0F93714212f28dD9a733", - "support": true, - "votingPower": 0.4488395464042626, - "transactionHash": "0xef85f56dd6a2d91e5a1136c5b06338d65f9713e3b1faa85b3871cfa9ab18b40c", - "timestamp": 1658458658, - "blockNumber": 15189874 - }, - { - "proposalId": 89, - "voter": "0x1D309Aa3b2e470911508b9eC6bF12a029ae7729C", - "support": true, - "votingPower": 0.003, - "transactionHash": "0x6d1cace9eb3af107fd899e2d682e2aaeda3059e060b08a888c687f754f3c384b", - "timestamp": 1658458694, - "blockNumber": 15189876 - }, - { - "proposalId": 89, - "voter": "0xd4d71B709bcC500B60d0AE36DcfB4F6183746087", - "support": true, - "votingPower": 0.6295940477566836, - "transactionHash": "0x184d8a23e8cd8ecbb5f6b097d003c98a68eec03baa453d2b5d8756d1caa0c030", - "timestamp": 1658459165, - "blockNumber": 15189903 - }, - { - "proposalId": 89, - "voter": "0x90c8C94b29A13B9D4D4ebBDE8FcF394052E53EF0", - "support": true, - "votingPower": 1, - "transactionHash": "0xa293cbf75d71ac82545ff2c5674e756d2efa669fa712d207f26c3322af979cfb", - "timestamp": 1658459767, - "blockNumber": 15189959 - }, - { - "proposalId": 89, - "voter": "0x8A8245fC21eB46cC4ACF1a0a1cd6356c6206b514", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xf18a73623f7ecafef620db7ec13d1ad8464264dc71f74a396b96e861949f1dcc", - "timestamp": 1658459853, - "blockNumber": 15189966 - }, - { - "proposalId": 89, - "voter": "0x3eE10204ce7280da6f49382a2de83134AA6d7d7B", - "support": true, - "votingPower": 0.2691463561031324, - "transactionHash": "0x2658166c610d59d735615bec87fb17056f25d75842f6a3185393138922ae957a", - "timestamp": 1658459853, - "blockNumber": 15189966 - }, - { - "proposalId": 89, - "voter": "0x9EB52D899ebf2C46d8cB490E86a591E683a04bc6", - "support": true, - "votingPower": 0.30819938426810334, - "transactionHash": "0xd92d9ff0a2ccd49043d8b7766596e4e47b803f763b039bdda8a8784a18d69481", - "timestamp": 1658459917, - "blockNumber": 15189973 - }, - { - "proposalId": 89, - "voter": "0x1a233644cB6bf094800090F8eFdbE2c240dd092b", - "support": true, - "votingPower": 0.0039, - "transactionHash": "0x499dbb70b09207f46afcd87b444a0b62b53d4100bea8159f15929b9b651755bc", - "timestamp": 1658459993, - "blockNumber": 15189980 - }, - { - "proposalId": 89, - "voter": "0x43EC32628049349C8E4f17C4219f809a54243bd9", - "support": true, - "votingPower": 0.1576228833287026, - "transactionHash": "0x080b743000c14f979a2e9698c4c32166af9c4dfadc9228bfb1cc1bf563ffa163", - "timestamp": 1658460028, - "blockNumber": 15189983 - }, - { - "proposalId": 89, - "voter": "0x035105EcD50f1B4D4a0ADea97a41651FA405eC4c", - "support": true, - "votingPower": 0.39495191937995044, - "transactionHash": "0x35cce4b0051e7fd1505657cbb45bb5eaea0aa3b757c9e2e259fe0f5b01de78d9", - "timestamp": 1658460084, - "blockNumber": 15189987 - }, - { - "proposalId": 89, - "voter": "0xf1a16eBAD9A0Eb9525Af73208AA6304e796a2281", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x751c0e68f5c54899d6dc3ef0d9baec9cbc445e9b0e581604061abae89586e55c", - "timestamp": 1658460763, - "blockNumber": 15190023 - }, - { - "proposalId": 89, - "voter": "0x8adFc6e6E6DA6Ed9aF7F094B3f3115ED72048395", - "support": true, - "votingPower": 0.2011540313050581, - "transactionHash": "0xc6e894f4ea1782649402544d081283905e6d9e079d596a5f74186883900e1726", - "timestamp": 1658461525, - "blockNumber": 15190076 - }, - { - "proposalId": 89, - "voter": "0x3AA6605d87f611E43aD0a64740d6BeF9b80FCD2C", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x562c36953c0479974dd58aca60152fdd50765c4eabc80f393feeaf67fe5722b1", - "timestamp": 1658461726, - "blockNumber": 15190089 - }, - { - "proposalId": 89, - "voter": "0x7578b4e84DC3C568C55E57ccbA067c3488137B79", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xd27573125be22b663e94559792b69607fba0664c61e26c34df55c0a68b250bc4", - "timestamp": 1658461883, - "blockNumber": 15190103 - }, - { - "proposalId": 89, - "voter": "0xA297A06221aB3c846354e7Fb1B37EB5DA06bDA21", - "support": true, - "votingPower": 0.0340066846626985, - "transactionHash": "0x978a27262707b1e34bf77522351fcb372d2314d58c2c41175d7038351f6ed535", - "timestamp": 1658461941, - "blockNumber": 15190111 - }, - { - "proposalId": 89, - "voter": "0x93186FefB1824D32667e3A8dD1c3Ba16dc71D033", - "support": true, - "votingPower": 0.005, - "transactionHash": "0xe556cf9b8a427e237906cddc69f7b49b8487d67cfff9debc1ae6cd15accabf16", - "timestamp": 1658461952, - "blockNumber": 15190112 - }, - { - "proposalId": 89, - "voter": "0x0F7D7FBb1dCFD159721BAc578ebf698fb50cf51a", - "support": true, - "votingPower": 0.10260427567681096, - "transactionHash": "0x2b868a9fb53c135f6323f5bc6c2456f775ffc3dec2a04298ec0eccf869c97e54", - "timestamp": 1658462067, - "blockNumber": 15190119 - }, - { - "proposalId": 89, - "voter": "0x05f7F81Ef8b158be44b96A3a3Bd5351BdF28946c", - "support": true, - "votingPower": 0.1717442480705237, - "transactionHash": "0x8ec21993ba312b6235e040a863229df3631bca4f13ae922bcf710c0af14dfb07", - "timestamp": 1658462168, - "blockNumber": 15190122 - }, - { - "proposalId": 89, - "voter": "0x1B77676392a3d0C5b0B98D127Ef36A61F36468C3", - "support": true, - "votingPower": 0.1198144, - "transactionHash": "0xdb9f56bf6459cf78220c0dfb686891012579bbaf1c156e0a5463d3e5a5a292dd", - "timestamp": 1658462168, - "blockNumber": 15190122 - }, - { - "proposalId": 89, - "voter": "0xcE8E4DBDb2046A23D6d32092Ce26690a13524e14", - "support": true, - "votingPower": 0.1981226066458485, - "transactionHash": "0x7b0e9a9ec62e1312dda7ef8ac71e71a63ed606718a758bf0b0d8a83b733ef9a7", - "timestamp": 1658462291, - "blockNumber": 15190129 - }, - { - "proposalId": 89, - "voter": "0x57748eCB251f2ec36027Bf8b7B2C13B69b8e5222", - "support": true, - "votingPower": 0.0004, - "transactionHash": "0xdbca6570ac429c7e8e1df3cf47bf9a94f4f48505fbd9711270cd4e98edc9be02", - "timestamp": 1658462354, - "blockNumber": 15190134 - }, - { - "proposalId": 89, - "voter": "0x696D181A7961EE66C42f1EBeDDc0B48B106C45ad", - "support": true, - "votingPower": 0.5, - "transactionHash": "0x32f9609322ef4ec2edc1fa6474d7f74b55ae4192135c9f010a12389a47ce1230", - "timestamp": 1658462587, - "blockNumber": 15190155 - }, - { - "proposalId": 89, - "voter": "0x5bCF28C2D31f4dC51DB152bb004337a41EBB3769", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x1146a4652a77e9e596b4120652e50afc96354a3448e70d3443a9e8a8800edd95", - "timestamp": 1658462637, - "blockNumber": 15190159 - }, - { - "proposalId": 89, - "voter": "0xe8E83Ddfc373BBBD22eDF5A80a30eC7DEd8f2b47", - "support": true, - "votingPower": 0.1634751657966329, - "transactionHash": "0xf0885ab4b53c0d3692ad3b156bd936a9f4f904cbcf25a31d357d8c91e48f7648", - "timestamp": 1658462770, - "blockNumber": 15190171 - }, - { - "proposalId": 89, - "voter": "0x64B5F9Dd6f23269B966A4c3717e150A6Dd264851", - "support": true, - "votingPower": 0.505, - "transactionHash": "0x7e4ca22e9163ee27ebc5ef21c56229d9cfe5e7f2a50db4a9e6ad65b46647fe0f", - "timestamp": 1658462859, - "blockNumber": 15190174 - }, - { - "proposalId": 89, - "voter": "0x9afF41a486CB48873C4F55c8ceA4bF35dEe57d87", - "support": true, - "votingPower": 0.275, - "transactionHash": "0xaa5d592bacb9dd07e97225329273db54ffc0763f03dfad70706f0ecd1f06d265", - "timestamp": 1658463090, - "blockNumber": 15190191 - }, - { - "proposalId": 89, - "voter": "0xDE88d146F61463D582262a1Dcdf6eA1323AbA34a", - "support": true, - "votingPower": 0.5, - "transactionHash": "0x7cfa14a478033f0efeefd73cf6e8604784cfcd3f7ed6efe055590941c62cc09f", - "timestamp": 1658463107, - "blockNumber": 15190193 - }, - { - "proposalId": 89, - "voter": "0x12Cd3DCa194161fE3535755075499f115982eE63", - "support": true, - "votingPower": 0.5, - "transactionHash": "0x19acf675c7da1c10604b5df95cf4300bef65751c075db1da658a83f95ae11ee6", - "timestamp": 1658463189, - "blockNumber": 15190197 - }, - { - "proposalId": 89, - "voter": "0x69ed884522820266F6d50c0e71E7d90ec4048Cd4", - "support": true, - "votingPower": 0.10000001537709459, - "transactionHash": "0x1584d36b26361bfcdbbfa462e06e17e2a4f14b8d30a24752f5f4c5cc8ea4d450", - "timestamp": 1658463289, - "blockNumber": 15190204 - }, - { - "proposalId": 89, - "voter": "0xcD75942b66C1a82d7e04f65A34cE7f93791fA8A8", - "support": true, - "votingPower": 0.495, - "transactionHash": "0x4ea38e23129facc2e93f1922f0eecd61206a8fc668e77391baf67385b5ab46a5", - "timestamp": 1658463388, - "blockNumber": 15190220 - }, - { - "proposalId": 89, - "voter": "0xE8d601728CF47a31c0fB45Fc7fCEBAf3E25c5374", - "support": true, - "votingPower": 0.10000000780620125, - "transactionHash": "0xf594708a0703853979a4f774a07b4563cce6da670549519d8ae4531797c635d6", - "timestamp": 1658463388, - "blockNumber": 15190220 - }, - { - "proposalId": 89, - "voter": "0x335D2d954CEc61Cb4673780300d890340A29Dd99", - "support": true, - "votingPower": 0.495, - "transactionHash": "0xc73a38bfe5e55acf72221bc0aff29d0952e20bc4634a9dfacedb5b41404a4ee7", - "timestamp": 1658463401, - "blockNumber": 15190221 - }, - { - "proposalId": 89, - "voter": "0xf4B0B32B9Fb3d9289674424447715EB694e9974A", - "support": true, - "votingPower": 0.10000000905509501, - "transactionHash": "0xab13f0efaa27ec2f3110f663e460fda9f2a78225088a2bbf47fa3ebb68f9ef35", - "timestamp": 1658463457, - "blockNumber": 15190227 - }, - { - "proposalId": 89, - "voter": "0xD1c9aB6166dEad15B03B57b3224C5647272f0F82", - "support": true, - "votingPower": 1, - "transactionHash": "0x237ab0de6d7c184c0e21d89598ec60ac85bae6baea0c3628580bbce9917d4955", - "timestamp": 1658463569, - "blockNumber": 15190234 - }, - { - "proposalId": 89, - "voter": "0x893d2B013937F00e70bc5edC00ddFEd8cdc636B0", - "support": true, - "votingPower": 0.100000003367006, - "transactionHash": "0xf1bfdea6909a7097613110f963019b996cf3dab1066c0a773ed603bb7a85dc4d", - "timestamp": 1658463569, - "blockNumber": 15190234 - }, - { - "proposalId": 89, - "voter": "0x0b683590F3F6637a890a4dfa007a229F16897fF4", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x7b6d13593885cc2e980f824360c593f03cf0fb299019337403316b51d9fd510e", - "timestamp": 1658463587, - "blockNumber": 15190237 - }, - { - "proposalId": 89, - "voter": "0x63693A8544523d23aE490d88e88baA404C867574", - "support": true, - "votingPower": 1.0197198040265483, - "transactionHash": "0xef3d189be496ab219dea9cedd5df5774905333e34cc236f3c3ba0d6259f06716", - "timestamp": 1658463699, - "blockNumber": 15190245 - }, - { - "proposalId": 89, - "voter": "0x3951d734bBd956761802A7f4297CcAdE69Bde9d9", - "support": true, - "votingPower": 0.02, - "transactionHash": "0xba181100d61616ef7603eee6a4e8a724d616a03d904e5673612ac59ae14f8733", - "timestamp": 1658463788, - "blockNumber": 15190253 - }, - { - "proposalId": 89, - "voter": "0x14A6F0B44e662C48d6C32285eE79422bBeFe9d03", - "support": true, - "votingPower": 0.04, - "transactionHash": "0xcdcc35f6e3b80f58a628c5e5d6480f0190b864300708453926451a6476bc99b9", - "timestamp": 1658463788, - "blockNumber": 15190253 - }, - { - "proposalId": 89, - "voter": "0x5CFc2C648BA36144644758f8D39553c0ce355Fc6", - "support": true, - "votingPower": 0.3, - "transactionHash": "0xef278e5e993a4a97449e004a919be74e3b20c38d593544c4b29d469c7978bec7", - "timestamp": 1658463860, - "blockNumber": 15190256 - }, - { - "proposalId": 89, - "voter": "0x27695076EF87E7749ee7CA387f47549eE55DADe3", - "support": true, - "votingPower": 0.285, - "transactionHash": "0xe45b03ca8fcf7afd76c32198e10c594a4dd173f7fb40fb668008c823d129ed55", - "timestamp": 1658463896, - "blockNumber": 15190260 - }, - { - "proposalId": 89, - "voter": "0x939BaC3bAd78752763be4Dd1Da19e8e70995A408", - "support": true, - "votingPower": 0.38000275, - "transactionHash": "0x4682286ca3549ee02f7ecd1e443eecc1ae2ba3f885aed91e381e86f9c56e06a7", - "timestamp": 1658463933, - "blockNumber": 15190261 - }, - { - "proposalId": 89, - "voter": "0x1aC81FDCD10b27d2aF73EF0F097159CdF0F0aA8a", - "support": true, - "votingPower": 0.175, - "transactionHash": "0x1d6e9e191c35c2abbf501a62144c6ef3f5c6819e5803059af9c8ed2e86426a54", - "timestamp": 1658463933, - "blockNumber": 15190261 - }, - { - "proposalId": 89, - "voter": "0x411cA534C63757633A399BB6C4304c839398002b", - "support": true, - "votingPower": 0.027322023296175134, - "transactionHash": "0x07005282b089bb55edee8139d601afec96be70fc499ad03a3444cc0df2ac0b7c", - "timestamp": 1658463972, - "blockNumber": 15190263 - }, - { - "proposalId": 89, - "voter": "0x708b52E6c27aD53cBdf3C17f3e8b5B5561dfCaDB", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xeafd13537a5b0ec2fd9e966af70aa7c839439ab3db6446d27e12c9547a3a3cfc", - "timestamp": 1658463988, - "blockNumber": 15190265 - }, - { - "proposalId": 89, - "voter": "0x0f3B959A8820ae0374397BaA1d5bF2f9BC0192C0", - "support": true, - "votingPower": 0.10000001381575448, - "transactionHash": "0x614fce0078e14848ab1e1dd9b1a3b0a7c3ad38d5ec1a8db24015b9feb78e488e", - "timestamp": 1658463989, - "blockNumber": 15190266 - }, - { - "proposalId": 89, - "voter": "0x1F2910331D564341ba9a9762f2B7eCA182230b2F", - "support": true, - "votingPower": 0.11017141, - "transactionHash": "0xa97b51c4c6fdc658f51644235985c80cf741898b4d0e67a25a6aeeff8b04e1c0", - "timestamp": 1658463989, - "blockNumber": 15190266 - }, - { - "proposalId": 89, - "voter": "0x1A8167907256ECE255be4563c141C88EE16427CA", - "support": true, - "votingPower": 1.05, - "transactionHash": "0xa8d08f1e07193478144d2482a384db7f8488c3dd0752555a50008437eb156678", - "timestamp": 1658463989, - "blockNumber": 15190266 - }, - { - "proposalId": 89, - "voter": "0xbb7BB43aF885549f1bbF5724213ee48b40eBeE83", - "support": true, - "votingPower": 0.175, - "transactionHash": "0x516e5ae05c41c37c3ce63c3d8e182cf60fe859f2bcb562645940e97a20dd5e9a", - "timestamp": 1658464009, - "blockNumber": 15190267 - }, - { - "proposalId": 89, - "voter": "0xbEE3C272ad4215cb352291af334dDC014BB3c20b", - "support": true, - "votingPower": 0.5, - "transactionHash": "0xde6a3bbe52274c88ce880b641c89484ffb9c64be2b8934a530dcfee6a1968bfb", - "timestamp": 1658464009, - "blockNumber": 15190267 - }, - { - "proposalId": 89, - "voter": "0xbCC7E64d6B522EF804450000F5bB8d944C7Ddd01", - "support": true, - "votingPower": 0.175, - "transactionHash": "0x0bf49e93e725c0a9ecb1e452b690b04aa09532f4540b9c4ab3d04601b6663e61", - "timestamp": 1658464029, - "blockNumber": 15190268 - }, - { - "proposalId": 89, - "voter": "0x61C4d254051CDBf86dC71D13070a1b6e9ABC2489", - "support": true, - "votingPower": 0.175, - "transactionHash": "0xbafe003d21409b4e4a97560c2874f6243820721db44ffcce76c46575a71f0362", - "timestamp": 1658464213, - "blockNumber": 15190277 - }, - { - "proposalId": 89, - "voter": "0xf20bb1Ea28A496db525efbAd28a23003c9D73724", - "support": true, - "votingPower": 0.175, - "transactionHash": "0x769b0d95c91f81e4595e0e722d79e956d5e62c31e801c0ba74501f0f3b43055a", - "timestamp": 1658464231, - "blockNumber": 15190282 - }, - { - "proposalId": 89, - "voter": "0xD2E1b76f81b71304DaCEec93F7D55d0A2AbE2307", - "support": true, - "votingPower": 0.51, - "transactionHash": "0x40651525bf90dcb6f0233d00dcde604a585bf26869dcf84a1a30bda1a093f4a0", - "timestamp": 1658464266, - "blockNumber": 15190283 - }, - { - "proposalId": 89, - "voter": "0x2Cf514Ed2266c7EB9bC71736aa822a8825b4DB5D", - "support": true, - "votingPower": 0.0033, - "transactionHash": "0x441027077d1eb8570e90f647e8a0ec754c4bc23eaeec86612e96477bf3073b11", - "timestamp": 1658464266, - "blockNumber": 15190283 - }, - { - "proposalId": 89, - "voter": "0x91F7C7dC5a44276482c102178fe1d620B397c276", - "support": true, - "votingPower": 0.495, - "transactionHash": "0xafe8e69d78cc896b9ac3ecfb087746449339b5f7d5a1f7a3c0bd41bb9fff9511", - "timestamp": 1658464269, - "blockNumber": 15190284 - }, - { - "proposalId": 89, - "voter": "0xBc7e44A0B3a82d710117b09E5F887bF668804c7C", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xacddd347387d98db8093d944bffcf9993a17b72f3a5ba43d508cfe56e85d3c21", - "timestamp": 1658464289, - "blockNumber": 15190286 - }, - { - "proposalId": 89, - "voter": "0x74b02eb9aCFA1E85AC555e0Dc09CD68d61a3433D", - "support": true, - "votingPower": 0.005, - "transactionHash": "0x9c28d8341c6d34da9220961589bd26bf2e2af7344cecd70c0f2af39d87e38421", - "timestamp": 1658464340, - "blockNumber": 15190288 - }, - { - "proposalId": 89, - "voter": "0x12A282d228B306E08aFf9A9A98ad45Df1822062a", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xb86a90f6000ecb062265f7e1f10c178c31fdb313c9cedbb61a961e8b628193d4", - "timestamp": 1658464371, - "blockNumber": 15190290 - }, - { - "proposalId": 89, - "voter": "0x89862CBBE11A0d5aF808f1428c8D8542e2356044", - "support": true, - "votingPower": 0.1000000140280579, - "transactionHash": "0xa4ec1ad19ed9fc6d38c84c919f72d87759d5155bda2e390f33651cbb25ba1112", - "timestamp": 1658464371, - "blockNumber": 15190290 - }, - { - "proposalId": 89, - "voter": "0x9D36Ef2EFc940c1FDD02a3dF21E838EAE229375F", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x1059811d7efa1ec8c5ebe1bb3632f6080dbb2e1292ce7a4e15982bf72956ac9f", - "timestamp": 1658464426, - "blockNumber": 15190291 - }, - { - "proposalId": 89, - "voter": "0xC55d35AF6A5ff6299EF3fb8632BBaC6cce17DC8b", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xe0b722a5662da09457f37b5de891f6ecd89683b8de94358417e4b108d9357b52", - "timestamp": 1658464451, - "blockNumber": 15190294 - }, - { - "proposalId": 89, - "voter": "0xAa24c1F0EF3CA45B1BBD1AD9E4Ad5723beC5b2a1", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x65075feee82143a9a7162d0095f83160d75db6c959b8f0cce09a7c885b272f0a", - "timestamp": 1658464471, - "blockNumber": 15190296 - }, - { - "proposalId": 89, - "voter": "0x8Bb53244772ccB7050E022Fe285410Cf85e96c6f", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x5269c9990aed72274ea3a5a9a474cbf28778c69dba0db94e48bc5d3eb4940fdc", - "timestamp": 1658464520, - "blockNumber": 15190299 - }, - { - "proposalId": 89, - "voter": "0x1b91Ee2cb5213C0aE0d712db6bE229d4b2B4E0B0", - "support": true, - "votingPower": 0.00373552, - "transactionHash": "0x5c8dceace989be9e79cfc30ddbf927a55d681a4f64950faff0a32e1ba6aa7f04", - "timestamp": 1658464520, - "blockNumber": 15190299 - }, - { - "proposalId": 89, - "voter": "0x5Fc88001979092BA0646Afb846557BCCFfe16bbf", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x208a63cbd413575dea80d6386560f9f7d54bc51dd98ae17be5f601fc2a3fd21a", - "timestamp": 1658464564, - "blockNumber": 15190300 - }, - { - "proposalId": 89, - "voter": "0x5317c99b30bea75222a64340ab119D9ee2840a1e", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xf3d581339bea20c39e1e966f0e67fd3dfeca9167606a3cf54b36e99207ef24a8", - "timestamp": 1658464616, - "blockNumber": 15190304 - }, - { - "proposalId": 89, - "voter": "0x397Eb57696b2Ee00b667d9ACDAc8b7E85C568533", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xd7893ace837731059f45ba807d5fbf2c003e03f57425561698fce83950e8d359", - "timestamp": 1658464632, - "blockNumber": 15190306 - }, - { - "proposalId": 89, - "voter": "0xd284888B7495568aa8696D5C56AbdC1d06cB788B", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xefc43d17641e17aceeabda6270201c377a2fc998e55521f598af9882e55c00c0", - "timestamp": 1658464811, - "blockNumber": 15190316 - }, - { - "proposalId": 89, - "voter": "0xeB40d183FAeC21Ca7aBc4AF1A5AFE59b1e887149", - "support": true, - "votingPower": 0.000782680031896055, - "transactionHash": "0x47d89fa7f0fb9f276b14c2af6ed5c23d48bcaa84bd411997cc2c094d131e7572", - "timestamp": 1658464811, - "blockNumber": 15190316 - }, - { - "proposalId": 89, - "voter": "0x6588847fb80C60b45B3B1b0413cC4e30d1517FcD", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x71ae68d7c19898b73df6b7a610d4299d8eee0eec4372dca2f3ee1c2b3265998c", - "timestamp": 1658464811, - "blockNumber": 15190316 - }, - { - "proposalId": 89, - "voter": "0x6a4a5B7F9913575A1006ACd77F6CfD6CC97df091", - "support": true, - "votingPower": 0.283746, - "transactionHash": "0xf9565e64cf2a52b2df556deb72f17ecd426360864724143eab00d591ca120b44", - "timestamp": 1658464811, - "blockNumber": 15190316 - }, - { - "proposalId": 89, - "voter": "0x080a75c96bF646Cd9f78aaF8C9869a510E9c68bb", - "support": true, - "votingPower": 0.5, - "transactionHash": "0xbe260bedae22600d703213d71e09579cedbd3e19d328e8b619dd73ee22625bc0", - "timestamp": 1658464822, - "blockNumber": 15190317 - }, - { - "proposalId": 89, - "voter": "0x9C72C98535224c3C045a3d27ff981ED5a1d64d6e", - "support": true, - "votingPower": 0.39, - "transactionHash": "0xe9006429bc7642f252f1b00fa9573f5d7a618aad03f564e77a1c84bd33fb7aa8", - "timestamp": 1658464841, - "blockNumber": 15190319 - }, - { - "proposalId": 89, - "voter": "0x5F8AE1A4D621432c218eC44c20eDb0AB469bCb4f", - "support": true, - "votingPower": 0.15000001246463432, - "transactionHash": "0x94bc6fba4cec37e69bbd2d462ed0562c2a273abdf359eb5e305f1ca78dc40686", - "timestamp": 1658464950, - "blockNumber": 15190326 - }, - { - "proposalId": 89, - "voter": "0x8500292CAe7711791f43a2f79744E28E39C430Fc", - "support": true, - "votingPower": 0.13, - "transactionHash": "0x2af2aaf4e0020cbc1af1a6aaccca997886cebff58fec766b96692e54abefa63a", - "timestamp": 1658465428, - "blockNumber": 15190354 - }, - { - "proposalId": 89, - "voter": "0x4a116f0cf4BC1c7f7bfD194034a02f83aAc82Cf3", - "support": true, - "votingPower": 0.03527999135435641, - "transactionHash": "0x6afb44180a83390204734e79d5ada6d2be54b8810862b5d6ac08a6a5ec952112", - "timestamp": 1658465457, - "blockNumber": 15190355 - }, - { - "proposalId": 89, - "voter": "0x737f09f080E4f88B08c8c3329e6d8736D9C5936F", - "support": true, - "votingPower": 0.05276164772714536, - "transactionHash": "0xc47039d4f6454e84b61e2745a99d89e1714cecbbd86c30b8cfcdab4d279d5f8c", - "timestamp": 1658465576, - "blockNumber": 15190362 - }, - { - "proposalId": 89, - "voter": "0x757125Fb8415dbDcFDD39cFae733aDd0013B84Fd", - "support": true, - "votingPower": 0.02146811445539077, - "transactionHash": "0xaf2d1d3a9888a96bb1a17dc557e9b3e84af1c254cf671b709ae39f4a415db64e", - "timestamp": 1658465637, - "blockNumber": 15190366 - }, - { - "proposalId": 89, - "voter": "0xcf8E24538E6e8c6D7cA711F84539aEac0892e28b", - "support": true, - "votingPower": 0.295, - "transactionHash": "0xd213a6e8d99521c76bb999afd4b9425222dc7697679015c4c415ebd2641abb22", - "timestamp": 1658465691, - "blockNumber": 15190374 - }, - { - "proposalId": 89, - "voter": "0xA1CAD48e9844d850f066376e1f1e04147b16619e", - "support": true, - "votingPower": 0.29, - "transactionHash": "0x696292499c61a0640d063335db76f764c849bcbe729207f229cf1a38d0976310", - "timestamp": 1658465691, - "blockNumber": 15190374 - }, - { - "proposalId": 89, - "voter": "0x2B6F8e4B67657260001962772f44339c0fb4E3fC", - "support": true, - "votingPower": 0.10000001411713756, - "transactionHash": "0x656129f5ba982a78ad1c30ce433a2a27ee1fa83e31a0107066f85de23c2c02fc", - "timestamp": 1658465931, - "blockNumber": 15190393 - }, - { - "proposalId": 89, - "voter": "0x4AadE9eF175A61E008473ee8965eB6754F41c213", - "support": true, - "votingPower": 0.11000000000000001, - "transactionHash": "0x32dc0cfb9836bd3833c4bfd376d5f2ef70146e042f6424a77c10ff831ac19178", - "timestamp": 1658465953, - "blockNumber": 15190396 - }, - { - "proposalId": 89, - "voter": "0x315E1A5C796B734585c27E615b774441372Fbd08", - "support": true, - "votingPower": 0.009747995406436342, - "transactionHash": "0x70191a6bced501c5ddd7bd8ee211242c43dfaa7e5b6e005970622fed1835da01", - "timestamp": 1658465961, - "blockNumber": 15190397 - }, - { - "proposalId": 89, - "voter": "0xe6B4A4972abE38820322af468f3AeE439f652704", - "support": true, - "votingPower": 0.0208676, - "transactionHash": "0x3b70f617119e3e0cfb6395f395452aef3c8a8cd256c4f9f477ff818eb4b57127", - "timestamp": 1658466054, - "blockNumber": 15190405 - }, - { - "proposalId": 89, - "voter": "0x5Ad75f8b6A44734a886c5EBb2E999971fC8A1d5F", - "support": true, - "votingPower": 0.11019894, - "transactionHash": "0x171204b52f8809b06522533425e317237cc667b7c00c9f10aba35ad4f912d5bb", - "timestamp": 1658466054, - "blockNumber": 15190405 - }, - { - "proposalId": 89, - "voter": "0x2ccBF7C691C1725E1b6D8dC6A4304f3227B31F75", - "support": true, - "votingPower": 0.101, - "transactionHash": "0x1b934300b3702ebf51d85e7ad9bb7e6ef8bec1a72380f5c58786fa9bb82a262f", - "timestamp": 1658466054, - "blockNumber": 15190405 - }, - { - "proposalId": 89, - "voter": "0xd988297e9E35001992028C4153eaf1a4de505098", - "support": true, - "votingPower": 0.022554417550201464, - "transactionHash": "0x13f70892dee536ef9bca6f2b68d135bb18d4f4f9fdd1e029accbae1ad4448a1e", - "timestamp": 1658466231, - "blockNumber": 15190420 - }, - { - "proposalId": 89, - "voter": "0x6D25a1e9e176AB058E0f19e67bCbcaAc2be96fA9", - "support": true, - "votingPower": 0.2150227, - "transactionHash": "0xeffcee878d3359798bda4928ada8d4a02f11f7a578fd622657208cef4578cdba", - "timestamp": 1658466238, - "blockNumber": 15190422 - }, - { - "proposalId": 89, - "voter": "0x597fc897b6AB221c18Cf51A31Cef41285597aEf1", - "support": true, - "votingPower": 0.225, - "transactionHash": "0x2eee9fa1aba7b34b58ddb9ad0b519b93de3f87bcd32a6e5841afcf8e3a642101", - "timestamp": 1658466260, - "blockNumber": 15190423 - }, - { - "proposalId": 89, - "voter": "0xCD790d0813bef3aDD5ddC1Ae5589D3A9B526CaDf", - "support": true, - "votingPower": 1.1214419493063337, - "transactionHash": "0x7d23c322363df4f1f650d0edd94efc39ba75f9f855eada225a13cde8984b483b", - "timestamp": 1658466495, - "blockNumber": 15190441 - }, - { - "proposalId": 89, - "voter": "0xE478C8F35F18D694bF85352317339a3ee17A9daa", - "support": true, - "votingPower": 0.20000000587995448, - "transactionHash": "0xbe5a859e870bcb0a0a699cdeeb6bc179e5db291b7279a5309d26e67a62750d25", - "timestamp": 1658466547, - "blockNumber": 15190445 - }, - { - "proposalId": 89, - "voter": "0x8aEEC595Cf608d593881AF5628358c8A9C655370", - "support": true, - "votingPower": 0.02, - "transactionHash": "0xf89f0c6a18ac55b903ca4442f18600aeb3772bc3cc7798c133c7d5047bf9bc7e", - "timestamp": 1658466849, - "blockNumber": 15190474 - }, - { - "proposalId": 89, - "voter": "0x7bB5C741f9E4df849C3C81F57222ab6752AcE344", - "support": true, - "votingPower": 0.02, - "transactionHash": "0x71b2ba91e4681fb7375ea022a18e0f75cd6aa1a172995f191bd11bfe0c9eb32c", - "timestamp": 1658466902, - "blockNumber": 15190481 - }, - { - "proposalId": 89, - "voter": "0xAF6545B6b68Cbe445243dAFfb3288018E00D40C3", - "support": true, - "votingPower": 0.0732784138470581, - "transactionHash": "0x667ad4bd547297f3c99ca85a033b6d6ba23121a3fba8384264c924d5ef010807", - "timestamp": 1658467016, - "blockNumber": 15190489 - }, - { - "proposalId": 89, - "voter": "0xA3632Dd93B046817Ae313A22a0e76CCA971499E7", - "support": true, - "votingPower": 1.001, - "transactionHash": "0xfcc2d7063724bdb714f746ba6e2b8c3b8bca6e2155a9d28907647bd055c2b73a", - "timestamp": 1658467146, - "blockNumber": 15190501 - }, - { - "proposalId": 89, - "voter": "0x2d59309df7Ab517e554B5e9033f7950D57801Aff", - "support": true, - "votingPower": 1.001, - "transactionHash": "0x490795f13b559a17391db64566fe7c84f17ca158d246d5d5b5b896cde8d37589", - "timestamp": 1658467319, - "blockNumber": 15190512 - }, - { - "proposalId": 89, - "voter": "0x08e1BD27a2c27d01909E6BB116E57cDD788159CE", - "support": true, - "votingPower": 0.003254640441851231, - "transactionHash": "0x771ff40fc0803b657ea5e6a93edc4b93522f926f367e6060745f654f1fced4fe", - "timestamp": 1658467333, - "blockNumber": 15190515 - }, - { - "proposalId": 89, - "voter": "0xE15F010961eFBB8BebeF340029782Da1cbdA8c0c", - "support": true, - "votingPower": 0.03, - "transactionHash": "0xcebf433c57f393f3453b4e5ed1603669cf3a8d525f26867517587d2c4433ff55", - "timestamp": 1658467392, - "blockNumber": 15190521 - }, - { - "proposalId": 89, - "voter": "0xdf7A23B9e0d46E5a96fEAd2b324aa6f85FB7227E", - "support": true, - "votingPower": 1.001, - "transactionHash": "0x7253cd10d891029515ac64ccdcbcfb8fe6b106b11a9a0bf597dbbb86255edfa6", - "timestamp": 1658467397, - "blockNumber": 15190522 - }, - { - "proposalId": 89, - "voter": "0x889cb44823b35Fc53dfC3a8b58a825Beb6A737B5", - "support": true, - "votingPower": 0.01008661, - "transactionHash": "0x57c3ad04d58010f1c26526685324faa7221a1591702825010a1eb3aa4494975d", - "timestamp": 1658467580, - "blockNumber": 15190546 - }, - { - "proposalId": 89, - "voter": "0xce2c567Ae501631FC017E5461608eAa9ccDf281A", - "support": true, - "votingPower": 1.041460245694625, - "transactionHash": "0x8395fa0b74e78e22ef1973bd3610e802e8dcd16a19d385f931f4bbc6f9d3c7ae", - "timestamp": 1658467580, - "blockNumber": 15190546 - }, - { - "proposalId": 89, - "voter": "0x6693de9Bf09F907F86Cee6bDe1d8e883FE37D50c", - "support": true, - "votingPower": 0.10000000893050151, - "transactionHash": "0x7447a363afb71e361abe2c472028ade8c14fd4857bd05e7299ae4681f6f1632b", - "timestamp": 1658467682, - "blockNumber": 15190553 - }, - { - "proposalId": 89, - "voter": "0xb2502A17c5328C78d2F541BBDaC38CE306e66A66", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xd3f57b7a4fe7697c9ce78870ac9032b8dd540534af176172377c6e7ea3111cc8", - "timestamp": 1658467844, - "blockNumber": 15190562 - }, - { - "proposalId": 89, - "voter": "0x184F44a581a3FDf67e834Cf2A0F193CbDd08A3b9", - "support": true, - "votingPower": 0.08000165, - "transactionHash": "0x46b2033f73b8d138cd29583ea396312b817e5c454ddfe1223d8c77a29c988be0", - "timestamp": 1658467909, - "blockNumber": 15190566 - }, - { - "proposalId": 89, - "voter": "0x562BF1B67Dc40d9b7C3ddd49E45aE58e61E1B76E", - "support": true, - "votingPower": 0.06384445632619642, - "transactionHash": "0x4f0bef82793ac91772d6c2d916a5d92c62d2b2a47a3d938fecbc7613464df4ba", - "timestamp": 1658467987, - "blockNumber": 15190574 - }, - { - "proposalId": 89, - "voter": "0x9c30fD4F7212f8032D1Bf9d02aE0956109FB9EC0", - "support": true, - "votingPower": 0.975, - "transactionHash": "0x1f41b5417574e18f922ea879223f0b3e86560836e74b18861e177b694f818dbe", - "timestamp": 1658468019, - "blockNumber": 15190579 - }, - { - "proposalId": 89, - "voter": "0x966E96091dF6ce838aa4943e5367D0A5Beb10781", - "support": true, - "votingPower": 0.0012626, - "transactionHash": "0x7de30605cbbfed98682c0dc1cab99d0e079fff92cdaec8f7ad6cdca9dcfed686", - "timestamp": 1658468083, - "blockNumber": 15190581 - }, - { - "proposalId": 89, - "voter": "0xF06F09C65635ea3dB2F6255cABeFcc11d28f2ef2", - "support": true, - "votingPower": 0.36, - "transactionHash": "0xf9eb09db612e278c2c254fc0d2854472caadcd9499a5ece294506a15150a56b2", - "timestamp": 1658468091, - "blockNumber": 15190583 - }, - { - "proposalId": 89, - "voter": "0xd4164Cf28e33497BfF28482aEA3210893be167e5", - "support": true, - "votingPower": 0.975, - "transactionHash": "0x73cdf7adafff03af87647154401ed20c779670e32d684dac9e70cdc620698bdb", - "timestamp": 1658468266, - "blockNumber": 15190592 - }, - { - "proposalId": 89, - "voter": "0xc062Eeca3891539F75054b1060997aa3459b7390", - "support": true, - "votingPower": 0.06, - "transactionHash": "0xb60ca2f02971aeb01203d6c98fcfe4e68077aa2cf75879f4c7f8012eb78ff18d", - "timestamp": 1658468286, - "blockNumber": 15190593 - }, - { - "proposalId": 89, - "voter": "0x0cd897a1b202aAd4b8b2a7942DE59B9ea50ECD1E", - "support": true, - "votingPower": 0.975, - "transactionHash": "0x95df392a9d75056d826b04e3139dd643542d357716456574a3e5d5fc748e185f", - "timestamp": 1658468286, - "blockNumber": 15190593 - }, - { - "proposalId": 89, - "voter": "0x98fd77914f862CB36781aaE5A8434BF0090A8A39", - "support": true, - "votingPower": 0.08779010635979018, - "transactionHash": "0xb383565ec89011a95dabae74537eba3a55a3df593cf64b6ee1cff9bae3cd6702", - "timestamp": 1658468393, - "blockNumber": 15190597 - }, - { - "proposalId": 89, - "voter": "0x40276bA5EfDFBBf749557f6B2A094ABd78197164", - "support": true, - "votingPower": 0.06635298115685384, - "transactionHash": "0xeaeee67fc0150a2818571b57863074ee834da046a3aea37f76335da1e145252e", - "timestamp": 1658468400, - "blockNumber": 15190598 - }, - { - "proposalId": 89, - "voter": "0xdC09eb652D4568c3E22D176BCe8F5eFb12aF7716", - "support": true, - "votingPower": 0.06, - "transactionHash": "0xd263c760c50553116e5661ca6a433dc71dac5d082f904a989ba12cf97c89bb4e", - "timestamp": 1658468464, - "blockNumber": 15190601 - }, - { - "proposalId": 89, - "voter": "0x76363226b9E31b78C2077Ecea78F440D81299f39", - "support": true, - "votingPower": 0.05, - "transactionHash": "0x5eacec6bd6dba9a99943f7c650dab534a6237a58988f22fb7bbcf3883a2a3a62", - "timestamp": 1658468638, - "blockNumber": 15190611 - }, - { - "proposalId": 89, - "voter": "0x2238287464bFD7a2DC2B29Fe4116365E39aA69c5", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xdf787055a584e54b2987f8cfbf31045117d1322151538274627cb063d320cefa", - "timestamp": 1658469056, - "blockNumber": 15190634 - }, - { - "proposalId": 89, - "voter": "0x412cD6A4dBa404Cb480c108FB61813c4B3b80Ce7", - "support": true, - "votingPower": 0.10000000532905214, - "transactionHash": "0x1c41805161c1ce8f692afa566f8cf53622cc0d38bfd95a3777e89a4d8d170d4e", - "timestamp": 1658469578, - "blockNumber": 15190667 - }, - { - "proposalId": 89, - "voter": "0xCBa72b232Baa38696eF4B64446EaB0d7AF2c0783", - "support": true, - "votingPower": 0.215, - "transactionHash": "0xdaefff373c9a649fc04f9f7a6a991a8662a79ac40135fabdfa0cb04798d67a41", - "timestamp": 1658469694, - "blockNumber": 15190676 - }, - { - "proposalId": 89, - "voter": "0xd8E7ef14d2E455a7c150242E60b7D8768952c971", - "support": true, - "votingPower": 0.10000000738107435, - "transactionHash": "0x85fc9898b44d630f83cab2d1f27cd578d9b560ef6d6dbc45e451cae4e88ac685", - "timestamp": 1658470617, - "blockNumber": 15190730 - }, - { - "proposalId": 89, - "voter": "0x87B6A83a938eaE280aC3d992a5E246d56C13fa6d", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xec91fe1d021b9da56c46f8f13741de75bacd54da39ac07b732b949cefce9b1d7", - "timestamp": 1658470894, - "blockNumber": 15190750 - }, - { - "proposalId": 89, - "voter": "0xd00Ce90662ef9a1025eE36e1FD115faF7768213B", - "support": true, - "votingPower": 0.05, - "transactionHash": "0x914c23af8942805f53d17a37b261d48dabc4062e55f3acad23a9bd7d0bac3614", - "timestamp": 1658470894, - "blockNumber": 15190750 - }, - { - "proposalId": 89, - "voter": "0x96409069b740744a084F3D7cd95ec36c72B6E6Fc", - "support": true, - "votingPower": 0.225, - "transactionHash": "0x9764244a1a59c0847e518472f51ad2905af47bc3982470d5c30d2ee6edfb1bc1", - "timestamp": 1658470932, - "blockNumber": 15190752 - }, - { - "proposalId": 89, - "voter": "0x77C9e49073d9830723195f3788570c2c36c97688", - "support": true, - "votingPower": 0.05, - "transactionHash": "0x97100173005a3b74dfffeafeacb968314c90e898edf2b1755434fa525a8986f7", - "timestamp": 1658471369, - "blockNumber": 15190780 - }, - { - "proposalId": 89, - "voter": "0xC1Ff85c123290878D8fa84Bfd123b3c81909Fe22", - "support": true, - "votingPower": 0.025, - "transactionHash": "0xd0d2deb6b4f550e7f713751ad9f0a54b1a5c9266ffd7e913b6970920f5a777a8", - "timestamp": 1658471458, - "blockNumber": 15190788 - }, - { - "proposalId": 89, - "voter": "0x86Ae33E8Ff7a7f780D60347DCA4f2BEA0191E4e0", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x48790e97787148490acdebdabd08d497bdf416d023ed284206d04c11e28c87e1", - "timestamp": 1658471466, - "blockNumber": 15190790 - }, - { - "proposalId": 89, - "voter": "0xAf11b3B0Ea9C697e92ABDa3D89D5c942fd4E335f", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x0ebf81661b3b2571d36e719f5900dde856d4ec5881c627e6273ebd0d8445f254", - "timestamp": 1658471466, - "blockNumber": 15190790 - }, - { - "proposalId": 89, - "voter": "0x064A768BB4e79F22BA0Dcb3c5d2421ae32D51003", - "support": true, - "votingPower": 0.112962, - "transactionHash": "0x6edd6bca5e6346e25ba9dda32dc1af03d8d5dc00cbf69268bd76fc33386010c5", - "timestamp": 1658471466, - "blockNumber": 15190790 - }, - { - "proposalId": 89, - "voter": "0x13dDA63C28bB95FE9822FEA43ad5fEaA966636a9", - "support": true, - "votingPower": 0.2780938009037342, - "transactionHash": "0xf40a33239b20702f81326968b82ef4371f563bf5888001d41beae2a55b45f32b", - "timestamp": 1658471499, - "blockNumber": 15190792 - }, - { - "proposalId": 89, - "voter": "0xc7c8e9003CE878c4011695C28a1A0E1Ee2Bb483D", - "support": true, - "votingPower": 0.05, - "transactionHash": "0x5e8f2b894f40ecaa394f7b7da5a7d96cf944c9eeb57d4ee21c588b51fd3d24cc", - "timestamp": 1658471526, - "blockNumber": 15190794 - }, - { - "proposalId": 89, - "voter": "0xE56C470a342eedbb2e001e70d1C5765C042EB349", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xbdef51a590c710def20ad8c18c63dd7969dfcc0d3d292921c2ed3881d55e3817", - "timestamp": 1658471551, - "blockNumber": 15190795 - }, - { - "proposalId": 89, - "voter": "0x9b13Ebdaf067738c6b2476354EfB2cfE12d74F51", - "support": true, - "votingPower": 0.015, - "transactionHash": "0xef6c783d624d5555ca587d4d81add3787ae0aee8fc49b80891d76d8e80e34f87", - "timestamp": 1658471651, - "blockNumber": 15190802 - }, - { - "proposalId": 89, - "voter": "0x373bE74324aFF93bE17FCE300173AaEBB999E7BA", - "support": true, - "votingPower": 0.015, - "transactionHash": "0x00506292668a799ac874f258eee7a233acd730641737803552d6d87fc0a58b14", - "timestamp": 1658471651, - "blockNumber": 15190802 - }, - { - "proposalId": 89, - "voter": "0xa1b5aF8Eccc097FAc2a68F878754Aa8202092Bab", - "support": true, - "votingPower": 0.1006347133842261, - "transactionHash": "0x64dcb461ae518b7573ddbea2af2b6e75ed9ac1e69303c68234bcd8a3becfdda0", - "timestamp": 1658471651, - "blockNumber": 15190802 - }, - { - "proposalId": 89, - "voter": "0x59dC1eaE22eEbD6CfbD144ee4b6f4048F8A59880", - "support": true, - "votingPower": 1.0315941623634342, - "transactionHash": "0xf6a87943909900e1bb7684cb0121fef8f72c63ffce8d81ce1b20e8ab73101cb8", - "timestamp": 1658471712, - "blockNumber": 15190807 - }, - { - "proposalId": 89, - "voter": "0xd44Bd863D78F4bDd0FB45c5dFA117efDCcb040AC", - "support": true, - "votingPower": 0.305, - "transactionHash": "0xbf6a7d16e79656653739053f60589fcf1a479c3ed0ffb978ad592d1a175ce626", - "timestamp": 1658471979, - "blockNumber": 15190822 - }, - { - "proposalId": 89, - "voter": "0x3066856Ed81B4F9C9C83F756c5a28c76bd8Ef4A3", - "support": true, - "votingPower": 0.016, - "transactionHash": "0xa0be2593ae85011311a6045b12539ffda9de3b4a409f4379ef3e6eb2ed3ded28", - "timestamp": 1658472022, - "blockNumber": 15190827 - }, - { - "proposalId": 89, - "voter": "0x98173D41603A1Ca46326f2F4e06bfef7e16DF544", - "support": true, - "votingPower": 0.3, - "transactionHash": "0x02cde2b543496ba57b521ae9f8b882a2e1c8455af7a33770703ead0e88250280", - "timestamp": 1658472217, - "blockNumber": 15190840 - }, - { - "proposalId": 89, - "voter": "0x706BC1d595157CCD17a4250Ee7b8aB0700Fc0418", - "support": true, - "votingPower": 0.32, - "transactionHash": "0xfd386f81b2a3f1441cb158f7d8a4591160e81f8445085eb95e1103d38ad75b50", - "timestamp": 1658472239, - "blockNumber": 15190843 - }, - { - "proposalId": 89, - "voter": "0xE8cd4cB68dd4c79d118368F36D8564F3134c180D", - "support": true, - "votingPower": 0.375, - "transactionHash": "0xd5f0e3d9a9e732c117e5975f9d437c1157a6749c0568d808a861677e05e9f8f8", - "timestamp": 1658472288, - "blockNumber": 15190845 - }, - { - "proposalId": 89, - "voter": "0x7977B909D55a53F9c73140f7F611EaF0638238Ed", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xc91dc9b2ca19b57f8784f59c0a42b168e07c087897a7f6b615c71982912a176b", - "timestamp": 1658472579, - "blockNumber": 15190864 - }, - { - "proposalId": 89, - "voter": "0xA3F066285ad422407acbF6765FC1a71505bc610d", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x8bc8d1a12e46117d1f20b66aac85fef38729ae0b3fd7a4e664d30e4601c943bd", - "timestamp": 1658472609, - "blockNumber": 15190868 - }, - { - "proposalId": 89, - "voter": "0x2805DdF1DFEDeCa06752907F493F5A5c9bb2C902", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x02d7e4b65537a4f4c00ad6c1ae9d4f553ce1827d372ae34905f2542c31cc57d0", - "timestamp": 1658473216, - "blockNumber": 15190904 - }, - { - "proposalId": 89, - "voter": "0x3444660F13cfE85Be0e5ea5D2eA75d5CB1bB7C27", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x1385e07c6837e6920041341e84f60bee8f4adf66d1569e3da86933ffebeb8564", - "timestamp": 1658473322, - "blockNumber": 15190913 - }, - { - "proposalId": 89, - "voter": "0xecEab46DfFBB0d8877018040cFDB816E94d1947F", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x6d9cce2ce0a7e9c91a633cd0bd750f3e29b7904dbd3feee0383d7dd3b5a1d264", - "timestamp": 1658473416, - "blockNumber": 15190919 - }, - { - "proposalId": 89, - "voter": "0xdBf6473bB963727c18A4dDf21dBb9183005371a4", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xaf862adb1d9a7f12b4daf4f983198cce8fbc82b4c010d7aedd712b95d933381e", - "timestamp": 1658473433, - "blockNumber": 15190920 - }, - { - "proposalId": 89, - "voter": "0x06F99C6473f07649AbA102162672B85F3eE7baF8", - "support": false, - "votingPower": 102.61495751934122, - "transactionHash": "0x26ff792a377eae6659c31847670c70d7167cc2fa800f695761c3812380f957e2", - "timestamp": 1658474051, - "blockNumber": 15190956 - }, - { - "proposalId": 89, - "voter": "0xd9F18d0C490697CcDC1C16F54d223eA75a069BcC", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x49d477855a1072d793b075a0cdd12dd8832ffc1cbfc8396b54911fefd26837b1", - "timestamp": 1658474632, - "blockNumber": 15191001 - }, - { - "proposalId": 89, - "voter": "0x7f59bE872c50A195056eD409a193495a8f490275", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x76c58ef97bd967aaed3ca0ebdb6e0741b035171a73e78ace7641fff56b5f203a", - "timestamp": 1658474717, - "blockNumber": 15191005 - }, - { - "proposalId": 89, - "voter": "0x896002E29FE4CDa28A3ae139b0bf7bAc26B33a8C", - "support": true, - "votingPower": 1.014609, - "transactionHash": "0xf15047ae316e1bab067413065411ca793f6931dbc36e4526f072c99ea81d9d35", - "timestamp": 1658474865, - "blockNumber": 15191015 - }, - { - "proposalId": 89, - "voter": "0x078Ad5270b0240D8529f600f35A271Fc6E2b2bD8", - "support": true, - "votingPower": 0.05706259, - "transactionHash": "0xf2fcc33b84a287e7774ca5a85af4cfb64c93a2d7e5dde420518e21b837cff3d5", - "timestamp": 1658475077, - "blockNumber": 15191030 - }, - { - "proposalId": 89, - "voter": "0x71213a9C9504E406d3242436A4bf69c6bfE74461", - "support": true, - "votingPower": 0.31, - "transactionHash": "0x76a58520e21d1b5e8d8390f521bf6c0df8e0790e3d1c005f8d02ca086369d78a", - "timestamp": 1658475114, - "blockNumber": 15191033 - }, - { - "proposalId": 89, - "voter": "0x8F2A0c6BDd5c1f61552558D2C0D2Afe6d3dC5272", - "support": true, - "votingPower": 0.62, - "transactionHash": "0xe26fef577619e4aa447f04c33615fb9c340f13aa8fb94963033919fd29d443bd", - "timestamp": 1658475332, - "blockNumber": 15191046 - }, - { - "proposalId": 89, - "voter": "0x3712c3F2d2E2Bd0CecB6FA68b2E9F71d8029cc9E", - "support": true, - "votingPower": 0.55, - "transactionHash": "0x85eed0ee690f8c171d14d50f3fa8759a9362a807c6045954c0630b54c50aa758", - "timestamp": 1658475375, - "blockNumber": 15191047 - }, - { - "proposalId": 89, - "voter": "0x29ee39be789aDA5cBb2051f4bDd70Dd735Aed7d0", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xe1cb02656657c40cace0b014355d0415b634ea1571ad4824859039ae3a900947", - "timestamp": 1658475426, - "blockNumber": 15191048 - }, - { - "proposalId": 89, - "voter": "0x5244736b3A8F898149aE33f013126A20cE7abc62", - "support": true, - "votingPower": 0.119, - "transactionHash": "0x46d585252847209a1dac0608e323413a5304b0ba6f3bbaffbe97431674d1b4da", - "timestamp": 1658475527, - "blockNumber": 15191056 - }, - { - "proposalId": 89, - "voter": "0x1e34b42F23871aaF6a8bFF113d7241aD6b936eE7", - "support": true, - "votingPower": 1, - "transactionHash": "0xf75cf5e8f193abb7c2f308a2af8dbc4647fa14e27366417d544f2eecd5ce4766", - "timestamp": 1658475801, - "blockNumber": 15191078 - }, - { - "proposalId": 89, - "voter": "0xB8b703a93cBC75E7bCf055db1acAAa2ECb58D23a", - "support": true, - "votingPower": 0.03876358, - "transactionHash": "0x789849587dadbd6a6acb47d00af83e09647114581a74d6154201f8b650640037", - "timestamp": 1658476936, - "blockNumber": 15191149 - }, - { - "proposalId": 89, - "voter": "0x4bd77E5637212bc070B6C1382B3bF40BC1a7DE18", - "support": true, - "votingPower": 0.02, - "transactionHash": "0x75221c076aefb5577cb75183d894ef457d5f9b0f58c044f01bcc1dc1e94d5f46", - "timestamp": 1658477113, - "blockNumber": 15191161 - }, - { - "proposalId": 89, - "voter": "0x6ED7E999C79263Cbe017bD5eDBE55CF50DB43029", - "support": true, - "votingPower": 0.06716506421459016, - "transactionHash": "0x254be462a00335435b85d4b81e53dd2b85ef3805559f2a4723f2f728c0cbdff8", - "timestamp": 1658477930, - "blockNumber": 15191219 - }, - { - "proposalId": 89, - "voter": "0xe87BB1D31e8b69A51ef38b5E73dFF2eFC32Fd309", - "support": false, - "votingPower": 4023.1103692047973, - "transactionHash": "0xcc6a36e0ea72c08d55f5ca2e86c6533ec45904afc6fb607f90ba640b4f388efe", - "timestamp": 1658478267, - "blockNumber": 15191251 - }, - { - "proposalId": 89, - "voter": "0xcD47fdfD5eec391aD8a7dCd8C3172a0984FecC65", - "support": true, - "votingPower": 0.001, - "transactionHash": "0x9841b847fac91cacd2ad259bad06882557fbccb1bbb6a789cc6b0bd777a4c3a1", - "timestamp": 1658478437, - "blockNumber": 15191267 - }, - { - "proposalId": 89, - "voter": "0x3EcFBA75d5a113241ec899888319A9e1E456EE9A", - "support": true, - "votingPower": 0.03130452, - "transactionHash": "0x8e2df5fc8d233cb183f21ca5ad5f1359880be76ae649769a53e9c5900932425b", - "timestamp": 1658478963, - "blockNumber": 15191315 - }, - { - "proposalId": 89, - "voter": "0x45F36faF52D02cD52ED5e4F6F77Ae07b4705eBbb", - "support": true, - "votingPower": 1.2, - "transactionHash": "0xab6b0f9cca27275839d6d5e427d887094fd19929a08c096060ff15353ae54367", - "timestamp": 1658480088, - "blockNumber": 15191391 - }, - { - "proposalId": 89, - "voter": "0xf194EccA33a31Ec318D4bbABCD7FA89e14E003B0", - "support": true, - "votingPower": 0.0049, - "transactionHash": "0xa7f9dd896d8a74a311fa71f20cf9bf6a788afec34171ab0d98aca4ba77de1325", - "timestamp": 1658480102, - "blockNumber": 15191392 - }, - { - "proposalId": 89, - "voter": "0x5A99D93cEd2D27439508EEB3A6Fd9158EECaaCB3", - "support": true, - "votingPower": 0.1099, - "transactionHash": "0x7dc71eaff1e7f5eedc12a15337deef1b8e450ed19bc3bf7580649c6e895e8183", - "timestamp": 1658480146, - "blockNumber": 15191394 - }, - { - "proposalId": 89, - "voter": "0xc6ab0a68f315DB51665811Ca0264C053bb961f61", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x6615cb094f14c462d7da9086b5a68f285005528dccdbd3e270ed51f8b10446a6", - "timestamp": 1658480195, - "blockNumber": 15191398 - }, - { - "proposalId": 89, - "voter": "0xAf4F9Aa4A83133Ae981b5AfeDA7d764621C5FAe6", - "support": true, - "votingPower": 0.16479653855185453, - "transactionHash": "0x2ddcf7d68616890c4d1739ac60e4ab1ff1f0872dc02714d95c55bacaadfb4b4b", - "timestamp": 1658480407, - "blockNumber": 15191412 - }, - { - "proposalId": 89, - "voter": "0x7d62667CA6636f5c4811114D8fDC0cb841DFd003", - "support": true, - "votingPower": 0.7046921863543822, - "transactionHash": "0x67c08497fd018426926fc9be3326cc9e251c2ac0302ec38057920a7822bca461", - "timestamp": 1658480529, - "blockNumber": 15191424 - }, - { - "proposalId": 89, - "voter": "0x8B7A3c57eb9C6Bc5a2144E4244396b4917A19720", - "support": true, - "votingPower": 0.2547918510229404, - "transactionHash": "0x80debd31379fddc7e7bdce16eddb75be3732649ddab04aa94f49322c7930729a", - "timestamp": 1658480776, - "blockNumber": 15191433 - }, - { - "proposalId": 89, - "voter": "0xBc2b401780f597b3c879ffDE99Fc9753340D3C92", - "support": true, - "votingPower": 0.6685, - "transactionHash": "0x10dd0ff2debe6dd013c2467f41ddc76d67ab04721a8e4993fa25e890fac791db", - "timestamp": 1658480836, - "blockNumber": 15191443 - }, - { - "proposalId": 89, - "voter": "0x484AdfdA2B22B76109087bFfFcB1D120F8e045A9", - "support": true, - "votingPower": 0.15192877, - "transactionHash": "0x57f627865db185e8617142c388fa99f738239b7d4209bbb6e36928e0684f6e03", - "timestamp": 1658482246, - "blockNumber": 15191555 - }, - { - "proposalId": 89, - "voter": "0x67149c6a2aa490636948b084d88DDE8A958CA269", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x33e7a6b7a342d5f03499ce1672de90afaba2226cf20b112ea51007b3e30060f0", - "timestamp": 1658482280, - "blockNumber": 15191559 - }, - { - "proposalId": 89, - "voter": "0x16FAf36B378bb424BBF56d76A1B009C727218FC5", - "support": true, - "votingPower": 0.0172, - "transactionHash": "0xa88a68b224c9aa5eae1d6ce7fe14a17f27debcdda883fd4a3fdf48489341d6c1", - "timestamp": 1658482569, - "blockNumber": 15191584 - }, - { - "proposalId": 89, - "voter": "0xdCDBd2b5ca6430B2456850cbd2c164413852381A", - "support": true, - "votingPower": 0.0183, - "transactionHash": "0x8cda303beae367d1fe024ae8f764fb6f1edd3fd2dcd2c226fd79b45a404d362b", - "timestamp": 1658482746, - "blockNumber": 15191599 - }, - { - "proposalId": 89, - "voter": "0xCB211A172Dcff6551D5a1cBFfe8c544500A6A2F4", - "support": false, - "votingPower": 0.01, - "transactionHash": "0x7e92b6b272b424bf1dd36f83ba95241389ab1483cd2037f54ef89926f9b481b9", - "timestamp": 1658482976, - "blockNumber": 15191617 - }, - { - "proposalId": 89, - "voter": "0x0B1A1E1176B2aA3f9947c5648Cd7CcdA4adc172a", - "support": false, - "votingPower": 0.0203, - "transactionHash": "0xdceb960255c8dc2c0725ad6d07e16df6ae88b1195f23f15f663c6742f71141b5", - "timestamp": 1658483024, - "blockNumber": 15191619 - }, - { - "proposalId": 89, - "voter": "0x3EE56188250E9CA6c359c7f636077c699dfC6Caa", - "support": true, - "votingPower": 0.111, - "transactionHash": "0x528e4b341b5c88d1a36ee5bfb9c2f04c92a0e30a3806c556a826ded8f9322f89", - "timestamp": 1658485577, - "blockNumber": 15191813 - }, - { - "proposalId": 89, - "voter": "0xDDC31Dfd453a6673C1d5C912c1cA196d5E08Ea71", - "support": true, - "votingPower": 0.075, - "transactionHash": "0x9ff1c16ebce9f8374979aaed879a331311cbb87d1d2759a161f23ecaab6575af", - "timestamp": 1658485600, - "blockNumber": 15191814 - }, - { - "proposalId": 89, - "voter": "0xD332f90e9EedaEE3Af94e8F3f71C3e4f2FdbeE36", - "support": true, - "votingPower": 0.002, - "transactionHash": "0xd03844c8b197fc8f1675bc29e6df7d1ee5d349fe41abdbd6d324715d37c01484", - "timestamp": 1658486525, - "blockNumber": 15191886 - }, - { - "proposalId": 89, - "voter": "0xcF3F16175B264C23436E327cf00D4f24a27BC345", - "support": true, - "votingPower": 0.38152814547448716, - "transactionHash": "0x52ade5d8f7894745b471e18a8ad7880d224903ba5c28c0e42c146482073f1479", - "timestamp": 1658486915, - "blockNumber": 15191910 - }, - { - "proposalId": 89, - "voter": "0xBccD75B44a8581ae675381b0B3fE8A0f43101Ebe", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xf14bc1739a2f237d41ac0a6705ff9432ceaa276c9647a9df10bd86cbd8870938", - "timestamp": 1658486983, - "blockNumber": 15191913 - }, - { - "proposalId": 89, - "voter": "0x4336Fa67626BEc05eb5f9092864993D6C1FADEd5", - "support": true, - "votingPower": 0.33445856586898925, - "transactionHash": "0x2bd9a312f48d695741dc3c4ff7df0eb70f3f526c5337fd38f4eca27ff013dc4f", - "timestamp": 1658487005, - "blockNumber": 15191915 - }, - { - "proposalId": 89, - "voter": "0x32eab3E046246e5cA1Da750afaefE9ee7bD3B6D3", - "support": true, - "votingPower": 0.36, - "transactionHash": "0xfdb8ec9d0ee540b63a33718683d81c42a88b2158040ab218e1da1745190f0cdd", - "timestamp": 1658487039, - "blockNumber": 15191917 - }, - { - "proposalId": 89, - "voter": "0x5a05F65552A715a375522D7d59b3D936B083FE03", - "support": true, - "votingPower": 0.5749412489084824, - "transactionHash": "0x9f788e31110b338cc9caaae12103f5c234d08bbdf1920cd4c41e7a7205cf7313", - "timestamp": 1658487432, - "blockNumber": 15191939 - }, - { - "proposalId": 89, - "voter": "0xC239876BDF21A9746B2Da99622e323c53DD24740", - "support": false, - "votingPower": 0.0253, - "transactionHash": "0x1d4a637fd7542efde287c4961d4785b4b47e468516a46612a04ef477cc32a768", - "timestamp": 1658490179, - "blockNumber": 15192156 - }, - { - "proposalId": 89, - "voter": "0xB0158A40156Bc1FE42afbd46aCdd0d66210f85F8", - "support": true, - "votingPower": 0.10257749546775614, - "transactionHash": "0x9c524a056d523c53a1ee979cb5e6d637d6b04fa6623f0d8309aac719107ca007", - "timestamp": 1658490799, - "blockNumber": 15192197 - }, - { - "proposalId": 89, - "voter": "0x8dBbFDce816e079C9Ff0EF901cc77050C17Dd281", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x87362b9aec0bb33cb48e79b1d1752c228993780bc1a3087eb6d716d4c132ac1e", - "timestamp": 1658491175, - "blockNumber": 15192235 - }, - { - "proposalId": 89, - "voter": "0x8c18f2728c5731B4757448C9C59117a22c19d325", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xa8cf9c08193b73b5515f1ae05da0906784cc62df64c39f5d4a63b542d7605380", - "timestamp": 1658492205, - "blockNumber": 15192317 - }, - { - "proposalId": 89, - "voter": "0x201B856fE2D5539CBD325Cd2C491Ca75e4DFA2e7", - "support": true, - "votingPower": 0.02923, - "transactionHash": "0x0d572dc6e4bc7a57ffee68ba049198a80112b0d50d1e859b3354ee208a8b8d19", - "timestamp": 1658492585, - "blockNumber": 15192343 - }, - { - "proposalId": 89, - "voter": "0xb8C2C0Aa32a95351ffa9450509C62379a42a4f87", - "support": true, - "votingPower": 19220.736395967462, - "transactionHash": "0x261df4b165c9c72afcc8ffdb1fe51edbe353d8c2afe15e1e5694dd7ffcc6effe", - "timestamp": 1658497986, - "blockNumber": 15192744 - }, - { - "proposalId": 89, - "voter": "0xA0556E8e8b617f184c6948DF2c08AC795036DAA5", - "support": true, - "votingPower": 1.0330950768363638, - "transactionHash": "0x17e4700b9986c3cf03d2b5f16127fcdca30443b03f5f4e232bc0ae7f0bfdfcc4", - "timestamp": 1658499495, - "blockNumber": 15192861 - }, - { - "proposalId": 89, - "voter": "0x65b3626dE3c01fD20aD06B34Ceb8881B20e0514f", - "support": true, - "votingPower": 0.0205, - "transactionHash": "0xc61f6fc2531a892e6fae7ea407c4c553f2a3783e7be2c2605edd634446369a65", - "timestamp": 1658505874, - "blockNumber": 15193373 - }, - { - "proposalId": 89, - "voter": "0x8Dd0F1C1BDEf8e2C180df44d348db44494C54Ea7", - "support": true, - "votingPower": 0.11973361215093221, - "transactionHash": "0xe60be45493840f9558f8b705283ae7d2cf4990ae3187593233a15599ad93fef4", - "timestamp": 1658508384, - "blockNumber": 15193566 - }, - { - "proposalId": 89, - "voter": "0x76E4f864bbEb60Bee66Ff5BbcD32dEcAF7FBDE71", - "support": true, - "votingPower": 0.2962423668388178, - "transactionHash": "0x3234ca75b96e3ed46c99152ec6ded16ceb2e252820a4480da54695e9098d5340", - "timestamp": 1658508681, - "blockNumber": 15193596 - }, - { - "proposalId": 89, - "voter": "0xaB7b49bacd43BD4CfA41433D477F690Bb9E1fB26", - "support": true, - "votingPower": 0.022937704081823, - "transactionHash": "0xb976d0edf505efd0f1a77ccdbc31b7e7afce2e761c1c4be66ca54adceeb2e431", - "timestamp": 1658509152, - "blockNumber": 15193629 - }, - { - "proposalId": 89, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 103333.8477304624, - "transactionHash": "0x7d32c24a28b728889749f10bb3acab08ce2cb7b22263cd59ca0529a220d3a741", - "timestamp": 1658513106, - "blockNumber": 15193938 - }, - { - "proposalId": 89, - "voter": "0x34B33D4E52dbC5C965769B4aA97066d95B318331", - "support": true, - "votingPower": 0.2, - "transactionHash": "0x24b845edfe1875e5a47f3ad54536f46d58026853968a76abae97078d2a101092", - "timestamp": 1658518851, - "blockNumber": 15194373 - }, - { - "proposalId": 89, - "voter": "0x0E34c4e47b069AedE6b1aA8ef753CbA2A8C723aE", - "support": true, - "votingPower": 0.2592692407510746, - "transactionHash": "0x86f2496e329139a1d6110b2e74adeb31da0eb1fe510f5d0aab206dc247f96f41", - "timestamp": 1658522843, - "blockNumber": 15194685 - }, - { - "proposalId": 89, - "voter": "0xE21e94e4A257c6e2444526eb5bA0Ca1dfD3BD5Da", - "support": true, - "votingPower": 0.27061700858077414, - "transactionHash": "0x6c068507dfaa1972201e7b5896f84bf788fa90a41517afc24c8675c827ad75a1", - "timestamp": 1658523029, - "blockNumber": 15194701 - }, - { - "proposalId": 89, - "voter": "0xE41dDd368bB5Bb8A305C26DD9057F9dF498Fc889", - "support": true, - "votingPower": 0.2704099819502517, - "transactionHash": "0xd1006a4f4a9e84c81f5ff62ea0c87a75603440e2c982bb718393afeb0307dd41", - "timestamp": 1658523330, - "blockNumber": 15194720 - }, - { - "proposalId": 89, - "voter": "0x876FA3D62BbDbE51e6A64Cc9B45dc5B2D30fC282", - "support": true, - "votingPower": 0.20280544623704475, - "transactionHash": "0x7fef3ed6deba9d5630d1bfba98e3f381b28d4f6558edae874d6cce09faaa4592", - "timestamp": 1658523507, - "blockNumber": 15194745 - } - ], - "finished": true - }, - { - "votes": [ - { - "proposalId": 90, - "voter": "0xcBD56A71a02fA7AA01bF1c94c0AeB2828Bebdc0A", - "support": true, - "votingPower": 0.02176612, - "transactionHash": "0xf5274883f2eb72329e5f146db847f74bb73f13db23e32120dbc646b4ac3c700c", - "timestamp": 1658857842, - "blockNumber": 15219536 - }, - { - "proposalId": 90, - "voter": "0x329c54289Ff5D6B7b7daE13592C6B1EDA1543eD4", - "support": true, - "votingPower": 7022.164893050852, - "transactionHash": "0x2dfdbabb37053ee745b25b6e33b0c993b8c632fcbc2f6f2e82cfbffde1336d2a", - "timestamp": 1658858323, - "blockNumber": 15219571 - }, - { - "proposalId": 90, - "voter": "0x5B3bFfC0bcF8D4cAEC873fDcF719F60725767c98", - "support": true, - "votingPower": 183375.7063189123, - "transactionHash": "0x2e6c4117ae65388a18b147c6f76e9bcf58fe7ea5e4b1879244d347853e5b51a1", - "timestamp": 1658858673, - "blockNumber": 15219600 - }, - { - "proposalId": 90, - "voter": "0x55B16934C3661E1990939bC57322554d9B09f262", - "support": true, - "votingPower": 73772.77110085737, - "transactionHash": "0xf58d90e566f5a79423e883458187d16cde56af3d0f21e9d7804fad1243e7d617", - "timestamp": 1658858985, - "blockNumber": 15219631 - }, - { - "proposalId": 90, - "voter": "0xc17cB209D5aBdb2d00f566a1E48F558DEBC264E1", - "support": true, - "votingPower": 103333.8477304624, - "transactionHash": "0xfca0a49d6bd1074baed4ae32a18b67b3e56dd7811760d43993115f295ba61018", - "timestamp": 1658859833, - "blockNumber": 15219687 - }, - { - "proposalId": 90, - "voter": "0xC960338B529e0353F570f62093Fd362B8FB55f0B", - "support": true, - "votingPower": 22.401715072834712, - "transactionHash": "0x213318c7680fb5fc43dab4d1f7785c7ae503bba4ad542035fe99a968c5dfb30e", - "timestamp": 1658861634, - "blockNumber": 15219816 - }, - { - "proposalId": 90, - "voter": "0xA0efD27acC781549D5b78e89E561AA0903932d56", - "support": true, - "votingPower": 8.002657782527367, - "transactionHash": "0xa9a91eb1c113ba65021c0bbee88a0ba49a809175667801c4b229148698bf60f5", - "timestamp": 1658861886, - "blockNumber": 15219833 - }, - { - "proposalId": 90, - "voter": "0x6406306DB56F691b8F71Dcd9D39A0ebDbb2018e3", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xee09e2bb3e8fe4c202efca300b160eee11f2653dc9be513b3a24edd41a764a2f", - "timestamp": 1658867595, - "blockNumber": 15220264 - }, - { - "proposalId": 90, - "voter": "0x7233DFB27734bb6b688E39da498984F73EcdB41a", - "support": true, - "votingPower": 0.12635787391032904, - "transactionHash": "0xd1295aedb5a8e8197d147d91329b44d60b058473cc5209686db0bac81c3fa906", - "timestamp": 1658874510, - "blockNumber": 15220790 - }, - { - "proposalId": 90, - "voter": "0xce575De2c04618511Ce3e984B9b2655aa6385231", - "support": true, - "votingPower": 0.17882045334541669, - "transactionHash": "0x1fc5e41e47ff1dac6f8de08217852dc7851e754c4c7a7e5fd32f76b266116fb9", - "timestamp": 1658882995, - "blockNumber": 15221429 - }, - { - "proposalId": 90, - "voter": "0x60dd456273Cbb018C2222621d4c2Dc5016E870d3", - "support": true, - "votingPower": 0.13047043946417894, - "transactionHash": "0x87218d6df1405f5eb0c3b6ce92bcb4864a5eb954b747595fea0e11a153fa3f4d", - "timestamp": 1658883335, - "blockNumber": 15221457 - }, - { - "proposalId": 90, - "voter": "0x484AdfdA2B22B76109087bFfFcB1D120F8e045A9", - "support": true, - "votingPower": 0.15192877, - "transactionHash": "0x2b6918da9319a6f2bcf9ab943a4988810f348ef9c2269b7bcecd45a44c1da8b8", - "timestamp": 1658886926, - "blockNumber": 15221731 - }, - { - "proposalId": 90, - "voter": "0x2EB4f35B998ba230562f646dc235AC25F18A3034", - "support": true, - "votingPower": 0.13499988, - "transactionHash": "0x9524a703b6e622696314deac17ff4ef91b58bc3eb9f0ef693589e895d5e49b32", - "timestamp": 1658888436, - "blockNumber": 15221826 - }, - { - "proposalId": 90, - "voter": "0x11952c380da6e34DbB9aafB6e4BD250008F23c9A", - "support": true, - "votingPower": 0.03, - "transactionHash": "0x4b8e0a985120b7671d33b3a5f43b3c4e9fd5e47798612e63621b4a17dc1cfc4a", - "timestamp": 1658890236, - "blockNumber": 15221957 - }, - { - "proposalId": 90, - "voter": "0x5b862bb7cAe4E7796e09EFca206Cfc42355cA299", - "support": false, - "votingPower": 0.0083, - "transactionHash": "0x115435b05d6e23cec973e7f3016c59abbf7a783c293bca69d6c1584724e37504", - "timestamp": 1658891740, - "blockNumber": 15222057 - }, - { - "proposalId": 90, - "voter": "0xf37CbCbB3767555314CA683Cf08777DEa5Bfa2a8", - "support": true, - "votingPower": 0.0328, - "transactionHash": "0x275915a47b782ee5b1b3a8295ebbc31244155548e2e2e684223d4805a9640cba", - "timestamp": 1658894568, - "blockNumber": 15222263 - }, - { - "proposalId": 90, - "voter": "0xa71cabc14966C6fae86C05630A20ba1c90944A1F", - "support": true, - "votingPower": 0.16914986093741016, - "transactionHash": "0xf9a6c274a160cbad1a6bad479cd8beac4c578abe79709517af6c5470dc679115", - "timestamp": 1658895195, - "blockNumber": 15222307 - }, - { - "proposalId": 90, - "voter": "0xB52bCC47404d7860E58ac67436156Cb20B8EBD8b", - "support": true, - "votingPower": 0.3467541080861357, - "transactionHash": "0x1290453019d3f3040eb5abc6a7b82ee50c049ba24a08231c8ab589ba3c0abfdb", - "timestamp": 1658895251, - "blockNumber": 15222313 - }, - { - "proposalId": 90, - "voter": "0x9A17b959188980DC6667eAca3cDc8738AADcdB3e", - "support": true, - "votingPower": 0.09431433474910614, - "transactionHash": "0x54e344306d7df5a8da6ec9d600782b4c1f394da70d7baf4ee2c36d283b941e8a", - "timestamp": 1658899642, - "blockNumber": 15222600 - }, - { - "proposalId": 90, - "voter": "0xf3FE8c6c75bE4afB2F8200Fc77339abE4D7CFF33", - "support": true, - "votingPower": 0.11180414451666074, - "transactionHash": "0xc23d6dfc1395be3beac623dd4f6f50b7f830798c2c43eed7afe7750715c4de06", - "timestamp": 1658899642, - "blockNumber": 15222600 - }, - { - "proposalId": 90, - "voter": "0xF3B23BB212567c174f356437F98544bf13164436", - "support": true, - "votingPower": 0.06964406022503608, - "transactionHash": "0x06cff76100f5d7cbb8a0893a8ba550aa2f0416a59e81f4d52de35a259ff75ae6", - "timestamp": 1658899642, - "blockNumber": 15222600 - }, - { - "proposalId": 90, - "voter": "0xE606A84769F24508a84ff53f0DDe1aAAEFAeeE27", - "support": true, - "votingPower": 0.022, - "transactionHash": "0x2c32feec6b5213ea432023caa674eb920e735968b0f5fd113cd1c89d8ae81eff", - "timestamp": 1658902957, - "blockNumber": 15222834 - }, - { - "proposalId": 90, - "voter": "0x7212669FA095DD654aB5231c817BE8980863BF01", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x6d553f32f1f76d3c697ae87c0c409f3d63054e18e8dbbccc618e56e588de3add", - "timestamp": 1658902982, - "blockNumber": 15222836 - }, - { - "proposalId": 90, - "voter": "0x05eE92b20265f364620710D8FfB416784e1d18F8", - "support": false, - "votingPower": 0.0194, - "transactionHash": "0x9e90fb95930b382ddfd309ee0b30d5f8ce820e43782291519cb3318fc3f6a5dd", - "timestamp": 1658903680, - "blockNumber": 15222878 - }, - { - "proposalId": 90, - "voter": "0x410a0887cC91cCf1e8Db56422b9a5D8B078c2200", - "support": true, - "votingPower": 0.10000000000000002, - "transactionHash": "0xaed57ae649c3a0ba2140f68541bdc5f97eaf87b1c9964ff7b3f7409e2cca61a0", - "timestamp": 1658903851, - "blockNumber": 15222891 - }, - { - "proposalId": 90, - "voter": "0xc49a80a3C6864Ae498c582b6f8EA425C7433c42B", - "support": false, - "votingPower": 0.0194, - "transactionHash": "0x41e3227b8634d17eb60335d4ab87a0e6b15339354dd6aa6552a6409969f09992", - "timestamp": 1658904846, - "blockNumber": 15222964 - }, - { - "proposalId": 90, - "voter": "0x68918f1501D0f2F33B71F935E3b784435CF07464", - "support": true, - "votingPower": 0.28697419954866826, - "transactionHash": "0xe5274d5123989083e44afc9b8d099798dd80656f12bf37cb00ce6adc1bc5f9d1", - "timestamp": 1658905176, - "blockNumber": 15222981 - }, - { - "proposalId": 90, - "voter": "0x482AbC7795CcfB657DD09c9F0b67312F4ECCFD07", - "support": true, - "votingPower": 0.285, - "transactionHash": "0x128bee6f5bfc5ee7f6dca965ed863020cbdf43f063cd469f7c91a4ed852c5913", - "timestamp": 1658905272, - "blockNumber": 15222986 - }, - { - "proposalId": 90, - "voter": "0x457737A7CfC35a3111ebb549C18fb420fdd09eCA", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x25e187642cc8bd34961c05f93e457c6e676239cba4665d805bda581c242e9741", - "timestamp": 1658905436, - "blockNumber": 15223000 - }, - { - "proposalId": 90, - "voter": "0x5098211E5Bf9d2A919b697647a5b2827217D560d", - "support": true, - "votingPower": 0.03, - "transactionHash": "0xff995f9add8d93f2f34884db40125e45e1230bf97d52f840ce01300ade53a17e", - "timestamp": 1658905499, - "blockNumber": 15223005 - }, - { - "proposalId": 90, - "voter": "0x33F580A02F44c9fF6A02913E2cd5468FFaeE3147", - "support": true, - "votingPower": 0.11, - "transactionHash": "0x1dcb4d5372c0c9bb0b9b2c2a2f8df7ddce9b14edbb4eff6fa7cd4b69130c60e9", - "timestamp": 1658905516, - "blockNumber": 15223007 - }, - { - "proposalId": 90, - "voter": "0xD0a485D93ac117E601B8389571e6058270894AB5", - "support": true, - "votingPower": 0.09484568, - "transactionHash": "0x65807acb521cdeef7de31542d4834de822dd43eb9e8079fd2f9dbbda9bc5cd0d", - "timestamp": 1658905575, - "blockNumber": 15223014 - }, - { - "proposalId": 90, - "voter": "0x33Aef9F682E722aeB1597775157c0B9D983d21a3", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0x9b649e22d9b8a3db6946a8e7f896b11146980737acfc548997e9edefaf15ce77", - "timestamp": 1658905816, - "blockNumber": 15223038 - }, - { - "proposalId": 90, - "voter": "0x2fAe5777D3f82BfB935bcbC49db3B815302f6891", - "support": true, - "votingPower": 0.2, - "transactionHash": "0xffe223ef403e112e2d15d2c4432f13516bfa118e1e46f19455a02821ac95f59b", - "timestamp": 1658905944, - "blockNumber": 15223050 - }, - { - "proposalId": 90, - "voter": "0x4866914e8fd0d89b806D67328099BafA201f6be1", - "support": true, - "votingPower": 0.026, - "transactionHash": "0x1c184a01c8b263c1bc329198ea29a4cb642808bb59f5c5de3225b27db93adc39", - "timestamp": 1658906223, - "blockNumber": 15223070 - }, - { - "proposalId": 90, - "voter": "0x5e745Aace240DFfA2358c2b47F3eFf4A3a85E12B", - "support": true, - "votingPower": 22.438, - "transactionHash": "0x628f64cc0b52785d4a5e0ae5447a6733b803ca6323b63bc7401a27121605373b", - "timestamp": 1658906565, - "blockNumber": 15223100 - }, - { - "proposalId": 90, - "voter": "0x60924CcE392bB442220DB8c867DE4b56B6A8fa33", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xa3a39df14ecf9d638c0199e5cab8e4138424035e75fab6a78219b80ca554a0d8", - "timestamp": 1658906565, - "blockNumber": 15223100 - }, - { - "proposalId": 90, - "voter": "0x1a233644cB6bf094800090F8eFdbE2c240dd092b", - "support": true, - "votingPower": 0.0039, - "transactionHash": "0x8f4cc77091ac6d2c6d91d9efaa3834191334d00802a618a40b25854d11ff66e2", - "timestamp": 1658906871, - "blockNumber": 15223132 - }, - { - "proposalId": 90, - "voter": "0xA0556E8e8b617f184c6948DF2c08AC795036DAA5", - "support": true, - "votingPower": 1.0330950768363638, - "transactionHash": "0x15dc819166f0d7d36e1dd9d1a46f8bd6536805b041ecb14f74bda94fb89aaaf8", - "timestamp": 1658906980, - "blockNumber": 15223141 - }, - { - "proposalId": 90, - "voter": "0x1A29079662d2Fc3530767122b8E931e041b6282a", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xe4ffdeee90a395a4de2aeea401117bbdc5d128c204a2eb77167cfa735456ff88", - "timestamp": 1658907059, - "blockNumber": 15223145 - }, - { - "proposalId": 90, - "voter": "0x66d5B45c3BDa659bAA794D13e9A82dfefE13b7a1", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x4d1c978356f4d1d1df209729af168c78cb2a114b18b0921f074a9ed83fa9e63e", - "timestamp": 1658907476, - "blockNumber": 15223183 - }, - { - "proposalId": 90, - "voter": "0x08Ab30faCB3EF439589f25e85496428f1FB5B077", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xdaaf23086e495e8c7c0dc401824b5aa43cdbdbf8c49ca0e49e3d0a045df003e8", - "timestamp": 1658907540, - "blockNumber": 15223190 - }, - { - "proposalId": 90, - "voter": "0x0DF2861C4A9b81931a49439DAaE6468716815845", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xf3e181da2e81778983525a61fbc5a5e79f04810365ab164da2fcb864157c2861", - "timestamp": 1658907579, - "blockNumber": 15223195 - }, - { - "proposalId": 90, - "voter": "0x83bd3cC9a450db2870Ba4117296CDb5269480fe9", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xf0cfe7e249ff67ca7e9c4b962a58c70d9e20b1e5a4b41d83675ca916416579ce", - "timestamp": 1658907629, - "blockNumber": 15223198 - }, - { - "proposalId": 90, - "voter": "0xf12339A163c5AB8Ac84deB502D02eDaaa5880819", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x6468ec31afb725f542e7c494476608245d486292597183c64e003e701c9790ac", - "timestamp": 1658907668, - "blockNumber": 15223199 - }, - { - "proposalId": 90, - "voter": "0x3b005D5e34b6528c088F7e910048Ee8a8eD94dCb", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x2c892c370348e2e8555905c28cf6ab925c76c7730defd6a2f1756ad70f18ba1b", - "timestamp": 1658907734, - "blockNumber": 15223206 - }, - { - "proposalId": 90, - "voter": "0x438FAe68d10F18972e4FdE8056227F87DE3B4477", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x7a698931cf5d26bd461649d598e880d0573a77b243877cf37d66fe8ff939c7c4", - "timestamp": 1658907770, - "blockNumber": 15223209 - }, - { - "proposalId": 90, - "voter": "0x96ca0755De514BFd9De889e016581E2f857c1534", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x3614058edeb50c3521195de237d5313490bc6a201bbd19b457b78bafaec94849", - "timestamp": 1658907834, - "blockNumber": 15223213 - }, - { - "proposalId": 90, - "voter": "0x889BCb1499937E2E8b52B7FCE275087A4187A9A1", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x939a6022cd4d018bc98c40cdc8ab99bf252e5f88368a8c8c4ab0c70c35509e0e", - "timestamp": 1658907872, - "blockNumber": 15223215 - }, - { - "proposalId": 90, - "voter": "0xe19e26beCff917f057Ebb35217fdF4ab3252DFFe", - "support": true, - "votingPower": 0.205, - "transactionHash": "0xb44982f0eb9dc396fee86156585f5ba275d2f8ea48a62a6287d666b09e27dfcf", - "timestamp": 1658908192, - "blockNumber": 15223244 - }, - { - "proposalId": 90, - "voter": "0xc4f1080F341E9Bff5C2411745Bb8e22221A6a5c3", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xf5ac439f8867282ebfd9d2b65a1a2717383fb0011532e3765984b80963bdafcb", - "timestamp": 1658908299, - "blockNumber": 15223253 - }, - { - "proposalId": 90, - "voter": "0xBA2dfc38FdF8A5f8DaDf1E1C4AB4f73348bbdA57", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x74a33aebc2305394d60206a375bad88eebbcddf7b54feb917dcdffef41e4a76f", - "timestamp": 1658908455, - "blockNumber": 15223266 - }, - { - "proposalId": 90, - "voter": "0xa0a961674F7eB74da9ef4087BB262b35a5191A82", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xac6b2c7429cb4a3faa1237c4e3ed93813f54e6efbb52e0488efa91b341502caa", - "timestamp": 1658908525, - "blockNumber": 15223271 - }, - { - "proposalId": 90, - "voter": "0x848640772Aa8B981C520084473C31aAAd491cA75", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x940b6edd705f407ae6927479f4bff1d2bd9d68ebe0f9e2efd7331bd3eb5eeaf2", - "timestamp": 1658908585, - "blockNumber": 15223277 - }, - { - "proposalId": 90, - "voter": "0x8474c43970481015019819936793DDc210a0050e", - "support": false, - "votingPower": 25.781594665166466, - "transactionHash": "0x3204ecb1909ad5b031a643c63f455288420a22ef5f34b91be93ce4e7f7e982ff", - "timestamp": 1658908638, - "blockNumber": 15223281 - }, - { - "proposalId": 90, - "voter": "0x3aF154C87F854C934Fc2a4FE45265dbCE59BD4a3", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xcd00a6e4e2f9b42fabf5d7b7773df9c43aae344084f77974732535f1126c4141", - "timestamp": 1658908648, - "blockNumber": 15223282 - }, - { - "proposalId": 90, - "voter": "0x396546635b56C60D3597E5C558490754D20BC46c", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x020f0561ca5267352b2ca9f871bee16b8b733ebb845ead49d27743f2f9745d28", - "timestamp": 1658908700, - "blockNumber": 15223286 - }, - { - "proposalId": 90, - "voter": "0x07E320d04C059Aa33f7dCfE3c3aDd07be5A31B89", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x76cd82d2f54cc9324e515a1eb31cfaacaf1bff4176f0226f57e72aa723d6c601", - "timestamp": 1658908788, - "blockNumber": 15223290 - }, - { - "proposalId": 90, - "voter": "0xC25938D60affdf015607ec4386cF36357F3Bea34", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x8fb197ef970ac203cb33d0f49e2b48063c3caf2cbfcc94a2f5dcf9b92fa53b5c", - "timestamp": 1658908817, - "blockNumber": 15223291 - }, - { - "proposalId": 90, - "voter": "0x52896Bf40B9A801511C211ab6Ae93895B3Bd4391", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x7e6680f1f6194540abeb6a3287912c85252c14611cd906cc37d5d544738c8379", - "timestamp": 1658908968, - "blockNumber": 15223300 - }, - { - "proposalId": 90, - "voter": "0x6ED7E999C79263Cbe017bD5eDBE55CF50DB43029", - "support": true, - "votingPower": 0.06716506421459016, - "transactionHash": "0x681e3ecc37ffb7b62e482b4d91e87fdd3fff545cad459b7016969ab78c7e6e8d", - "timestamp": 1658909374, - "blockNumber": 15223344 - }, - { - "proposalId": 90, - "voter": "0xe286b942CCE9F9a366C7316b839484b828A0e9ac", - "support": false, - "votingPower": 0.0095, - "transactionHash": "0xe307aaf529cc005330c065b70f6a98f3b7e2c6de52436a3571b5614dbf01696e", - "timestamp": 1658909601, - "blockNumber": 15223362 - }, - { - "proposalId": 90, - "voter": "0x8Dd0F1C1BDEf8e2C180df44d348db44494C54Ea7", - "support": true, - "votingPower": 0.11973361215093221, - "transactionHash": "0x115d0102cdde6952efc359dbe8099f07e0f0fc9b46b6888fa490cb412128920e", - "timestamp": 1658909673, - "blockNumber": 15223370 - }, - { - "proposalId": 90, - "voter": "0x2908790CeC0Da7786c8e954162d753a07a98b344", - "support": true, - "votingPower": 0.10065482679220604, - "transactionHash": "0xb6da44def0c310452dffdcdd0ecbd5d0d885adf0ffe92af4266f16fba77a22d4", - "timestamp": 1658909686, - "blockNumber": 15223372 - }, - { - "proposalId": 90, - "voter": "0x08fECB006F7edCE664eDF7B21F61f5EfC4D7aCF9", - "support": true, - "votingPower": 0.1006443538168045, - "transactionHash": "0x6b8bdc5e73ec897162e87a819ddec9d251de3af020241d7c66d3a450032a4abc", - "timestamp": 1658909723, - "blockNumber": 15223373 - }, - { - "proposalId": 90, - "voter": "0x41951205069c0f57dDf74af4246Fea7B9C62241c", - "support": true, - "votingPower": 0.012391501044664157, - "transactionHash": "0xd49ae4fa669a4623712eb491cf020c75d9fbecf9fcd0708ec56737940bc1ceb7", - "timestamp": 1658909732, - "blockNumber": 15223376 - }, - { - "proposalId": 90, - "voter": "0x5B060d8C21B60d6904052BE0Dc6C2Eb1888De74C", - "support": true, - "votingPower": 0.10722431074624417, - "transactionHash": "0xd4a8e2855aceec269dd19aafc2e6bf738703b088e4792ec4a69ea7bc34d77c0e", - "timestamp": 1658909743, - "blockNumber": 15223377 - }, - { - "proposalId": 90, - "voter": "0x301b3410F3C3FeDf8f90ad465964a45861B1773e", - "support": true, - "votingPower": 0.10533481371745422, - "transactionHash": "0x2ec945f9df883cb9cc27c8f804754c00658a68327bcaf31f717a9c4ae557f74e", - "timestamp": 1658909764, - "blockNumber": 15223378 - }, - { - "proposalId": 90, - "voter": "0xeC0b276dfe3D75237F356b4092402a3d0e7b724b", - "support": true, - "votingPower": 0.10320499840582133, - "transactionHash": "0xe0c0e28531d999818e9ae7bf340431c2f0206252e2b6549f5b791d47fa42fa20", - "timestamp": 1658909790, - "blockNumber": 15223380 - }, - { - "proposalId": 90, - "voter": "0x0b36fb16057B97DB1bf3B8b73BCe4156e0Ad0C63", - "support": true, - "votingPower": 0.003616854771912451, - "transactionHash": "0xef014a29065d20021f71eb25ac78aaa0c94c05c98842c707db8ea0a1538d7f2a", - "timestamp": 1658909808, - "blockNumber": 15223382 - }, - { - "proposalId": 90, - "voter": "0x2835600819dc2633611d600C488a52C6AF4908f2", - "support": true, - "votingPower": 0.10401153763748364, - "transactionHash": "0xd2d7d217ede1c7d8174ec52d9751a795763c2b5579d8e7945ef199d65bc80549", - "timestamp": 1658909867, - "blockNumber": 15223388 - }, - { - "proposalId": 90, - "voter": "0x8E6583b679c10e648D415BA48D57Cf3C2dC00F7F", - "support": true, - "votingPower": 0.10570864300681156, - "transactionHash": "0x9235558574104fec77c9d8e874b49888f4774f9416e8444a1f764cd498874ccf", - "timestamp": 1658909996, - "blockNumber": 15223399 - }, - { - "proposalId": 90, - "voter": "0x2c6141c6c7aaf27dD1BE50bfdF5409F0Ca986eE2", - "support": true, - "votingPower": 0.10878172213773987, - "transactionHash": "0xd4125ad02f8a7b606c01744510794b681570ed3e3b500e83221bead4331931b5", - "timestamp": 1658909996, - "blockNumber": 15223399 - }, - { - "proposalId": 90, - "voter": "0xFCE7FB5D5548b821b02ad99E398bb38b27FD626C", - "support": true, - "votingPower": 0.10823061839336548, - "transactionHash": "0x160d0c041506d848a4510afd3447ddfa18d99ca2380b1e401f48d61435e949bf", - "timestamp": 1658910003, - "blockNumber": 15223401 - }, - { - "proposalId": 90, - "voter": "0x3d5E234B544c57e79B7f624e544B90AA974b79c9", - "support": true, - "votingPower": 0.10773712221172291, - "transactionHash": "0x26498d0ae6bce9548f96eb17baf9d6b27a13ea6b636f993ee5aac1dd1ae392ca", - "timestamp": 1658910101, - "blockNumber": 15223406 - }, - { - "proposalId": 90, - "voter": "0x60f1e68a7ffe5E5c33a3844838112575F00929ad", - "support": true, - "votingPower": 0.10772552938124977, - "transactionHash": "0xc24e0d52909f61a7eaa4359509b101e9cccc5d6df47783c169ccb2a9d96811e0", - "timestamp": 1658910204, - "blockNumber": 15223414 - }, - { - "proposalId": 90, - "voter": "0xbC2Ff35020ffF6Df7AE8a0b154938cE5C5e459C9", - "support": true, - "votingPower": 0.1082189455222498, - "transactionHash": "0xcec60ca52e5a66d8cf96c5e5d32d6011b2bc03e5549370169ab3d1ac0b502e2e", - "timestamp": 1658910284, - "blockNumber": 15223415 - }, - { - "proposalId": 90, - "voter": "0xdc95D233CdA9Ada3Aa6C5c98e7444D6d4b706d81", - "support": true, - "votingPower": 0.0241, - "transactionHash": "0x87703c0e175260461c08ac25f0742d235745e9d1d6ab0def0dec71c35b089fc5", - "timestamp": 1658911047, - "blockNumber": 15223474 - }, - { - "proposalId": 90, - "voter": "0x0b1937f6Ee406ca9E44dd99035dA38840c242A9d", - "support": true, - "votingPower": 0.023075150108400076, - "transactionHash": "0x1eb6fc5c69fabe31d70f43a0ca2561f9cc741e903bd906660ee4c96ca1b19a07", - "timestamp": 1658911190, - "blockNumber": 15223486 - }, - { - "proposalId": 90, - "voter": "0x237D29b88Ac4DFFB3A3D6cc3d7FC407bCD8459C9", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xde6c579549ae1713728a782b08b90f9ce272e2159c424c9629ca4946bddc456a", - "timestamp": 1658911251, - "blockNumber": 15223491 - }, - { - "proposalId": 90, - "voter": "0xA297A06221aB3c846354e7Fb1B37EB5DA06bDA21", - "support": true, - "votingPower": 0.0340066846626985, - "transactionHash": "0x0376dceba5ff6cc278914bd64369fcd887c2a5fdd0af97ceb22fa741730db6f6", - "timestamp": 1658911256, - "blockNumber": 15223492 - }, - { - "proposalId": 90, - "voter": "0xeaD7261659ED02573542a27efaEE55fE1f9768EF", - "support": true, - "votingPower": 0.0313, - "transactionHash": "0x05017c73b4a2e716497aa304181e1460ee98c4c9a089a76658188401f610c2e6", - "timestamp": 1658911797, - "blockNumber": 15223533 - }, - { - "proposalId": 90, - "voter": "0x7977B909D55a53F9c73140f7F611EaF0638238Ed", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x8c6e128db1a287861053b31c36fa3eb28e7bcd29f58fc65b71dcd76284c5a041", - "timestamp": 1658912083, - "blockNumber": 15223561 - }, - { - "proposalId": 90, - "voter": "0xA3F066285ad422407acbF6765FC1a71505bc610d", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xba1e767b1f8fc66d418df2927af1ee4ed94f1fba63b15248b43c039d3daf1ae8", - "timestamp": 1658912153, - "blockNumber": 15223566 - }, - { - "proposalId": 90, - "voter": "0x2805DdF1DFEDeCa06752907F493F5A5c9bb2C902", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x925585e0e49ce66cfe4da1b8b4624748a1987f7d9fe661ebcb7b59a4ca3e6e5b", - "timestamp": 1658912153, - "blockNumber": 15223566 - }, - { - "proposalId": 90, - "voter": "0x3444660F13cfE85Be0e5ea5D2eA75d5CB1bB7C27", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xa724f49d0d37c370be1ad588942a381d0486139914f3ac28c18e32893445b94a", - "timestamp": 1658912153, - "blockNumber": 15223566 - }, - { - "proposalId": 90, - "voter": "0xecEab46DfFBB0d8877018040cFDB816E94d1947F", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x12ba29d335fc4d618c94efedeee7d94a7b8c6a9abafad83bbf4493336d362c09", - "timestamp": 1658912156, - "blockNumber": 15223567 - }, - { - "proposalId": 90, - "voter": "0xA8c4e3ce1743D0f2A6c227548C982a7C40569940", - "support": true, - "votingPower": 0.16867781, - "transactionHash": "0x0125d8c9be2f65ff00fc107f366e5124a353989c749fc63cf4cdc212b8f5c8e1", - "timestamp": 1658912847, - "blockNumber": 15223614 - }, - { - "proposalId": 90, - "voter": "0x33482803274C5e08661843636DceE8E9A68c7252", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0x73f41ef76fbcb0557143fd5235c8b6150d4f843366f2bc884f37b8aabd5d8ed7", - "timestamp": 1658912847, - "blockNumber": 15223614 - }, - { - "proposalId": 90, - "voter": "0x69389398e4D903b02010e20d308ee58EA8D6D714", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0xe2053cdc64f66ee56a6202d46da44bed89fe8a601277ec3505f7f1a9e9f62ace", - "timestamp": 1658912909, - "blockNumber": 15223616 - }, - { - "proposalId": 90, - "voter": "0x99D305dfc38CEfA91cB1129387681eDe4c93e87D", - "support": true, - "votingPower": 0.03620082, - "transactionHash": "0x9369b56c657dd8bdec1d0c205b77607c20f30b822ebb60348601829332778b89", - "timestamp": 1658912909, - "blockNumber": 15223616 - }, - { - "proposalId": 90, - "voter": "0x65e696c83998d4Cd875E3CFb73da96AFC9b860f5", - "support": true, - "votingPower": 40.02991926690839, - "transactionHash": "0x1663fee9e81c95ca7eb9dad7b6a94e98e094ce1ed8f8f8bcd0cb95000c86bb3e", - "timestamp": 1658912909, - "blockNumber": 15223616 - }, - { - "proposalId": 90, - "voter": "0x9fD9Bb687696f19038892989876Bd6dC96Abd769", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0x53978840320975f7ee3beead57b07db34af6eaf9b334a0ad18dc47ab9fc514aa", - "timestamp": 1658912962, - "blockNumber": 15223620 - }, - { - "proposalId": 90, - "voter": "0x9E73201903164d3B476505f3C54F86cdCD4010DF", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0x0910d72b50f636d8cbe849bec078b240aa394b4554d9016464f83853293c0b23", - "timestamp": 1658912962, - "blockNumber": 15223620 - }, - { - "proposalId": 90, - "voter": "0x949aD06a4c904cd0B31AE2F56AaE0eC68C16CCAc", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0x034746d611d38b30b25d2318ee56a189a332d73b327cb06a99f861bbd770c22c", - "timestamp": 1658912962, - "blockNumber": 15223620 - }, - { - "proposalId": 90, - "voter": "0xFBE6915fB22DFe6b42a7c50b43B45bF692681e5D", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0xbab1b7b3559741d2b8cdb464744981b444365a51204a0e2828359455aa5c16d0", - "timestamp": 1658912962, - "blockNumber": 15223620 - }, - { - "proposalId": 90, - "voter": "0x0585c0d0aEdF071a07992ad650bdc047Cef0c04F", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0x6d79201e9adbb3cdd16b47cf8db2cd965e8bf9496456e3a2fdb49a0987f995ee", - "timestamp": 1658912962, - "blockNumber": 15223620 - }, - { - "proposalId": 90, - "voter": "0xf85cbb44aB1644531eC7e08b2fE8F94DABF20Ee1", - "support": true, - "votingPower": 11.877312006215957, - "transactionHash": "0xc625df32e81538a058f8d9b5d3056214101c746ad0423059df498e926f9f708c", - "timestamp": 1658912980, - "blockNumber": 15223622 - }, - { - "proposalId": 90, - "voter": "0x347Bb83E4ab465C8C6b7afaB3BEB373410A9Cae2", - "support": true, - "votingPower": 0.0348, - "transactionHash": "0x4e2d40b7331111e38cde0ee30b9b0361e57a110fedafb22c73f0d542ead4f01a", - "timestamp": 1658913006, - "blockNumber": 15223624 - }, - { - "proposalId": 90, - "voter": "0xe1BB32b5e94A67f3e105bf03f8c351D7de35C30e", - "support": true, - "votingPower": 0.036638561123931365, - "transactionHash": "0xeff416ce6222f279813826af8f16f03eca449dc540cf2df1384bc3860c7891c0", - "timestamp": 1658913153, - "blockNumber": 15223636 - }, - { - "proposalId": 90, - "voter": "0x8006a98215728F26b7eBFC06F518eC5CF2eD8022", - "support": true, - "votingPower": 0.03377857364084645, - "transactionHash": "0x20418738e20d3e0a7d35e2b54556e366c70876f9a6616e50105debfe325920e0", - "timestamp": 1658913458, - "blockNumber": 15223664 - }, - { - "proposalId": 90, - "voter": "0xd9F18d0C490697CcDC1C16F54d223eA75a069BcC", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x4d31ddcc98586fe0c6cc68e31445ccb6141c4fe2472785f0ddbd1a076bcee89d", - "timestamp": 1658913550, - "blockNumber": 15223670 - }, - { - "proposalId": 90, - "voter": "0x7f59bE872c50A195056eD409a193495a8f490275", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x0ff3ef84d9947850d6e8c06734b47561cdf082a6050d399c1611ceffe9887630", - "timestamp": 1658913573, - "blockNumber": 15223673 - }, - { - "proposalId": 90, - "voter": "0x16Ca503EDbbCcFbBe2520613343770Ab863eCF92", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xea4559c8d6f3cd22b150d682230fe94a44650aaf15b456e1d4b2a5ebcd52046b", - "timestamp": 1658913590, - "blockNumber": 15223674 - }, - { - "proposalId": 90, - "voter": "0x8dBbFDce816e079C9Ff0EF901cc77050C17Dd281", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xef34759fb612fa1c44ab8e63edb172eb002ef2a79100eacefa0de3e958304029", - "timestamp": 1658913596, - "blockNumber": 15223675 - }, - { - "proposalId": 90, - "voter": "0x8c18f2728c5731B4757448C9C59117a22c19d325", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xc11ad71e4113165c8453cbf838b06a08b4587bfdbf4b22bfb9539832c9235e72", - "timestamp": 1658913605, - "blockNumber": 15223676 - }, - { - "proposalId": 90, - "voter": "0x65b3626dE3c01fD20aD06B34Ceb8881B20e0514f", - "support": true, - "votingPower": 0.0205, - "transactionHash": "0x96fccd2a5d88bd6ad73c343cf6cb57d4196884294b3d6bab9cec1d9adcf33227", - "timestamp": 1658913674, - "blockNumber": 15223681 - }, - { - "proposalId": 90, - "voter": "0xC239876BDF21A9746B2Da99622e323c53DD24740", - "support": true, - "votingPower": 0.0253, - "transactionHash": "0xa4696f3562df34f1fe4cba63ddf465200512e547251c99024e5e9343de0fe111", - "timestamp": 1658914248, - "blockNumber": 15223718 - }, - { - "proposalId": 90, - "voter": "0x56c30CEC6aaF51CB861e8C271c9EcD43cDB91517", - "support": true, - "votingPower": 0.00174163350245031, - "transactionHash": "0x3bc7d50768c5486b8ac275076def18e91475db7f4b0757e3209da29180d0c034", - "timestamp": 1658914335, - "blockNumber": 15223728 - }, - { - "proposalId": 90, - "voter": "0x201B856fE2D5539CBD325Cd2C491Ca75e4DFA2e7", - "support": true, - "votingPower": 0.02923, - "transactionHash": "0xfd80a4bb76931f2606c0944bf9f13fd6672cc6f720bfcccf4de5e887ad4170cb", - "timestamp": 1658914540, - "blockNumber": 15223743 - }, - { - "proposalId": 90, - "voter": "0xd29D6a0E29B160075809F67d3936b16619EDf83e", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x4a9cace27c371482745dab7df4a24ea8caff3241234f9cf4d103d1c47af53901", - "timestamp": 1658914606, - "blockNumber": 15223749 - }, - { - "proposalId": 90, - "voter": "0x3327da45E4bE37E57101F3a327cD166a335c3142", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x43cc2d0333c752457ef084f22f21d41b5461946324b56bbfe9e7a7657e9e398f", - "timestamp": 1658914913, - "blockNumber": 15223773 - }, - { - "proposalId": 90, - "voter": "0xa8293Dd8eb52564a35b8357a539146321b934153", - "support": true, - "votingPower": 0.011222278994650404, - "transactionHash": "0xbef32e28266a02256e2d10c8b1583f2745bd27449ce828a58c31b0ccef9b398b", - "timestamp": 1658914954, - "blockNumber": 15223778 - }, - { - "proposalId": 90, - "voter": "0x3D8983f01B2088f05497079cd0eDDa9760eeADB6", - "support": true, - "votingPower": 0.1, - "transactionHash": "0x20c74d8c9c468c4e6539f84a9c962f0a620c61dcaf665d2eb70d36864ab6179f", - "timestamp": 1658914997, - "blockNumber": 15223785 - }, - { - "proposalId": 90, - "voter": "0x07ac816d88643A7140CbA1624980A0c5E12e7a18", - "support": true, - "votingPower": 0.0161, - "transactionHash": "0x1c2f7c24fd38e432d2fb573c3a08279dac3d961d64d7f2161f5b597f4feec307", - "timestamp": 1658915678, - "blockNumber": 15223838 - }, - { - "proposalId": 90, - "voter": "0x9dC2aEa18955DD9F898d7ef130e4e166B9800354", - "support": true, - "votingPower": 1.5172395361759428, - "transactionHash": "0x7632e29dbbc549aa4a890ad29261a3f81a7d53239fbabce37a8663b06347eab0", - "timestamp": 1658916378, - "blockNumber": 15223890 - }, - { - "proposalId": 90, - "voter": "0x0B1A1E1176B2aA3f9947c5648Cd7CcdA4adc172a", - "support": true, - "votingPower": 0.0203, - "transactionHash": "0x5a7c35ebef74d46b2fe1f8b47ba23b66d4b0db0a2aef12aa7ba059701965d20b", - "timestamp": 1658916409, - "blockNumber": 15223893 - }, - { - "proposalId": 90, - "voter": "0xdCDBd2b5ca6430B2456850cbd2c164413852381A", - "support": true, - "votingPower": 0.0183, - "transactionHash": "0xf0b87811c5851f60d44a82d52435d34159c4ab75c0e2a91c55e59467249c81e8", - "timestamp": 1658917185, - "blockNumber": 15223951 - }, - { - "proposalId": 90, - "voter": "0x75Cb505B4fd56B4361676CC2Ca2788b948AB5604", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xc8882e532477a6017bcfeb7647818f9be0860bcf60681c220cd6b3cdda94712e", - "timestamp": 1658917744, - "blockNumber": 15223991 - }, - { - "proposalId": 90, - "voter": "0x16FAf36B378bb424BBF56d76A1B009C727218FC5", - "support": true, - "votingPower": 0.0172, - "transactionHash": "0xe4846d3e183dff97ae42c480cb3fe78f95fc6bb3ffbb0422830d9b823c1c9c2b", - "timestamp": 1658917847, - "blockNumber": 15224002 - }, - { - "proposalId": 90, - "voter": "0x2117eB88300a5Afa11Ee55e3c4f2FF0157718bD1", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xe7f0ebaecbc48a054be392da3e929b6838a2ab7a0694085d2b3d589d14b5711d", - "timestamp": 1658917913, - "blockNumber": 15224004 - }, - { - "proposalId": 90, - "voter": "0x4F49C34759B7e888cE77de9dd34FEC63d63495CC", - "support": true, - "votingPower": 0.07269582107990179, - "transactionHash": "0x01b328535c691ec096b1ed07d7608ae1c337b81a2f6011343b49a179c57cf6e4", - "timestamp": 1658918077, - "blockNumber": 15224022 - }, - { - "proposalId": 90, - "voter": "0xCB211A172Dcff6551D5a1cBFfe8c544500A6A2F4", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x230146dd20d4d5419f453eeb41ed80bfa09f62be22e6ca7da86c5b941227d43b", - "timestamp": 1658918639, - "blockNumber": 15224071 - }, - { - "proposalId": 90, - "voter": "0x4254c53Fc3b3b38DF025Ea30BcAE410e11bb95b6", - "support": true, - "votingPower": 0.38407555535828747, - "transactionHash": "0x46b8a625159784e208b60759740e8612ab9b6283a06b0f1458d8f789a2d172a4", - "timestamp": 1658920279, - "blockNumber": 15224210 - }, - { - "proposalId": 90, - "voter": "0xDD385B4680B27E356Cc616146d13E5Be590E03E0", - "support": true, - "votingPower": 0.0095, - "transactionHash": "0x359231fdb180381a24ae199935846b7a2a5ba58efe9d5f27f987d57ba9c93e7b", - "timestamp": 1658920376, - "blockNumber": 15224213 - }, - { - "proposalId": 90, - "voter": "0x2dBC54D6993a1db9BE6431292036641Ec73E8C70", - "support": true, - "votingPower": 9e-18, - "transactionHash": "0x369760c4a3087203afa397f005caf96695a3d9ce33d3bdf8482683e4741addd4", - "timestamp": 1658920547, - "blockNumber": 15224222 - }, - { - "proposalId": 90, - "voter": "0x374fb39E8C75933eB2FbdA16B05b5e8bc214FA3D", - "support": true, - "votingPower": 0.08695577, - "transactionHash": "0xef641bcbd68b46d93d84dfad99c40d3c8c4fcaeadb6550db83df8085a5ed2e0c", - "timestamp": 1658920973, - "blockNumber": 15224252 - }, - { - "proposalId": 90, - "voter": "0x2C0bAdC1679FB7666E4705Ef3c0084654bc81673", - "support": true, - "votingPower": 0.18486536, - "transactionHash": "0x2dab42e9ebb89feadb9267e67d4794f1f8c0246c59f831a5ee7b23834b99c964", - "timestamp": 1658920984, - "blockNumber": 15224255 - }, - { - "proposalId": 90, - "voter": "0x1a9f84935d5a0601e980C7DFe195365CCFDB55f3", - "support": true, - "votingPower": 0.08, - "transactionHash": "0x62a9621c7f0f103e5b85e1265a4432dcb037563656f905bdbee985a96b285495", - "timestamp": 1658920984, - "blockNumber": 15224255 - }, - { - "proposalId": 90, - "voter": "0xcF221dD92fa622A86603422941EeDc1A0363c9b6", - "support": true, - "votingPower": 0.0261, - "transactionHash": "0x48ee3a6bba84b4b3e5e72d47bc893cc3faba2da922f0947f290dfb266067b299", - "timestamp": 1658921084, - "blockNumber": 15224263 - }, - { - "proposalId": 90, - "voter": "0xa4B2C652b4052729Ab35f6A6FFC0C22Bad7bDba8", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x65c4d3da16d633e6b41158a602b3946c20ef33d829738545bfdc997029b56045", - "timestamp": 1658921512, - "blockNumber": 15224293 - }, - { - "proposalId": 90, - "voter": "0x32791bbC7DDc9d0e6Bd914F3B7F73747132a3A5B", - "support": true, - "votingPower": 0.04331914335063725, - "transactionHash": "0x26e41a248282c0c79eaccd0bb464cefa859050aaa2f2912c4dfa61625084ec38", - "timestamp": 1658921512, - "blockNumber": 15224293 - }, - { - "proposalId": 90, - "voter": "0xc9Ad38CB5778F93C43466816c29CB7c36a9E5edD", - "support": true, - "votingPower": 0.093, - "transactionHash": "0x27587fe4c1c7e789e433fdddbb53b0a0f27f2c2ed588ca2faa3a95f8cf4d73b9", - "timestamp": 1658921559, - "blockNumber": 15224295 - }, - { - "proposalId": 90, - "voter": "0x9267Dd3Ef3cb82F5e2c1cfE70de16FBd33F32680", - "support": true, - "votingPower": 0.0183, - "transactionHash": "0x15e958a4c50ae1bd88ba870b0ac3194cbb3b87b7efbb29994bba92f291872bfd", - "timestamp": 1658921559, - "blockNumber": 15224295 - }, - { - "proposalId": 90, - "voter": "0x58e434Ef5b08Cc2B324246B251C3Ab5E9C7BBDE8", - "support": true, - "votingPower": 6.347576138619157, - "transactionHash": "0x52d2c629ffe3e60ae50598043092b1995b84c1f307076f442dfd9149c323258b", - "timestamp": 1658921590, - "blockNumber": 15224297 - }, - { - "proposalId": 90, - "voter": "0x17EbEe050C312567aD0038c0a703779401cb0fE0", - "support": true, - "votingPower": 0.009613343193731996, - "transactionHash": "0x95b7312c686d23ca35119c2d016840211de58149c6ac5e55f484a77684481d6f", - "timestamp": 1658921714, - "blockNumber": 15224307 - }, - { - "proposalId": 90, - "voter": "0xd7b26011E6eB5857a6251da1f77E9f3d8AaC4489", - "support": true, - "votingPower": 0.015101967119739362, - "transactionHash": "0x3d90eb08fc6f6eadfbbb508275e9a28bda6dd254880e0affbac6fa64053f24a0", - "timestamp": 1658921815, - "blockNumber": 15224314 - }, - { - "proposalId": 90, - "voter": "0xF623CBcE211c638A2b639672C812DcDa97ad1742", - "support": true, - "votingPower": 0.07200653109587336, - "transactionHash": "0xf63ec4b579fa35ef0ae06ef00a41f9d4bd93e1175648b79c48ab276cf9bc3d23", - "timestamp": 1658922356, - "blockNumber": 15224349 - }, - { - "proposalId": 90, - "voter": "0xCF3AD6c9D1839705BaC02fb3701A933Ecd9ab9e8", - "support": true, - "votingPower": 0.04912253594438309, - "transactionHash": "0x2e4ba76617154badefaaae352df4e2e7461ca0c36e581382423c2420b906a100", - "timestamp": 1658922407, - "blockNumber": 15224351 - }, - { - "proposalId": 90, - "voter": "0xB34C68153EB4991A57C3c9c9137071Dd0387759E", - "support": true, - "votingPower": 0.049285530009988046, - "transactionHash": "0xaa29e33a1d2cf015a81194bbf45e39656dd0d1903f09110dbcb067eb6b101cfa", - "timestamp": 1658922564, - "blockNumber": 15224370 - }, - { - "proposalId": 90, - "voter": "0x8864486C1be43143B2Fb2992777bA0B85129f3e4", - "support": true, - "votingPower": 0.1539332465884695, - "transactionHash": "0xad44e94985f43d8cf34a2befe826a0595350f2dbd0fa43142db8f98cc1a06d46", - "timestamp": 1658926094, - "blockNumber": 15224636 - }, - { - "proposalId": 90, - "voter": "0x45BEE058F59c3fC2311BFF15C854F37170780ff5", - "support": true, - "votingPower": 0.1, - "transactionHash": "0xa3a7093943c065d4184acdeb590ccd9f11b988fda4cd42bbeb27f8ae78aa10b6", - "timestamp": 1658926129, - "blockNumber": 15224640 - }, - { - "proposalId": 90, - "voter": "0x634ed8C2dF8fBe613eE25DEBE1a460B4DF2487d7", - "support": true, - "votingPower": 0.19092668868391283, - "transactionHash": "0x6e9b2803215b1545a2fb7abed6dd56205be8d8d986063d2ef87e4e7439234a44", - "timestamp": 1658931162, - "blockNumber": 15224997 - }, - { - "proposalId": 90, - "voter": "0x85257f61Bcf59f7498007D8e08D6eFb7AC1EEf4c", - "support": true, - "votingPower": 23717.813581425762, - "transactionHash": "0xcf73d08df774c006e8ad97b60cd9e94824cf12cb4bfee963ddc98dd357c5c10d", - "timestamp": 1658932067, - "blockNumber": 15225077 - }, - { - "proposalId": 90, - "voter": "0xD1c9aB6166dEad15B03B57b3224C5647272f0F82", - "support": true, - "votingPower": 1, - "transactionHash": "0x23d4c9db991291c0f68db2eb4d92f2ec4835870b0865a6acd3323be96b7f7326", - "timestamp": 1658933365, - "blockNumber": 15225166 - }, - { - "proposalId": 90, - "voter": "0x1831570E2145CE1048EB566EDb9612eC867AA736", - "support": true, - "votingPower": 1.96439999, - "transactionHash": "0x1ae686f9f3166bb6c1f972f5a3e8d45522887aadf2a087f1c2729eb5b9ffe7bb", - "timestamp": 1658935086, - "blockNumber": 15225298 - }, - { - "proposalId": 90, - "voter": "0x30C0994B0B454fF3ba1606BCe6E67D54701B24d7", - "support": true, - "votingPower": 0.1851801344402821, - "transactionHash": "0xb7b6ccb775ad1a8103f85984ffc3d1207f3e750e76f0fd9a88e7b9e07f7dbc0f", - "timestamp": 1658943594, - "blockNumber": 15225912 - }, - { - "proposalId": 90, - "voter": "0xfd1Ef79b3ac72A4a90E5D147F32597E4406C8CEe", - "support": true, - "votingPower": 1, - "transactionHash": "0x8b40bc26a9d9a52db0318d6c390b7a69cac169d0e34910456db22eca59506bd2", - "timestamp": 1658967605, - "blockNumber": 15227712 - }, - { - "proposalId": 90, - "voter": "0xCF603a4B0D42337DD9fde4998c092aDc9C6C7fDb", - "support": true, - "votingPower": 0.13536961424305227, - "transactionHash": "0x19e41c8c9eb9cd01ab095b105327ebb1cc8ff3fbf97c0767a23197201cbe0e58", - "timestamp": 1658970942, - "blockNumber": 15227952 - }, - { - "proposalId": 90, - "voter": "0x4a3e40B76a946495a6255B521240487e71f73d2C", - "support": true, - "votingPower": 50.463472630332475, - "transactionHash": "0x008e4165560c50f29e842ee25b2d54452824510411bca6bc31eef17a7e93d31b", - "timestamp": 1658975122, - "blockNumber": 15228284 - }, - { - "proposalId": 90, - "voter": "0xF9C3e43158F512625919441A1E65d3329037C2e6", - "support": true, - "votingPower": 10, - "transactionHash": "0x6aa5f23f2095a619de4612b5779d2d87e34bb17d00e27eb216b53b57a118cfef", - "timestamp": 1658975841, - "blockNumber": 15228345 - }, - { - "proposalId": 90, - "voter": "0x901E6FfBDD23d65E0426c492cad48A7169458ac8", - "support": true, - "votingPower": 5, - "transactionHash": "0xa4cf63eaec65dab8a4be8c8b6d8b3587eb421335f830ba9b5cd89539ebc539ae", - "timestamp": 1658975841, - "blockNumber": 15228345 - }, - { - "proposalId": 90, - "voter": "0x070341aA5Ed571f0FB2c4a5641409B1A46b4961b", - "support": true, - "votingPower": 10046.358349213082, - "transactionHash": "0x7cf79dc92aee6230a542c19f6aed8f76ff493e5663fd342a24a2a77a7bd9932c", - "timestamp": 1658980951, - "blockNumber": 15228723 - }, - { - "proposalId": 90, - "voter": "0x0FD9e5A9B202c017C4f59072100Fa4cF9404ee38", - "support": true, - "votingPower": 0.01, - "transactionHash": "0x5ddf3632a871eaf050373722d2883950b92a2abe9fc8153c148dcb20a6314dcc", - "timestamp": 1658987848, - "blockNumber": 15229234 - }, - { - "proposalId": 90, - "voter": "0x3b777F46ff3477A1BBE590D2D78680FEEDF99c62", - "support": true, - "votingPower": 0.012, - "transactionHash": "0xd6ca48ad9f89ea97b65a4f4e974c69255c12fded08804e334d4a9122d2d86de1", - "timestamp": 1658988164, - "blockNumber": 15229258 - }, - { - "proposalId": 90, - "voter": "0x575C9e94c7e87F38e06c5Ffb1082b99E61EB02e9", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xdba10ea02cfc6b4d279be008ea35ce0d1407fd11f341b5bf25ed96a6f8073226", - "timestamp": 1658988187, - "blockNumber": 15229264 - }, - { - "proposalId": 90, - "voter": "0x3ea7456700c45Ac9edD38Fd7d2CD155495b10f0F", - "support": true, - "votingPower": 0.011, - "transactionHash": "0xecfb1eac04b7e92fbddc5abeb2d89c9d61b6042adf9d645f9cfcdfe12eb7a23c", - "timestamp": 1658988187, - "blockNumber": 15229264 - }, - { - "proposalId": 90, - "voter": "0x5183Be792C4eBA69F5Ba4D47309b32a7EFADAb76", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xd6ce67d1c17efa005bc4fc18e09166100731b4326deb5ec5343d5896e20a3860", - "timestamp": 1658988241, - "blockNumber": 15229271 - } - ], - "finished": false - }, - { - "votes": [ - { - "proposalId": 91, - "voter": "0x55B16934C3661E1990939bC57322554d9B09f262", - "support": true, - "votingPower": 73772.77110085737, - "transactionHash": "0x38759a2d10cec765c4b174320f4c859e8bbecad5e5fcfb38a861d815f46bb7f3", - "timestamp": 1658918298, - "blockNumber": 15224044 - }, - { - "proposalId": 91, - "voter": "0x562BF1B67Dc40d9b7C3ddd49E45aE58e61E1B76E", - "support": true, - "votingPower": 0.06384445632619642, - "transactionHash": "0x78bd1d744ec892798b07bbd90e0b6f70ae4f8c688327a82a6bb60ed7efec7320", - "timestamp": 1658918569, - "blockNumber": 15224065 - }, - { - "proposalId": 91, - "voter": "0xF06F09C65635ea3dB2F6255cABeFcc11d28f2ef2", - "support": true, - "votingPower": 0.36, - "transactionHash": "0x391634bd1505d25c7fb85659763d307466ba631ed6c72e14be989fc285ec9600", - "timestamp": 1658918584, - "blockNumber": 15224067 - }, - { - "proposalId": 91, - "voter": "0x184F44a581a3FDf67e834Cf2A0F193CbDd08A3b9", - "support": true, - "votingPower": 0.08000165, - "transactionHash": "0x7b661a51400334bc5418668129d62d1c24a652eab28cd002c6b9e176d482aa7c", - "timestamp": 1658918637, - "blockNumber": 15224069 - }, - { - "proposalId": 91, - "voter": "0xc062Eeca3891539F75054b1060997aa3459b7390", - "support": true, - "votingPower": 0.06, - "transactionHash": "0x8680184cb47d2f75fb5ccaaa79563cbfefb3093f0f04e59e378fafb06041020e", - "timestamp": 1658918648, - "blockNumber": 15224073 - }, - { - "proposalId": 91, - "voter": "0x40276bA5EfDFBBf749557f6B2A094ABd78197164", - "support": true, - "votingPower": 0.06635298115685384, - "transactionHash": "0x3e307c6ee008820e12e0eaf2e83636929ca7c2e22f9e8e0bb9ad5af7da776315", - "timestamp": 1658918687, - "blockNumber": 15224075 - }, - { - "proposalId": 91, - "voter": "0x76363226b9E31b78C2077Ecea78F440D81299f39", - "support": true, - "votingPower": 0.05, - "transactionHash": "0x242c76ace6c83f83ab3b773c156260de1f45ba8a3a3a39d29100a02315ebd63c", - "timestamp": 1658918712, - "blockNumber": 15224078 - }, - { - "proposalId": 91, - "voter": "0xdC09eb652D4568c3E22D176BCe8F5eFb12aF7716", - "support": true, - "votingPower": 0.06, - "transactionHash": "0xe7430cc423191cb42781207705269bf5bcbf66902b9b5f365057b5b0d4d28bd5", - "timestamp": 1658918808, - "blockNumber": 15224081 - }, - { - "proposalId": 91, - "voter": "0x3b59e42d9F33906fF58813f9bb8be58b185d22F2", - "support": true, - "votingPower": 1.001, - "transactionHash": "0x8d8e5c332fe75a1852fa38162ebc3068c1df28ee2d0d55aee3e085864e8eed92", - "timestamp": 1658919045, - "blockNumber": 15224107 - }, - { - "proposalId": 91, - "voter": "0x3948422f8998189C64928D5468a49aE63Ce7E3D6", - "support": true, - "votingPower": 0.05, - "transactionHash": "0xcf099c92f2204cdba3c450d8ea3ef365fb97b79b21a365e98209e93e398c0012", - "timestamp": 1658919077, - "blockNumber": 15224111 - }, - { - "proposalId": 91, - "voter": "0xabf228a632fE4340e18d76B89E6fD79352290b5b", - "support": true, - "votingPower": 0.03, - "transactionHash": "0xd4ca36c55eee382c6e8011797c0b7d77925cb7a8667e58ca11587f32f469b965", - "timestamp": 1658919134, - "blockNumber": 15224114 - }, - { - "proposalId": 91, - "voter": "0x0e4cb981Aa087847eF0C9F0C0989d884a86D04c3", - "support": true, - "votingPower": 1.13, - "transactionHash": "0x13c0d4196d7c8a08910e17ebc4b329f49e9ab67a097db3b46e8fe4ae5cfc0d60", - "timestamp": 1658919225, - "blockNumber": 15224124 - }, - { - "proposalId": 91, - "voter": "0xc9Ad38CB5778F93C43466816c29CB7c36a9E5edD", - "support": true, - "votingPower": 0.093, - "transactionHash": "0x4974a1736b707feb4d0c0d8d92a7a83e5a2e32a74171b4e46fe2af4a2e1bad81", - "timestamp": 1658922151, - "blockNumber": 15224338 - }, - { - "proposalId": 91, - "voter": "0xF623CBcE211c638A2b639672C812DcDa97ad1742", - "support": true, - "votingPower": 0.07200653109587336, - "transactionHash": "0xc91c67b96384ffd85a55b958c94cd3efacad07c15e9f24d69016ebd70ee8f250", - "timestamp": 1658922438, - "blockNumber": 15224358 - }, - { - "proposalId": 91, - "voter": "0xCF3AD6c9D1839705BaC02fb3701A933Ecd9ab9e8", - "support": true, - "votingPower": 0.04912253594438309, - "transactionHash": "0xc2b0c51fdab75e63bc90b38122bfd703925a8ae9ea82b6407b334e07486a8aa3", - "timestamp": 1658922471, - "blockNumber": 15224359 - }, - { - "proposalId": 91, - "voter": "0x54914F8BB055565e1447c4a1739124C95ba9B141", - "support": true, - "votingPower": 0.05, - "transactionHash": "0x0a76bd5eb403952022b2186b164fa9ee91e76ceaa744a60a0e0d87b73c636cfd", - "timestamp": 1658922518, - "blockNumber": 15224364 - }, - { - "proposalId": 91, - "voter": "0xB34C68153EB4991A57C3c9c9137071Dd0387759E", - "support": true, - "votingPower": 0.049285530009988046, - "transactionHash": "0xf8389249cb904f4e245b1d4dd8f0e7d6a0856e0af40791e2ffea5dddca7b581c", - "timestamp": 1658922535, - "blockNumber": 15224365 - }, - { - "proposalId": 91, - "voter": "0xD332f90e9EedaEE3Af94e8F3f71C3e4f2FdbeE36", - "support": true, - "votingPower": 0.002, - "transactionHash": "0x9f5da69da3a997a70720334dd965dafceff69f26bcc66e2405a8d9fa71f023c5", - "timestamp": 1658922564, - "blockNumber": 15224370 - }, - { - "proposalId": 91, - "voter": "0x7F85Cf44E446a4B1AaCe2A28774E88cd6d4e3441", - "support": true, - "votingPower": 0.01, - "transactionHash": "0xe4645c236fb415a2e7ed396cbfbd6e63776d8e5aff610e5286e1d26cebd55466", - "timestamp": 1658922636, - "blockNumber": 15224378 - }, - { - "proposalId": 91, - "voter": "0xa0F939965e18E969ddabaB056E81DaE2E2e7Df4d", - "support": true, - "votingPower": 422.5100345084487, - "transactionHash": "0x89a3b089915a2581af523abcae151340dbddcd9cd253bb033c7dce7cba703e21", - "timestamp": 1658926760, - "blockNumber": 15224685 - }, - { - "proposalId": 91, - "voter": "0xc290Cfb8D020c0615e9C63036f4319Cc41717E68", - "support": true, - "votingPower": 139.01926578211163, - "transactionHash": "0xe743c82f17b5569fd095f71f269b0de32553fa5bb0d3410366943e3cdac410fd", - "timestamp": 1658943805, - "blockNumber": 15225925 - }, - { - "proposalId": 91, - "voter": "0xA0efD27acC781549D5b78e89E561AA0903932d56", - "support": true, - "votingPower": 8.002657782527367, - "transactionHash": "0x2169ef0fc58e996ef1e8be68422d2ae62d244bb61f842e5b879a384a392b68c7", - "timestamp": 1658952845, - "blockNumber": 15226637 - }, - { - "proposalId": 91, - "voter": "0xfd1Ef79b3ac72A4a90E5D147F32597E4406C8CEe", - "support": true, - "votingPower": 1, - "transactionHash": "0xaac8d6ebfa53afe43702640010559025afdfcdb528a5b2944b7fba41f127b413", - "timestamp": 1658967693, - "blockNumber": 15227715 - }, - { - "proposalId": 91, - "voter": "0x58e434Ef5b08Cc2B324246B251C3Ab5E9C7BBDE8", - "support": false, - "votingPower": 6.347576138619157, - "transactionHash": "0x0c7c234dfc30fdd023e0a4038f381e727070132ab6e8405225d03a5b98664d51", - "timestamp": 1658971378, - "blockNumber": 15227995 - }, - { - "proposalId": 91, - "voter": "0x070341aA5Ed571f0FB2c4a5641409B1A46b4961b", - "support": true, - "votingPower": 10046.358349213082, - "transactionHash": "0x177b68399dae3c0a661802f765f482d68eaa12a3f7400f48befcb734b510fef5", - "timestamp": 1658981034, - "blockNumber": 15228729 - }, - { - "proposalId": 91, - "voter": "0x60dd456273Cbb018C2222621d4c2Dc5016E870d3", - "support": true, - "votingPower": 0.13047043946417894, - "transactionHash": "0x92f2c005aecf87f1f9fde7781652ba2426002a4e2ce5cc5b7313989d9b53e949", - "timestamp": 1658987661, - "blockNumber": 15229220 - } - ], - "finished": false - } -] diff --git a/src/store/governanceSlice.ts b/src/store/governanceSlice.ts index 971ccd712c..91430a1f32 100644 --- a/src/store/governanceSlice.ts +++ b/src/store/governanceSlice.ts @@ -10,7 +10,7 @@ import { GovPrepareDelegateSig, GovPrepareDelegateSigByType, } from '@aave/contract-helpers'; -import { governanceConfig } from 'src/ui-config/governanceConfig'; +import { governanceConfig, governanceV3Config } from 'src/ui-config/governanceConfig'; import { getProvider } from 'src/utils/marketsAndNetworksConfig'; import { StateCreator } from 'zustand'; @@ -41,8 +41,8 @@ export const createGovernanceSlice: StateCreator< const currentNetworkConfig = get().currentNetworkConfig; const isStakeFork = currentNetworkConfig.isFork && - currentNetworkConfig.underlyingChainId === governanceConfig?.chainId; - return isStakeFork ? get().jsonRpcProvider() : getProvider(governanceConfig.chainId); + currentNetworkConfig.underlyingChainId === governanceV3Config.coreChainId; + return isStakeFork ? get().jsonRpcProvider() : getProvider(governanceV3Config.coreChainId); } return { delegateByType: (args) => { diff --git a/src/ui-config/SharedDependenciesProvider.tsx b/src/ui-config/SharedDependenciesProvider.tsx index 78a5185330..ab6b9a418d 100644 --- a/src/ui-config/SharedDependenciesProvider.tsx +++ b/src/ui-config/SharedDependenciesProvider.tsx @@ -10,7 +10,7 @@ import { WalletBalanceService } from 'src/services/WalletBalanceService'; import { getNetworkConfig, getProvider } from 'src/utils/marketsAndNetworksConfig'; import invariant from 'tiny-invariant'; -import { governanceConfig } from './governanceConfig'; +import { governanceV3Config } from './governanceConfig'; import { stakeConfig } from './stakeConfig'; interface SharedDependenciesContext { @@ -31,8 +31,8 @@ export const SharedDependenciesProvider: React.FC = ({ children }) => { const getGovernanceProvider = (chainId: number) => { const networkConfig = getNetworkConfig(chainId); const isGovernanceFork = - networkConfig.isFork && networkConfig.underlyingChainId === governanceConfig.chainId; - return isGovernanceFork ? getProvider(chainId) : getProvider(governanceConfig.chainId); + networkConfig.isFork && networkConfig.underlyingChainId === governanceV3Config.coreChainId; + return isGovernanceFork ? getProvider(chainId) : getProvider(governanceV3Config.coreChainId); }; const getStakeProvider = (chainId: number) => { const networkConfig = getNetworkConfig(chainId); diff --git a/src/ui-config/governanceConfig.ts b/src/ui-config/governanceConfig.ts index 074cdd782d..e1d574f897 100644 --- a/src/ui-config/governanceConfig.ts +++ b/src/ui-config/governanceConfig.ts @@ -8,18 +8,6 @@ import { } from '@bgd-labs/aave-address-book'; export interface GovernanceConfig { - chainId: ChainId; - walletBalanceProvider: string; - votingAssetName: string; - averageNetworkBlockTime: number; - queryGovernanceDataUrl: string; - wsGovernanceDataUrl: string; - aaveTokenAddress: string; - aAaveTokenAddress: string; - stkAaveTokenAddress: string; - governanceForumLink: string; - governanceSnapshotLink: string; - governanceFAQLink: string; addresses: { AAVE_GOVERNANCE_V2: string; AAVE_GOVERNANCE_V2_EXECUTOR_SHORT: string; @@ -31,18 +19,6 @@ export interface GovernanceConfig { } export const governanceConfig: GovernanceConfig = { - chainId: ChainId.sepolia, - votingAssetName: 'AAVE + stkAAVE', - averageNetworkBlockTime: 13.5, - queryGovernanceDataUrl: 'https://api.thegraph.com/subgraphs/name/aave/governance-v2', - wsGovernanceDataUrl: 'wss://api.thegraph.com/subgraphs/name/aave/governance-v2', - aaveTokenAddress: '0xdaEcee477B931b209e8123401EA37582ACB3811d', // AaveV3Ethereum.ASSETS.AAVE.UNDERLYING, - aAaveTokenAddress: '0x26aAB2aE39897338c2d91491C46c14a8c2a67919', // AaveV3Ethereum.ASSETS.AAVE.A_TOKEN, - stkAaveTokenAddress: '0x354032B31339853A3D682613749F183328d07275', // '0x4da27a545c0c5b758a6ba100e3a049001de870f5', - governanceForumLink: 'https://governance.aave.com', - governanceFAQLink: 'https://docs.aave.com/faq/governance', - walletBalanceProvider: '0xCD4e0d6D2b1252E2A709B8aE97DBA31164C5a709', // < Sepolia main 0x8E8dAd5409E0263a51C0aB5055dA66Be28cFF922', - governanceSnapshotLink: 'https://snapshot.org/#/aave.eth', addresses: { AAVE_GOVERNANCE_V2: '0xc4ABF658C3Dda84225cF8A07d7D5Bb6Aa41d9E59', // '0xEC568fffba86c094cf06b22134B23074DFE2252c', AAVE_GOVERNANCE_V2_EXECUTOR_SHORT: '0x61910EcD7e8e942136CE7Fe7943f956cea1CC2f7', @@ -53,8 +29,6 @@ export const governanceConfig: GovernanceConfig = { fallbackIpfsGateway: 'https://ipfs.io/ipfs', }; -export const votingChainIds = [ChainId.sepolia, ChainId.fuji] as const; - export interface VotingMachineConfig { portalToMachineMap: { [votingPoralAddress: string]: string }; votingPortalDataHelperAddress: string; @@ -64,6 +38,7 @@ export interface VotingMachineConfig { export interface GovernanceV3Config { coreChainId: ChainId; + votingChainIds: ChainId[]; governanceCoreSubgraphUrl: string; votingChainConfig: { [chainId: number]: VotingMachineConfig }; payloadsControllerDataHelpers: { [chainId: number]: string }; @@ -73,7 +48,11 @@ export interface GovernanceV3Config { WALLET_BALANCE_PROVIDER: string; GOVERNANCE_META_HELPER: string; }; - votingAssets: string[]; + votingAssets: { + aaveTokenAddress: string; + aAaveTokenAddress: string; + stkAaveTokenAddress: string; + }; } const sepoliaVotingMachineConfig: VotingMachineConfig = { @@ -103,6 +82,7 @@ type GovernanceChainConfig = { export const governanceChainConfig: GovernanceChainConfig = { [ChainId.sepolia]: { coreChainId: ChainId.sepolia, + votingChainIds: [ChainId.sepolia, ChainId.fuji], governanceCoreSubgraphUrl: 'https://api.goldsky.com/api/public/project_clk74pd7lueg738tw9sjh79d6/subgraphs/governance-v3/v2.0.1/gn', votingChainConfig: { @@ -113,21 +93,21 @@ export const governanceChainConfig: GovernanceChainConfig = { [ChainId.sepolia]: '0x6B9AF21B95FE20b5a878b43670c23124841ec31A', [ChainId.fuji]: '0x6B9AF21B95FE20b5a878b43670c23124841ec31A', }, - votingAssets: [ - // TODO: could query the contracts for list of voting assets - '0xdaEcee477B931b209e8123401EA37582ACB3811d', - '0x354032B31339853A3D682613749F183328d07275', - '0x26aAB2aE39897338c2d91491C46c14a8c2a67919', - ], + votingAssets: { + aaveTokenAddress: '0xdaEcee477B931b209e8123401EA37582ACB3811d', + stkAaveTokenAddress: '0x354032B31339853A3D682613749F183328d07275', + aAaveTokenAddress: '0x26aAB2aE39897338c2d91491C46c14a8c2a67919', + }, addresses: { GOVERNANCE_CORE: '0xc4ABF658C3Dda84225cF8A07d7D5Bb6Aa41d9E59', GOVERNANCE_DATA_HELPER: '0x863f9De2f82AB502612E8B7d4f4863c8535cb8cA', - WALLET_BALANCE_PROVIDER: '0xCD4e0d6D2b1252E2A709B8aE97DBA31164C5a709', // AaveV3Ethereum.WALLET_BALANCE_PROVIDER, + WALLET_BALANCE_PROVIDER: '0xCD4e0d6D2b1252E2A709B8aE97DBA31164C5a709', GOVERNANCE_META_HELPER: '0x8aFD68632A4B4d9fB3F2956Ca921Eb2d69146491', }, }, [ChainId.mainnet]: { coreChainId: ChainId.mainnet, + votingChainIds: [ChainId.polygon, ChainId.avalanche], governanceCoreSubgraphUrl: 'https://api.goldsky.com/api/public/project_clk74pd7lueg738tw9sjh79d6/subgraphs/gov-v3/2.0.0/gn', votingChainConfig: { @@ -164,11 +144,11 @@ export const governanceChainConfig: GovernanceChainConfig = { [ChainId.polygon]: GovernanceV3Polygon.PC_DATA_HELPER, [ChainId.avalanche]: GovernanceV3Avalanche.PC_DATA_HELPER, }, - votingAssets: [ - AaveV3Ethereum.ASSETS.AAVE.UNDERLYING, - AaveV3Ethereum.ASSETS.AAVE.A_TOKEN, - AaveSafetyModule.STK_AAVE, - ], + votingAssets: { + aaveTokenAddress: AaveV3Ethereum.ASSETS.AAVE.UNDERLYING, + aAaveTokenAddress: AaveV3Ethereum.ASSETS.AAVE.A_TOKEN, + stkAaveTokenAddress: AaveSafetyModule.STK_AAVE, + }, addresses: { GOVERNANCE_CORE: GovernanceV3Ethereum.GOVERNANCE, GOVERNANCE_DATA_HELPER: GovernanceV3Ethereum.GOV_DATA_HELPER, @@ -178,4 +158,5 @@ export const governanceChainConfig: GovernanceChainConfig = { }, }; -export const governanceV3Config = governanceChainConfig[ChainId.sepolia]; +const coreNetwork = ChainId.sepolia; +export const governanceV3Config = governanceChainConfig[coreNetwork]; From 00cc70bdd0539b71ba52c09a35308fd0a4803f7c Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Fri, 22 Dec 2023 20:06:09 -0600 Subject: [PATCH 71/84] fix: gas station warning --- .../GovDelegation/GovDelegationModalContent.tsx | 5 ++++- .../GovRepresentatives/GovRepresentativesModalContent.tsx | 6 +++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/components/transactions/GovDelegation/GovDelegationModalContent.tsx b/src/components/transactions/GovDelegation/GovDelegationModalContent.tsx index e405e004a1..9bf13db78c 100644 --- a/src/components/transactions/GovDelegation/GovDelegationModalContent.tsx +++ b/src/components/transactions/GovDelegation/GovDelegationModalContent.tsx @@ -226,7 +226,10 @@ export const GovDelegationModalContent: React.FC )} - + {txError && } diff --git a/src/components/transactions/GovRepresentatives/GovRepresentativesModalContent.tsx b/src/components/transactions/GovRepresentatives/GovRepresentativesModalContent.tsx index 10fc4c2f0d..2be1271a92 100644 --- a/src/components/transactions/GovRepresentatives/GovRepresentativesModalContent.tsx +++ b/src/components/transactions/GovRepresentatives/GovRepresentativesModalContent.tsx @@ -175,7 +175,11 @@ export const GovRepresentativesContent = ({ ))} - + {txError && } Date: Fri, 22 Dec 2023 20:45:18 -0600 Subject: [PATCH 72/84] fix: discussion link --- .../GovRepresentativesModalContent.tsx | 7 ++-- src/hooks/governance/useProposal.ts | 2 ++ src/hooks/governance/useProposals.ts | 2 ++ src/modules/governance/ProposalV3ListItem.tsx | 1 - .../governance/proposal/ProposalLifecycle.tsx | 34 ++++++++++++++++++- 5 files changed, 42 insertions(+), 4 deletions(-) diff --git a/src/components/transactions/GovRepresentatives/GovRepresentativesModalContent.tsx b/src/components/transactions/GovRepresentatives/GovRepresentativesModalContent.tsx index 2be1271a92..0ce0396ec8 100644 --- a/src/components/transactions/GovRepresentatives/GovRepresentativesModalContent.tsx +++ b/src/components/transactions/GovRepresentatives/GovRepresentativesModalContent.tsx @@ -1,5 +1,5 @@ import { ChainId } from '@aave/contract-helpers'; -import { Trans } from '@lingui/macro'; +import { t, Trans } from '@lingui/macro'; import CheckRoundedIcon from '@mui/icons-material/CheckRounded'; import { Box, Checkbox, FormControlLabel, OutlinedInput, Stack, Typography } from '@mui/material'; import { isAddress, parseUnits } from 'ethers/lib/utils'; @@ -151,8 +151,11 @@ export const GovRepresentativesContent = ({ ))} - + { + const trackEvent = useRootStore((store) => store.trackEvent); + if (payloads === undefined || proposal === undefined || votingConfig === undefined) { return <>; // TODO: skeleton } @@ -55,6 +61,10 @@ export const ProposalLifecycle = ({ // // ); // } + + const urlRegex = /https?:\/\/[^\s"]+/g; + const discussionUrl = proposal.proposal.discussions.match(urlRegex); + return ( @@ -96,6 +106,28 @@ export const ProposalLifecycle = ({ lastStep /> + {discussionUrl && ( + + )} ); }; From 3eacd5ec58f409434275e4df0a50d8500f18fd42 Mon Sep 17 00:00:00 2001 From: Mark Hinschberger Date: Sat, 23 Dec 2023 07:15:31 -0500 Subject: [PATCH 73/84] feat: delegate by type --- src/helpers/useGovernanceDelegate.tsx | 230 +++++++++++++------------- src/locales/en/messages.js | 2 +- src/locales/en/messages.po | 7 + 3 files changed, 123 insertions(+), 116 deletions(-) diff --git a/src/helpers/useGovernanceDelegate.tsx b/src/helpers/useGovernanceDelegate.tsx index 1f2d929824..ec0bbdc398 100644 --- a/src/helpers/useGovernanceDelegate.tsx +++ b/src/helpers/useGovernanceDelegate.tsx @@ -6,7 +6,7 @@ import { } from '@aave/contract-helpers'; import { SignatureLike } from '@ethersproject/bytes'; import { TransactionResponse } from '@ethersproject/providers'; -import { BigNumber, ethers, utils } from 'ethers'; +import { BigNumber, ethers, PopulatedTransaction, utils } from 'ethers'; import { useEffect, useState } from 'react'; import { DelegationTokenType } from 'src/components/transactions/GovDelegation/DelegationTokenSelector'; import { useModalContext } from 'src/hooks/useModal'; @@ -16,7 +16,7 @@ import { useRootStore } from 'src/store/root'; import { getErrorTextFromError, TxAction } from 'src/ui-config/errorMapping'; import { governanceV3Config } from 'src/ui-config/governanceConfig'; -import { DelegationType } from './types'; +// import { DelegationType } from './types'; import { MOCK_SIGNED_HASH } from './useTransactionHandler'; export enum GovernancePowerTypeApp { @@ -27,7 +27,7 @@ export enum GovernancePowerTypeApp { export const useGovernanceDelegate = ( delegationTokenType: DelegationTokenType, - delegationType: DelegationType, + delegationType: GovernancePowerTypeApp, skip: boolean, delegatee: string ) => { @@ -35,15 +35,15 @@ export const useGovernanceDelegate = ( const delegate = useRootStore((state) => state.delegate); const getTokenNonce = useRootStore((state) => state.getTokenNonce); // const delegateTokensBySig = useRootStore((state) => state.delegateTokensBySig); - const delegateTokensByTypeBySig = useRootStore((state) => state.delegateTokensByTypeBySig); + // const delegateTokensByTypeBySig = useRootStore((state) => state.delegateTokensByTypeBySig); const user = useRootStore((state) => state.account); const { signTxData, sendTx, provider, chainId: connectedChainId, getTxError } = useWeb3Context(); const [signatures, setSignatures] = useState([]); const [actionTx, setActionTx] = useState(); - const [aaveNonce, setAaveNonce] = useState(0); - const [stkAaveNonce, setStkAaveNonce] = useState(0); - const [aAaveNonce, setAAaveNonce] = useState(0); + // const [aaveNonce, setAaveNonce] = useState(0); + // const [stkAaveNonce, setStkAaveNonce] = useState(0); + // const [aAaveNonce, setAAaveNonce] = useState(0); const [deadline, setDeadline] = useState(Math.floor(Date.now() / 1000 + 3600).toString()); // const prepareDelegateSignature = useRootStore((state) => state.prepareDelegateSignature); // const prepareDelegateByTypeSignature = useRootStore( @@ -96,6 +96,17 @@ export const useGovernanceDelegate = ( } }; + interface DelegateParam { + delegator: string; + delegatee: string; + underlyingAsset: string; + deadline: string; + v: number; + r: string; + s: string; + delegationType: number; + } + const action = async () => { if (isSignatureAction) { setMainTxState({ ...mainTxState, loading: true }); @@ -104,121 +115,104 @@ export const useGovernanceDelegate = ( const { v: v2, r: r2, s: s2 } = utils.splitSignature(signatures[1]); const { v: v3, r: r3, s: s3 } = utils.splitSignature(signatures[2]); - let txs: EthereumTransactionTypeExtended[] = []; + let txs: DelegateParam[] = []; - if (delegationType === DelegationType.BOTH) { - // ALL --> Means both powers - // do delegation with meta - // continue in here - const delegateParams = [ + let txData: PopulatedTransaction; + + if (delegationType === GovernancePowerTypeApp.All) { + // NOTE: Delegation for Voting & Proposition + txs = [ { delegator: user, delegatee, underlyingAsset: governanceV3Config.votingAssets.aaveTokenAddress, deadline, - v: utils.splitSignature(signatures[0]).v, - r: utils.splitSignature(signatures[0]).r, - s: utils.splitSignature(signatures[0]).s, - delegationType: GovernancePowerTypeApp.All, + v: v1, + r: r1, + s: s1, + delegationType: delegationType, }, { delegator: user, delegatee, underlyingAsset: governanceV3Config.votingAssets.stkAaveTokenAddress, deadline, - v: utils.splitSignature(signatures[1]).v, - r: utils.splitSignature(signatures[1]).r, - s: utils.splitSignature(signatures[1]).s, - delegationType: GovernancePowerTypeApp.All, + v: v2, + r: r2, + s: s2, + delegationType: delegationType, }, { delegator: user, delegatee, underlyingAsset: governanceV3Config.votingAssets.aAaveTokenAddress, deadline, - v: utils.splitSignature(signatures[2]).v, - r: utils.splitSignature(signatures[2]).r, - s: utils.splitSignature(signatures[2]).s, - delegationType: GovernancePowerTypeApp.All, + v: v3, + r: r3, + s: s3, + delegationType: delegationType, }, ]; + // TODO Utilities const metaDelegateHelperContract = new ethers.Contract( governanceV3Config.addresses.GOVERNANCE_META_HELPER, META_DELEGATE_HELPER_ABI, provider ); - const txData = await metaDelegateHelperContract.populateTransaction.batchMetaDelegate( - delegateParams - ); + txData = await metaDelegateHelperContract.populateTransaction.batchMetaDelegate(txs); txData.gasLimit = BigNumber.from(10000000); + } else { + // NOTE: Delegation for only Voting or Proposition - return processTx({ - tx: () => sendTx(txData), - successCallback: (txnResponse: TransactionResponse) => { - setMainTxState({ - txHash: txnResponse.hash, - loading: false, - success: true, - }); - setTxError(undefined); + txs = [ + { + delegator: user, + delegatee, + underlyingAsset: governanceV3Config.votingAssets.aaveTokenAddress, + deadline, + v: v1, + r: r1, + s: s1, + delegationType: delegationType, }, - errorCallback: (error, hash) => { - const parsedError = getErrorTextFromError(error, TxAction.MAIN_ACTION); - setTxError(parsedError); - setMainTxState({ - txHash: hash, - loading: false, - }); + { + delegator: user, + delegatee, + underlyingAsset: governanceV3Config.votingAssets.stkAaveTokenAddress, + deadline, + v: v2, + r: r2, + s: s2, + delegationType: delegationType, }, - action: TxAction.MAIN_ACTION, - }); - } else { - // only let one either proposition or voting - txs = await delegateTokensByTypeBySig({ - user, - tokens: [ - governanceV3Config.votingAssets.aaveTokenAddress, - governanceV3Config.votingAssets.stkAaveTokenAddress, - governanceV3Config.votingAssets.aAaveTokenAddress, - ], - data: [ - { - delegatee, - nonce: aaveNonce, - expiry: deadline, - delegationType, - v: v1, - r: r1, - s: s1, - }, - { - delegatee, - nonce: stkAaveNonce, - expiry: deadline, - delegationType, - v: v2, - r: r2, - s: s2, - }, - { - delegatee, - nonce: aAaveNonce, - expiry: deadline, - delegationType, - v: v3, - r: r3, - s: s3, - }, - ], - }); + { + delegator: user, + delegatee, + underlyingAsset: governanceV3Config.votingAssets.aAaveTokenAddress, + deadline, + v: v3, + r: r3, + s: s3, + delegationType: delegationType, + }, + ]; + + // TODO Utilities + const metaDelegateHelperContract = new ethers.Contract( + governanceV3Config.addresses.GOVERNANCE_META_HELPER, + META_DELEGATE_HELPER_ABI, + provider + ); + + txData = await metaDelegateHelperContract.populateTransaction.batchMetaDelegate(txs); + txData.gasLimit = BigNumber.from(10000000); } - const params = await txs[0].tx(); - delete params.gasPrice; + return processTx({ - tx: () => sendTx(params), + tx: () => sendTx(txData), successCallback: (txnResponse: TransactionResponse) => { setMainTxState({ txHash: txnResponse.hash, @@ -306,6 +300,27 @@ export const useGovernanceDelegate = ( deadline, }; + const eIP712DomainType = { + EIP712Domain: [ + { + name: 'name', + type: 'string', + }, + { + name: 'version', + type: 'string', + }, + { + name: 'chainId', + type: 'uint256', + }, + { + name: 'verifyingContract', + type: 'address', + }, + ], + }; + const typeData = { domain: { name: governanceTokenName, @@ -315,27 +330,12 @@ export const useGovernanceDelegate = ( }, types: isAllDelegate ? { - EIP712Domain: [ - { - name: 'name', - type: 'string', - }, - { - name: 'version', - type: 'string', - }, - { - name: 'chainId', - type: 'uint256', - }, - { - name: 'verifyingContract', - type: 'address', - }, - ], + ...eIP712DomainType, Delegate: [...sigParametersType, ...sigBaseType], } : { + ...eIP712DomainType, + DelegateByType: [...sigParametersType, ...sigDelegationTypeType, ...sigBaseType], }, primaryType: isAllDelegate ? 'Delegate' : 'DelegateByType', @@ -355,9 +355,9 @@ export const useGovernanceDelegate = ( ]); const deadline = Math.floor(Date.now() / 1000 + 3600).toString(); setDeadline(deadline); - setAaveNonce(aaveNonce); - setStkAaveNonce(stkAaveNonce); - setAAaveNonce(aAaveNonce); + // setAaveNonce(aaveNonce); + // setStkAaveNonce(stkAaveNonce); + // setAAaveNonce(aAaveNonce); const delegationParameters = [ { @@ -366,7 +366,7 @@ export const useGovernanceDelegate = ( underlyingAsset: governanceV3Config.votingAssets.aaveTokenAddress, deadline, nonce: String(aaveNonce), - delegationType: GovernancePowerTypeApp.All, + delegationType: delegationType, governanceTokenName: 'Aave token V3', increaseNonce: false, }, @@ -376,7 +376,7 @@ export const useGovernanceDelegate = ( underlyingAsset: governanceV3Config.votingAssets.stkAaveTokenAddress, deadline, nonce: String(stkAaveNonce), - delegationType: GovernancePowerTypeApp.All, + delegationType: delegationType, governanceTokenName: 'Staked Aave', increaseNonce: false, }, @@ -387,14 +387,14 @@ export const useGovernanceDelegate = ( governanceTokenName: 'Aave Ethereum AAVE', deadline, nonce: String(aAaveNonce), - delegationType: GovernancePowerTypeApp.All, + delegationType: delegationType, increaseNonce: false, }, ]; const unsignedPayloads: string[] = []; for (const tx of delegationParameters) { - if (delegationType !== DelegationType.BOTH) { + if (delegationType !== GovernancePowerTypeApp.All) { const payload = delegateMetaSig(tx); // const payload = await prepareDelegateByTypeSignature({ ...tx, type: delegationType }); unsignedPayloads.push(payload); @@ -446,7 +446,7 @@ export const useGovernanceDelegate = ( setLoadingTxns(false); } else { let txs: EthereumTransactionTypeExtended[] = []; - if (delegationType === DelegationType.BOTH) { + if (delegationType === GovernancePowerTypeApp.All) { // TODO check if this is working as normal txs = await delegate({ delegatee, @@ -465,7 +465,7 @@ export const useGovernanceDelegate = ( txs = await delegateByType({ delegatee, - delegationType, + delegationType: delegationType.toString(), governanceToken: delegationTokenType === DelegationTokenType.AAVE ? governanceV3Config.votingAssets.aaveTokenAddress diff --git a/src/locales/en/messages.js b/src/locales/en/messages.js index 3b961a11c9..3e6172bc24 100644 --- a/src/locales/en/messages.js +++ b/src/locales/en/messages.js @@ -1 +1 @@ -/*eslint-disable*/module.exports={messages:{"...":"...",".CSV":".CSV",".JSON":".JSON","<0><1><2/>Add <3/> stkAAVE to borrow at <4/> (max discount)":"<0><1><2/>Add <3/> stkAAVE to borrow at <4/> (max discount)","<0><1><2/>Add stkAAVE to see borrow rate with discount":"<0><1><2/>Add stkAAVE to see borrow rate with discount","<0>Ampleforth is a rebasing asset. Visit the <1>documentation to learn more.":"<0>Ampleforth is a rebasing asset. Visit the <1>documentation to learn more.","<0>Attention: Parameter changes via governance can alter your account health factor and risk of liquidation. Follow the <1>Aave governance forum for updates.":"<0>Attention: Parameter changes via governance can alter your account health factor and risk of liquidation. Follow the <1>Aave governance forum for updates.","<0>Slippage tolerance <1>{selectedSlippage}% <2>{0}":["<0>Slippage tolerance <1>",["selectedSlippage"],"% <2>",["0"],""],"AAVE holders (Ethereum network only) can stake their AAVE in the Safety Module to add more security to the protocol and earn Safety Incentives. In the case of a shortfall event, up to 30% of your stake can be slashed to cover the deficit, providing an additional layer of protection for the protocol.":"AAVE holders (Ethereum network only) can stake their AAVE in the Safety Module to add more security to the protocol and earn Safety Incentives. In the case of a shortfall event, up to 30% of your stake can be slashed to cover the deficit, providing an additional layer of protection for the protocol.","APR":"APR","APY":"APY","APY change":"APY change","APY type":"APY type","APY type change":"APY type change","APY with discount applied":"APY with discount applied","APY, borrow rate":"APY, borrow rate","APY, stable":"APY, stable","APY, variable":"APY, variable","AToken supply is not zero":"AToken supply is not zero","Aave Governance":"Aave Governance","Aave aToken":"Aave aToken","Aave debt token":"Aave debt token","Aave is a fully decentralized, community governed protocol by the AAVE token-holders. AAVE token-holders collectively discuss, propose, and vote on upgrades to the protocol. AAVE token-holders (Ethereum network only) can either vote themselves on new proposals or delagate to an address of choice. To learn more check out the Governance":"Aave is a fully decentralized, community governed protocol by the AAVE token-holders. AAVE token-holders collectively discuss, propose, and vote on upgrades to the protocol. AAVE token-holders (Ethereum network only) can either vote themselves on new proposals or delagate to an address of choice. To learn more check out the Governance","Aave per month":"Aave per month","About GHO":"About GHO","Account":"Account","Action cannot be performed because the reserve is frozen":"Action cannot be performed because the reserve is frozen","Action cannot be performed because the reserve is paused":"Action cannot be performed because the reserve is paused","Action requires an active reserve":"Action requires an active reserve","Activate Cooldown":"Activate Cooldown","Add stkAAVE to see borrow APY with the discount":"Add stkAAVE to see borrow APY with the discount","Add to wallet":"Add to wallet","Add {0} to wallet to track your balance.":["Add ",["0"]," to wallet to track your balance."],"Address is not a contract":"Address is not a contract","Addresses":"Addresses","Addresses ({0})":["Addresses (",["0"],")"],"All Assets":"All Assets","All done!":"All done!","All proposals":"All proposals","All transactions":"All transactions","Allowance required action":"Allowance required action","Allows you to decide whether to use a supplied asset as collateral. An asset used as collateral will affect your borrowing power and health factor.":"Allows you to decide whether to use a supplied asset as collateral. An asset used as collateral will affect your borrowing power and health factor.","Allows you to switch between <0>variable and <1>stable interest rates, where variable rate can increase and decrease depending on the amount of liquidity in the reserve, and stable rate will stay the same for the duration of your loan.":"Allows you to switch between <0>variable and <1>stable interest rates, where variable rate can increase and decrease depending on the amount of liquidity in the reserve, and stable rate will stay the same for the duration of your loan.","Amount":"Amount","Amount claimable":"Amount claimable","Amount in cooldown":"Amount in cooldown","Amount must be greater than 0":"Amount must be greater than 0","Amount to unstake":"Amount to unstake","An error has occurred fetching the proposal.":"An error has occurred fetching the proposal.","Approve Confirmed":"Approve Confirmed","Approve with":"Approve with","Approve {symbol} to continue":["Approve ",["symbol"]," to continue"],"Approving {symbol}...":["Approving ",["symbol"],"..."],"Array parameters that should be equal length are not":"Array parameters that should be equal length are not","Asset":"Asset","Asset can be only used as collateral in isolation mode with limited borrowing power. To enter isolation mode, disable all other collateral.":"Asset can be only used as collateral in isolation mode with limited borrowing power. To enter isolation mode, disable all other collateral.","Asset can only be used as collateral in isolation mode only.":"Asset can only be used as collateral in isolation mode only.","Asset cannot be migrated because you have isolated collateral in {marketName} v3 Market which limits borrowable assets. You can manage your collateral in <0>{marketName} V3 Dashboard":["Asset cannot be migrated because you have isolated collateral in ",["marketName"]," v3 Market which limits borrowable assets. You can manage your collateral in <0>",["marketName"]," V3 Dashboard"],"Asset cannot be migrated due to insufficient liquidity or borrow cap limitation in {marketName} v3 market.":["Asset cannot be migrated due to insufficient liquidity or borrow cap limitation in ",["marketName"]," v3 market."],"Asset cannot be migrated due to supply cap restriction in {marketName} v3 market.":["Asset cannot be migrated due to supply cap restriction in ",["marketName"]," v3 market."],"Asset cannot be migrated to {marketName} V3 Market due to E-mode restrictions. You can disable or manage E-mode categories in your <0>V3 Dashboard":["Asset cannot be migrated to ",["marketName"]," V3 Market due to E-mode restrictions. You can disable or manage E-mode categories in your <0>V3 Dashboard"],"Asset cannot be migrated to {marketName} v3 Market since collateral asset will enable isolation mode.":["Asset cannot be migrated to ",["marketName"]," v3 Market since collateral asset will enable isolation mode."],"Asset cannot be used as collateral.":"Asset cannot be used as collateral.","Asset category":"Asset category","Asset is frozen in {marketName} v3 market, hence this position cannot be migrated.":["Asset is frozen in ",["marketName"]," v3 market, hence this position cannot be migrated."],"Asset is not borrowable in isolation mode":"Asset is not borrowable in isolation mode","Asset is not listed":"Asset is not listed","Asset supply is limited to a certain amount to reduce protocol exposure to the asset and to help manage risks involved.":"Asset supply is limited to a certain amount to reduce protocol exposure to the asset and to help manage risks involved.","Assets":"Assets","Assets to borrow":"Assets to borrow","Assets to supply":"Assets to supply","Assets with zero LTV ({assetsBlockingWithdraw}) must be withdrawn or disabled as collateral to perform this action":["Assets with zero LTV (",["assetsBlockingWithdraw"],") must be withdrawn or disabled as collateral to perform this action"],"At a discount":"At a discount","Available":"Available","Available assets":"Available assets","Available liquidity":"Available liquidity","Available on":"Available on","Available rewards":"Available rewards","Available to borrow":"Available to borrow","Available to supply":"Available to supply","Back to Dashboard":"Back to Dashboard","Balance":"Balance","Balance to revoke":"Balance to revoke","Be careful - You are very close to liquidation. Consider depositing more collateral or paying down some of your borrowed positions":"Be careful - You are very close to liquidation. Consider depositing more collateral or paying down some of your borrowed positions","Be mindful of the network congestion and gas prices.":"Be mindful of the network congestion and gas prices.","Because this asset is paused, no actions can be taken until further notice":"Because this asset is paused, no actions can be taken until further notice","Before supplying":"Before supplying","Blocked Address":"Blocked Address","Borrow":"Borrow","Borrow APY":"Borrow APY","Borrow APY rate":"Borrow APY rate","Borrow APY, variable":"Borrow APY, variable","Borrow amount to reach {0}% utilization":["Borrow amount to reach ",["0"],"% utilization"],"Borrow and repay in same block is not allowed":"Borrow and repay in same block is not allowed","Borrow apy":"Borrow apy","Borrow balance":"Borrow balance","Borrow balance after repay":"Borrow balance after repay","Borrow balance after switch":"Borrow balance after switch","Borrow cap":"Borrow cap","Borrow cap is exceeded":"Borrow cap is exceeded","Borrow info":"Borrow info","Borrow power used":"Borrow power used","Borrow rate APY":"Borrow rate APY","Borrow rate change":"Borrow rate change","Borrow {symbol}":["Borrow ",["symbol"]],"Borrowed":"Borrowed","Borrowed asset amount":"Borrowed asset amount","Borrowing is currently unavailable for {0}.":["Borrowing is currently unavailable for ",["0"],"."],"Borrowing is disabled due to an Aave community decision. <0>More details":"Borrowing is disabled due to an Aave community decision. <0>More details","Borrowing is not enabled":"Borrowing is not enabled","Borrowing is unavailable because you’re using Isolation mode. To manage Isolation mode visit your <0>Dashboard.":"Borrowing is unavailable because you’re using Isolation mode. To manage Isolation mode visit your <0>Dashboard.","Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) and Isolation mode. To manage E-Mode and Isolation mode visit your <0>Dashboard.":"Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) and Isolation mode. To manage E-Mode and Isolation mode visit your <0>Dashboard.","Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) for {0} category. To manage E-Mode categories visit your <0>Dashboard.":["Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) for ",["0"]," category. To manage E-Mode categories visit your <0>Dashboard."],"Borrowing of this asset is limited to a certain amount to minimize liquidity pool insolvency.":"Borrowing of this asset is limited to a certain amount to minimize liquidity pool insolvency.","Borrowing power and assets are limited due to Isolation mode.":"Borrowing power and assets are limited due to Isolation mode.","Borrowing this amount will reduce your health factor and increase risk of liquidation.":"Borrowing this amount will reduce your health factor and increase risk of liquidation.","Borrowing {symbol}":["Borrowing ",["symbol"]],"Both":"Both","Buy Crypto With Fiat":"Buy Crypto With Fiat","Buy Crypto with Fiat":"Buy Crypto with Fiat","Buy {cryptoSymbol} with Fiat":["Buy ",["cryptoSymbol"]," with Fiat"],"COPIED!":"COPIED!","COPY IMAGE":"COPY IMAGE","Can be collateral":"Can be collateral","Can be executed":"Can be executed","Can't validate the wallet address. Try again.":"Can't validate the wallet address. Try again.","Cancel":"Cancel","Cannot disable E-Mode":"Cannot disable E-Mode","Choose how much voting/proposition power to give to someone else by delegating some of your AAVE, stkAAVE or aAave balance. Your tokens will remain in your account, but your delegate will be able to vote or propose on your behalf. If your AAVE, stkAAVE or aAave balance changes, your delegate's voting/proposition power will be automatically adjusted.":"Choose how much voting/proposition power to give to someone else by delegating some of your AAVE, stkAAVE or aAave balance. Your tokens will remain in your account, but your delegate will be able to vote or propose on your behalf. If your AAVE, stkAAVE or aAave balance changes, your delegate's voting/proposition power will be automatically adjusted.","Choose one of the on-ramp services":"Choose one of the on-ramp services","Claim":"Claim","Claim all":"Claim all","Claim all rewards":"Claim all rewards","Claim {0}":["Claim ",["0"]],"Claim {symbol}":["Claim ",["symbol"]],"Claimable AAVE":"Claimable AAVE","Claimed":"Claimed","Claiming":"Claiming","Claiming {symbol}":["Claiming ",["symbol"]],"Close":"Close","Collateral":"Collateral","Collateral balance after repay":"Collateral balance after repay","Collateral change":"Collateral change","Collateral is (mostly) the same currency that is being borrowed":"Collateral is (mostly) the same currency that is being borrowed","Collateral to repay with":"Collateral to repay with","Collateral usage":"Collateral usage","Collateral usage is limited because of Isolation mode.":"Collateral usage is limited because of Isolation mode.","Collateral usage is limited because of isolation mode.":"Collateral usage is limited because of isolation mode.","Collateral usage is limited because of isolation mode. <0>Learn More":"Collateral usage is limited because of isolation mode. <0>Learn More","Collateralization":"Collateralization","Collector Contract":"Collector Contract","Collector Info":"Collector Info","Confirm transaction":"Confirm transaction","Confirming transaction":"Confirming transaction","Connect":"Connect","Connect wallet":"Connect wallet","Cooldown period":"Cooldown period","Cooldown period warning":"Cooldown period warning","Cooldown time left":"Cooldown time left","Cooldown to unstake":"Cooldown to unstake","Cooling down...":"Cooling down...","Copy address":"Copy address","Copy error message":"Copy error message","Copy error text":"Copy error text","Covered debt":"Covered debt","Created":"Created","Current LTV":"Current LTV","Current differential":"Current differential","Current v2 Balance":"Current v2 Balance","Current v2 balance":"Current v2 balance","Current votes":"Current votes","Dark mode":"Dark mode","Dashboard":"Dashboard","Data couldn't be fetched, please reload graph.":"Data couldn't be fetched, please reload graph.","Debt":"Debt","Debt ceiling is exceeded":"Debt ceiling is exceeded","Debt ceiling is not zero":"Debt ceiling is not zero","Debt ceiling limits the amount possible to borrow against this asset by protocol users. Debt ceiling is specific to assets in isolation mode and is denoted in USD.":"Debt ceiling limits the amount possible to borrow against this asset by protocol users. Debt ceiling is specific to assets in isolation mode and is denoted in USD.","Delegated power":"Delegated power","Details":"Details","Developers":"Developers","Differential":"Differential","Disable E-Mode":"Disable E-Mode","Disable testnet":"Disable testnet","Disable {symbol} as collateral":["Disable ",["symbol"]," as collateral"],"Disabled":"Disabled","Disabling E-Mode":"Disabling E-Mode","Disabling this asset as collateral affects your borrowing power and Health Factor.":"Disabling this asset as collateral affects your borrowing power and Health Factor.","Disconnect Wallet":"Disconnect Wallet","Discord channel":"Discord channel","Discount":"Discount","Discount applied for <0/> staking AAVE":"Discount applied for <0/> staking AAVE","Discount model parameters":"Discount model parameters","Discount parameters are decided by the Aave community and may be changed over time. Check Governance for updates and vote to participate. <0>Learn more":"Discount parameters are decided by the Aave community and may be changed over time. Check Governance for updates and vote to participate. <0>Learn more","Discountable amount":"Discountable amount","Docs":"Docs","Download":"Download","Due to internal stETH mechanics required for rebasing support, it is not possible to perform a collateral switch where stETH is the source token.":"Due to internal stETH mechanics required for rebasing support, it is not possible to perform a collateral switch where stETH is the source token.","Due to the Horizon bridge exploit, certain assets on the Harmony network are not at parity with Ethereum, which affects the Aave V3 Harmony market.":"Due to the Horizon bridge exploit, certain assets on the Harmony network are not at parity with Ethereum, which affects the Aave V3 Harmony market.","E-Mode":"E-Mode","E-Mode Category":"E-Mode Category","E-Mode category":"E-Mode category","E-Mode increases your LTV for a selected category of assets up to 97%. <0>Learn more":"E-Mode increases your LTV for a selected category of assets up to 97%. <0>Learn more","E-Mode increases your LTV for a selected category of assets up to<0/>. <1>Learn more":"E-Mode increases your LTV for a selected category of assets up to<0/>. <1>Learn more","E-Mode increases your LTV for a selected category of assets, meaning that when E-mode is enabled, you will have higher borrowing power over assets of the same E-mode category which are defined by Aave Governance. You can enter E-Mode from your <0>Dashboard. To learn more about E-Mode and applied restrictions in <1>FAQ or <2>Aave V3 Technical Paper.":"E-Mode increases your LTV for a selected category of assets, meaning that when E-mode is enabled, you will have higher borrowing power over assets of the same E-mode category which are defined by Aave Governance. You can enter E-Mode from your <0>Dashboard. To learn more about E-Mode and applied restrictions in <1>FAQ or <2>Aave V3 Technical Paper.","Edit":"Edit","Effective interest rate":"Effective interest rate","Efficiency mode (E-Mode)":"Efficiency mode (E-Mode)","Emode":"Emode","Enable E-Mode":"Enable E-Mode","Enable {symbol} as collateral":["Enable ",["symbol"]," as collateral"],"Enabled":"Enabled","Enabling E-Mode":"Enabling E-Mode","Enabling E-Mode only allows you to borrow assets belonging to the selected category. Please visit our <0>FAQ guide to learn more about how it works and the applied restrictions.":"Enabling E-Mode only allows you to borrow assets belonging to the selected category. Please visit our <0>FAQ guide to learn more about how it works and the applied restrictions.","Enabling this asset as collateral increases your borrowing power and Health Factor. However, it can get liquidated if your health factor drops below 1.":"Enabling this asset as collateral increases your borrowing power and Health Factor. However, it can get liquidated if your health factor drops below 1.","English":"English","Enter ETH address":"Enter ETH address","Enter an amount":"Enter an amount","Error connecting. Try refreshing the page.":"Error connecting. Try refreshing the page.","Estimated compounding interest, including discount for Staking {0}AAVE in Safety Module.":["Estimated compounding interest, including discount for Staking ",["0"],"AAVE in Safety Module."],"Exceeds the discount":"Exceeds the discount","Expected amount to repay":"Expected amount to repay","Expires":"Expires","Export data to":"Export data to","FAQ":"FAQ","FAQS":"FAQS","Failed to load proposal voters. Please refresh the page.":"Failed to load proposal voters. Please refresh the page.","Faucet":"Faucet","Faucet {0}":["Faucet ",["0"]],"Fetching data...":"Fetching data...","Filter":"Filter","Fixed":"Fixed","Fixed rate":"Fixed rate","Flashloan is disabled for this asset, hence this position cannot be migrated.":"Flashloan is disabled for this asset, hence this position cannot be migrated.","For repayment of a specific type of debt, the user needs to have debt that type":"For repayment of a specific type of debt, the user needs to have debt that type","French":"French","Funds in the Safety Module":"Funds in the Safety Module","GHO is a native decentralized, collateral-backed digital asset pegged to USD. It is created by users via borrowing against multiple collateral. When user repays their GHO borrow position, the protocol burns that user's GHO. All the interest payments accrued by minters of GHO would be directly transferred to the AaveDAO treasury.":"GHO is a native decentralized, collateral-backed digital asset pegged to USD. It is created by users via borrowing against multiple collateral. When user repays their GHO borrow position, the protocol burns that user's GHO. All the interest payments accrued by minters of GHO would be directly transferred to the AaveDAO treasury.","Get ABP Token":"Get ABP Token","Global settings":"Global settings","Go Back":"Go Back","Go to Balancer Pool":"Go to Balancer Pool","Go to V3 Dashboard":"Go to V3 Dashboard","Governance":"Governance","Greek":"Greek","Health Factor ({0} v2)":["Health Factor (",["0"]," v2)"],"Health Factor ({0} v3)":["Health Factor (",["0"]," v3)"],"Health factor":"Health factor","Health factor is lesser than the liquidation threshold":"Health factor is lesser than the liquidation threshold","Health factor is not below the threshold":"Health factor is not below the threshold","Hide":"Hide","Holders of stkAAVE receive a discount on the GHO borrowing rate":"Holders of stkAAVE receive a discount on the GHO borrowing rate","I acknowledge the risks involved.":"I acknowledge the risks involved.","I fully understand the risks of migrating.":"I fully understand the risks of migrating.","I understand how cooldown ({0}) and unstaking ({1}) work":["I understand how cooldown (",["0"],") and unstaking (",["1"],") work"],"If the error continues to happen,<0/> you may report it to this":"If the error continues to happen,<0/> you may report it to this","If the health factor goes below 1, the liquidation of your collateral might be triggered.":"If the health factor goes below 1, the liquidation of your collateral might be triggered.","If you DO NOT unstake within {0} of unstake window, you will need to activate cooldown process again.":["If you DO NOT unstake within ",["0"]," of unstake window, you will need to activate cooldown process again."],"If your loan to value goes above the liquidation threshold your collateral supplied may be liquidated.":"If your loan to value goes above the liquidation threshold your collateral supplied may be liquidated.","In E-Mode some assets are not borrowable. Exit E-Mode to get access to all assets":"In E-Mode some assets are not borrowable. Exit E-Mode to get access to all assets","In Isolation mode, you cannot supply other assets as collateral. A global debt ceiling limits the borrowing power of the isolated asset. To exit isolation mode disable {0} as collateral before borrowing another asset. Read more in our <0>FAQ":["In Isolation mode, you cannot supply other assets as collateral. A global debt ceiling limits the borrowing power of the isolated asset. To exit isolation mode disable ",["0"]," as collateral before borrowing another asset. Read more in our <0>FAQ"],"Inconsistent flashloan parameters":"Inconsistent flashloan parameters","Insufficient collateral to cover new borrow position. Wallet must have borrowing power remaining to perform debt switch.":"Insufficient collateral to cover new borrow position. Wallet must have borrowing power remaining to perform debt switch.","Interest accrued":"Interest accrued","Interest rate rebalance conditions were not met":"Interest rate rebalance conditions were not met","Interest rate strategy":"Interest rate strategy","Interest rate that is determined by Aave Governance. This rate may be changed over time depending on the need for the GHO supply to contract/expand. <0>Learn more":"Interest rate that is determined by Aave Governance. This rate may be changed over time depending on the need for the GHO supply to contract/expand. <0>Learn more","Invalid amount to burn":"Invalid amount to burn","Invalid amount to mint":"Invalid amount to mint","Invalid bridge protocol fee":"Invalid bridge protocol fee","Invalid expiration":"Invalid expiration","Invalid flashloan premium":"Invalid flashloan premium","Invalid return value of the flashloan executor function":"Invalid return value of the flashloan executor function","Invalid signature":"Invalid signature","Isolated":"Isolated","Isolated Debt Ceiling":"Isolated Debt Ceiling","Isolated assets have limited borrowing power and other assets cannot be used as collateral.":"Isolated assets have limited borrowing power and other assets cannot be used as collateral.","Join the community discussion":"Join the community discussion","LEARN MORE":"LEARN MORE","Language":"Language","Learn more":"Learn more","Learn more about risks involved":"Learn more about risks involved","Learn more in our <0>FAQ guide":"Learn more in our <0>FAQ guide","Learn more.":"Learn more.","Linked addresses":"Linked addresses","Links":"Links","Liqudation":"Liqudation","Liquidated collateral":"Liquidated collateral","Liquidation":"Liquidation","Liquidation <0/> threshold":"Liquidation <0/> threshold","Liquidation Threshold":"Liquidation Threshold","Liquidation at":"Liquidation at","Liquidation penalty":"Liquidation penalty","Liquidation risk":"Liquidation risk","Liquidation risk parameters":"Liquidation risk parameters","Liquidation threshold":"Liquidation threshold","Liquidation value":"Liquidation value","Loading data...":"Loading data...","Ltv validation failed":"Ltv validation failed","MAI has been paused due to a community decision. Supply, borrows and repays are impacted. <0>More details":"MAI has been paused due to a community decision. Supply, borrows and repays are impacted. <0>More details","MAX":"MAX","Manage analytics":"Manage analytics","Market":"Market","Markets":"Markets","Max":"Max","Max LTV":"Max LTV","Max slashing":"Max slashing","Max slippage":"Max slippage","Maximum amount available to borrow against this asset is limited because debt ceiling is at {0}%.":["Maximum amount available to borrow against this asset is limited because debt ceiling is at ",["0"],"%."],"Maximum amount available to borrow is <0/> {0} (<1/>).":["Maximum amount available to borrow is <0/> ",["0"]," (<1/>)."],"Maximum amount available to borrow is limited because protocol borrow cap is nearly reached.":"Maximum amount available to borrow is limited because protocol borrow cap is nearly reached.","Maximum amount available to supply is <0/> {0} (<1/>).":["Maximum amount available to supply is <0/> ",["0"]," (<1/>)."],"Maximum amount available to supply is limited because protocol supply cap is at {0}%.":["Maximum amount available to supply is limited because protocol supply cap is at ",["0"],"%."],"Maximum loan to value":"Maximum loan to value","Meet GHO":"Meet GHO","Menu":"Menu","Migrate":"Migrate","Migrate to V3":"Migrate to V3","Migrate to v3":"Migrate to v3","Migrate to {0} v3 Market":["Migrate to ",["0"]," v3 Market"],"Migrated":"Migrated","Migrating":"Migrating","Migrating multiple collaterals and borrowed assets at the same time can be an expensive operation and might fail in certain situations.<0>Therefore it’s not recommended to migrate positions with more than 5 assets (deposited + borrowed) at the same time.":"Migrating multiple collaterals and borrowed assets at the same time can be an expensive operation and might fail in certain situations.<0>Therefore it’s not recommended to migrate positions with more than 5 assets (deposited + borrowed) at the same time.","Migration risks":"Migration risks","Minimum GHO borrow amount":"Minimum GHO borrow amount","Minimum USD value received":"Minimum USD value received","Minimum staked Aave amount":"Minimum staked Aave amount","Minimum {0} received":["Minimum ",["0"]," received"],"More":"More","NAY":"NAY","Need help connecting a wallet? <0>Read our FAQ":"Need help connecting a wallet? <0>Read our FAQ","Net APR":"Net APR","Net APY":"Net APY","Net APY is the combined effect of all supply and borrow positions on net worth, including incentives. It is possible to have a negative net APY if debt APY is higher than supply APY.":"Net APY is the combined effect of all supply and borrow positions on net worth, including incentives. It is possible to have a negative net APY if debt APY is higher than supply APY.","Net worth":"Net worth","Network":"Network","Network not supported for this wallet":"Network not supported for this wallet","New APY":"New APY","No assets selected to migrate.":"No assets selected to migrate.","No rewards to claim":"No rewards to claim","No search results{0}":["No search results",["0"]],"No transactions yet.":"No transactions yet.","No voting power":"No voting power","None":"None","Not a valid address":"Not a valid address","Not enough balance on your wallet":"Not enough balance on your wallet","Not enough collateral to repay this amount of debt with":"Not enough collateral to repay this amount of debt with","Not enough staked balance":"Not enough staked balance","Not enough voting power to participate in this proposal":"Not enough voting power to participate in this proposal","Not reached":"Not reached","Nothing borrowed yet":"Nothing borrowed yet","Nothing found":"Nothing found","Nothing staked":"Nothing staked","Nothing supplied yet":"Nothing supplied yet","Notify":"Notify","Ok, Close":"Ok, Close","Ok, I got it":"Ok, I got it","Open for voting":"Open for voting","Operation not supported":"Operation not supported","Oracle price":"Oracle price","Overview":"Overview","Page not found":"Page not found","Participating in this {symbol} reserve gives annualized rewards.":["Participating in this ",["symbol"]," reserve gives annualized rewards."],"Payloads executed":"Payloads executed","Pending...":"Pending...","Per the community, the Fantom market has been frozen.":"Per the community, the Fantom market has been frozen.","Per the community, the V2 AMM market has been deprecated.":"Per the community, the V2 AMM market has been deprecated.","Please always be aware of your <0>Health Factor (HF) when partially migrating a position and that your rates will be updated to V3 rates.":"Please always be aware of your <0>Health Factor (HF) when partially migrating a position and that your rates will be updated to V3 rates.","Please connect a wallet to view your personal information here.":"Please connect a wallet to view your personal information here.","Please connect your wallet to be able to switch your tokens.":"Please connect your wallet to be able to switch your tokens.","Please connect your wallet to get free testnet assets.":"Please connect your wallet to get free testnet assets.","Please connect your wallet to see migration tool.":"Please connect your wallet to see migration tool.","Please connect your wallet to see your supplies, borrowings, and open positions.":"Please connect your wallet to see your supplies, borrowings, and open positions.","Please connect your wallet to view transaction history.":"Please connect your wallet to view transaction history.","Please enter a valid wallet address.":"Please enter a valid wallet address.","Please switch to {networkName}.":["Please switch to ",["networkName"],"."],"Please, connect your wallet":"Please, connect your wallet","Pool addresses provider is not registered":"Pool addresses provider is not registered","Powered by":"Powered by","Preview tx and migrate":"Preview tx and migrate","Price":"Price","Price data is not currently available for this reserve on the protocol subgraph":"Price data is not currently available for this reserve on the protocol subgraph","Price impact":"Price impact","Price impact is the spread between the total value of the entry tokens switched and the destination tokens obtained (in USD), which results from the limited liquidity of the trading pair.":"Price impact is the spread between the total value of the entry tokens switched and the destination tokens obtained (in USD), which results from the limited liquidity of the trading pair.","Price impact {0}%":["Price impact ",["0"],"%"],"Privacy":"Privacy","Proposal details":"Proposal details","Proposal overview":"Proposal overview","Proposals":"Proposals","Proposition":"Proposition","Protocol borrow cap at 100% for this asset. Further borrowing unavailable.":"Protocol borrow cap at 100% for this asset. Further borrowing unavailable.","Protocol borrow cap is at 100% for this asset. Further borrowing unavailable.":"Protocol borrow cap is at 100% for this asset. Further borrowing unavailable.","Protocol debt ceiling is at 100% for this asset. Further borrowing against this asset is unavailable.":"Protocol debt ceiling is at 100% for this asset. Further borrowing against this asset is unavailable.","Protocol debt ceiling is at 100% for this asset. Futher borrowing against this asset is unavailable.":"Protocol debt ceiling is at 100% for this asset. Futher borrowing against this asset is unavailable.","Protocol supply cap at 100% for this asset. Further supply unavailable.":"Protocol supply cap at 100% for this asset. Further supply unavailable.","Protocol supply cap is at 100% for this asset. Further supply unavailable.":"Protocol supply cap is at 100% for this asset. Further supply unavailable.","Quorum":"Quorum","Rate change":"Rate change","Raw-Ipfs":"Raw-Ipfs","Reached":"Reached","Reactivate cooldown period to unstake {0} {stakedToken}":["Reactivate cooldown period to unstake ",["0"]," ",["stakedToken"]],"Read more here.":"Read more here.","Read-only mode allows to see address positions in Aave, but you won't be able to perform transactions.":"Read-only mode allows to see address positions in Aave, but you won't be able to perform transactions.","Read-only mode.":"Read-only mode.","Read-only mode. Connect to a wallet to perform transactions.":"Read-only mode. Connect to a wallet to perform transactions.","Receive (est.)":"Receive (est.)","Received":"Received","Recipient address":"Recipient address","Rejected connection request":"Rejected connection request","Reload":"Reload","Reload the page":"Reload the page","Remaining debt":"Remaining debt","Remaining supply":"Remaining supply","Remove":"Remove","Repaid":"Repaid","Repay":"Repay","Repay with":"Repay with","Repay {symbol}":["Repay ",["symbol"]],"Repaying {symbol}":["Repaying ",["symbol"]],"Repayment amount to reach {0}% utilization":["Repayment amount to reach ",["0"],"% utilization"],"Representative smart contract wallet (ie. Safe) addresses on other chains.":"Representative smart contract wallet (ie. Safe) addresses on other chains.","Representing smart contract wallet (ie. Safe) addresses on other chains.":"Representing smart contract wallet (ie. Safe) addresses on other chains.","Reserve Size":"Reserve Size","Reserve factor":"Reserve factor","Reserve factor is a percentage of interest which goes to a {0} that is controlled by Aave governance to promote ecosystem growth.":["Reserve factor is a percentage of interest which goes to a ",["0"]," that is controlled by Aave governance to promote ecosystem growth."],"Reserve status & configuration":"Reserve status & configuration","Reset":"Reset","Restake":"Restake","Restake {symbol}":["Restake ",["symbol"]],"Restaked":"Restaked","Restaking {symbol}":["Restaking ",["symbol"]],"Review approval tx details":"Review approval tx details","Review changes to continue":"Review changes to continue","Review tx":"Review tx","Review tx details":"Review tx details","Revoke power":"Revoke power","Reward(s) to claim":"Reward(s) to claim","Rewards APR":"Rewards APR","Risk details":"Risk details","SEE CHARTS":"SEE CHARTS","Safety of your deposited collateral against the borrowed assets and its underlying value.":"Safety of your deposited collateral against the borrowed assets and its underlying value.","Save and share":"Save and share","Seems like we can't switch the network automatically. Please check if you can change it from the wallet.":"Seems like we can't switch the network automatically. Please check if you can change it from the wallet.","Select":"Select","Select APY type to switch":"Select APY type to switch","Select an asset":"Select an asset","Select language":"Select language","Select slippage tolerance":"Select slippage tolerance","Select v2 borrows to migrate":"Select v2 borrows to migrate","Select v2 supplies to migrate":"Select v2 supplies to migrate","Selected assets have successfully migrated. Visit the Market Dashboard to see them.":"Selected assets have successfully migrated. Visit the Market Dashboard to see them.","Selected borrow assets":"Selected borrow assets","Selected supply assets":"Selected supply assets","Send feedback":"Send feedback","Set up delegation":"Set up delegation","Setup notifications about your Health Factor using the Hal app.":"Setup notifications about your Health Factor using the Hal app.","Share on Lens":"Share on Lens","Share on twitter":"Share on twitter","Show":"Show","Show Frozen or paused assets":"Show Frozen or paused assets","Show assets with 0 balance":"Show assets with 0 balance","Sign to continue":"Sign to continue","Signatures ready":"Signatures ready","Signing":"Signing","Since this asset is frozen, the only available actions are withdraw and repay which can be accessed from the <0>Dashboard":"Since this asset is frozen, the only available actions are withdraw and repay which can be accessed from the <0>Dashboard","Since this is a test network, you can get any of the assets if you have ETH on your wallet":"Since this is a test network, you can get any of the assets if you have ETH on your wallet","Slippage":"Slippage","Slippage is the difference between the quoted and received amounts from changing market conditions between the moment the transaction is submitted and its verification.":"Slippage is the difference between the quoted and received amounts from changing market conditions between the moment the transaction is submitted and its verification.","Some migrated assets will not be used as collateral due to enabled isolation mode in {marketName} V3 Market. Visit <0>{marketName} V3 Dashboard to manage isolation mode.":["Some migrated assets will not be used as collateral due to enabled isolation mode in ",["marketName"]," V3 Market. Visit <0>",["marketName"]," V3 Dashboard to manage isolation mode."],"Something went wrong":"Something went wrong","Sorry, an unexpected error happened. In the meantime you may try reloading the page, or come back later.":"Sorry, an unexpected error happened. In the meantime you may try reloading the page, or come back later.","Sorry, we couldn't find the page you were looking for.":"Sorry, we couldn't find the page you were looking for.","Spanish":"Spanish","Stable":"Stable","Stable Interest Type is disabled for this currency":"Stable Interest Type is disabled for this currency","Stable borrowing is enabled":"Stable borrowing is enabled","Stable borrowing is not enabled":"Stable borrowing is not enabled","Stable debt supply is not zero":"Stable debt supply is not zero","Stable interest rate will <0>stay the same for the duration of your loan. Recommended for long-term loan periods and for users who prefer predictability.":"Stable interest rate will <0>stay the same for the duration of your loan. Recommended for long-term loan periods and for users who prefer predictability.","Stablecoin":"Stablecoin","Stake":"Stake","Stake AAVE":"Stake AAVE","Stake ABPT":"Stake ABPT","Stake cooldown activated":"Stake cooldown activated","Staked":"Staked","Staking":"Staking","Staking APR":"Staking APR","Staking Rewards":"Staking Rewards","Staking balance":"Staking balance","Staking discount":"Staking discount","State":"State","Supplied":"Supplied","Supplied asset amount":"Supplied asset amount","Supply":"Supply","Supply APY":"Supply APY","Supply apy":"Supply apy","Supply balance":"Supply balance","Supply balance after switch":"Supply balance after switch","Supply cap is exceeded":"Supply cap is exceeded","Supply cap on target reserve reached. Try lowering the amount.":"Supply cap on target reserve reached. Try lowering the amount.","Supply {symbol}":["Supply ",["symbol"]],"Supplying your":"Supplying your","Supplying {symbol}":["Supplying ",["symbol"]],"Switch":"Switch","Switch APY type":"Switch APY type","Switch E-Mode":"Switch E-Mode","Switch E-Mode category":"Switch E-Mode category","Switch Network":"Switch Network","Switch borrow position":"Switch borrow position","Switch rate":"Switch rate","Switch to":"Switch to","Switched":"Switched","Switching":"Switching","Switching E-Mode":"Switching E-Mode","Switching rate":"Switching rate","Techpaper":"Techpaper","Terms":"Terms","Test Assets":"Test Assets","Testnet mode":"Testnet mode","Testnet mode is ON":"Testnet mode is ON","Thank you for voting!!":"Thank you for voting!!","The % of your total borrowing power used. This is based on the amount of your collateral supplied and the total amount that you can borrow.":"The % of your total borrowing power used. This is based on the amount of your collateral supplied and the total amount that you can borrow.","The Aave Balancer Pool Token (ABPT) is a liquidity pool token. You can receive ABPT by depositing a combination of AAVE + ETH in the Balancer liquidity pool. You can then stake your BPT in the Safety Module to secure the protocol and earn Safety Incentives.":"The Aave Balancer Pool Token (ABPT) is a liquidity pool token. You can receive ABPT by depositing a combination of AAVE + ETH in the Balancer liquidity pool. You can then stake your BPT in the Safety Module to secure the protocol and earn Safety Incentives.","The Aave Protocol is programmed to always use the price of 1 GHO = $1. This is different from using market pricing via oracles for other crypto assets. This creates stabilizing arbitrage opportunities when the price of GHO fluctuates.":"The Aave Protocol is programmed to always use the price of 1 GHO = $1. This is different from using market pricing via oracles for other crypto assets. This creates stabilizing arbitrage opportunities when the price of GHO fluctuates.","The Maximum LTV ratio represents the maximum borrowing power of a specific collateral. For example, if a collateral has an LTV of 75%, the user can borrow up to 0.75 worth of ETH in the principal currency for every 1 ETH worth of collateral.":"The Maximum LTV ratio represents the maximum borrowing power of a specific collateral. For example, if a collateral has an LTV of 75%, the user can borrow up to 0.75 worth of ETH in the principal currency for every 1 ETH worth of collateral.","The Stable Rate is not enabled for this currency":"The Stable Rate is not enabled for this currency","The address of the pool addresses provider is invalid":"The address of the pool addresses provider is invalid","The app is running in testnet mode. Learn how it works in":"The app is running in testnet mode. Learn how it works in","The caller of the function is not an AToken":"The caller of the function is not an AToken","The caller of this function must be a pool":"The caller of this function must be a pool","The collateral balance is 0":"The collateral balance is 0","The collateral chosen cannot be liquidated":"The collateral chosen cannot be liquidated","The cooldown period is the time required prior to unstaking your tokens (20 days). You can only withdraw your assets from the Security Module after the cooldown period and within the unstake window.<0>Learn more":"The cooldown period is the time required prior to unstaking your tokens (20 days). You can only withdraw your assets from the Security Module after the cooldown period and within the unstake window.<0>Learn more","The cooldown period is {0}. After {1} of cooldown, you will enter unstake window of {2}. You will continue receiving rewards during cooldown and unstake window.":["The cooldown period is ",["0"],". After ",["1"]," of cooldown, you will enter unstake window of ",["2"],". You will continue receiving rewards during cooldown and unstake window."],"The effects on the health factor would cause liquidation. Try lowering the amount.":"The effects on the health factor would cause liquidation. Try lowering the amount.","The loan to value of the migrated positions would cause liquidation. Increase migrated collateral or reduce migrated borrow to continue.":"The loan to value of the migrated positions would cause liquidation. Increase migrated collateral or reduce migrated borrow to continue.","The requested amount is greater than the max loan size in stable rate mode":"The requested amount is greater than the max loan size in stable rate mode","The total amount of your assets denominated in USD that can be used as collateral for borrowing assets.":"The total amount of your assets denominated in USD that can be used as collateral for borrowing assets.","The underlying asset cannot be rescued":"The underlying asset cannot be rescued","The underlying balance needs to be greater than 0":"The underlying balance needs to be greater than 0","The weighted average of APY for all borrowed assets, including incentives.":"The weighted average of APY for all borrowed assets, including incentives.","The weighted average of APY for all supplied assets, including incentives.":"The weighted average of APY for all supplied assets, including incentives.","There are not enough funds in the{0}reserve to borrow":["There are not enough funds in the",["0"],"reserve to borrow"],"There is not enough collateral to cover a new borrow":"There is not enough collateral to cover a new borrow","There is not enough liquidity for the target asset to perform the switch. Try lowering the amount.":"There is not enough liquidity for the target asset to perform the switch. Try lowering the amount.","There was some error. Please try changing the parameters or <0><1>copy the error":"There was some error. Please try changing the parameters or <0><1>copy the error","These assets are temporarily frozen or paused by Aave community decisions, meaning that further supply / borrow, or rate swap of these assets are unavailable. Withdrawals and debt repayments are allowed. Follow the <0>Aave governance forum for further updates.":"These assets are temporarily frozen or paused by Aave community decisions, meaning that further supply / borrow, or rate swap of these assets are unavailable. Withdrawals and debt repayments are allowed. Follow the <0>Aave governance forum for further updates.","These funds have been borrowed and are not available for withdrawal at this time.":"These funds have been borrowed and are not available for withdrawal at this time.","This action will reduce V2 health factor below liquidation threshold. retain collateral or migrate borrow position to continue.":"This action will reduce V2 health factor below liquidation threshold. retain collateral or migrate borrow position to continue.","This action will reduce health factor of V3 below liquidation threshold. Increase migrated collateral or reduce migrated borrow to continue.":"This action will reduce health factor of V3 below liquidation threshold. Increase migrated collateral or reduce migrated borrow to continue.","This action will reduce your health factor. Please be mindful of the increased risk of collateral liquidation.":"This action will reduce your health factor. Please be mindful of the increased risk of collateral liquidation.","This address is blocked on app.aave.com because it is associated with one or more":"This address is blocked on app.aave.com because it is associated with one or more","This asset has almost reached its borrow cap. There is only {messageValue} available to be borrowed from this market.":["This asset has almost reached its borrow cap. There is only ",["messageValue"]," available to be borrowed from this market."],"This asset has almost reached its supply cap. There can only be {messageValue} supplied to this market.":["This asset has almost reached its supply cap. There can only be ",["messageValue"]," supplied to this market."],"This asset has been paused due to a community decision. Supply, withdraw, borrows and repays are impacted.":"This asset has been paused due to a community decision. Supply, withdraw, borrows and repays are impacted.","This asset has reached its borrow cap. Nothing is available to be borrowed from this market.":"This asset has reached its borrow cap. Nothing is available to be borrowed from this market.","This asset has reached its supply cap. Nothing is available to be supplied from this market.":"This asset has reached its supply cap. Nothing is available to be supplied from this market.","This asset is frozen due to an Aave Protocol Governance decision. <0>More details":"This asset is frozen due to an Aave Protocol Governance decision. <0>More details","This asset is frozen due to an Aave Protocol Governance decision. On the 20th of December 2022, renFIL will no longer be supported and cannot be bridged back to its native network. It is recommended to withdraw supply positions and repay borrow positions so that renFIL can be bridged back to FIL before the deadline. After this date, it will no longer be possible to convert renFIL to FIL. <0>More details":"This asset is frozen due to an Aave Protocol Governance decision. On the 20th of December 2022, renFIL will no longer be supported and cannot be bridged back to its native network. It is recommended to withdraw supply positions and repay borrow positions so that renFIL can be bridged back to FIL before the deadline. After this date, it will no longer be possible to convert renFIL to FIL. <0>More details","This asset is frozen due to an Aave community decision. <0>More details":"This asset is frozen due to an Aave community decision. <0>More details","This asset is planned to be offboarded due to an Aave Protocol Governance decision. <0>More details":"This asset is planned to be offboarded due to an Aave Protocol Governance decision. <0>More details","This gas calculation is only an estimation. Your wallet will set the price of the transaction. You can modify the gas settings directly from your wallet provider.":"This gas calculation is only an estimation. Your wallet will set the price of the transaction. You can modify the gas settings directly from your wallet provider.","This integration was<0>proposed and approvedby the community.":"This integration was<0>proposed and approvedby the community.","This is the total amount available for you to borrow. You can borrow based on your collateral and until the borrow cap is reached.":"This is the total amount available for you to borrow. You can borrow based on your collateral and until the borrow cap is reached.","This is the total amount that you are able to supply to in this reserve. You are able to supply your wallet balance up until the supply cap is reached.":"This is the total amount that you are able to supply to in this reserve. You are able to supply your wallet balance up until the supply cap is reached.","This represents the threshold at which a borrow position will be considered undercollateralized and subject to liquidation for each collateral. For example, if a collateral has a liquidation threshold of 80%, it means that the position will be liquidated when the debt value is worth 80% of the collateral value.":"This represents the threshold at which a borrow position will be considered undercollateralized and subject to liquidation for each collateral. For example, if a collateral has a liquidation threshold of 80%, it means that the position will be liquidated when the debt value is worth 80% of the collateral value.","Time left to be able to withdraw your staked asset.":"Time left to be able to withdraw your staked asset.","Time left to unstake":"Time left to unstake","Time left until the withdrawal window closes.":"Time left until the withdrawal window closes.","Tip: Try increasing slippage or reduce input amount":"Tip: Try increasing slippage or reduce input amount","To borrow you need to supply any asset to be used as collateral.":"To borrow you need to supply any asset to be used as collateral.","To continue, you need to grant Aave smart contracts permission to move your funds from your wallet. Depending on the asset and wallet you use, it is done by signing the permission message (gas free), or by submitting an approval transaction (requires gas). <0>Learn more":"To continue, you need to grant Aave smart contracts permission to move your funds from your wallet. Depending on the asset and wallet you use, it is done by signing the permission message (gas free), or by submitting an approval transaction (requires gas). <0>Learn more","To enable E-mode for the {0} category, all borrow positions outside of this category must be closed.":["To enable E-mode for the ",["0"]," category, all borrow positions outside of this category must be closed."],"To repay on behalf of a user an explicit amount to repay is needed":"To repay on behalf of a user an explicit amount to repay is needed","To request access for this permissioned market, please visit: <0>Acces Provider Name":"To request access for this permissioned market, please visit: <0>Acces Provider Name","To submit a proposal for minor changes to the protocol, you'll need at least 80.00K power. If you want to change the core code base, you'll need 320k power.<0>Learn more.":"To submit a proposal for minor changes to the protocol, you'll need at least 80.00K power. If you want to change the core code base, you'll need 320k power.<0>Learn more.","Top 10 addresses":"Top 10 addresses","Total available":"Total available","Total borrowed":"Total borrowed","Total borrows":"Total borrows","Total emission per day":"Total emission per day","Total interest accrued":"Total interest accrued","Total market size":"Total market size","Total supplied":"Total supplied","Total worth":"Total worth","Track wallet":"Track wallet","Track wallet balance in read-only mode":"Track wallet balance in read-only mode","Transaction failed":"Transaction failed","Transaction history":"Transaction history","Transaction history is not currently available for this market":"Transaction history is not currently available for this market","Transaction overview":"Transaction overview","Transactions":"Transactions","UNSTAKE {symbol}":["UNSTAKE ",["symbol"]],"Unavailable":"Unavailable","Unbacked":"Unbacked","Unbacked mint cap is exceeded":"Unbacked mint cap is exceeded","Underlying asset does not exist in {marketName} v3 Market, hence this position cannot be migrated.":["Underlying asset does not exist in ",["marketName"]," v3 Market, hence this position cannot be migrated."],"Underlying token":"Underlying token","Unstake now":"Unstake now","Unstake window":"Unstake window","Unstaked":"Unstaked","Unstaking {symbol}":["Unstaking ",["symbol"]],"Update: Disruptions reported for WETH, WBTC, WMATIC, and USDT. AIP 230 will resolve the disruptions and the market will be operating as normal on ~26th May 13h00 UTC.":"Update: Disruptions reported for WETH, WBTC, WMATIC, and USDT. AIP 230 will resolve the disruptions and the market will be operating as normal on ~26th May 13h00 UTC.","Use it to vote for or against active proposals.":"Use it to vote for or against active proposals.","Use your AAVE, stkAAVE, or aAave balance to delegate your voting and proposition powers. You will not be sending any tokens, only the rights to vote and propose changes to the protocol. You can re-delegate or revoke power to self at any time.":"Use your AAVE, stkAAVE, or aAave balance to delegate your voting and proposition powers. You will not be sending any tokens, only the rights to vote and propose changes to the protocol. You can re-delegate or revoke power to self at any time.","Used as collateral":"Used as collateral","User cannot withdraw more than the available balance":"User cannot withdraw more than the available balance","User did not borrow the specified currency":"User did not borrow the specified currency","User does not have outstanding stable rate debt on this reserve":"User does not have outstanding stable rate debt on this reserve","User does not have outstanding variable rate debt on this reserve":"User does not have outstanding variable rate debt on this reserve","User is in isolation mode":"User is in isolation mode","User is trying to borrow multiple assets including a siloed one":"User is trying to borrow multiple assets including a siloed one","Users who stake AAVE in Safety Module (i.e. stkAAVE holders) receive a discount on GHO borrow interest rate. The discount applies to 100 GHO for every 1 stkAAVE held. Use the calculator below to see GHO borrow rate with the discount applied.":"Users who stake AAVE in Safety Module (i.e. stkAAVE holders) receive a discount on GHO borrow interest rate. The discount applies to 100 GHO for every 1 stkAAVE held. Use the calculator below to see GHO borrow rate with the discount applied.","Utilization Rate":"Utilization Rate","VIEW TX":"VIEW TX","VOTE NAY":"VOTE NAY","VOTE YAE":"VOTE YAE","Variable":"Variable","Variable debt supply is not zero":"Variable debt supply is not zero","Variable interest rate will <0>fluctuate based on the market conditions. Recommended for short-term positions.":"Variable interest rate will <0>fluctuate based on the market conditions. Recommended for short-term positions.","Variable rate":"Variable rate","Version 2":"Version 2","Version 3":"Version 3","View":"View","View Transactions":"View Transactions","View all votes":"View all votes","View contract":"View contract","View details":"View details","View on Explorer":"View on Explorer","Vote NAY":"Vote NAY","Vote YAE":"Vote YAE","Voted NAY":"Voted NAY","Voted YAE":"Voted YAE","Votes":"Votes","Voting":"Voting","Voting closed":"Voting closed","Voting power":"Voting power","Voting results":"Voting results","Wallet Balance":"Wallet Balance","Wallet balance":"Wallet balance","Wallet not detected. Connect or install wallet and retry":"Wallet not detected. Connect or install wallet and retry","Wallets are provided by External Providers and by selecting you agree to Terms of those Providers. Your access to the wallet might be reliant on the External Provider being operational.":"Wallets are provided by External Providers and by selecting you agree to Terms of those Providers. Your access to the wallet might be reliant on the External Provider being operational.","We couldn't find any assets related to your search. Try again with a different asset name, symbol, or address.":"We couldn't find any assets related to your search. Try again with a different asset name, symbol, or address.","We couldn't find any transactions related to your search. Try again with a different asset name, or reset filters.":"We couldn't find any transactions related to your search. Try again with a different asset name, or reset filters.","We couldn’t detect a wallet. Connect a wallet to stake and view your balance.":"We couldn’t detect a wallet. Connect a wallet to stake and view your balance.","We suggest you go back to the Dashboard.":"We suggest you go back to the Dashboard.","Website":"Website","When a liquidation occurs, liquidators repay up to 50% of the outstanding borrowed amount on behalf of the borrower. In return, they can buy the collateral at a discount and keep the difference (liquidation penalty) as a bonus.":"When a liquidation occurs, liquidators repay up to 50% of the outstanding borrowed amount on behalf of the borrower. In return, they can buy the collateral at a discount and keep the difference (liquidation penalty) as a bonus.","With a voting power of <0/>":"With a voting power of <0/>","With testnet Faucet you can get free assets to test the Aave Protocol. Make sure to switch your wallet provider to the appropriate testnet network, select desired asset, and click ‘Faucet’ to get tokens transferred to your wallet. The assets on a testnet are not “real,” meaning they have no monetary value. <0>Learn more":"With testnet Faucet you can get free assets to test the Aave Protocol. Make sure to switch your wallet provider to the appropriate testnet network, select desired asset, and click ‘Faucet’ to get tokens transferred to your wallet. The assets on a testnet are not “real,” meaning they have no monetary value. <0>Learn more","Withdraw":"Withdraw","Withdraw & Switch":"Withdraw & Switch","Withdraw and Switch":"Withdraw and Switch","Withdraw {symbol}":["Withdraw ",["symbol"]],"Withdrawing and Switching":"Withdrawing and Switching","Withdrawing this amount will reduce your health factor and increase risk of liquidation.":"Withdrawing this amount will reduce your health factor and increase risk of liquidation.","Withdrawing {symbol}":["Withdrawing ",["symbol"]],"Wrong Network":"Wrong Network","YAE":"YAE","You are entering Isolation mode":"You are entering Isolation mode","You can borrow this asset with a stable rate only if you borrow more than the amount you are supplying as collateral.":"You can borrow this asset with a stable rate only if you borrow more than the amount you are supplying as collateral.","You can not change Interest Type to stable as your borrowings are higher than your collateral":"You can not change Interest Type to stable as your borrowings are higher than your collateral","You can not disable E-Mode as your current collateralization level is above 80%, disabling E-Mode can cause liquidation. To exit E-Mode supply or repay borrowed positions.":"You can not disable E-Mode as your current collateralization level is above 80%, disabling E-Mode can cause liquidation. To exit E-Mode supply or repay borrowed positions.","You can not switch usage as collateral mode for this currency, because it will cause collateral call":"You can not switch usage as collateral mode for this currency, because it will cause collateral call","You can not use this currency as collateral":"You can not use this currency as collateral","You can not withdraw this amount because it will cause collateral call":"You can not withdraw this amount because it will cause collateral call","You can only switch to tokens with variable APY types. After this transaction, you may change the variable rate to a stable one if available.":"You can only switch to tokens with variable APY types. After this transaction, you may change the variable rate to a stable one if available.","You can only withdraw your assets from the Security Module after the cooldown period ends and the unstake window is active.":"You can only withdraw your assets from the Security Module after the cooldown period ends and the unstake window is active.","You can report incident to our <0>Discord or<1>Github.":"You can report incident to our <0>Discord or<1>Github.","You cancelled the transaction.":"You cancelled the transaction.","You did not participate in this proposal":"You did not participate in this proposal","You do not have supplies in this currency":"You do not have supplies in this currency","You don’t have enough funds in your wallet to repay the full amount. If you proceed to repay with your current amount of funds, you will still have a small borrowing position in your dashboard.":"You don’t have enough funds in your wallet to repay the full amount. If you proceed to repay with your current amount of funds, you will still have a small borrowing position in your dashboard.","You have no AAVE/stkAAVE/aAave balance to delegate.":"You have no AAVE/stkAAVE/aAave balance to delegate.","You have not borrow yet using this currency":"You have not borrow yet using this currency","You may borrow up to <0/> GHO at <1/> (max discount)":"You may borrow up to <0/> GHO at <1/> (max discount)","You may enter a custom amount in the field.":"You may enter a custom amount in the field.","You switched to {0} rate":["You switched to ",["0"]," rate"],"You unstake here":"You unstake here","You voted {0}":["You voted ",["0"]],"You will exit isolation mode and other tokens can now be used as collateral":"You will exit isolation mode and other tokens can now be used as collateral","You {action} <0/> {symbol}":["You ",["action"]," <0/> ",["symbol"]],"You've successfully switched borrow position.":"You've successfully switched borrow position.","You've successfully switched tokens.":"You've successfully switched tokens.","You've successfully withdrew & switched tokens.":"You've successfully withdrew & switched tokens.","Your balance is lower than the selected amount.":"Your balance is lower than the selected amount.","Your borrows":"Your borrows","Your current loan to value based on your collateral supplied.":"Your current loan to value based on your collateral supplied.","Your health factor and loan to value determine the assurance of your collateral. To avoid liquidations you can supply more collateral or repay borrow positions.":"Your health factor and loan to value determine the assurance of your collateral. To avoid liquidations you can supply more collateral or repay borrow positions.","Your info":"Your info","Your proposition power is based on your AAVE/stkAAVE balance and received delegations.":"Your proposition power is based on your AAVE/stkAAVE balance and received delegations.","Your reward balance is 0":"Your reward balance is 0","Your supplies":"Your supplies","Your voting info":"Your voting info","Your voting power is based on your AAVE/stkAAVE balance and received delegations.":"Your voting power is based on your AAVE/stkAAVE balance and received delegations.","Your {name} wallet is empty. Purchase or transfer assets or use <0>{0} to transfer your {network} assets.":["Your ",["name"]," wallet is empty. Purchase or transfer assets or use <0>",["0"]," to transfer your ",["network"]," assets."],"Your {name} wallet is empty. Purchase or transfer assets.":["Your ",["name"]," wallet is empty. Purchase or transfer assets."],"Your {networkName} wallet is empty. Get free test assets at":["Your ",["networkName"]," wallet is empty. Get free test assets at"],"Your {networkName} wallet is empty. Get free test {0} at":["Your ",["networkName"]," wallet is empty. Get free test ",["0"]," at"],"Zero address not valid":"Zero address not valid","assets":"assets","blocked activities":"blocked activities","copy the error":"copy the error","disabled":"disabled","documentation":"documentation","enabled":"enabled","ends":"ends","for":"for","of":"of","on":"on","please check that the amount you want to supply is not currently being used for staking. If it is being used for staking, your transaction might fail.":"please check that the amount you want to supply is not currently being used for staking. If it is being used for staking, your transaction might fail.","repaid":"repaid","stETH supplied as collateral will continue to accrue staking rewards provided by daily rebases.":"stETH supplied as collateral will continue to accrue staking rewards provided by daily rebases.","stETH tokens will be migrated to Wrapped stETH using Lido Protocol wrapper which leads to supply balance change after migration: {0}":["stETH tokens will be migrated to Wrapped stETH using Lido Protocol wrapper which leads to supply balance change after migration: ",["0"]],"staking view":"staking view","starts":"starts","stkAAVE holders get a discount on GHO borrow rate":"stkAAVE holders get a discount on GHO borrow rate","to":"to","tokens is not the same as staking them. If you wish to stake your":"tokens is not the same as staking them. If you wish to stake your","tokens, please go to the":"tokens, please go to the","withdrew":"withdrew","{0}":[["0"]],"{0} Balance":[["0"]," Balance"],"{0} Faucet":[["0"]," Faucet"],"{0} on-ramp service is provided by External Provider and by selecting you agree to Terms of the Provider. Your access to the service might be reliant on the External Provider being operational.":[["0"]," on-ramp service is provided by External Provider and by selecting you agree to Terms of the Provider. Your access to the service might be reliant on the External Provider being operational."],"{0}{name}":[["0"],["name"]],"{currentMethod}":[["currentMethod"]],"{d}d":[["d"],"d"],"{h}h":[["h"],"h"],"{m}m":[["m"],"m"],"{networkName} Faucet":[["networkName"]," Faucet"],"{notifyText}":[["notifyText"]],"{numSelected}/{numAvailable} assets selected":[["numSelected"],"/",["numAvailable"]," assets selected"],"{s}s":[["s"],"s"],"{title}":[["title"]],"{tooltipText}":[["tooltipText"]]}}; \ No newline at end of file +/*eslint-disable*/module.exports={messages:{"...":"...",".CSV":".CSV",".JSON":".JSON","<0><1><2/>Add <3/> stkAAVE to borrow at <4/> (max discount)":"<0><1><2/>Add <3/> stkAAVE to borrow at <4/> (max discount)","<0><1><2/>Add stkAAVE to see borrow rate with discount":"<0><1><2/>Add stkAAVE to see borrow rate with discount","<0>Ampleforth is a rebasing asset. Visit the <1>documentation to learn more.":"<0>Ampleforth is a rebasing asset. Visit the <1>documentation to learn more.","<0>Attention: Parameter changes via governance can alter your account health factor and risk of liquidation. Follow the <1>Aave governance forum for updates.":"<0>Attention: Parameter changes via governance can alter your account health factor and risk of liquidation. Follow the <1>Aave governance forum for updates.","<0>Slippage tolerance <1>{selectedSlippage}% <2>{0}":["<0>Slippage tolerance <1>",["selectedSlippage"],"% <2>",["0"],""],"AAVE holders (Ethereum network only) can stake their AAVE in the Safety Module to add more security to the protocol and earn Safety Incentives. In the case of a shortfall event, up to 30% of your stake can be slashed to cover the deficit, providing an additional layer of protection for the protocol.":"AAVE holders (Ethereum network only) can stake their AAVE in the Safety Module to add more security to the protocol and earn Safety Incentives. In the case of a shortfall event, up to 30% of your stake can be slashed to cover the deficit, providing an additional layer of protection for the protocol.","APR":"APR","APY":"APY","APY change":"APY change","APY type":"APY type","APY type change":"APY type change","APY with discount applied":"APY with discount applied","APY, borrow rate":"APY, borrow rate","APY, stable":"APY, stable","APY, variable":"APY, variable","AToken supply is not zero":"AToken supply is not zero","Aave Governance":"Aave Governance","Aave aToken":"Aave aToken","Aave debt token":"Aave debt token","Aave is a fully decentralized, community governed protocol by the AAVE token-holders. AAVE token-holders collectively discuss, propose, and vote on upgrades to the protocol. AAVE token-holders (Ethereum network only) can either vote themselves on new proposals or delagate to an address of choice. To learn more check out the Governance":"Aave is a fully decentralized, community governed protocol by the AAVE token-holders. AAVE token-holders collectively discuss, propose, and vote on upgrades to the protocol. AAVE token-holders (Ethereum network only) can either vote themselves on new proposals or delagate to an address of choice. To learn more check out the Governance","Aave per month":"Aave per month","About GHO":"About GHO","Account":"Account","Action cannot be performed because the reserve is frozen":"Action cannot be performed because the reserve is frozen","Action cannot be performed because the reserve is paused":"Action cannot be performed because the reserve is paused","Action requires an active reserve":"Action requires an active reserve","Activate Cooldown":"Activate Cooldown","Add stkAAVE to see borrow APY with the discount":"Add stkAAVE to see borrow APY with the discount","Add to wallet":"Add to wallet","Add {0} to wallet to track your balance.":["Add ",["0"]," to wallet to track your balance."],"Address is not a contract":"Address is not a contract","Addresses":"Addresses","Addresses ({0})":["Addresses (",["0"],")"],"All Assets":"All Assets","All done!":"All done!","All proposals":"All proposals","All transactions":"All transactions","Allowance required action":"Allowance required action","Allows you to decide whether to use a supplied asset as collateral. An asset used as collateral will affect your borrowing power and health factor.":"Allows you to decide whether to use a supplied asset as collateral. An asset used as collateral will affect your borrowing power and health factor.","Allows you to switch between <0>variable and <1>stable interest rates, where variable rate can increase and decrease depending on the amount of liquidity in the reserve, and stable rate will stay the same for the duration of your loan.":"Allows you to switch between <0>variable and <1>stable interest rates, where variable rate can increase and decrease depending on the amount of liquidity in the reserve, and stable rate will stay the same for the duration of your loan.","Amount":"Amount","Amount claimable":"Amount claimable","Amount in cooldown":"Amount in cooldown","Amount must be greater than 0":"Amount must be greater than 0","Amount to unstake":"Amount to unstake","An error has occurred fetching the proposal.":"An error has occurred fetching the proposal.","Approve Confirmed":"Approve Confirmed","Approve with":"Approve with","Approve {symbol} to continue":["Approve ",["symbol"]," to continue"],"Approving {symbol}...":["Approving ",["symbol"],"..."],"Array parameters that should be equal length are not":"Array parameters that should be equal length are not","Asset":"Asset","Asset can be only used as collateral in isolation mode with limited borrowing power. To enter isolation mode, disable all other collateral.":"Asset can be only used as collateral in isolation mode with limited borrowing power. To enter isolation mode, disable all other collateral.","Asset can only be used as collateral in isolation mode only.":"Asset can only be used as collateral in isolation mode only.","Asset cannot be migrated because you have isolated collateral in {marketName} v3 Market which limits borrowable assets. You can manage your collateral in <0>{marketName} V3 Dashboard":["Asset cannot be migrated because you have isolated collateral in ",["marketName"]," v3 Market which limits borrowable assets. You can manage your collateral in <0>",["marketName"]," V3 Dashboard"],"Asset cannot be migrated due to insufficient liquidity or borrow cap limitation in {marketName} v3 market.":["Asset cannot be migrated due to insufficient liquidity or borrow cap limitation in ",["marketName"]," v3 market."],"Asset cannot be migrated due to supply cap restriction in {marketName} v3 market.":["Asset cannot be migrated due to supply cap restriction in ",["marketName"]," v3 market."],"Asset cannot be migrated to {marketName} V3 Market due to E-mode restrictions. You can disable or manage E-mode categories in your <0>V3 Dashboard":["Asset cannot be migrated to ",["marketName"]," V3 Market due to E-mode restrictions. You can disable or manage E-mode categories in your <0>V3 Dashboard"],"Asset cannot be migrated to {marketName} v3 Market since collateral asset will enable isolation mode.":["Asset cannot be migrated to ",["marketName"]," v3 Market since collateral asset will enable isolation mode."],"Asset cannot be used as collateral.":"Asset cannot be used as collateral.","Asset category":"Asset category","Asset is frozen in {marketName} v3 market, hence this position cannot be migrated.":["Asset is frozen in ",["marketName"]," v3 market, hence this position cannot be migrated."],"Asset is not borrowable in isolation mode":"Asset is not borrowable in isolation mode","Asset is not listed":"Asset is not listed","Asset supply is limited to a certain amount to reduce protocol exposure to the asset and to help manage risks involved.":"Asset supply is limited to a certain amount to reduce protocol exposure to the asset and to help manage risks involved.","Assets":"Assets","Assets to borrow":"Assets to borrow","Assets to supply":"Assets to supply","Assets with zero LTV ({assetsBlockingWithdraw}) must be withdrawn or disabled as collateral to perform this action":["Assets with zero LTV (",["assetsBlockingWithdraw"],") must be withdrawn or disabled as collateral to perform this action"],"At a discount":"At a discount","Available":"Available","Available assets":"Available assets","Available liquidity":"Available liquidity","Available on":"Available on","Available rewards":"Available rewards","Available to borrow":"Available to borrow","Available to supply":"Available to supply","Back to Dashboard":"Back to Dashboard","Balance":"Balance","Balance to revoke":"Balance to revoke","Be careful - You are very close to liquidation. Consider depositing more collateral or paying down some of your borrowed positions":"Be careful - You are very close to liquidation. Consider depositing more collateral or paying down some of your borrowed positions","Be mindful of the network congestion and gas prices.":"Be mindful of the network congestion and gas prices.","Because this asset is paused, no actions can be taken until further notice":"Because this asset is paused, no actions can be taken until further notice","Before supplying":"Before supplying","Blocked Address":"Blocked Address","Borrow":"Borrow","Borrow APY":"Borrow APY","Borrow APY rate":"Borrow APY rate","Borrow APY, variable":"Borrow APY, variable","Borrow amount to reach {0}% utilization":["Borrow amount to reach ",["0"],"% utilization"],"Borrow and repay in same block is not allowed":"Borrow and repay in same block is not allowed","Borrow apy":"Borrow apy","Borrow balance":"Borrow balance","Borrow balance after repay":"Borrow balance after repay","Borrow balance after switch":"Borrow balance after switch","Borrow cap":"Borrow cap","Borrow cap is exceeded":"Borrow cap is exceeded","Borrow info":"Borrow info","Borrow power used":"Borrow power used","Borrow rate APY":"Borrow rate APY","Borrow rate change":"Borrow rate change","Borrow {symbol}":["Borrow ",["symbol"]],"Borrowed":"Borrowed","Borrowed asset amount":"Borrowed asset amount","Borrowing is currently unavailable for {0}.":["Borrowing is currently unavailable for ",["0"],"."],"Borrowing is disabled due to an Aave community decision. <0>More details":"Borrowing is disabled due to an Aave community decision. <0>More details","Borrowing is not enabled":"Borrowing is not enabled","Borrowing is unavailable because you’re using Isolation mode. To manage Isolation mode visit your <0>Dashboard.":"Borrowing is unavailable because you’re using Isolation mode. To manage Isolation mode visit your <0>Dashboard.","Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) and Isolation mode. To manage E-Mode and Isolation mode visit your <0>Dashboard.":"Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) and Isolation mode. To manage E-Mode and Isolation mode visit your <0>Dashboard.","Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) for {0} category. To manage E-Mode categories visit your <0>Dashboard.":["Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) for ",["0"]," category. To manage E-Mode categories visit your <0>Dashboard."],"Borrowing of this asset is limited to a certain amount to minimize liquidity pool insolvency.":"Borrowing of this asset is limited to a certain amount to minimize liquidity pool insolvency.","Borrowing power and assets are limited due to Isolation mode.":"Borrowing power and assets are limited due to Isolation mode.","Borrowing this amount will reduce your health factor and increase risk of liquidation.":"Borrowing this amount will reduce your health factor and increase risk of liquidation.","Borrowing {symbol}":["Borrowing ",["symbol"]],"Both":"Both","Buy Crypto With Fiat":"Buy Crypto With Fiat","Buy Crypto with Fiat":"Buy Crypto with Fiat","Buy {cryptoSymbol} with Fiat":["Buy ",["cryptoSymbol"]," with Fiat"],"COPIED!":"COPIED!","COPY IMAGE":"COPY IMAGE","Can be collateral":"Can be collateral","Can be executed":"Can be executed","Can't validate the wallet address. Try again.":"Can't validate the wallet address. Try again.","Cancel":"Cancel","Cannot disable E-Mode":"Cannot disable E-Mode","Choose how much voting/proposition power to give to someone else by delegating some of your AAVE, stkAAVE or aAave balance. Your tokens will remain in your account, but your delegate will be able to vote or propose on your behalf. If your AAVE, stkAAVE or aAave balance changes, your delegate's voting/proposition power will be automatically adjusted.":"Choose how much voting/proposition power to give to someone else by delegating some of your AAVE, stkAAVE or aAave balance. Your tokens will remain in your account, but your delegate will be able to vote or propose on your behalf. If your AAVE, stkAAVE or aAave balance changes, your delegate's voting/proposition power will be automatically adjusted.","Choose one of the on-ramp services":"Choose one of the on-ramp services","Claim":"Claim","Claim all":"Claim all","Claim all rewards":"Claim all rewards","Claim {0}":["Claim ",["0"]],"Claim {symbol}":["Claim ",["symbol"]],"Claimable AAVE":"Claimable AAVE","Claimed":"Claimed","Claiming":"Claiming","Claiming {symbol}":["Claiming ",["symbol"]],"Close":"Close","Collateral":"Collateral","Collateral balance after repay":"Collateral balance after repay","Collateral change":"Collateral change","Collateral is (mostly) the same currency that is being borrowed":"Collateral is (mostly) the same currency that is being borrowed","Collateral to repay with":"Collateral to repay with","Collateral usage":"Collateral usage","Collateral usage is limited because of Isolation mode.":"Collateral usage is limited because of Isolation mode.","Collateral usage is limited because of isolation mode.":"Collateral usage is limited because of isolation mode.","Collateral usage is limited because of isolation mode. <0>Learn More":"Collateral usage is limited because of isolation mode. <0>Learn More","Collateralization":"Collateralization","Collector Contract":"Collector Contract","Collector Info":"Collector Info","Confirm transaction":"Confirm transaction","Confirming transaction":"Confirming transaction","Connect":"Connect","Connect wallet":"Connect wallet","Cooldown period":"Cooldown period","Cooldown period warning":"Cooldown period warning","Cooldown time left":"Cooldown time left","Cooldown to unstake":"Cooldown to unstake","Cooling down...":"Cooling down...","Copy address":"Copy address","Copy error message":"Copy error message","Copy error text":"Copy error text","Covered debt":"Covered debt","Created":"Created","Current LTV":"Current LTV","Current differential":"Current differential","Current v2 Balance":"Current v2 Balance","Current v2 balance":"Current v2 balance","Current votes":"Current votes","Dark mode":"Dark mode","Dashboard":"Dashboard","Data couldn't be fetched, please reload graph.":"Data couldn't be fetched, please reload graph.","Debt":"Debt","Debt ceiling is exceeded":"Debt ceiling is exceeded","Debt ceiling is not zero":"Debt ceiling is not zero","Debt ceiling limits the amount possible to borrow against this asset by protocol users. Debt ceiling is specific to assets in isolation mode and is denoted in USD.":"Debt ceiling limits the amount possible to borrow against this asset by protocol users. Debt ceiling is specific to assets in isolation mode and is denoted in USD.","Delegated power":"Delegated power","Details":"Details","Developers":"Developers","Differential":"Differential","Disable E-Mode":"Disable E-Mode","Disable testnet":"Disable testnet","Disable {symbol} as collateral":["Disable ",["symbol"]," as collateral"],"Disabled":"Disabled","Disabling E-Mode":"Disabling E-Mode","Disabling this asset as collateral affects your borrowing power and Health Factor.":"Disabling this asset as collateral affects your borrowing power and Health Factor.","Disconnect Wallet":"Disconnect Wallet","Discord channel":"Discord channel","Discount":"Discount","Discount applied for <0/> staking AAVE":"Discount applied for <0/> staking AAVE","Discount model parameters":"Discount model parameters","Discount parameters are decided by the Aave community and may be changed over time. Check Governance for updates and vote to participate. <0>Learn more":"Discount parameters are decided by the Aave community and may be changed over time. Check Governance for updates and vote to participate. <0>Learn more","Discountable amount":"Discountable amount","Docs":"Docs","Download":"Download","Due to internal stETH mechanics required for rebasing support, it is not possible to perform a collateral switch where stETH is the source token.":"Due to internal stETH mechanics required for rebasing support, it is not possible to perform a collateral switch where stETH is the source token.","Due to the Horizon bridge exploit, certain assets on the Harmony network are not at parity with Ethereum, which affects the Aave V3 Harmony market.":"Due to the Horizon bridge exploit, certain assets on the Harmony network are not at parity with Ethereum, which affects the Aave V3 Harmony market.","E-Mode":"E-Mode","E-Mode Category":"E-Mode Category","E-Mode category":"E-Mode category","E-Mode increases your LTV for a selected category of assets up to 97%. <0>Learn more":"E-Mode increases your LTV for a selected category of assets up to 97%. <0>Learn more","E-Mode increases your LTV for a selected category of assets up to<0/>. <1>Learn more":"E-Mode increases your LTV for a selected category of assets up to<0/>. <1>Learn more","E-Mode increases your LTV for a selected category of assets, meaning that when E-mode is enabled, you will have higher borrowing power over assets of the same E-mode category which are defined by Aave Governance. You can enter E-Mode from your <0>Dashboard. To learn more about E-Mode and applied restrictions in <1>FAQ or <2>Aave V3 Technical Paper.":"E-Mode increases your LTV for a selected category of assets, meaning that when E-mode is enabled, you will have higher borrowing power over assets of the same E-mode category which are defined by Aave Governance. You can enter E-Mode from your <0>Dashboard. To learn more about E-Mode and applied restrictions in <1>FAQ or <2>Aave V3 Technical Paper.","Edit":"Edit","Effective interest rate":"Effective interest rate","Efficiency mode (E-Mode)":"Efficiency mode (E-Mode)","Emode":"Emode","Enable E-Mode":"Enable E-Mode","Enable {symbol} as collateral":["Enable ",["symbol"]," as collateral"],"Enabled":"Enabled","Enabling E-Mode":"Enabling E-Mode","Enabling E-Mode only allows you to borrow assets belonging to the selected category. Please visit our <0>FAQ guide to learn more about how it works and the applied restrictions.":"Enabling E-Mode only allows you to borrow assets belonging to the selected category. Please visit our <0>FAQ guide to learn more about how it works and the applied restrictions.","Enabling this asset as collateral increases your borrowing power and Health Factor. However, it can get liquidated if your health factor drops below 1.":"Enabling this asset as collateral increases your borrowing power and Health Factor. However, it can get liquidated if your health factor drops below 1.","English":"English","Enter ETH address":"Enter ETH address","Enter an amount":"Enter an amount","Error connecting. Try refreshing the page.":"Error connecting. Try refreshing the page.","Estimated compounding interest, including discount for Staking {0}AAVE in Safety Module.":["Estimated compounding interest, including discount for Staking ",["0"],"AAVE in Safety Module."],"Exceeds the discount":"Exceeds the discount","Expected amount to repay":"Expected amount to repay","Expires":"Expires","Export data to":"Export data to","FAQ":"FAQ","FAQS":"FAQS","Failed to load proposal voters. Please refresh the page.":"Failed to load proposal voters. Please refresh the page.","Faucet":"Faucet","Faucet {0}":["Faucet ",["0"]],"Fetching data...":"Fetching data...","Filter":"Filter","Fixed":"Fixed","Fixed rate":"Fixed rate","Flashloan is disabled for this asset, hence this position cannot be migrated.":"Flashloan is disabled for this asset, hence this position cannot be migrated.","For repayment of a specific type of debt, the user needs to have debt that type":"For repayment of a specific type of debt, the user needs to have debt that type","Forum discussion":"Forum discussion","French":"French","Funds in the Safety Module":"Funds in the Safety Module","GHO is a native decentralized, collateral-backed digital asset pegged to USD. It is created by users via borrowing against multiple collateral. When user repays their GHO borrow position, the protocol burns that user's GHO. All the interest payments accrued by minters of GHO would be directly transferred to the AaveDAO treasury.":"GHO is a native decentralized, collateral-backed digital asset pegged to USD. It is created by users via borrowing against multiple collateral. When user repays their GHO borrow position, the protocol burns that user's GHO. All the interest payments accrued by minters of GHO would be directly transferred to the AaveDAO treasury.","Get ABP Token":"Get ABP Token","Global settings":"Global settings","Go Back":"Go Back","Go to Balancer Pool":"Go to Balancer Pool","Go to V3 Dashboard":"Go to V3 Dashboard","Governance":"Governance","Greek":"Greek","Health Factor ({0} v2)":["Health Factor (",["0"]," v2)"],"Health Factor ({0} v3)":["Health Factor (",["0"]," v3)"],"Health factor":"Health factor","Health factor is lesser than the liquidation threshold":"Health factor is lesser than the liquidation threshold","Health factor is not below the threshold":"Health factor is not below the threshold","Hide":"Hide","Holders of stkAAVE receive a discount on the GHO borrowing rate":"Holders of stkAAVE receive a discount on the GHO borrowing rate","I acknowledge the risks involved.":"I acknowledge the risks involved.","I fully understand the risks of migrating.":"I fully understand the risks of migrating.","I understand how cooldown ({0}) and unstaking ({1}) work":["I understand how cooldown (",["0"],") and unstaking (",["1"],") work"],"If the error continues to happen,<0/> you may report it to this":"If the error continues to happen,<0/> you may report it to this","If the health factor goes below 1, the liquidation of your collateral might be triggered.":"If the health factor goes below 1, the liquidation of your collateral might be triggered.","If you DO NOT unstake within {0} of unstake window, you will need to activate cooldown process again.":["If you DO NOT unstake within ",["0"]," of unstake window, you will need to activate cooldown process again."],"If your loan to value goes above the liquidation threshold your collateral supplied may be liquidated.":"If your loan to value goes above the liquidation threshold your collateral supplied may be liquidated.","In E-Mode some assets are not borrowable. Exit E-Mode to get access to all assets":"In E-Mode some assets are not borrowable. Exit E-Mode to get access to all assets","In Isolation mode, you cannot supply other assets as collateral. A global debt ceiling limits the borrowing power of the isolated asset. To exit isolation mode disable {0} as collateral before borrowing another asset. Read more in our <0>FAQ":["In Isolation mode, you cannot supply other assets as collateral. A global debt ceiling limits the borrowing power of the isolated asset. To exit isolation mode disable ",["0"]," as collateral before borrowing another asset. Read more in our <0>FAQ"],"Inconsistent flashloan parameters":"Inconsistent flashloan parameters","Insufficient collateral to cover new borrow position. Wallet must have borrowing power remaining to perform debt switch.":"Insufficient collateral to cover new borrow position. Wallet must have borrowing power remaining to perform debt switch.","Interest accrued":"Interest accrued","Interest rate rebalance conditions were not met":"Interest rate rebalance conditions were not met","Interest rate strategy":"Interest rate strategy","Interest rate that is determined by Aave Governance. This rate may be changed over time depending on the need for the GHO supply to contract/expand. <0>Learn more":"Interest rate that is determined by Aave Governance. This rate may be changed over time depending on the need for the GHO supply to contract/expand. <0>Learn more","Invalid amount to burn":"Invalid amount to burn","Invalid amount to mint":"Invalid amount to mint","Invalid bridge protocol fee":"Invalid bridge protocol fee","Invalid expiration":"Invalid expiration","Invalid flashloan premium":"Invalid flashloan premium","Invalid return value of the flashloan executor function":"Invalid return value of the flashloan executor function","Invalid signature":"Invalid signature","Isolated":"Isolated","Isolated Debt Ceiling":"Isolated Debt Ceiling","Isolated assets have limited borrowing power and other assets cannot be used as collateral.":"Isolated assets have limited borrowing power and other assets cannot be used as collateral.","Join the community discussion":"Join the community discussion","LEARN MORE":"LEARN MORE","Language":"Language","Learn more":"Learn more","Learn more about risks involved":"Learn more about risks involved","Learn more in our <0>FAQ guide":"Learn more in our <0>FAQ guide","Learn more.":"Learn more.","Linked addresses":"Linked addresses","Links":"Links","Liqudation":"Liqudation","Liquidated collateral":"Liquidated collateral","Liquidation":"Liquidation","Liquidation <0/> threshold":"Liquidation <0/> threshold","Liquidation Threshold":"Liquidation Threshold","Liquidation at":"Liquidation at","Liquidation penalty":"Liquidation penalty","Liquidation risk":"Liquidation risk","Liquidation risk parameters":"Liquidation risk parameters","Liquidation threshold":"Liquidation threshold","Liquidation value":"Liquidation value","Loading data...":"Loading data...","Ltv validation failed":"Ltv validation failed","MAI has been paused due to a community decision. Supply, borrows and repays are impacted. <0>More details":"MAI has been paused due to a community decision. Supply, borrows and repays are impacted. <0>More details","MAX":"MAX","Manage analytics":"Manage analytics","Market":"Market","Markets":"Markets","Max":"Max","Max LTV":"Max LTV","Max slashing":"Max slashing","Max slippage":"Max slippage","Maximum amount available to borrow against this asset is limited because debt ceiling is at {0}%.":["Maximum amount available to borrow against this asset is limited because debt ceiling is at ",["0"],"%."],"Maximum amount available to borrow is <0/> {0} (<1/>).":["Maximum amount available to borrow is <0/> ",["0"]," (<1/>)."],"Maximum amount available to borrow is limited because protocol borrow cap is nearly reached.":"Maximum amount available to borrow is limited because protocol borrow cap is nearly reached.","Maximum amount available to supply is <0/> {0} (<1/>).":["Maximum amount available to supply is <0/> ",["0"]," (<1/>)."],"Maximum amount available to supply is limited because protocol supply cap is at {0}%.":["Maximum amount available to supply is limited because protocol supply cap is at ",["0"],"%."],"Maximum loan to value":"Maximum loan to value","Meet GHO":"Meet GHO","Menu":"Menu","Migrate":"Migrate","Migrate to V3":"Migrate to V3","Migrate to v3":"Migrate to v3","Migrate to {0} v3 Market":["Migrate to ",["0"]," v3 Market"],"Migrated":"Migrated","Migrating":"Migrating","Migrating multiple collaterals and borrowed assets at the same time can be an expensive operation and might fail in certain situations.<0>Therefore it’s not recommended to migrate positions with more than 5 assets (deposited + borrowed) at the same time.":"Migrating multiple collaterals and borrowed assets at the same time can be an expensive operation and might fail in certain situations.<0>Therefore it’s not recommended to migrate positions with more than 5 assets (deposited + borrowed) at the same time.","Migration risks":"Migration risks","Minimum GHO borrow amount":"Minimum GHO borrow amount","Minimum USD value received":"Minimum USD value received","Minimum staked Aave amount":"Minimum staked Aave amount","Minimum {0} received":["Minimum ",["0"]," received"],"More":"More","NAY":"NAY","Need help connecting a wallet? <0>Read our FAQ":"Need help connecting a wallet? <0>Read our FAQ","Net APR":"Net APR","Net APY":"Net APY","Net APY is the combined effect of all supply and borrow positions on net worth, including incentives. It is possible to have a negative net APY if debt APY is higher than supply APY.":"Net APY is the combined effect of all supply and borrow positions on net worth, including incentives. It is possible to have a negative net APY if debt APY is higher than supply APY.","Net worth":"Net worth","Network":"Network","Network not supported for this wallet":"Network not supported for this wallet","New APY":"New APY","No assets selected to migrate.":"No assets selected to migrate.","No rewards to claim":"No rewards to claim","No search results{0}":["No search results",["0"]],"No transactions yet.":"No transactions yet.","No voting power":"No voting power","None":"None","Not a valid address":"Not a valid address","Not enough balance on your wallet":"Not enough balance on your wallet","Not enough collateral to repay this amount of debt with":"Not enough collateral to repay this amount of debt with","Not enough staked balance":"Not enough staked balance","Not enough voting power to participate in this proposal":"Not enough voting power to participate in this proposal","Not reached":"Not reached","Nothing borrowed yet":"Nothing borrowed yet","Nothing found":"Nothing found","Nothing staked":"Nothing staked","Nothing supplied yet":"Nothing supplied yet","Notify":"Notify","Ok, Close":"Ok, Close","Ok, I got it":"Ok, I got it","Open for voting":"Open for voting","Operation not supported":"Operation not supported","Oracle price":"Oracle price","Overview":"Overview","Page not found":"Page not found","Participating in this {symbol} reserve gives annualized rewards.":["Participating in this ",["symbol"]," reserve gives annualized rewards."],"Payloads executed":"Payloads executed","Pending...":"Pending...","Per the community, the Fantom market has been frozen.":"Per the community, the Fantom market has been frozen.","Per the community, the V2 AMM market has been deprecated.":"Per the community, the V2 AMM market has been deprecated.","Please always be aware of your <0>Health Factor (HF) when partially migrating a position and that your rates will be updated to V3 rates.":"Please always be aware of your <0>Health Factor (HF) when partially migrating a position and that your rates will be updated to V3 rates.","Please connect a wallet to view your personal information here.":"Please connect a wallet to view your personal information here.","Please connect your wallet to be able to switch your tokens.":"Please connect your wallet to be able to switch your tokens.","Please connect your wallet to get free testnet assets.":"Please connect your wallet to get free testnet assets.","Please connect your wallet to see migration tool.":"Please connect your wallet to see migration tool.","Please connect your wallet to see your supplies, borrowings, and open positions.":"Please connect your wallet to see your supplies, borrowings, and open positions.","Please connect your wallet to view transaction history.":"Please connect your wallet to view transaction history.","Please enter a valid wallet address.":"Please enter a valid wallet address.","Please switch to {networkName}.":["Please switch to ",["networkName"],"."],"Please, connect your wallet":"Please, connect your wallet","Pool addresses provider is not registered":"Pool addresses provider is not registered","Powered by":"Powered by","Preview tx and migrate":"Preview tx and migrate","Price":"Price","Price data is not currently available for this reserve on the protocol subgraph":"Price data is not currently available for this reserve on the protocol subgraph","Price impact":"Price impact","Price impact is the spread between the total value of the entry tokens switched and the destination tokens obtained (in USD), which results from the limited liquidity of the trading pair.":"Price impact is the spread between the total value of the entry tokens switched and the destination tokens obtained (in USD), which results from the limited liquidity of the trading pair.","Price impact {0}%":["Price impact ",["0"],"%"],"Privacy":"Privacy","Proposal details":"Proposal details","Proposal overview":"Proposal overview","Proposals":"Proposals","Proposition":"Proposition","Protocol borrow cap at 100% for this asset. Further borrowing unavailable.":"Protocol borrow cap at 100% for this asset. Further borrowing unavailable.","Protocol borrow cap is at 100% for this asset. Further borrowing unavailable.":"Protocol borrow cap is at 100% for this asset. Further borrowing unavailable.","Protocol debt ceiling is at 100% for this asset. Further borrowing against this asset is unavailable.":"Protocol debt ceiling is at 100% for this asset. Further borrowing against this asset is unavailable.","Protocol debt ceiling is at 100% for this asset. Futher borrowing against this asset is unavailable.":"Protocol debt ceiling is at 100% for this asset. Futher borrowing against this asset is unavailable.","Protocol supply cap at 100% for this asset. Further supply unavailable.":"Protocol supply cap at 100% for this asset. Further supply unavailable.","Protocol supply cap is at 100% for this asset. Further supply unavailable.":"Protocol supply cap is at 100% for this asset. Further supply unavailable.","Quorum":"Quorum","Rate change":"Rate change","Raw-Ipfs":"Raw-Ipfs","Reached":"Reached","Reactivate cooldown period to unstake {0} {stakedToken}":["Reactivate cooldown period to unstake ",["0"]," ",["stakedToken"]],"Read more here.":"Read more here.","Read-only mode allows to see address positions in Aave, but you won't be able to perform transactions.":"Read-only mode allows to see address positions in Aave, but you won't be able to perform transactions.","Read-only mode.":"Read-only mode.","Read-only mode. Connect to a wallet to perform transactions.":"Read-only mode. Connect to a wallet to perform transactions.","Receive (est.)":"Receive (est.)","Received":"Received","Recipient address":"Recipient address","Rejected connection request":"Rejected connection request","Reload":"Reload","Reload the page":"Reload the page","Remaining debt":"Remaining debt","Remaining supply":"Remaining supply","Remove":"Remove","Repaid":"Repaid","Repay":"Repay","Repay with":"Repay with","Repay {symbol}":["Repay ",["symbol"]],"Repaying {symbol}":["Repaying ",["symbol"]],"Repayment amount to reach {0}% utilization":["Repayment amount to reach ",["0"],"% utilization"],"Representative smart contract wallet (ie. Safe) addresses on other chains.":"Representative smart contract wallet (ie. Safe) addresses on other chains.","Representing smart contract wallet (ie. Safe) addresses on other chains.":"Representing smart contract wallet (ie. Safe) addresses on other chains.","Reserve Size":"Reserve Size","Reserve factor":"Reserve factor","Reserve factor is a percentage of interest which goes to a {0} that is controlled by Aave governance to promote ecosystem growth.":["Reserve factor is a percentage of interest which goes to a ",["0"]," that is controlled by Aave governance to promote ecosystem growth."],"Reserve status & configuration":"Reserve status & configuration","Reset":"Reset","Restake":"Restake","Restake {symbol}":["Restake ",["symbol"]],"Restaked":"Restaked","Restaking {symbol}":["Restaking ",["symbol"]],"Review approval tx details":"Review approval tx details","Review changes to continue":"Review changes to continue","Review tx":"Review tx","Review tx details":"Review tx details","Revoke power":"Revoke power","Reward(s) to claim":"Reward(s) to claim","Rewards APR":"Rewards APR","Risk details":"Risk details","SEE CHARTS":"SEE CHARTS","Safety of your deposited collateral against the borrowed assets and its underlying value.":"Safety of your deposited collateral against the borrowed assets and its underlying value.","Save and share":"Save and share","Seems like we can't switch the network automatically. Please check if you can change it from the wallet.":"Seems like we can't switch the network automatically. Please check if you can change it from the wallet.","Select":"Select","Select APY type to switch":"Select APY type to switch","Select an asset":"Select an asset","Select language":"Select language","Select slippage tolerance":"Select slippage tolerance","Select v2 borrows to migrate":"Select v2 borrows to migrate","Select v2 supplies to migrate":"Select v2 supplies to migrate","Selected assets have successfully migrated. Visit the Market Dashboard to see them.":"Selected assets have successfully migrated. Visit the Market Dashboard to see them.","Selected borrow assets":"Selected borrow assets","Selected supply assets":"Selected supply assets","Send feedback":"Send feedback","Set up delegation":"Set up delegation","Setup notifications about your Health Factor using the Hal app.":"Setup notifications about your Health Factor using the Hal app.","Share on Lens":"Share on Lens","Share on twitter":"Share on twitter","Show":"Show","Show Frozen or paused assets":"Show Frozen or paused assets","Show assets with 0 balance":"Show assets with 0 balance","Sign to continue":"Sign to continue","Signatures ready":"Signatures ready","Signing":"Signing","Since this asset is frozen, the only available actions are withdraw and repay which can be accessed from the <0>Dashboard":"Since this asset is frozen, the only available actions are withdraw and repay which can be accessed from the <0>Dashboard","Since this is a test network, you can get any of the assets if you have ETH on your wallet":"Since this is a test network, you can get any of the assets if you have ETH on your wallet","Slippage":"Slippage","Slippage is the difference between the quoted and received amounts from changing market conditions between the moment the transaction is submitted and its verification.":"Slippage is the difference between the quoted and received amounts from changing market conditions between the moment the transaction is submitted and its verification.","Some migrated assets will not be used as collateral due to enabled isolation mode in {marketName} V3 Market. Visit <0>{marketName} V3 Dashboard to manage isolation mode.":["Some migrated assets will not be used as collateral due to enabled isolation mode in ",["marketName"]," V3 Market. Visit <0>",["marketName"]," V3 Dashboard to manage isolation mode."],"Something went wrong":"Something went wrong","Sorry, an unexpected error happened. In the meantime you may try reloading the page, or come back later.":"Sorry, an unexpected error happened. In the meantime you may try reloading the page, or come back later.","Sorry, we couldn't find the page you were looking for.":"Sorry, we couldn't find the page you were looking for.","Spanish":"Spanish","Stable":"Stable","Stable Interest Type is disabled for this currency":"Stable Interest Type is disabled for this currency","Stable borrowing is enabled":"Stable borrowing is enabled","Stable borrowing is not enabled":"Stable borrowing is not enabled","Stable debt supply is not zero":"Stable debt supply is not zero","Stable interest rate will <0>stay the same for the duration of your loan. Recommended for long-term loan periods and for users who prefer predictability.":"Stable interest rate will <0>stay the same for the duration of your loan. Recommended for long-term loan periods and for users who prefer predictability.","Stablecoin":"Stablecoin","Stake":"Stake","Stake AAVE":"Stake AAVE","Stake ABPT":"Stake ABPT","Stake cooldown activated":"Stake cooldown activated","Staked":"Staked","Staking":"Staking","Staking APR":"Staking APR","Staking Rewards":"Staking Rewards","Staking balance":"Staking balance","Staking discount":"Staking discount","State":"State","Supplied":"Supplied","Supplied asset amount":"Supplied asset amount","Supply":"Supply","Supply APY":"Supply APY","Supply apy":"Supply apy","Supply balance":"Supply balance","Supply balance after switch":"Supply balance after switch","Supply cap is exceeded":"Supply cap is exceeded","Supply cap on target reserve reached. Try lowering the amount.":"Supply cap on target reserve reached. Try lowering the amount.","Supply {symbol}":["Supply ",["symbol"]],"Supplying your":"Supplying your","Supplying {symbol}":["Supplying ",["symbol"]],"Switch":"Switch","Switch APY type":"Switch APY type","Switch E-Mode":"Switch E-Mode","Switch E-Mode category":"Switch E-Mode category","Switch Network":"Switch Network","Switch borrow position":"Switch borrow position","Switch rate":"Switch rate","Switch to":"Switch to","Switched":"Switched","Switching":"Switching","Switching E-Mode":"Switching E-Mode","Switching rate":"Switching rate","Techpaper":"Techpaper","Terms":"Terms","Test Assets":"Test Assets","Testnet mode":"Testnet mode","Testnet mode is ON":"Testnet mode is ON","Thank you for voting!!":"Thank you for voting!!","The % of your total borrowing power used. This is based on the amount of your collateral supplied and the total amount that you can borrow.":"The % of your total borrowing power used. This is based on the amount of your collateral supplied and the total amount that you can borrow.","The Aave Balancer Pool Token (ABPT) is a liquidity pool token. You can receive ABPT by depositing a combination of AAVE + ETH in the Balancer liquidity pool. You can then stake your BPT in the Safety Module to secure the protocol and earn Safety Incentives.":"The Aave Balancer Pool Token (ABPT) is a liquidity pool token. You can receive ABPT by depositing a combination of AAVE + ETH in the Balancer liquidity pool. You can then stake your BPT in the Safety Module to secure the protocol and earn Safety Incentives.","The Aave Protocol is programmed to always use the price of 1 GHO = $1. This is different from using market pricing via oracles for other crypto assets. This creates stabilizing arbitrage opportunities when the price of GHO fluctuates.":"The Aave Protocol is programmed to always use the price of 1 GHO = $1. This is different from using market pricing via oracles for other crypto assets. This creates stabilizing arbitrage opportunities when the price of GHO fluctuates.","The Maximum LTV ratio represents the maximum borrowing power of a specific collateral. For example, if a collateral has an LTV of 75%, the user can borrow up to 0.75 worth of ETH in the principal currency for every 1 ETH worth of collateral.":"The Maximum LTV ratio represents the maximum borrowing power of a specific collateral. For example, if a collateral has an LTV of 75%, the user can borrow up to 0.75 worth of ETH in the principal currency for every 1 ETH worth of collateral.","The Stable Rate is not enabled for this currency":"The Stable Rate is not enabled for this currency","The address of the pool addresses provider is invalid":"The address of the pool addresses provider is invalid","The app is running in testnet mode. Learn how it works in":"The app is running in testnet mode. Learn how it works in","The caller of the function is not an AToken":"The caller of the function is not an AToken","The caller of this function must be a pool":"The caller of this function must be a pool","The collateral balance is 0":"The collateral balance is 0","The collateral chosen cannot be liquidated":"The collateral chosen cannot be liquidated","The cooldown period is the time required prior to unstaking your tokens (20 days). You can only withdraw your assets from the Security Module after the cooldown period and within the unstake window.<0>Learn more":"The cooldown period is the time required prior to unstaking your tokens (20 days). You can only withdraw your assets from the Security Module after the cooldown period and within the unstake window.<0>Learn more","The cooldown period is {0}. After {1} of cooldown, you will enter unstake window of {2}. You will continue receiving rewards during cooldown and unstake window.":["The cooldown period is ",["0"],". After ",["1"]," of cooldown, you will enter unstake window of ",["2"],". You will continue receiving rewards during cooldown and unstake window."],"The effects on the health factor would cause liquidation. Try lowering the amount.":"The effects on the health factor would cause liquidation. Try lowering the amount.","The loan to value of the migrated positions would cause liquidation. Increase migrated collateral or reduce migrated borrow to continue.":"The loan to value of the migrated positions would cause liquidation. Increase migrated collateral or reduce migrated borrow to continue.","The requested amount is greater than the max loan size in stable rate mode":"The requested amount is greater than the max loan size in stable rate mode","The total amount of your assets denominated in USD that can be used as collateral for borrowing assets.":"The total amount of your assets denominated in USD that can be used as collateral for borrowing assets.","The underlying asset cannot be rescued":"The underlying asset cannot be rescued","The underlying balance needs to be greater than 0":"The underlying balance needs to be greater than 0","The weighted average of APY for all borrowed assets, including incentives.":"The weighted average of APY for all borrowed assets, including incentives.","The weighted average of APY for all supplied assets, including incentives.":"The weighted average of APY for all supplied assets, including incentives.","There are not enough funds in the{0}reserve to borrow":["There are not enough funds in the",["0"],"reserve to borrow"],"There is not enough collateral to cover a new borrow":"There is not enough collateral to cover a new borrow","There is not enough liquidity for the target asset to perform the switch. Try lowering the amount.":"There is not enough liquidity for the target asset to perform the switch. Try lowering the amount.","There was some error. Please try changing the parameters or <0><1>copy the error":"There was some error. Please try changing the parameters or <0><1>copy the error","These assets are temporarily frozen or paused by Aave community decisions, meaning that further supply / borrow, or rate swap of these assets are unavailable. Withdrawals and debt repayments are allowed. Follow the <0>Aave governance forum for further updates.":"These assets are temporarily frozen or paused by Aave community decisions, meaning that further supply / borrow, or rate swap of these assets are unavailable. Withdrawals and debt repayments are allowed. Follow the <0>Aave governance forum for further updates.","These funds have been borrowed and are not available for withdrawal at this time.":"These funds have been borrowed and are not available for withdrawal at this time.","This action will reduce V2 health factor below liquidation threshold. retain collateral or migrate borrow position to continue.":"This action will reduce V2 health factor below liquidation threshold. retain collateral or migrate borrow position to continue.","This action will reduce health factor of V3 below liquidation threshold. Increase migrated collateral or reduce migrated borrow to continue.":"This action will reduce health factor of V3 below liquidation threshold. Increase migrated collateral or reduce migrated borrow to continue.","This action will reduce your health factor. Please be mindful of the increased risk of collateral liquidation.":"This action will reduce your health factor. Please be mindful of the increased risk of collateral liquidation.","This address is blocked on app.aave.com because it is associated with one or more":"This address is blocked on app.aave.com because it is associated with one or more","This asset has almost reached its borrow cap. There is only {messageValue} available to be borrowed from this market.":["This asset has almost reached its borrow cap. There is only ",["messageValue"]," available to be borrowed from this market."],"This asset has almost reached its supply cap. There can only be {messageValue} supplied to this market.":["This asset has almost reached its supply cap. There can only be ",["messageValue"]," supplied to this market."],"This asset has been paused due to a community decision. Supply, withdraw, borrows and repays are impacted.":"This asset has been paused due to a community decision. Supply, withdraw, borrows and repays are impacted.","This asset has reached its borrow cap. Nothing is available to be borrowed from this market.":"This asset has reached its borrow cap. Nothing is available to be borrowed from this market.","This asset has reached its supply cap. Nothing is available to be supplied from this market.":"This asset has reached its supply cap. Nothing is available to be supplied from this market.","This asset is frozen due to an Aave Protocol Governance decision. <0>More details":"This asset is frozen due to an Aave Protocol Governance decision. <0>More details","This asset is frozen due to an Aave Protocol Governance decision. On the 20th of December 2022, renFIL will no longer be supported and cannot be bridged back to its native network. It is recommended to withdraw supply positions and repay borrow positions so that renFIL can be bridged back to FIL before the deadline. After this date, it will no longer be possible to convert renFIL to FIL. <0>More details":"This asset is frozen due to an Aave Protocol Governance decision. On the 20th of December 2022, renFIL will no longer be supported and cannot be bridged back to its native network. It is recommended to withdraw supply positions and repay borrow positions so that renFIL can be bridged back to FIL before the deadline. After this date, it will no longer be possible to convert renFIL to FIL. <0>More details","This asset is frozen due to an Aave community decision. <0>More details":"This asset is frozen due to an Aave community decision. <0>More details","This asset is planned to be offboarded due to an Aave Protocol Governance decision. <0>More details":"This asset is planned to be offboarded due to an Aave Protocol Governance decision. <0>More details","This gas calculation is only an estimation. Your wallet will set the price of the transaction. You can modify the gas settings directly from your wallet provider.":"This gas calculation is only an estimation. Your wallet will set the price of the transaction. You can modify the gas settings directly from your wallet provider.","This integration was<0>proposed and approvedby the community.":"This integration was<0>proposed and approvedby the community.","This is the total amount available for you to borrow. You can borrow based on your collateral and until the borrow cap is reached.":"This is the total amount available for you to borrow. You can borrow based on your collateral and until the borrow cap is reached.","This is the total amount that you are able to supply to in this reserve. You are able to supply your wallet balance up until the supply cap is reached.":"This is the total amount that you are able to supply to in this reserve. You are able to supply your wallet balance up until the supply cap is reached.","This represents the threshold at which a borrow position will be considered undercollateralized and subject to liquidation for each collateral. For example, if a collateral has a liquidation threshold of 80%, it means that the position will be liquidated when the debt value is worth 80% of the collateral value.":"This represents the threshold at which a borrow position will be considered undercollateralized and subject to liquidation for each collateral. For example, if a collateral has a liquidation threshold of 80%, it means that the position will be liquidated when the debt value is worth 80% of the collateral value.","Time left to be able to withdraw your staked asset.":"Time left to be able to withdraw your staked asset.","Time left to unstake":"Time left to unstake","Time left until the withdrawal window closes.":"Time left until the withdrawal window closes.","Tip: Try increasing slippage or reduce input amount":"Tip: Try increasing slippage or reduce input amount","To borrow you need to supply any asset to be used as collateral.":"To borrow you need to supply any asset to be used as collateral.","To continue, you need to grant Aave smart contracts permission to move your funds from your wallet. Depending on the asset and wallet you use, it is done by signing the permission message (gas free), or by submitting an approval transaction (requires gas). <0>Learn more":"To continue, you need to grant Aave smart contracts permission to move your funds from your wallet. Depending on the asset and wallet you use, it is done by signing the permission message (gas free), or by submitting an approval transaction (requires gas). <0>Learn more","To enable E-mode for the {0} category, all borrow positions outside of this category must be closed.":["To enable E-mode for the ",["0"]," category, all borrow positions outside of this category must be closed."],"To repay on behalf of a user an explicit amount to repay is needed":"To repay on behalf of a user an explicit amount to repay is needed","To request access for this permissioned market, please visit: <0>Acces Provider Name":"To request access for this permissioned market, please visit: <0>Acces Provider Name","To submit a proposal for minor changes to the protocol, you'll need at least 80.00K power. If you want to change the core code base, you'll need 320k power.<0>Learn more.":"To submit a proposal for minor changes to the protocol, you'll need at least 80.00K power. If you want to change the core code base, you'll need 320k power.<0>Learn more.","Top 10 addresses":"Top 10 addresses","Total available":"Total available","Total borrowed":"Total borrowed","Total borrows":"Total borrows","Total emission per day":"Total emission per day","Total interest accrued":"Total interest accrued","Total market size":"Total market size","Total supplied":"Total supplied","Total worth":"Total worth","Track wallet":"Track wallet","Track wallet balance in read-only mode":"Track wallet balance in read-only mode","Transaction failed":"Transaction failed","Transaction history":"Transaction history","Transaction history is not currently available for this market":"Transaction history is not currently available for this market","Transaction overview":"Transaction overview","Transactions":"Transactions","UNSTAKE {symbol}":["UNSTAKE ",["symbol"]],"Unavailable":"Unavailable","Unbacked":"Unbacked","Unbacked mint cap is exceeded":"Unbacked mint cap is exceeded","Underlying asset does not exist in {marketName} v3 Market, hence this position cannot be migrated.":["Underlying asset does not exist in ",["marketName"]," v3 Market, hence this position cannot be migrated."],"Underlying token":"Underlying token","Unstake now":"Unstake now","Unstake window":"Unstake window","Unstaked":"Unstaked","Unstaking {symbol}":["Unstaking ",["symbol"]],"Update: Disruptions reported for WETH, WBTC, WMATIC, and USDT. AIP 230 will resolve the disruptions and the market will be operating as normal on ~26th May 13h00 UTC.":"Update: Disruptions reported for WETH, WBTC, WMATIC, and USDT. AIP 230 will resolve the disruptions and the market will be operating as normal on ~26th May 13h00 UTC.","Use it to vote for or against active proposals.":"Use it to vote for or against active proposals.","Use your AAVE, stkAAVE, or aAave balance to delegate your voting and proposition powers. You will not be sending any tokens, only the rights to vote and propose changes to the protocol. You can re-delegate or revoke power to self at any time.":"Use your AAVE, stkAAVE, or aAave balance to delegate your voting and proposition powers. You will not be sending any tokens, only the rights to vote and propose changes to the protocol. You can re-delegate or revoke power to self at any time.","Used as collateral":"Used as collateral","User cannot withdraw more than the available balance":"User cannot withdraw more than the available balance","User did not borrow the specified currency":"User did not borrow the specified currency","User does not have outstanding stable rate debt on this reserve":"User does not have outstanding stable rate debt on this reserve","User does not have outstanding variable rate debt on this reserve":"User does not have outstanding variable rate debt on this reserve","User is in isolation mode":"User is in isolation mode","User is trying to borrow multiple assets including a siloed one":"User is trying to borrow multiple assets including a siloed one","Users who stake AAVE in Safety Module (i.e. stkAAVE holders) receive a discount on GHO borrow interest rate. The discount applies to 100 GHO for every 1 stkAAVE held. Use the calculator below to see GHO borrow rate with the discount applied.":"Users who stake AAVE in Safety Module (i.e. stkAAVE holders) receive a discount on GHO borrow interest rate. The discount applies to 100 GHO for every 1 stkAAVE held. Use the calculator below to see GHO borrow rate with the discount applied.","Utilization Rate":"Utilization Rate","VIEW TX":"VIEW TX","VOTE NAY":"VOTE NAY","VOTE YAE":"VOTE YAE","Variable":"Variable","Variable debt supply is not zero":"Variable debt supply is not zero","Variable interest rate will <0>fluctuate based on the market conditions. Recommended for short-term positions.":"Variable interest rate will <0>fluctuate based on the market conditions. Recommended for short-term positions.","Variable rate":"Variable rate","Version 2":"Version 2","Version 3":"Version 3","View":"View","View Transactions":"View Transactions","View all votes":"View all votes","View contract":"View contract","View details":"View details","View on Explorer":"View on Explorer","Vote NAY":"Vote NAY","Vote YAE":"Vote YAE","Voted NAY":"Voted NAY","Voted YAE":"Voted YAE","Votes":"Votes","Voting":"Voting","Voting closed":"Voting closed","Voting power":"Voting power","Voting results":"Voting results","Wallet Balance":"Wallet Balance","Wallet balance":"Wallet balance","Wallet not detected. Connect or install wallet and retry":"Wallet not detected. Connect or install wallet and retry","Wallets are provided by External Providers and by selecting you agree to Terms of those Providers. Your access to the wallet might be reliant on the External Provider being operational.":"Wallets are provided by External Providers and by selecting you agree to Terms of those Providers. Your access to the wallet might be reliant on the External Provider being operational.","We couldn't find any assets related to your search. Try again with a different asset name, symbol, or address.":"We couldn't find any assets related to your search. Try again with a different asset name, symbol, or address.","We couldn't find any transactions related to your search. Try again with a different asset name, or reset filters.":"We couldn't find any transactions related to your search. Try again with a different asset name, or reset filters.","We couldn’t detect a wallet. Connect a wallet to stake and view your balance.":"We couldn’t detect a wallet. Connect a wallet to stake and view your balance.","We suggest you go back to the Dashboard.":"We suggest you go back to the Dashboard.","Website":"Website","When a liquidation occurs, liquidators repay up to 50% of the outstanding borrowed amount on behalf of the borrower. In return, they can buy the collateral at a discount and keep the difference (liquidation penalty) as a bonus.":"When a liquidation occurs, liquidators repay up to 50% of the outstanding borrowed amount on behalf of the borrower. In return, they can buy the collateral at a discount and keep the difference (liquidation penalty) as a bonus.","With a voting power of <0/>":"With a voting power of <0/>","With testnet Faucet you can get free assets to test the Aave Protocol. Make sure to switch your wallet provider to the appropriate testnet network, select desired asset, and click ‘Faucet’ to get tokens transferred to your wallet. The assets on a testnet are not “real,” meaning they have no monetary value. <0>Learn more":"With testnet Faucet you can get free assets to test the Aave Protocol. Make sure to switch your wallet provider to the appropriate testnet network, select desired asset, and click ‘Faucet’ to get tokens transferred to your wallet. The assets on a testnet are not “real,” meaning they have no monetary value. <0>Learn more","Withdraw":"Withdraw","Withdraw & Switch":"Withdraw & Switch","Withdraw and Switch":"Withdraw and Switch","Withdraw {symbol}":["Withdraw ",["symbol"]],"Withdrawing and Switching":"Withdrawing and Switching","Withdrawing this amount will reduce your health factor and increase risk of liquidation.":"Withdrawing this amount will reduce your health factor and increase risk of liquidation.","Withdrawing {symbol}":["Withdrawing ",["symbol"]],"Wrong Network":"Wrong Network","YAE":"YAE","You are entering Isolation mode":"You are entering Isolation mode","You can borrow this asset with a stable rate only if you borrow more than the amount you are supplying as collateral.":"You can borrow this asset with a stable rate only if you borrow more than the amount you are supplying as collateral.","You can not change Interest Type to stable as your borrowings are higher than your collateral":"You can not change Interest Type to stable as your borrowings are higher than your collateral","You can not disable E-Mode as your current collateralization level is above 80%, disabling E-Mode can cause liquidation. To exit E-Mode supply or repay borrowed positions.":"You can not disable E-Mode as your current collateralization level is above 80%, disabling E-Mode can cause liquidation. To exit E-Mode supply or repay borrowed positions.","You can not switch usage as collateral mode for this currency, because it will cause collateral call":"You can not switch usage as collateral mode for this currency, because it will cause collateral call","You can not use this currency as collateral":"You can not use this currency as collateral","You can not withdraw this amount because it will cause collateral call":"You can not withdraw this amount because it will cause collateral call","You can only switch to tokens with variable APY types. After this transaction, you may change the variable rate to a stable one if available.":"You can only switch to tokens with variable APY types. After this transaction, you may change the variable rate to a stable one if available.","You can only withdraw your assets from the Security Module after the cooldown period ends and the unstake window is active.":"You can only withdraw your assets from the Security Module after the cooldown period ends and the unstake window is active.","You can report incident to our <0>Discord or<1>Github.":"You can report incident to our <0>Discord or<1>Github.","You cancelled the transaction.":"You cancelled the transaction.","You did not participate in this proposal":"You did not participate in this proposal","You do not have supplies in this currency":"You do not have supplies in this currency","You don’t have enough funds in your wallet to repay the full amount. If you proceed to repay with your current amount of funds, you will still have a small borrowing position in your dashboard.":"You don’t have enough funds in your wallet to repay the full amount. If you proceed to repay with your current amount of funds, you will still have a small borrowing position in your dashboard.","You have no AAVE/stkAAVE/aAave balance to delegate.":"You have no AAVE/stkAAVE/aAave balance to delegate.","You have not borrow yet using this currency":"You have not borrow yet using this currency","You may borrow up to <0/> GHO at <1/> (max discount)":"You may borrow up to <0/> GHO at <1/> (max discount)","You may enter a custom amount in the field.":"You may enter a custom amount in the field.","You switched to {0} rate":["You switched to ",["0"]," rate"],"You unstake here":"You unstake here","You voted {0}":["You voted ",["0"]],"You will exit isolation mode and other tokens can now be used as collateral":"You will exit isolation mode and other tokens can now be used as collateral","You {action} <0/> {symbol}":["You ",["action"]," <0/> ",["symbol"]],"You've successfully switched borrow position.":"You've successfully switched borrow position.","You've successfully switched tokens.":"You've successfully switched tokens.","You've successfully withdrew & switched tokens.":"You've successfully withdrew & switched tokens.","Your balance is lower than the selected amount.":"Your balance is lower than the selected amount.","Your borrows":"Your borrows","Your current loan to value based on your collateral supplied.":"Your current loan to value based on your collateral supplied.","Your health factor and loan to value determine the assurance of your collateral. To avoid liquidations you can supply more collateral or repay borrow positions.":"Your health factor and loan to value determine the assurance of your collateral. To avoid liquidations you can supply more collateral or repay borrow positions.","Your info":"Your info","Your proposition power is based on your AAVE/stkAAVE balance and received delegations.":"Your proposition power is based on your AAVE/stkAAVE balance and received delegations.","Your reward balance is 0":"Your reward balance is 0","Your supplies":"Your supplies","Your voting info":"Your voting info","Your voting power is based on your AAVE/stkAAVE balance and received delegations.":"Your voting power is based on your AAVE/stkAAVE balance and received delegations.","Your {name} wallet is empty. Purchase or transfer assets or use <0>{0} to transfer your {network} assets.":["Your ",["name"]," wallet is empty. Purchase or transfer assets or use <0>",["0"]," to transfer your ",["network"]," assets."],"Your {name} wallet is empty. Purchase or transfer assets.":["Your ",["name"]," wallet is empty. Purchase or transfer assets."],"Your {networkName} wallet is empty. Get free test assets at":["Your ",["networkName"]," wallet is empty. Get free test assets at"],"Your {networkName} wallet is empty. Get free test {0} at":["Your ",["networkName"]," wallet is empty. Get free test ",["0"]," at"],"Zero address not valid":"Zero address not valid","assets":"assets","blocked activities":"blocked activities","copy the error":"copy the error","disabled":"disabled","documentation":"documentation","enabled":"enabled","ends":"ends","for":"for","of":"of","on":"on","please check that the amount you want to supply is not currently being used for staking. If it is being used for staking, your transaction might fail.":"please check that the amount you want to supply is not currently being used for staking. If it is being used for staking, your transaction might fail.","repaid":"repaid","stETH supplied as collateral will continue to accrue staking rewards provided by daily rebases.":"stETH supplied as collateral will continue to accrue staking rewards provided by daily rebases.","stETH tokens will be migrated to Wrapped stETH using Lido Protocol wrapper which leads to supply balance change after migration: {0}":["stETH tokens will be migrated to Wrapped stETH using Lido Protocol wrapper which leads to supply balance change after migration: ",["0"]],"staking view":"staking view","starts":"starts","stkAAVE holders get a discount on GHO borrow rate":"stkAAVE holders get a discount on GHO borrow rate","to":"to","tokens is not the same as staking them. If you wish to stake your":"tokens is not the same as staking them. If you wish to stake your","tokens, please go to the":"tokens, please go to the","withdrew":"withdrew","{0}":[["0"]],"{0} Balance":[["0"]," Balance"],"{0} Faucet":[["0"]," Faucet"],"{0} on-ramp service is provided by External Provider and by selecting you agree to Terms of the Provider. Your access to the service might be reliant on the External Provider being operational.":[["0"]," on-ramp service is provided by External Provider and by selecting you agree to Terms of the Provider. Your access to the service might be reliant on the External Provider being operational."],"{0}{name}":[["0"],["name"]],"{currentMethod}":[["currentMethod"]],"{d}d":[["d"],"d"],"{h}h":[["h"],"h"],"{m}m":[["m"],"m"],"{networkName} Faucet":[["networkName"]," Faucet"],"{notifyText}":[["notifyText"]],"{numSelected}/{numAvailable} assets selected":[["numSelected"],"/",["numAvailable"]," assets selected"],"{s}s":[["s"],"s"],"{title}":[["title"]],"{tooltipText}":[["tooltipText"]]}}; \ No newline at end of file diff --git a/src/locales/en/messages.po b/src/locales/en/messages.po index eeb13f2435..376b1ce8ca 100644 --- a/src/locales/en/messages.po +++ b/src/locales/en/messages.po @@ -989,6 +989,7 @@ msgid "English" msgstr "English" #: src/components/transactions/GovDelegation/GovDelegationModalContent.tsx +#: src/components/transactions/GovRepresentatives/GovRepresentativesModalContent.tsx msgid "Enter ETH address" msgstr "Enter ETH address" @@ -1072,6 +1073,10 @@ msgstr "Flashloan is disabled for this asset, hence this position cannot be migr msgid "For repayment of a specific type of debt, the user needs to have debt that type" msgstr "For repayment of a specific type of debt, the user needs to have debt that type" +#: src/modules/governance/proposal/ProposalLifecycle.tsx +msgid "Forum discussion" +msgstr "Forum discussion" + #: src/layouts/components/LanguageSwitcher.tsx msgid "French" msgstr "French" @@ -3131,6 +3136,7 @@ msgid "enabled" msgstr "enabled" #: src/modules/governance/FormattedProposalTime.tsx +#: src/modules/governance/ProposalV3ListItem.tsx msgid "ends" msgstr "ends" @@ -3176,6 +3182,7 @@ msgid "staking view" msgstr "staking view" #: src/modules/governance/FormattedProposalTime.tsx +#: src/modules/governance/ProposalV3ListItem.tsx msgid "starts" msgstr "starts" From 4e5d4181bf2b68f92d508f3cce06b52488200b4a Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Sat, 23 Dec 2023 14:17:59 -0600 Subject: [PATCH 74/84] fix: voting info --- src/hooks/governance/useProposal.ts | 2 +- src/locales/en/messages.js | 2 +- src/locales/en/messages.po | 7 +++++++ src/modules/governance/proposal/VoteInfo.tsx | 7 ++++--- 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/hooks/governance/useProposal.ts b/src/hooks/governance/useProposal.ts index 7af226f3f7..4053121bc3 100644 --- a/src/hooks/governance/useProposal.ts +++ b/src/hooks/governance/useProposal.ts @@ -84,7 +84,7 @@ export const useProposal = (proposalId: number) => { const user = useRootStore((store) => store.account); return useQuery({ queryFn: () => fetchProposal(proposalId, governanceV3Service, votingMachineSerivce, user), - queryKey: ['governance_proposal', proposalId], + queryKey: ['governance_proposal', proposalId, user], refetchOnMount: false, refetchOnWindowFocus: false, refetchOnReconnect: false, diff --git a/src/locales/en/messages.js b/src/locales/en/messages.js index 3b961a11c9..3e6172bc24 100644 --- a/src/locales/en/messages.js +++ b/src/locales/en/messages.js @@ -1 +1 @@ -/*eslint-disable*/module.exports={messages:{"...":"...",".CSV":".CSV",".JSON":".JSON","<0><1><2/>Add <3/> stkAAVE to borrow at <4/> (max discount)":"<0><1><2/>Add <3/> stkAAVE to borrow at <4/> (max discount)","<0><1><2/>Add stkAAVE to see borrow rate with discount":"<0><1><2/>Add stkAAVE to see borrow rate with discount","<0>Ampleforth is a rebasing asset. Visit the <1>documentation to learn more.":"<0>Ampleforth is a rebasing asset. Visit the <1>documentation to learn more.","<0>Attention: Parameter changes via governance can alter your account health factor and risk of liquidation. Follow the <1>Aave governance forum for updates.":"<0>Attention: Parameter changes via governance can alter your account health factor and risk of liquidation. Follow the <1>Aave governance forum for updates.","<0>Slippage tolerance <1>{selectedSlippage}% <2>{0}":["<0>Slippage tolerance <1>",["selectedSlippage"],"% <2>",["0"],""],"AAVE holders (Ethereum network only) can stake their AAVE in the Safety Module to add more security to the protocol and earn Safety Incentives. In the case of a shortfall event, up to 30% of your stake can be slashed to cover the deficit, providing an additional layer of protection for the protocol.":"AAVE holders (Ethereum network only) can stake their AAVE in the Safety Module to add more security to the protocol and earn Safety Incentives. In the case of a shortfall event, up to 30% of your stake can be slashed to cover the deficit, providing an additional layer of protection for the protocol.","APR":"APR","APY":"APY","APY change":"APY change","APY type":"APY type","APY type change":"APY type change","APY with discount applied":"APY with discount applied","APY, borrow rate":"APY, borrow rate","APY, stable":"APY, stable","APY, variable":"APY, variable","AToken supply is not zero":"AToken supply is not zero","Aave Governance":"Aave Governance","Aave aToken":"Aave aToken","Aave debt token":"Aave debt token","Aave is a fully decentralized, community governed protocol by the AAVE token-holders. AAVE token-holders collectively discuss, propose, and vote on upgrades to the protocol. AAVE token-holders (Ethereum network only) can either vote themselves on new proposals or delagate to an address of choice. To learn more check out the Governance":"Aave is a fully decentralized, community governed protocol by the AAVE token-holders. AAVE token-holders collectively discuss, propose, and vote on upgrades to the protocol. AAVE token-holders (Ethereum network only) can either vote themselves on new proposals or delagate to an address of choice. To learn more check out the Governance","Aave per month":"Aave per month","About GHO":"About GHO","Account":"Account","Action cannot be performed because the reserve is frozen":"Action cannot be performed because the reserve is frozen","Action cannot be performed because the reserve is paused":"Action cannot be performed because the reserve is paused","Action requires an active reserve":"Action requires an active reserve","Activate Cooldown":"Activate Cooldown","Add stkAAVE to see borrow APY with the discount":"Add stkAAVE to see borrow APY with the discount","Add to wallet":"Add to wallet","Add {0} to wallet to track your balance.":["Add ",["0"]," to wallet to track your balance."],"Address is not a contract":"Address is not a contract","Addresses":"Addresses","Addresses ({0})":["Addresses (",["0"],")"],"All Assets":"All Assets","All done!":"All done!","All proposals":"All proposals","All transactions":"All transactions","Allowance required action":"Allowance required action","Allows you to decide whether to use a supplied asset as collateral. An asset used as collateral will affect your borrowing power and health factor.":"Allows you to decide whether to use a supplied asset as collateral. An asset used as collateral will affect your borrowing power and health factor.","Allows you to switch between <0>variable and <1>stable interest rates, where variable rate can increase and decrease depending on the amount of liquidity in the reserve, and stable rate will stay the same for the duration of your loan.":"Allows you to switch between <0>variable and <1>stable interest rates, where variable rate can increase and decrease depending on the amount of liquidity in the reserve, and stable rate will stay the same for the duration of your loan.","Amount":"Amount","Amount claimable":"Amount claimable","Amount in cooldown":"Amount in cooldown","Amount must be greater than 0":"Amount must be greater than 0","Amount to unstake":"Amount to unstake","An error has occurred fetching the proposal.":"An error has occurred fetching the proposal.","Approve Confirmed":"Approve Confirmed","Approve with":"Approve with","Approve {symbol} to continue":["Approve ",["symbol"]," to continue"],"Approving {symbol}...":["Approving ",["symbol"],"..."],"Array parameters that should be equal length are not":"Array parameters that should be equal length are not","Asset":"Asset","Asset can be only used as collateral in isolation mode with limited borrowing power. To enter isolation mode, disable all other collateral.":"Asset can be only used as collateral in isolation mode with limited borrowing power. To enter isolation mode, disable all other collateral.","Asset can only be used as collateral in isolation mode only.":"Asset can only be used as collateral in isolation mode only.","Asset cannot be migrated because you have isolated collateral in {marketName} v3 Market which limits borrowable assets. You can manage your collateral in <0>{marketName} V3 Dashboard":["Asset cannot be migrated because you have isolated collateral in ",["marketName"]," v3 Market which limits borrowable assets. You can manage your collateral in <0>",["marketName"]," V3 Dashboard"],"Asset cannot be migrated due to insufficient liquidity or borrow cap limitation in {marketName} v3 market.":["Asset cannot be migrated due to insufficient liquidity or borrow cap limitation in ",["marketName"]," v3 market."],"Asset cannot be migrated due to supply cap restriction in {marketName} v3 market.":["Asset cannot be migrated due to supply cap restriction in ",["marketName"]," v3 market."],"Asset cannot be migrated to {marketName} V3 Market due to E-mode restrictions. You can disable or manage E-mode categories in your <0>V3 Dashboard":["Asset cannot be migrated to ",["marketName"]," V3 Market due to E-mode restrictions. You can disable or manage E-mode categories in your <0>V3 Dashboard"],"Asset cannot be migrated to {marketName} v3 Market since collateral asset will enable isolation mode.":["Asset cannot be migrated to ",["marketName"]," v3 Market since collateral asset will enable isolation mode."],"Asset cannot be used as collateral.":"Asset cannot be used as collateral.","Asset category":"Asset category","Asset is frozen in {marketName} v3 market, hence this position cannot be migrated.":["Asset is frozen in ",["marketName"]," v3 market, hence this position cannot be migrated."],"Asset is not borrowable in isolation mode":"Asset is not borrowable in isolation mode","Asset is not listed":"Asset is not listed","Asset supply is limited to a certain amount to reduce protocol exposure to the asset and to help manage risks involved.":"Asset supply is limited to a certain amount to reduce protocol exposure to the asset and to help manage risks involved.","Assets":"Assets","Assets to borrow":"Assets to borrow","Assets to supply":"Assets to supply","Assets with zero LTV ({assetsBlockingWithdraw}) must be withdrawn or disabled as collateral to perform this action":["Assets with zero LTV (",["assetsBlockingWithdraw"],") must be withdrawn or disabled as collateral to perform this action"],"At a discount":"At a discount","Available":"Available","Available assets":"Available assets","Available liquidity":"Available liquidity","Available on":"Available on","Available rewards":"Available rewards","Available to borrow":"Available to borrow","Available to supply":"Available to supply","Back to Dashboard":"Back to Dashboard","Balance":"Balance","Balance to revoke":"Balance to revoke","Be careful - You are very close to liquidation. Consider depositing more collateral or paying down some of your borrowed positions":"Be careful - You are very close to liquidation. Consider depositing more collateral or paying down some of your borrowed positions","Be mindful of the network congestion and gas prices.":"Be mindful of the network congestion and gas prices.","Because this asset is paused, no actions can be taken until further notice":"Because this asset is paused, no actions can be taken until further notice","Before supplying":"Before supplying","Blocked Address":"Blocked Address","Borrow":"Borrow","Borrow APY":"Borrow APY","Borrow APY rate":"Borrow APY rate","Borrow APY, variable":"Borrow APY, variable","Borrow amount to reach {0}% utilization":["Borrow amount to reach ",["0"],"% utilization"],"Borrow and repay in same block is not allowed":"Borrow and repay in same block is not allowed","Borrow apy":"Borrow apy","Borrow balance":"Borrow balance","Borrow balance after repay":"Borrow balance after repay","Borrow balance after switch":"Borrow balance after switch","Borrow cap":"Borrow cap","Borrow cap is exceeded":"Borrow cap is exceeded","Borrow info":"Borrow info","Borrow power used":"Borrow power used","Borrow rate APY":"Borrow rate APY","Borrow rate change":"Borrow rate change","Borrow {symbol}":["Borrow ",["symbol"]],"Borrowed":"Borrowed","Borrowed asset amount":"Borrowed asset amount","Borrowing is currently unavailable for {0}.":["Borrowing is currently unavailable for ",["0"],"."],"Borrowing is disabled due to an Aave community decision. <0>More details":"Borrowing is disabled due to an Aave community decision. <0>More details","Borrowing is not enabled":"Borrowing is not enabled","Borrowing is unavailable because you’re using Isolation mode. To manage Isolation mode visit your <0>Dashboard.":"Borrowing is unavailable because you’re using Isolation mode. To manage Isolation mode visit your <0>Dashboard.","Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) and Isolation mode. To manage E-Mode and Isolation mode visit your <0>Dashboard.":"Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) and Isolation mode. To manage E-Mode and Isolation mode visit your <0>Dashboard.","Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) for {0} category. To manage E-Mode categories visit your <0>Dashboard.":["Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) for ",["0"]," category. To manage E-Mode categories visit your <0>Dashboard."],"Borrowing of this asset is limited to a certain amount to minimize liquidity pool insolvency.":"Borrowing of this asset is limited to a certain amount to minimize liquidity pool insolvency.","Borrowing power and assets are limited due to Isolation mode.":"Borrowing power and assets are limited due to Isolation mode.","Borrowing this amount will reduce your health factor and increase risk of liquidation.":"Borrowing this amount will reduce your health factor and increase risk of liquidation.","Borrowing {symbol}":["Borrowing ",["symbol"]],"Both":"Both","Buy Crypto With Fiat":"Buy Crypto With Fiat","Buy Crypto with Fiat":"Buy Crypto with Fiat","Buy {cryptoSymbol} with Fiat":["Buy ",["cryptoSymbol"]," with Fiat"],"COPIED!":"COPIED!","COPY IMAGE":"COPY IMAGE","Can be collateral":"Can be collateral","Can be executed":"Can be executed","Can't validate the wallet address. Try again.":"Can't validate the wallet address. Try again.","Cancel":"Cancel","Cannot disable E-Mode":"Cannot disable E-Mode","Choose how much voting/proposition power to give to someone else by delegating some of your AAVE, stkAAVE or aAave balance. Your tokens will remain in your account, but your delegate will be able to vote or propose on your behalf. If your AAVE, stkAAVE or aAave balance changes, your delegate's voting/proposition power will be automatically adjusted.":"Choose how much voting/proposition power to give to someone else by delegating some of your AAVE, stkAAVE or aAave balance. Your tokens will remain in your account, but your delegate will be able to vote or propose on your behalf. If your AAVE, stkAAVE or aAave balance changes, your delegate's voting/proposition power will be automatically adjusted.","Choose one of the on-ramp services":"Choose one of the on-ramp services","Claim":"Claim","Claim all":"Claim all","Claim all rewards":"Claim all rewards","Claim {0}":["Claim ",["0"]],"Claim {symbol}":["Claim ",["symbol"]],"Claimable AAVE":"Claimable AAVE","Claimed":"Claimed","Claiming":"Claiming","Claiming {symbol}":["Claiming ",["symbol"]],"Close":"Close","Collateral":"Collateral","Collateral balance after repay":"Collateral balance after repay","Collateral change":"Collateral change","Collateral is (mostly) the same currency that is being borrowed":"Collateral is (mostly) the same currency that is being borrowed","Collateral to repay with":"Collateral to repay with","Collateral usage":"Collateral usage","Collateral usage is limited because of Isolation mode.":"Collateral usage is limited because of Isolation mode.","Collateral usage is limited because of isolation mode.":"Collateral usage is limited because of isolation mode.","Collateral usage is limited because of isolation mode. <0>Learn More":"Collateral usage is limited because of isolation mode. <0>Learn More","Collateralization":"Collateralization","Collector Contract":"Collector Contract","Collector Info":"Collector Info","Confirm transaction":"Confirm transaction","Confirming transaction":"Confirming transaction","Connect":"Connect","Connect wallet":"Connect wallet","Cooldown period":"Cooldown period","Cooldown period warning":"Cooldown period warning","Cooldown time left":"Cooldown time left","Cooldown to unstake":"Cooldown to unstake","Cooling down...":"Cooling down...","Copy address":"Copy address","Copy error message":"Copy error message","Copy error text":"Copy error text","Covered debt":"Covered debt","Created":"Created","Current LTV":"Current LTV","Current differential":"Current differential","Current v2 Balance":"Current v2 Balance","Current v2 balance":"Current v2 balance","Current votes":"Current votes","Dark mode":"Dark mode","Dashboard":"Dashboard","Data couldn't be fetched, please reload graph.":"Data couldn't be fetched, please reload graph.","Debt":"Debt","Debt ceiling is exceeded":"Debt ceiling is exceeded","Debt ceiling is not zero":"Debt ceiling is not zero","Debt ceiling limits the amount possible to borrow against this asset by protocol users. Debt ceiling is specific to assets in isolation mode and is denoted in USD.":"Debt ceiling limits the amount possible to borrow against this asset by protocol users. Debt ceiling is specific to assets in isolation mode and is denoted in USD.","Delegated power":"Delegated power","Details":"Details","Developers":"Developers","Differential":"Differential","Disable E-Mode":"Disable E-Mode","Disable testnet":"Disable testnet","Disable {symbol} as collateral":["Disable ",["symbol"]," as collateral"],"Disabled":"Disabled","Disabling E-Mode":"Disabling E-Mode","Disabling this asset as collateral affects your borrowing power and Health Factor.":"Disabling this asset as collateral affects your borrowing power and Health Factor.","Disconnect Wallet":"Disconnect Wallet","Discord channel":"Discord channel","Discount":"Discount","Discount applied for <0/> staking AAVE":"Discount applied for <0/> staking AAVE","Discount model parameters":"Discount model parameters","Discount parameters are decided by the Aave community and may be changed over time. Check Governance for updates and vote to participate. <0>Learn more":"Discount parameters are decided by the Aave community and may be changed over time. Check Governance for updates and vote to participate. <0>Learn more","Discountable amount":"Discountable amount","Docs":"Docs","Download":"Download","Due to internal stETH mechanics required for rebasing support, it is not possible to perform a collateral switch where stETH is the source token.":"Due to internal stETH mechanics required for rebasing support, it is not possible to perform a collateral switch where stETH is the source token.","Due to the Horizon bridge exploit, certain assets on the Harmony network are not at parity with Ethereum, which affects the Aave V3 Harmony market.":"Due to the Horizon bridge exploit, certain assets on the Harmony network are not at parity with Ethereum, which affects the Aave V3 Harmony market.","E-Mode":"E-Mode","E-Mode Category":"E-Mode Category","E-Mode category":"E-Mode category","E-Mode increases your LTV for a selected category of assets up to 97%. <0>Learn more":"E-Mode increases your LTV for a selected category of assets up to 97%. <0>Learn more","E-Mode increases your LTV for a selected category of assets up to<0/>. <1>Learn more":"E-Mode increases your LTV for a selected category of assets up to<0/>. <1>Learn more","E-Mode increases your LTV for a selected category of assets, meaning that when E-mode is enabled, you will have higher borrowing power over assets of the same E-mode category which are defined by Aave Governance. You can enter E-Mode from your <0>Dashboard. To learn more about E-Mode and applied restrictions in <1>FAQ or <2>Aave V3 Technical Paper.":"E-Mode increases your LTV for a selected category of assets, meaning that when E-mode is enabled, you will have higher borrowing power over assets of the same E-mode category which are defined by Aave Governance. You can enter E-Mode from your <0>Dashboard. To learn more about E-Mode and applied restrictions in <1>FAQ or <2>Aave V3 Technical Paper.","Edit":"Edit","Effective interest rate":"Effective interest rate","Efficiency mode (E-Mode)":"Efficiency mode (E-Mode)","Emode":"Emode","Enable E-Mode":"Enable E-Mode","Enable {symbol} as collateral":["Enable ",["symbol"]," as collateral"],"Enabled":"Enabled","Enabling E-Mode":"Enabling E-Mode","Enabling E-Mode only allows you to borrow assets belonging to the selected category. Please visit our <0>FAQ guide to learn more about how it works and the applied restrictions.":"Enabling E-Mode only allows you to borrow assets belonging to the selected category. Please visit our <0>FAQ guide to learn more about how it works and the applied restrictions.","Enabling this asset as collateral increases your borrowing power and Health Factor. However, it can get liquidated if your health factor drops below 1.":"Enabling this asset as collateral increases your borrowing power and Health Factor. However, it can get liquidated if your health factor drops below 1.","English":"English","Enter ETH address":"Enter ETH address","Enter an amount":"Enter an amount","Error connecting. Try refreshing the page.":"Error connecting. Try refreshing the page.","Estimated compounding interest, including discount for Staking {0}AAVE in Safety Module.":["Estimated compounding interest, including discount for Staking ",["0"],"AAVE in Safety Module."],"Exceeds the discount":"Exceeds the discount","Expected amount to repay":"Expected amount to repay","Expires":"Expires","Export data to":"Export data to","FAQ":"FAQ","FAQS":"FAQS","Failed to load proposal voters. Please refresh the page.":"Failed to load proposal voters. Please refresh the page.","Faucet":"Faucet","Faucet {0}":["Faucet ",["0"]],"Fetching data...":"Fetching data...","Filter":"Filter","Fixed":"Fixed","Fixed rate":"Fixed rate","Flashloan is disabled for this asset, hence this position cannot be migrated.":"Flashloan is disabled for this asset, hence this position cannot be migrated.","For repayment of a specific type of debt, the user needs to have debt that type":"For repayment of a specific type of debt, the user needs to have debt that type","French":"French","Funds in the Safety Module":"Funds in the Safety Module","GHO is a native decentralized, collateral-backed digital asset pegged to USD. It is created by users via borrowing against multiple collateral. When user repays their GHO borrow position, the protocol burns that user's GHO. All the interest payments accrued by minters of GHO would be directly transferred to the AaveDAO treasury.":"GHO is a native decentralized, collateral-backed digital asset pegged to USD. It is created by users via borrowing against multiple collateral. When user repays their GHO borrow position, the protocol burns that user's GHO. All the interest payments accrued by minters of GHO would be directly transferred to the AaveDAO treasury.","Get ABP Token":"Get ABP Token","Global settings":"Global settings","Go Back":"Go Back","Go to Balancer Pool":"Go to Balancer Pool","Go to V3 Dashboard":"Go to V3 Dashboard","Governance":"Governance","Greek":"Greek","Health Factor ({0} v2)":["Health Factor (",["0"]," v2)"],"Health Factor ({0} v3)":["Health Factor (",["0"]," v3)"],"Health factor":"Health factor","Health factor is lesser than the liquidation threshold":"Health factor is lesser than the liquidation threshold","Health factor is not below the threshold":"Health factor is not below the threshold","Hide":"Hide","Holders of stkAAVE receive a discount on the GHO borrowing rate":"Holders of stkAAVE receive a discount on the GHO borrowing rate","I acknowledge the risks involved.":"I acknowledge the risks involved.","I fully understand the risks of migrating.":"I fully understand the risks of migrating.","I understand how cooldown ({0}) and unstaking ({1}) work":["I understand how cooldown (",["0"],") and unstaking (",["1"],") work"],"If the error continues to happen,<0/> you may report it to this":"If the error continues to happen,<0/> you may report it to this","If the health factor goes below 1, the liquidation of your collateral might be triggered.":"If the health factor goes below 1, the liquidation of your collateral might be triggered.","If you DO NOT unstake within {0} of unstake window, you will need to activate cooldown process again.":["If you DO NOT unstake within ",["0"]," of unstake window, you will need to activate cooldown process again."],"If your loan to value goes above the liquidation threshold your collateral supplied may be liquidated.":"If your loan to value goes above the liquidation threshold your collateral supplied may be liquidated.","In E-Mode some assets are not borrowable. Exit E-Mode to get access to all assets":"In E-Mode some assets are not borrowable. Exit E-Mode to get access to all assets","In Isolation mode, you cannot supply other assets as collateral. A global debt ceiling limits the borrowing power of the isolated asset. To exit isolation mode disable {0} as collateral before borrowing another asset. Read more in our <0>FAQ":["In Isolation mode, you cannot supply other assets as collateral. A global debt ceiling limits the borrowing power of the isolated asset. To exit isolation mode disable ",["0"]," as collateral before borrowing another asset. Read more in our <0>FAQ"],"Inconsistent flashloan parameters":"Inconsistent flashloan parameters","Insufficient collateral to cover new borrow position. Wallet must have borrowing power remaining to perform debt switch.":"Insufficient collateral to cover new borrow position. Wallet must have borrowing power remaining to perform debt switch.","Interest accrued":"Interest accrued","Interest rate rebalance conditions were not met":"Interest rate rebalance conditions were not met","Interest rate strategy":"Interest rate strategy","Interest rate that is determined by Aave Governance. This rate may be changed over time depending on the need for the GHO supply to contract/expand. <0>Learn more":"Interest rate that is determined by Aave Governance. This rate may be changed over time depending on the need for the GHO supply to contract/expand. <0>Learn more","Invalid amount to burn":"Invalid amount to burn","Invalid amount to mint":"Invalid amount to mint","Invalid bridge protocol fee":"Invalid bridge protocol fee","Invalid expiration":"Invalid expiration","Invalid flashloan premium":"Invalid flashloan premium","Invalid return value of the flashloan executor function":"Invalid return value of the flashloan executor function","Invalid signature":"Invalid signature","Isolated":"Isolated","Isolated Debt Ceiling":"Isolated Debt Ceiling","Isolated assets have limited borrowing power and other assets cannot be used as collateral.":"Isolated assets have limited borrowing power and other assets cannot be used as collateral.","Join the community discussion":"Join the community discussion","LEARN MORE":"LEARN MORE","Language":"Language","Learn more":"Learn more","Learn more about risks involved":"Learn more about risks involved","Learn more in our <0>FAQ guide":"Learn more in our <0>FAQ guide","Learn more.":"Learn more.","Linked addresses":"Linked addresses","Links":"Links","Liqudation":"Liqudation","Liquidated collateral":"Liquidated collateral","Liquidation":"Liquidation","Liquidation <0/> threshold":"Liquidation <0/> threshold","Liquidation Threshold":"Liquidation Threshold","Liquidation at":"Liquidation at","Liquidation penalty":"Liquidation penalty","Liquidation risk":"Liquidation risk","Liquidation risk parameters":"Liquidation risk parameters","Liquidation threshold":"Liquidation threshold","Liquidation value":"Liquidation value","Loading data...":"Loading data...","Ltv validation failed":"Ltv validation failed","MAI has been paused due to a community decision. Supply, borrows and repays are impacted. <0>More details":"MAI has been paused due to a community decision. Supply, borrows and repays are impacted. <0>More details","MAX":"MAX","Manage analytics":"Manage analytics","Market":"Market","Markets":"Markets","Max":"Max","Max LTV":"Max LTV","Max slashing":"Max slashing","Max slippage":"Max slippage","Maximum amount available to borrow against this asset is limited because debt ceiling is at {0}%.":["Maximum amount available to borrow against this asset is limited because debt ceiling is at ",["0"],"%."],"Maximum amount available to borrow is <0/> {0} (<1/>).":["Maximum amount available to borrow is <0/> ",["0"]," (<1/>)."],"Maximum amount available to borrow is limited because protocol borrow cap is nearly reached.":"Maximum amount available to borrow is limited because protocol borrow cap is nearly reached.","Maximum amount available to supply is <0/> {0} (<1/>).":["Maximum amount available to supply is <0/> ",["0"]," (<1/>)."],"Maximum amount available to supply is limited because protocol supply cap is at {0}%.":["Maximum amount available to supply is limited because protocol supply cap is at ",["0"],"%."],"Maximum loan to value":"Maximum loan to value","Meet GHO":"Meet GHO","Menu":"Menu","Migrate":"Migrate","Migrate to V3":"Migrate to V3","Migrate to v3":"Migrate to v3","Migrate to {0} v3 Market":["Migrate to ",["0"]," v3 Market"],"Migrated":"Migrated","Migrating":"Migrating","Migrating multiple collaterals and borrowed assets at the same time can be an expensive operation and might fail in certain situations.<0>Therefore it’s not recommended to migrate positions with more than 5 assets (deposited + borrowed) at the same time.":"Migrating multiple collaterals and borrowed assets at the same time can be an expensive operation and might fail in certain situations.<0>Therefore it’s not recommended to migrate positions with more than 5 assets (deposited + borrowed) at the same time.","Migration risks":"Migration risks","Minimum GHO borrow amount":"Minimum GHO borrow amount","Minimum USD value received":"Minimum USD value received","Minimum staked Aave amount":"Minimum staked Aave amount","Minimum {0} received":["Minimum ",["0"]," received"],"More":"More","NAY":"NAY","Need help connecting a wallet? <0>Read our FAQ":"Need help connecting a wallet? <0>Read our FAQ","Net APR":"Net APR","Net APY":"Net APY","Net APY is the combined effect of all supply and borrow positions on net worth, including incentives. It is possible to have a negative net APY if debt APY is higher than supply APY.":"Net APY is the combined effect of all supply and borrow positions on net worth, including incentives. It is possible to have a negative net APY if debt APY is higher than supply APY.","Net worth":"Net worth","Network":"Network","Network not supported for this wallet":"Network not supported for this wallet","New APY":"New APY","No assets selected to migrate.":"No assets selected to migrate.","No rewards to claim":"No rewards to claim","No search results{0}":["No search results",["0"]],"No transactions yet.":"No transactions yet.","No voting power":"No voting power","None":"None","Not a valid address":"Not a valid address","Not enough balance on your wallet":"Not enough balance on your wallet","Not enough collateral to repay this amount of debt with":"Not enough collateral to repay this amount of debt with","Not enough staked balance":"Not enough staked balance","Not enough voting power to participate in this proposal":"Not enough voting power to participate in this proposal","Not reached":"Not reached","Nothing borrowed yet":"Nothing borrowed yet","Nothing found":"Nothing found","Nothing staked":"Nothing staked","Nothing supplied yet":"Nothing supplied yet","Notify":"Notify","Ok, Close":"Ok, Close","Ok, I got it":"Ok, I got it","Open for voting":"Open for voting","Operation not supported":"Operation not supported","Oracle price":"Oracle price","Overview":"Overview","Page not found":"Page not found","Participating in this {symbol} reserve gives annualized rewards.":["Participating in this ",["symbol"]," reserve gives annualized rewards."],"Payloads executed":"Payloads executed","Pending...":"Pending...","Per the community, the Fantom market has been frozen.":"Per the community, the Fantom market has been frozen.","Per the community, the V2 AMM market has been deprecated.":"Per the community, the V2 AMM market has been deprecated.","Please always be aware of your <0>Health Factor (HF) when partially migrating a position and that your rates will be updated to V3 rates.":"Please always be aware of your <0>Health Factor (HF) when partially migrating a position and that your rates will be updated to V3 rates.","Please connect a wallet to view your personal information here.":"Please connect a wallet to view your personal information here.","Please connect your wallet to be able to switch your tokens.":"Please connect your wallet to be able to switch your tokens.","Please connect your wallet to get free testnet assets.":"Please connect your wallet to get free testnet assets.","Please connect your wallet to see migration tool.":"Please connect your wallet to see migration tool.","Please connect your wallet to see your supplies, borrowings, and open positions.":"Please connect your wallet to see your supplies, borrowings, and open positions.","Please connect your wallet to view transaction history.":"Please connect your wallet to view transaction history.","Please enter a valid wallet address.":"Please enter a valid wallet address.","Please switch to {networkName}.":["Please switch to ",["networkName"],"."],"Please, connect your wallet":"Please, connect your wallet","Pool addresses provider is not registered":"Pool addresses provider is not registered","Powered by":"Powered by","Preview tx and migrate":"Preview tx and migrate","Price":"Price","Price data is not currently available for this reserve on the protocol subgraph":"Price data is not currently available for this reserve on the protocol subgraph","Price impact":"Price impact","Price impact is the spread between the total value of the entry tokens switched and the destination tokens obtained (in USD), which results from the limited liquidity of the trading pair.":"Price impact is the spread between the total value of the entry tokens switched and the destination tokens obtained (in USD), which results from the limited liquidity of the trading pair.","Price impact {0}%":["Price impact ",["0"],"%"],"Privacy":"Privacy","Proposal details":"Proposal details","Proposal overview":"Proposal overview","Proposals":"Proposals","Proposition":"Proposition","Protocol borrow cap at 100% for this asset. Further borrowing unavailable.":"Protocol borrow cap at 100% for this asset. Further borrowing unavailable.","Protocol borrow cap is at 100% for this asset. Further borrowing unavailable.":"Protocol borrow cap is at 100% for this asset. Further borrowing unavailable.","Protocol debt ceiling is at 100% for this asset. Further borrowing against this asset is unavailable.":"Protocol debt ceiling is at 100% for this asset. Further borrowing against this asset is unavailable.","Protocol debt ceiling is at 100% for this asset. Futher borrowing against this asset is unavailable.":"Protocol debt ceiling is at 100% for this asset. Futher borrowing against this asset is unavailable.","Protocol supply cap at 100% for this asset. Further supply unavailable.":"Protocol supply cap at 100% for this asset. Further supply unavailable.","Protocol supply cap is at 100% for this asset. Further supply unavailable.":"Protocol supply cap is at 100% for this asset. Further supply unavailable.","Quorum":"Quorum","Rate change":"Rate change","Raw-Ipfs":"Raw-Ipfs","Reached":"Reached","Reactivate cooldown period to unstake {0} {stakedToken}":["Reactivate cooldown period to unstake ",["0"]," ",["stakedToken"]],"Read more here.":"Read more here.","Read-only mode allows to see address positions in Aave, but you won't be able to perform transactions.":"Read-only mode allows to see address positions in Aave, but you won't be able to perform transactions.","Read-only mode.":"Read-only mode.","Read-only mode. Connect to a wallet to perform transactions.":"Read-only mode. Connect to a wallet to perform transactions.","Receive (est.)":"Receive (est.)","Received":"Received","Recipient address":"Recipient address","Rejected connection request":"Rejected connection request","Reload":"Reload","Reload the page":"Reload the page","Remaining debt":"Remaining debt","Remaining supply":"Remaining supply","Remove":"Remove","Repaid":"Repaid","Repay":"Repay","Repay with":"Repay with","Repay {symbol}":["Repay ",["symbol"]],"Repaying {symbol}":["Repaying ",["symbol"]],"Repayment amount to reach {0}% utilization":["Repayment amount to reach ",["0"],"% utilization"],"Representative smart contract wallet (ie. Safe) addresses on other chains.":"Representative smart contract wallet (ie. Safe) addresses on other chains.","Representing smart contract wallet (ie. Safe) addresses on other chains.":"Representing smart contract wallet (ie. Safe) addresses on other chains.","Reserve Size":"Reserve Size","Reserve factor":"Reserve factor","Reserve factor is a percentage of interest which goes to a {0} that is controlled by Aave governance to promote ecosystem growth.":["Reserve factor is a percentage of interest which goes to a ",["0"]," that is controlled by Aave governance to promote ecosystem growth."],"Reserve status & configuration":"Reserve status & configuration","Reset":"Reset","Restake":"Restake","Restake {symbol}":["Restake ",["symbol"]],"Restaked":"Restaked","Restaking {symbol}":["Restaking ",["symbol"]],"Review approval tx details":"Review approval tx details","Review changes to continue":"Review changes to continue","Review tx":"Review tx","Review tx details":"Review tx details","Revoke power":"Revoke power","Reward(s) to claim":"Reward(s) to claim","Rewards APR":"Rewards APR","Risk details":"Risk details","SEE CHARTS":"SEE CHARTS","Safety of your deposited collateral against the borrowed assets and its underlying value.":"Safety of your deposited collateral against the borrowed assets and its underlying value.","Save and share":"Save and share","Seems like we can't switch the network automatically. Please check if you can change it from the wallet.":"Seems like we can't switch the network automatically. Please check if you can change it from the wallet.","Select":"Select","Select APY type to switch":"Select APY type to switch","Select an asset":"Select an asset","Select language":"Select language","Select slippage tolerance":"Select slippage tolerance","Select v2 borrows to migrate":"Select v2 borrows to migrate","Select v2 supplies to migrate":"Select v2 supplies to migrate","Selected assets have successfully migrated. Visit the Market Dashboard to see them.":"Selected assets have successfully migrated. Visit the Market Dashboard to see them.","Selected borrow assets":"Selected borrow assets","Selected supply assets":"Selected supply assets","Send feedback":"Send feedback","Set up delegation":"Set up delegation","Setup notifications about your Health Factor using the Hal app.":"Setup notifications about your Health Factor using the Hal app.","Share on Lens":"Share on Lens","Share on twitter":"Share on twitter","Show":"Show","Show Frozen or paused assets":"Show Frozen or paused assets","Show assets with 0 balance":"Show assets with 0 balance","Sign to continue":"Sign to continue","Signatures ready":"Signatures ready","Signing":"Signing","Since this asset is frozen, the only available actions are withdraw and repay which can be accessed from the <0>Dashboard":"Since this asset is frozen, the only available actions are withdraw and repay which can be accessed from the <0>Dashboard","Since this is a test network, you can get any of the assets if you have ETH on your wallet":"Since this is a test network, you can get any of the assets if you have ETH on your wallet","Slippage":"Slippage","Slippage is the difference between the quoted and received amounts from changing market conditions between the moment the transaction is submitted and its verification.":"Slippage is the difference between the quoted and received amounts from changing market conditions between the moment the transaction is submitted and its verification.","Some migrated assets will not be used as collateral due to enabled isolation mode in {marketName} V3 Market. Visit <0>{marketName} V3 Dashboard to manage isolation mode.":["Some migrated assets will not be used as collateral due to enabled isolation mode in ",["marketName"]," V3 Market. Visit <0>",["marketName"]," V3 Dashboard to manage isolation mode."],"Something went wrong":"Something went wrong","Sorry, an unexpected error happened. In the meantime you may try reloading the page, or come back later.":"Sorry, an unexpected error happened. In the meantime you may try reloading the page, or come back later.","Sorry, we couldn't find the page you were looking for.":"Sorry, we couldn't find the page you were looking for.","Spanish":"Spanish","Stable":"Stable","Stable Interest Type is disabled for this currency":"Stable Interest Type is disabled for this currency","Stable borrowing is enabled":"Stable borrowing is enabled","Stable borrowing is not enabled":"Stable borrowing is not enabled","Stable debt supply is not zero":"Stable debt supply is not zero","Stable interest rate will <0>stay the same for the duration of your loan. Recommended for long-term loan periods and for users who prefer predictability.":"Stable interest rate will <0>stay the same for the duration of your loan. Recommended for long-term loan periods and for users who prefer predictability.","Stablecoin":"Stablecoin","Stake":"Stake","Stake AAVE":"Stake AAVE","Stake ABPT":"Stake ABPT","Stake cooldown activated":"Stake cooldown activated","Staked":"Staked","Staking":"Staking","Staking APR":"Staking APR","Staking Rewards":"Staking Rewards","Staking balance":"Staking balance","Staking discount":"Staking discount","State":"State","Supplied":"Supplied","Supplied asset amount":"Supplied asset amount","Supply":"Supply","Supply APY":"Supply APY","Supply apy":"Supply apy","Supply balance":"Supply balance","Supply balance after switch":"Supply balance after switch","Supply cap is exceeded":"Supply cap is exceeded","Supply cap on target reserve reached. Try lowering the amount.":"Supply cap on target reserve reached. Try lowering the amount.","Supply {symbol}":["Supply ",["symbol"]],"Supplying your":"Supplying your","Supplying {symbol}":["Supplying ",["symbol"]],"Switch":"Switch","Switch APY type":"Switch APY type","Switch E-Mode":"Switch E-Mode","Switch E-Mode category":"Switch E-Mode category","Switch Network":"Switch Network","Switch borrow position":"Switch borrow position","Switch rate":"Switch rate","Switch to":"Switch to","Switched":"Switched","Switching":"Switching","Switching E-Mode":"Switching E-Mode","Switching rate":"Switching rate","Techpaper":"Techpaper","Terms":"Terms","Test Assets":"Test Assets","Testnet mode":"Testnet mode","Testnet mode is ON":"Testnet mode is ON","Thank you for voting!!":"Thank you for voting!!","The % of your total borrowing power used. This is based on the amount of your collateral supplied and the total amount that you can borrow.":"The % of your total borrowing power used. This is based on the amount of your collateral supplied and the total amount that you can borrow.","The Aave Balancer Pool Token (ABPT) is a liquidity pool token. You can receive ABPT by depositing a combination of AAVE + ETH in the Balancer liquidity pool. You can then stake your BPT in the Safety Module to secure the protocol and earn Safety Incentives.":"The Aave Balancer Pool Token (ABPT) is a liquidity pool token. You can receive ABPT by depositing a combination of AAVE + ETH in the Balancer liquidity pool. You can then stake your BPT in the Safety Module to secure the protocol and earn Safety Incentives.","The Aave Protocol is programmed to always use the price of 1 GHO = $1. This is different from using market pricing via oracles for other crypto assets. This creates stabilizing arbitrage opportunities when the price of GHO fluctuates.":"The Aave Protocol is programmed to always use the price of 1 GHO = $1. This is different from using market pricing via oracles for other crypto assets. This creates stabilizing arbitrage opportunities when the price of GHO fluctuates.","The Maximum LTV ratio represents the maximum borrowing power of a specific collateral. For example, if a collateral has an LTV of 75%, the user can borrow up to 0.75 worth of ETH in the principal currency for every 1 ETH worth of collateral.":"The Maximum LTV ratio represents the maximum borrowing power of a specific collateral. For example, if a collateral has an LTV of 75%, the user can borrow up to 0.75 worth of ETH in the principal currency for every 1 ETH worth of collateral.","The Stable Rate is not enabled for this currency":"The Stable Rate is not enabled for this currency","The address of the pool addresses provider is invalid":"The address of the pool addresses provider is invalid","The app is running in testnet mode. Learn how it works in":"The app is running in testnet mode. Learn how it works in","The caller of the function is not an AToken":"The caller of the function is not an AToken","The caller of this function must be a pool":"The caller of this function must be a pool","The collateral balance is 0":"The collateral balance is 0","The collateral chosen cannot be liquidated":"The collateral chosen cannot be liquidated","The cooldown period is the time required prior to unstaking your tokens (20 days). You can only withdraw your assets from the Security Module after the cooldown period and within the unstake window.<0>Learn more":"The cooldown period is the time required prior to unstaking your tokens (20 days). You can only withdraw your assets from the Security Module after the cooldown period and within the unstake window.<0>Learn more","The cooldown period is {0}. After {1} of cooldown, you will enter unstake window of {2}. You will continue receiving rewards during cooldown and unstake window.":["The cooldown period is ",["0"],". After ",["1"]," of cooldown, you will enter unstake window of ",["2"],". You will continue receiving rewards during cooldown and unstake window."],"The effects on the health factor would cause liquidation. Try lowering the amount.":"The effects on the health factor would cause liquidation. Try lowering the amount.","The loan to value of the migrated positions would cause liquidation. Increase migrated collateral or reduce migrated borrow to continue.":"The loan to value of the migrated positions would cause liquidation. Increase migrated collateral or reduce migrated borrow to continue.","The requested amount is greater than the max loan size in stable rate mode":"The requested amount is greater than the max loan size in stable rate mode","The total amount of your assets denominated in USD that can be used as collateral for borrowing assets.":"The total amount of your assets denominated in USD that can be used as collateral for borrowing assets.","The underlying asset cannot be rescued":"The underlying asset cannot be rescued","The underlying balance needs to be greater than 0":"The underlying balance needs to be greater than 0","The weighted average of APY for all borrowed assets, including incentives.":"The weighted average of APY for all borrowed assets, including incentives.","The weighted average of APY for all supplied assets, including incentives.":"The weighted average of APY for all supplied assets, including incentives.","There are not enough funds in the{0}reserve to borrow":["There are not enough funds in the",["0"],"reserve to borrow"],"There is not enough collateral to cover a new borrow":"There is not enough collateral to cover a new borrow","There is not enough liquidity for the target asset to perform the switch. Try lowering the amount.":"There is not enough liquidity for the target asset to perform the switch. Try lowering the amount.","There was some error. Please try changing the parameters or <0><1>copy the error":"There was some error. Please try changing the parameters or <0><1>copy the error","These assets are temporarily frozen or paused by Aave community decisions, meaning that further supply / borrow, or rate swap of these assets are unavailable. Withdrawals and debt repayments are allowed. Follow the <0>Aave governance forum for further updates.":"These assets are temporarily frozen or paused by Aave community decisions, meaning that further supply / borrow, or rate swap of these assets are unavailable. Withdrawals and debt repayments are allowed. Follow the <0>Aave governance forum for further updates.","These funds have been borrowed and are not available for withdrawal at this time.":"These funds have been borrowed and are not available for withdrawal at this time.","This action will reduce V2 health factor below liquidation threshold. retain collateral or migrate borrow position to continue.":"This action will reduce V2 health factor below liquidation threshold. retain collateral or migrate borrow position to continue.","This action will reduce health factor of V3 below liquidation threshold. Increase migrated collateral or reduce migrated borrow to continue.":"This action will reduce health factor of V3 below liquidation threshold. Increase migrated collateral or reduce migrated borrow to continue.","This action will reduce your health factor. Please be mindful of the increased risk of collateral liquidation.":"This action will reduce your health factor. Please be mindful of the increased risk of collateral liquidation.","This address is blocked on app.aave.com because it is associated with one or more":"This address is blocked on app.aave.com because it is associated with one or more","This asset has almost reached its borrow cap. There is only {messageValue} available to be borrowed from this market.":["This asset has almost reached its borrow cap. There is only ",["messageValue"]," available to be borrowed from this market."],"This asset has almost reached its supply cap. There can only be {messageValue} supplied to this market.":["This asset has almost reached its supply cap. There can only be ",["messageValue"]," supplied to this market."],"This asset has been paused due to a community decision. Supply, withdraw, borrows and repays are impacted.":"This asset has been paused due to a community decision. Supply, withdraw, borrows and repays are impacted.","This asset has reached its borrow cap. Nothing is available to be borrowed from this market.":"This asset has reached its borrow cap. Nothing is available to be borrowed from this market.","This asset has reached its supply cap. Nothing is available to be supplied from this market.":"This asset has reached its supply cap. Nothing is available to be supplied from this market.","This asset is frozen due to an Aave Protocol Governance decision. <0>More details":"This asset is frozen due to an Aave Protocol Governance decision. <0>More details","This asset is frozen due to an Aave Protocol Governance decision. On the 20th of December 2022, renFIL will no longer be supported and cannot be bridged back to its native network. It is recommended to withdraw supply positions and repay borrow positions so that renFIL can be bridged back to FIL before the deadline. After this date, it will no longer be possible to convert renFIL to FIL. <0>More details":"This asset is frozen due to an Aave Protocol Governance decision. On the 20th of December 2022, renFIL will no longer be supported and cannot be bridged back to its native network. It is recommended to withdraw supply positions and repay borrow positions so that renFIL can be bridged back to FIL before the deadline. After this date, it will no longer be possible to convert renFIL to FIL. <0>More details","This asset is frozen due to an Aave community decision. <0>More details":"This asset is frozen due to an Aave community decision. <0>More details","This asset is planned to be offboarded due to an Aave Protocol Governance decision. <0>More details":"This asset is planned to be offboarded due to an Aave Protocol Governance decision. <0>More details","This gas calculation is only an estimation. Your wallet will set the price of the transaction. You can modify the gas settings directly from your wallet provider.":"This gas calculation is only an estimation. Your wallet will set the price of the transaction. You can modify the gas settings directly from your wallet provider.","This integration was<0>proposed and approvedby the community.":"This integration was<0>proposed and approvedby the community.","This is the total amount available for you to borrow. You can borrow based on your collateral and until the borrow cap is reached.":"This is the total amount available for you to borrow. You can borrow based on your collateral and until the borrow cap is reached.","This is the total amount that you are able to supply to in this reserve. You are able to supply your wallet balance up until the supply cap is reached.":"This is the total amount that you are able to supply to in this reserve. You are able to supply your wallet balance up until the supply cap is reached.","This represents the threshold at which a borrow position will be considered undercollateralized and subject to liquidation for each collateral. For example, if a collateral has a liquidation threshold of 80%, it means that the position will be liquidated when the debt value is worth 80% of the collateral value.":"This represents the threshold at which a borrow position will be considered undercollateralized and subject to liquidation for each collateral. For example, if a collateral has a liquidation threshold of 80%, it means that the position will be liquidated when the debt value is worth 80% of the collateral value.","Time left to be able to withdraw your staked asset.":"Time left to be able to withdraw your staked asset.","Time left to unstake":"Time left to unstake","Time left until the withdrawal window closes.":"Time left until the withdrawal window closes.","Tip: Try increasing slippage or reduce input amount":"Tip: Try increasing slippage or reduce input amount","To borrow you need to supply any asset to be used as collateral.":"To borrow you need to supply any asset to be used as collateral.","To continue, you need to grant Aave smart contracts permission to move your funds from your wallet. Depending on the asset and wallet you use, it is done by signing the permission message (gas free), or by submitting an approval transaction (requires gas). <0>Learn more":"To continue, you need to grant Aave smart contracts permission to move your funds from your wallet. Depending on the asset and wallet you use, it is done by signing the permission message (gas free), or by submitting an approval transaction (requires gas). <0>Learn more","To enable E-mode for the {0} category, all borrow positions outside of this category must be closed.":["To enable E-mode for the ",["0"]," category, all borrow positions outside of this category must be closed."],"To repay on behalf of a user an explicit amount to repay is needed":"To repay on behalf of a user an explicit amount to repay is needed","To request access for this permissioned market, please visit: <0>Acces Provider Name":"To request access for this permissioned market, please visit: <0>Acces Provider Name","To submit a proposal for minor changes to the protocol, you'll need at least 80.00K power. If you want to change the core code base, you'll need 320k power.<0>Learn more.":"To submit a proposal for minor changes to the protocol, you'll need at least 80.00K power. If you want to change the core code base, you'll need 320k power.<0>Learn more.","Top 10 addresses":"Top 10 addresses","Total available":"Total available","Total borrowed":"Total borrowed","Total borrows":"Total borrows","Total emission per day":"Total emission per day","Total interest accrued":"Total interest accrued","Total market size":"Total market size","Total supplied":"Total supplied","Total worth":"Total worth","Track wallet":"Track wallet","Track wallet balance in read-only mode":"Track wallet balance in read-only mode","Transaction failed":"Transaction failed","Transaction history":"Transaction history","Transaction history is not currently available for this market":"Transaction history is not currently available for this market","Transaction overview":"Transaction overview","Transactions":"Transactions","UNSTAKE {symbol}":["UNSTAKE ",["symbol"]],"Unavailable":"Unavailable","Unbacked":"Unbacked","Unbacked mint cap is exceeded":"Unbacked mint cap is exceeded","Underlying asset does not exist in {marketName} v3 Market, hence this position cannot be migrated.":["Underlying asset does not exist in ",["marketName"]," v3 Market, hence this position cannot be migrated."],"Underlying token":"Underlying token","Unstake now":"Unstake now","Unstake window":"Unstake window","Unstaked":"Unstaked","Unstaking {symbol}":["Unstaking ",["symbol"]],"Update: Disruptions reported for WETH, WBTC, WMATIC, and USDT. AIP 230 will resolve the disruptions and the market will be operating as normal on ~26th May 13h00 UTC.":"Update: Disruptions reported for WETH, WBTC, WMATIC, and USDT. AIP 230 will resolve the disruptions and the market will be operating as normal on ~26th May 13h00 UTC.","Use it to vote for or against active proposals.":"Use it to vote for or against active proposals.","Use your AAVE, stkAAVE, or aAave balance to delegate your voting and proposition powers. You will not be sending any tokens, only the rights to vote and propose changes to the protocol. You can re-delegate or revoke power to self at any time.":"Use your AAVE, stkAAVE, or aAave balance to delegate your voting and proposition powers. You will not be sending any tokens, only the rights to vote and propose changes to the protocol. You can re-delegate or revoke power to self at any time.","Used as collateral":"Used as collateral","User cannot withdraw more than the available balance":"User cannot withdraw more than the available balance","User did not borrow the specified currency":"User did not borrow the specified currency","User does not have outstanding stable rate debt on this reserve":"User does not have outstanding stable rate debt on this reserve","User does not have outstanding variable rate debt on this reserve":"User does not have outstanding variable rate debt on this reserve","User is in isolation mode":"User is in isolation mode","User is trying to borrow multiple assets including a siloed one":"User is trying to borrow multiple assets including a siloed one","Users who stake AAVE in Safety Module (i.e. stkAAVE holders) receive a discount on GHO borrow interest rate. The discount applies to 100 GHO for every 1 stkAAVE held. Use the calculator below to see GHO borrow rate with the discount applied.":"Users who stake AAVE in Safety Module (i.e. stkAAVE holders) receive a discount on GHO borrow interest rate. The discount applies to 100 GHO for every 1 stkAAVE held. Use the calculator below to see GHO borrow rate with the discount applied.","Utilization Rate":"Utilization Rate","VIEW TX":"VIEW TX","VOTE NAY":"VOTE NAY","VOTE YAE":"VOTE YAE","Variable":"Variable","Variable debt supply is not zero":"Variable debt supply is not zero","Variable interest rate will <0>fluctuate based on the market conditions. Recommended for short-term positions.":"Variable interest rate will <0>fluctuate based on the market conditions. Recommended for short-term positions.","Variable rate":"Variable rate","Version 2":"Version 2","Version 3":"Version 3","View":"View","View Transactions":"View Transactions","View all votes":"View all votes","View contract":"View contract","View details":"View details","View on Explorer":"View on Explorer","Vote NAY":"Vote NAY","Vote YAE":"Vote YAE","Voted NAY":"Voted NAY","Voted YAE":"Voted YAE","Votes":"Votes","Voting":"Voting","Voting closed":"Voting closed","Voting power":"Voting power","Voting results":"Voting results","Wallet Balance":"Wallet Balance","Wallet balance":"Wallet balance","Wallet not detected. Connect or install wallet and retry":"Wallet not detected. Connect or install wallet and retry","Wallets are provided by External Providers and by selecting you agree to Terms of those Providers. Your access to the wallet might be reliant on the External Provider being operational.":"Wallets are provided by External Providers and by selecting you agree to Terms of those Providers. Your access to the wallet might be reliant on the External Provider being operational.","We couldn't find any assets related to your search. Try again with a different asset name, symbol, or address.":"We couldn't find any assets related to your search. Try again with a different asset name, symbol, or address.","We couldn't find any transactions related to your search. Try again with a different asset name, or reset filters.":"We couldn't find any transactions related to your search. Try again with a different asset name, or reset filters.","We couldn’t detect a wallet. Connect a wallet to stake and view your balance.":"We couldn’t detect a wallet. Connect a wallet to stake and view your balance.","We suggest you go back to the Dashboard.":"We suggest you go back to the Dashboard.","Website":"Website","When a liquidation occurs, liquidators repay up to 50% of the outstanding borrowed amount on behalf of the borrower. In return, they can buy the collateral at a discount and keep the difference (liquidation penalty) as a bonus.":"When a liquidation occurs, liquidators repay up to 50% of the outstanding borrowed amount on behalf of the borrower. In return, they can buy the collateral at a discount and keep the difference (liquidation penalty) as a bonus.","With a voting power of <0/>":"With a voting power of <0/>","With testnet Faucet you can get free assets to test the Aave Protocol. Make sure to switch your wallet provider to the appropriate testnet network, select desired asset, and click ‘Faucet’ to get tokens transferred to your wallet. The assets on a testnet are not “real,” meaning they have no monetary value. <0>Learn more":"With testnet Faucet you can get free assets to test the Aave Protocol. Make sure to switch your wallet provider to the appropriate testnet network, select desired asset, and click ‘Faucet’ to get tokens transferred to your wallet. The assets on a testnet are not “real,” meaning they have no monetary value. <0>Learn more","Withdraw":"Withdraw","Withdraw & Switch":"Withdraw & Switch","Withdraw and Switch":"Withdraw and Switch","Withdraw {symbol}":["Withdraw ",["symbol"]],"Withdrawing and Switching":"Withdrawing and Switching","Withdrawing this amount will reduce your health factor and increase risk of liquidation.":"Withdrawing this amount will reduce your health factor and increase risk of liquidation.","Withdrawing {symbol}":["Withdrawing ",["symbol"]],"Wrong Network":"Wrong Network","YAE":"YAE","You are entering Isolation mode":"You are entering Isolation mode","You can borrow this asset with a stable rate only if you borrow more than the amount you are supplying as collateral.":"You can borrow this asset with a stable rate only if you borrow more than the amount you are supplying as collateral.","You can not change Interest Type to stable as your borrowings are higher than your collateral":"You can not change Interest Type to stable as your borrowings are higher than your collateral","You can not disable E-Mode as your current collateralization level is above 80%, disabling E-Mode can cause liquidation. To exit E-Mode supply or repay borrowed positions.":"You can not disable E-Mode as your current collateralization level is above 80%, disabling E-Mode can cause liquidation. To exit E-Mode supply or repay borrowed positions.","You can not switch usage as collateral mode for this currency, because it will cause collateral call":"You can not switch usage as collateral mode for this currency, because it will cause collateral call","You can not use this currency as collateral":"You can not use this currency as collateral","You can not withdraw this amount because it will cause collateral call":"You can not withdraw this amount because it will cause collateral call","You can only switch to tokens with variable APY types. After this transaction, you may change the variable rate to a stable one if available.":"You can only switch to tokens with variable APY types. After this transaction, you may change the variable rate to a stable one if available.","You can only withdraw your assets from the Security Module after the cooldown period ends and the unstake window is active.":"You can only withdraw your assets from the Security Module after the cooldown period ends and the unstake window is active.","You can report incident to our <0>Discord or<1>Github.":"You can report incident to our <0>Discord or<1>Github.","You cancelled the transaction.":"You cancelled the transaction.","You did not participate in this proposal":"You did not participate in this proposal","You do not have supplies in this currency":"You do not have supplies in this currency","You don’t have enough funds in your wallet to repay the full amount. If you proceed to repay with your current amount of funds, you will still have a small borrowing position in your dashboard.":"You don’t have enough funds in your wallet to repay the full amount. If you proceed to repay with your current amount of funds, you will still have a small borrowing position in your dashboard.","You have no AAVE/stkAAVE/aAave balance to delegate.":"You have no AAVE/stkAAVE/aAave balance to delegate.","You have not borrow yet using this currency":"You have not borrow yet using this currency","You may borrow up to <0/> GHO at <1/> (max discount)":"You may borrow up to <0/> GHO at <1/> (max discount)","You may enter a custom amount in the field.":"You may enter a custom amount in the field.","You switched to {0} rate":["You switched to ",["0"]," rate"],"You unstake here":"You unstake here","You voted {0}":["You voted ",["0"]],"You will exit isolation mode and other tokens can now be used as collateral":"You will exit isolation mode and other tokens can now be used as collateral","You {action} <0/> {symbol}":["You ",["action"]," <0/> ",["symbol"]],"You've successfully switched borrow position.":"You've successfully switched borrow position.","You've successfully switched tokens.":"You've successfully switched tokens.","You've successfully withdrew & switched tokens.":"You've successfully withdrew & switched tokens.","Your balance is lower than the selected amount.":"Your balance is lower than the selected amount.","Your borrows":"Your borrows","Your current loan to value based on your collateral supplied.":"Your current loan to value based on your collateral supplied.","Your health factor and loan to value determine the assurance of your collateral. To avoid liquidations you can supply more collateral or repay borrow positions.":"Your health factor and loan to value determine the assurance of your collateral. To avoid liquidations you can supply more collateral or repay borrow positions.","Your info":"Your info","Your proposition power is based on your AAVE/stkAAVE balance and received delegations.":"Your proposition power is based on your AAVE/stkAAVE balance and received delegations.","Your reward balance is 0":"Your reward balance is 0","Your supplies":"Your supplies","Your voting info":"Your voting info","Your voting power is based on your AAVE/stkAAVE balance and received delegations.":"Your voting power is based on your AAVE/stkAAVE balance and received delegations.","Your {name} wallet is empty. Purchase or transfer assets or use <0>{0} to transfer your {network} assets.":["Your ",["name"]," wallet is empty. Purchase or transfer assets or use <0>",["0"]," to transfer your ",["network"]," assets."],"Your {name} wallet is empty. Purchase or transfer assets.":["Your ",["name"]," wallet is empty. Purchase or transfer assets."],"Your {networkName} wallet is empty. Get free test assets at":["Your ",["networkName"]," wallet is empty. Get free test assets at"],"Your {networkName} wallet is empty. Get free test {0} at":["Your ",["networkName"]," wallet is empty. Get free test ",["0"]," at"],"Zero address not valid":"Zero address not valid","assets":"assets","blocked activities":"blocked activities","copy the error":"copy the error","disabled":"disabled","documentation":"documentation","enabled":"enabled","ends":"ends","for":"for","of":"of","on":"on","please check that the amount you want to supply is not currently being used for staking. If it is being used for staking, your transaction might fail.":"please check that the amount you want to supply is not currently being used for staking. If it is being used for staking, your transaction might fail.","repaid":"repaid","stETH supplied as collateral will continue to accrue staking rewards provided by daily rebases.":"stETH supplied as collateral will continue to accrue staking rewards provided by daily rebases.","stETH tokens will be migrated to Wrapped stETH using Lido Protocol wrapper which leads to supply balance change after migration: {0}":["stETH tokens will be migrated to Wrapped stETH using Lido Protocol wrapper which leads to supply balance change after migration: ",["0"]],"staking view":"staking view","starts":"starts","stkAAVE holders get a discount on GHO borrow rate":"stkAAVE holders get a discount on GHO borrow rate","to":"to","tokens is not the same as staking them. If you wish to stake your":"tokens is not the same as staking them. If you wish to stake your","tokens, please go to the":"tokens, please go to the","withdrew":"withdrew","{0}":[["0"]],"{0} Balance":[["0"]," Balance"],"{0} Faucet":[["0"]," Faucet"],"{0} on-ramp service is provided by External Provider and by selecting you agree to Terms of the Provider. Your access to the service might be reliant on the External Provider being operational.":[["0"]," on-ramp service is provided by External Provider and by selecting you agree to Terms of the Provider. Your access to the service might be reliant on the External Provider being operational."],"{0}{name}":[["0"],["name"]],"{currentMethod}":[["currentMethod"]],"{d}d":[["d"],"d"],"{h}h":[["h"],"h"],"{m}m":[["m"],"m"],"{networkName} Faucet":[["networkName"]," Faucet"],"{notifyText}":[["notifyText"]],"{numSelected}/{numAvailable} assets selected":[["numSelected"],"/",["numAvailable"]," assets selected"],"{s}s":[["s"],"s"],"{title}":[["title"]],"{tooltipText}":[["tooltipText"]]}}; \ No newline at end of file +/*eslint-disable*/module.exports={messages:{"...":"...",".CSV":".CSV",".JSON":".JSON","<0><1><2/>Add <3/> stkAAVE to borrow at <4/> (max discount)":"<0><1><2/>Add <3/> stkAAVE to borrow at <4/> (max discount)","<0><1><2/>Add stkAAVE to see borrow rate with discount":"<0><1><2/>Add stkAAVE to see borrow rate with discount","<0>Ampleforth is a rebasing asset. Visit the <1>documentation to learn more.":"<0>Ampleforth is a rebasing asset. Visit the <1>documentation to learn more.","<0>Attention: Parameter changes via governance can alter your account health factor and risk of liquidation. Follow the <1>Aave governance forum for updates.":"<0>Attention: Parameter changes via governance can alter your account health factor and risk of liquidation. Follow the <1>Aave governance forum for updates.","<0>Slippage tolerance <1>{selectedSlippage}% <2>{0}":["<0>Slippage tolerance <1>",["selectedSlippage"],"% <2>",["0"],""],"AAVE holders (Ethereum network only) can stake their AAVE in the Safety Module to add more security to the protocol and earn Safety Incentives. In the case of a shortfall event, up to 30% of your stake can be slashed to cover the deficit, providing an additional layer of protection for the protocol.":"AAVE holders (Ethereum network only) can stake their AAVE in the Safety Module to add more security to the protocol and earn Safety Incentives. In the case of a shortfall event, up to 30% of your stake can be slashed to cover the deficit, providing an additional layer of protection for the protocol.","APR":"APR","APY":"APY","APY change":"APY change","APY type":"APY type","APY type change":"APY type change","APY with discount applied":"APY with discount applied","APY, borrow rate":"APY, borrow rate","APY, stable":"APY, stable","APY, variable":"APY, variable","AToken supply is not zero":"AToken supply is not zero","Aave Governance":"Aave Governance","Aave aToken":"Aave aToken","Aave debt token":"Aave debt token","Aave is a fully decentralized, community governed protocol by the AAVE token-holders. AAVE token-holders collectively discuss, propose, and vote on upgrades to the protocol. AAVE token-holders (Ethereum network only) can either vote themselves on new proposals or delagate to an address of choice. To learn more check out the Governance":"Aave is a fully decentralized, community governed protocol by the AAVE token-holders. AAVE token-holders collectively discuss, propose, and vote on upgrades to the protocol. AAVE token-holders (Ethereum network only) can either vote themselves on new proposals or delagate to an address of choice. To learn more check out the Governance","Aave per month":"Aave per month","About GHO":"About GHO","Account":"Account","Action cannot be performed because the reserve is frozen":"Action cannot be performed because the reserve is frozen","Action cannot be performed because the reserve is paused":"Action cannot be performed because the reserve is paused","Action requires an active reserve":"Action requires an active reserve","Activate Cooldown":"Activate Cooldown","Add stkAAVE to see borrow APY with the discount":"Add stkAAVE to see borrow APY with the discount","Add to wallet":"Add to wallet","Add {0} to wallet to track your balance.":["Add ",["0"]," to wallet to track your balance."],"Address is not a contract":"Address is not a contract","Addresses":"Addresses","Addresses ({0})":["Addresses (",["0"],")"],"All Assets":"All Assets","All done!":"All done!","All proposals":"All proposals","All transactions":"All transactions","Allowance required action":"Allowance required action","Allows you to decide whether to use a supplied asset as collateral. An asset used as collateral will affect your borrowing power and health factor.":"Allows you to decide whether to use a supplied asset as collateral. An asset used as collateral will affect your borrowing power and health factor.","Allows you to switch between <0>variable and <1>stable interest rates, where variable rate can increase and decrease depending on the amount of liquidity in the reserve, and stable rate will stay the same for the duration of your loan.":"Allows you to switch between <0>variable and <1>stable interest rates, where variable rate can increase and decrease depending on the amount of liquidity in the reserve, and stable rate will stay the same for the duration of your loan.","Amount":"Amount","Amount claimable":"Amount claimable","Amount in cooldown":"Amount in cooldown","Amount must be greater than 0":"Amount must be greater than 0","Amount to unstake":"Amount to unstake","An error has occurred fetching the proposal.":"An error has occurred fetching the proposal.","Approve Confirmed":"Approve Confirmed","Approve with":"Approve with","Approve {symbol} to continue":["Approve ",["symbol"]," to continue"],"Approving {symbol}...":["Approving ",["symbol"],"..."],"Array parameters that should be equal length are not":"Array parameters that should be equal length are not","Asset":"Asset","Asset can be only used as collateral in isolation mode with limited borrowing power. To enter isolation mode, disable all other collateral.":"Asset can be only used as collateral in isolation mode with limited borrowing power. To enter isolation mode, disable all other collateral.","Asset can only be used as collateral in isolation mode only.":"Asset can only be used as collateral in isolation mode only.","Asset cannot be migrated because you have isolated collateral in {marketName} v3 Market which limits borrowable assets. You can manage your collateral in <0>{marketName} V3 Dashboard":["Asset cannot be migrated because you have isolated collateral in ",["marketName"]," v3 Market which limits borrowable assets. You can manage your collateral in <0>",["marketName"]," V3 Dashboard"],"Asset cannot be migrated due to insufficient liquidity or borrow cap limitation in {marketName} v3 market.":["Asset cannot be migrated due to insufficient liquidity or borrow cap limitation in ",["marketName"]," v3 market."],"Asset cannot be migrated due to supply cap restriction in {marketName} v3 market.":["Asset cannot be migrated due to supply cap restriction in ",["marketName"]," v3 market."],"Asset cannot be migrated to {marketName} V3 Market due to E-mode restrictions. You can disable or manage E-mode categories in your <0>V3 Dashboard":["Asset cannot be migrated to ",["marketName"]," V3 Market due to E-mode restrictions. You can disable or manage E-mode categories in your <0>V3 Dashboard"],"Asset cannot be migrated to {marketName} v3 Market since collateral asset will enable isolation mode.":["Asset cannot be migrated to ",["marketName"]," v3 Market since collateral asset will enable isolation mode."],"Asset cannot be used as collateral.":"Asset cannot be used as collateral.","Asset category":"Asset category","Asset is frozen in {marketName} v3 market, hence this position cannot be migrated.":["Asset is frozen in ",["marketName"]," v3 market, hence this position cannot be migrated."],"Asset is not borrowable in isolation mode":"Asset is not borrowable in isolation mode","Asset is not listed":"Asset is not listed","Asset supply is limited to a certain amount to reduce protocol exposure to the asset and to help manage risks involved.":"Asset supply is limited to a certain amount to reduce protocol exposure to the asset and to help manage risks involved.","Assets":"Assets","Assets to borrow":"Assets to borrow","Assets to supply":"Assets to supply","Assets with zero LTV ({assetsBlockingWithdraw}) must be withdrawn or disabled as collateral to perform this action":["Assets with zero LTV (",["assetsBlockingWithdraw"],") must be withdrawn or disabled as collateral to perform this action"],"At a discount":"At a discount","Available":"Available","Available assets":"Available assets","Available liquidity":"Available liquidity","Available on":"Available on","Available rewards":"Available rewards","Available to borrow":"Available to borrow","Available to supply":"Available to supply","Back to Dashboard":"Back to Dashboard","Balance":"Balance","Balance to revoke":"Balance to revoke","Be careful - You are very close to liquidation. Consider depositing more collateral or paying down some of your borrowed positions":"Be careful - You are very close to liquidation. Consider depositing more collateral or paying down some of your borrowed positions","Be mindful of the network congestion and gas prices.":"Be mindful of the network congestion and gas prices.","Because this asset is paused, no actions can be taken until further notice":"Because this asset is paused, no actions can be taken until further notice","Before supplying":"Before supplying","Blocked Address":"Blocked Address","Borrow":"Borrow","Borrow APY":"Borrow APY","Borrow APY rate":"Borrow APY rate","Borrow APY, variable":"Borrow APY, variable","Borrow amount to reach {0}% utilization":["Borrow amount to reach ",["0"],"% utilization"],"Borrow and repay in same block is not allowed":"Borrow and repay in same block is not allowed","Borrow apy":"Borrow apy","Borrow balance":"Borrow balance","Borrow balance after repay":"Borrow balance after repay","Borrow balance after switch":"Borrow balance after switch","Borrow cap":"Borrow cap","Borrow cap is exceeded":"Borrow cap is exceeded","Borrow info":"Borrow info","Borrow power used":"Borrow power used","Borrow rate APY":"Borrow rate APY","Borrow rate change":"Borrow rate change","Borrow {symbol}":["Borrow ",["symbol"]],"Borrowed":"Borrowed","Borrowed asset amount":"Borrowed asset amount","Borrowing is currently unavailable for {0}.":["Borrowing is currently unavailable for ",["0"],"."],"Borrowing is disabled due to an Aave community decision. <0>More details":"Borrowing is disabled due to an Aave community decision. <0>More details","Borrowing is not enabled":"Borrowing is not enabled","Borrowing is unavailable because you’re using Isolation mode. To manage Isolation mode visit your <0>Dashboard.":"Borrowing is unavailable because you’re using Isolation mode. To manage Isolation mode visit your <0>Dashboard.","Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) and Isolation mode. To manage E-Mode and Isolation mode visit your <0>Dashboard.":"Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) and Isolation mode. To manage E-Mode and Isolation mode visit your <0>Dashboard.","Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) for {0} category. To manage E-Mode categories visit your <0>Dashboard.":["Borrowing is unavailable because you’ve enabled Efficiency Mode (E-Mode) for ",["0"]," category. To manage E-Mode categories visit your <0>Dashboard."],"Borrowing of this asset is limited to a certain amount to minimize liquidity pool insolvency.":"Borrowing of this asset is limited to a certain amount to minimize liquidity pool insolvency.","Borrowing power and assets are limited due to Isolation mode.":"Borrowing power and assets are limited due to Isolation mode.","Borrowing this amount will reduce your health factor and increase risk of liquidation.":"Borrowing this amount will reduce your health factor and increase risk of liquidation.","Borrowing {symbol}":["Borrowing ",["symbol"]],"Both":"Both","Buy Crypto With Fiat":"Buy Crypto With Fiat","Buy Crypto with Fiat":"Buy Crypto with Fiat","Buy {cryptoSymbol} with Fiat":["Buy ",["cryptoSymbol"]," with Fiat"],"COPIED!":"COPIED!","COPY IMAGE":"COPY IMAGE","Can be collateral":"Can be collateral","Can be executed":"Can be executed","Can't validate the wallet address. Try again.":"Can't validate the wallet address. Try again.","Cancel":"Cancel","Cannot disable E-Mode":"Cannot disable E-Mode","Choose how much voting/proposition power to give to someone else by delegating some of your AAVE, stkAAVE or aAave balance. Your tokens will remain in your account, but your delegate will be able to vote or propose on your behalf. If your AAVE, stkAAVE or aAave balance changes, your delegate's voting/proposition power will be automatically adjusted.":"Choose how much voting/proposition power to give to someone else by delegating some of your AAVE, stkAAVE or aAave balance. Your tokens will remain in your account, but your delegate will be able to vote or propose on your behalf. If your AAVE, stkAAVE or aAave balance changes, your delegate's voting/proposition power will be automatically adjusted.","Choose one of the on-ramp services":"Choose one of the on-ramp services","Claim":"Claim","Claim all":"Claim all","Claim all rewards":"Claim all rewards","Claim {0}":["Claim ",["0"]],"Claim {symbol}":["Claim ",["symbol"]],"Claimable AAVE":"Claimable AAVE","Claimed":"Claimed","Claiming":"Claiming","Claiming {symbol}":["Claiming ",["symbol"]],"Close":"Close","Collateral":"Collateral","Collateral balance after repay":"Collateral balance after repay","Collateral change":"Collateral change","Collateral is (mostly) the same currency that is being borrowed":"Collateral is (mostly) the same currency that is being borrowed","Collateral to repay with":"Collateral to repay with","Collateral usage":"Collateral usage","Collateral usage is limited because of Isolation mode.":"Collateral usage is limited because of Isolation mode.","Collateral usage is limited because of isolation mode.":"Collateral usage is limited because of isolation mode.","Collateral usage is limited because of isolation mode. <0>Learn More":"Collateral usage is limited because of isolation mode. <0>Learn More","Collateralization":"Collateralization","Collector Contract":"Collector Contract","Collector Info":"Collector Info","Confirm transaction":"Confirm transaction","Confirming transaction":"Confirming transaction","Connect":"Connect","Connect wallet":"Connect wallet","Cooldown period":"Cooldown period","Cooldown period warning":"Cooldown period warning","Cooldown time left":"Cooldown time left","Cooldown to unstake":"Cooldown to unstake","Cooling down...":"Cooling down...","Copy address":"Copy address","Copy error message":"Copy error message","Copy error text":"Copy error text","Covered debt":"Covered debt","Created":"Created","Current LTV":"Current LTV","Current differential":"Current differential","Current v2 Balance":"Current v2 Balance","Current v2 balance":"Current v2 balance","Current votes":"Current votes","Dark mode":"Dark mode","Dashboard":"Dashboard","Data couldn't be fetched, please reload graph.":"Data couldn't be fetched, please reload graph.","Debt":"Debt","Debt ceiling is exceeded":"Debt ceiling is exceeded","Debt ceiling is not zero":"Debt ceiling is not zero","Debt ceiling limits the amount possible to borrow against this asset by protocol users. Debt ceiling is specific to assets in isolation mode and is denoted in USD.":"Debt ceiling limits the amount possible to borrow against this asset by protocol users. Debt ceiling is specific to assets in isolation mode and is denoted in USD.","Delegated power":"Delegated power","Details":"Details","Developers":"Developers","Differential":"Differential","Disable E-Mode":"Disable E-Mode","Disable testnet":"Disable testnet","Disable {symbol} as collateral":["Disable ",["symbol"]," as collateral"],"Disabled":"Disabled","Disabling E-Mode":"Disabling E-Mode","Disabling this asset as collateral affects your borrowing power and Health Factor.":"Disabling this asset as collateral affects your borrowing power and Health Factor.","Disconnect Wallet":"Disconnect Wallet","Discord channel":"Discord channel","Discount":"Discount","Discount applied for <0/> staking AAVE":"Discount applied for <0/> staking AAVE","Discount model parameters":"Discount model parameters","Discount parameters are decided by the Aave community and may be changed over time. Check Governance for updates and vote to participate. <0>Learn more":"Discount parameters are decided by the Aave community and may be changed over time. Check Governance for updates and vote to participate. <0>Learn more","Discountable amount":"Discountable amount","Docs":"Docs","Download":"Download","Due to internal stETH mechanics required for rebasing support, it is not possible to perform a collateral switch where stETH is the source token.":"Due to internal stETH mechanics required for rebasing support, it is not possible to perform a collateral switch where stETH is the source token.","Due to the Horizon bridge exploit, certain assets on the Harmony network are not at parity with Ethereum, which affects the Aave V3 Harmony market.":"Due to the Horizon bridge exploit, certain assets on the Harmony network are not at parity with Ethereum, which affects the Aave V3 Harmony market.","E-Mode":"E-Mode","E-Mode Category":"E-Mode Category","E-Mode category":"E-Mode category","E-Mode increases your LTV for a selected category of assets up to 97%. <0>Learn more":"E-Mode increases your LTV for a selected category of assets up to 97%. <0>Learn more","E-Mode increases your LTV for a selected category of assets up to<0/>. <1>Learn more":"E-Mode increases your LTV for a selected category of assets up to<0/>. <1>Learn more","E-Mode increases your LTV for a selected category of assets, meaning that when E-mode is enabled, you will have higher borrowing power over assets of the same E-mode category which are defined by Aave Governance. You can enter E-Mode from your <0>Dashboard. To learn more about E-Mode and applied restrictions in <1>FAQ or <2>Aave V3 Technical Paper.":"E-Mode increases your LTV for a selected category of assets, meaning that when E-mode is enabled, you will have higher borrowing power over assets of the same E-mode category which are defined by Aave Governance. You can enter E-Mode from your <0>Dashboard. To learn more about E-Mode and applied restrictions in <1>FAQ or <2>Aave V3 Technical Paper.","Edit":"Edit","Effective interest rate":"Effective interest rate","Efficiency mode (E-Mode)":"Efficiency mode (E-Mode)","Emode":"Emode","Enable E-Mode":"Enable E-Mode","Enable {symbol} as collateral":["Enable ",["symbol"]," as collateral"],"Enabled":"Enabled","Enabling E-Mode":"Enabling E-Mode","Enabling E-Mode only allows you to borrow assets belonging to the selected category. Please visit our <0>FAQ guide to learn more about how it works and the applied restrictions.":"Enabling E-Mode only allows you to borrow assets belonging to the selected category. Please visit our <0>FAQ guide to learn more about how it works and the applied restrictions.","Enabling this asset as collateral increases your borrowing power and Health Factor. However, it can get liquidated if your health factor drops below 1.":"Enabling this asset as collateral increases your borrowing power and Health Factor. However, it can get liquidated if your health factor drops below 1.","English":"English","Enter ETH address":"Enter ETH address","Enter an amount":"Enter an amount","Error connecting. Try refreshing the page.":"Error connecting. Try refreshing the page.","Estimated compounding interest, including discount for Staking {0}AAVE in Safety Module.":["Estimated compounding interest, including discount for Staking ",["0"],"AAVE in Safety Module."],"Exceeds the discount":"Exceeds the discount","Expected amount to repay":"Expected amount to repay","Expires":"Expires","Export data to":"Export data to","FAQ":"FAQ","FAQS":"FAQS","Failed to load proposal voters. Please refresh the page.":"Failed to load proposal voters. Please refresh the page.","Faucet":"Faucet","Faucet {0}":["Faucet ",["0"]],"Fetching data...":"Fetching data...","Filter":"Filter","Fixed":"Fixed","Fixed rate":"Fixed rate","Flashloan is disabled for this asset, hence this position cannot be migrated.":"Flashloan is disabled for this asset, hence this position cannot be migrated.","For repayment of a specific type of debt, the user needs to have debt that type":"For repayment of a specific type of debt, the user needs to have debt that type","Forum discussion":"Forum discussion","French":"French","Funds in the Safety Module":"Funds in the Safety Module","GHO is a native decentralized, collateral-backed digital asset pegged to USD. It is created by users via borrowing against multiple collateral. When user repays their GHO borrow position, the protocol burns that user's GHO. All the interest payments accrued by minters of GHO would be directly transferred to the AaveDAO treasury.":"GHO is a native decentralized, collateral-backed digital asset pegged to USD. It is created by users via borrowing against multiple collateral. When user repays their GHO borrow position, the protocol burns that user's GHO. All the interest payments accrued by minters of GHO would be directly transferred to the AaveDAO treasury.","Get ABP Token":"Get ABP Token","Global settings":"Global settings","Go Back":"Go Back","Go to Balancer Pool":"Go to Balancer Pool","Go to V3 Dashboard":"Go to V3 Dashboard","Governance":"Governance","Greek":"Greek","Health Factor ({0} v2)":["Health Factor (",["0"]," v2)"],"Health Factor ({0} v3)":["Health Factor (",["0"]," v3)"],"Health factor":"Health factor","Health factor is lesser than the liquidation threshold":"Health factor is lesser than the liquidation threshold","Health factor is not below the threshold":"Health factor is not below the threshold","Hide":"Hide","Holders of stkAAVE receive a discount on the GHO borrowing rate":"Holders of stkAAVE receive a discount on the GHO borrowing rate","I acknowledge the risks involved.":"I acknowledge the risks involved.","I fully understand the risks of migrating.":"I fully understand the risks of migrating.","I understand how cooldown ({0}) and unstaking ({1}) work":["I understand how cooldown (",["0"],") and unstaking (",["1"],") work"],"If the error continues to happen,<0/> you may report it to this":"If the error continues to happen,<0/> you may report it to this","If the health factor goes below 1, the liquidation of your collateral might be triggered.":"If the health factor goes below 1, the liquidation of your collateral might be triggered.","If you DO NOT unstake within {0} of unstake window, you will need to activate cooldown process again.":["If you DO NOT unstake within ",["0"]," of unstake window, you will need to activate cooldown process again."],"If your loan to value goes above the liquidation threshold your collateral supplied may be liquidated.":"If your loan to value goes above the liquidation threshold your collateral supplied may be liquidated.","In E-Mode some assets are not borrowable. Exit E-Mode to get access to all assets":"In E-Mode some assets are not borrowable. Exit E-Mode to get access to all assets","In Isolation mode, you cannot supply other assets as collateral. A global debt ceiling limits the borrowing power of the isolated asset. To exit isolation mode disable {0} as collateral before borrowing another asset. Read more in our <0>FAQ":["In Isolation mode, you cannot supply other assets as collateral. A global debt ceiling limits the borrowing power of the isolated asset. To exit isolation mode disable ",["0"]," as collateral before borrowing another asset. Read more in our <0>FAQ"],"Inconsistent flashloan parameters":"Inconsistent flashloan parameters","Insufficient collateral to cover new borrow position. Wallet must have borrowing power remaining to perform debt switch.":"Insufficient collateral to cover new borrow position. Wallet must have borrowing power remaining to perform debt switch.","Interest accrued":"Interest accrued","Interest rate rebalance conditions were not met":"Interest rate rebalance conditions were not met","Interest rate strategy":"Interest rate strategy","Interest rate that is determined by Aave Governance. This rate may be changed over time depending on the need for the GHO supply to contract/expand. <0>Learn more":"Interest rate that is determined by Aave Governance. This rate may be changed over time depending on the need for the GHO supply to contract/expand. <0>Learn more","Invalid amount to burn":"Invalid amount to burn","Invalid amount to mint":"Invalid amount to mint","Invalid bridge protocol fee":"Invalid bridge protocol fee","Invalid expiration":"Invalid expiration","Invalid flashloan premium":"Invalid flashloan premium","Invalid return value of the flashloan executor function":"Invalid return value of the flashloan executor function","Invalid signature":"Invalid signature","Isolated":"Isolated","Isolated Debt Ceiling":"Isolated Debt Ceiling","Isolated assets have limited borrowing power and other assets cannot be used as collateral.":"Isolated assets have limited borrowing power and other assets cannot be used as collateral.","Join the community discussion":"Join the community discussion","LEARN MORE":"LEARN MORE","Language":"Language","Learn more":"Learn more","Learn more about risks involved":"Learn more about risks involved","Learn more in our <0>FAQ guide":"Learn more in our <0>FAQ guide","Learn more.":"Learn more.","Linked addresses":"Linked addresses","Links":"Links","Liqudation":"Liqudation","Liquidated collateral":"Liquidated collateral","Liquidation":"Liquidation","Liquidation <0/> threshold":"Liquidation <0/> threshold","Liquidation Threshold":"Liquidation Threshold","Liquidation at":"Liquidation at","Liquidation penalty":"Liquidation penalty","Liquidation risk":"Liquidation risk","Liquidation risk parameters":"Liquidation risk parameters","Liquidation threshold":"Liquidation threshold","Liquidation value":"Liquidation value","Loading data...":"Loading data...","Ltv validation failed":"Ltv validation failed","MAI has been paused due to a community decision. Supply, borrows and repays are impacted. <0>More details":"MAI has been paused due to a community decision. Supply, borrows and repays are impacted. <0>More details","MAX":"MAX","Manage analytics":"Manage analytics","Market":"Market","Markets":"Markets","Max":"Max","Max LTV":"Max LTV","Max slashing":"Max slashing","Max slippage":"Max slippage","Maximum amount available to borrow against this asset is limited because debt ceiling is at {0}%.":["Maximum amount available to borrow against this asset is limited because debt ceiling is at ",["0"],"%."],"Maximum amount available to borrow is <0/> {0} (<1/>).":["Maximum amount available to borrow is <0/> ",["0"]," (<1/>)."],"Maximum amount available to borrow is limited because protocol borrow cap is nearly reached.":"Maximum amount available to borrow is limited because protocol borrow cap is nearly reached.","Maximum amount available to supply is <0/> {0} (<1/>).":["Maximum amount available to supply is <0/> ",["0"]," (<1/>)."],"Maximum amount available to supply is limited because protocol supply cap is at {0}%.":["Maximum amount available to supply is limited because protocol supply cap is at ",["0"],"%."],"Maximum loan to value":"Maximum loan to value","Meet GHO":"Meet GHO","Menu":"Menu","Migrate":"Migrate","Migrate to V3":"Migrate to V3","Migrate to v3":"Migrate to v3","Migrate to {0} v3 Market":["Migrate to ",["0"]," v3 Market"],"Migrated":"Migrated","Migrating":"Migrating","Migrating multiple collaterals and borrowed assets at the same time can be an expensive operation and might fail in certain situations.<0>Therefore it’s not recommended to migrate positions with more than 5 assets (deposited + borrowed) at the same time.":"Migrating multiple collaterals and borrowed assets at the same time can be an expensive operation and might fail in certain situations.<0>Therefore it’s not recommended to migrate positions with more than 5 assets (deposited + borrowed) at the same time.","Migration risks":"Migration risks","Minimum GHO borrow amount":"Minimum GHO borrow amount","Minimum USD value received":"Minimum USD value received","Minimum staked Aave amount":"Minimum staked Aave amount","Minimum {0} received":["Minimum ",["0"]," received"],"More":"More","NAY":"NAY","Need help connecting a wallet? <0>Read our FAQ":"Need help connecting a wallet? <0>Read our FAQ","Net APR":"Net APR","Net APY":"Net APY","Net APY is the combined effect of all supply and borrow positions on net worth, including incentives. It is possible to have a negative net APY if debt APY is higher than supply APY.":"Net APY is the combined effect of all supply and borrow positions on net worth, including incentives. It is possible to have a negative net APY if debt APY is higher than supply APY.","Net worth":"Net worth","Network":"Network","Network not supported for this wallet":"Network not supported for this wallet","New APY":"New APY","No assets selected to migrate.":"No assets selected to migrate.","No rewards to claim":"No rewards to claim","No search results{0}":["No search results",["0"]],"No transactions yet.":"No transactions yet.","No voting power":"No voting power","None":"None","Not a valid address":"Not a valid address","Not enough balance on your wallet":"Not enough balance on your wallet","Not enough collateral to repay this amount of debt with":"Not enough collateral to repay this amount of debt with","Not enough staked balance":"Not enough staked balance","Not enough voting power to participate in this proposal":"Not enough voting power to participate in this proposal","Not reached":"Not reached","Nothing borrowed yet":"Nothing borrowed yet","Nothing found":"Nothing found","Nothing staked":"Nothing staked","Nothing supplied yet":"Nothing supplied yet","Notify":"Notify","Ok, Close":"Ok, Close","Ok, I got it":"Ok, I got it","Open for voting":"Open for voting","Operation not supported":"Operation not supported","Oracle price":"Oracle price","Overview":"Overview","Page not found":"Page not found","Participating in this {symbol} reserve gives annualized rewards.":["Participating in this ",["symbol"]," reserve gives annualized rewards."],"Payloads executed":"Payloads executed","Pending...":"Pending...","Per the community, the Fantom market has been frozen.":"Per the community, the Fantom market has been frozen.","Per the community, the V2 AMM market has been deprecated.":"Per the community, the V2 AMM market has been deprecated.","Please always be aware of your <0>Health Factor (HF) when partially migrating a position and that your rates will be updated to V3 rates.":"Please always be aware of your <0>Health Factor (HF) when partially migrating a position and that your rates will be updated to V3 rates.","Please connect a wallet to view your personal information here.":"Please connect a wallet to view your personal information here.","Please connect your wallet to be able to switch your tokens.":"Please connect your wallet to be able to switch your tokens.","Please connect your wallet to get free testnet assets.":"Please connect your wallet to get free testnet assets.","Please connect your wallet to see migration tool.":"Please connect your wallet to see migration tool.","Please connect your wallet to see your supplies, borrowings, and open positions.":"Please connect your wallet to see your supplies, borrowings, and open positions.","Please connect your wallet to view transaction history.":"Please connect your wallet to view transaction history.","Please enter a valid wallet address.":"Please enter a valid wallet address.","Please switch to {networkName}.":["Please switch to ",["networkName"],"."],"Please, connect your wallet":"Please, connect your wallet","Pool addresses provider is not registered":"Pool addresses provider is not registered","Powered by":"Powered by","Preview tx and migrate":"Preview tx and migrate","Price":"Price","Price data is not currently available for this reserve on the protocol subgraph":"Price data is not currently available for this reserve on the protocol subgraph","Price impact":"Price impact","Price impact is the spread between the total value of the entry tokens switched and the destination tokens obtained (in USD), which results from the limited liquidity of the trading pair.":"Price impact is the spread between the total value of the entry tokens switched and the destination tokens obtained (in USD), which results from the limited liquidity of the trading pair.","Price impact {0}%":["Price impact ",["0"],"%"],"Privacy":"Privacy","Proposal details":"Proposal details","Proposal overview":"Proposal overview","Proposals":"Proposals","Proposition":"Proposition","Protocol borrow cap at 100% for this asset. Further borrowing unavailable.":"Protocol borrow cap at 100% for this asset. Further borrowing unavailable.","Protocol borrow cap is at 100% for this asset. Further borrowing unavailable.":"Protocol borrow cap is at 100% for this asset. Further borrowing unavailable.","Protocol debt ceiling is at 100% for this asset. Further borrowing against this asset is unavailable.":"Protocol debt ceiling is at 100% for this asset. Further borrowing against this asset is unavailable.","Protocol debt ceiling is at 100% for this asset. Futher borrowing against this asset is unavailable.":"Protocol debt ceiling is at 100% for this asset. Futher borrowing against this asset is unavailable.","Protocol supply cap at 100% for this asset. Further supply unavailable.":"Protocol supply cap at 100% for this asset. Further supply unavailable.","Protocol supply cap is at 100% for this asset. Further supply unavailable.":"Protocol supply cap is at 100% for this asset. Further supply unavailable.","Quorum":"Quorum","Rate change":"Rate change","Raw-Ipfs":"Raw-Ipfs","Reached":"Reached","Reactivate cooldown period to unstake {0} {stakedToken}":["Reactivate cooldown period to unstake ",["0"]," ",["stakedToken"]],"Read more here.":"Read more here.","Read-only mode allows to see address positions in Aave, but you won't be able to perform transactions.":"Read-only mode allows to see address positions in Aave, but you won't be able to perform transactions.","Read-only mode.":"Read-only mode.","Read-only mode. Connect to a wallet to perform transactions.":"Read-only mode. Connect to a wallet to perform transactions.","Receive (est.)":"Receive (est.)","Received":"Received","Recipient address":"Recipient address","Rejected connection request":"Rejected connection request","Reload":"Reload","Reload the page":"Reload the page","Remaining debt":"Remaining debt","Remaining supply":"Remaining supply","Remove":"Remove","Repaid":"Repaid","Repay":"Repay","Repay with":"Repay with","Repay {symbol}":["Repay ",["symbol"]],"Repaying {symbol}":["Repaying ",["symbol"]],"Repayment amount to reach {0}% utilization":["Repayment amount to reach ",["0"],"% utilization"],"Representative smart contract wallet (ie. Safe) addresses on other chains.":"Representative smart contract wallet (ie. Safe) addresses on other chains.","Representing smart contract wallet (ie. Safe) addresses on other chains.":"Representing smart contract wallet (ie. Safe) addresses on other chains.","Reserve Size":"Reserve Size","Reserve factor":"Reserve factor","Reserve factor is a percentage of interest which goes to a {0} that is controlled by Aave governance to promote ecosystem growth.":["Reserve factor is a percentage of interest which goes to a ",["0"]," that is controlled by Aave governance to promote ecosystem growth."],"Reserve status & configuration":"Reserve status & configuration","Reset":"Reset","Restake":"Restake","Restake {symbol}":["Restake ",["symbol"]],"Restaked":"Restaked","Restaking {symbol}":["Restaking ",["symbol"]],"Review approval tx details":"Review approval tx details","Review changes to continue":"Review changes to continue","Review tx":"Review tx","Review tx details":"Review tx details","Revoke power":"Revoke power","Reward(s) to claim":"Reward(s) to claim","Rewards APR":"Rewards APR","Risk details":"Risk details","SEE CHARTS":"SEE CHARTS","Safety of your deposited collateral against the borrowed assets and its underlying value.":"Safety of your deposited collateral against the borrowed assets and its underlying value.","Save and share":"Save and share","Seems like we can't switch the network automatically. Please check if you can change it from the wallet.":"Seems like we can't switch the network automatically. Please check if you can change it from the wallet.","Select":"Select","Select APY type to switch":"Select APY type to switch","Select an asset":"Select an asset","Select language":"Select language","Select slippage tolerance":"Select slippage tolerance","Select v2 borrows to migrate":"Select v2 borrows to migrate","Select v2 supplies to migrate":"Select v2 supplies to migrate","Selected assets have successfully migrated. Visit the Market Dashboard to see them.":"Selected assets have successfully migrated. Visit the Market Dashboard to see them.","Selected borrow assets":"Selected borrow assets","Selected supply assets":"Selected supply assets","Send feedback":"Send feedback","Set up delegation":"Set up delegation","Setup notifications about your Health Factor using the Hal app.":"Setup notifications about your Health Factor using the Hal app.","Share on Lens":"Share on Lens","Share on twitter":"Share on twitter","Show":"Show","Show Frozen or paused assets":"Show Frozen or paused assets","Show assets with 0 balance":"Show assets with 0 balance","Sign to continue":"Sign to continue","Signatures ready":"Signatures ready","Signing":"Signing","Since this asset is frozen, the only available actions are withdraw and repay which can be accessed from the <0>Dashboard":"Since this asset is frozen, the only available actions are withdraw and repay which can be accessed from the <0>Dashboard","Since this is a test network, you can get any of the assets if you have ETH on your wallet":"Since this is a test network, you can get any of the assets if you have ETH on your wallet","Slippage":"Slippage","Slippage is the difference between the quoted and received amounts from changing market conditions between the moment the transaction is submitted and its verification.":"Slippage is the difference between the quoted and received amounts from changing market conditions between the moment the transaction is submitted and its verification.","Some migrated assets will not be used as collateral due to enabled isolation mode in {marketName} V3 Market. Visit <0>{marketName} V3 Dashboard to manage isolation mode.":["Some migrated assets will not be used as collateral due to enabled isolation mode in ",["marketName"]," V3 Market. Visit <0>",["marketName"]," V3 Dashboard to manage isolation mode."],"Something went wrong":"Something went wrong","Sorry, an unexpected error happened. In the meantime you may try reloading the page, or come back later.":"Sorry, an unexpected error happened. In the meantime you may try reloading the page, or come back later.","Sorry, we couldn't find the page you were looking for.":"Sorry, we couldn't find the page you were looking for.","Spanish":"Spanish","Stable":"Stable","Stable Interest Type is disabled for this currency":"Stable Interest Type is disabled for this currency","Stable borrowing is enabled":"Stable borrowing is enabled","Stable borrowing is not enabled":"Stable borrowing is not enabled","Stable debt supply is not zero":"Stable debt supply is not zero","Stable interest rate will <0>stay the same for the duration of your loan. Recommended for long-term loan periods and for users who prefer predictability.":"Stable interest rate will <0>stay the same for the duration of your loan. Recommended for long-term loan periods and for users who prefer predictability.","Stablecoin":"Stablecoin","Stake":"Stake","Stake AAVE":"Stake AAVE","Stake ABPT":"Stake ABPT","Stake cooldown activated":"Stake cooldown activated","Staked":"Staked","Staking":"Staking","Staking APR":"Staking APR","Staking Rewards":"Staking Rewards","Staking balance":"Staking balance","Staking discount":"Staking discount","State":"State","Supplied":"Supplied","Supplied asset amount":"Supplied asset amount","Supply":"Supply","Supply APY":"Supply APY","Supply apy":"Supply apy","Supply balance":"Supply balance","Supply balance after switch":"Supply balance after switch","Supply cap is exceeded":"Supply cap is exceeded","Supply cap on target reserve reached. Try lowering the amount.":"Supply cap on target reserve reached. Try lowering the amount.","Supply {symbol}":["Supply ",["symbol"]],"Supplying your":"Supplying your","Supplying {symbol}":["Supplying ",["symbol"]],"Switch":"Switch","Switch APY type":"Switch APY type","Switch E-Mode":"Switch E-Mode","Switch E-Mode category":"Switch E-Mode category","Switch Network":"Switch Network","Switch borrow position":"Switch borrow position","Switch rate":"Switch rate","Switch to":"Switch to","Switched":"Switched","Switching":"Switching","Switching E-Mode":"Switching E-Mode","Switching rate":"Switching rate","Techpaper":"Techpaper","Terms":"Terms","Test Assets":"Test Assets","Testnet mode":"Testnet mode","Testnet mode is ON":"Testnet mode is ON","Thank you for voting!!":"Thank you for voting!!","The % of your total borrowing power used. This is based on the amount of your collateral supplied and the total amount that you can borrow.":"The % of your total borrowing power used. This is based on the amount of your collateral supplied and the total amount that you can borrow.","The Aave Balancer Pool Token (ABPT) is a liquidity pool token. You can receive ABPT by depositing a combination of AAVE + ETH in the Balancer liquidity pool. You can then stake your BPT in the Safety Module to secure the protocol and earn Safety Incentives.":"The Aave Balancer Pool Token (ABPT) is a liquidity pool token. You can receive ABPT by depositing a combination of AAVE + ETH in the Balancer liquidity pool. You can then stake your BPT in the Safety Module to secure the protocol and earn Safety Incentives.","The Aave Protocol is programmed to always use the price of 1 GHO = $1. This is different from using market pricing via oracles for other crypto assets. This creates stabilizing arbitrage opportunities when the price of GHO fluctuates.":"The Aave Protocol is programmed to always use the price of 1 GHO = $1. This is different from using market pricing via oracles for other crypto assets. This creates stabilizing arbitrage opportunities when the price of GHO fluctuates.","The Maximum LTV ratio represents the maximum borrowing power of a specific collateral. For example, if a collateral has an LTV of 75%, the user can borrow up to 0.75 worth of ETH in the principal currency for every 1 ETH worth of collateral.":"The Maximum LTV ratio represents the maximum borrowing power of a specific collateral. For example, if a collateral has an LTV of 75%, the user can borrow up to 0.75 worth of ETH in the principal currency for every 1 ETH worth of collateral.","The Stable Rate is not enabled for this currency":"The Stable Rate is not enabled for this currency","The address of the pool addresses provider is invalid":"The address of the pool addresses provider is invalid","The app is running in testnet mode. Learn how it works in":"The app is running in testnet mode. Learn how it works in","The caller of the function is not an AToken":"The caller of the function is not an AToken","The caller of this function must be a pool":"The caller of this function must be a pool","The collateral balance is 0":"The collateral balance is 0","The collateral chosen cannot be liquidated":"The collateral chosen cannot be liquidated","The cooldown period is the time required prior to unstaking your tokens (20 days). You can only withdraw your assets from the Security Module after the cooldown period and within the unstake window.<0>Learn more":"The cooldown period is the time required prior to unstaking your tokens (20 days). You can only withdraw your assets from the Security Module after the cooldown period and within the unstake window.<0>Learn more","The cooldown period is {0}. After {1} of cooldown, you will enter unstake window of {2}. You will continue receiving rewards during cooldown and unstake window.":["The cooldown period is ",["0"],". After ",["1"]," of cooldown, you will enter unstake window of ",["2"],". You will continue receiving rewards during cooldown and unstake window."],"The effects on the health factor would cause liquidation. Try lowering the amount.":"The effects on the health factor would cause liquidation. Try lowering the amount.","The loan to value of the migrated positions would cause liquidation. Increase migrated collateral or reduce migrated borrow to continue.":"The loan to value of the migrated positions would cause liquidation. Increase migrated collateral or reduce migrated borrow to continue.","The requested amount is greater than the max loan size in stable rate mode":"The requested amount is greater than the max loan size in stable rate mode","The total amount of your assets denominated in USD that can be used as collateral for borrowing assets.":"The total amount of your assets denominated in USD that can be used as collateral for borrowing assets.","The underlying asset cannot be rescued":"The underlying asset cannot be rescued","The underlying balance needs to be greater than 0":"The underlying balance needs to be greater than 0","The weighted average of APY for all borrowed assets, including incentives.":"The weighted average of APY for all borrowed assets, including incentives.","The weighted average of APY for all supplied assets, including incentives.":"The weighted average of APY for all supplied assets, including incentives.","There are not enough funds in the{0}reserve to borrow":["There are not enough funds in the",["0"],"reserve to borrow"],"There is not enough collateral to cover a new borrow":"There is not enough collateral to cover a new borrow","There is not enough liquidity for the target asset to perform the switch. Try lowering the amount.":"There is not enough liquidity for the target asset to perform the switch. Try lowering the amount.","There was some error. Please try changing the parameters or <0><1>copy the error":"There was some error. Please try changing the parameters or <0><1>copy the error","These assets are temporarily frozen or paused by Aave community decisions, meaning that further supply / borrow, or rate swap of these assets are unavailable. Withdrawals and debt repayments are allowed. Follow the <0>Aave governance forum for further updates.":"These assets are temporarily frozen or paused by Aave community decisions, meaning that further supply / borrow, or rate swap of these assets are unavailable. Withdrawals and debt repayments are allowed. Follow the <0>Aave governance forum for further updates.","These funds have been borrowed and are not available for withdrawal at this time.":"These funds have been borrowed and are not available for withdrawal at this time.","This action will reduce V2 health factor below liquidation threshold. retain collateral or migrate borrow position to continue.":"This action will reduce V2 health factor below liquidation threshold. retain collateral or migrate borrow position to continue.","This action will reduce health factor of V3 below liquidation threshold. Increase migrated collateral or reduce migrated borrow to continue.":"This action will reduce health factor of V3 below liquidation threshold. Increase migrated collateral or reduce migrated borrow to continue.","This action will reduce your health factor. Please be mindful of the increased risk of collateral liquidation.":"This action will reduce your health factor. Please be mindful of the increased risk of collateral liquidation.","This address is blocked on app.aave.com because it is associated with one or more":"This address is blocked on app.aave.com because it is associated with one or more","This asset has almost reached its borrow cap. There is only {messageValue} available to be borrowed from this market.":["This asset has almost reached its borrow cap. There is only ",["messageValue"]," available to be borrowed from this market."],"This asset has almost reached its supply cap. There can only be {messageValue} supplied to this market.":["This asset has almost reached its supply cap. There can only be ",["messageValue"]," supplied to this market."],"This asset has been paused due to a community decision. Supply, withdraw, borrows and repays are impacted.":"This asset has been paused due to a community decision. Supply, withdraw, borrows and repays are impacted.","This asset has reached its borrow cap. Nothing is available to be borrowed from this market.":"This asset has reached its borrow cap. Nothing is available to be borrowed from this market.","This asset has reached its supply cap. Nothing is available to be supplied from this market.":"This asset has reached its supply cap. Nothing is available to be supplied from this market.","This asset is frozen due to an Aave Protocol Governance decision. <0>More details":"This asset is frozen due to an Aave Protocol Governance decision. <0>More details","This asset is frozen due to an Aave Protocol Governance decision. On the 20th of December 2022, renFIL will no longer be supported and cannot be bridged back to its native network. It is recommended to withdraw supply positions and repay borrow positions so that renFIL can be bridged back to FIL before the deadline. After this date, it will no longer be possible to convert renFIL to FIL. <0>More details":"This asset is frozen due to an Aave Protocol Governance decision. On the 20th of December 2022, renFIL will no longer be supported and cannot be bridged back to its native network. It is recommended to withdraw supply positions and repay borrow positions so that renFIL can be bridged back to FIL before the deadline. After this date, it will no longer be possible to convert renFIL to FIL. <0>More details","This asset is frozen due to an Aave community decision. <0>More details":"This asset is frozen due to an Aave community decision. <0>More details","This asset is planned to be offboarded due to an Aave Protocol Governance decision. <0>More details":"This asset is planned to be offboarded due to an Aave Protocol Governance decision. <0>More details","This gas calculation is only an estimation. Your wallet will set the price of the transaction. You can modify the gas settings directly from your wallet provider.":"This gas calculation is only an estimation. Your wallet will set the price of the transaction. You can modify the gas settings directly from your wallet provider.","This integration was<0>proposed and approvedby the community.":"This integration was<0>proposed and approvedby the community.","This is the total amount available for you to borrow. You can borrow based on your collateral and until the borrow cap is reached.":"This is the total amount available for you to borrow. You can borrow based on your collateral and until the borrow cap is reached.","This is the total amount that you are able to supply to in this reserve. You are able to supply your wallet balance up until the supply cap is reached.":"This is the total amount that you are able to supply to in this reserve. You are able to supply your wallet balance up until the supply cap is reached.","This represents the threshold at which a borrow position will be considered undercollateralized and subject to liquidation for each collateral. For example, if a collateral has a liquidation threshold of 80%, it means that the position will be liquidated when the debt value is worth 80% of the collateral value.":"This represents the threshold at which a borrow position will be considered undercollateralized and subject to liquidation for each collateral. For example, if a collateral has a liquidation threshold of 80%, it means that the position will be liquidated when the debt value is worth 80% of the collateral value.","Time left to be able to withdraw your staked asset.":"Time left to be able to withdraw your staked asset.","Time left to unstake":"Time left to unstake","Time left until the withdrawal window closes.":"Time left until the withdrawal window closes.","Tip: Try increasing slippage or reduce input amount":"Tip: Try increasing slippage or reduce input amount","To borrow you need to supply any asset to be used as collateral.":"To borrow you need to supply any asset to be used as collateral.","To continue, you need to grant Aave smart contracts permission to move your funds from your wallet. Depending on the asset and wallet you use, it is done by signing the permission message (gas free), or by submitting an approval transaction (requires gas). <0>Learn more":"To continue, you need to grant Aave smart contracts permission to move your funds from your wallet. Depending on the asset and wallet you use, it is done by signing the permission message (gas free), or by submitting an approval transaction (requires gas). <0>Learn more","To enable E-mode for the {0} category, all borrow positions outside of this category must be closed.":["To enable E-mode for the ",["0"]," category, all borrow positions outside of this category must be closed."],"To repay on behalf of a user an explicit amount to repay is needed":"To repay on behalf of a user an explicit amount to repay is needed","To request access for this permissioned market, please visit: <0>Acces Provider Name":"To request access for this permissioned market, please visit: <0>Acces Provider Name","To submit a proposal for minor changes to the protocol, you'll need at least 80.00K power. If you want to change the core code base, you'll need 320k power.<0>Learn more.":"To submit a proposal for minor changes to the protocol, you'll need at least 80.00K power. If you want to change the core code base, you'll need 320k power.<0>Learn more.","Top 10 addresses":"Top 10 addresses","Total available":"Total available","Total borrowed":"Total borrowed","Total borrows":"Total borrows","Total emission per day":"Total emission per day","Total interest accrued":"Total interest accrued","Total market size":"Total market size","Total supplied":"Total supplied","Total worth":"Total worth","Track wallet":"Track wallet","Track wallet balance in read-only mode":"Track wallet balance in read-only mode","Transaction failed":"Transaction failed","Transaction history":"Transaction history","Transaction history is not currently available for this market":"Transaction history is not currently available for this market","Transaction overview":"Transaction overview","Transactions":"Transactions","UNSTAKE {symbol}":["UNSTAKE ",["symbol"]],"Unavailable":"Unavailable","Unbacked":"Unbacked","Unbacked mint cap is exceeded":"Unbacked mint cap is exceeded","Underlying asset does not exist in {marketName} v3 Market, hence this position cannot be migrated.":["Underlying asset does not exist in ",["marketName"]," v3 Market, hence this position cannot be migrated."],"Underlying token":"Underlying token","Unstake now":"Unstake now","Unstake window":"Unstake window","Unstaked":"Unstaked","Unstaking {symbol}":["Unstaking ",["symbol"]],"Update: Disruptions reported for WETH, WBTC, WMATIC, and USDT. AIP 230 will resolve the disruptions and the market will be operating as normal on ~26th May 13h00 UTC.":"Update: Disruptions reported for WETH, WBTC, WMATIC, and USDT. AIP 230 will resolve the disruptions and the market will be operating as normal on ~26th May 13h00 UTC.","Use it to vote for or against active proposals.":"Use it to vote for or against active proposals.","Use your AAVE, stkAAVE, or aAave balance to delegate your voting and proposition powers. You will not be sending any tokens, only the rights to vote and propose changes to the protocol. You can re-delegate or revoke power to self at any time.":"Use your AAVE, stkAAVE, or aAave balance to delegate your voting and proposition powers. You will not be sending any tokens, only the rights to vote and propose changes to the protocol. You can re-delegate or revoke power to self at any time.","Used as collateral":"Used as collateral","User cannot withdraw more than the available balance":"User cannot withdraw more than the available balance","User did not borrow the specified currency":"User did not borrow the specified currency","User does not have outstanding stable rate debt on this reserve":"User does not have outstanding stable rate debt on this reserve","User does not have outstanding variable rate debt on this reserve":"User does not have outstanding variable rate debt on this reserve","User is in isolation mode":"User is in isolation mode","User is trying to borrow multiple assets including a siloed one":"User is trying to borrow multiple assets including a siloed one","Users who stake AAVE in Safety Module (i.e. stkAAVE holders) receive a discount on GHO borrow interest rate. The discount applies to 100 GHO for every 1 stkAAVE held. Use the calculator below to see GHO borrow rate with the discount applied.":"Users who stake AAVE in Safety Module (i.e. stkAAVE holders) receive a discount on GHO borrow interest rate. The discount applies to 100 GHO for every 1 stkAAVE held. Use the calculator below to see GHO borrow rate with the discount applied.","Utilization Rate":"Utilization Rate","VIEW TX":"VIEW TX","VOTE NAY":"VOTE NAY","VOTE YAE":"VOTE YAE","Variable":"Variable","Variable debt supply is not zero":"Variable debt supply is not zero","Variable interest rate will <0>fluctuate based on the market conditions. Recommended for short-term positions.":"Variable interest rate will <0>fluctuate based on the market conditions. Recommended for short-term positions.","Variable rate":"Variable rate","Version 2":"Version 2","Version 3":"Version 3","View":"View","View Transactions":"View Transactions","View all votes":"View all votes","View contract":"View contract","View details":"View details","View on Explorer":"View on Explorer","Vote NAY":"Vote NAY","Vote YAE":"Vote YAE","Voted NAY":"Voted NAY","Voted YAE":"Voted YAE","Votes":"Votes","Voting":"Voting","Voting closed":"Voting closed","Voting power":"Voting power","Voting results":"Voting results","Wallet Balance":"Wallet Balance","Wallet balance":"Wallet balance","Wallet not detected. Connect or install wallet and retry":"Wallet not detected. Connect or install wallet and retry","Wallets are provided by External Providers and by selecting you agree to Terms of those Providers. Your access to the wallet might be reliant on the External Provider being operational.":"Wallets are provided by External Providers and by selecting you agree to Terms of those Providers. Your access to the wallet might be reliant on the External Provider being operational.","We couldn't find any assets related to your search. Try again with a different asset name, symbol, or address.":"We couldn't find any assets related to your search. Try again with a different asset name, symbol, or address.","We couldn't find any transactions related to your search. Try again with a different asset name, or reset filters.":"We couldn't find any transactions related to your search. Try again with a different asset name, or reset filters.","We couldn’t detect a wallet. Connect a wallet to stake and view your balance.":"We couldn’t detect a wallet. Connect a wallet to stake and view your balance.","We suggest you go back to the Dashboard.":"We suggest you go back to the Dashboard.","Website":"Website","When a liquidation occurs, liquidators repay up to 50% of the outstanding borrowed amount on behalf of the borrower. In return, they can buy the collateral at a discount and keep the difference (liquidation penalty) as a bonus.":"When a liquidation occurs, liquidators repay up to 50% of the outstanding borrowed amount on behalf of the borrower. In return, they can buy the collateral at a discount and keep the difference (liquidation penalty) as a bonus.","With a voting power of <0/>":"With a voting power of <0/>","With testnet Faucet you can get free assets to test the Aave Protocol. Make sure to switch your wallet provider to the appropriate testnet network, select desired asset, and click ‘Faucet’ to get tokens transferred to your wallet. The assets on a testnet are not “real,” meaning they have no monetary value. <0>Learn more":"With testnet Faucet you can get free assets to test the Aave Protocol. Make sure to switch your wallet provider to the appropriate testnet network, select desired asset, and click ‘Faucet’ to get tokens transferred to your wallet. The assets on a testnet are not “real,” meaning they have no monetary value. <0>Learn more","Withdraw":"Withdraw","Withdraw & Switch":"Withdraw & Switch","Withdraw and Switch":"Withdraw and Switch","Withdraw {symbol}":["Withdraw ",["symbol"]],"Withdrawing and Switching":"Withdrawing and Switching","Withdrawing this amount will reduce your health factor and increase risk of liquidation.":"Withdrawing this amount will reduce your health factor and increase risk of liquidation.","Withdrawing {symbol}":["Withdrawing ",["symbol"]],"Wrong Network":"Wrong Network","YAE":"YAE","You are entering Isolation mode":"You are entering Isolation mode","You can borrow this asset with a stable rate only if you borrow more than the amount you are supplying as collateral.":"You can borrow this asset with a stable rate only if you borrow more than the amount you are supplying as collateral.","You can not change Interest Type to stable as your borrowings are higher than your collateral":"You can not change Interest Type to stable as your borrowings are higher than your collateral","You can not disable E-Mode as your current collateralization level is above 80%, disabling E-Mode can cause liquidation. To exit E-Mode supply or repay borrowed positions.":"You can not disable E-Mode as your current collateralization level is above 80%, disabling E-Mode can cause liquidation. To exit E-Mode supply or repay borrowed positions.","You can not switch usage as collateral mode for this currency, because it will cause collateral call":"You can not switch usage as collateral mode for this currency, because it will cause collateral call","You can not use this currency as collateral":"You can not use this currency as collateral","You can not withdraw this amount because it will cause collateral call":"You can not withdraw this amount because it will cause collateral call","You can only switch to tokens with variable APY types. After this transaction, you may change the variable rate to a stable one if available.":"You can only switch to tokens with variable APY types. After this transaction, you may change the variable rate to a stable one if available.","You can only withdraw your assets from the Security Module after the cooldown period ends and the unstake window is active.":"You can only withdraw your assets from the Security Module after the cooldown period ends and the unstake window is active.","You can report incident to our <0>Discord or<1>Github.":"You can report incident to our <0>Discord or<1>Github.","You cancelled the transaction.":"You cancelled the transaction.","You did not participate in this proposal":"You did not participate in this proposal","You do not have supplies in this currency":"You do not have supplies in this currency","You don’t have enough funds in your wallet to repay the full amount. If you proceed to repay with your current amount of funds, you will still have a small borrowing position in your dashboard.":"You don’t have enough funds in your wallet to repay the full amount. If you proceed to repay with your current amount of funds, you will still have a small borrowing position in your dashboard.","You have no AAVE/stkAAVE/aAave balance to delegate.":"You have no AAVE/stkAAVE/aAave balance to delegate.","You have not borrow yet using this currency":"You have not borrow yet using this currency","You may borrow up to <0/> GHO at <1/> (max discount)":"You may borrow up to <0/> GHO at <1/> (max discount)","You may enter a custom amount in the field.":"You may enter a custom amount in the field.","You switched to {0} rate":["You switched to ",["0"]," rate"],"You unstake here":"You unstake here","You voted {0}":["You voted ",["0"]],"You will exit isolation mode and other tokens can now be used as collateral":"You will exit isolation mode and other tokens can now be used as collateral","You {action} <0/> {symbol}":["You ",["action"]," <0/> ",["symbol"]],"You've successfully switched borrow position.":"You've successfully switched borrow position.","You've successfully switched tokens.":"You've successfully switched tokens.","You've successfully withdrew & switched tokens.":"You've successfully withdrew & switched tokens.","Your balance is lower than the selected amount.":"Your balance is lower than the selected amount.","Your borrows":"Your borrows","Your current loan to value based on your collateral supplied.":"Your current loan to value based on your collateral supplied.","Your health factor and loan to value determine the assurance of your collateral. To avoid liquidations you can supply more collateral or repay borrow positions.":"Your health factor and loan to value determine the assurance of your collateral. To avoid liquidations you can supply more collateral or repay borrow positions.","Your info":"Your info","Your proposition power is based on your AAVE/stkAAVE balance and received delegations.":"Your proposition power is based on your AAVE/stkAAVE balance and received delegations.","Your reward balance is 0":"Your reward balance is 0","Your supplies":"Your supplies","Your voting info":"Your voting info","Your voting power is based on your AAVE/stkAAVE balance and received delegations.":"Your voting power is based on your AAVE/stkAAVE balance and received delegations.","Your {name} wallet is empty. Purchase or transfer assets or use <0>{0} to transfer your {network} assets.":["Your ",["name"]," wallet is empty. Purchase or transfer assets or use <0>",["0"]," to transfer your ",["network"]," assets."],"Your {name} wallet is empty. Purchase or transfer assets.":["Your ",["name"]," wallet is empty. Purchase or transfer assets."],"Your {networkName} wallet is empty. Get free test assets at":["Your ",["networkName"]," wallet is empty. Get free test assets at"],"Your {networkName} wallet is empty. Get free test {0} at":["Your ",["networkName"]," wallet is empty. Get free test ",["0"]," at"],"Zero address not valid":"Zero address not valid","assets":"assets","blocked activities":"blocked activities","copy the error":"copy the error","disabled":"disabled","documentation":"documentation","enabled":"enabled","ends":"ends","for":"for","of":"of","on":"on","please check that the amount you want to supply is not currently being used for staking. If it is being used for staking, your transaction might fail.":"please check that the amount you want to supply is not currently being used for staking. If it is being used for staking, your transaction might fail.","repaid":"repaid","stETH supplied as collateral will continue to accrue staking rewards provided by daily rebases.":"stETH supplied as collateral will continue to accrue staking rewards provided by daily rebases.","stETH tokens will be migrated to Wrapped stETH using Lido Protocol wrapper which leads to supply balance change after migration: {0}":["stETH tokens will be migrated to Wrapped stETH using Lido Protocol wrapper which leads to supply balance change after migration: ",["0"]],"staking view":"staking view","starts":"starts","stkAAVE holders get a discount on GHO borrow rate":"stkAAVE holders get a discount on GHO borrow rate","to":"to","tokens is not the same as staking them. If you wish to stake your":"tokens is not the same as staking them. If you wish to stake your","tokens, please go to the":"tokens, please go to the","withdrew":"withdrew","{0}":[["0"]],"{0} Balance":[["0"]," Balance"],"{0} Faucet":[["0"]," Faucet"],"{0} on-ramp service is provided by External Provider and by selecting you agree to Terms of the Provider. Your access to the service might be reliant on the External Provider being operational.":[["0"]," on-ramp service is provided by External Provider and by selecting you agree to Terms of the Provider. Your access to the service might be reliant on the External Provider being operational."],"{0}{name}":[["0"],["name"]],"{currentMethod}":[["currentMethod"]],"{d}d":[["d"],"d"],"{h}h":[["h"],"h"],"{m}m":[["m"],"m"],"{networkName} Faucet":[["networkName"]," Faucet"],"{notifyText}":[["notifyText"]],"{numSelected}/{numAvailable} assets selected":[["numSelected"],"/",["numAvailable"]," assets selected"],"{s}s":[["s"],"s"],"{title}":[["title"]],"{tooltipText}":[["tooltipText"]]}}; \ No newline at end of file diff --git a/src/locales/en/messages.po b/src/locales/en/messages.po index eeb13f2435..376b1ce8ca 100644 --- a/src/locales/en/messages.po +++ b/src/locales/en/messages.po @@ -989,6 +989,7 @@ msgid "English" msgstr "English" #: src/components/transactions/GovDelegation/GovDelegationModalContent.tsx +#: src/components/transactions/GovRepresentatives/GovRepresentativesModalContent.tsx msgid "Enter ETH address" msgstr "Enter ETH address" @@ -1072,6 +1073,10 @@ msgstr "Flashloan is disabled for this asset, hence this position cannot be migr msgid "For repayment of a specific type of debt, the user needs to have debt that type" msgstr "For repayment of a specific type of debt, the user needs to have debt that type" +#: src/modules/governance/proposal/ProposalLifecycle.tsx +msgid "Forum discussion" +msgstr "Forum discussion" + #: src/layouts/components/LanguageSwitcher.tsx msgid "French" msgstr "French" @@ -3131,6 +3136,7 @@ msgid "enabled" msgstr "enabled" #: src/modules/governance/FormattedProposalTime.tsx +#: src/modules/governance/ProposalV3ListItem.tsx msgid "ends" msgstr "ends" @@ -3176,6 +3182,7 @@ msgid "staking view" msgstr "staking view" #: src/modules/governance/FormattedProposalTime.tsx +#: src/modules/governance/ProposalV3ListItem.tsx msgid "starts" msgstr "starts" diff --git a/src/modules/governance/proposal/VoteInfo.tsx b/src/modules/governance/proposal/VoteInfo.tsx index dadfb1591a..515f0bcf56 100644 --- a/src/modules/governance/proposal/VoteInfo.tsx +++ b/src/modules/governance/proposal/VoteInfo.tsx @@ -1,7 +1,8 @@ -import { ProposalV3State } from '@aave/contract-helpers'; +import { VotingMachineProposalState } from '@aave/contract-helpers'; import { Trans } from '@lingui/macro'; import { Button, Paper, Typography } from '@mui/material'; import { constants } from 'ethers'; +import { formatUnits } from 'ethers/lib/utils'; import { FormattedNumber } from 'src/components/primitives/FormattedNumber'; import { Row } from 'src/components/primitives/Row'; import { Warning } from 'src/components/primitives/Warning'; @@ -30,7 +31,7 @@ export function VoteInfo({ proposal }: VoteInfoProps) { proposal.votingMachineData.votingAssets ); - const voteOngoing = proposal.proposalData.proposalData.state === ProposalV3State.Active; + const voteOngoing = proposal.votingMachineData.state === VotingMachineProposalState.Active; const didVote = powerAtProposalStart && voteOnProposal?.votingPower !== '0'; const showAlreadyVotedMsg = !!user && voteOnProposal && didVote; @@ -80,7 +81,7 @@ export function VoteInfo({ proposal }: VoteInfoProps) { With a voting power of{' '} From d236c73eb569de6bacc16e0e480a68f71c6e1400 Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Sat, 23 Dec 2023 14:37:36 -0600 Subject: [PATCH 75/84] fix: voting details --- src/modules/governance/helpers.ts | 2 +- .../governance/proposal/ProposalLifecycle.tsx | 21 +++++++++++++------ 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/src/modules/governance/helpers.ts b/src/modules/governance/helpers.ts index 7fb625e3b9..4d6b899b32 100644 --- a/src/modules/governance/helpers.ts +++ b/src/modules/governance/helpers.ts @@ -1,7 +1,7 @@ import { valueToBigNumber } from '@aave/math-utils'; export const isQuorumReached = (forVotes: string, quorum: string, precisionDivider: string) => { - return valueToBigNumber(forVotes).gt(valueToBigNumber(quorum).multipliedBy(precisionDivider)); + return valueToBigNumber(forVotes).gte(valueToBigNumber(quorum).multipliedBy(precisionDivider)); }; export const isDifferentialReached = ( diff --git a/src/modules/governance/proposal/ProposalLifecycle.tsx b/src/modules/governance/proposal/ProposalLifecycle.tsx index a412a097ca..91dd577a3f 100644 --- a/src/modules/governance/proposal/ProposalLifecycle.tsx +++ b/src/modules/governance/proposal/ProposalLifecycle.tsx @@ -31,6 +31,7 @@ enum ProposalLifecycleStep { PayloadsExecuted, Cancelled, Expired, + Done, } export const ProposalLifecycle = ({ @@ -98,7 +99,8 @@ export const ProposalLifecycle = ({ timestamp={formatTime(getVotingClosedTimestamp(proposalState, proposal, votingConfig))} /> = ProposalLifecycleStep.PayloadsExecuted} + completed={proposalState > ProposalLifecycleStep.PayloadsExecuted} + active={proposalState === ProposalLifecycleStep.PayloadsExecuted} stepName={Payloads executed} timestamp={formatTime( getPayloadsExecutedTimestamp(proposalState, proposal, votingConfig, payloads) @@ -141,13 +143,20 @@ const getLifecycleState = (proposal: EnhancedProposal, payloads: Payload[]) => { return ProposalLifecycleStep.OpenForVoting; } - if (proposal.votingMachineData.state === VotingMachineProposalState.Finished) { + if ( + proposal.votingMachineData.state === VotingMachineProposalState.Finished || + proposal.proposalData.proposalData.state === ProposalV3State.Queued + ) { return ProposalLifecycleStep.VotingClosed; } - const payloadsExecuted = payloads.every((payload) => payload.state === PayloadState.Executed); - if (payloadsExecuted) { - return ProposalLifecycleStep.PayloadsExecuted; + if (proposal.proposalData.proposalData.state === ProposalV3State.Executed) { + const payloadsExecuted = payloads.every((payload) => payload.state === PayloadState.Executed); + if (payloadsExecuted) { + return ProposalLifecycleStep.Done; + } else { + return ProposalLifecycleStep.PayloadsExecuted; + } } if (proposal.proposalData.proposalData.state === ProposalV3State.Cancelled) { @@ -158,7 +167,7 @@ const getLifecycleState = (proposal: EnhancedProposal, payloads: Payload[]) => { return ProposalLifecycleStep.Expired; } - return ProposalLifecycleStep.Created; // TODO + return ProposalLifecycleStep.Done; }; const getOpenForVotingTimestamp = ( From 707eb620cc2a454550ed68ada2840bb94a6a5e7c Mon Sep 17 00:00:00 2001 From: JoaquinBattilana Date: Sat, 23 Dec 2023 18:39:11 -0300 Subject: [PATCH 76/84] feat: fixed loaders on proposal details --- pages/_app.page.tsx | 8 +++++- .../proposal/[proposalId].governance.tsx | 26 ++++++++----------- src/hooks/governance/useProposal.ts | 1 - src/hooks/governance/useProposals.ts | 2 -- .../governance/proposal/VotingResults.tsx | 6 ++--- 5 files changed, 21 insertions(+), 22 deletions(-) diff --git a/pages/_app.page.tsx b/pages/_app.page.tsx index dbdeb70679..b57c78ba91 100644 --- a/pages/_app.page.tsx +++ b/pages/_app.page.tsx @@ -94,7 +94,13 @@ function getWeb3Library(provider: any): providers.Web3Provider { return library; } -export const queryClient = new QueryClient(); +export const queryClient = new QueryClient({ + defaultOptions: { + queries: { + refetchOnWindowFocus: false, + }, + }, +}); interface MyAppProps extends AppProps { emotionCache?: EmotionCache; diff --git a/pages/governance/proposal/[proposalId].governance.tsx b/pages/governance/proposal/[proposalId].governance.tsx index 4afaa72e61..c99cb8ad9f 100644 --- a/pages/governance/proposal/[proposalId].governance.tsx +++ b/pages/governance/proposal/[proposalId].governance.tsx @@ -87,21 +87,17 @@ export default function ProposalPage() { /> - {proposal && formattedProposal && ( - <> - - - - - )} + {proposal && } + + diff --git a/src/hooks/governance/useProposal.ts b/src/hooks/governance/useProposal.ts index 7af226f3f7..7546aa8a74 100644 --- a/src/hooks/governance/useProposal.ts +++ b/src/hooks/governance/useProposal.ts @@ -86,7 +86,6 @@ export const useProposal = (proposalId: number) => { queryFn: () => fetchProposal(proposalId, governanceV3Service, votingMachineSerivce, user), queryKey: ['governance_proposal', proposalId], refetchOnMount: false, - refetchOnWindowFocus: false, refetchOnReconnect: false, }); }; diff --git a/src/hooks/governance/useProposals.ts b/src/hooks/governance/useProposals.ts index 10de96ecba..525e15fc91 100644 --- a/src/hooks/governance/useProposals.ts +++ b/src/hooks/governance/useProposals.ts @@ -132,9 +132,7 @@ export const useGetVotingConfig = () => { return useQuery({ queryFn: () => governanceV3Service.getVotingConfig(), queryKey: ['votingConfig'], - enabled: true, refetchOnMount: false, - refetchOnWindowFocus: false, refetchOnReconnect: false, staleTime: Infinity, }); diff --git a/src/modules/governance/proposal/VotingResults.tsx b/src/modules/governance/proposal/VotingResults.tsx index e75f31794b..010147a402 100644 --- a/src/modules/governance/proposal/VotingResults.tsx +++ b/src/modules/governance/proposal/VotingResults.tsx @@ -11,8 +11,8 @@ import { VoteBar } from '../VoteBar'; import { VotersListContainer } from './VotersListContainer'; interface VotingResultsPros { - proposal: FormattedProposalV3; - proposalVotes: ProposalVotes; + proposal?: FormattedProposalV3; + proposalVotes?: ProposalVotes; loading: boolean; } @@ -37,7 +37,7 @@ export const VotingResults = ({ proposal, loading, proposalVotes }: VotingResult sx={{ mt: 3 }} loading={loading} /> - + {proposalVotes && } State} sx={{ height: 48 }} captionVariant="description"> Date: Sat, 23 Dec 2023 17:26:07 -0600 Subject: [PATCH 77/84] fix: gov delegation type --- public/icons/tokens/aaave.svg | 1 - .../GovDelegation/DelegationTokenSelector.tsx | 30 ++++++++++++------- .../GovDelegation/DelegationTypeSelector.tsx | 20 ++++++------- .../GovDelegation/GovDelegationActions.tsx | 6 ++-- .../GovDelegationModalContent.tsx | 16 +++++----- src/helpers/types.ts | 8 ++--- src/helpers/useGovernanceDelegate.tsx | 22 +++++--------- src/modules/governance/DelegatedInfoPanel.tsx | 4 +-- 8 files changed, 54 insertions(+), 53 deletions(-) delete mode 100644 public/icons/tokens/aaave.svg diff --git a/public/icons/tokens/aaave.svg b/public/icons/tokens/aaave.svg deleted file mode 100644 index 761b21a287..0000000000 --- a/public/icons/tokens/aaave.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/components/transactions/GovDelegation/DelegationTokenSelector.tsx b/src/components/transactions/GovDelegation/DelegationTokenSelector.tsx index 3abc4ee680..a3dcb74564 100644 --- a/src/components/transactions/GovDelegation/DelegationTokenSelector.tsx +++ b/src/components/transactions/GovDelegation/DelegationTokenSelector.tsx @@ -3,7 +3,7 @@ import FormControl from '@mui/material/FormControl'; import { useEffect } from 'react'; import { FormattedNumber } from 'src/components/primitives/FormattedNumber'; import { Row } from 'src/components/primitives/Row'; -import { DelegationType } from 'src/helpers/types'; +import { GovernancePowerTypeApp } from 'src/helpers/types'; import { useGovernanceTokens } from 'src/hooks/governance/useGovernanceTokens'; import { TokenIcon } from '../../primitives/TokenIcon'; @@ -19,7 +19,7 @@ export type DelegationToken = { }; export enum DelegationTokenType { - BOTH = 0, + ALL = 0, AAVE, STKAAVE, aAave, @@ -29,7 +29,7 @@ export type DelegationTokenSelectorProps = { delegationTokens: DelegationToken[]; setDelegationTokenType: (type: DelegationTokenType) => void; delegationTokenType: DelegationTokenType; - delegationType: DelegationType; + delegationType: GovernancePowerTypeApp; filter: boolean; }; @@ -47,14 +47,22 @@ export const TokenRow: React.FC = ({ symbol, amount }) => { {Array.isArray(symbol) ? ( symbol.map((token, index) => ( <> - + {token} {index < symbol.length - 1 && +} )) ) : ( <> - + {symbol} )} @@ -68,11 +76,11 @@ export const TokenRow: React.FC = ({ symbol, amount }) => { const filterTokens = ( tokens: DelegationToken[], - delegationType: DelegationType + delegationType: GovernancePowerTypeApp ): DelegationToken[] => { - if (delegationType === DelegationType.VOTING) { + if (delegationType === GovernancePowerTypeApp.VOTING) { return tokens.filter((token) => token.votingDelegatee !== ''); - } else if (delegationType === DelegationType.PROPOSITION_POWER) { + } else if (delegationType === GovernancePowerTypeApp.PROPOSITION) { return tokens.filter((token) => token.propositionDelegatee !== ''); } return tokens.filter( @@ -111,12 +119,12 @@ export const DelegationTokenSelector = ({ } > } componentsProps={{ typography: { width: '100%' } }} label={ } @@ -140,7 +148,7 @@ export const DelegationTokenSelector = ({ value={DelegationTokenType.aAave} control={} componentsProps={{ typography: { width: '100%' } }} - label={} + label={} data-cy={`delegate-token-aAave`} /> diff --git a/src/components/transactions/GovDelegation/DelegationTypeSelector.tsx b/src/components/transactions/GovDelegation/DelegationTypeSelector.tsx index b64b3328e5..5e741916e1 100644 --- a/src/components/transactions/GovDelegation/DelegationTypeSelector.tsx +++ b/src/components/transactions/GovDelegation/DelegationTypeSelector.tsx @@ -3,11 +3,11 @@ import { Typography } from '@mui/material'; import React, { useEffect } from 'react'; import { StyledTxModalToggleButton } from 'src/components/StyledToggleButton'; import { StyledTxModalToggleGroup } from 'src/components/StyledToggleButtonGroup'; -import { DelegationType } from 'src/helpers/types'; +import { GovernancePowerTypeApp } from 'src/helpers/types'; export type DelegationTypeSelectorProps = { - delegationType: DelegationType; - setDelegationType: React.Dispatch>; + delegationType: GovernancePowerTypeApp; + setDelegationType: React.Dispatch>; }; export const DelegationTypeSelector = ({ @@ -15,7 +15,7 @@ export const DelegationTypeSelector = ({ setDelegationType, }: DelegationTypeSelectorProps) => { useEffect(() => { - setDelegationType(DelegationType.BOTH); + setDelegationType(GovernancePowerTypeApp.ALL); }, [setDelegationType]); return ( @@ -25,8 +25,8 @@ export const DelegationTypeSelector = ({ onChange={(_, value) => setDelegationType(value)} > Both @@ -34,8 +34,8 @@ export const DelegationTypeSelector = ({ Voting @@ -43,8 +43,8 @@ export const DelegationTypeSelector = ({ Proposition diff --git a/src/components/transactions/GovDelegation/GovDelegationActions.tsx b/src/components/transactions/GovDelegation/GovDelegationActions.tsx index ccacc6be22..2a960300bc 100644 --- a/src/components/transactions/GovDelegation/GovDelegationActions.tsx +++ b/src/components/transactions/GovDelegation/GovDelegationActions.tsx @@ -1,4 +1,4 @@ -import { DelegationType } from 'src/helpers/types'; +import { GovernancePowerTypeApp } from 'src/helpers/types'; import { useGovernanceDelegate } from 'src/helpers/useGovernanceDelegate'; import { DelegationTxsWrapper } from '../DelegationTxsWrapper'; @@ -7,7 +7,7 @@ import { DelegationTokenType } from './DelegationTokenSelector'; export type GovDelegationActionsProps = { isWrongNetwork: boolean; blocked: boolean; - delegationType: DelegationType; + delegationType: GovernancePowerTypeApp; delegationTokenType: DelegationTokenType; delegatee: string; isRevoke: boolean; @@ -37,7 +37,7 @@ export const GovDelegationActions = ({ handleSignatures={signMetaTxs} handleAction={action} isWrongNetwork={isWrongNetwork} - requiresSignature={delegationTokenType === DelegationTokenType.BOTH} + requiresSignature={delegationTokenType === DelegationTokenType.ALL} blocked={blocked} approvalTxState={approvalTxState} /> diff --git a/src/components/transactions/GovDelegation/GovDelegationModalContent.tsx b/src/components/transactions/GovDelegation/GovDelegationModalContent.tsx index 9bf13db78c..d4995ac48a 100644 --- a/src/components/transactions/GovDelegation/GovDelegationModalContent.tsx +++ b/src/components/transactions/GovDelegation/GovDelegationModalContent.tsx @@ -5,7 +5,7 @@ import { utils } from 'ethers'; import { parseUnits } from 'ethers/lib/utils'; import { useEffect, useState } from 'react'; import { TextWithTooltip } from 'src/components/TextWithTooltip'; -import { DelegationType } from 'src/helpers/types'; +import { GovernancePowerTypeApp } from 'src/helpers/types'; import { useGovernanceTokens } from 'src/hooks/governance/useGovernanceTokens'; import { usePowers } from 'src/hooks/governance/usePowers'; import { ModalType, useModalContext } from 'src/hooks/useModal'; @@ -54,8 +54,8 @@ export const GovDelegationModalContent: React.FC // error states // selector states - const [delegationTokenType, setDelegationTokenType] = useState(DelegationTokenType.BOTH); - const [delegationType, setDelegationType] = useState(DelegationType.BOTH); + const [delegationTokenType, setDelegationTokenType] = useState(DelegationTokenType.ALL); + const [delegationType, setDelegationType] = useState(GovernancePowerTypeApp.ALL); const [delegate, setDelegate] = useState(''); const isRevokeModal = type === ModalType.RevokeGovDelegation; @@ -69,8 +69,8 @@ export const GovDelegationModalContent: React.FC useEffect(() => { if (onlyOnePowerToRevoke) { if (powers.aaveVotingDelegatee === '' && powers.stkAaveVotingDelegatee === '') - setDelegationType(DelegationType.PROPOSITION_POWER); - else setDelegationType(DelegationType.VOTING); + setDelegationType(GovernancePowerTypeApp.PROPOSITION); + else setDelegationType(GovernancePowerTypeApp.VOTING); } }, [onlyOnePowerToRevoke, powers]); @@ -99,8 +99,8 @@ export const GovDelegationModalContent: React.FC }, { address: governanceV3Config.votingAssets.aAaveTokenAddress, - symbol: 'aAave', - name: 'aAave', + symbol: 'aAAVE', + name: 'aAAVE', amount: aAave, votingDelegatee: powers?.aAaveVotingDelegatee, propositionDelegatee: powers?.aAavePropositionDelegatee, @@ -238,7 +238,7 @@ export const GovDelegationModalContent: React.FC delegationTokenType={delegationTokenType} delegatee={delegate} isWrongNetwork={isWrongNetwork} - blocked={delegateAddressBlockingError !== undefined || delegate === '' || !delegationType} + blocked={delegateAddressBlockingError !== undefined || delegate === ''} isRevoke={isRevokeModal} /> diff --git a/src/helpers/types.ts b/src/helpers/types.ts index ae43253b83..33599f8b25 100644 --- a/src/helpers/types.ts +++ b/src/helpers/types.ts @@ -23,10 +23,10 @@ export type EmodeCategory = { assets: string[]; }; -export enum DelegationType { - VOTING = '0', - PROPOSITION_POWER = '1', - BOTH = '2', +export enum GovernancePowerTypeApp { + VOTING, + PROPOSITION, + ALL, } export enum CollateralType { diff --git a/src/helpers/useGovernanceDelegate.tsx b/src/helpers/useGovernanceDelegate.tsx index ec0bbdc398..99013712bd 100644 --- a/src/helpers/useGovernanceDelegate.tsx +++ b/src/helpers/useGovernanceDelegate.tsx @@ -16,15 +16,9 @@ import { useRootStore } from 'src/store/root'; import { getErrorTextFromError, TxAction } from 'src/ui-config/errorMapping'; import { governanceV3Config } from 'src/ui-config/governanceConfig'; -// import { DelegationType } from './types'; +import { GovernancePowerTypeApp } from './types'; import { MOCK_SIGNED_HASH } from './useTransactionHandler'; -export enum GovernancePowerTypeApp { - VOTING, - PROPOSITION, - All, -} - export const useGovernanceDelegate = ( delegationTokenType: DelegationTokenType, delegationType: GovernancePowerTypeApp, @@ -50,7 +44,7 @@ export const useGovernanceDelegate = ( // (state) => state.prepareDelegateByTypeSignature // ); - const isSignatureAction = delegationTokenType === DelegationTokenType.BOTH; + const isSignatureAction = delegationTokenType === DelegationTokenType.ALL; const { approvalTxState, @@ -119,7 +113,7 @@ export const useGovernanceDelegate = ( let txData: PopulatedTransaction; - if (delegationType === GovernancePowerTypeApp.All) { + if (delegationType === GovernancePowerTypeApp.ALL) { // NOTE: Delegation for Voting & Proposition txs = [ { @@ -281,7 +275,7 @@ export const useGovernanceDelegate = ( // connectedChainId, deadline, }: DelegateMetaSigParams) => { - const isAllDelegate = Number(delegationType) === Number(GovernancePowerTypeApp.All); + const isAllDelegate = Number(delegationType) === Number(GovernancePowerTypeApp.ALL); const sigBaseType = [ { name: 'nonce', type: 'uint256' }, @@ -346,7 +340,7 @@ export const useGovernanceDelegate = ( }; const signMetaTxs = async () => { - if (delegationTokenType === DelegationTokenType.BOTH) { + if (delegationTokenType === DelegationTokenType.ALL) { setApprovalTxState({ ...approvalTxState, loading: true }); const [aaveNonce, stkAaveNonce, aAaveNonce] = await Promise.all([ getTokenNonce(user, governanceV3Config.votingAssets.aaveTokenAddress), @@ -394,7 +388,7 @@ export const useGovernanceDelegate = ( const unsignedPayloads: string[] = []; for (const tx of delegationParameters) { - if (delegationType !== GovernancePowerTypeApp.All) { + if (delegationType !== GovernancePowerTypeApp.ALL) { const payload = delegateMetaSig(tx); // const payload = await prepareDelegateByTypeSignature({ ...tx, type: delegationType }); unsignedPayloads.push(payload); @@ -436,7 +430,7 @@ export const useGovernanceDelegate = ( } setLoadingTxns(true); const timeout = setTimeout(async () => { - if (delegationTokenType === DelegationTokenType.BOTH) { + if (delegationTokenType === DelegationTokenType.ALL) { const gas = gasLimitRecommendations[ProtocolAction.default]; setGasLimit(gas.limit); setMainTxState({ @@ -446,7 +440,7 @@ export const useGovernanceDelegate = ( setLoadingTxns(false); } else { let txs: EthereumTransactionTypeExtended[] = []; - if (delegationType === GovernancePowerTypeApp.All) { + if (delegationType === GovernancePowerTypeApp.ALL) { // TODO check if this is working as normal txs = await delegate({ delegatee, diff --git a/src/modules/governance/DelegatedInfoPanel.tsx b/src/modules/governance/DelegatedInfoPanel.tsx index a054b4e9e5..db89dd4ab2 100644 --- a/src/modules/governance/DelegatedInfoPanel.tsx +++ b/src/modules/governance/DelegatedInfoPanel.tsx @@ -66,7 +66,7 @@ const DelegatedPower: React.FC = ({ variant="subheader1" /> - AAVE + stkAAVE + AAVE + stkAAVE + aAAVE @@ -119,7 +119,7 @@ const DelegatedPower: React.FC = ({ } > - + From fb7e725c4623ca4936cf77f7a01a1c81860ebddf Mon Sep 17 00:00:00 2001 From: Mark Grothe Date: Sat, 23 Dec 2023 19:50:23 -0600 Subject: [PATCH 78/84] feat: vote as delegate --- .../transactions/GovVote/GovVoteActions.tsx | 39 ++++++++++++++++--- .../useGovernanceTokensAndPowers.ts | 39 +++++++++++++++++++ .../governance/proposal/VotingResults.tsx | 4 +- src/services/GovernanceService.ts | 3 +- src/services/WalletBalanceService.ts | 2 +- 5 files changed, 78 insertions(+), 9 deletions(-) create mode 100644 src/hooks/governance/useGovernanceTokensAndPowers.ts diff --git a/src/components/transactions/GovVote/GovVoteActions.tsx b/src/components/transactions/GovVote/GovVoteActions.tsx index a8033d25a2..2a380d5147 100644 --- a/src/components/transactions/GovVote/GovVoteActions.tsx +++ b/src/components/transactions/GovVote/GovVoteActions.tsx @@ -4,6 +4,7 @@ import { Trans } from '@lingui/macro'; import { AbiCoder, keccak256, RLP } from 'ethers/lib/utils'; import { useState } from 'react'; import { MOCK_SIGNED_HASH } from 'src/helpers/useTransactionHandler'; +import { useGovernanceTokensAndPowers } from 'src/hooks/governance/useGovernanceTokensAndPowers'; import { EnhancedProposal } from 'src/hooks/governance/useProposal'; import { useModalContext } from 'src/hooks/useModal'; import { useWeb3Context } from 'src/libs/hooks/useWeb3Context'; @@ -106,7 +107,7 @@ const getBaseVotingPowerSlot = (asset: string, withDelegation: boolean) => { const getVotingBalanceProofs = ( user: string, - assets: string[], + assets: Array<{ underlyingAsset: string; isWithDelegatedPower: boolean }>, chainId: ChainId, blockHash: string ) => { @@ -114,15 +115,22 @@ const getVotingBalanceProofs = ( const abiCoder = new AbiCoder(); return Promise.all( assets.map((asset) => { - const baseVotingSlot = getBaseVotingPowerSlot(asset, false); + const baseVotingSlot = getBaseVotingPowerSlot( + asset.underlyingAsset, + asset.isWithDelegatedPower + ); const votingPowerSlot = keccak256( abiCoder.encode(['address', 'uint256'], [user, baseVotingSlot]) ); return provider - .send('eth_getProof', [asset, [votingPowerSlot], blockHash]) + .send('eth_getProof', [ + asset.underlyingAsset, + [votingPowerSlot], + blockHash, + ]) .then((rawProof) => { return { - underlyingAsset: asset, + underlyingAsset: asset.underlyingAsset, slot: `${baseVotingSlot}`, proof: RLP.encode(rawProof.storageProof[0].proof.map((elem) => RLP.decode(elem))), }; @@ -148,9 +156,10 @@ export const GovVoteActions = ({ const user = useRootStore((store) => store.account); const estimateGasLimit = useRootStore((store) => store.estimateGasLimit); const { sendTx, signTxData } = useWeb3Context(); + const currentMarketData = useRootStore((store) => store.currentMarketData); + const tokenPowers = useGovernanceTokensAndPowers(currentMarketData); const [signature, setSignature] = useState(undefined); const proposalId = proposal.proposal.proposalId; - const assets = ['0xdaEcee477B931b209e8123401EA37582ACB3811d']; const blockHash = proposal.proposalData.proposalData.snapshotBlockHash; const votingChainId = proposal.proposalData.votingChainId; const votingProvider = getProvider(votingChainId); @@ -159,6 +168,21 @@ export const GovVoteActions = ({ const withGelatoRelayer = false; + const assets = [ + // { + // underlyingAsset: governanceV3Config.votingAssets.stkAaveTokenAddress, + // isWithDelegatedPower: tokenPowers?.isStkAaveTokenWithDelegatedPower || false, + // }, + // { + // underlyingAsset: governanceV3Config.votingAssets.aaveTokenAddress, + // isWithDelegatedPower: tokenPowers?.isAaveTokenWithDelegatedPower || false, + // }, + { + underlyingAsset: governanceV3Config.votingAssets.aAaveTokenAddress, + isWithDelegatedPower: true, + }, + ]; // CHANGE_BEFORE_PROD + const action = async () => { setMainTxState({ ...mainTxState, loading: true }); try { @@ -226,7 +250,10 @@ export const GovVoteActions = ({ +proposalId, user, support, - assets.map((elem) => ({ underlyingAsset: elem, slot: getBaseVotingPowerSlot(elem, false) })) + assets.map((elem) => ({ + underlyingAsset: elem.underlyingAsset, + slot: getBaseVotingPowerSlot(elem.underlyingAsset, elem.isWithDelegatedPower), + })) ); const signature = await signTxData(toSign); setSignature(signature.toString()); diff --git a/src/hooks/governance/useGovernanceTokensAndPowers.ts b/src/hooks/governance/useGovernanceTokensAndPowers.ts new file mode 100644 index 0000000000..a4a8e2bb50 --- /dev/null +++ b/src/hooks/governance/useGovernanceTokensAndPowers.ts @@ -0,0 +1,39 @@ +import { QueryObserverResult, RefetchOptions, RefetchQueryFilters } from '@tanstack/react-query'; +import { Powers } from 'src/services/GovernanceService'; +import { GovernanceTokensBalance } from 'src/services/WalletBalanceService'; +import { MarketDataType } from 'src/ui-config/marketsConfig'; + +import { useGovernanceTokens } from './useGovernanceTokens'; +import { usePowers } from './usePowers'; + +interface GovernanceTokensAndPowers extends Powers, GovernanceTokensBalance { + isAaveTokenWithDelegatedPower: boolean; + isStkAaveTokenWithDelegatedPower: boolean; + isAAaveTokenWithDelegatedPower: boolean; + refetchPowers: ( + options?: (RefetchOptions & RefetchQueryFilters) | undefined + ) => Promise>; +} + +export const useGovernanceTokensAndPowers = ( + marketData: MarketDataType +): GovernanceTokensAndPowers | undefined => { + const { data: powers, refetch: refetchPowers } = usePowers(marketData); + const { data: governanceTokens } = useGovernanceTokens(); + + if (!powers || !governanceTokens) { + return undefined; + } + + return { + ...powers, + ...governanceTokens, + isAAaveTokenWithDelegatedPower: + powers?.aaveTokenPower.votingPower.gt(governanceTokens.aAave) || false, + isAaveTokenWithDelegatedPower: + powers?.aaveTokenPower.votingPower.gt(governanceTokens.aave) || false, + isStkAaveTokenWithDelegatedPower: + powers?.stkAaveTokenPower.votingPower.gt(governanceTokens.stkAave) || false, + refetchPowers, + }; +}; diff --git a/src/modules/governance/proposal/VotingResults.tsx b/src/modules/governance/proposal/VotingResults.tsx index 010147a402..e63534d187 100644 --- a/src/modules/governance/proposal/VotingResults.tsx +++ b/src/modules/governance/proposal/VotingResults.tsx @@ -37,7 +37,9 @@ export const VotingResults = ({ proposal, loading, proposalVotes }: VotingResult sx={{ mt: 3 }} loading={loading} /> - {proposalVotes && } + {proposalVotes && ( + + )} State} sx={{ height: 48 }} captionVariant="description"> Date: Tue, 26 Dec 2023 11:02:16 -0300 Subject: [PATCH 79/84] feat: build fixes --- .../transactions/GovVote/GovVoteActions.tsx | 9 ++++----- .../GovVote/temporary/VotingMachineService.ts | 7 +------ src/helpers/types.ts | 6 +++--- src/helpers/useGovernanceDelegate.tsx | 13 +++++++------ 4 files changed, 15 insertions(+), 20 deletions(-) diff --git a/src/components/transactions/GovVote/GovVoteActions.tsx b/src/components/transactions/GovVote/GovVoteActions.tsx index a8033d25a2..79e8ae27b0 100644 --- a/src/components/transactions/GovVote/GovVoteActions.tsx +++ b/src/components/transactions/GovVote/GovVoteActions.tsx @@ -150,20 +150,19 @@ export const GovVoteActions = ({ const { sendTx, signTxData } = useWeb3Context(); const [signature, setSignature] = useState(undefined); const proposalId = proposal.proposal.proposalId; - const assets = ['0xdaEcee477B931b209e8123401EA37582ACB3811d']; const blockHash = proposal.proposalData.proposalData.snapshotBlockHash; const votingChainId = proposal.proposalData.votingChainId; - const votingProvider = getProvider(votingChainId); const votingMachineAddress = governanceV3Config.votingChainConfig[votingChainId].votingMachineAddress; + const assets = proposal.votingMachineData.votingAssets; const withGelatoRelayer = false; const action = async () => { setMainTxState({ ...mainTxState, loading: true }); try { - const proofs = await getVotingBalanceProofs(user, assets, ChainId.sepolia, blockHash); // CHANGE_BEFORE_PROD - const votingMachineService = new VotingMachineService(votingMachineAddress, votingProvider); + const proofs = await getVotingBalanceProofs(user, assets, ChainId.mainnet, blockHash); // CHANGE_BEFORE_PROD + const votingMachineService = new VotingMachineService(votingMachineAddress); if (withGelatoRelayer && signature) { const tx = await votingMachineService.generateSubmitVoteBySignatureTxData( user, @@ -200,7 +199,7 @@ export const GovVoteActions = ({ support, proofs ); - const txWithEstimatedGas = await estimateGasLimit(tx, ChainId.fuji); + const txWithEstimatedGas = await estimateGasLimit(tx, votingChainId); const response = await sendTx(txWithEstimatedGas); await response.wait(1); setMainTxState({ diff --git a/src/components/transactions/GovVote/temporary/VotingMachineService.ts b/src/components/transactions/GovVote/temporary/VotingMachineService.ts index 2f8f2c60df..cd169858b3 100644 --- a/src/components/transactions/GovVote/temporary/VotingMachineService.ts +++ b/src/components/transactions/GovVote/temporary/VotingMachineService.ts @@ -15,14 +15,9 @@ interface VotingBalanceProof { } export class VotingMachineService { - private readonly _contract; private readonly _interface; - constructor( - private readonly votingMachineContractAddress: string, - private readonly provider: ProviderWithSend - ) { - this._contract = VotingMachine__factory.connect(votingMachineContractAddress, provider); + constructor(private readonly votingMachineContractAddress: string) { this._interface = VotingMachine__factory.createInterface(); } diff --git a/src/helpers/types.ts b/src/helpers/types.ts index ae43253b83..6c2232415d 100644 --- a/src/helpers/types.ts +++ b/src/helpers/types.ts @@ -24,9 +24,9 @@ export type EmodeCategory = { }; export enum DelegationType { - VOTING = '0', - PROPOSITION_POWER = '1', - BOTH = '2', + VOTING = 0, + PROPOSITION_POWER = 1, + BOTH = 2, } export enum CollateralType { diff --git a/src/helpers/useGovernanceDelegate.tsx b/src/helpers/useGovernanceDelegate.tsx index ec0bbdc398..eeee831264 100644 --- a/src/helpers/useGovernanceDelegate.tsx +++ b/src/helpers/useGovernanceDelegate.tsx @@ -16,6 +16,7 @@ import { useRootStore } from 'src/store/root'; import { getErrorTextFromError, TxAction } from 'src/ui-config/errorMapping'; import { governanceV3Config } from 'src/ui-config/governanceConfig'; +import { DelegationType } from './types'; // import { DelegationType } from './types'; import { MOCK_SIGNED_HASH } from './useTransactionHandler'; @@ -27,7 +28,7 @@ export enum GovernancePowerTypeApp { export const useGovernanceDelegate = ( delegationTokenType: DelegationTokenType, - delegationType: GovernancePowerTypeApp, + delegationType: DelegationType, skip: boolean, delegatee: string ) => { @@ -119,7 +120,7 @@ export const useGovernanceDelegate = ( let txData: PopulatedTransaction; - if (delegationType === GovernancePowerTypeApp.All) { + if (delegationType === DelegationType.BOTH) { // NOTE: Delegation for Voting & Proposition txs = [ { @@ -260,7 +261,7 @@ export const useGovernanceDelegate = ( interface DelegateMetaSigParams { underlyingAsset: tEthereumAddress; delegatee: tEthereumAddress; - delegationType: GovernancePowerTypeApp; + delegationType: DelegationType; delegator: tEthereumAddress; increaseNonce: boolean; governanceTokenName: string; @@ -281,7 +282,7 @@ export const useGovernanceDelegate = ( // connectedChainId, deadline, }: DelegateMetaSigParams) => { - const isAllDelegate = Number(delegationType) === Number(GovernancePowerTypeApp.All); + const isAllDelegate = Number(delegationType) === Number(DelegationType.BOTH); const sigBaseType = [ { name: 'nonce', type: 'uint256' }, @@ -394,7 +395,7 @@ export const useGovernanceDelegate = ( const unsignedPayloads: string[] = []; for (const tx of delegationParameters) { - if (delegationType !== GovernancePowerTypeApp.All) { + if (delegationType !== DelegationType.BOTH) { const payload = delegateMetaSig(tx); // const payload = await prepareDelegateByTypeSignature({ ...tx, type: delegationType }); unsignedPayloads.push(payload); @@ -446,7 +447,7 @@ export const useGovernanceDelegate = ( setLoadingTxns(false); } else { let txs: EthereumTransactionTypeExtended[] = []; - if (delegationType === GovernancePowerTypeApp.All) { + if (delegationType === DelegationType.BOTH) { // TODO check if this is working as normal txs = await delegate({ delegatee, From 4bc21ad28ba49997be6272f2bcb7f7d0cfcc5fda Mon Sep 17 00:00:00 2001 From: JoaquinBattilana Date: Tue, 26 Dec 2023 11:17:14 -0300 Subject: [PATCH 80/84] feat: bumping axios --- package.json | 4 ++-- yarn.lock | 16 ++++++---------- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/package.json b/package.json index a35c9a87d8..c2845bb26e 100644 --- a/package.json +++ b/package.json @@ -115,7 +115,7 @@ "@types/react": "latest", "@types/react-infinite-scroller": "^1.2.3", "@typescript-eslint/eslint-plugin": "^5.38.1", - "axios": "^0.27.2", + "axios": "^1.6.2", "babel-loader": "^8.2.5", "babel-plugin-dynamic-import-node": "^2.3.3", "babel-plugin-macros": "^3.1.0", @@ -163,4 +163,4 @@ "budgetPercentIncreaseRed": 20, "showDetails": true } -} +} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 1da11a3538..1786772a02 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4982,13 +4982,14 @@ axios@1.4.0: form-data "^4.0.0" proxy-from-env "^1.1.0" -axios@^0.27.2: - version "0.27.2" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.27.2.tgz#207658cc8621606e586c85db4b41a750e756d972" - integrity sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ== +axios@^1.6.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.2.tgz#de67d42c755b571d3e698df1b6504cde9b0ee9f2" + integrity sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A== dependencies: - follow-redirects "^1.14.9" + follow-redirects "^1.15.0" form-data "^4.0.0" + proxy-from-env "^1.1.0" axobject-query@^2.2.0: version "2.2.0" @@ -7572,11 +7573,6 @@ flatted@^3.1.0: resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz" integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== -follow-redirects@^1.14.9: - version "1.15.2" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" - integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== - follow-redirects@^1.15.0: version "1.15.3" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.3.tgz#fe2f3ef2690afce7e82ed0b44db08165b207123a" From d3e2228f2161cd684ab96dfdfb6d14d6befff74d Mon Sep 17 00:00:00 2001 From: JoaquinBattilana Date: Tue, 26 Dec 2023 11:22:55 -0300 Subject: [PATCH 81/84] feat: fix gelato --- package.json | 4 +- .../transactions/GovVote/GovVoteActions.tsx | 2 +- yarn.lock | 466 +++--------------- 3 files changed, 74 insertions(+), 398 deletions(-) diff --git a/package.json b/package.json index c2845bb26e..2ca9ba11d3 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "@emotion/react": "11.10.4", "@emotion/server": "latest", "@emotion/styled": "11.10.4", - "@gelatonetwork/relay-sdk": "4", + "@gelatonetwork/relay-sdk": "^5.5.5", "@gnosis.pm/safe-apps-web3-react": "^1.2.0", "@heroicons/react": "^1.0.6", "@lingui/react": "^3.14.0", @@ -163,4 +163,4 @@ "budgetPercentIncreaseRed": 20, "showDetails": true } -} \ No newline at end of file +} diff --git a/src/components/transactions/GovVote/GovVoteActions.tsx b/src/components/transactions/GovVote/GovVoteActions.tsx index ccd67733f4..dc5f9bae55 100644 --- a/src/components/transactions/GovVote/GovVoteActions.tsx +++ b/src/components/transactions/GovVote/GovVoteActions.tsx @@ -197,7 +197,7 @@ export const GovVoteActions = ({ ); const gelatoRelay = new GelatoRelay(); const gelatoRequest = { - chainId: votingChainId, + chainId: BigInt(votingChainId), target: votingMachineAddress, data: tx.data || '', }; diff --git a/yarn.lock b/yarn.lock index 1786772a02..5c3e9f44f5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -19,6 +19,11 @@ resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.0.1.tgz#b38b444ad3aa5fedbb15f2f746dcd934226a12dd" integrity sha512-+u76oB43nOHrF4DDWRLWDCtci7f3QJoEBigemIdIeTi1ODqjx6Tad9NCVnPRwewWlKkVab5PlK8DCtPTyX7S8g== +"@adraffy/ens-normalize@1.9.2": + version "1.9.2" + resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.9.2.tgz#60111a5d9db45b2e5cbb6231b0bb8d97e8659316" + integrity sha512-0h+FrQDqe2Wn+IIGFkTCd4aAwTJ+7834Ek1COohCyV26AXhwQ7WQaz+4F/nLOeVl/3BtWHOHLPsq46V8YB46Eg== + "@ampproject/remapping@^2.1.0": version "2.1.2" resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz" @@ -1726,21 +1731,6 @@ "@ethersproject/properties" "^5.5.0" "@ethersproject/strings" "^5.5.0" -"@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449" - integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA== - dependencies: - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@ethersproject/abstract-provider@5.5.1", "@ethersproject/abstract-provider@^5.5.0": version "5.5.1" resolved "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.5.1.tgz" @@ -1754,19 +1744,6 @@ "@ethersproject/transactions" "^5.5.0" "@ethersproject/web" "^5.5.0" -"@ethersproject/abstract-provider@5.7.0", "@ethersproject/abstract-provider@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz#b0a8550f88b6bf9d51f90e4795d48294630cb9ef" - integrity sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/networks" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/web" "^5.7.0" - "@ethersproject/abstract-signer@5.5.0", "@ethersproject/abstract-signer@^5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.5.0.tgz" @@ -1778,17 +1755,6 @@ "@ethersproject/logger" "^5.5.0" "@ethersproject/properties" "^5.5.0" -"@ethersproject/abstract-signer@5.7.0", "@ethersproject/abstract-signer@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz#13f4f32117868452191a4649723cb086d2b596b2" - integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ== - dependencies: - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/address@5.5.0", "@ethersproject/address@^5.0.4", "@ethersproject/address@^5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/address/-/address-5.5.0.tgz" @@ -1800,17 +1766,6 @@ "@ethersproject/logger" "^5.5.0" "@ethersproject/rlp" "^5.5.0" -"@ethersproject/address@5.7.0", "@ethersproject/address@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.7.0.tgz#19b56c4d74a3b0a46bfdbb6cfcc0a153fc697f37" - integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/rlp" "^5.7.0" - "@ethersproject/base64@5.5.0", "@ethersproject/base64@^5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.5.0.tgz" @@ -1818,13 +1773,6 @@ dependencies: "@ethersproject/bytes" "^5.5.0" -"@ethersproject/base64@5.7.0", "@ethersproject/base64@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.7.0.tgz#ac4ee92aa36c1628173e221d0d01f53692059e1c" - integrity sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/basex@5.5.0", "@ethersproject/basex@^5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.5.0.tgz" @@ -1833,14 +1781,6 @@ "@ethersproject/bytes" "^5.5.0" "@ethersproject/properties" "^5.5.0" -"@ethersproject/basex@5.7.0", "@ethersproject/basex@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.7.0.tgz#97034dc7e8938a8ca943ab20f8a5e492ece4020b" - integrity sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/bignumber@5.5.0", "@ethersproject/bignumber@^5.0.7", "@ethersproject/bignumber@^5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.5.0.tgz" @@ -1850,15 +1790,6 @@ "@ethersproject/logger" "^5.5.0" bn.js "^4.11.9" -"@ethersproject/bignumber@5.7.0", "@ethersproject/bignumber@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.7.0.tgz#e2f03837f268ba655ffba03a57853e18a18dc9c2" - integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - bn.js "^5.2.1" - "@ethersproject/bytes@5.5.0", "@ethersproject/bytes@^5.0.4", "@ethersproject/bytes@^5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.5.0.tgz" @@ -1866,13 +1797,6 @@ dependencies: "@ethersproject/logger" "^5.5.0" -"@ethersproject/bytes@5.7.0", "@ethersproject/bytes@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.7.0.tgz#a00f6ea8d7e7534d6d87f47188af1148d71f155d" - integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A== - dependencies: - "@ethersproject/logger" "^5.7.0" - "@ethersproject/constants@5.5.0", "@ethersproject/constants@^5.0.4", "@ethersproject/constants@^5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.5.0.tgz" @@ -1880,13 +1804,6 @@ dependencies: "@ethersproject/bignumber" "^5.5.0" -"@ethersproject/constants@5.7.0", "@ethersproject/constants@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.7.0.tgz#df80a9705a7e08984161f09014ea012d1c75295e" - integrity sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/contracts@5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.5.0.tgz" @@ -1903,22 +1820,6 @@ "@ethersproject/properties" "^5.5.0" "@ethersproject/transactions" "^5.5.0" -"@ethersproject/contracts@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.7.0.tgz#c305e775abd07e48aa590e1a877ed5c316f8bd1e" - integrity sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg== - dependencies: - "@ethersproject/abi" "^5.7.0" - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/experimental@^5.5.0": version "5.5.0" resolved "https://registry.yarnpkg.com/@ethersproject/experimental/-/experimental-5.5.0.tgz#3fdf8d51112c1074f401ef3c6c9e57f8a3cf12e3" @@ -1942,21 +1843,6 @@ "@ethersproject/properties" "^5.5.0" "@ethersproject/strings" "^5.5.0" -"@ethersproject/hash@5.7.0", "@ethersproject/hash@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.7.0.tgz#eb7aca84a588508369562e16e514b539ba5240a7" - integrity sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g== - dependencies: - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/base64" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@ethersproject/hdnode@5.5.0", "@ethersproject/hdnode@^5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.5.0.tgz" @@ -1975,24 +1861,6 @@ "@ethersproject/transactions" "^5.5.0" "@ethersproject/wordlists" "^5.5.0" -"@ethersproject/hdnode@5.7.0", "@ethersproject/hdnode@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.7.0.tgz#e627ddc6b466bc77aebf1a6b9e47405ca5aef9cf" - integrity sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg== - dependencies: - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/basex" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/pbkdf2" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - "@ethersproject/signing-key" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/wordlists" "^5.7.0" - "@ethersproject/json-wallets@5.5.0", "@ethersproject/json-wallets@^5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.5.0.tgz" @@ -2012,25 +1880,6 @@ aes-js "3.0.0" scrypt-js "3.0.1" -"@ethersproject/json-wallets@5.7.0", "@ethersproject/json-wallets@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz#5e3355287b548c32b368d91014919ebebddd5360" - integrity sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g== - dependencies: - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/hdnode" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/pbkdf2" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/random" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - aes-js "3.0.0" - scrypt-js "3.0.1" - "@ethersproject/keccak256@5.5.0", "@ethersproject/keccak256@^5.0.0-beta.130", "@ethersproject/keccak256@^5.0.3", "@ethersproject/keccak256@^5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.5.0.tgz" @@ -2039,24 +1888,11 @@ "@ethersproject/bytes" "^5.5.0" js-sha3 "0.8.0" -"@ethersproject/keccak256@5.7.0", "@ethersproject/keccak256@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.7.0.tgz#3186350c6e1cd6aba7940384ec7d6d9db01f335a" - integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg== - dependencies: - "@ethersproject/bytes" "^5.7.0" - js-sha3 "0.8.0" - "@ethersproject/logger@5.5.0", "@ethersproject/logger@^5.0.5", "@ethersproject/logger@^5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.5.0.tgz" integrity sha512-rIY/6WPm7T8n3qS2vuHTUBPdXHl+rGxWxW5okDfo9J4Z0+gRRZT0msvUdIJkE4/HS29GUMziwGaaKO2bWONBrg== -"@ethersproject/logger@5.7.0", "@ethersproject/logger@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.7.0.tgz#6ce9ae168e74fecf287be17062b590852c311892" - integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig== - "@ethersproject/networks@5.5.2", "@ethersproject/networks@^5.5.0": version "5.5.2" resolved "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.5.2.tgz" @@ -2064,13 +1900,6 @@ dependencies: "@ethersproject/logger" "^5.5.0" -"@ethersproject/networks@5.7.1", "@ethersproject/networks@^5.7.0": - version "5.7.1" - resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.1.tgz#118e1a981d757d45ccea6bb58d9fd3d9db14ead6" - integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ== - dependencies: - "@ethersproject/logger" "^5.7.0" - "@ethersproject/pbkdf2@5.5.0", "@ethersproject/pbkdf2@^5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.5.0.tgz" @@ -2079,14 +1908,6 @@ "@ethersproject/bytes" "^5.5.0" "@ethersproject/sha2" "^5.5.0" -"@ethersproject/pbkdf2@5.7.0", "@ethersproject/pbkdf2@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz#d2267d0a1f6e123f3771007338c47cccd83d3102" - integrity sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - "@ethersproject/properties@5.5.0", "@ethersproject/properties@^5.0.3", "@ethersproject/properties@^5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.5.0.tgz" @@ -2094,13 +1915,6 @@ dependencies: "@ethersproject/logger" "^5.5.0" -"@ethersproject/properties@5.7.0", "@ethersproject/properties@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.7.0.tgz#a6e12cb0439b878aaf470f1902a176033067ed30" - integrity sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw== - dependencies: - "@ethersproject/logger" "^5.7.0" - "@ethersproject/providers@5.5.3", "@ethersproject/providers@^5.5.3": version "5.5.3" resolved "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.5.3.tgz" @@ -2126,32 +1940,6 @@ bech32 "1.1.4" ws "7.4.6" -"@ethersproject/providers@5.7.2": - version "5.7.2" - resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.7.2.tgz#f8b1a4f275d7ce58cf0a2eec222269a08beb18cb" - integrity sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg== - dependencies: - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/base64" "^5.7.0" - "@ethersproject/basex" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/networks" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/random" "^5.7.0" - "@ethersproject/rlp" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/web" "^5.7.0" - bech32 "1.1.4" - ws "7.4.6" - "@ethersproject/random@5.5.1", "@ethersproject/random@^5.5.0": version "5.5.1" resolved "https://registry.npmjs.org/@ethersproject/random/-/random-5.5.1.tgz" @@ -2160,14 +1948,6 @@ "@ethersproject/bytes" "^5.5.0" "@ethersproject/logger" "^5.5.0" -"@ethersproject/random@5.7.0", "@ethersproject/random@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.7.0.tgz#af19dcbc2484aae078bb03656ec05df66253280c" - integrity sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/rlp@5.5.0", "@ethersproject/rlp@^5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.5.0.tgz" @@ -2176,14 +1956,6 @@ "@ethersproject/bytes" "^5.5.0" "@ethersproject/logger" "^5.5.0" -"@ethersproject/rlp@5.7.0", "@ethersproject/rlp@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.7.0.tgz#de39e4d5918b9d74d46de93af80b7685a9c21304" - integrity sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/sha2@5.5.0", "@ethersproject/sha2@^5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.5.0.tgz" @@ -2193,15 +1965,6 @@ "@ethersproject/logger" "^5.5.0" hash.js "1.1.7" -"@ethersproject/sha2@5.7.0", "@ethersproject/sha2@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.7.0.tgz#9a5f7a7824ef784f7f7680984e593a800480c9fb" - integrity sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - hash.js "1.1.7" - "@ethersproject/signing-key@5.5.0", "@ethersproject/signing-key@^5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.5.0.tgz" @@ -2214,18 +1977,6 @@ elliptic "6.5.4" hash.js "1.1.7" -"@ethersproject/signing-key@5.7.0", "@ethersproject/signing-key@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.7.0.tgz#06b2df39411b00bc57c7c09b01d1e41cf1b16ab3" - integrity sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - bn.js "^5.2.1" - elliptic "6.5.4" - hash.js "1.1.7" - "@ethersproject/solidity@5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.5.0.tgz" @@ -2238,18 +1989,6 @@ "@ethersproject/sha2" "^5.5.0" "@ethersproject/strings" "^5.5.0" -"@ethersproject/solidity@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.7.0.tgz#5e9c911d8a2acce2a5ebb48a5e2e0af20b631cb8" - integrity sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@ethersproject/strings@5.5.0", "@ethersproject/strings@^5.0.4", "@ethersproject/strings@^5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.5.0.tgz" @@ -2259,15 +1998,6 @@ "@ethersproject/constants" "^5.5.0" "@ethersproject/logger" "^5.5.0" -"@ethersproject/strings@5.7.0", "@ethersproject/strings@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.7.0.tgz#54c9d2a7c57ae8f1205c88a9d3a56471e14d5ed2" - integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/transactions@5.5.0", "@ethersproject/transactions@^5.0.0-beta.135", "@ethersproject/transactions@^5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.5.0.tgz" @@ -2283,21 +2013,6 @@ "@ethersproject/rlp" "^5.5.0" "@ethersproject/signing-key" "^5.5.0" -"@ethersproject/transactions@5.7.0", "@ethersproject/transactions@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.7.0.tgz#91318fc24063e057885a6af13fdb703e1f993d3b" - integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ== - dependencies: - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/rlp" "^5.7.0" - "@ethersproject/signing-key" "^5.7.0" - "@ethersproject/units@5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/units/-/units-5.5.0.tgz" @@ -2307,15 +2022,6 @@ "@ethersproject/constants" "^5.5.0" "@ethersproject/logger" "^5.5.0" -"@ethersproject/units@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.7.0.tgz#637b563d7e14f42deeee39245275d477aae1d8b1" - integrity sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/wallet@5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.5.0.tgz" @@ -2337,27 +2043,6 @@ "@ethersproject/transactions" "^5.5.0" "@ethersproject/wordlists" "^5.5.0" -"@ethersproject/wallet@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.7.0.tgz#4e5d0790d96fe21d61d38fb40324e6c7ef350b2d" - integrity sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA== - dependencies: - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/hdnode" "^5.7.0" - "@ethersproject/json-wallets" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/random" "^5.7.0" - "@ethersproject/signing-key" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/wordlists" "^5.7.0" - "@ethersproject/web@5.5.1", "@ethersproject/web@^5.5.0": version "5.5.1" resolved "https://registry.npmjs.org/@ethersproject/web/-/web-5.5.1.tgz" @@ -2369,17 +2054,6 @@ "@ethersproject/properties" "^5.5.0" "@ethersproject/strings" "^5.5.0" -"@ethersproject/web@5.7.1", "@ethersproject/web@^5.7.0": - version "5.7.1" - resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.7.1.tgz#de1f285b373149bee5928f4eb7bcb87ee5fbb4ae" - integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w== - dependencies: - "@ethersproject/base64" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@ethersproject/wordlists@5.5.0", "@ethersproject/wordlists@^5.5.0": version "5.5.0" resolved "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.5.0.tgz" @@ -2391,24 +2065,15 @@ "@ethersproject/properties" "^5.5.0" "@ethersproject/strings" "^5.5.0" -"@ethersproject/wordlists@5.7.0", "@ethersproject/wordlists@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.7.0.tgz#8fb2c07185d68c3e09eb3bfd6e779ba2774627f5" - integrity sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@gelatonetwork/relay-sdk@4": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@gelatonetwork/relay-sdk/-/relay-sdk-4.0.0.tgz#700796d0700a950304437c8ab2ac78e2dc1f45e4" - integrity sha512-apjMQ/r6BPLHhRVE0NzL8PWDpbNsne98oG74kzliBDD/D9IJBVhbveJRamecdmrYmsMFxS0WfODhfDDw2yIijw== +"@gelatonetwork/relay-sdk@^5.5.5": + version "5.5.5" + resolved "https://registry.yarnpkg.com/@gelatonetwork/relay-sdk/-/relay-sdk-5.5.5.tgz#be2b8dbc5238c42c323ea0681db57c96b820396d" + integrity sha512-aLiN8CmWBTei5JMoSg3LHX3MmB+IoaM+Rw1kkm9x/ECrS6FhWZH1WU76+xvmeIVnbncEUc3xNOQfz7UAwUZI0w== dependencies: - axios "1.4.0" - ethers "5.7.2" + axios "0.27.2" + ethers "6.7.0" + isomorphic-ws "^5.0.0" + ws "^8.5.0" "@gnosis.pm/safe-apps-provider@0.10.3": version "0.10.3" @@ -3142,6 +2807,16 @@ resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.1.1.tgz#21c12feb6acf75cac7c1ae4ca7f251aa1943f081" integrity sha512-nH5osn/uK9wsjT8Jh1YxMtRrkN5hoCNLQjsEdvfUfb+loQXeYiBd3n/0DUJkf6Scjfv6/htfUTPP3AEa7AbBxQ== +"@noble/hashes@1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.1.2.tgz#e9e035b9b166ca0af657a7848eb2718f0f22f183" + integrity sha512-KYRCASVTv6aeUi1tsF8/vpyR7zpfs3FUzy2Jqm+MU+LmUKhQ0y2FpfwqkCcxSg2ua4GALJd8k2R76WxwZGbQpA== + +"@noble/secp256k1@1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.7.1.tgz#b251c70f824ce3ca7f8dc3df08d58f005cc0507c" + integrity sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw== + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" @@ -3856,6 +3531,11 @@ resolved "https://registry.npmjs.org/@types/node/-/node-17.0.18.tgz" integrity sha512-eKj4f/BsN/qcculZiRSujogjvp5O/k4lOW5m35NopjZM/QwLOR075a8pJW5hD+Rtdm2DaCVPENS6KtSQnUD6BA== +"@types/node@18.15.13": + version "18.15.13" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.13.tgz#f64277c341150c979e42b00e4ac289290c9df469" + integrity sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q== + "@types/node@^12.12.6": version "12.20.46" resolved "https://registry.npmjs.org/@types/node/-/node-12.20.46.tgz" @@ -4709,6 +4389,11 @@ aes-js@3.0.0: resolved "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz" integrity sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0= +aes-js@4.0.0-beta.5: + version "4.0.0-beta.5" + resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-4.0.0-beta.5.tgz#8d2452c52adedebc3a3e28465d858c11ca315873" + integrity sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q== + agent-base@6: version "6.0.2" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" @@ -4973,14 +4658,13 @@ axe-core@^4.3.5: resolved "https://registry.npmjs.org/axe-core/-/axe-core-4.4.1.tgz" integrity sha512-gd1kmb21kwNuWr6BQz8fv6GNECPBnUasepcoLbekws23NVBLODdsClRZ+bQ8+9Uomf3Sm3+Vwn0oYG9NvwnJCw== -axios@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.4.0.tgz#38a7bf1224cd308de271146038b551d725f0be1f" - integrity sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA== +axios@0.27.2: + version "0.27.2" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.27.2.tgz#207658cc8621606e586c85db4b41a750e756d972" + integrity sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ== dependencies: - follow-redirects "^1.15.0" + follow-redirects "^1.14.9" form-data "^4.0.0" - proxy-from-env "^1.1.0" axios@^1.6.2: version "1.6.2" @@ -5271,11 +4955,6 @@ bn.js@^5.1.1, bn.js@^5.1.2, bn.js@^5.2.0: resolved "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz" integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== -bn.js@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" - integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== - boolbase@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" @@ -7149,41 +6828,18 @@ ethereumjs-util@^7.1.0: ethereum-cryptography "^0.1.3" rlp "^2.2.4" -ethers@5.7.2: - version "5.7.2" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.2.tgz#3a7deeabbb8c030d4126b24f84e525466145872e" - integrity sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg== - dependencies: - "@ethersproject/abi" "5.7.0" - "@ethersproject/abstract-provider" "5.7.0" - "@ethersproject/abstract-signer" "5.7.0" - "@ethersproject/address" "5.7.0" - "@ethersproject/base64" "5.7.0" - "@ethersproject/basex" "5.7.0" - "@ethersproject/bignumber" "5.7.0" - "@ethersproject/bytes" "5.7.0" - "@ethersproject/constants" "5.7.0" - "@ethersproject/contracts" "5.7.0" - "@ethersproject/hash" "5.7.0" - "@ethersproject/hdnode" "5.7.0" - "@ethersproject/json-wallets" "5.7.0" - "@ethersproject/keccak256" "5.7.0" - "@ethersproject/logger" "5.7.0" - "@ethersproject/networks" "5.7.1" - "@ethersproject/pbkdf2" "5.7.0" - "@ethersproject/properties" "5.7.0" - "@ethersproject/providers" "5.7.2" - "@ethersproject/random" "5.7.0" - "@ethersproject/rlp" "5.7.0" - "@ethersproject/sha2" "5.7.0" - "@ethersproject/signing-key" "5.7.0" - "@ethersproject/solidity" "5.7.0" - "@ethersproject/strings" "5.7.0" - "@ethersproject/transactions" "5.7.0" - "@ethersproject/units" "5.7.0" - "@ethersproject/wallet" "5.7.0" - "@ethersproject/web" "5.7.1" - "@ethersproject/wordlists" "5.7.0" +ethers@6.7.0: + version "6.7.0" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.7.0.tgz#0f772c31a9450de28aa518b181c8cb269bbe7fd1" + integrity sha512-pxt5hK82RNwcTX2gOZP81t6qVPVspnkpeivwEgQuK9XUvbNtghBnT8GNIb/gPh+WnVSfi8cXC9XlfT8sqc6D6w== + dependencies: + "@adraffy/ens-normalize" "1.9.2" + "@noble/hashes" "1.1.2" + "@noble/secp256k1" "1.7.1" + "@types/node" "18.15.13" + aes-js "4.0.0-beta.5" + tslib "2.4.0" + ws "8.5.0" ethers@^5.4.7, ethers@^5.5.0, ethers@^5.5.4: version "5.5.4" @@ -7573,7 +7229,7 @@ flatted@^3.1.0: resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz" integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== -follow-redirects@^1.15.0: +follow-redirects@^1.14.9, follow-redirects@^1.15.0: version "1.15.3" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.3.tgz#fe2f3ef2690afce7e82ed0b44db08165b207123a" integrity sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q== @@ -8563,6 +8219,11 @@ isomorphic-unfetch@^3.1.0: node-fetch "^2.6.1" unfetch "^4.2.0" +isomorphic-ws@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-5.0.0.tgz#e5529148912ecb9b451b46ed44d53dae1ce04bbf" + integrity sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw== + isstream@~0.1.2: version "0.1.2" resolved "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" @@ -12359,6 +12020,11 @@ tslib@1.14.1, tslib@^1.8.1, tslib@^1.9.0: resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== +tslib@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" + integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== + tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0: version "2.3.1" resolved "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz" @@ -13064,6 +12730,11 @@ ws@7.4.6: resolved "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz" integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== +ws@8.5.0: + version "8.5.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz#bfb4be96600757fe5382de12c670dab984a1ed4f" + integrity sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg== + ws@^7.3.1: version "7.5.7" resolved "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz" @@ -13074,6 +12745,11 @@ ws@^7.5.1: resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== +ws@^8.5.0: + version "8.15.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.15.1.tgz#271ba33a45ca0cc477940f7f200cd7fba7ee1997" + integrity sha512-W5OZiCjXEmk0yZ66ZN82beM5Sz7l7coYxpRkzS+p9PP+ToQry8szKh+61eNktr7EA9DOwvFGhfC605jDHbP6QQ== + ws@^8.9.0: version "8.9.0" resolved "https://registry.yarnpkg.com/ws/-/ws-8.9.0.tgz#2a994bb67144be1b53fe2d23c53c028adeb7f45e" From 7500cec96a2e3fb75267abde8bbf7746ca074387 Mon Sep 17 00:00:00 2001 From: JoaquinBattilana Date: Tue, 26 Dec 2023 11:26:53 -0300 Subject: [PATCH 82/84] feat: next config --- next.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/next.config.js b/next.config.js index e7d68db04b..ac76562e04 100644 --- a/next.config.js +++ b/next.config.js @@ -4,7 +4,7 @@ const withBundleAnalyzer = require('@next/bundle-analyzer')({ }); const pageExtensions = ['page.tsx']; -// if (process.env.NEXT_PUBLIC_ENABLE_GOVERNANCE === 'true') pageExtensions.push('governance.tsx'); // TODO: put back in +if (process.env.NEXT_PUBLIC_ENABLE_GOVERNANCE === 'true') pageExtensions.push('governance.tsx'); pageExtensions.push('governance.tsx'); if (process.env.NEXT_PUBLIC_ENABLE_STAKING === 'true') pageExtensions.push('staking.tsx'); From ef43772b236ed03e3587183ec647366808fa3798 Mon Sep 17 00:00:00 2001 From: JoaquinBattilana Date: Tue, 26 Dec 2023 12:16:12 -0300 Subject: [PATCH 83/84] feat: updated dependencies --- package.json | 4 ++-- yarn.lock | 16 ++++++++-------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index 2ca9ba11d3..42d5b44821 100644 --- a/package.json +++ b/package.json @@ -32,8 +32,8 @@ "test:coverage": "jest --coverage" }, "dependencies": { - "@aave/contract-helpers": "1.21.2-0513918ea5a08b3fbd67072f4e7b66a87acd716b.0", - "@aave/math-utils": "1.21.1", + "@aave/contract-helpers": "1.21.2-182191f2c1d2a6c84597cedec2c2dee3e77b117e.0", + "@aave/math-utils": "1.21.2-182191f2c1d2a6c84597cedec2c2dee3e77b117e.0", "@bgd-labs/aave-address-book": "^2.13.1", "@emotion/cache": "11.10.3", "@emotion/react": "11.10.4", diff --git a/yarn.lock b/yarn.lock index 5c3e9f44f5..0f553a8187 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,17 +2,17 @@ # yarn lockfile v1 -"@aave/contract-helpers@1.21.2-0513918ea5a08b3fbd67072f4e7b66a87acd716b.0": - version "1.21.2-0513918ea5a08b3fbd67072f4e7b66a87acd716b.0" - resolved "https://registry.yarnpkg.com/@aave/contract-helpers/-/contract-helpers-1.21.2-0513918ea5a08b3fbd67072f4e7b66a87acd716b.0.tgz#01428ca6e2e0b41e1e7e1c1b3c368c5473e1f537" - integrity sha512-XVox4j3X8ZDxVpgMnShmMjDCcf9lCnyMJvKO2nO3qvG1djtWGvVe4bgbU4G9y0WRly9iC7wlHTkPgucmGNr/9g== +"@aave/contract-helpers@1.21.2-182191f2c1d2a6c84597cedec2c2dee3e77b117e.0": + version "1.21.2-182191f2c1d2a6c84597cedec2c2dee3e77b117e.0" + resolved "https://registry.yarnpkg.com/@aave/contract-helpers/-/contract-helpers-1.21.2-182191f2c1d2a6c84597cedec2c2dee3e77b117e.0.tgz#f61de232d09f38b1fab3a79d8cceb7d345c1f2e3" + integrity sha512-fDBugwxsxzExm8VoeTuMyVEvB2wLm0cHAkuFQQRvwOhzCK1cvK5FDGibAaB1wmr/VIRs9O7O4SEGL/zkZUDAAw== dependencies: isomorphic-unfetch "^3.1.0" -"@aave/math-utils@1.21.1": - version "1.21.1" - resolved "https://registry.yarnpkg.com/@aave/math-utils/-/math-utils-1.21.1.tgz#b72b85e0ef6d98ac28121cac383c985122b08bd4" - integrity sha512-oFZafJ5MeNtiqgJBEsmvvGlFtdFauWX0wI9B+wikqT//LVc0PYS0IX49UItv6yoTcd0I7IDq3Zv8V47e3lhBOw== +"@aave/math-utils@1.21.2-182191f2c1d2a6c84597cedec2c2dee3e77b117e.0": + version "1.21.2-182191f2c1d2a6c84597cedec2c2dee3e77b117e.0" + resolved "https://registry.yarnpkg.com/@aave/math-utils/-/math-utils-1.21.2-182191f2c1d2a6c84597cedec2c2dee3e77b117e.0.tgz#dd660a107ba6b44eddc68843d7367c84e28eea47" + integrity sha512-tEH1sF2WNxez8slQ26XucFcL+fGhQDCqjQSYJTcx3qjE8oDQAVnvLLJto8YN9vARfRiGeEHD2vEMUqfCXFKNyA== "@adobe/css-tools@^4.0.1": version "4.0.1" From 3d5e5a29f096a69e3791fb6cb0fa86f616ad283e Mon Sep 17 00:00:00 2001 From: JoaquinBattilana Date: Tue, 26 Dec 2023 12:58:42 -0300 Subject: [PATCH 84/84] feat: updated aave utils --- package.json | 4 ++-- yarn.lock | 16 ++++++++-------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index 42d5b44821..2b23ebf7b6 100644 --- a/package.json +++ b/package.json @@ -32,8 +32,8 @@ "test:coverage": "jest --coverage" }, "dependencies": { - "@aave/contract-helpers": "1.21.2-182191f2c1d2a6c84597cedec2c2dee3e77b117e.0", - "@aave/math-utils": "1.21.2-182191f2c1d2a6c84597cedec2c2dee3e77b117e.0", + "@aave/contract-helpers": "1.21.2-2022bac22871a85776f017f1d6214d9ecfcc5abe.0", + "@aave/math-utils": "1.21.2-2022bac22871a85776f017f1d6214d9ecfcc5abe.0", "@bgd-labs/aave-address-book": "^2.13.1", "@emotion/cache": "11.10.3", "@emotion/react": "11.10.4", diff --git a/yarn.lock b/yarn.lock index 0f553a8187..6c1288b7f7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,17 +2,17 @@ # yarn lockfile v1 -"@aave/contract-helpers@1.21.2-182191f2c1d2a6c84597cedec2c2dee3e77b117e.0": - version "1.21.2-182191f2c1d2a6c84597cedec2c2dee3e77b117e.0" - resolved "https://registry.yarnpkg.com/@aave/contract-helpers/-/contract-helpers-1.21.2-182191f2c1d2a6c84597cedec2c2dee3e77b117e.0.tgz#f61de232d09f38b1fab3a79d8cceb7d345c1f2e3" - integrity sha512-fDBugwxsxzExm8VoeTuMyVEvB2wLm0cHAkuFQQRvwOhzCK1cvK5FDGibAaB1wmr/VIRs9O7O4SEGL/zkZUDAAw== +"@aave/contract-helpers@1.21.2-2022bac22871a85776f017f1d6214d9ecfcc5abe.0": + version "1.21.2-2022bac22871a85776f017f1d6214d9ecfcc5abe.0" + resolved "https://registry.yarnpkg.com/@aave/contract-helpers/-/contract-helpers-1.21.2-2022bac22871a85776f017f1d6214d9ecfcc5abe.0.tgz#9d6deffe48fe4ddf701f90dc99f955044470075e" + integrity sha512-Pq8DwV5cWVBZff0O6Is6uATp2ac24QKZoBj1mep9teCYXb/v7vNs41rFw4IwN8rd5SyBKI/bCFVQ/8U/JysDRA== dependencies: isomorphic-unfetch "^3.1.0" -"@aave/math-utils@1.21.2-182191f2c1d2a6c84597cedec2c2dee3e77b117e.0": - version "1.21.2-182191f2c1d2a6c84597cedec2c2dee3e77b117e.0" - resolved "https://registry.yarnpkg.com/@aave/math-utils/-/math-utils-1.21.2-182191f2c1d2a6c84597cedec2c2dee3e77b117e.0.tgz#dd660a107ba6b44eddc68843d7367c84e28eea47" - integrity sha512-tEH1sF2WNxez8slQ26XucFcL+fGhQDCqjQSYJTcx3qjE8oDQAVnvLLJto8YN9vARfRiGeEHD2vEMUqfCXFKNyA== +"@aave/math-utils@1.21.2-2022bac22871a85776f017f1d6214d9ecfcc5abe.0": + version "1.21.2-2022bac22871a85776f017f1d6214d9ecfcc5abe.0" + resolved "https://registry.yarnpkg.com/@aave/math-utils/-/math-utils-1.21.2-2022bac22871a85776f017f1d6214d9ecfcc5abe.0.tgz#1363e9151fe7ea3cd054ee1c1f0d0ffb9364fcc4" + integrity sha512-AV1v2UNasi+NPpKa5DLUZY0RI0+ha2cG8WfWypzNWdUmUj37BSnttc466lSQoGXuSPGtJbqEetgClD7Wzl8AhA== "@adobe/css-tools@^4.0.1": version "4.0.1"