From 5a25558bfcbcbcf0bb7b2ba3e9d27d4a05790b25 Mon Sep 17 00:00:00 2001 From: Karl Bartel Date: Wed, 19 Mar 2025 13:19:58 +0100 Subject: [PATCH 1/2] e2e: Add mainnet test config --- e2e_test/js-tests/viem_setup.mjs | 15 +++++++++++++-- e2e_test/shared.sh | 8 ++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/e2e_test/js-tests/viem_setup.mjs b/e2e_test/js-tests/viem_setup.mjs index 28405d7dc6..cf32258dbc 100644 --- a/e2e_test/js-tests/viem_setup.mjs +++ b/e2e_test/js-tests/viem_setup.mjs @@ -6,7 +6,7 @@ import { http, defineChain, } from "viem"; -import { celoAlfajores } from "viem/chains"; +import { celo, celoAlfajores } from "viem/chains"; import { privateKeyToAccount } from "viem/accounts"; // Setup up chain @@ -32,12 +32,23 @@ const celoBaklava = defineChain({ }, }); +const celoMainnet = defineChain({ + ...celo, + rpcUrls: { + default: { + http: [process.env.ETH_RPC_URL], + }, + }, +}); + const chain = (() => { switch (process.env.NETWORK) { case 'alfajores': return celoAlfajores case 'baklava': return celoBaklava + case 'mainnet': + return celoMainnet default: return devChain }; @@ -53,4 +64,4 @@ export const walletClient = createWalletClient({ account, chain: chain, transport: http(), -}); \ No newline at end of file +}); diff --git a/e2e_test/shared.sh b/e2e_test/shared.sh index 8a371ff698..c9a04bf29e 100644 --- a/e2e_test/shared.sh +++ b/e2e_test/shared.sh @@ -9,6 +9,14 @@ case $NETWORK in # for contract in GoldToken FeeHandler FeeCurrencyDirectory # cast call 0x000000000000000000000000000000000000ce10 "getAddressForStringOrDie(string calldata identifier) returns (address)" $contract # end + mainnet) + export ETH_RPC_URL=https://forno.celo.org + export TOKEN_ADDR=0x471EcE3750Da237f93B8E339c536989b8978a438 + export FEE_HANDLER=0xcD437749E43A154C07F3553504c68fBfD56B8778 + export FEE_CURRENCY=0xD8763CBa276a3738E6DE85b4b3bF5FDed6D6cA73 + export FEE_CURRENCY_DIRECTORY_ADDR=0x15F344b9E6c3Cb6F0376A36A64928b13F62C6276 + echo "Using mainnet network" + ;; alfajores) export ETH_RPC_URL=https://alfajores-forno.celo-testnet.org export TOKEN_ADDR=0xF194afDf50B03e69Bd7D057c1Aa9e10c9954E4C9 From d26ee2de26632f433f5da6cc87a0c31e36cdd9e3 Mon Sep 17 00:00:00 2001 From: Karl Bartel Date: Wed, 19 Mar 2025 16:28:38 +0100 Subject: [PATCH 2/2] e2e: support large numbers in token duality test bash can't handle large integers correctly, so use perl for calculation. --- e2e_test/test_token_duality.sh | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/e2e_test/test_token_duality.sh b/e2e_test/test_token_duality.sh index 355afef8c7..c96d50cc31 100755 --- a/e2e_test/test_token_duality.sh +++ b/e2e_test/test_token_duality.sh @@ -8,5 +8,12 @@ source shared.sh balance_before=$(cast balance 0x000000000000000000000000000000000000dEaD) cast send --private-key $ACC_PRIVKEY $TOKEN_ADDR 'transfer(address to, uint256 value) returns (bool)' 0x000000000000000000000000000000000000dEaD 100 balance_after=$(cast balance 0x000000000000000000000000000000000000dEaD) -echo "Balance change: $balance_before -> $balance_after" -[[ $((balance_before + 100)) -eq $balance_after ]] || (echo "Balance did not change as expected"; exit 1) + +# Use perl for arbitrary precision arithmetic +expected_balance=$(perl -e "use bignum; print $balance_before + 100") +if [ "$expected_balance" != "$balance_after" ]; then + echo "Balance did not change as expected" + echo "Expected: $expected_balance" + echo "Actual: $balance_after" + exit 1 +fi