From b1246e86ac37170591ec488f58761c805529326a Mon Sep 17 00:00:00 2001
From: stephen <991266+stxphxn@users.noreply.github.com>
Date: Thu, 8 Feb 2024 20:52:02 +0700
Subject: [PATCH 01/13] =?UTF-8?q?Add=20Celo=20=E2=9C=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
public/favicon.ico | Bin 15406 -> 15406 bytes
src/assets/images/icons/networks/celo.svg | 13 +++++++++++++
src/composables/useNetwork.ts | 7 +++----
src/lib/config/index.ts | 12 ++++++------
.../trustwallet/walletconnect.connector.ts | 5 ++++-
src/services/web3/wallet.service.ts | 2 +-
6 files changed, 27 insertions(+), 12 deletions(-)
create mode 100644 src/assets/images/icons/networks/celo.svg
diff --git a/public/favicon.ico b/public/favicon.ico
index d4839360a1fc9da6635ee71d7a6f87735b8c6e2f..b56297f508866ded15ea9e77db330b3583a824a5 100644
GIT binary patch
literal 15406
zcmeI3d2|)k9mk(bEwreJQp7c4t$<6hoZ4e+H7*quNL~`+25MZZoQf8-fAmz1O06x_
zqqtBhVy)uosh(uutC&|p@_Vb-Bcjir!_Z|<9fB4S%<<8u>
z_jkX)^)55X<+jOfm+RX%M_HA-X!~65@LVoeRTbP1-X)itMcuGr;q!0ha?ke9
E)JJhMcxDC*nI^)i1GzRX4zglAsp|ARwh~V*A
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
literal 15406
zcmeI3d5~O19mfX|0S^MoeMkU-2#O$xU{M%3q9NItd9w^AB8R1f`w}o5!MtNP5CTCH
z4+6!dfJz~96DTm;sDuJi0g`NX=i1$D2q7Hdju}7SH`}|tZ{94kM}$9^s^9i|{kr@2
z>tFw_{&jC6v0h^R#HO1jC`Tqv`fMVxeIkNITYO_S*I_mb`yZifYiNsS|Bod=&
zLl=5f>M8pDm1$N;duQfTUZLQ4%PQbsqfR9!$ndSBkoF&3mc4+{tAC}G|4qKX0hBFx
zt1ENK&aK(WBMRx@*|0w4T~
zokGfA&DiCd;P|g}OlaC6H`?6@{=O_4@@ao|IA+S9TcHWQRmT31_iAwb^Fw?o{}jH9
z53AbK&3jY618BTAN{;{iwq)~GaiICDKXVxco_E!!mHdH*RVDm-a9+TA3V
zb~lYeDeHcjxt>9L;fG%D*1Qv(*Zsb#)EMmAGIrL6tl>k{b;ZES?m0?E)|S%#X@#F$
zvYA^YjQvQdcF!A@A0(UkJI8;dkn$SJS@(0MO}%A#
z-$@&UGFY)&YvW`NUVeaHU1G*;8GHJM;GRPLJ8BPa)vqHW-lYlir#!Wyit!h_wdN
zq0WwE&|@=9+cIk=xx*e`j=i~YFo2DohQ5#O8I!fvnnS~T77ZWf(}8c=n6i{?-b;Qf
z&dv;|4qMq`#bKS}r+yXOi!A)|W6!r8(X^w%E&B-W8)>8XCDzUip#E*_&2h#asLa6^
zY>72?@LoRS{=&o*#E?G%fBOJ%)T9w!Ykq&1k2CWNbwP2fJvVH|vPOSTwLwnr?eopF
z6U|{f6c9%Z1pHiEx=EpU_#=k+JU-wuaM(6+4YdAV@hYV>5mKmgn&_ho#rr(dh4^
zI18R%PP-3!X+TF){<&s9HeWKVn4qr=*VMz_ag03mEuo9J!N11HX~CI#5coU$^doL5
z;mge$6w<#wl<#r6G8j5K^BM04W^DPSyyMO6i$D0Fl=d2p4ur8y+CPgnvGHKNcAEZg
zz}pL>eo%WfzV+|`ey|Vo=NcY~*3Rsu*mLi%?fCM+0DQj-zI*boX6~l!j$i+w`2mKf
z%b8cB{G-~*W-ErsXD-}kFrfXEe7wOKEs1%@Fz>|%zjy#V#Xfx7Xxnx1E?W(cX4^Iq
z{BL4^@mJNkiQ%R}vR1-(!1J8pL8T0yl%Cr7O5>ZhD>PobXT6Ybn6i`Izt*#C9Xz<+
z<^eRkUPuK;+I@;i|0I0WLcVE#+&`pz^yLA#{<3UrZ;q+ead$%(
zlzTF=TC
z*Kb!yY|gSjdZXVK
zD^HsWP6SU5+Uw=LnUCU~T$snQ={|*jgyoaFQ
zios*$#n2or@e%&D(jPlcxfP$Ia|q&1*=TDI&e%>MT#o@qwX)ZX^0eOfrOu2k8NZov
zbjBkd4GPGMJePOeOw_JOKG1;xxs)x4%$t2V`*+RQcTV(h#*fSAt|eC}8#Y0)XOy;j-evP!54&`PV(XT%)3z8asK54kaX1w}
zps&}l&hJ*Qfnp@@h7RmUT;ESZUFgqJ-jCt+3o-OdUW@2*Lv-yv3ABp_mwlJc?qp~2
z7jZUXHFKL;O1fW@JbY5=+VG%mk*A`)$pnnN_;PaPdr^TKl+hgfjc5eQp
zIUDF)VYopyNVe1Vt-^;5+9jWKee|^|Ux^K2UA$*GSKQmS!BM(H+F2v5C%MwYvBTqs
z8`>TJK;@p4!?W>g57I$A4xPkTRsKx2^^Ic2Kc&BO0>%9BVGMTn672F^%6|?wuy42>
zxLSE3n|?iq`KpvZ16o(a=(5gP9#GCV+E4Fg;f-iENqppL3dyV@-9AKG67hsPjXfz27KrE;`Jwls$W6?B5B{vpB{dtRdDY
zur^aybl;i49^AwHB4-E@d9UP1-lpH{*r-**0*=2-wr)`*&X-TtJ{bD1hpuXwfELMD
zXR>KO`4QIY8QS)@w<0I*wPKGhhwe0amT|)YInLK~CZznX;k_wWa&F$94$fhH*xy8W
zS$W6KcxUQ-9X(Q>37b&eu6uv_B78cQSaG-iR}2#FxzoYP(3Fd#3qG!f=hrG%9i!)#
zTzk4ZcFW4Kvo`rC-)(p|9Ho32{B@BN`!0?}m(EGNN4wA+O77mp#(rww3Gcl)pD`SC
z#*HDFUalC1^9b;hVWT)Ep
z^wOxf`sprm$%+S&pC{;BW&arid+A@_l9|4}@*XySW%pzQ`2GO!$k4%ioH4}5w*Y)s
zY#eHM{5I#K*XiC|>4%&Dw4W$6__nS8StI*yRE1|Le+6e3)8lL@Ir~Gp3*!YR71fczdV
z-)8eW`Yd_qK4WDMTI~-Tvd8(jp64MO+Ml84zeC>Q;v$_@T~W&Rp7(xSwAR8a
zJ;=dh=+6OBf3ODn=d(T&Y#FLG*2hsV8`;JgPng?|iD98#F~Xd#W5Rp&Rd;uFcGG&;
z~DFMfnym&l%XFL4o>`JD;o=
zGdg~~@5Hp`ysaaW!)hhs+|k(5v9F57_&M?
zL$-*2F7J%op()E3FmGgR=||C8
+
diff --git a/src/composables/useNetwork.ts b/src/composables/useNetwork.ts
index 571d7d318..cca2f13ce 100644
--- a/src/composables/useNetwork.ts
+++ b/src/composables/useNetwork.ts
@@ -24,7 +24,7 @@ const NETWORK_ID =
urlNetworkId ||
localStorageNetworkId ||
(Number(import.meta.env.VITE_NETWORK) as Network) ||
- Network.TELOS;
+ Network.CELO;
if (windowAvailable) localStorage.setItem('networkId', NETWORK_ID.toString());
export const networkSlug = config[NETWORK_ID].slug;
export const networkConfig = config[NETWORK_ID];
@@ -37,8 +37,7 @@ export const networkId = ref(NETWORK_ID);
export const isMainnet = computed(
() =>
- networkId.value === Network.TELOS ||
- networkId.value === Network.TELOSTESTNET
+ networkId.value === Network.CELO || networkId.value === Network.TELOSTESTNET
);
export const isPolygon = computed(() => networkId.value === Network.POLYGON);
export const isZkevm = computed(() => networkId.value === Network.ZKEVM);
@@ -125,7 +124,7 @@ export function handleNetworkSlug(
) {
const networkFromUrl = networkFromSlug(networkSlug);
const localStorageNetwork = networkFor(
- localStorage.getItem('networkId') ?? '40'
+ localStorage.getItem('networkId') ?? '42220'
);
if (!networkFromUrl) {
// missing or incorrect network name -> next() withtout network change
diff --git a/src/lib/config/index.ts b/src/lib/config/index.ts
index 3814c2b0c..a8ac69726 100644
--- a/src/lib/config/index.ts
+++ b/src/lib/config/index.ts
@@ -10,14 +10,14 @@ import { Config, Network } from './types';
// import polygon from './polygon';
// import sepolia from './sepolia';
// import zkevm from './zkevm';
-import telos from './telos';
-import telosTestnet from './telos-testnet';
-// import celo from './celo';
+// import telos from './telos';
+// import telosTestnet from './telos-testnet';
+import celo from './celo';
const config: Record = {
- [Network.TELOS]: telos,
- [Network.TELOSTESTNET]: telosTestnet,
- // [Network.CELO]: celo,
+ // [Network.TELOS]: telos,
+ // [Network.TELOSTESTNET]: telosTestnet,
+ [Network.CELO]: celo,
// [Network.MAINNET]: mainnet,
// [Network.GOERLI]: goerli,
// [Network.POLYGON]: polygon,
diff --git a/src/services/web3/connectors/trustwallet/walletconnect.connector.ts b/src/services/web3/connectors/trustwallet/walletconnect.connector.ts
index f1d60d6f8..83d1c8a27 100644
--- a/src/services/web3/connectors/trustwallet/walletconnect.connector.ts
+++ b/src/services/web3/connectors/trustwallet/walletconnect.connector.ts
@@ -16,6 +16,7 @@ const {
// ZKEVM,
TELOS,
TELOSTESTNET,
+ CELO,
} = Network;
export class WalletConnectConnector extends Connector {
@@ -23,7 +24,7 @@ export class WalletConnectConnector extends Connector {
async connect() {
const provider = await EthereumProvider.init({
projectId: '90da6e11e9ce2448f2872dae5e52b189',
- chains: [TELOS],
+ chains: [TELOS, CELO],
optionalChains: [
// AVALANCHE,
// ARBITRUM,
@@ -32,6 +33,7 @@ export class WalletConnectConnector extends Connector {
// POLYGON,
// ZKEVM,
TELOSTESTNET,
+ CELO,
],
rpcMap: {
// [MAINNET]: configService.getNetworkRpc(MAINNET),
@@ -43,6 +45,7 @@ export class WalletConnectConnector extends Connector {
// [ZKEVM]: configService.getNetworkRpc(ZKEVM),
[TELOS]: configService.getNetworkRpc(TELOS),
[TELOSTESTNET]: configService.getNetworkRpc(TELOSTESTNET),
+ [CELO]: configService.getNetworkRpc(CELO),
},
showQrModal: true,
qrModalOptions: { themeMode: useDarkMode().darkMode ? 'dark' : 'light' },
diff --git a/src/services/web3/wallet.service.ts b/src/services/web3/wallet.service.ts
index 0124936a9..190615f1a 100644
--- a/src/services/web3/wallet.service.ts
+++ b/src/services/web3/wallet.service.ts
@@ -26,7 +26,7 @@ export default class WalletService {
private readonly config: ConfigService = configService
) {
this.appProvider = this.rpcProviderService.jsonProvider;
- this.ensProvider = this.rpcProviderService.getJsonProvider(Network.TELOS);
+ this.ensProvider = this.rpcProviderService.getJsonProvider(Network.CELO);
}
public setUserProvider(provider: ComputedRef) {
From 7f01579dabe91c8332a21b840cc7bda3cca0e9c5 Mon Sep 17 00:00:00 2001
From: stephen <991266+stxphxn@users.noreply.github.com>
Date: Wed, 14 Feb 2024 21:32:58 +0700
Subject: [PATCH 02/13] Update
---
package-lock.json | 14 +-
package.json | 2 +-
.../pages/pool/add-liquidity/Page.vue | 1 +
src/lib/config/celo/index.ts | 4 +-
src/lib/config/celo/tokens.ts | 4 +-
src/lib/config/gnosis-chain/contracts.ts | 27 ++-
src/lib/config/gnosis-chain/index.ts | 11 +-
src/lib/config/gnosis-chain/pools.ts | 157 +++---------------
src/lib/config/gnosis-chain/tokenlists.ts | 2 +-
src/lib/config/gnosis-chain/tokens.ts | 6 +-
src/lib/config/index.ts | 4 +-
src/lib/config/telos/rewards.ts | 65 ++++++++
src/pages/index.vue | 12 +-
13 files changed, 128 insertions(+), 181 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 1dad79d4c..6bd57161b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -42,7 +42,7 @@
"@popperjs/core": "^2.9.2",
"@sentry/browser": "^7.17.4",
"@sentry/tracing": "^7.17.4",
- "@symmetric-v3/sdk": "^1.2.9-beta.1",
+ "@symmetric-v3/sdk": "^1.2.10-beta.1",
"@tanstack/vue-query": "^4.22.0",
"@testing-library/jest-dom": "^5.16.1",
"@testing-library/vue": "^7.0.0",
@@ -6833,9 +6833,9 @@
}
},
"node_modules/@symmetric-v3/sdk": {
- "version": "1.2.9-beta.1",
- "resolved": "https://registry.npmjs.org/@symmetric-v3/sdk/-/sdk-1.2.9-beta.1.tgz",
- "integrity": "sha512-0x45+GZMFeRX7TsIj6nI6aYgMq2JF2/kCeB7Mh300pxF4AoFVapA1cCfi4kty84DMWKxTHxpU7qTN9RlayuVGw==",
+ "version": "1.2.10-beta.1",
+ "resolved": "https://registry.npmjs.org/@symmetric-v3/sdk/-/sdk-1.2.10-beta.1.tgz",
+ "integrity": "sha512-NT9EerA0jH6UlxvHMefFap23iQaxQEKxmg6KqjrzL0cFa8vYfX8Xby6PEfhh4cV/pklJejoZ3HUhgnBYdDKZlg==",
"dev": true,
"dependencies": {
"@balancer-labs/sor": "^4.1.1-beta.16",
@@ -34329,9 +34329,9 @@
}
},
"@symmetric-v3/sdk": {
- "version": "1.2.9-beta.1",
- "resolved": "https://registry.npmjs.org/@symmetric-v3/sdk/-/sdk-1.2.9-beta.1.tgz",
- "integrity": "sha512-0x45+GZMFeRX7TsIj6nI6aYgMq2JF2/kCeB7Mh300pxF4AoFVapA1cCfi4kty84DMWKxTHxpU7qTN9RlayuVGw==",
+ "version": "1.2.10-beta.1",
+ "resolved": "https://registry.npmjs.org/@symmetric-v3/sdk/-/sdk-1.2.10-beta.1.tgz",
+ "integrity": "sha512-NT9EerA0jH6UlxvHMefFap23iQaxQEKxmg6KqjrzL0cFa8vYfX8Xby6PEfhh4cV/pklJejoZ3HUhgnBYdDKZlg==",
"dev": true,
"requires": {
"@balancer-labs/sor": "^4.1.1-beta.16",
diff --git a/package.json b/package.json
index 6f3828cdd..5a35cd0e0 100644
--- a/package.json
+++ b/package.json
@@ -74,7 +74,7 @@
"@popperjs/core": "^2.9.2",
"@sentry/browser": "^7.17.4",
"@sentry/tracing": "^7.17.4",
- "@symmetric-v3/sdk": "^1.2.9-beta.1",
+ "@symmetric-v3/sdk": "^1.2.10-beta.1",
"@tanstack/vue-query": "^4.22.0",
"@testing-library/jest-dom": "^5.16.1",
"@testing-library/vue": "^7.0.0",
diff --git a/src/components/contextual/pages/pool/add-liquidity/Page.vue b/src/components/contextual/pages/pool/add-liquidity/Page.vue
index d5bae30e8..d53a5ae28 100644
--- a/src/components/contextual/pages/pool/add-liquidity/Page.vue
+++ b/src/components/contextual/pages/pool/add-liquidity/Page.vue
@@ -20,6 +20,7 @@ const props = defineProps();
const pool = toRef(props, 'pool');
+console.log(pool);
/**
* PROVIDERS
*/
diff --git a/src/lib/config/celo/index.ts b/src/lib/config/celo/index.ts
index c97214d25..840e6dac9 100644
--- a/src/lib/config/celo/index.ts
+++ b/src/lib/config/celo/index.ts
@@ -35,12 +35,12 @@ const config: Config = {
blocks: '',
},
bridgeUrl: '',
- supportsEIP1559: false,
+ supportsEIP1559: true,
supportsElementPools: false,
blockTime: 2,
nativeAsset: {
name: 'Celo',
- address: '0x471EcE3750Da237f93B8E339c536989b8978a438',
+ address: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE',
symbol: 'CELO',
decimals: 18,
deeplinkId: 'celo',
diff --git a/src/lib/config/celo/tokens.ts b/src/lib/config/celo/tokens.ts
index be5483144..3b3702540 100644
--- a/src/lib/config/celo/tokens.ts
+++ b/src/lib/config/celo/tokens.ts
@@ -10,8 +10,8 @@ const tokens: TokenConstants = {
},
Addresses: {
nativeAsset: '0x471EcE3750Da237f93B8E339c536989b8978a438',
- wNativeAsset: '0x471EcE3750Da237f93B8E339c536989b8978a438',
- WETH: '0x471EcE3750Da237f93B8E339c536989b8978a438',
+ wNativeAsset: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE',
+ WETH: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE',
BAL: '0x8427bD503dd3169cCC9aFF7326c15258Bc305478',
bbaUSD: '',
bbaUSDv2: '',
diff --git a/src/lib/config/gnosis-chain/contracts.ts b/src/lib/config/gnosis-chain/contracts.ts
index fe1db8f09..8f003a7a8 100644
--- a/src/lib/config/gnosis-chain/contracts.ts
+++ b/src/lib/config/gnosis-chain/contracts.ts
@@ -1,30 +1,27 @@
import { Contracts } from '../types';
-import * as gnosis from '@/assets/data/contracts/gnosis.json';
const contracts: Contracts = {
merkleRedeem: '',
- merkleOrchard: '0x35b50C7955e7D0E8298e043C9F4dCDef737b9f5a',
- multicall: '0xbb6fab6b627947dae0a75808250d8b2652952cb5',
- authorizer: gnosis.Authorizer,
- vault: gnosis.Vault,
- weightedPoolFactory: gnosis.WeightedPoolFactory,
- stablePoolFactory: gnosis.StablePoolFactory,
+ merkleOrchard: '',
+ multicall: '0xFAa296891cA6CECAF2D86eF5F7590316d0A17dA0',
+ authorizer: '0xAb758532D05d2A2fc7b2853ebe54Ac17fE17Ea7f',
+ vault: '0x24F87b37F4F249Da61D89c3FF776a55c321B2773',
+ weightedPoolFactory: '0xb13A501fA658389e437E3047d56F2Bf945207a5A',
+ stablePoolFactory: '0xF9e6BE5A015Da5dc29B42ff345bB7Dd1b6C60aC7',
lidoRelayer: '',
- balancerHelpers: gnosis.BalancerHelpers,
- batchRelayer: gnosis.BalancerRelayer,
- gaugeFactory: gnosis.ChildChainLiquidityGaugeFactory,
- balancerMinter: gnosis.L2BalancerPseudoMinter,
+ balancerHelpers: '0xe007Ba1c5665567175B4d462f8dba14506e7f592',
+ batchRelayer: '0xDCE2ea355530c098f5B9410b6B2663E0FFf246Bf',
+ gaugeFactory: '',
+ balancerMinter: '',
gaugeController: '',
tokenAdmin: '',
veBAL: '',
- veDelegationProxy: '0x7A2535f5fB47b8e44c02Ef5D9990588313fe8F05',
+ veDelegationProxy: '',
veBALHelpers: '',
feeDistributor: '',
feeDistributorDeprecated: '',
faucet: '',
- gaugeRewardsHelper: gnosis.ChildChainGaugeRewardHelper,
- gaugeWorkingBalanceHelper: gnosis.ChildChainGaugeWorkingBalanceHelper,
- gaugeCheckpointer: gnosis.ChildChainGaugeCheckpointer,
+ gaugeRewardsHelper: '',
};
export default contracts;
diff --git a/src/lib/config/gnosis-chain/index.ts b/src/lib/config/gnosis-chain/index.ts
index f3bda7ca0..a8ecb189b 100644
--- a/src/lib/config/gnosis-chain/index.ts
+++ b/src/lib/config/gnosis-chain/index.ts
@@ -9,7 +9,7 @@ const config: Config = {
key: '100',
chainId: 100,
layerZeroChainId: 145,
- supportsVeBalSync: true,
+ supportsVeBalSync: false,
chainName: 'Gnosis Chain',
name: 'Gnosis Chain',
shortName: 'Gnosis',
@@ -25,17 +25,16 @@ const config: Config = {
publicRpc: 'https://rpc.gnosis.gateway.fm',
explorer: 'https://gnosisscan.io',
explorerName: 'Gnosisscan',
- balancerApi: 'https://api.balancer.fi',
+ balancerApi: '',
subgraph:
- 'https://api.thegraph.com/subgraphs/name/balancer-labs/balancer-gnosis-chain-v2',
+ 'https://api.thegraph.com/subgraphs/name/centfinance/symmetric-v2-gnosis',
poolsUrlV2: '',
subgraphs: {
main: [
- 'https://api.thegraph.com/subgraphs/name/balancer-labs/balancer-gnosis-chain-v2',
+ 'https://api.thegraph.com/subgraphs/name/centfinance/symmetric-v2-gnosis',
],
aave: '',
- gauge:
- 'https://api.thegraph.com/subgraphs/name/balancer-labs/balancer-gauges-gnosis-chain',
+ gauge: '',
blocks: '',
},
bridgeUrl: 'https://bridge.gnosischain.com/',
diff --git a/src/lib/config/gnosis-chain/pools.ts b/src/lib/config/gnosis-chain/pools.ts
index 47e6cd58d..4663c9ab3 100644
--- a/src/lib/config/gnosis-chain/pools.ts
+++ b/src/lib/config/gnosis-chain/pools.ts
@@ -1,10 +1,15 @@
-import { Protocol } from '@/composables/useProtocols';
-import { CSP_ISSUE_POOL_IDS } from '@/constants/pool-lists/csp-issue';
-import { PoolFeature, PoolWarning, Pools } from '@/types/pools';
-import { Network } from '../types';
+import { Pools } from '@/types/pools';
const pools: Pools = {
- IdsMap: {},
+ IdsMap: {
+ staBAL: '',
+ bbAaveUSD: {
+ v1: '',
+ v2: '',
+ v3: '',
+ },
+ veBAL: '',
+ },
Pagination: {
PerPage: 10,
PerPool: 10,
@@ -27,16 +32,7 @@ const pools: Pools = {
'ComposableStable',
],
Stable: {
- AllowList: [
- '0xfedb19ec000d38d92af4b21436870f115db22725000000000000000000000010', // bb-ag-usd
- '0x9949f1884b61a8265e12056650c1ac4677a75403000000000000000000000014', // 2EUR (EURe)
- '0xa611a551b95b205ccd9490657acf7899daee5db700000000000000000000002e', // EURe / bb-ag-usd
- '0x5c78d05b8ecf97507d1cf70646082c54faa4da95000000000000000000000030', // agEUR / EURe
- '0xbad20c15a773bf03ab973302f61fabcea5101f0a000000000000000000000034', // WETH / wstETH
- '0xe15cac1df3621e001f76210ab12a7f1a1691481f000000000000000000000044', // bb-ag-USD
- '0x2086f52651837600180de173b09470f54ef7491000000000000000000000004f', // xdai-usdc-usdt
- '0x0c1b9ce6bf6c01f587c2ee98b0ef4b20c6648753000000000000000000000050', // eure-stabal3
- ],
+ AllowList: [],
},
Investment: {
AllowList: [],
@@ -44,133 +40,22 @@ const pools: Pools = {
Weighted: {
// Only effective after given timestamp here: usePool.ts#createdAfterTimestamp
// see useDisabledJoinPool.ts#nonAllowedWeightedPoolAfterTimestamp for logic.
- AllowList: [
- '0xa99fd9950b5d5dceeaf4939e221dca8ca9b938ab000100000000000000000025', // 25WETH-25BAL-25GNO-25wxDAI
- '0x388cae2f7d3704c937313d990298ba67d70a3709000200000000000000000026', // 50AGVE-50GNO
- '0x4bcf6b48906fa0f68bea1fc255869a41241d4851000200000000000000000021', // 50WXDAI-50MPS
- '0x5519e2d8a0af0944ea639c6dbad69a174de3ecf800010000000000000000003b', // 25BAL-25GNO-25bb-WETH-wstETH-25wxDAI
- '0xbc130c4989e10941142b34f054eb38d69fdce9df000200000000000000000049', // 20XOC-80USDC
- '0xba1a5b19d09a79dada039b1f974015c5a989d5fd000100000000000000000046', // agUSD-agWETH-agWBTC
- '0x4de21b365d6543661d0e105e579a34b963862497000200000000000000000045', // 50bbagGNO-50bbagUSD
- '0x0c1b9ce6bf6c01f587c2ee98b0ef4b20c6648753000000000000000000000050',
- '0x00df7f58e1cf932ebe5f54de5970fb2bdf0ef06d00010000000000000000005b', // B-50wstETH-25BAL-25AURA
- '0x4cdabe9e07ca393943acfb9286bbbd0d0a310ff600020000000000000000005c', // B-50wstETH-50COW
- '0xeb30c85cc528537f5350cf5684ce6a4538e13394000200000000000000000059', // B-50USD-50wstETH
- '0x4683e340a8049261057d5ab1b29c8d840e75695e00020000000000000000005a', // B-50wstETH-50GNO
- '0xb8bb1ce9c6e5401d66fe2126db6e7387e1e24ffe00020000000000000000003d', // WETH/GNO
- '0x274dedb9356c3e1e24bfe2bf3d4349fbdbfa0d14000200000000000000000054', // staBAL/GNO
- '0x66888e4f35063ad8bb11506a6fde5024fb4f1db0000100000000000000000053', // WETH/staBAL/WBTC
- '0x7caef9e452ce161dec936ace7eab571d1023b20900020000000000000000005d', // B-50wstETH-50NEXT
- '0x77e5bf699db38c578b2982c3e262e9c5f1f50fd0000200000000000000000061', // B-50USD-50bIBTA
- '0xe85eb550e98ee66d19c667de24c5c8e10fee6504000200000000000000000060', // B-50USD-50bCSPX
- '0xf6bfffb47bc125564cbb6cc0e7633eb7addaefce00020000000000000000005e', // B-50USD-50bIB01
- ],
- },
- Factories: {
- '0xc128468b7ce63ea702c1f104d55a2566b13d3abd': 'composableStablePool', // ComposableStable V3
- '0xc128a9954e6c874ea3d62ce62b468ba073093f25': 'weightedPool', // WeightedPool V3
- '0x6cad2ea22bfa7f4c14aae92e47f510cd5c509bc7': 'weightedPool', // weighted pool v4
- '0xd87f44df0159dc78029ab9ca7d7e57e7249f5acd': 'composableStablePool', // ComposableStable V4
- '0x4bdcc2fb18aeb9e2d281b0278d946445070eada7': 'composableStablePool', // ComposableStable V5
+ AllowList: [],
},
+ Factories: {},
Stakable: {
- VotingGaugePools: [
- '0x66f33ae36dd80327744207a48122f874634b3ada000100000000000000000013',
- '0xf48f01dcb2cbb3ee1f6aab0e742c2d3941039d56000200000000000000000012',
- '0xb973ca96a3f0d61045f53255e319aedb6ed49240000200000000000000000011',
- '0xfedb19ec000d38d92af4b21436870f115db22725000000000000000000000010',
- '0xbad20c15a773bf03ab973302f61fabcea5101f0a000000000000000000000034',
- '0x5c78d05b8ecf97507d1cf70646082c54faa4da95000000000000000000000030',
- '0x21d4c792ea7e38e0d0819c2011a2b1cb7252bd9900020000000000000000001e',
- '0xba1a5b19d09a79dada039b1f974015c5a989d5fd000100000000000000000046',
- '0x4de21b365d6543661d0e105e579a34b963862497000200000000000000000045',
- '0xe15cac1df3621e001f76210ab12a7f1a1691481f000000000000000000000044',
- '0xb8bb1ce9c6e5401d66fe2126db6e7387e1e24ffe00020000000000000000003d',
- '0x66888e4f35063ad8bb11506a6fde5024fb4f1db0000100000000000000000053',
- '0x2086f52651837600180de173b09470f54ef7491000000000000000000000004f',
- '0x274dedb9356c3e1e24bfe2bf3d4349fbdbfa0d14000200000000000000000054',
- '0x0c1b9ce6bf6c01f587c2ee98b0ef4b20c6648753000000000000000000000050',
- '0xeb30c85cc528537f5350cf5684ce6a4538e13394000200000000000000000059',
- '0x4683e340a8049261057d5ab1b29c8d840e75695e00020000000000000000005a',
- '0x4cdabe9e07ca393943acfb9286bbbd0d0a310ff600020000000000000000005c',
- '0x00df7f58e1cf932ebe5f54de5970fb2bdf0ef06d00010000000000000000005b',
- ],
+ VotingGaugePools: [],
AllowList: [],
},
- Metadata: {
- '0xfedb19ec000d38d92af4b21436870f115db22725000000000000000000000010': {
- name: 'Balancer Boosted Agave USD',
- hasIcon: false,
- features: {
- [PoolFeature.Boosted]: {
- featureProtocols: [Protocol.Agave],
- },
- },
- },
- '0x4de21b365d6543661d0e105e579a34b963862497000200000000000000000045': {
- name: 'Balancer Boosted Agave GNO/USD',
- hasIcon: false,
- features: {
- [PoolFeature.Boosted]: {
- featureProtocols: [Protocol.Agave],
- },
- },
- },
- '0xf48f01dcb2cbb3ee1f6aab0e742c2d3941039d56000200000000000000000012': {
- name: 'Balancer Boosted Agave GNO/WETH',
- hasIcon: false,
- features: {
- [PoolFeature.Boosted]: {
- featureProtocols: [Protocol.Agave],
- },
- },
- },
- '0xba1a5b19d09a79dada039b1f974015c5a989d5fd000100000000000000000046': {
- name: 'Balancer Boosted Agave WETH/WBTC/USD',
- hasIcon: false,
- features: {
- [PoolFeature.Boosted]: {
- featureProtocols: [Protocol.Agave],
- },
- },
- },
- },
- Deep: [
- '0xfedb19ec000d38d92af4b21436870f115db22725000000000000000000000010', // agave stable
- '0x66f33ae36dd80327744207a48122f874634b3ada000100000000000000000013', // agave tricrypto
- '0xb973ca96a3f0d61045f53255e319aedb6ed49240000200000000000000000011', // agave gno/usdc
- '0xf48f01dcb2cbb3ee1f6aab0e742c2d3941039d56000200000000000000000012', // agave gno/weth
- '0xe15cac1df3621e001f76210ab12a7f1a1691481f000000000000000000000044', // bb-ag-USD
- '0xba1a5b19d09a79dada039b1f974015c5a989d5fd000100000000000000000046', // agUSD-agWETH-agWBTC
- '0x4de21b365d6543661d0e105e579a34b963862497000200000000000000000045', // 50bbagGNO-50bbagUSD
- ],
- Deprecated: {
- '0xf48f01dcb2cbb3ee1f6aab0e742c2d3941039d56000200000000000000000012': {
- newPool:
- '0xb8bb1ce9c6e5401d66fe2126db6e7387e1e24ffe00020000000000000000003d',
- description: 'deprecatedPool.hasNewPool.description',
- },
- '0xba1a5b19d09a79dada039b1f974015c5a989d5fd000100000000000000000046': {
- newPool:
- '0x66888e4f35063ad8bb11506a6fde5024fb4f1db0000100000000000000000053',
- description: 'deprecatedPool.hasNewPool.description',
- },
- '0xe15cac1df3621e001f76210ab12a7f1a1691481f000000000000000000000044': {
- newPool:
- '0x2086f52651837600180de173b09470f54ef7491000000000000000000000004f',
- description: 'deprecatedPool.hasNewPool.description',
- },
- '0x4de21b365d6543661d0e105e579a34b963862497000200000000000000000045': {
- newPool:
- '0x274dedb9356c3e1e24bfe2bf3d4349fbdbfa0d14000200000000000000000054',
- description: 'deprecatedPool.hasNewPool.description',
- },
- },
+ Metadata: {},
+ Deep: [],
BoostedApr: [],
- DisabledJoins: [...CSP_ISSUE_POOL_IDS[Network.GNOSIS]],
- Issues: {
- [PoolWarning.CspPoolVulnWarning]: CSP_ISSUE_POOL_IDS[Network.GNOSIS],
+ DisabledJoins: [],
+ Deprecated: {
+ deprecatedid: {}, //Used for unit testing
},
+ ExitViaInternalBalance: [],
+ Risks: {},
};
export default pools;
diff --git a/src/lib/config/gnosis-chain/tokenlists.ts b/src/lib/config/gnosis-chain/tokenlists.ts
index bab8a53dc..00138df0f 100644
--- a/src/lib/config/gnosis-chain/tokenlists.ts
+++ b/src/lib/config/gnosis-chain/tokenlists.ts
@@ -3,7 +3,7 @@ import { TokenListURLMap } from '@/types/TokenList';
const tokenlists: TokenListURLMap = {
Balancer: {
Allowlisted:
- 'https://raw.githubusercontent.com/balancer/tokenlists/main/generated/balancer.tokenlist.json',
+ 'https://raw.githubusercontent.com/centfinance/Symmetric.WebInterface-v2/develop/src/lib/config/listed.tokenlist.json',
},
External: [
'https://unpkg.com/@1hive/default-token-list@latest/build/honeyswap-default.tokenlist.json',
diff --git a/src/lib/config/gnosis-chain/tokens.ts b/src/lib/config/gnosis-chain/tokens.ts
index 00601e328..ad159dccb 100644
--- a/src/lib/config/gnosis-chain/tokens.ts
+++ b/src/lib/config/gnosis-chain/tokens.ts
@@ -2,17 +2,17 @@ import { TokenConstants } from '../types';
const tokens: TokenConstants = {
Popular: {
- Symbols: ['WXDAI', 'WETH', 'BAL'],
+ Symbols: ['WXDAI', 'WETH', 'SYMM'],
},
InitialSwapTokens: {
input: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE',
- output: '0xDDAfbb505ad214D7b80b1f830fcCc89B60fb7A83',
+ output: '0xc45b3c1c24d5f54e7a2cf288ac668c74dd507a84',
},
Addresses: {
nativeAsset: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE',
wNativeAsset: '0xe91D153E0b41518A2Ce8Dd3D7944Fa863463a97d',
WETH: '0x6A023CCd1ff6F2045C3309768eAd9E68F978f6e1',
- BAL: '0x7eF541E2a22058048904fE5744f9c7E4C57AF717',
+ BAL: '0xc45b3c1c24d5f54e7a2cf288ac668c74dd507a84',
},
};
diff --git a/src/lib/config/index.ts b/src/lib/config/index.ts
index a8ac69726..1c50342e8 100644
--- a/src/lib/config/index.ts
+++ b/src/lib/config/index.ts
@@ -4,7 +4,7 @@ import { Config, Network } from './types';
// import avalanche from './avalanche';
// import base from './base';
// import goerli from './goerli';
-// import gnosisChain from './gnosis-chain';
+import gnosisChain from './gnosis-chain';
// import mainnet from './mainnet';
// import optimism from './optimism';
// import polygon from './polygon';
@@ -23,7 +23,7 @@ const config: Record = {
// [Network.POLYGON]: polygon,
// [Network.ARBITRUM]: arbitrum,
// [Network.OPTIMISM]: optimism,
- // [Network.GNOSIS]: gnosisChain,
+ [Network.GNOSIS]: gnosisChain,
// [Network.ZKEVM]: zkevm,
// [Network.AVALANCHE]: avalanche,
// [Network.SEPOLIA]: sepolia,
diff --git a/src/lib/config/telos/rewards.ts b/src/lib/config/telos/rewards.ts
index d7ca24c46..d0ca48085 100644
--- a/src/lib/config/telos/rewards.ts
+++ b/src/lib/config/telos/rewards.ts
@@ -477,4 +477,69 @@ export const rewards = {
decimals: 18,
},
},
+ 1707955200: {
+ '0x2d714951f7165a51e8bd61f92d8a979ab0ed4b59000200000000000000000006': {
+ symbol: 'WTLOS-USDT',
+ token: '0xD102cE6A4dB07D247fcc28F366A623Df0938CA9E',
+ tokenSymbol: 'WTLOS',
+ gauge: '0xa9d436ab58989354a5c3705f24a5130779055e47',
+ rate: BigInt('3000000000000000000000') / BigInt('604800'),
+ period_finish: 0,
+ decimals: 18,
+ },
+ '0x058d4893efa235d86cceed5a7eef0809b76c8c66000000000000000000000004': {
+ symbol: 'USDC-USDT',
+ token: '0xD102cE6A4dB07D247fcc28F366A623Df0938CA9E',
+ tokenSymbol: 'WTLOS',
+ gauge: '0xe4c412962fab7f2d406c43a8da95c68f9d60f24e',
+ rate: BigInt('2000000000000000000000') / BigInt('604800'),
+ period_finish: 0,
+ decimals: 18,
+ },
+ '0x9a77bd2edbbb68173275cda967b76e9213949ace000000000000000000000008': {
+ symbol: 'STLOS-WTLOS',
+ token: '0xD102cE6A4dB07D247fcc28F366A623Df0938CA9E',
+ tokenSymbol: 'WTLOS',
+ gauge: '0xec678e92afe25bc5ba4bc2e1ff386c775270e49e',
+ rate: BigInt('3000000000000000000000') / BigInt('604800'),
+ period_finish: 0,
+ decimals: 18,
+ },
+ '0x0ca5d4b7aeeca61aff78c8f734596ec88456d5c300010000000000000000000a': {
+ symbol: 'BTCb-ETH-USDC',
+ token: '0xD102cE6A4dB07D247fcc28F366A623Df0938CA9E',
+ tokenSymbol: 'WTLOS',
+ gauge: '0x760dd84074f735bd3836718c0916a828d1dda502',
+ rate: BigInt('1000000000000000000000') / BigInt('604800'),
+ period_finish: 0,
+ decimals: 18,
+ },
+ '0x5e99843486cf052baf0925a0cdeb40920477295900000000000000000000000b': {
+ symbol: 'USDM/USDC-USDT',
+ token: '0xD102cE6A4dB07D247fcc28F366A623Df0938CA9E',
+ tokenSymbol: 'WTLOS',
+ gauge: '0x6e0c092b93b5c075239ee61cae811924028899ea',
+ rate: BigInt('2000000000000000000000') / BigInt('604800'),
+ period_finish: 0,
+ decimals: 18,
+ },
+ '0x38c2609cabbe6cce553eb842b78ea59e5a73552800000000000000000000000e': {
+ symbol: 'rfTLOS-STLOS',
+ token: '0xD102cE6A4dB07D247fcc28F366A623Df0938CA9E',
+ tokenSymbol: 'WTLOS',
+ gauge: '0x5967e7572f925b5e133963ce792001148f57dc08',
+ rate: BigInt('1000000000000000000000') / BigInt('604800'),
+ period_finish: 0,
+ decimals: 18,
+ },
+ '0x2b014535525aad053b8811c22a337e57caae82df00020000000000000000000f': {
+ symbol: 'WTLOS-USDC',
+ token: '0xD102cE6A4dB07D247fcc28F366A623Df0938CA9E',
+ tokenSymbol: 'WTLOS',
+ gauge: '0x9614933e16d6753ee9be1736b2850862984fdc3a',
+ rate: BigInt('1500000000000000000000') / BigInt('604800'),
+ period_finish: 0,
+ decimals: 18,
+ },
+ },
};
diff --git a/src/pages/index.vue b/src/pages/index.vue
index 386f7a0e3..06ae9fe7d 100644
--- a/src/pages/index.vue
+++ b/src/pages/index.vue
@@ -4,7 +4,7 @@ import axios from 'axios';
import HomePageHero from '@/components/heros/HomePageHero.vue';
import TokenSearchInput from '@/components/inputs/TokenSearchInput.vue';
-import FeaturedProtocols from '@/components/sections/FeaturedProtocols.vue';
+// import FeaturedProtocols from '@/components/sections/FeaturedProtocols.vue';
import PoolsTable from '@/components/tables/PoolsTable/PoolsTable.vue';
import usePoolFilters from '@/composables/pools/usePoolFilters';
import useBreakpoints from '@/composables/useBreakpoints';
@@ -47,8 +47,8 @@ const filterPoolAttributes = ref([]);
*/
const router = useRouter();
const { injectPrices, getToken, tokens } = useTokens();
-const { appNetworkConfig } = useNetwork();
-const isElementSupported = appNetworkConfig.supportsElementPools;
+// const { appNetworkConfig } = useNetwork();
+// const isElementSupported = appNetworkConfig.supportsElementPools;
const { selectedTokens, addSelectedToken, removeSelectedToken } =
usePoolFilters();
@@ -334,13 +334,13 @@ onBeforeMount(async () => {
@on-column-sort="onColumnSort"
@load-more="loadMorePools"
/>
-
+
From 54287ca1a0503016e200addde7bbc3dc61f95dfa Mon Sep 17 00:00:00 2001
From: stephen <991266+stxphxn@users.noreply.github.com>
Date: Tue, 5 Mar 2024 20:29:13 +0700
Subject: [PATCH 03/13] Update SDK
---
package-lock.json | 14 +++++++-------
package.json | 2 +-
.../AddLiquidityForm/AddLiquidityForm.vue | 14 +++++++++-----
src/lib/config/celo/tokens.ts | 8 ++++----
src/lib/utils/index.ts | 3 ++-
src/providers/tokens.provider.ts | 5 +++++
6 files changed, 28 insertions(+), 18 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 6bd57161b..2bbaa86ad 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -42,7 +42,7 @@
"@popperjs/core": "^2.9.2",
"@sentry/browser": "^7.17.4",
"@sentry/tracing": "^7.17.4",
- "@symmetric-v3/sdk": "^1.2.10-beta.1",
+ "@symmetric-v3/sdk": "^1.2.11-beta.1",
"@tanstack/vue-query": "^4.22.0",
"@testing-library/jest-dom": "^5.16.1",
"@testing-library/vue": "^7.0.0",
@@ -6833,9 +6833,9 @@
}
},
"node_modules/@symmetric-v3/sdk": {
- "version": "1.2.10-beta.1",
- "resolved": "https://registry.npmjs.org/@symmetric-v3/sdk/-/sdk-1.2.10-beta.1.tgz",
- "integrity": "sha512-NT9EerA0jH6UlxvHMefFap23iQaxQEKxmg6KqjrzL0cFa8vYfX8Xby6PEfhh4cV/pklJejoZ3HUhgnBYdDKZlg==",
+ "version": "1.2.11-beta.1",
+ "resolved": "https://registry.npmjs.org/@symmetric-v3/sdk/-/sdk-1.2.11-beta.1.tgz",
+ "integrity": "sha512-GhTi4La+KPsmPynXxywZoGexcEjvIRjVOLWTZfWNs0JIgGBHpPTB49jqorVTjgw7w6+DA90UvRJIjqc4KJFUmA==",
"dev": true,
"dependencies": {
"@balancer-labs/sor": "^4.1.1-beta.16",
@@ -34329,9 +34329,9 @@
}
},
"@symmetric-v3/sdk": {
- "version": "1.2.10-beta.1",
- "resolved": "https://registry.npmjs.org/@symmetric-v3/sdk/-/sdk-1.2.10-beta.1.tgz",
- "integrity": "sha512-NT9EerA0jH6UlxvHMefFap23iQaxQEKxmg6KqjrzL0cFa8vYfX8Xby6PEfhh4cV/pklJejoZ3HUhgnBYdDKZlg==",
+ "version": "1.2.11-beta.1",
+ "resolved": "https://registry.npmjs.org/@symmetric-v3/sdk/-/sdk-1.2.11-beta.1.tgz",
+ "integrity": "sha512-GhTi4La+KPsmPynXxywZoGexcEjvIRjVOLWTZfWNs0JIgGBHpPTB49jqorVTjgw7w6+DA90UvRJIjqc4KJFUmA==",
"dev": true,
"requires": {
"@balancer-labs/sor": "^4.1.1-beta.16",
diff --git a/package.json b/package.json
index 5a35cd0e0..9f5597cea 100644
--- a/package.json
+++ b/package.json
@@ -74,7 +74,7 @@
"@popperjs/core": "^2.9.2",
"@sentry/browser": "^7.17.4",
"@sentry/tracing": "^7.17.4",
- "@symmetric-v3/sdk": "^1.2.10-beta.1",
+ "@symmetric-v3/sdk": "^1.2.11-beta.1",
"@tanstack/vue-query": "^4.22.0",
"@testing-library/jest-dom": "^5.16.1",
"@testing-library/vue": "^7.0.0",
diff --git a/src/components/forms/pool_actions/AddLiquidityForm/AddLiquidityForm.vue b/src/components/forms/pool_actions/AddLiquidityForm/AddLiquidityForm.vue
index fee0b52ce..aad84249d 100644
--- a/src/components/forms/pool_actions/AddLiquidityForm/AddLiquidityForm.vue
+++ b/src/components/forms/pool_actions/AddLiquidityForm/AddLiquidityForm.vue
@@ -86,11 +86,15 @@ const excludedTokens = computed((): string[] => {
});
const joinTokensWithBalance = computed(() =>
- poolJoinTokens.value.filter(
- address =>
- includesAddress(tokensWithBalance.value, address) ||
- isSameAddress(address, wrappedNativeAsset.value.address)
- )
+ poolJoinTokens.value.filter(address => {
+ console.log('address', address);
+ console.log('tokensWithBalance.value', tokensWithBalance.value);
+ address
+ ? includesAddress(tokensWithBalance.value, address)
+ : false || wrappedNativeAsset.value.address
+ ? isSameAddress(address, wrappedNativeAsset.value.address)
+ : false;
+ })
);
const joinTokensWithoutBalance = computed(() =>
diff --git a/src/lib/config/celo/tokens.ts b/src/lib/config/celo/tokens.ts
index 3b3702540..d7a26bc7a 100644
--- a/src/lib/config/celo/tokens.ts
+++ b/src/lib/config/celo/tokens.ts
@@ -6,12 +6,12 @@ const tokens: TokenConstants = {
},
InitialSwapTokens: {
input: '0x471EcE3750Da237f93B8E339c536989b8978a438',
- output: '0xb19382073c7A0aDdbb56Ac6AF1808Fa49e377B75',
+ output: '0x765DE816845861e75A25fCA122bb6898B8B1282a',
},
Addresses: {
- nativeAsset: '0x471EcE3750Da237f93B8E339c536989b8978a438',
- wNativeAsset: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE',
- WETH: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE',
+ nativeAsset: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE',
+ wNativeAsset: '',
+ WETH: '',
BAL: '0x8427bD503dd3169cCC9aFF7326c15258Bc305478',
bbaUSD: '',
bbaUSDv2: '',
diff --git a/src/lib/utils/index.ts b/src/lib/utils/index.ts
index ca29f1bdf..ecc0c3d05 100644
--- a/src/lib/utils/index.ts
+++ b/src/lib/utils/index.ts
@@ -144,7 +144,8 @@ export function isSameAddress(address1: string, address2: string): boolean {
}
export function includesAddress(addresses: string[], address: string): boolean {
- if (!address) return false;
+ if (!address || !addresses) return false;
+ console.log('addresses', addresses, 'address', address);
addresses = addresses.map(a => (a ? getAddress(a) : ''));
return addresses.includes(getAddress(address));
}
diff --git a/src/providers/tokens.provider.ts b/src/providers/tokens.provider.ts
index 2db9d3982..7e7d26a1a 100644
--- a/src/providers/tokens.provider.ts
+++ b/src/providers/tokens.provider.ts
@@ -43,6 +43,7 @@ import useWeb3 from '@/services/web3/useWeb3';
import { tokenListService } from '@/services/token-list/token-list.service';
import { AmountToApprove } from '@/composables/approvals/useTokenApprovalActions';
import BigNumber from 'bignumber.js';
+// import { Token } from '@symmetric-v3/sdk';
const { uris: tokenListUris } = tokenListService;
@@ -454,6 +455,7 @@ export const tokensProvider = (
* Get single token from state
*/
function getToken(address: string): TokenInfo {
+ if (!address) return { address: '' } as TokenInfo;
address = getAddressFromPoolId(address); // In case pool ID has been passed
return selectByAddressFast(tokens.value, getAddress(address)) as TokenInfo;
}
@@ -498,6 +500,9 @@ export const tokensProvider = (
* Returns true if the token is the native asset or wrapped native asset
*/
function isWethOrEth(tokenAddress: string): boolean {
+ console.log(wrappedNativeAsset.value);
+ if (!nativeAsset || !nativeAsset.address || !wrappedNativeAsset.value)
+ return false;
return (
isSameAddress(tokenAddress, nativeAsset.address) ||
isSameAddress(tokenAddress, wrappedNativeAsset.value.address)
From e7ab6c4e31d55cfc50a8a2ce51187bfc86a9ecba Mon Sep 17 00:00:00 2001
From: stephen <991266+stxphxn@users.noreply.github.com>
Date: Wed, 13 Mar 2024 16:32:34 +0700
Subject: [PATCH 04/13] Fix celo joins
---
package-lock.json | 14 +++++++-------
package.json | 2 +-
.../AddLiquidityForm/AddLiquidityForm.vue | 6 +++---
.../navs/AppNav/AppSidebar/SidebarContent.vue | 7 ++++---
src/composables/useVeBAL.ts | 6 ++++--
src/lib/config/celo/tokens.ts | 2 +-
src/lib/config/index.ts | 4 ++--
src/lib/utils/index.ts | 1 -
8 files changed, 22 insertions(+), 20 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 2bbaa86ad..528e8ed43 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -42,7 +42,7 @@
"@popperjs/core": "^2.9.2",
"@sentry/browser": "^7.17.4",
"@sentry/tracing": "^7.17.4",
- "@symmetric-v3/sdk": "^1.2.11-beta.1",
+ "@symmetric-v3/sdk": "^1.2.12-beta.1",
"@tanstack/vue-query": "^4.22.0",
"@testing-library/jest-dom": "^5.16.1",
"@testing-library/vue": "^7.0.0",
@@ -6833,9 +6833,9 @@
}
},
"node_modules/@symmetric-v3/sdk": {
- "version": "1.2.11-beta.1",
- "resolved": "https://registry.npmjs.org/@symmetric-v3/sdk/-/sdk-1.2.11-beta.1.tgz",
- "integrity": "sha512-GhTi4La+KPsmPynXxywZoGexcEjvIRjVOLWTZfWNs0JIgGBHpPTB49jqorVTjgw7w6+DA90UvRJIjqc4KJFUmA==",
+ "version": "1.2.12-beta.1",
+ "resolved": "https://registry.npmjs.org/@symmetric-v3/sdk/-/sdk-1.2.12-beta.1.tgz",
+ "integrity": "sha512-+juxKXm5nk/P67zFwbcKfYzXMYFNnriP3NbxSZZ0MT0OIeUQeW0FpO/LR5fVQJwtuhAPjP6L6BenOVP4JnNJ5Q==",
"dev": true,
"dependencies": {
"@balancer-labs/sor": "^4.1.1-beta.16",
@@ -34329,9 +34329,9 @@
}
},
"@symmetric-v3/sdk": {
- "version": "1.2.11-beta.1",
- "resolved": "https://registry.npmjs.org/@symmetric-v3/sdk/-/sdk-1.2.11-beta.1.tgz",
- "integrity": "sha512-GhTi4La+KPsmPynXxywZoGexcEjvIRjVOLWTZfWNs0JIgGBHpPTB49jqorVTjgw7w6+DA90UvRJIjqc4KJFUmA==",
+ "version": "1.2.12-beta.1",
+ "resolved": "https://registry.npmjs.org/@symmetric-v3/sdk/-/sdk-1.2.12-beta.1.tgz",
+ "integrity": "sha512-+juxKXm5nk/P67zFwbcKfYzXMYFNnriP3NbxSZZ0MT0OIeUQeW0FpO/LR5fVQJwtuhAPjP6L6BenOVP4JnNJ5Q==",
"dev": true,
"requires": {
"@balancer-labs/sor": "^4.1.1-beta.16",
diff --git a/package.json b/package.json
index 9f5597cea..73f971588 100644
--- a/package.json
+++ b/package.json
@@ -74,7 +74,7 @@
"@popperjs/core": "^2.9.2",
"@sentry/browser": "^7.17.4",
"@sentry/tracing": "^7.17.4",
- "@symmetric-v3/sdk": "^1.2.11-beta.1",
+ "@symmetric-v3/sdk": "^1.2.12-beta.1",
"@tanstack/vue-query": "^4.22.0",
"@testing-library/jest-dom": "^5.16.1",
"@testing-library/vue": "^7.0.0",
diff --git a/src/components/forms/pool_actions/AddLiquidityForm/AddLiquidityForm.vue b/src/components/forms/pool_actions/AddLiquidityForm/AddLiquidityForm.vue
index aad84249d..92d2f154c 100644
--- a/src/components/forms/pool_actions/AddLiquidityForm/AddLiquidityForm.vue
+++ b/src/components/forms/pool_actions/AddLiquidityForm/AddLiquidityForm.vue
@@ -87,9 +87,7 @@ const excludedTokens = computed((): string[] => {
const joinTokensWithBalance = computed(() =>
poolJoinTokens.value.filter(address => {
- console.log('address', address);
- console.log('tokensWithBalance.value', tokensWithBalance.value);
- address
+ return address
? includesAddress(tokensWithBalance.value, address)
: false || wrappedNativeAsset.value.address
? isSameAddress(address, wrappedNativeAsset.value.address)
@@ -97,6 +95,8 @@ const joinTokensWithBalance = computed(() =>
})
);
+console.log('joinTokensWithBalance', joinTokensWithBalance.value);
+
const joinTokensWithoutBalance = computed(() =>
poolJoinTokens.value.filter(
address => !includesAddress(tokensWithBalance.value, address)
diff --git a/src/components/navs/AppNav/AppSidebar/SidebarContent.vue b/src/components/navs/AppNav/AppSidebar/SidebarContent.vue
index 9220aa456..5e83c7aec 100644
--- a/src/components/navs/AppNav/AppSidebar/SidebarContent.vue
+++ b/src/components/navs/AppNav/AppSidebar/SidebarContent.vue
@@ -38,14 +38,15 @@ const router = useRouter();
*/
const blockIcon = ref();
+console.log('isVeBalSupported', isVeBalSupported);
const navLinks = [
- { label: t('pool'), path: '/', goal: Goals.ClickNavPools },
+ { label: t('pool'), path: `/${networkSlug}`, goal: Goals.ClickNavPools },
{ label: t('swap'), path: `/${networkSlug}/swap`, goal: Goals.ClickNavSwap },
{
label: t('claim'),
path: `/${networkSlug}/claim`,
goal: Goals.ClickNavClaim,
- hide: !isVeBalSupported,
+ hide: !isVeBalSupported.value,
},
{
label: t('portfolio'),
@@ -56,7 +57,7 @@ const navLinks = [
label: 'vTSYMM',
path: `/${networkSlug}/vtsymm`,
goal: Goals.ClickNavVebal,
- hide: !isVeBalSupported,
+ hide: !isVeBalSupported.value,
},
// {
// label: 'Airdrop',
diff --git a/src/composables/useVeBAL.ts b/src/composables/useVeBAL.ts
index 589ab856a..23b6654c0 100644
--- a/src/composables/useVeBAL.ts
+++ b/src/composables/useVeBAL.ts
@@ -18,8 +18,10 @@ const showRedirectModal = ref(false);
/**
* COMPUTED
*/
-export const isVeBalSupported = computed(
- () => configService.network.addresses.veBAL !== ''
+export const isVeBalSupported = computed(() =>
+ configService.network.addresses.veBAL
+ ? configService.network.addresses.veBAL !== ''
+ : false
);
export const isGaugesSupported = computed(
diff --git a/src/lib/config/celo/tokens.ts b/src/lib/config/celo/tokens.ts
index d7a26bc7a..cbc864409 100644
--- a/src/lib/config/celo/tokens.ts
+++ b/src/lib/config/celo/tokens.ts
@@ -12,7 +12,7 @@ const tokens: TokenConstants = {
nativeAsset: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE',
wNativeAsset: '',
WETH: '',
- BAL: '0x8427bD503dd3169cCC9aFF7326c15258Bc305478',
+ BAL: '0x8427bd503dd3169ccc9aff7326c15258bc305478',
bbaUSD: '',
bbaUSDv2: '',
rETH: '',
diff --git a/src/lib/config/index.ts b/src/lib/config/index.ts
index 1c50342e8..cb2b44e84 100644
--- a/src/lib/config/index.ts
+++ b/src/lib/config/index.ts
@@ -10,12 +10,12 @@ import gnosisChain from './gnosis-chain';
// import polygon from './polygon';
// import sepolia from './sepolia';
// import zkevm from './zkevm';
-// import telos from './telos';
+import telos from './telos';
// import telosTestnet from './telos-testnet';
import celo from './celo';
const config: Record = {
- // [Network.TELOS]: telos,
+ [Network.TELOS]: telos,
// [Network.TELOSTESTNET]: telosTestnet,
[Network.CELO]: celo,
// [Network.MAINNET]: mainnet,
diff --git a/src/lib/utils/index.ts b/src/lib/utils/index.ts
index ecc0c3d05..a75264033 100644
--- a/src/lib/utils/index.ts
+++ b/src/lib/utils/index.ts
@@ -145,7 +145,6 @@ export function isSameAddress(address1: string, address2: string): boolean {
export function includesAddress(addresses: string[], address: string): boolean {
if (!address || !addresses) return false;
- console.log('addresses', addresses, 'address', address);
addresses = addresses.map(a => (a ? getAddress(a) : ''));
return addresses.includes(getAddress(address));
}
From b134ef0bd2702009b67e3dde46fba0533a24ffd3 Mon Sep 17 00:00:00 2001
From: stephen <991266+stxphxn@users.noreply.github.com>
Date: Wed, 27 Mar 2024 22:56:50 +0700
Subject: [PATCH 05/13] Update rewards
---
src/lib/config/telos/rewards.ts | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/src/lib/config/telos/rewards.ts b/src/lib/config/telos/rewards.ts
index d35348f3c..5d44138ee 100644
--- a/src/lib/config/telos/rewards.ts
+++ b/src/lib/config/telos/rewards.ts
@@ -813,4 +813,33 @@ export const rewards = {
decimals: 18,
},
},
+ 1711584000: {
+ '0x2d714951f7165a51e8bd61f92d8a979ab0ed4b59000200000000000000000006': {
+ symbol: 'WTLOS-USDT',
+ token: '0xD102cE6A4dB07D247fcc28F366A623Df0938CA9E',
+ tokenSymbol: 'WTLOS',
+ gauge: '0xa9d436ab58989354a5c3705f24a5130779055e47',
+ rate: BigInt('500000000000000000000') / BigInt('604800'),
+ period_finish: 0,
+ decimals: 18,
+ },
+ '0x058d4893efa235d86cceed5a7eef0809b76c8c66000000000000000000000004': {
+ symbol: 'USDC-USDT',
+ token: '0xD102cE6A4dB07D247fcc28F366A623Df0938CA9E',
+ tokenSymbol: 'WTLOS',
+ gauge: '0xe4c412962fab7f2d406c43a8da95c68f9d60f24e',
+ rate: BigInt('500000000000000000000') / BigInt('604800'),
+ period_finish: 0,
+ decimals: 18,
+ },
+ '0x9a77bd2edbbb68173275cda967b76e9213949ace000000000000000000000008': {
+ symbol: 'STLOS-WTLOS',
+ token: '0xD102cE6A4dB07D247fcc28F366A623Df0938CA9E',
+ tokenSymbol: 'WTLOS',
+ gauge: '0xec678e92afe25bc5ba4bc2e1ff386c775270e49e',
+ rate: BigInt('2000000000000000000000') / BigInt('604800'),
+ period_finish: 0,
+ decimals: 18,
+ },
+ },
};
From f3d4d17184b04a69f3262ecc03e097a548ffe487 Mon Sep 17 00:00:00 2001
From: stephen <991266+stxphxn@users.noreply.github.com>
Date: Thu, 28 Mar 2024 23:33:42 +0700
Subject: [PATCH 06/13] Add Meter config
---
package-lock.json | 28 ++++++++
src/assets/data/contracts/meter.json | 12 ++++
src/lib/config/index.ts | 2 +
src/lib/config/meter/contracts.ts | 30 ++++++++
src/lib/config/meter/index.ts | 69 ++++++++++++++++++
src/lib/config/meter/keys.ts | 5 ++
src/lib/config/meter/pools.ts | 64 +++++++++++++++++
src/lib/config/meter/rateProviders.ts | 9 +++
src/lib/config/meter/tokenlists.ts | 14 ++++
src/lib/config/meter/tokens.ts | 33 +++++++++
src/lib/config/types.ts | 1 +
src/lib/scripts/addresses-meter.json | 72 +++++++++++++++++++
...dresses-temp.json => addresses-telos.json} | 0
.../scripts/contract-addresses.generator.ts | 16 ++++-
14 files changed, 353 insertions(+), 2 deletions(-)
create mode 100644 src/assets/data/contracts/meter.json
create mode 100644 src/lib/config/meter/contracts.ts
create mode 100644 src/lib/config/meter/index.ts
create mode 100644 src/lib/config/meter/keys.ts
create mode 100644 src/lib/config/meter/pools.ts
create mode 100644 src/lib/config/meter/rateProviders.ts
create mode 100644 src/lib/config/meter/tokenlists.ts
create mode 100644 src/lib/config/meter/tokens.ts
create mode 100644 src/lib/scripts/addresses-meter.json
rename src/lib/scripts/{addresses-temp.json => addresses-telos.json} (100%)
diff --git a/package-lock.json b/package-lock.json
index b06dd49a7..0fb0c020b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -73,6 +73,7 @@
"clsx": "^2.0.0",
"color": "^4.2.3",
"color.js": "^1.2.0",
+ "cross-env": "^7.0.3",
"date-fns": "^2.21.1",
"debounce-promise": "^3.1.2",
"echarts": "^5.3.2",
@@ -11700,6 +11701,24 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/cross-env": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz",
+ "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==",
+ "dev": true,
+ "dependencies": {
+ "cross-spawn": "^7.0.1"
+ },
+ "bin": {
+ "cross-env": "src/bin/cross-env.js",
+ "cross-env-shell": "src/bin/cross-env-shell.js"
+ },
+ "engines": {
+ "node": ">=10.14",
+ "npm": ">=6",
+ "yarn": ">=1"
+ }
+ },
"node_modules/cross-fetch": {
"version": "3.1.5",
"dev": true,
@@ -38029,6 +38048,15 @@
"version": "1.1.1",
"dev": true
},
+ "cross-env": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz",
+ "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^7.0.1"
+ }
+ },
"cross-fetch": {
"version": "3.1.5",
"dev": true,
diff --git a/src/assets/data/contracts/meter.json b/src/assets/data/contracts/meter.json
new file mode 100644
index 000000000..71e6b81d9
--- /dev/null
+++ b/src/assets/data/contracts/meter.json
@@ -0,0 +1,12 @@
+{
+ "Authorizer": "0xA99e6dA471b63D1F23509A2141f9c3a76EF1f8ec",
+ "BalancerHelpers": "0xcA1e43769c7627889F465cC56C33D6673650364e",
+ "ComposableStablePoolFactory": "0x7aa0DBFaCa97734F4E4Ae5DF0E3f2f957D76018F",
+ "MockComposableStablePool": "0x4f2E1EBaa28e1053234d837e032536Dc39EA15D5",
+ "MockWeightedPool": "0x2659c88DDB5B03224E10404258F3F2d2F1c85C60",
+ "ProtocolFeePercentagesProvider": "0x4EEA4e1bA940BD93A98A674946905B36831d01D5",
+ "ProtocolFeesCollector": "0xb6bbC092FE2cEAbe696642382713e976d3db3AF1",
+ "SymmToken": "0x6ab5792b887Eb3F63A8915240F926e829982d3F5",
+ "Vault": "0x913f21E596790aFC6AA45229E9ff8b7d0A473D5A",
+ "WeightedPoolFactory": "0xbd5A48ED2c877033EF379e342eC9c6fe16dC5710"
+}
diff --git a/src/lib/config/index.ts b/src/lib/config/index.ts
index 3814c2b0c..dfe5688d9 100644
--- a/src/lib/config/index.ts
+++ b/src/lib/config/index.ts
@@ -11,11 +11,13 @@ import { Config, Network } from './types';
// import sepolia from './sepolia';
// import zkevm from './zkevm';
import telos from './telos';
+import meter from './meter';
import telosTestnet from './telos-testnet';
// import celo from './celo';
const config: Record = {
[Network.TELOS]: telos,
+ [Network.METER]: meter,
[Network.TELOSTESTNET]: telosTestnet,
// [Network.CELO]: celo,
// [Network.MAINNET]: mainnet,
diff --git a/src/lib/config/meter/contracts.ts b/src/lib/config/meter/contracts.ts
new file mode 100644
index 000000000..0dd393c1d
--- /dev/null
+++ b/src/lib/config/meter/contracts.ts
@@ -0,0 +1,30 @@
+import { Contracts } from '../types';
+import * as meter from '@/assets/data/contracts/meter.json';
+
+const contracts: Contracts = {
+ merkleRedeem: '',
+ merkleOrchard: '',
+ merkleOrchardV2: '',
+ multicall: '0xca11bde05977b3631167028862be2a173976ca11',
+ authorizer: meter.Authorizer,
+ vault: meter.Vault,
+ weightedPoolFactory: meter.WeightedPoolFactory,
+ stablePoolFactory: meter.ComposableStablePoolFactory,
+ lidoRelayer: '',
+ balancerHelpers: meter.BalancerHelpers,
+ balancerQueries: '',
+ batchRelayer: '',
+ veBAL: '',
+ gaugeController: '',
+ gaugeFactory: '',
+ balancerMinter: '',
+ tokenAdmin: '',
+ veDelegationProxy: '',
+ veBALHelpers: '',
+ feeDistributor: '',
+ feeDistributorDeprecated: '',
+ faucet: '',
+ omniVotingEscrow: '',
+};
+
+export default contracts;
diff --git a/src/lib/config/meter/index.ts b/src/lib/config/meter/index.ts
new file mode 100644
index 000000000..bbace7bce
--- /dev/null
+++ b/src/lib/config/meter/index.ts
@@ -0,0 +1,69 @@
+import { Config } from '../types';
+import contracts from './contracts';
+import keys from './keys';
+import pools from './pools';
+import tokenlists from './tokenlists';
+import tokens from './tokens';
+import rateProviders from './rateProviders';
+
+const config: Config = {
+ key: '82',
+ chainId: 82,
+ chainName: 'Meter',
+ name: 'Meter',
+ shortName: 'meter',
+ monorepoName: 'meter',
+ slug: 'meter',
+ network: 'meter',
+ trustWalletNetwork: 'meter',
+ unknown: false,
+ visibleInUI: true,
+ testNetwork: false,
+ rpc: 'https://rpc.meter.io',
+ ws: ``,
+ explorer: 'https://explorer.meter.io/',
+ explorerName: 'Meter Explorer',
+ subgraph: 'http://graph.meter.io:8000/subgraphs/name/symmetric-meter',
+ balancerApi: '',
+ poolsUrlV2:
+ 'https://storageapi.fleek.co/johngrantuk-team-bucket/poolsV2.json',
+ subgraphs: {
+ main: ['http://graph.meter.io:8000/subgraphs/name/symmetric-meter'],
+ aave: '',
+ gauge: '',
+ blocks: '',
+ },
+ bridgeUrl: 'https://passport.meter.io/',
+ supportsEIP1559: false,
+ supportsElementPools: false,
+ blockTime: 1.5,
+ nativeAsset: {
+ name: 'MTR',
+ address: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE',
+ symbol: 'MTR',
+ decimals: 18,
+ deeplinkId: 'meter',
+ logoURI: 'tokens/mtr.png',
+ minTransactionBuffer: '0.1',
+ },
+ thirdParty: {
+ coingecko: {
+ nativeAssetId: 'meter',
+ platformId: 'ethereum',
+ },
+ },
+ addresses: {
+ ...contracts,
+ },
+ pools,
+ tokens,
+ keys,
+ gauges: {
+ type: 2,
+ weight: 100,
+ },
+ tokenlists,
+ rateProviders,
+};
+
+export default config;
diff --git a/src/lib/config/meter/keys.ts b/src/lib/config/meter/keys.ts
new file mode 100644
index 000000000..b9731e6b3
--- /dev/null
+++ b/src/lib/config/meter/keys.ts
@@ -0,0 +1,5 @@
+import { Keys } from '../types';
+
+const keys: Keys = {};
+
+export default keys;
diff --git a/src/lib/config/meter/pools.ts b/src/lib/config/meter/pools.ts
new file mode 100644
index 000000000..aee3161c0
--- /dev/null
+++ b/src/lib/config/meter/pools.ts
@@ -0,0 +1,64 @@
+import { Pools } from '@/types/pools';
+
+const pools: Pools = {
+ IdsMap: {
+ veBAL: '0xbf0fa44e5611c31429188b7dcc59ffe794d1980e000200000000000000000009',
+ },
+ Pagination: {
+ PerPage: 15,
+ PerPool: 15,
+ PerPoolInitial: 5,
+ },
+ BoostsEnabled: true,
+ DelegateOwner: '0xa29F1CA1957c164877F6A277C9791ACA3Ad4BD6D',
+ ZeroAddress: '0x0000000000000000000000000000000000000000',
+ DynamicFees: {
+ Gauntlet: [],
+ },
+ BlockList: [],
+ IncludedPoolTypes: [
+ 'Weighted',
+ 'Stable',
+ 'MetaStable',
+ 'LiquidityBootstrapping',
+ 'Investment',
+ 'StablePhantom',
+ 'ComposableStable',
+ 'Managed',
+ ],
+ Stable: {
+ AllowList: [],
+ },
+ Investment: {
+ AllowList: [],
+ },
+ Weighted: {
+ // Only effective after given timestamp here: usePool.ts#createdAfterTimestamp
+ // see useDisabledJoinPool.ts#nonAllowedWeightedPoolAfterTimestamp for logic.
+ AllowList: [],
+ },
+ Factories: {
+ '0xdd58d43a829067129b8c37f1924d31b1896ac0c6': 'weightedPool', // Weighted V5
+ '0x98add7dc34a382e188be709a72ca8fcdf7e548db': 'composableStablePool', // ComposableStable V5
+ '0x4ed870363d69f0f2c565332342efc68ca82b544b': 'managedPool',
+ '0x266b53bb135f2dbc324b5c5aa281e84f1c105b26': 'liquidityBootstrappingPool',
+ },
+ Stakable: {
+ VotingGaugePools: [],
+ AllowList: [],
+ },
+ Metadata: {
+ '0x6fbfcf88db1aada31f34215b2a1df7fafb4883e900000000000000000000000c': {
+ name: 'Symmetric Team Allocation',
+ hasIcon: false,
+ },
+ },
+ Deep: [],
+ Deprecated: {},
+ GaugeMigration: {},
+ BoostedApr: [],
+ DisabledJoins: [],
+ Issues: {},
+};
+
+export default pools;
diff --git a/src/lib/config/meter/rateProviders.ts b/src/lib/config/meter/rateProviders.ts
new file mode 100644
index 000000000..a2072658f
--- /dev/null
+++ b/src/lib/config/meter/rateProviders.ts
@@ -0,0 +1,9 @@
+import { RateProviders } from '../types';
+
+const rateProviders: RateProviders = {
+ '*': {
+ '0x0000000000000000000000000000000000000000': true,
+ },
+};
+
+export default rateProviders;
diff --git a/src/lib/config/meter/tokenlists.ts b/src/lib/config/meter/tokenlists.ts
new file mode 100644
index 000000000..27fd711e9
--- /dev/null
+++ b/src/lib/config/meter/tokenlists.ts
@@ -0,0 +1,14 @@
+import { TokenListURLMap } from '@/types/TokenList';
+
+const tokenlists: TokenListURLMap = {
+ Balancer: {
+ Allowlisted:
+ 'https://raw.githubusercontent.com/centfinance/tokenlists/main/generated/symmetric.tokenlist.json',
+ },
+ External: [
+ // 'https://raw.githubusercontent.com/telosnetwork/token-list/main/telosevm.tokenlist.json',
+ // 'https://raw.githubusercontent.com/swapsicledex/swapsicle-default-token-list/master/swapsicle.tokenlist.json',
+ ],
+};
+
+export default tokenlists;
diff --git a/src/lib/config/meter/tokens.ts b/src/lib/config/meter/tokens.ts
new file mode 100644
index 000000000..5dd357384
--- /dev/null
+++ b/src/lib/config/meter/tokens.ts
@@ -0,0 +1,33 @@
+import { TokenConstants } from '../types';
+
+const tokens: TokenConstants = {
+ Popular: {
+ Symbols: ['TSYMM', 'WTLOS', 'USDC', 'USDT', 'STLOS'],
+ },
+ InitialSwapTokens: {
+ input: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE',
+ output: '0x8d97cea50351fb4329d591682b148d43a0c3611b',
+ },
+ Addresses: {
+ nativeAsset: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE',
+ wNativeAsset: '0x160361ce13ec33c993b5cca8f62b6864943eb083',
+ WETH: '0x160361ce13ec33c993b5cca8f62b6864943eb083',
+ BAL: '0x6ab5792b887Eb3F63A8915240F926e829982d3F5',
+ rETH: '',
+ // wstETH: '0xB4B01216a5Bc8F1C8A33CD990A1239030E60C905',
+ },
+ PriceChainMap: {
+ /**
+ * Addresses must be lower case and map from goerli to mainnet, e.g
+ * [goerli address]: mainnet address
+ */
+ // USDT
+ '0x5fa41671c48e3c951afc30816947126ccc8c162e':
+ '0xdac17f958d2ee523a2206206994597c13d831ec7',
+ // USDC
+ '0xd86e243fc0007e6226b07c9a50c9d70d78299eb5':
+ '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
+ },
+};
+
+export default tokens;
diff --git a/src/lib/config/types.ts b/src/lib/config/types.ts
index 3f41f19ea..5d6125e06 100644
--- a/src/lib/config/types.ts
+++ b/src/lib/config/types.ts
@@ -85,6 +85,7 @@ export enum Network {
AVALANCHE = 43114,
SEPOLIA = 11155111,
TELOS = 40,
+ METER = 82,
TELOSTESTNET = 41,
CELO = 42220,
}
diff --git a/src/lib/scripts/addresses-meter.json b/src/lib/scripts/addresses-meter.json
new file mode 100644
index 000000000..2ed73d762
--- /dev/null
+++ b/src/lib/scripts/addresses-meter.json
@@ -0,0 +1,72 @@
+{
+ "20210418-authorizer": {
+ "contracts": [
+ {
+ "name": "Authorizer",
+ "address": "0xA99e6dA471b63D1F23509A2141f9c3a76EF1f8ec"
+ }
+ ],
+ "status": "ACTIVE"
+ },
+ "20210418-vault": {
+ "contracts": [
+ {
+ "name": "Vault",
+ "address": "0x913f21E596790aFC6AA45229E9ff8b7d0A473D5A"
+ },
+ {
+ "name": "ProtocolFeesCollector",
+ "address": "0xb6bbC092FE2cEAbe696642382713e976d3db3AF1"
+ },
+ {
+ "name": "BalancerHelpers",
+ "address": "0xcA1e43769c7627889F465cC56C33D6673650364e"
+ }
+ ],
+ "status": "ACTIVE"
+ },
+ "20220725-protocol-fee-percentages-provider": {
+ "contracts": [
+ {
+ "name": "ProtocolFeePercentagesProvider",
+ "address": "0x4EEA4e1bA940BD93A98A674946905B36831d01D5"
+ }
+ ],
+ "status": "ACTIVE"
+ },
+ "20230320-weighted-pool-v4": {
+ "contracts": [
+ {
+ "name": "WeightedPoolFactory",
+ "address": "0xbd5A48ED2c877033EF379e342eC9c6fe16dC5710"
+ },
+ {
+ "name": "MockWeightedPool",
+ "address": "0x2659c88DDB5B03224E10404258F3F2d2F1c85C60"
+ }
+ ],
+ "status": "ACTIVE"
+ },
+ "20230711-composable-stable-pool-v5": {
+ "contracts": [
+ {
+ "name": "ComposableStablePoolFactory",
+ "address": "0x7aa0DBFaCa97734F4E4Ae5DF0E3f2f957D76018F"
+ },
+ {
+ "name": "MockComposableStablePool",
+ "address": "0x4f2E1EBaa28e1053234d837e032536Dc39EA15D5"
+ }
+ ],
+ "status": "ACTIVE"
+ },
+ "20231122-tsymm-token": {
+ "contracts": [
+ {
+ "name": "SymmToken",
+ "address": "0x6ab5792b887Eb3F63A8915240F926e829982d3F5"
+ }
+ ],
+ "status": "ACTIVE"
+ }
+}
diff --git a/src/lib/scripts/addresses-temp.json b/src/lib/scripts/addresses-telos.json
similarity index 100%
rename from src/lib/scripts/addresses-temp.json
rename to src/lib/scripts/addresses-telos.json
diff --git a/src/lib/scripts/contract-addresses.generator.ts b/src/lib/scripts/contract-addresses.generator.ts
index 6baf09129..580c15b9f 100644
--- a/src/lib/scripts/contract-addresses.generator.ts
+++ b/src/lib/scripts/contract-addresses.generator.ts
@@ -46,10 +46,22 @@ type ContractMap = Record;
// }
// })();
+interface Contract {
+ name: string;
+ address: string;
+}
+
+interface AddressValue {
+ contracts: Contract[];
+}
+
+type Addresses = Record;
+
async function generate() {
- const network = 'telos';
+ const network = 'meter';
+
console.log(`Generating contract addresses for network ${network}...`);
- const addresses: any = require(`./addresses-temp.json`);
+ const addresses: Addresses = require(`./addresses-${network}.json`);
const contracts: ContractMap = {};
for (const [, value] of Object.entries(addresses)) {
From 1dc7a5d28547ffc223127be9f890495fc4a1905d Mon Sep 17 00:00:00 2001
From: stephen <991266+stxphxn@users.noreply.github.com>
Date: Tue, 2 Apr 2024 20:00:51 +0700
Subject: [PATCH 07/13] Add meter theme
---
package-lock.json | 42 ++-------
package.json | 2 +-
public/tokens/mtr.png | Bin 0 -> 5980 bytes
src/App.vue | 1 +
src/assets/css/tailwind.css | 101 +++++++++++++++++++++
src/assets/images/icons/networks/meter.svg | 5 +
src/lib/config/meter/index.ts | 2 +-
src/lib/config/meter/pools.ts | 23 ++---
8 files changed, 125 insertions(+), 51 deletions(-)
create mode 100644 public/tokens/mtr.png
create mode 100644 src/assets/images/icons/networks/meter.svg
diff --git a/package-lock.json b/package-lock.json
index 0fb0c020b..5b891258b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -42,7 +42,7 @@
"@popperjs/core": "^2.9.2",
"@sentry/browser": "^7.17.4",
"@sentry/tracing": "^7.17.4",
- "@symmetric-v3/sdk": "^1.2.13-beta.1",
+ "@symmetric-v3/sdk": "^1.2.14-beta.1",
"@tanstack/vue-query": "^4.22.0",
"@testing-library/jest-dom": "^5.16.1",
"@testing-library/vue": "^7.0.0",
@@ -73,7 +73,6 @@
"clsx": "^2.0.0",
"color": "^4.2.3",
"color.js": "^1.2.0",
- "cross-env": "^7.0.3",
"date-fns": "^2.21.1",
"debounce-promise": "^3.1.2",
"echarts": "^5.3.2",
@@ -6834,9 +6833,9 @@
}
},
"node_modules/@symmetric-v3/sdk": {
- "version": "1.2.13-beta.1",
- "resolved": "https://registry.npmjs.org/@symmetric-v3/sdk/-/sdk-1.2.13-beta.1.tgz",
- "integrity": "sha512-bP6997+d/ETOpPpd2R7eir0rv2X8vBGg0jORiVmxDMIAavrwBeFh3FyeT11My09hIdk5bv9tUolme7PUB54yVg==",
+ "version": "1.2.14-beta.1",
+ "resolved": "https://registry.npmjs.org/@symmetric-v3/sdk/-/sdk-1.2.14-beta.1.tgz",
+ "integrity": "sha512-p1vd2ZRLVO5K+4KtRqjwtNcSYpqMYwx/JeZd+/kZ31PKfpm/b62td8Mqi+d052YpQo7vSQDFMdPmrVgzC6u+wg==",
"dev": true,
"dependencies": {
"@balancer-labs/sor": "^4.1.1-beta.16",
@@ -11701,24 +11700,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/cross-env": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz",
- "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==",
- "dev": true,
- "dependencies": {
- "cross-spawn": "^7.0.1"
- },
- "bin": {
- "cross-env": "src/bin/cross-env.js",
- "cross-env-shell": "src/bin/cross-env-shell.js"
- },
- "engines": {
- "node": ">=10.14",
- "npm": ">=6",
- "yarn": ">=1"
- }
- },
"node_modules/cross-fetch": {
"version": "3.1.5",
"dev": true,
@@ -34348,9 +34329,9 @@
}
},
"@symmetric-v3/sdk": {
- "version": "1.2.13-beta.1",
- "resolved": "https://registry.npmjs.org/@symmetric-v3/sdk/-/sdk-1.2.13-beta.1.tgz",
- "integrity": "sha512-bP6997+d/ETOpPpd2R7eir0rv2X8vBGg0jORiVmxDMIAavrwBeFh3FyeT11My09hIdk5bv9tUolme7PUB54yVg==",
+ "version": "1.2.14-beta.1",
+ "resolved": "https://registry.npmjs.org/@symmetric-v3/sdk/-/sdk-1.2.14-beta.1.tgz",
+ "integrity": "sha512-p1vd2ZRLVO5K+4KtRqjwtNcSYpqMYwx/JeZd+/kZ31PKfpm/b62td8Mqi+d052YpQo7vSQDFMdPmrVgzC6u+wg==",
"dev": true,
"requires": {
"@balancer-labs/sor": "^4.1.1-beta.16",
@@ -38048,15 +38029,6 @@
"version": "1.1.1",
"dev": true
},
- "cross-env": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz",
- "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==",
- "dev": true,
- "requires": {
- "cross-spawn": "^7.0.1"
- }
- },
"cross-fetch": {
"version": "3.1.5",
"dev": true,
diff --git a/package.json b/package.json
index 891d0abd2..c94e0267b 100644
--- a/package.json
+++ b/package.json
@@ -74,7 +74,7 @@
"@popperjs/core": "^2.9.2",
"@sentry/browser": "^7.17.4",
"@sentry/tracing": "^7.17.4",
- "@symmetric-v3/sdk": "^1.2.13-beta.1",
+ "@symmetric-v3/sdk": "^1.2.14-beta.1",
"@tanstack/vue-query": "^4.22.0",
"@testing-library/jest-dom": "^5.16.1",
"@testing-library/vue": "^7.0.0",
diff --git a/public/tokens/mtr.png b/public/tokens/mtr.png
new file mode 100644
index 0000000000000000000000000000000000000000..06c08282071d11aee22ee72615a27767a322d578
GIT binary patch
literal 5980
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
literal 0
HcmV?d00001
diff --git a/src/App.vue b/src/App.vue
index 0e2afea44..dda6eb804 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -87,6 +87,7 @@ const themeMap = {
celo: 'celo',
sepolia: 'celo',
'gnosis-chain': 'gnosis-chain',
+ meter: 'meter',
};
// Function to update theme based on the route slug
const updateTheme = () => {
diff --git a/src/assets/css/tailwind.css b/src/assets/css/tailwind.css
index 35d9ce3e2..3af03016d 100644
--- a/src/assets/css/tailwind.css
+++ b/src/assets/css/tailwind.css
@@ -401,6 +401,107 @@ html[data-theme='gnosis-chain'] {
--color-orange-900: 120, 53, 15;
}
+html[data-theme='meter'] {
+ /* Gray */
+
+ /* Gray scale with a navy touch */
+ --color-gray-50: 242, 242, 245; /* Lightest, almost white with a hint of blue */
+ --color-gray-100: 230, 230, 240; /* Very light gray with a subtle blue undertone */
+ --color-gray-200: 215, 215, 230; /* Clear, light gray-blue */
+ --color-gray-300: 190, 190, 210; /* Brighter, leading up to the deeper shades */
+ --color-gray-400: 150, 150, 180; /* Transitioning more into the blue spectrum */
+ --color-gray-500: 110, 110, 150; /* Slightly desaturated blue */
+ --color-gray-600: 80, 80, 120; /* Deeper blue, maintaining a grayish vibe */
+ --color-gray-700: 50, 50, 90; /* Darker blue-gray, getting closer to navy */
+ --color-gray-800: 30, 30, 60; /* Deep navy, still a bit of lightness */
+ --color-gray-850: 20, 25, 53; /* Very dark navy, almost matching --color-gray-900 */
+ --color-gray-900: 10, 25, 47; /* New, very dark navy blue */
+
+ /* Primary */
+ --color-primary-50: 83, 85, 94;
+ --color-primary-100: 73, 75, 84;
+ --color-primary-200: 63, 65, 74;
+ --color-primary-300: 53, 55, 64;
+ --color-primary-400: 43, 45, 54;
+ --color-primary-500: 33, 35, 44;
+ --color-primary-600: 23, 25, 34;
+ --color-primary-700: 13, 15, 24;
+ --color-primary-800: 3, 5, 14;
+ --color-primary-900: 0, 0, 4;
+
+ /* Primary Dark */
+ --color-primary-dark-50: 106, 124, 255;
+ --color-primary-dark-100: 96, 114, 255;
+ --color-primary-dark-200: 86, 104, 255;
+ --color-primary-dark-300: 76, 94, 255;
+ --color-primary-dark-400: 66, 84, 255;
+ --color-primary-dark-500: 56, 74, 255;
+ --color-primary-dark-600: 46, 64, 245;
+ --color-primary-dark-700: 36, 54, 235;
+ --color-primary-dark-800: 26, 44, 225;
+ --color-primary-dark-900: 16, 34, 215;
+
+ /* Blue */
+ --color-blue-50: 250, 255, 255; /* Lightest, almost white with a hint of blue */
+ --color-blue-100: 235, 245, 255; /* Very light blue */
+ --color-blue-200: 215, 235, 255; /* Clear, light blue */
+ --color-blue-300: 185, 215, 255; /* Brighter, leading up to the vibrant 400 */
+ --color-blue-400: 51, 153, 255; /* New, much brighter base color */
+ --color-blue-500: 41, 143, 235; /* Slightly less bright for contrast */
+ --color-blue-600: 31, 133, 215; /* Maintaining a vibrant gradient */
+ --color-blue-700: 21, 123, 195; /* Darker yet still bright */
+ --color-blue-800: 11, 113, 175; /* Deeper blue, retaining brightness */
+ --color-blue-900: 1, 103, 155; /* Darkest in the series, still vivid */
+
+ /* Transition from Pink to Navy Blue */
+ --color-pink-50: 253, 242, 255; /* Lightest, almost white with a hint of pink */
+ --color-pink-100: 252, 231, 255; /* Very light pink */
+ --color-pink-200: 251, 207, 255; /* Clear, light pink */
+ --color-pink-300: 245, 178, 255; /* Transitioning towards blue */
+ --color-pink-400: 238, 150, 255; /* Deeper pink, edging into purple */
+ --color-pink-500: 231, 122, 220; /* Purple, as a bridge to darker blue */
+ --color-pink-600: 0, 31, 63; /* Navy Blue, the new base color */
+ --color-pink-700: 0, 28, 57; /* Slightly darker navy */
+ --color-pink-800: 0, 25, 51; /* Even darker, maintaining the gradient */
+ --color-pink-900: 0, 22, 45; /* Darkest in the series, deep navy */
+
+ /* Transition from Light Blue to Navy Blue */
+ --color-purple-50: 240, 245, 255; /* Lightest blue, almost white */
+ --color-purple-100: 230, 235, 255; /* Very light blue */
+ --color-purple-200: 210, 220, 255; /* Clear, light blue */
+ --color-purple-300: 180, 200, 255; /* Brighter, leading up to the vibrant mid-tones */
+ --color-purple-400: 150, 170, 255; /* Transition shade towards deeper blue */
+ --color-purple-500: 120, 140, 255; /* Adjusted to fit the new base color, still quite bright */
+ --color-purple-600: 0, 31, 63; /* Navy Blue, the new base color */
+ --color-purple-700: 0, 28, 57; /* Slightly darker navy */
+ --color-purple-800: 0, 25, 51; /* Darker, maintaining the gradient */
+ --color-purple-900: 0, 22, 45; /* Darkest in the series, deep navy */
+
+ /* Yellow */
+ --color-yellow-50: 255, 255, 240; /* Lightest, almost white with a hint of yellow */
+ --color-yellow-100: 255, 255, 230; /* Very light yellow */
+ --color-yellow-200: 255, 255, 210; /* Clear, light yellow */
+ --color-yellow-300: 255, 255, 190; /* Brighter, leading up to the vibrant 400 */
+ --color-yellow-400: 255, 255, 170; /* New, much brighter base color */
+ --color-yellow-500: 255, 250, 150; /* Adjusted to fit the new base color */
+ --color-yellow-600: 255, 245, 130; /* Brighter, maintaining the gradient */
+ --color-yellow-700: 255, 240, 110; /* Incrementally brighter */
+ --color-yellow-800: 255, 235, 90; /* Keeping the brightness up */
+ --color-yellow-900: 255, 230, 70; /* Brightest deep shade */
+
+ /* Orange */
+ --color-orange-50: 255, 251, 235;
+ --color-orange-100: 254, 243, 199;
+ --color-orange-200: 253, 230, 138;
+ --color-orange-300: 252, 211, 77;
+ --color-orange-400: 251, 191, 36;
+ --color-orange-500: 245, 158, 11;
+ --color-orange-600: 217, 119, 6;
+ --color-orange-700: 180, 83, 9;
+ --color-orange-800: 146, 64, 14;
+ --color-orange-900: 120, 53, 15;
+}
+
@layer utilities {
.text-primary {
@apply text-gray-900 dark:text-gray-100;
diff --git a/src/assets/images/icons/networks/meter.svg b/src/assets/images/icons/networks/meter.svg
new file mode 100644
index 000000000..a89464115
--- /dev/null
+++ b/src/assets/images/icons/networks/meter.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/lib/config/meter/index.ts b/src/lib/config/meter/index.ts
index bbace7bce..308e16b54 100644
--- a/src/lib/config/meter/index.ts
+++ b/src/lib/config/meter/index.ts
@@ -19,7 +19,7 @@ const config: Config = {
unknown: false,
visibleInUI: true,
testNetwork: false,
- rpc: 'https://rpc.meter.io',
+ rpc: 'https://meter.blockpi.network/v1/rpc/216bb10a3653b0a8131afee4f6cf1982945022b4',
ws: ``,
explorer: 'https://explorer.meter.io/',
explorerName: 'Meter Explorer',
diff --git a/src/lib/config/meter/pools.ts b/src/lib/config/meter/pools.ts
index aee3161c0..28250e93d 100644
--- a/src/lib/config/meter/pools.ts
+++ b/src/lib/config/meter/pools.ts
@@ -2,7 +2,7 @@ import { Pools } from '@/types/pools';
const pools: Pools = {
IdsMap: {
- veBAL: '0xbf0fa44e5611c31429188b7dcc59ffe794d1980e000200000000000000000009',
+ veBAL: '0x0000000000000000000000000000000000000000',
},
Pagination: {
PerPage: 15,
@@ -10,12 +10,12 @@ const pools: Pools = {
PerPoolInitial: 5,
},
BoostsEnabled: true,
- DelegateOwner: '0xa29F1CA1957c164877F6A277C9791ACA3Ad4BD6D',
+ DelegateOwner: '0x51db3Cc6431fe6297270360dE47345B0149E1F51',
ZeroAddress: '0x0000000000000000000000000000000000000000',
DynamicFees: {
Gauntlet: [],
},
- BlockList: [],
+ BlockList: [''],
IncludedPoolTypes: [
'Weighted',
'Stable',
@@ -27,7 +27,9 @@ const pools: Pools = {
'Managed',
],
Stable: {
- AllowList: [],
+ AllowList: [
+ '0x1ff97abe4c5a4b7ff90949b637e71626bef0dcee000000000000000000000002', //USDT-USDC-suUSD
+ ],
},
Investment: {
AllowList: [],
@@ -38,21 +40,14 @@ const pools: Pools = {
AllowList: [],
},
Factories: {
- '0xdd58d43a829067129b8c37f1924d31b1896ac0c6': 'weightedPool', // Weighted V5
- '0x98add7dc34a382e188be709a72ca8fcdf7e548db': 'composableStablePool', // ComposableStable V5
- '0x4ed870363d69f0f2c565332342efc68ca82b544b': 'managedPool',
- '0x266b53bb135f2dbc324b5c5aa281e84f1c105b26': 'liquidityBootstrappingPool',
+ '0xbd5A48ED2c877033EF379e342eC9c6fe16dC5710': 'weightedPool', // Weighted V5
+ '0x7aa0DBFaCa97734F4E4Ae5DF0E3f2f957D76018F': 'composableStablePool', // ComposableStable V5
},
Stakable: {
VotingGaugePools: [],
AllowList: [],
},
- Metadata: {
- '0x6fbfcf88db1aada31f34215b2a1df7fafb4883e900000000000000000000000c': {
- name: 'Symmetric Team Allocation',
- hasIcon: false,
- },
- },
+ Metadata: {},
Deep: [],
Deprecated: {},
GaugeMigration: {},
From 8f28f605cc4e88be76c5ad400412b12fbf047c7e Mon Sep 17 00:00:00 2001
From: stephen <991266+stxphxn@users.noreply.github.com>
Date: Wed, 3 Apr 2024 19:22:04 +0700
Subject: [PATCH 08/13] =?UTF-8?q?Add=20initial=20pools=20=E2=9C=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/lib/config/meter/pools.ts | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/lib/config/meter/pools.ts b/src/lib/config/meter/pools.ts
index 28250e93d..23c873e30 100644
--- a/src/lib/config/meter/pools.ts
+++ b/src/lib/config/meter/pools.ts
@@ -37,7 +37,9 @@ const pools: Pools = {
Weighted: {
// Only effective after given timestamp here: usePool.ts#createdAfterTimestamp
// see useDisabledJoinPool.ts#nonAllowedWeightedPoolAfterTimestamp for logic.
- AllowList: [],
+ AllowList: [
+ '0xd9fe77653c2b75cf3442c365a3f1f9c7ed1612c7000200000000000000000003', //MTRG/USDT-USDC-suUSD
+ ],
},
Factories: {
'0xbd5A48ED2c877033EF379e342eC9c6fe16dC5710': 'weightedPool', // Weighted V5
@@ -48,7 +50,9 @@ const pools: Pools = {
AllowList: [],
},
Metadata: {},
- Deep: [],
+ Deep: [
+ '0xd9fe77653c2b75cf3442c365a3f1f9c7ed1612c7000200000000000000000003', //MTRG/USDT-USDC-suUSD
+ ],
Deprecated: {},
GaugeMigration: {},
BoostedApr: [],
From 2e1677ccfea910ff46259fe22a96f92086a4f496 Mon Sep 17 00:00:00 2001
From: stephen <991266+stxphxn@users.noreply.github.com>
Date: Thu, 4 Apr 2024 01:52:47 +0700
Subject: [PATCH 09/13] update
---
src/lib/config/index.ts | 12 ++------
src/lib/config/telos/rewards.ts | 29 ++++++++++++++++++
.../pool/decorators/pool.decorator.ts | 30 ++++++++++---------
3 files changed, 47 insertions(+), 24 deletions(-)
diff --git a/src/lib/config/index.ts b/src/lib/config/index.ts
index cb2b44e84..3d5cd4fd8 100644
--- a/src/lib/config/index.ts
+++ b/src/lib/config/index.ts
@@ -13,21 +13,13 @@ import gnosisChain from './gnosis-chain';
import telos from './telos';
// import telosTestnet from './telos-testnet';
import celo from './celo';
+import meter from './meter';
const config: Record = {
[Network.TELOS]: telos,
- // [Network.TELOSTESTNET]: telosTestnet,
[Network.CELO]: celo,
- // [Network.MAINNET]: mainnet,
- // [Network.GOERLI]: goerli,
- // [Network.POLYGON]: polygon,
- // [Network.ARBITRUM]: arbitrum,
- // [Network.OPTIMISM]: optimism,
[Network.GNOSIS]: gnosisChain,
- // [Network.ZKEVM]: zkevm,
- // [Network.AVALANCHE]: avalanche,
- // [Network.SEPOLIA]: sepolia,
- // [Network.BASE]: base,
+ [Network.METER]: meter,
};
export default config;
diff --git a/src/lib/config/telos/rewards.ts b/src/lib/config/telos/rewards.ts
index 5d44138ee..1d6f8a75c 100644
--- a/src/lib/config/telos/rewards.ts
+++ b/src/lib/config/telos/rewards.ts
@@ -842,4 +842,33 @@ export const rewards = {
decimals: 18,
},
},
+ 1712188800: {
+ '0x2d714951f7165a51e8bd61f92d8a979ab0ed4b59000200000000000000000006': {
+ symbol: 'WTLOS-USDT',
+ token: '0xD102cE6A4dB07D247fcc28F366A623Df0938CA9E',
+ tokenSymbol: 'WTLOS',
+ gauge: '0xa9d436ab58989354a5c3705f24a5130779055e47',
+ rate: BigInt('500000000000000000000') / BigInt('604800'),
+ period_finish: 0,
+ decimals: 18,
+ },
+ '0x058d4893efa235d86cceed5a7eef0809b76c8c66000000000000000000000004': {
+ symbol: 'USDC-USDT',
+ token: '0xD102cE6A4dB07D247fcc28F366A623Df0938CA9E',
+ tokenSymbol: 'WTLOS',
+ gauge: '0xe4c412962fab7f2d406c43a8da95c68f9d60f24e',
+ rate: BigInt('500000000000000000000') / BigInt('604800'),
+ period_finish: 0,
+ decimals: 18,
+ },
+ '0x9a77bd2edbbb68173275cda967b76e9213949ace000000000000000000000008': {
+ symbol: 'STLOS-WTLOS',
+ token: '0xD102cE6A4dB07D247fcc28F366A623Df0938CA9E',
+ tokenSymbol: 'WTLOS',
+ gauge: '0xec678e92afe25bc5ba4bc2e1ff386c775270e49e',
+ rate: BigInt('2000000000000000000000') / BigInt('604800'),
+ period_finish: 0,
+ decimals: 18,
+ },
+ },
};
diff --git a/src/services/pool/decorators/pool.decorator.ts b/src/services/pool/decorators/pool.decorator.ts
index 08144b2d7..cca394b94 100644
--- a/src/services/pool/decorators/pool.decorator.ts
+++ b/src/services/pool/decorators/pool.decorator.ts
@@ -6,6 +6,7 @@ import { TokenInfoMap } from '@/types/TokenList';
import PoolService from '../pool.service';
import { PoolMulticaller } from './pool.multicaller';
import axios from 'axios';
+import { configService } from '@/services/config/config.service';
/**
* @summary Decorates a set of pools with additonal data.
@@ -21,26 +22,28 @@ export class PoolDecorator {
tokens: TokenInfoMap,
fullDecoration = true
): Promise {
- const rewardData: any = localStorage.getItem('REWARD_PRICE');
- if (rewardData) {
- const { timestamp } = JSON.parse(rewardData);
- if (isPriceOutdated(timestamp)) {
+ if (configService.network.chainId === 40) {
+ const rewardData: any = localStorage.getItem('REWARD_PRICE');
+ if (rewardData) {
+ const { timestamp } = JSON.parse(rewardData);
+ if (isPriceOutdated(timestamp)) {
+ setRewardPriceInLocalStorage()
+ .then(() => {
+ console.log('REWARD_PRICE has been updated in local storage');
+ })
+ .catch(error => {
+ console.error('Error:', error);
+ });
+ }
+ } else {
setRewardPriceInLocalStorage()
.then(() => {
- console.log('REWARD_PRICE has been updated in local storage');
+ console.log('REWARD_PRICE has been set in local storage');
})
.catch(error => {
console.error('Error:', error);
});
}
- } else {
- setRewardPriceInLocalStorage()
- .then(() => {
- console.log('REWARD_PRICE has been set in local storage');
- })
- .catch(error => {
- console.error('Error:', error);
- });
}
const processedPools = this.pools.map(pool => {
const poolService = new this.poolServiceClass(pool);
@@ -63,7 +66,6 @@ export class PoolDecorator {
// decoration of them if the pool came from the API.
if (fullDecoration) {
const poolSnapshot = poolSnapshots.find(p => p.id === pool.id);
- console.log(poolSnapshot);
poolService.setFeesSnapshot(poolSnapshot);
poolService.setVolumeSnapshot(poolSnapshot);
await poolService.setTotalLiquidity();
From e5fa50e9b5f828af13b68b248ef51f2fb318b7bb Mon Sep 17 00:00:00 2001
From: stephen <991266+stxphxn@users.noreply.github.com>
Date: Thu, 4 Apr 2024 19:56:17 +0700
Subject: [PATCH 10/13] Update logos
---
index.html | 2 +-
package-lock.json | 7 ++++--
package.json | 2 +-
public/{favicon.ico => celo-favicon.ico} | Bin
public/celo-favicon.png | Bin 0 -> 5575 bytes
public/gnosis-chain-favicon.png | Bin 0 -> 2096 bytes
public/images/logos/celo-logo.svg | 29 ++++++++++++++++++++++
public/images/logos/gnosis-chain-logo.svg | 6 +++++
public/images/logos/meter-logo.svg | 29 ++++++++++++++++++++++
public/images/logos/telos-logo.svg | 6 +++++
public/meter-favicon.png | Bin 0 -> 4783 bytes
public/telos-favicon.png | Bin 0 -> 1933 bytes
src/components/images/AppIcon.vue | 16 ++++++------
src/composables/useNetwork.ts | 3 ++-
src/composables/usePoolHelpers.ts | 5 ++--
src/lib/config/meter/tokens.ts | 5 ++--
src/pages/index.vue | 4 ++-
src/plugins/router/nav-guards.ts | 3 ++-
src/services/config/config.service.ts | 2 +-
19 files changed, 99 insertions(+), 20 deletions(-)
rename public/{favicon.ico => celo-favicon.ico} (100%)
create mode 100644 public/celo-favicon.png
create mode 100644 public/gnosis-chain-favicon.png
create mode 100644 public/images/logos/celo-logo.svg
create mode 100644 public/images/logos/gnosis-chain-logo.svg
create mode 100644 public/images/logos/meter-logo.svg
create mode 100644 public/images/logos/telos-logo.svg
create mode 100644 public/meter-favicon.png
create mode 100644 public/telos-favicon.png
diff --git a/index.html b/index.html
index 82fccda1b..d562affba 100644
--- a/index.html
+++ b/index.html
@@ -4,7 +4,7 @@
-
+
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
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/public/images/logos/gnosis-chain-logo.svg b/public/images/logos/gnosis-chain-logo.svg
new file mode 100644
index 000000000..39c2e3a38
--- /dev/null
+++ b/public/images/logos/gnosis-chain-logo.svg
@@ -0,0 +1,6 @@
+
diff --git a/public/images/logos/meter-logo.svg b/public/images/logos/meter-logo.svg
new file mode 100644
index 000000000..873bb1be5
--- /dev/null
+++ b/public/images/logos/meter-logo.svg
@@ -0,0 +1,29 @@
+
diff --git a/public/images/logos/telos-logo.svg b/public/images/logos/telos-logo.svg
new file mode 100644
index 000000000..d741ec968
--- /dev/null
+++ b/public/images/logos/telos-logo.svg
@@ -0,0 +1,6 @@
+
diff --git a/public/meter-favicon.png b/public/meter-favicon.png
new file mode 100644
index 0000000000000000000000000000000000000000..947912513e39e171a55238843106e7c5fc123f70
GIT binary patch
literal 4783
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
T%CLY@00000NkvXXu0mjfUciHm
literal 0
HcmV?d00001
diff --git a/src/components/images/AppIcon.vue b/src/components/images/AppIcon.vue
index 6a988f060..77b31ee61 100644
--- a/src/components/images/AppIcon.vue
+++ b/src/components/images/AppIcon.vue
@@ -2,6 +2,7 @@
import { computed } from 'vue';
import useDarkMode from '@/composables/useDarkMode';
+import useNetwork from '@/composables/useNetwork';
/**
* TYPES
@@ -22,6 +23,12 @@ const props = withDefaults(defineProps(), {
*/
const { darkMode } = useDarkMode();
+const { networkSlug } = useNetwork();
+
+const logo = computed(() => {
+ return `/images/logos/${networkSlug}-logo.svg`;
+});
+
// const slug = useNetwork().networkSlug;
/**
@@ -31,11 +38,6 @@ const useDarkLogo = computed(() => (props.forceDark ? true : darkMode.value));
-
-
+
+
diff --git a/src/composables/useNetwork.ts b/src/composables/useNetwork.ts
index cca2f13ce..d6c6cbd33 100644
--- a/src/composables/useNetwork.ts
+++ b/src/composables/useNetwork.ts
@@ -37,7 +37,8 @@ export const networkId = ref(NETWORK_ID);
export const isMainnet = computed(
() =>
- networkId.value === Network.CELO || networkId.value === Network.TELOSTESTNET
+ networkId.value === Network.TELOS ||
+ networkId.value === Network.TELOSTESTNET
);
export const isPolygon = computed(() => networkId.value === Network.POLYGON);
export const isZkevm = computed(() => networkId.value === Network.ZKEVM);
diff --git a/src/composables/usePoolHelpers.ts b/src/composables/usePoolHelpers.ts
index 2b88aaccb..8b152928a 100644
--- a/src/composables/usePoolHelpers.ts
+++ b/src/composables/usePoolHelpers.ts
@@ -32,7 +32,7 @@ import { cloneDeep, uniq, uniqWith } from 'lodash';
import {
appUrl,
getNetworkSlug,
- isMainnet,
+ // isMainnet,
isPoolBoostsEnabled,
} from './useNetwork';
import useNumbers, { FNumFormats, numF } from './useNumbers';
@@ -792,8 +792,7 @@ export function usePoolHelpers(pool: Ref | Ref) {
(): boolean => !!pool.value && isWrappedNativeAsset(pool.value)
);
const isMainnetWstETHPool = computed(
- (): boolean =>
- !!pool.value && includesWstEth(pool.value.tokensList) && isMainnet.value
+ (): boolean => !!pool.value && includesWstEth(pool.value.tokensList) // && isMainnet.value
);
const poolJoinTokens = computed((): string[] =>
diff --git a/src/lib/config/meter/tokens.ts b/src/lib/config/meter/tokens.ts
index 5dd357384..6a3e7893a 100644
--- a/src/lib/config/meter/tokens.ts
+++ b/src/lib/config/meter/tokens.ts
@@ -2,7 +2,7 @@ import { TokenConstants } from '../types';
const tokens: TokenConstants = {
Popular: {
- Symbols: ['TSYMM', 'WTLOS', 'USDC', 'USDT', 'STLOS'],
+ Symbols: ['WMTR', 'MTRG', 'USDC.eth', 'USDT.eth', 'mSYMM'],
},
InitialSwapTokens: {
input: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE',
@@ -14,7 +14,8 @@ const tokens: TokenConstants = {
WETH: '0x160361ce13ec33c993b5cca8f62b6864943eb083',
BAL: '0x6ab5792b887Eb3F63A8915240F926e829982d3F5',
rETH: '',
- // wstETH: '0xB4B01216a5Bc8F1C8A33CD990A1239030E60C905',
+ stETH: '0x215d603293357ca222be92a1bf75eec38def0aad',
+ wstETH: '0xe2de616fbd8cb9180b26fcfb1b761a232fe56717',
},
PriceChainMap: {
/**
diff --git a/src/pages/index.vue b/src/pages/index.vue
index 80e9af80b..fc98e08de 100644
--- a/src/pages/index.vue
+++ b/src/pages/index.vue
@@ -195,7 +195,9 @@ watch(poolTypeFilter, newPoolTypeFilter => {
});
onBeforeMount(async () => {
- await getTokenPrices();
+ if (networkSlug === 'telos') {
+ await getTokenPrices();
+ }
});
diff --git a/src/plugins/router/nav-guards.ts b/src/plugins/router/nav-guards.ts
index 0e633a751..a17d1f21f 100644
--- a/src/plugins/router/nav-guards.ts
+++ b/src/plugins/router/nav-guards.ts
@@ -1,4 +1,5 @@
import { ref } from 'vue';
+import { useFavicon } from '@vueuse/core';
import {
// getRedirectUrlFor,
handleNetworkSlug,
@@ -92,7 +93,7 @@ function applyNetworkPathRedirects(router: Router): Router {
const networkChangeCallback = () => {
hardRedirectTo(`/#${to.fullPath}`);
};
-
+ useFavicon(`/${networkSlugFromUrl}-favicon.png`);
handleNetworkSlug(
networkSlugFromUrl,
noNetworkChangeCallback,
diff --git a/src/services/config/config.service.ts b/src/services/config/config.service.ts
index 226ee2aad..5ad68947f 100644
--- a/src/services/config/config.service.ts
+++ b/src/services/config/config.service.ts
@@ -21,7 +21,7 @@ export default class ConfigService {
public get env(): Env {
return {
APP_ENV: import.meta.env.VITE_ENV || 'development',
- APP_DOMAIN: import.meta.env.VITE_DOMAIN || 'telos.symm.fi',
+ APP_DOMAIN: import.meta.env.VITE_DOMAIN || 'app.symm.fi',
APP_HOST: import.meta.env.VITE_HOST || 'symm.fi',
API_URL:
import.meta.env.VITE_API_URL || 'https://api-v3.balancer.fi/graphql',
From 9657112c55972e7497cb422d18df0abde6becb4b Mon Sep 17 00:00:00 2001
From: stephen <991266+stxphxn@users.noreply.github.com>
Date: Sat, 6 Apr 2024 14:16:53 +0700
Subject: [PATCH 11/13] Add subgraph
---
src/lib/config/meter/index.ts | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/lib/config/meter/index.ts b/src/lib/config/meter/index.ts
index 308e16b54..94757d470 100644
--- a/src/lib/config/meter/index.ts
+++ b/src/lib/config/meter/index.ts
@@ -23,12 +23,15 @@ const config: Config = {
ws: ``,
explorer: 'https://explorer.meter.io/',
explorerName: 'Meter Explorer',
- subgraph: 'http://graph.meter.io:8000/subgraphs/name/symmetric-meter',
+ subgraph:
+ 'https://graph-meter.voltswap.finance/subgraphs/name/symmetric-meter',
balancerApi: '',
poolsUrlV2:
'https://storageapi.fleek.co/johngrantuk-team-bucket/poolsV2.json',
subgraphs: {
- main: ['http://graph.meter.io:8000/subgraphs/name/symmetric-meter'],
+ main: [
+ 'https://graph-meter.voltswap.finance/subgraphs/name/symmetric-meter',
+ ],
aave: '',
gauge: '',
blocks: '',
From 6bec2dd14ae8fa49b5ffa846f4856ac485c4425b Mon Sep 17 00:00:00 2001
From: stephen <991266+stxphxn@users.noreply.github.com>
Date: Mon, 8 Apr 2024 19:27:10 +0700
Subject: [PATCH 12/13] Add Relayer
---
src/assets/data/contracts/meter.json | 13 ++++-
src/lib/config/meter/contracts.ts | 4 +-
src/lib/config/meter/pools.ts | 4 +-
src/lib/scripts/addresses-meter.json | 81 +++++++++++++++++++++++++++-
4 files changed, 96 insertions(+), 6 deletions(-)
diff --git a/src/assets/data/contracts/meter.json b/src/assets/data/contracts/meter.json
index 71e6b81d9..c37a2b942 100644
--- a/src/assets/data/contracts/meter.json
+++ b/src/assets/data/contracts/meter.json
@@ -1,12 +1,23 @@
{
"Authorizer": "0xA99e6dA471b63D1F23509A2141f9c3a76EF1f8ec",
+ "AuthorizerAdaptor": "0xD37f767df06fC690B0C24716D46Ca4db04b34c1b",
+ "AuthorizerAdaptorEntrypoint": "0xbdfBEB1afcB6411d91A8dCCfC0ce293a53a20542",
+ "AuthorizerWithAdaptorValidation": "0x5cbA76e20467742BCbbB38D2d14e16B66C2CAc0a",
"BalancerHelpers": "0xcA1e43769c7627889F465cC56C33D6673650364e",
+ "BalancerMinter": "0x18730De270BBD50C13430fAAF20BD96A491c0de1",
+ "BalancerQueries": "0x90FA60B7dbD665978d0a686147A894589BEB8281",
+ "BalancerRelayer": "0xB35B39Be5B520E40Ad67435168Cfd3DA86B1ED55",
+ "BatchRelayerLibrary": "0x61e6106CE69DdFDda28AaE767d889aF1E396d32a",
+ "BatchRelayerQueryLibrary": "0x65b457d134EE5Ba6a5De9202835E0523d2424E3E",
"ComposableStablePoolFactory": "0x7aa0DBFaCa97734F4E4Ae5DF0E3f2f957D76018F",
+ "GaugeController": "0xf6b4173Fd50c7DBdfa50f0D2EEd1207c02C31E02",
"MockComposableStablePool": "0x4f2E1EBaa28e1053234d837e032536Dc39EA15D5",
"MockWeightedPool": "0x2659c88DDB5B03224E10404258F3F2d2F1c85C60",
+ "MSYMMTokenAdmin": "0x694d28317F8D8c41D3D471687D92695A187D7f81",
"ProtocolFeePercentagesProvider": "0x4EEA4e1bA940BD93A98A674946905B36831d01D5",
"ProtocolFeesCollector": "0xb6bbC092FE2cEAbe696642382713e976d3db3AF1",
- "SymmToken": "0x6ab5792b887Eb3F63A8915240F926e829982d3F5",
+ "SymmToken": "0x663345e09F4F4437F3D5df39BA5c2B5690532206",
"Vault": "0x913f21E596790aFC6AA45229E9ff8b7d0A473D5A",
+ "VotingEscrow": "0xF533A5C6B5d24831E138d66Fb88F28dc72fAFE9a",
"WeightedPoolFactory": "0xbd5A48ED2c877033EF379e342eC9c6fe16dC5710"
}
diff --git a/src/lib/config/meter/contracts.ts b/src/lib/config/meter/contracts.ts
index 0dd393c1d..a8d425006 100644
--- a/src/lib/config/meter/contracts.ts
+++ b/src/lib/config/meter/contracts.ts
@@ -12,8 +12,8 @@ const contracts: Contracts = {
stablePoolFactory: meter.ComposableStablePoolFactory,
lidoRelayer: '',
balancerHelpers: meter.BalancerHelpers,
- balancerQueries: '',
- batchRelayer: '',
+ balancerQueries: meter.PoolDataQueries,
+ batchRelayer: meter.BalancerRelayer,
veBAL: '',
gaugeController: '',
gaugeFactory: '',
diff --git a/src/lib/config/meter/pools.ts b/src/lib/config/meter/pools.ts
index 23c873e30..077cf9736 100644
--- a/src/lib/config/meter/pools.ts
+++ b/src/lib/config/meter/pools.ts
@@ -42,8 +42,8 @@ const pools: Pools = {
],
},
Factories: {
- '0xbd5A48ED2c877033EF379e342eC9c6fe16dC5710': 'weightedPool', // Weighted V5
- '0x7aa0DBFaCa97734F4E4Ae5DF0E3f2f957D76018F': 'composableStablePool', // ComposableStable V5
+ '0xbd5a48ed2c877033ef379e342ec9c6fe16dc5710': 'weightedPool', // Weighted V5
+ '0x7aa0dbfaca97734f4e4ae5df0e3f2f957d76018f': 'composableStablePool', // ComposableStable V5
},
Stakable: {
VotingGaugePools: [],
diff --git a/src/lib/scripts/addresses-meter.json b/src/lib/scripts/addresses-meter.json
index 2ed73d762..1ced5e440 100644
--- a/src/lib/scripts/addresses-meter.json
+++ b/src/lib/scripts/addresses-meter.json
@@ -25,6 +25,50 @@
],
"status": "ACTIVE"
},
+ "20220325-authorizer-adaptor": {
+ "contracts": [
+ {
+ "name": "AuthorizerAdaptor",
+ "address": "0xD37f767df06fC690B0C24716D46Ca4db04b34c1b"
+ }
+ ],
+ "status": "ACTIVE"
+ },
+ "20220325-balancer-token-admin": {
+ "contracts": [
+ {
+ "name": "MSYMMTokenAdmin",
+ "address": "0x694d28317F8D8c41D3D471687D92695A187D7f81"
+ }
+ ],
+ "status": "ACTIVE"
+ },
+ "20220325-gauge-controller": {
+ "contracts": [
+ {
+ "name": "VotingEscrow",
+ "address": "0xF533A5C6B5d24831E138d66Fb88F28dc72fAFE9a"
+ },
+ {
+ "name": "GaugeController",
+ "address": "0xf6b4173Fd50c7DBdfa50f0D2EEd1207c02C31E02"
+ },
+ {
+ "name": "BalancerMinter",
+ "address": "0x18730De270BBD50C13430fAAF20BD96A491c0de1"
+ }
+ ],
+ "status": "ACTIVE"
+ },
+ "20220721-balancer-queries": {
+ "contracts": [
+ {
+ "name": "BalancerQueries",
+ "address": "0x90FA60B7dbD665978d0a686147A894589BEB8281"
+ }
+ ],
+ "status": "ACTIVE"
+ },
"20220725-protocol-fee-percentages-provider": {
"contracts": [
{
@@ -34,6 +78,15 @@
],
"status": "ACTIVE"
},
+ "20221124-authorizer-adaptor-entrypoint": {
+ "contracts": [
+ {
+ "name": "AuthorizerAdaptorEntrypoint",
+ "address": "0xbdfBEB1afcB6411d91A8dCCfC0ce293a53a20542"
+ }
+ ],
+ "status": "ACTIVE"
+ },
"20230320-weighted-pool-v4": {
"contracts": [
{
@@ -47,6 +100,15 @@
],
"status": "ACTIVE"
},
+ "20230414-authorizer-wrapper": {
+ "contracts": [
+ {
+ "name": "AuthorizerWithAdaptorValidation",
+ "address": "0x5cbA76e20467742BCbbB38D2d14e16B66C2CAc0a"
+ }
+ ],
+ "status": "ACTIVE"
+ },
"20230711-composable-stable-pool-v5": {
"contracts": [
{
@@ -60,11 +122,28 @@
],
"status": "ACTIVE"
},
+ "20231031-batch-relayer-v6": {
+ "contracts": [
+ {
+ "name": "BatchRelayerLibrary",
+ "address": "0x61e6106CE69DdFDda28AaE767d889aF1E396d32a"
+ },
+ {
+ "name": "BatchRelayerQueryLibrary",
+ "address": "0x65b457d134EE5Ba6a5De9202835E0523d2424E3E"
+ },
+ {
+ "name": "BalancerRelayer",
+ "address": "0xB35B39Be5B520E40Ad67435168Cfd3DA86B1ED55"
+ }
+ ],
+ "status": "ACTIVE"
+ },
"20231122-tsymm-token": {
"contracts": [
{
"name": "SymmToken",
- "address": "0x6ab5792b887Eb3F63A8915240F926e829982d3F5"
+ "address": "0x663345e09F4F4437F3D5df39BA5c2B5690532206"
}
],
"status": "ACTIVE"
From 4ef4c0f5930993e5be94781d4f6643865accaeb8 Mon Sep 17 00:00:00 2001
From: stephen <991266+stxphxn@users.noreply.github.com>
Date: Mon, 8 Apr 2024 19:50:29 +0700
Subject: [PATCH 13/13] =?UTF-8?q?Update=20SDK=20=F0=9F=94=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package.json b/package.json
index 97c241eb2..d1d318dc8 100644
--- a/package.json
+++ b/package.json
@@ -74,7 +74,7 @@
"@popperjs/core": "^2.9.2",
"@sentry/browser": "^7.17.4",
"@sentry/tracing": "^7.17.4",
- "@symmetric-v3/sdk": "^1.2.14-beta.1",
+ "@symmetric-v3/sdk": "^1.2.15-beta.1",
"@tanstack/vue-query": "^4.22.0",
"@testing-library/jest-dom": "^5.16.1",
"@testing-library/vue": "^7.0.0",