Skip to content

Commit a71eb58

Browse files
olivier7delfbertux
andauthored
fix(smart-contracts): deploy and verify batch contract (#868)
* xdeployer for batch - batch setup - deploy batch on rinkeby and update artifact * batch ABI and xdeployer setup * fix batch deployer nonce * batch deployer nonce from 0 and update rinkeby address * deploy batch on avalanche and bsc * todo list - to delete * batch deployer nonce from 0 and update rinkeby address * verify contract on every network * refacto networkRPC * Update packages/smart-contracts/scripts-create2/contract-setup/setupBatchPayments.ts Co-authored-by: Bertrand Juglas <[email protected]> * Update packages/utils/src/providers.ts Co-authored-by: Bertrand Juglas <[email protected]> * Update packages/smart-contracts/scripts-create2/contract-setup/setupBatchPayments.ts Co-authored-by: Bertrand Juglas <[email protected]> * factorize hardhat file * fix network Co-authored-by: Bertrand Juglas <[email protected]>
1 parent ff5e418 commit a71eb58

File tree

5 files changed

+33
-26
lines changed

5 files changed

+33
-26
lines changed

packages/smart-contracts/hardhat.config.ts

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import { HardhatRuntimeEnvironmentExtended } from './scripts-create2/types';
1313
import { computeCreate2DeploymentAddressesFromList } from './scripts-create2/compute-one-address';
1414
import { VerifyCreate2FromList } from './scripts-create2/verify-one';
1515
import { deployWithCreate2FromList } from './scripts-create2/deploy-one';
16+
import utils from '@requestnetwork/utils';
1617

1718
config();
1819

@@ -43,6 +44,9 @@ const requestDeployer = process.env.REQUEST_DEPLOYER_LIVE
4344
? LIVE_DEPLOYER_ADDRESS
4445
: LOCAL_DEPLOYER_ADDRESS;
4546

47+
const url = (network: string): string =>
48+
process.env.WEB3_PROVIDER_URL || utils.networkRpcs[network];
49+
4650
export default {
4751
solidity: '0.8.9',
4852
paths: {
@@ -66,52 +70,52 @@ export default {
6670
accounts,
6771
},
6872
matic: {
69-
url: process.env.WEB3_PROVIDER_URL || 'https://polygon-rpc.com',
73+
url: url('matic'),
7074
chainId: 137,
7175
accounts,
7276
},
7377
celo: {
74-
url: process.env.WEB3_PROVIDER_URL || 'https://forno.celo.org',
78+
url: url('celo'),
7579
chainId: 42220,
7680
accounts,
7781
},
7882
bsctest: {
79-
url: process.env.WEB3_PROVIDER_URL || 'https://data-seed-prebsc-1-s1.binance.org:8545',
83+
url: url('bsctest'),
8084
chainId: 97,
8185
accounts,
8286
},
8387
bsc: {
84-
url: process.env.WEB3_PROVIDER_URL || 'https://bsc-dataseed1.binance.org',
88+
url: url('bsc'),
8589
chainId: 56,
8690
accounts,
8791
},
8892
xdai: {
89-
url: process.env.WEB3_PROVIDER_URL || 'https://rpc.xdaichain.com/',
93+
url: url('xdai'),
9094
chainId: 100,
9195
accounts,
9296
},
9397
fuse: {
94-
url: process.env.WEB3_PROVIDER_URL || 'https://rpc.fuse.io',
98+
url: url('fuse'),
9599
chainId: 122,
96100
accounts,
97101
},
98102
fantom: {
99-
url: process.env.WEB3_PROVIDER_URL || 'https://rpcapi.fantom.network',
103+
url: url('fantom'),
100104
chainId: 250,
101105
accounts,
102106
},
103107
'arbitrum-one': {
104-
url: process.env.WEB3_PROVIDER_URL || 'https://arb1.arbitrum.io/rpc',
108+
url: url('arbitrum-one'),
105109
chainId: 42161,
106110
accounts,
107111
},
108112
'arbitrum-rinkeby': {
109-
url: process.env.WEB3_PROVIDER_URL || 'https://rinkeby.arbitrum.io/rpc',
113+
url: url('arbitrum-rinkeby'),
110114
chainId: 421611,
111115
accounts,
112116
},
113117
avalanche: {
114-
url: process.env.WEB3_PROVIDER_URL || 'https://api.avax.network/ext/bc/C/rpc',
118+
url: url('avalanche'),
115119
chainId: 43114,
116120
accounts,
117121
},

packages/smart-contracts/scripts-create2/contract-setup/setupBatchPayments.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import {
99

1010
/**
1111
* Updates the values of the batch fees of the BatchPayments contract, if needed
12-
* @param contractAddress address of the BatchPayment Proxy
12+
* @param contractAddress address of the BatchPayments Proxy
1313
* @param hre Hardhat runtime environment
1414
*/
1515
export const setupBatchPayments = async (
@@ -35,10 +35,11 @@ export const setupBatchPayments = async (
3535
const adminNonce = await signer.getTransactionCount();
3636
const gasPrice = await provider.getGasPrice();
3737

38+
// start from the adminNonce, increase gasPrice if needed
3839
await Promise.all([
39-
updateBatchPaymentFees(batchPaymentConnected, adminNonce + 3, gasPrice),
40-
updatePaymentErc20FeeProxy(batchPaymentConnected, network, adminNonce + 4, gasPrice),
41-
updatePaymentEthFeeProxy(batchPaymentConnected, network, adminNonce + 5, gasPrice),
40+
updateBatchPaymentFees(batchPaymentConnected, adminNonce, gasPrice),
41+
updatePaymentErc20FeeProxy(batchPaymentConnected, network, adminNonce + 1, gasPrice),
42+
updatePaymentEthFeeProxy(batchPaymentConnected, network, adminNonce + 2, gasPrice),
4243
]);
4344
}),
4445
);

packages/smart-contracts/scripts-create2/verify-one.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ export async function VerifyCreate2FromList(hre: HardhatRuntimeEnvironmentExtend
4141
await verifyOne(address, { contract, constructorArgs }, hre);
4242
break;
4343
}
44-
case 'batchPayment': {
44+
case 'BatchPayments': {
4545
const network = hre.config.xdeploy.networks[0];
4646
const constructorArgs = getConstructorArgs(contract, network);
4747
address = await computeCreate2DeploymentAddress({ contract, constructorArgs }, hre);

packages/smart-contracts/src/lib/artifacts/BatchPayments/index.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ export const batchPaymentsArtifact = new ContractArtifact<BatchPayments>(
1414
creationBlockNumber: 0,
1515
},
1616
rinkeby: {
17-
address: '0xfeE3f8937Ca62DA486a4E067Ed11aA6Bc6B21b4B',
18-
creationBlockNumber: 10732960,
17+
address: '0x0DD57FFe83a53bCbd657e234B16A3e74fEDb8fBA',
18+
creationBlockNumber: 10857190,
1919
},
2020
mainnet: {
2121
address: '0x0DD57FFe83a53bCbd657e234B16A3e74fEDb8fBA',
@@ -37,10 +37,10 @@ export const batchPaymentsArtifact = new ContractArtifact<BatchPayments>(
3737
address: '0x0DD57FFe83a53bCbd657e234B16A3e74fEDb8fBA',
3838
creationBlockNumber: 22438505,
3939
},
40-
// bsc: {
41-
// address: '',
42-
// creationBlockNumber: ,
43-
// },
40+
bsc: {
41+
address: '0x0DD57FFe83a53bCbd657e234B16A3e74fEDb8fBA',
42+
creationBlockNumber: 18772049,
43+
},
4444
fantom: {
4545
address: '0x0DD57FFe83a53bCbd657e234B16A3e74fEDb8fBA',
4646
creationBlockNumber: 39541135,
@@ -49,10 +49,10 @@ export const batchPaymentsArtifact = new ContractArtifact<BatchPayments>(
4949
address: '0x0DD57FFe83a53bCbd657e234B16A3e74fEDb8fBA',
5050
creationBlockNumber: 13425347,
5151
},
52-
// avalanche: {
53-
// address: '',
54-
// creationBlockNumber: ,
55-
// },
52+
avalanche: {
53+
address: '0x0DD57FFe83a53bCbd657e234B16A3e74fEDb8fBA',
54+
creationBlockNumber: 16157128,
55+
},
5656
},
5757
},
5858
},

packages/utils/src/providers.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,8 @@ const networkRpcs: Record<string, string> = {
3636
fuse: 'https://rpc.fuse.io',
3737
bsctest: 'https://data-seed-prebsc-1-s1.binance.org:8545',
3838
bsc: 'https://bsc-dataseed1.binance.org/',
39-
xdai: 'https://rpc.xdaichain.com/',
39+
xdai: 'https://gnosischain-rpc.gateway.pokt.network/',
40+
celo: 'https://forno.celo.org',
4041
'arbitrum-rinkeby': 'https://rinkeby.arbitrum.io/rpc',
4142
'arbitrum-one': 'https://arb1.arbitrum.io/rpc',
4243
avalanche: 'https://api.avax.network/ext/bc/C/rpc',
@@ -149,4 +150,5 @@ export default {
149150
initPaymentDetectionApiKeys,
150151
getDefaultProvider,
151152
getCeloProvider,
153+
networkRpcs,
152154
};

0 commit comments

Comments
 (0)