-
Notifications
You must be signed in to change notification settings - Fork 747
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
admin struct & removeAdminAddress code
remove, register, add admin + onlyAdmin modifier add relayer functions helper function to avoid repeat of code verifyRelayer and relayerExistsMap updateParam changes Remove unwanted code and variables Remove old code Formatting + efficient return for verify function decouple registered and nonregistered admins, remove relayer before deleting, correct address size, add old modifier checks before adding relayer seed with current whitelists.todo: add relayers Refactor: replace admin with manager contract and exist checks inside function remove onlyWhitelabelRelayer for the most part. Remove register unregister from template file isRelayer, not verifyRelayer isContract check for manager override in isRelayer refactor naming addRelayer -> editRelayer remove most compilation errors apart from transfer compilation error fix: payable+map extra payables modify templates fix bugs in contract feat: add foundry test (#194) * add foundry test and clean unused files * update readme Remove unneeded modifier + properly remove relayer updateRelayer event and no need for removeRelayer For smooth transition and let old relayers exit Only use updateRelayerEvent + Refacoring functions Better naming of some maps update only once Remove repeated event Remove onlyAllowedParty + correct var order remove deposit + bring back old withdraw test for adding new param which doesn't work correct the test testunregister Check emit event remove manager and ismanger, isrelayer test removeManagerByHimself test + comments testCurrentRelayerTransition() and update() Remove manager struct Refactor + remove unwanted functions Remove check that is not needed Refactor to less confusing name Ensure manager isn't already registered bug info Test for relayer address 0 which had a bug Remove todo which is already done now Combine to one manager struct Remove dues remove unwanted code ensure 0 address is not a relayer remove deposit and dues code in updateParam template file update + correct whitelist mainnet addr check contract first refactor Refactor even names and regenerate interface payable manager not required bug fix of twice adding of same relayer + test emit events in initialisation as well update the template file based on recent changes public to internal + remove unused event Test to ensure a contract can't be a relayer 2 step relayer registration. todo: test update Fix testAddManager Fix the rest of the tests Remove unused comments check for code and proxy relayer + test edge case where manager gets removed before accept name change to be consistent delete provisional relayer when relayer is deleted Check for correct manager update comment dlt managerToProvisionalRelayer when dltng relayer address pr comments update template remove check for contracts on relayer manager
- Loading branch information
1 parent
1d9c1e2
commit fdf7dc9
Showing
71 changed files
with
4,696 additions
and
23,518 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,16 @@ | ||
node_modules/ | ||
build/ | ||
.idea | ||
pids | ||
logs | ||
out/ | ||
.idea/ | ||
pids/ | ||
logs/ | ||
cache/ | ||
|
||
contracts/flattened/*.sol | ||
|
||
#Hardhat files | ||
cache | ||
artifacts | ||
# foundry lib | ||
lib/forge-std/ | ||
|
||
.env | ||
|
||
types | ||
typechain-types | ||
package-lock.json | ||
yarn.lock |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,65 +4,68 @@ This repo hold all the genesis contracts on Binance Smart chain. More details in | |
|
||
## Prepare | ||
|
||
Install dependency: | ||
Install node.js dependency: | ||
```shell script | ||
npm install | ||
``` | ||
``` | ||
|
||
Node: v12.18.3 | ||
Truffle: Truffle v5.1.31 | ||
Solc: 0.6.4+commit.1dca32f3.Darwin.appleclang | ||
Ganache-cli: v6.10.1 | ||
Install foundry: | ||
```shell script | ||
curl -L https://foundry.paradigm.xyz | bash | ||
foundryup | ||
forge install --no-git --no-commit foundry-rs/[email protected] | ||
``` | ||
|
||
Please make sure your dependency version is as follows: | ||
|
||
## unit test | ||
Node: v12.18.3 | ||
|
||
Generate contracts for testing: | ||
```shell script | ||
# the first account of ganache | ||
node generate-system.js --mock true --network local | ||
node generate-systemReward.js --mock true | ||
node generate-validatorset.js --mock true | ||
node generate-slash.js --mock true | ||
node generate-crosschain.js --mock true | ||
node generate-tokenhub.js --mock true | ||
node generate-relayerhub.js --mock true | ||
node generate-tendermintlightclient.js --mock true | ||
node generate-relayerincentivizecontract.js --roundSize 30 --maximumWeight 3 --mock true | ||
``` | ||
Truffle: v5.1.31 | ||
|
||
Start ganache: | ||
```shell script | ||
ganache-cli --mnemonic 'clock radar mass judge dismiss just intact mind resemble fringe diary casino' --gasLimit 100000000 -e 10000 --allowUnlimitedContractSize | ||
``` | ||
Solc: 0.6.4+commit.1dca32f3 | ||
|
||
Run truffle test: | ||
```shell script | ||
truffle compile | ||
truffle migrate | ||
truffle test | ||
## Unit test | ||
|
||
Add follow line to .env file in project dir, replace `archive_node` with a valid bsc mainnet node url which should be in archive mode: | ||
|
||
```text | ||
RPC_BSC=${archive_node} | ||
``` | ||
|
||
Run hardhat test: | ||
You can get a free archive node endpoint from https://nodereal.io/. | ||
|
||
Run forge test: | ||
```shell script | ||
npx hardhat compile | ||
npx hardhat test | ||
forge test | ||
``` | ||
|
||
Flatten all system contracts: | ||
## Flatten all system contracts | ||
|
||
```shell script | ||
npm run flatten | ||
``` | ||
|
||
## how to generate genesis file. | ||
|
||
All system contracts will be flattened and output into `${workspace}/contracts/flattened/`. | ||
|
||
## How to generate genesis file | ||
|
||
1. Edit `init_holders.js` file to alloc the initial BNB holder. | ||
2. Edit `validators.js` file to alloc the initial validator set. | ||
3. Edit `generate-validatorset.js` file to change `fromChainId` and `toChainId`, | ||
4. Edit `generate-tokenhub.js` file to change `refundRelayReward`, `minimumRelayFee` and `maxGasForCallingBEP20`. | ||
5. Edit `generate-tendermintlightclient.js` file to change `chainID` and `initConsensusStateBytes`. | ||
6. run ` node generate-genesis.js` will generate genesis.json | ||
|
||
## How to update contract interface for test | ||
|
||
```shell script | ||
// get metadata | ||
forge build | ||
|
||
// generate interface | ||
cast interface ${workspace}/out/{contract_name}.sol/${contract_name}.json -p ^0.8.10 -n ${contract_name} > ${workspace}/lib/interface/I${contract_name}.sol | ||
``` | ||
|
||
## License | ||
|
||
The library is licensed under the [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0), | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.