Skip to content

Commit 6472c3d

Browse files
committed
feat: deploy v4 contract on ftm
Ticket: COIN-6013
1 parent 48893f1 commit 6472c3d

4 files changed

Lines changed: 15 additions & 1 deletion

File tree

.github/workflows/deploy_and_release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,7 @@ jobs:
211211
deploy-to-prod:
212212
runs-on: ubuntu-latest
213213
needs: [lint-and-test, get-network, preview]
214-
if: ${{ (needs.get-network.outputs.network == 'eth' ) || (needs.get-network.outputs.network == 'matic' ) || (needs.get-network.outputs.network == 'bsc' ) || (needs.get-network.outputs.network == 'arbeth' ) || (needs.get-network.outputs.network == 'opeth' ) || (needs.get-network.outputs.network == 'zketh' ) || (needs.get-network.outputs.network == 'baseeth' ) || (needs.get-network.outputs.network == 'bera' ) || (needs.get-network.outputs.network == 'avaxc' ) || (needs.get-network.outputs.network == 'coredao' ) || (needs.get-network.outputs.network == 'oas' ) || (needs.get-network.outputs.network == 'flr' ) || (needs.get-network.outputs.network == 'sgb' ) || (needs.get-network.outputs.network == 'xdc' ) || (needs.get-network.outputs.network == 'wemix' ) || (needs.get-network.outputs.network == 'mon' ) || (needs.get-network.outputs.network == 'stt' ) || (needs.get-network.outputs.network == 'soneium' ) || (needs.get-network.outputs.network == 'world' ) || (needs.get-network.outputs.network == 'ctc' ) || (needs.get-network.outputs.network == 'apechain' ) || (needs.get-network.outputs.network == 'phrs' ) || (needs.get-network.outputs.network == 'hypeevm' ) || (needs.get-network.outputs.network == 'sonic' ) || (needs.get-network.outputs.network == 'seievm' ) || (needs.get-network.outputs.network == 'kaia' ) || (needs.get-network.outputs.network == 'irys' ) || (needs.get-network.outputs.network == 'lineaeth' ) || (needs.get-network.outputs.network == 'ip' ) || (needs.get-network.outputs.network == 'plasma' ) || (needs.get-network.outputs.network == 'kavaevm' ) || (needs.get-network.outputs.network == 'og' ) || (needs.get-network.outputs.network == 'plume') || (needs.get-network.outputs.network == 'flow') || (needs.get-network.outputs.network == 'megaeth') || (needs.get-network.outputs.network == 'hbarevm') || (needs.get-network.outputs.network == 'fluenteth') || (needs.get-network.outputs.network == 'mantle') || (needs.get-network.outputs.network == 'dogeos') || (needs.get-network.outputs.network == 'opBNB') || (needs.get-network.outputs.network == 'jovayeth') || (needs.get-network.outputs.network == 'okb')}}
214+
if: ${{ (needs.get-network.outputs.network == 'eth' ) || (needs.get-network.outputs.network == 'matic' ) || (needs.get-network.outputs.network == 'bsc' ) || (needs.get-network.outputs.network == 'arbeth' ) || (needs.get-network.outputs.network == 'opeth' ) || (needs.get-network.outputs.network == 'zketh' ) || (needs.get-network.outputs.network == 'baseeth' ) || (needs.get-network.outputs.network == 'bera' ) || (needs.get-network.outputs.network == 'avaxc' ) || (needs.get-network.outputs.network == 'coredao' ) || (needs.get-network.outputs.network == 'oas' ) || (needs.get-network.outputs.network == 'flr' ) || (needs.get-network.outputs.network == 'sgb' ) || (needs.get-network.outputs.network == 'xdc' ) || (needs.get-network.outputs.network == 'wemix' ) || (needs.get-network.outputs.network == 'mon' ) || (needs.get-network.outputs.network == 'stt' ) || (needs.get-network.outputs.network == 'soneium' ) || (needs.get-network.outputs.network == 'world' ) || (needs.get-network.outputs.network == 'ctc' ) || (needs.get-network.outputs.network == 'apechain' ) || (needs.get-network.outputs.network == 'phrs' ) || (needs.get-network.outputs.network == 'hypeevm' ) || (needs.get-network.outputs.network == 'sonic' ) || (needs.get-network.outputs.network == 'seievm' ) || (needs.get-network.outputs.network == 'kaia' ) || (needs.get-network.outputs.network == 'irys' ) || (needs.get-network.outputs.network == 'lineaeth' ) || (needs.get-network.outputs.network == 'ip' ) || (needs.get-network.outputs.network == 'plasma' ) || (needs.get-network.outputs.network == 'kavaevm' ) || (needs.get-network.outputs.network == 'og' ) || (needs.get-network.outputs.network == 'plume') || (needs.get-network.outputs.network == 'flow') || (needs.get-network.outputs.network == 'megaeth') || (needs.get-network.outputs.network == 'hbarevm') || (needs.get-network.outputs.network == 'fluenteth') || (needs.get-network.outputs.network == 'mantle') || (needs.get-network.outputs.network == 'dogeos') || (needs.get-network.outputs.network == 'opBNB') || (needs.get-network.outputs.network == 'jovayeth') || (needs.get-network.outputs.network == 'okb') || (needs.get-network.outputs.network == 'ftm')}}
215215
environment: mainnet
216216
steps:
217217
- uses: actions/checkout@v2

config/chainIds.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ export const CHAIN_IDS = {
4949
opBNB: 204,
5050
JOVAYETH: 5734951,
5151
OKB: 196,
52+
ftm: 250,
5253

5354
// Testnet Networks
5455
BSC_TESTNET: 97,

hardhat.config.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -785,6 +785,14 @@ const config: HardhatUserConfig = {
785785
`${PLACEHOLDER_KEY}`,
786786
`${PRIVATE_KEY_FOR_BATCHER_CONTRACT_DEPLOYMENT}`
787787
]
788+
},
789+
ftm: {
790+
url: `https://rpcapi.fantom.network`,
791+
accounts: [
792+
`${PRIVATE_KEY_FOR_V4_CONTRACT_DEPLOYMENT}`,
793+
`${PLACEHOLDER_KEY}`,
794+
`${PRIVATE_KEY_FOR_BATCHER_CONTRACT_DEPLOYMENT}`
795+
]
788796
}
789797
},
790798
gasReporter: {

scripts/chainConfig.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,11 @@ export async function getChainConfig(chainId: number): Promise<ChainConfig> {
7676
forwarderFactoryContractName = 'ForwarderFactory';
7777
contractPath = `contracts/${walletImplementationContractName}.sol:${walletImplementationContractName}`;
7878
break;
79+
case CHAIN_IDS.ftm:
80+
forwarderContractName = 'ForwarderV4';
81+
forwarderFactoryContractName = 'ForwarderFactoryV4';
82+
contractPath = `contracts/${walletImplementationContractName}.sol:${walletImplementationContractName}`;
83+
break;
7984
case CHAIN_IDS.ZKSYNC_ERA:
8085
case CHAIN_IDS.ZKSYNC_SEPOLIA:
8186
walletImplementationContractName = 'ZkethWalletSimple';

0 commit comments

Comments
 (0)