@metawin-pro/contracts v1.0.6
Metawin Pro Contracts
Contracts for Metawin Pro.
Docs at https://metawin.gitbook.io/metawin-pro/contracts.
Install Dependencies
If npx is not installed yet:
npm install -g npx
Install packages:
npm i
Compile Contracts
npx hardhat compile
Run Tests
npx hardhat test
Deploy order
//Deploy Faucet Test Tokens (Testnet Only)
npx hardhat run scripts/tokens/deployTokens.js --network <network>
//Deploy Protocol Test Tokens (Testnet Only)
npx hardhat run scripts/metawin/deployTokens.js --network <network>
//Deploy Vault - Deploys Vault, VaultUtils, Router, MLP, MlpManager and USDM
npx hardhat run scripts/core/deployVault.js --network <network>
//Set Token Config in Vault and VaultPriceFeed
npx hardhat run scripts/core/whitelistTokens.js --network <network>
//Deploy RewardRouter's, trackers and distributors
npx hardhat run scripts/staking/deployRewardRouter.js --network <network>
//Deploy Orderbook
npx hardhat run scripts/core/deployOrderBook.js --network <network>
//Deploy Price Feed
npx hardhat run scripts/core/setTokenConfig.js --network <network>
//Only if it needs changing after using whitelistTokens
//Deploy Shorts Tracker
npx hardhat run scripts/core/deployShortsTracker.js --network <network>
//Only if it wasn't deployed when deploying the Vault
//Deploy Timelock
npx hardhat run scripts/peripherals/deployTimelock.js --network <network>
//Deploy Position Manager, Referral Storage
npx hardhat run scripts/core/deployPositionManager.js --network <network>
//Deploy Position Router
npx hardhat run scripts/core/deployPositionRouter.js --network <network>
//Deploy FastPriceFeed, FastPriceEvents, FastPriceTimelock
npx hardhat run scripts/core/deployPriceFeed.js --network <network>
//Add OrderBook or PositionRouter to the Router (Set the arguments in the scripts)
npx hardhat run scripts/core/addPluginOrderBook.js --network <network>
Arbitrum
MWIN: MLP: EsMWIN:
Vault: USDM:
Router: PositionRouter: OrderBook:
Reader: RewardReader: OrderBookReader:
StakedMetawin: StakedMlp:
Timelock / Gov:
MlpManager: RewardRouter: MlpRewardRouter:
ReferralStorage: MWIN-ETH Uniswap Pool:
Arbitrum Goerli
//MAIN
MWIN: 0xF5920D3b7fc06eaCAEC27C9B1516C41FF16fB8a9 MLP: 0x2fBd059CCbFf9bF8127D3409AB21E083E217fbd4 EsMWIN: 0x638a55e936AbE045eAc18209f0479aafB037A719 Bonus MWIN: 0x7F4C47d84F62897ea99e19Df1CBB603317d52b2D USDM: 0xaD4abAF0C23aEc651c95865F14A0b9faEfc04F9E Router: 0x124C59b3C32bBe3a57B82f382058D1b520b1cf57 ShortsTracker: 0x57d64afCC547d55dEd3609863F34Df28081A3757 Reader: 0x7543BaB98465529BBBcd0ccAe61ac47BEb4fbE21
//VAULT VaultReader: 0x921A6C18EDd5537564373D5795409285d9a70e56 Vault: 0x32cAb06705Bf240155a0637D0FdF77E9084B17DD VaultUtils: 0x6EC5226e205CdB78f77b7F7aa406096fE414F9DF
//ORACLES
VaultPriceFeed: 0x8261fd8345461e8C5bfBdB9C13C51A5753116488 FastPriceFeed: 0x2029A9a4c53b5c6AdA08B9eBC800D59654F11011 FastPriceEvents: 0xbBfB0d97e555e032aB562139F2F48844DB60e5a8
//KEEPERS PriceFeedKeeper: 0xec1a0cb16da34ae78ac60004fb40ac1e97fd7d85 OrderbookKeeper: PositionKeeper: 0x1ebc3342af98bd77aecd881759dbbbe078e690b5 ShortsTrackerKeeper: 0x9A03499aC2F056f3D0a8ecd96d846cE756fB1fD8
// PERPETUALS
PositionReader: PositionUtils: 0xbD12cB9887FA47e3AF664f55322b61733E1d7639 PositionRouter: 0xa9a36fdA1619a8B9A1e4a16ABa71ef006d678f17 PositionManager: 0x854b2Ee4E60f5135FE431864372f194432363F56 | 0x4D365963ac0d7c6Be5cF466303Bb98d12d754Ed8
//ORDERBOOK
OrderBookReader: 0x9231436F75e144dD6074c62DF714e5599F85FCd1 OrderBook: 0x5EF876316C6c4AF00e74A5E53f94Fc2A0e72574F OrderExecutor: (deprecated)
//TIMELOCKS and ADMINS
PriceFeedTimelock: 0x7B3880574551732f7a74971bD33EBdaea8eFD528 ShortTrackerTimelock: 0x682Edd7C57d631ad20FFeB1e7Af1FBd4bbB0290D Timelock / Gov: TokenManager: 0xa228e5a3f9948f577631632B220EfdbfE1729172 (Should be a Gnosis Safe in production)
//STAKING
StakedMetawin: 0x5fF349142E46954928d477a5E3ECf85b8F304b23 StakedMlp (Fee Mlp): 0xF2D7E742c9Dd5aE959010E738B8A2D0517d0A1Eb MlpManager: 0x6b2B3174FdB5E282AdE3dDD736328C9c303A8E41
//REWARDS
RewardReader: 0x881e2aC78DF5879d1C381Fc7E27F4D5e4443Ffa5 RewardRouter: 0x77b4963A2fB2cf9b4Dd4aaA3B2BED839688738c9 MlpRewardRouter: 0x6d834011Ad3e4CB0A47Fc1452B2d3D2ebB321E01
//STAKING TRACKER
sMWIN RewardTracker: 0x05635d66d9C110E51d00388f955b44877b3d3679 Staked + Bonus MWIN RewardTracker: 0x0D6eB58c6798f5211421778649BeE330c1065d88 Staked + Bonus + Fee MWIN RewardTracker: 0x18731B2911571B00573F0bc97C393F9D6C4dCb80
Fee MLP RewardTracker: 0x57E5B2C04E106a907EbcDd42c69d742De1dC5B49 Fee + Staked MLP RewardTracker: 0xD60b526164ca64Fe18008635B00d7906754a28b0
// REWARD DISTRIBUTORS
Staked MWIN RewardDistributor: 0x40B7065092960bbD1C1eC479B15D1c00B3041d75 Bonus MWIN RewardDistributor: 0x0471258AE7cf75E61a847008e529EA29d1760c39 Staked + Bonus + Fee RewardDistributor: 0x7cF71cB56237FcbA112DE57288580A4794DB4a51
Fee MLP RewardDistributor: 0x8728Ea7F4CF18Eb37E7fA55755CbfF6f44823A20 Fee + Staked MLP RewardDistributor: 0x833576194905bEbE5E83519BF455aD9687faBdDA
//UTILS
BatchSender: 0xD43C196C9059A3Bf199Bf21AFa97B8bC5Bc1f8DA
//TEST FAUCET TOKENS BTC: 0x41E26e1285D9F7950d6371cEe2CC45e4F178C9d7 USDC: 0x3076A30D0Ea899508737961e1926f925689f5c95 USDT: 0xdA330C3Eb4E177691E1f6c105Fb01df27dA4AB27 WETH: 0x2E16aB7d533F5a59BFdCBDF35a48662E0d157782"
//Vesting
Vested MWIN: 0xAEb31B5c098fe430Bd866a26e57c2082e16AB5d4 Vested MLP: 0xDC6E23722D9620Ab41122206076Be4362edc22B2
//REFERRAL
ReferralStorage: 0xb5d6886515F5B55381aBb08e59cDfb491757d917 Referral Reader: 0x0Da39af06F7f7Be2b3e74f57611AC2D85A1339B0
//UNISWAP Multicall: 0x622e4726a167799826d1e1d150b076a7725f5d81 MWIN-ETH Uniswap V3 Pool: 0x9fa7166e8e3D036BF5aFB4AEC252882b3CDF43A7 MWIN-ETH Uniswap V2:
Base Goerli
//TOKENS MWIN: 0x30c3AbBa4EF43ffFBD5d44ccB8f6733bfA06596C MLP: 0xe876dE2A2a2DB66c36fF73b447F4cdDD1de6122A EsMWIN: 0x59D6CB21E12af302225e083070C2CF6d9753fcb2 Bonus MWIN: 0x7F4C47d84F62897ea99e19Df1CBB603317d52b2D USDM: 0xf0d075ae11B3501B43Cab9b8f70eB9a02aE90167
FAUCET TOKENS ETH: 0x2779dE5846F5aD9BBb345906CB21715540bA8d46 BTC: 0x2E16aB7d533F5a59BFdCBDF35a48662E0d157782 USDC: 0xF5920D3b7fc06eaCAEC27C9B1516C41FF16fB8a9 USDT: 0x638a55e936AbE045eAc18209f0479aafB037A719
CORE Router: 0x4a2fC1D01ed277BF648Cd6881F9cF86771c0f8B3 ShortsTracker: 0x533488fEdF21B902Be261c7B5E43D07a201F0B15 Reader: 0x301F39DD01f21AbF68648Bc7A292055C312CDfa3
VAULT Vault Reader: 0x921A6C18EDd5537564373D5795409285d9a70e56 Vault: 0xcDF5E19948fE6a34A51981c671f3e27bE6798eCE Vault Utils: 0xE59411879781a59ec94A891FB69C8228108c91f7 Vault Error Controller: 0xD3249A31F78f339e22cC4e01c3645E5Fc53d49e5
ORACLES Vault PriceFeed: 0x7Ae79a3BE3090091e52eD5BF71365A0742671c9b Fast PriceFeed: 0xf44901c6362506ea78cFd0FE7Bf66FaD25151b53 Fast PriceEvents: 0x7CfB2bd055F637C9dd7cAc3E829C9D072b9A4bEe
KEEPERS PriceFeed Keeper: 0xec1a0cb16da34ae78ac60004fb40ac1e97fd7d85 Orderbook Keeper: Position Keeper: 0x1ebc3342af98bd77aecd881759dbbbe078e690b5 ShortsTracker Keeper: 0x9A03499aC2F056f3D0a8ecd96d846cE756fB1fD8
PERPETUALS Position Reader: PositionUtils: 0x353A8966Df6fb7ABf518703d0062afA5774BB275 Position Router: 0x51c8B0036CBf369422591454442700193b0Cfe86 Position Manager: 0x8fCB09BAFA9c0E1874721D846fef8570845fa61F
ORDERBOOK OrderBook Reader: 0x9231436F75e144dD6074c62DF714e5599F85FCd1 OrderBook: 0x758844D6C977375f632D4Cdadfe4729df9A9623d
TIMELOCKS and ADMINS PriceFeedTimelock: 0x95760a64D295136C18Be0b8a68678d4dC606B0c2 ShortTrackerTimelock: 0x682Edd7C57d631ad20FFeB1e7Af1FBd4bbB0290D Timelock / Gov: 0x1fC48722C31B5f6711aaB3364681929ba24C4cc7 TokenManager: 0xa228e5a3f9948f577631632B220EfdbfE1729172 (Should be a Gnosis Safe in production)
STAKING StakedMetawin: 0x5fF349142E46954928d477a5E3ECf85b8F304b23 StakedMlp (Fee Mlp): 0xF2D7E742c9Dd5aE959010E738B8A2D0517d0A1Eb MlpManager: 0x7543BaB98465529BBBcd0ccAe61ac47BEb4fbE21
REWARDS Reward Reader: 0x881e2aC78DF5879d1C381Fc7E27F4D5e4443Ffa5 Reward Router: 0x77b4963A2fB2cf9b4Dd4aaA3B2BED839688738c9 MlpReward Router: 0x6d834011Ad3e4CB0A47Fc1452B2d3D2ebB321E01
STAKING TRACKER sMWIN Reward Tracker: 0x05635d66d9C110E51d00388f955b44877b3d3679 Staked + Bonus MWIN Reward Tracker: 0x0D6eB58c6798f5211421778649BeE330c1065d88 Staked + Bonus + Fee MWIN Reward Tracker: 0x18731B2911571B00573F0bc97C393F9D6C4dCb80 Fee MLP Reward Tracker: 0x57E5B2C04E106a907EbcDd42c69d742De1dC5B49 Fee + Staked MLP Reward Tracker: 0xD60b526164ca64Fe18008635B00d7906754a28b0
REWARD DISTRIBUTORS Staked MWIN Reward Distributor: 0x40B7065092960bbD1C1eC479B15D1c00B3041d75 Bonus MWIN Reward Distributor: 0x0471258AE7cf75E61a847008e529EA29d1760c39 Staked + Bonus + Fee Reward Distributor: 0x7cF71cB56237FcbA112DE57288580A4794DB4a51 Fee MLP Reward Distributor: 0x8728Ea7F4CF18Eb37E7fA55755CbfF6f44823A20 Fee + Staked MLP Reward Distributor: 0x833576194905bEbE5E83519BF455aD9687faBdDA
UTILS BatchSender: 0xD43C196C9059A3Bf199Bf21AFa97B8bC5Bc1f8DA
VESTING Vested MWIN: 0xAEb31B5c098fe430Bd866a26e57c2082e16AB5d4 Vested MLP: 0xDC6E23722D9620Ab41122206076Be4362edc22B2
REFERRAL Referral Storage: 0xD43C196C9059A3Bf199Bf21AFa97B8bC5Bc1f8DA Referral Reader: 0x0Da39af06F7f7Be2b3e74f57611AC2D85A1339B0
UNISWAP Multicall: 0x622e4726a167799826d1e1d150b076a7725f5d81 MWIN-ETH Uniswap V3 Pool: 0x9fa7166e8e3D036BF5aFB4AEC252882b3CDF43A7 MWIN-ETH Uniswap V2: