From 904b422ebdd7c897ee3db77ef0df94b16fa366ae Mon Sep 17 00:00:00 2001 From: Samuel Safahi <60489622+samisbakedham@users.noreply.github.com> Date: Sat, 1 Jan 2022 22:59:43 -0800 Subject: [PATCH] add CNDL --- .env | 3 ++- src/apollo/client.js | 8 ++++++++ src/assets/images/cndlLogo.png | Bin 0 -> 1328 bytes src/state/application/hooks.ts | 6 +++++- src/state/governance/hooks.ts | 3 ++- src/state/governance/reducer.ts | 17 +++++++++++++++++ 6 files changed, 34 insertions(+), 3 deletions(-) create mode 100644 src/assets/images/cndlLogo.png diff --git a/.env b/.env index 1f0a8383..f97e9935 100644 --- a/.env +++ b/.env @@ -1,3 +1,4 @@ REACT_APP_CHAIN_ID="1" REACT_APP_NETWORK_URL="https://mainnet.infura.io/v3/4bf032f2d38a4ed6bb975b80d6340847" -REACT_APP_GOOGLE_ANALYTICS_ID="UA-128182339-6" \ No newline at end of file +REACT_APP_GOOGLE_ANALYTICS_ID="UA-128182339-6" +REACT_EDITOR=atom diff --git a/src/apollo/client.js b/src/apollo/client.js index d10bbbdc..96cb0268 100644 --- a/src/apollo/client.js +++ b/src/apollo/client.js @@ -57,3 +57,11 @@ export const ensClient = new ApolloClient({ cache: new InMemoryCache(), shouldBatch: true, }) + +export const candleClient = new ApolloClient({ + link: new HttpLink({ + uri: 'https://api.thegraph.com/subgraphs/name/candleplatforms/candlegovernor/graphql', + }), + cache: new InMemoryCache(), + shouldBatch: true, +}) diff --git a/src/assets/images/cndlLogo.png b/src/assets/images/cndlLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..b08cb0535751ce571b8cfb9e343da0cc6a3fd5bd GIT binary patch literal 1328 zcmciC`&W_&9LMqR^9c4lUXmeVrY*EHwF_3xgI3cX7#2>+OKMG5p{_R5f=*3=|HG{3+Y*$}H4kzyYBLY2^=_j8lz&3_+~^}a-(B7yHWG{z9SRDQ?(RU}AS>7^{FvoVK{w#r8D0f$2;`v2`UF_G{Yw)>x5F zW))Y2Ldr;dE)fW^x&}07FDMma1g(SCL`@nNjnWjBB6k+(8;7sHNjk?IQ+q#~3#Y$o zzex`sb95;AZfMW1>w(ujr~On8Rq0#3Eou%HjTo+3%0O_l97nf9uILaC@E0o9r}Qf- z3pp|&ZDR*o4y;+Js37|$O57^ksaizxuK8ZZY_d=}bHV)WA-ZI3FjiTmgKq4T%ybuuv1K+C&3y;3IBeLg9m$ z_Fm+wE+f~PWqjLh7phZP5l;#@$m^K{HGLG!o(Q7;OBj)geP*0+&WpWl9(frunR--q z4`-y;J3o&r*$19Tp4P{z6kp^V?(qDV5`~8nCxne7d*}`7p~;v{{kEllg$|^DXjf0) zi8Skr?3aOV;>ICA#QP%tC)Mb&+gFaWBD)SMCzgvmL!Rl2-!mn91BSB1@8ygHTUzI^ ze*v3h6a0noq`>F?gU8Il!xv`D3qXWR(h_=Q@k^FO3xR>=zlf@0U`W%HgW!0IG02&` zKBo?{Znq}GPkTUf_MrC{mdAx<8I!W?cn%*Gyl1YuDw*9k zP-Y?-YO-9P*t`D;xTPQSAsR)BQ8u7+bSgAY4Y4M*J&T2+6r4dyd29dUN# zhLH4$=f2VR29(8`pI8}&uhg6rtLz@7YH*m&Wz9x3i;qoi^f&4Jt%zMTzf)j4qClJI zlvu6*0+NcYDiqT}6^`|u>6X5oEjM_|V!L+c#F&L%O@0Bg98v$2H=R}TWf>uVFy)QB z_H|11mBo4Wq(J91w`gJQ;^IC#Yrt0tl5qI#DYcFcC{)7{OW0>q0&~drqYfpjr)9(Q O7YHH2Tlm#HQSN_&bsKB| literal 0 HcmV?d00001 diff --git a/src/state/application/hooks.ts b/src/state/application/hooks.ts index 19b70e0f..4bfc8f7d 100644 --- a/src/state/application/hooks.ts +++ b/src/state/application/hooks.ts @@ -12,6 +12,7 @@ import { RADICLE_GOVERNANCE, NOUNS_GOVERNANCE, ENS_GOVERNANCE, + CNDL_GOVERNANCE, } from '../governance/reducer' import { uniswapClient, @@ -21,6 +22,7 @@ import { radicleClient, nounsClient, ensClient, + candleClient, } from '../../apollo/client' export function useBlockNumber(): number | undefined { @@ -126,6 +128,8 @@ export function useSubgraphClient() { if (activeProtocol?.id === ENS_GOVERNANCE.id) { return ensClient } - + if (activeProtocol?.id === CNDL_GOVERNANCE.id) { + return candleClient + } return undefined } diff --git a/src/state/governance/hooks.ts b/src/state/governance/hooks.ts index 1de2b243..b1618fcb 100644 --- a/src/state/governance/hooks.ts +++ b/src/state/governance/hooks.ts @@ -11,7 +11,7 @@ import { } from './actions' import { AppDispatch, AppState } from './../index' import { useDispatch, useSelector } from 'react-redux' -import { GovernanceInfo, GlobaData, COMPOUND_GOVERNANCE, NOUNS_GOVERNANCE, UNISWAP_GOVERNANCE } from './reducer' +import { GovernanceInfo, GlobaData, COMPOUND_GOVERNANCE, NOUNS_GOVERNANCE, CNDL_GOVERNANCE } from './reducer' import { useState, useEffect, useCallback } from 'react' import { useGovernanceContract, useGovTokenContract, useIsAave } from '../../hooks/useContract' import { useSingleCallResult } from '../multicall/hooks' @@ -190,6 +190,7 @@ export function useAllProposalStates(): number[] | undefined { if ( activeProtocol === COMPOUND_GOVERNANCE || + activeProtocol === CNDL_GOVERNANCE || activeProtocol === NOUNS_GOVERNANCE || activeProtocol === UNISWAP_GOVERNANCE ) { diff --git a/src/state/governance/reducer.ts b/src/state/governance/reducer.ts index ce0e7e8d..95d88de0 100644 --- a/src/state/governance/reducer.ts +++ b/src/state/governance/reducer.ts @@ -17,6 +17,7 @@ import PoolLogo from '../../assets/images/pooltogether-icon.png' import RadicleLogo from '../../assets/images/radicle-logo.svg' import NounsLogo from '../../assets/images/nouns-logo.png' import ENSLogo from '../../assets/images/ens.jpeg' +import CandleLogo from '../../assets/images/cndlLogo.png' import AddAccount from '../../assets/images/AddAccount.png' import { serializeToken } from '../user/hooks' @@ -172,6 +173,21 @@ export const NOUNS_GOVERNANCE: GovernanceInfo = { emoji: EMOJIS[Math.floor(Math.random() * EMOJIS.length)], } +export const CNDL_GOVERNANCE_ADDRESS = '0xB80Be29667021AE0B617AC9eFe0a3A1a58033681' +export const CNDL_ADDRESS = '0xbc138bd20c98186cc0342c8e380953af0cb48ba8' +const CNDL = new Token(ChainId.MAINNET, CNDL_ADDRESS, 18, 'CNDL', 'Candle Token') +export const CNDL_GOVERNANCE: GovernanceInfo = { + id: 'cndl', + name: 'Candle Governance', + logo: CandleLogo, + primaryColor: '#6fbeff', + secondaryColor: '#ebfeff', + token: serializeToken(CNDL), + governanceAlphaAddresses: [CNDL_GOVERNANCE_ADDRESS], + social: '@candle_labs', + emoji: '👻', +} + // #/connect or #/delegates/connect // show only identity flow e.g. link to twitter export function identityOnlyPath(pathname: string) { @@ -187,6 +203,7 @@ export const SUPPORTED_PROTOCOLS: { [id: string]: GovernanceInfo } = { radicle: RADICLE_GOVERNANCE, nouns: NOUNS_GOVERNANCE, ens: ENS_GOVERNANCE, + cndl: CNDL_GOVERNANCE, connect: CONNECT_CONFIG, }