It is important to emphasize that current master branches in Curve.fi repos are outdated and do not correctly build so it was necessary to debug and edit existing Curve repos for full meta pool deployment.
Also, brownie used had to be updated to 1.17.2
->ERC-20 token mocks for DAI, USDC, USDT, sbUSD
Token generation contract (mocks for DAI, USDC, USDT, sbUSD tokens used by MetaPool)
->curve-dao
Curve-dao contracts forked and modified repo
->curve-contracts (3Pool)
Curve base pool (3Pool) contracts forked and modified repo
->curve-factory (meta-pool)
Curve meta pool factory contracts forked and modified repo
1) If a trade is rerouted to 1inch, how would it affect the liquidity providers in the sbUSD metapool?
If trade is rerouted the liquidity providers on Curve would not be affected. They would not get any LP token rewards as Curve pools would not be used - this is under assumption that 1Inch would not reroute back to Curve pool. If Uniswap is used it is the same : no rewards for Curve liquidity providers, as Uniswap pools are used and theirs liquidity providers are affected and rewarded.
When in a contract function the balance state change happens after the ETH transfer and there is no limit on gas then attacker (contract receiving the ETH) can make recursive call to that function from his payable(in DAO case it was fallback function) function which receives the ETH and drain the base contract account.
3) As of Solidity 0.6, plain ether transfers to a smart contract will invoke the receive() function. If this is not defined it will look for the fallback() function. If this is also not defined (or not marked as payable), an exception will be raised. Can you think of a way to forcibly send ether to a smart contract even if the two functions are not defined?
function sendETHtoContract() public payable {
//msg.value is the amount of wei that the msg.sender sent with this transaction.
//If the transaction doesn't fail, then the contract now has this ETH.
}
CHSB is a SwissBorg utility token. It is an ERC-20 token. It has a maximum total supply (no new token can be minted) of 1,000,000,000 created during TGE (token generation event). Utilities to incentivise holders: users can stake tokens and participate in yield program, users get incentivised for engaging with the ecosystem (take part in the referendum), Buy Back & Burn used to buy back tokens from the market and destroy them which removes tokens from circulating supply (increases the likelihood of the CHSB token price increasing), The Community Index.