Redeploy/verify testnet contracts 🙄
This commit is contained in:
parent
788bdba8cd
commit
2b39ae4800
@ -18,6 +18,7 @@ export {
|
||||
TestDydxBridgeContract,
|
||||
TestStaticCallTargetContract,
|
||||
UniswapBridgeContract,
|
||||
DexForwarderBridgeContract,
|
||||
} from './wrappers';
|
||||
|
||||
export { ERC20Wrapper } from './erc20_wrapper';
|
||||
|
@ -51,33 +51,89 @@ contract DeploymentConstants {
|
||||
/// @dev Mainnet address of the GST Collector
|
||||
address constant private GST_COLLECTOR_ADDRESS = 0x000000D3b08566BE75A6DB803C03C85C0c1c5B96;
|
||||
|
||||
// Kovan addresses /////////////////////////////////////////////////////////
|
||||
// /// @dev Kovan address of the WETH contract.
|
||||
// address constant private WETH_ADDRESS = 0xd0A1E359811322d97991E03f863a0C30C2cF029C;
|
||||
// /// @dev Kovan address of the KyberNetworkProxy contract.
|
||||
// address constant private KYBER_NETWORK_PROXY_ADDRESS = 0x692f391bCc85cefCe8C237C01e1f636BbD70EA4D;
|
||||
// /// @dev Kovan address of the `UniswapExchangeFactory` contract.
|
||||
// address constant private UNISWAP_EXCHANGE_FACTORY_ADDRESS = 0xD3E51Ef092B2845f10401a0159B2B96e8B6c3D30;
|
||||
// /// @dev Kovan address of the `UniswapV2Router01` contract.
|
||||
// address constant private UNISWAP_V2_ROUTER_01_ADDRESS = 0xf164fC0Ec4E93095b804a4795bBe1e041497b92a;
|
||||
// /// @dev Kovan address of the Eth2Dai `MatchingMarket` contract.
|
||||
// address constant private ETH2DAI_ADDRESS = 0xe325acB9765b02b8b418199bf9650972299235F4;
|
||||
// /// @dev Kovan address of the `ERC20BridgeProxy` contract
|
||||
// address constant private ERC20_BRIDGE_PROXY_ADDRESS = 0xFb2DD2A1366dE37f7241C83d47DA58fd503E2C64;
|
||||
// /// @dev Kovan address of the `Chai` contract
|
||||
// address constant private CHAI_ADDRESS = address(0);
|
||||
// /// @dev Kovan address of the `Dai` (multi-collateral) contract
|
||||
// address constant private DAI_ADDRESS = 0x4F96Fe3b7A6Cf9725f59d353F723c1bDb64CA6Aa;
|
||||
// /// @dev Kovan address of the 0x DevUtils contract.
|
||||
// address constant private DEV_UTILS_ADDRESS = 0x9402639A828BdF4E9e4103ac3B69E1a6E522eB59;
|
||||
// /// @dev Kyber ETH pseudo-address.
|
||||
// address constant internal KYBER_ETH_ADDRESS = 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE;
|
||||
// /// @dev Kovan address of the dYdX contract.
|
||||
// address constant private DYDX_ADDRESS = address(0);
|
||||
// /// @dev Kovan address of the GST2 contract
|
||||
// address constant private GST_ADDRESS = address(0);
|
||||
// /// @dev Kovan address of the GST Collector
|
||||
// address constant private GST_COLLECTOR_ADDRESS = address(0);
|
||||
/* // Ropsten addresses ///////////////////////////////////////////////////////
|
||||
/// @dev Mainnet address of the WETH contract.
|
||||
address constant private WETH_ADDRESS = 0xc778417E063141139Fce010982780140Aa0cD5Ab;
|
||||
/// @dev Mainnet address of the KyberNetworkProxy contract.
|
||||
address constant private KYBER_NETWORK_PROXY_ADDRESS = address(0);
|
||||
/// @dev Mainnet address of the `UniswapExchangeFactory` contract.
|
||||
address constant private UNISWAP_EXCHANGE_FACTORY_ADDRESS = address(0);
|
||||
/// @dev Mainnet address of the `UniswapV2Router01` contract.
|
||||
address constant private UNISWAP_V2_ROUTER_01_ADDRESS = address(0);
|
||||
/// @dev Mainnet address of the Eth2Dai `MatchingMarket` contract.
|
||||
address constant private ETH2DAI_ADDRESS = address(0);
|
||||
/// @dev Mainnet address of the `ERC20BridgeProxy` contract
|
||||
address constant private ERC20_BRIDGE_PROXY_ADDRESS = 0xb344afeD348de15eb4a9e180205A2B0739628339;
|
||||
///@dev Mainnet address of the `Dai` (multi-collateral) contract
|
||||
address constant private DAI_ADDRESS = address(0);
|
||||
/// @dev Mainnet address of the `Chai` contract
|
||||
address constant private CHAI_ADDRESS = address(0);
|
||||
/// @dev Mainnet address of the 0x DevUtils contract.
|
||||
address constant private DEV_UTILS_ADDRESS = 0xC812AF3f3fBC62F76ea4262576EC0f49dB8B7f1c;
|
||||
/// @dev Kyber ETH pseudo-address.
|
||||
address constant internal KYBER_ETH_ADDRESS = 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE;
|
||||
/// @dev Mainnet address of the dYdX contract.
|
||||
address constant private DYDX_ADDRESS = address(0);
|
||||
/// @dev Mainnet address of the GST2 contract
|
||||
address constant private GST_ADDRESS = address(0);
|
||||
/// @dev Mainnet address of the GST Collector
|
||||
address constant private GST_COLLECTOR_ADDRESS = address(0); */
|
||||
|
||||
/* // Rinkeby addresses ///////////////////////////////////////////////////////
|
||||
/// @dev Mainnet address of the WETH contract.
|
||||
address constant private WETH_ADDRESS = 0xc778417E063141139Fce010982780140Aa0cD5Ab;
|
||||
/// @dev Mainnet address of the KyberNetworkProxy contract.
|
||||
address constant private KYBER_NETWORK_PROXY_ADDRESS = address(0);
|
||||
/// @dev Mainnet address of the `UniswapExchangeFactory` contract.
|
||||
address constant private UNISWAP_EXCHANGE_FACTORY_ADDRESS = address(0);
|
||||
/// @dev Mainnet address of the `UniswapV2Router01` contract.
|
||||
address constant private UNISWAP_V2_ROUTER_01_ADDRESS = address(0);
|
||||
/// @dev Mainnet address of the Eth2Dai `MatchingMarket` contract.
|
||||
address constant private ETH2DAI_ADDRESS = address(0);
|
||||
/// @dev Mainnet address of the `ERC20BridgeProxy` contract
|
||||
address constant private ERC20_BRIDGE_PROXY_ADDRESS = 0xA2AA4bEFED748Fba27a3bE7Dfd2C4b2c6DB1F49B;
|
||||
///@dev Mainnet address of the `Dai` (multi-collateral) contract
|
||||
address constant private DAI_ADDRESS = address(0);
|
||||
/// @dev Mainnet address of the `Chai` contract
|
||||
address constant private CHAI_ADDRESS = address(0);
|
||||
/// @dev Mainnet address of the 0x DevUtils contract.
|
||||
address constant private DEV_UTILS_ADDRESS = 0x46B5BC959e8A754c0256FFF73bF34A52Ad5CdfA9;
|
||||
/// @dev Kyber ETH pseudo-address.
|
||||
address constant internal KYBER_ETH_ADDRESS = 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE;
|
||||
/// @dev Mainnet address of the dYdX contract.
|
||||
address constant private DYDX_ADDRESS = address(0);
|
||||
/// @dev Mainnet address of the GST2 contract
|
||||
address constant private GST_ADDRESS = address(0);
|
||||
/// @dev Mainnet address of the GST Collector
|
||||
address constant private GST_COLLECTOR_ADDRESS = address(0); */
|
||||
|
||||
/* // Kovan addresses /////////////////////////////////////////////////////////
|
||||
/// @dev Kovan address of the WETH contract.
|
||||
address constant private WETH_ADDRESS = 0xd0A1E359811322d97991E03f863a0C30C2cF029C;
|
||||
/// @dev Kovan address of the KyberNetworkProxy contract.
|
||||
address constant private KYBER_NETWORK_PROXY_ADDRESS = 0x692f391bCc85cefCe8C237C01e1f636BbD70EA4D;
|
||||
/// @dev Kovan address of the `UniswapExchangeFactory` contract.
|
||||
address constant private UNISWAP_EXCHANGE_FACTORY_ADDRESS = 0xD3E51Ef092B2845f10401a0159B2B96e8B6c3D30;
|
||||
/// @dev Kovan address of the `UniswapV2Router01` contract.
|
||||
address constant private UNISWAP_V2_ROUTER_01_ADDRESS = 0xf164fC0Ec4E93095b804a4795bBe1e041497b92a;
|
||||
/// @dev Kovan address of the Eth2Dai `MatchingMarket` contract.
|
||||
address constant private ETH2DAI_ADDRESS = 0xe325acB9765b02b8b418199bf9650972299235F4;
|
||||
/// @dev Kovan address of the `ERC20BridgeProxy` contract
|
||||
address constant private ERC20_BRIDGE_PROXY_ADDRESS = 0x3577552C1Fb7A44aD76BeEB7aB53251668A21F8D;
|
||||
/// @dev Kovan address of the `Chai` contract
|
||||
address constant private CHAI_ADDRESS = address(0);
|
||||
/// @dev Kovan address of the `Dai` (multi-collateral) contract
|
||||
address constant private DAI_ADDRESS = 0x4F96Fe3b7A6Cf9725f59d353F723c1bDb64CA6Aa;
|
||||
/// @dev Kovan address of the 0x DevUtils contract.
|
||||
address constant private DEV_UTILS_ADDRESS = 0x9402639A828BdF4E9e4103ac3B69E1a6E522eB59;
|
||||
/// @dev Kyber ETH pseudo-address.
|
||||
address constant internal KYBER_ETH_ADDRESS = 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE;
|
||||
/// @dev Kovan address of the dYdX contract.
|
||||
address constant private DYDX_ADDRESS = address(0);
|
||||
/// @dev Kovan address of the GST2 contract
|
||||
address constant private GST_ADDRESS = address(0);
|
||||
/// @dev Kovan address of the GST Collector
|
||||
address constant private GST_COLLECTOR_ADDRESS = address(0); */
|
||||
|
||||
/// @dev Overridable way to get the `KyberNetworkProxy` address.
|
||||
/// @return kyberAddress The `IKyberNetworkProxy` address.
|
||||
|
@ -47,25 +47,25 @@
|
||||
}
|
||||
},
|
||||
"3": {
|
||||
"erc20Proxy": "0xb1408f4c245a23c31b98d2c626777d4c0d766caa",
|
||||
"erc721Proxy": "0xe654aac058bfbf9f83fcaee7793311dd82f6ddb4",
|
||||
"erc20Proxy": "0xf1ec7d0ba42f15fb5c9e3adbe86431973e44764c",
|
||||
"erc721Proxy": "0x070efeb7e5ffa3d1a59d03a219539551ae60ba43",
|
||||
"zrxToken": "0xff67881f8d12f372d91baae9752eb3631ff0ed00",
|
||||
"etherToken": "0xc778417e063141139fce010982780140aa0cd5ab",
|
||||
"exchangeV2": "0xbff9493f92a3df4b0429b6d00743b3cfb4c85831",
|
||||
"exchange": "0xfb2dd2a1366de37f7241c83d47da58fd503e2c64",
|
||||
"exchange": "0x5d8c9ba74607d2cbc4176882a42d4ace891c1c00",
|
||||
"assetProxyOwner": "0x0000000000000000000000000000000000000000",
|
||||
"zeroExGovernor": "0x53993733d41a88ae86f77a18a024e5548ee26579",
|
||||
"forwarder": "0x2127a60bedfba1c01857b09b8f24094049c48493",
|
||||
"coordinatorRegistry": "0x403cc23e88c17c4652fb904784d1af640a6722d9",
|
||||
"coordinator": "0x6ff734d96104965c9c1b0108f83abc46e6e501df",
|
||||
"multiAssetProxy": "0xab8fbd189c569ccdee3a4d929bb7f557be4028f6",
|
||||
"staticCallProxy": "0xe1b97e47aa3796276033a5341e884d2ba46b6ac1",
|
||||
"erc1155Proxy": "0x19bb6caa3bc34d39e5a23cedfa3e6c7e7f3c931d",
|
||||
"devUtils": "0x88e746ad9ab158210266e7765adbe1756c73cf84",
|
||||
"zrxVault": "0xffd161026865ad8b4ab28a76840474935eec4dfa",
|
||||
"staking": "0x986b588e472b712385579d172494fe2685669504",
|
||||
"stakingProxy": "0xfaabcee42ab6b9c649794ac6c133711071897ee9",
|
||||
"erc20BridgeProxy": "0x599b340b5045436a99b1f0c718d30f5a0c8519dd",
|
||||
"forwarder": "0xd5abddda4ba89c0120edc0ca8a95ed1ad0bf9fc3",
|
||||
"coordinatorRegistry": "0xf8becacec90bfc361c0a2c720839e08405a72f6d",
|
||||
"coordinator": "0xc2e2f8faf4bf649123b6f94103646cb4a0331006",
|
||||
"multiAssetProxy": "0x7b70a148e20b348c320208df84fdd642aab49fd0",
|
||||
"staticCallProxy": "0xaa460127562482faa5df42f2c39a025cd4a1cc0a",
|
||||
"erc1155Proxy": "0x7f10d80f2659aaae790ab03da12be11c4e6008c3",
|
||||
"devUtils": "0xc812af3f3fbc62f76ea4262576ec0f49db8b7f1c",
|
||||
"zrxVault": "0x38bbb9fb54a6b6d0376948bf3b2a7ed1e8aea6e8",
|
||||
"staking": "0x4af649ffde640ceb34b1afaba3e0bb8e9698cb01",
|
||||
"stakingProxy": "0x6acab4c9c4e3a0c78435fdb5ad1719c95460a668",
|
||||
"erc20BridgeProxy": "0xb344afed348de15eb4a9e180205a2b0739628339",
|
||||
"uniswapBridge": "0x0000000000000000000000000000000000000000",
|
||||
"uniswapV2Bridge": "0x0000000000000000000000000000000000000000",
|
||||
"eth2DaiBridge": "0x0000000000000000000000000000000000000000",
|
||||
@ -74,11 +74,11 @@
|
||||
"chaiBridge": "0x0000000000000000000000000000000000000000",
|
||||
"dydxBridge": "0x0000000000000000000000000000000000000000",
|
||||
"godsUnchainedValidator": "0xd4690a51044db77d91d7aa8f7a3a5ad5da331af0",
|
||||
"broker": "0x4aa817c6f383c8e8ae77301d18ce48efb16fd2be",
|
||||
"broker": "0x4022e3982f326455f0905de3dbc4449999baf2dc",
|
||||
"chainlinkStopLimit": "0x67a094cf028221ffdd93fc658f963151d05e2a74",
|
||||
"curveBridge": "0x1796cd592d19e3bcd744fbb025bb61a6d8cb2c09",
|
||||
"maximumGasPrice": "0x407b4128e9ecad8769b2332312a9f655cb9f5f3a",
|
||||
"dexForwarderBridge": "0x3be8e59038d8c4e8d8776ca40ef2f024bad95ad1",
|
||||
"dexForwarderBridge": "0x3261ea1411a1a840aed708896f779e1b837c917e",
|
||||
"multiBridge": "0x0000000000000000000000000000000000000000",
|
||||
"balancerBridge": "0x47697b44bd89051e93b4d5857ba8e024800a74ac",
|
||||
"exchangeProxyGovernor": "0x618f9c67ce7bf1a50afa1e7e0238422601b0ff6e",
|
||||
@ -89,30 +89,30 @@
|
||||
"transformers": {
|
||||
"wethTransformer": "0x7bab5f7299e1ca123bb44eb71e6c89be7e558cc8",
|
||||
"payTakerTransformer": "0xe8c07a119452b55eee2f999478aab97f3656d841",
|
||||
"fillQuoteTransformer": "0x43bea7eaca21a14a411274fb365707080ff25f80",
|
||||
"fillQuoteTransformer": "0xfadbeff43a07dedeb69eda5590be1b78be3d1044",
|
||||
"affiliateFeeTransformer": "0x9d7174f55b50dad2e417bd567ad2da1ae4eef76d"
|
||||
}
|
||||
},
|
||||
"4": {
|
||||
"exchangeV2": "0xbff9493f92a3df4b0429b6d00743b3cfb4c85831",
|
||||
"exchange": "0x198805e9682fceec29413059b68550f92868c129",
|
||||
"erc20Proxy": "0x2f5ae4f6106e89b4147651688a92256885c5f410",
|
||||
"erc721Proxy": "0x7656d773e11ff7383a14dcf09a9c50990481cd10",
|
||||
"exchange": "0xf8becacec90bfc361c0a2c720839e08405a72f6d",
|
||||
"erc20Proxy": "0x070efeb7e5ffa3d1a59d03a219539551ae60ba43",
|
||||
"erc721Proxy": "0x7f10d80f2659aaae790ab03da12be11c4e6008c3",
|
||||
"zrxToken": "0x8080c7e4b81ecf23aa6f877cfbfd9b0c228c6ffa",
|
||||
"etherToken": "0xc778417e063141139fce010982780140aa0cd5ab",
|
||||
"assetProxyOwner": "0x0000000000000000000000000000000000000000",
|
||||
"zeroExGovernor": "0x3f46b98061a3e1e1f41dff296ec19402c298f8a9",
|
||||
"forwarder": "0x18571835c95a6d79b2f5c45b676ccd16f5fa34a1",
|
||||
"coordinatorRegistry": "0x1084b6a398e47907bae43fec3ff4b677db6e4fee",
|
||||
"coordinator": "0x70c5385ee5ee4629ef72abd169e888c8b4a12238",
|
||||
"multiAssetProxy": "0xb34cde0ad3a83d04abebc0b66e75196f22216621",
|
||||
"staticCallProxy": "0xe1b97e47aa3796276033a5341e884d2ba46b6ac1",
|
||||
"erc1155Proxy": "0x19bb6caa3bc34d39e5a23cedfa3e6c7e7f3c931d",
|
||||
"devUtils": "0x9402639a828bdf4e9e4103ac3b69e1a6e522eb59",
|
||||
"zrxVault": "0xa5bf6ac73bc40790fc6ffc9dbbbce76c9176e224",
|
||||
"staking": "0x7cbe3c09cba24f26db24d9100ee915fa9fa21f5b",
|
||||
"stakingProxy": "0xc6ad5277ea225ac05e271eb14a7ebb480cd9dd9f",
|
||||
"erc20BridgeProxy": "0x31b8653642110f17bdb1f719901d7e7d49b08141",
|
||||
"forwarder": "0xe30f6166fe1cd5f0048abeed3d20360feb4a1fd8",
|
||||
"coordinatorRegistry": "0xc2e2f8faf4bf649123b6f94103646cb4a0331006",
|
||||
"coordinator": "0xf1ec7d0ba42f15fb5c9e3adbe86431973e44764c",
|
||||
"multiAssetProxy": "0xb344afed348de15eb4a9e180205a2b0739628339",
|
||||
"staticCallProxy": "0x7b70a148e20b348c320208df84fdd642aab49fd0",
|
||||
"erc1155Proxy": "0xaa460127562482faa5df42f2c39a025cd4a1cc0a",
|
||||
"devUtils": "0x46b5bc959e8a754c0256fff73bf34a52ad5cdfa9",
|
||||
"zrxVault": "0x4af649ffde640ceb34b1afaba3e0bb8e9698cb01",
|
||||
"staking": "0x6acab4c9c4e3a0c78435fdb5ad1719c95460a668",
|
||||
"stakingProxy": "0x781ee6683595f823208be6540a279f940e6af196",
|
||||
"erc20BridgeProxy": "0xa2aa4befed748fba27a3be7dfd2c4b2c6db1f49b",
|
||||
"uniswapBridge": "0x0000000000000000000000000000000000000000",
|
||||
"uniswapV2Bridge": "0x0000000000000000000000000000000000000000",
|
||||
"eth2DaiBridge": "0x0000000000000000000000000000000000000000",
|
||||
@ -121,7 +121,7 @@
|
||||
"chaiBridge": "0x0000000000000000000000000000000000000000",
|
||||
"dydxBridge": "0x0000000000000000000000000000000000000000",
|
||||
"godsUnchainedValidator": "0x0000000000000000000000000000000000000000",
|
||||
"broker": "0x0000000000000000000000000000000000000000",
|
||||
"broker": "0x0dd2d6cabbd8ae7d2fe6840fa597a44b1a7e4747",
|
||||
"chainlinkStopLimit": "0x407b4128e9ecad8769b2332312a9f655cb9f5f3a",
|
||||
"curveBridge": "0x1796cd592d19e3bcd744fbb025bb61a6d8cb2c09",
|
||||
"maximumGasPrice": "0x47697b44bd89051e93b4d5857ba8e024800a74ac",
|
||||
@ -136,43 +136,43 @@
|
||||
"transformers": {
|
||||
"wethTransformer": "0x7bab5f7299e1ca123bb44eb71e6c89be7e558cc8",
|
||||
"payTakerTransformer": "0xe8c07a119452b55eee2f999478aab97f3656d841",
|
||||
"fillQuoteTransformer": "0x2013735f6df965494a0fbc292f84dd44debaba3e",
|
||||
"fillQuoteTransformer": "0x454cC891dc428Be81d1d6Fd3dd7026a752FBFBc9",
|
||||
"affiliateFeeTransformer": "0x9d7174f55b50dad2e417bd567ad2da1ae4eef76d"
|
||||
}
|
||||
},
|
||||
"42": {
|
||||
"erc20Proxy": "0xf1ec01d6236d3cd881a0bf0130ea25fe4234003e",
|
||||
"erc721Proxy": "0x2a9127c745688a165106c11cd4d647d2220af821",
|
||||
"erc20Proxy": "0xaa460127562482faa5df42f2c39a025cd4a1cc0a",
|
||||
"erc721Proxy": "0x7b70a148e20b348c320208df84fdd642aab49fd0",
|
||||
"zrxToken": "0x2002d3812f58e35f0ea1ffbf80a75a38c32175fa",
|
||||
"etherToken": "0xd0a1e359811322d97991e03f863a0c30c2cf029c",
|
||||
"exchangeV2": "0x30589010550762d2f0d06f650d8e8b6ade6dbf4b",
|
||||
"exchange": "0x4eacd0af335451709e1e7b570b8ea68edec8bc97",
|
||||
"exchange": "0xf1ec7d0ba42f15fb5c9e3adbe86431973e44764c",
|
||||
"assetProxyOwner": "0x0000000000000000000000000000000000000000",
|
||||
"zeroExGovernor": "0x6ff734d96104965c9c1b0108f83abc46e6e501df",
|
||||
"forwarder": "0x01c0ecf5d1a22de07a2de84c322bfa2b5435990e",
|
||||
"coordinatorRegistry": "0x09fb99968c016a3ff537bf58fb3d9fe55a7975d5",
|
||||
"coordinator": "0xd29e59e51e8ab5f94121efaeebd935ca4214e257",
|
||||
"multiAssetProxy": "0xf6313a772c222f51c28f2304c0703b8cf5428fd8",
|
||||
"staticCallProxy": "0x48e94bdb9033640d45ea7c721e25f380f8bffa43",
|
||||
"erc1155Proxy": "0x64517fa2b480ba3678a2a3c0cf08ef7fd4fad36f",
|
||||
"devUtils": "0x9402639a828bdf4e9e4103ac3b69e1a6e522eb59",
|
||||
"zrxVault": "0xf36eabdfe986b35b62c8fd5a98a7f2aebb79b291",
|
||||
"staking": "0x32b06d5611a03737a5f1834a24ccd641033fd89c",
|
||||
"stakingProxy": "0xbab9145f1d57cd4bb0c9aa2d1ece0a5b6e734d34",
|
||||
"erc20BridgeProxy": "0xfb2dd2a1366de37f7241c83d47da58fd503e2c64",
|
||||
"forwarder": "0x0f64646a5154ae5e58b6dd87ede7b04f508d76f8",
|
||||
"coordinatorRegistry": "0x070efeb7e5ffa3d1a59d03a219539551ae60ba43",
|
||||
"coordinator": "0x7f10d80f2659aaae790ab03da12be11c4e6008c3",
|
||||
"multiAssetProxy": "0x58a01e826e60731247e7de8b446ed4c8535a099c",
|
||||
"staticCallProxy": "0xa2aa4befed748fba27a3be7dfd2c4b2c6db1f49b",
|
||||
"erc1155Proxy": "0xb344afed348de15eb4a9e180205a2b0739628339",
|
||||
"devUtils": "0xc67ae71928568a180b3aad1339dedcf3076876fe",
|
||||
"zrxVault": "0x781ee6683595f823208be6540a279f940e6af196",
|
||||
"staking": "0x73ea24041e03a012c51a45c307e0ba376af0238c",
|
||||
"stakingProxy": "0xe94cb304b3f515be7c95fedcfa249a84995fd748",
|
||||
"erc20BridgeProxy": "0x3577552c1fb7a44ad76beeb7ab53251668a21f8d",
|
||||
"uniswapBridge": "0x0e85f89f29998df65402391478e5924700c0079d",
|
||||
"uniswapV2Bridge": "0x7b3530a635d099de0534dc27e46cd7c57578c3c8",
|
||||
"eth2DaiBridge": "0x2d47147429b474d2e4f83e658015858a1312ed5b",
|
||||
"erc20BridgeSampler": "0xcf9e66851f274aa4721e54526117876d90d51aa1",
|
||||
"kyberBridge": "0xaecfa25920f892b6eb496e1f6e84037f59da7f44",
|
||||
"chaiBridge": "0x0000000000000000000000000000000000000000",
|
||||
"dydxBridge": "0x3be8e59038d8c4e8d8776ca40ef2f024bad95ad1",
|
||||
"dydxBridge": "0xc213707de0454008758071c2edc1365621b8a5c5",
|
||||
"godsUnchainedValidator": "0x0000000000000000000000000000000000000000",
|
||||
"broker": "0x0000000000000000000000000000000000000000",
|
||||
"broker": "0xcdeb6d90ee7c96b4c713f7bb4f8604981f7ebe9d",
|
||||
"chainlinkStopLimit": "0x0000000000000000000000000000000000000000",
|
||||
"curveBridge": "0x81c0ab53a7352d2e97f682a37cba44e54647eefb",
|
||||
"maximumGasPrice": "0x67a094cf028221ffdd93fc658f963151d05e2a74",
|
||||
"dexForwarderBridge": "0xf220eb0b29e18bbc8ebc964e915b7547c7b4de4f",
|
||||
"dexForwarderBridge": "0x985d1a95c6a86a3bf85c4d425af984abceaf01de",
|
||||
"multiBridge": "0x0000000000000000000000000000000000000000",
|
||||
"balancerBridge": "0x407b4128e9ecad8769b2332312a9f655cb9f5f3a",
|
||||
"exchangeProxyGovernor": "0x618f9c67ce7bf1a50afa1e7e0238422601b0ff6e",
|
||||
@ -183,7 +183,7 @@
|
||||
"transformers": {
|
||||
"wethTransformer": "0x7bab5f7299e1ca123bb44eb71e6c89be7e558cc8",
|
||||
"payTakerTransformer": "0xe8c07a119452b55eee2f999478aab97f3656d841",
|
||||
"fillQuoteTransformer": "0xbc33dd7a09da8ca943517a0fb786bcf0192f8be2",
|
||||
"fillQuoteTransformer": "0xA8c8Cf29699F223766F47FE79e2B7eB1a90e08C8",
|
||||
"affiliateFeeTransformer": "0x9d7174f55b50dad2e417bd567ad2da1ae4eef76d"
|
||||
}
|
||||
},
|
||||
|
@ -14,13 +14,10 @@ import {
|
||||
CoordinatorRegistryContract,
|
||||
} from '@0x/contracts-coordinator';
|
||||
import { artifacts as devUtilsArtifacts, DevUtilsContract } from '@0x/contracts-dev-utils';
|
||||
import { artifacts as erc1155Artifacts, ERC1155MintableContract } from '@0x/contracts-erc1155';
|
||||
import { artifacts as erc20Artifacts, DummyERC20TokenContract, WETH9Contract } from '@0x/contracts-erc20';
|
||||
import {
|
||||
artifacts as erc20BridgeSamplerArtifacts,
|
||||
ERC20BridgeSamplerContract,
|
||||
} from '@0x/contracts-erc20-bridge-sampler';
|
||||
import { artifacts as erc721Artifacts, DummyERC721TokenContract } from '@0x/contracts-erc721';
|
||||
import { artifacts as erc1155Artifacts } from '@0x/contracts-erc1155';
|
||||
import { artifacts as erc20Artifacts } from '@0x/contracts-erc20';
|
||||
import { artifacts as erc20BridgeSamplerArtifacts } from '@0x/contracts-erc20-bridge-sampler';
|
||||
import { artifacts as erc721Artifacts } from '@0x/contracts-erc721';
|
||||
import { artifacts as exchangeArtifacts, ExchangeContract } from '@0x/contracts-exchange';
|
||||
import { artifacts as forwarderArtifacts, ForwarderContract } from '@0x/contracts-exchange-forwarder';
|
||||
import {
|
||||
@ -38,13 +35,13 @@ import {
|
||||
ITransformERC20Contract,
|
||||
PayTakerTransformerContract,
|
||||
WethTransformerContract,
|
||||
ZeroExContract,
|
||||
} from '@0x/contracts-zero-ex';
|
||||
import { Web3ProviderEngine } from '@0x/subproviders';
|
||||
import { Web3ProviderEngine, ZeroExProvider } from '@0x/subproviders';
|
||||
import { BigNumber, providerUtils } from '@0x/utils';
|
||||
import { SupportedProvider, TxData } from 'ethereum-types';
|
||||
|
||||
import { constants } from './utils/constants';
|
||||
import { erc20TokenInfo, erc721TokenInfo } from './utils/token_info';
|
||||
|
||||
const allArtifacts = {
|
||||
...assetProxyArtifacts,
|
||||
@ -61,6 +58,53 @@ const allArtifacts = {
|
||||
};
|
||||
|
||||
const { NULL_ADDRESS } = constants;
|
||||
const NULL_ADDRESSES = {
|
||||
erc20Proxy: NULL_ADDRESS,
|
||||
erc721Proxy: NULL_ADDRESS,
|
||||
erc1155Proxy: NULL_ADDRESS,
|
||||
zrxToken: NULL_ADDRESS,
|
||||
etherToken: NULL_ADDRESS,
|
||||
exchange: NULL_ADDRESS,
|
||||
assetProxyOwner: NULL_ADDRESS,
|
||||
erc20BridgeProxy: NULL_ADDRESS,
|
||||
zeroExGovernor: NULL_ADDRESS,
|
||||
forwarder: NULL_ADDRESS,
|
||||
coordinatorRegistry: NULL_ADDRESS,
|
||||
coordinator: NULL_ADDRESS,
|
||||
multiAssetProxy: NULL_ADDRESS,
|
||||
staticCallProxy: NULL_ADDRESS,
|
||||
devUtils: NULL_ADDRESS,
|
||||
exchangeV2: NULL_ADDRESS,
|
||||
zrxVault: NULL_ADDRESS,
|
||||
staking: NULL_ADDRESS,
|
||||
stakingProxy: NULL_ADDRESS,
|
||||
uniswapBridge: NULL_ADDRESS,
|
||||
eth2DaiBridge: NULL_ADDRESS,
|
||||
kyberBridge: NULL_ADDRESS,
|
||||
erc20BridgeSampler: NULL_ADDRESS,
|
||||
chaiBridge: NULL_ADDRESS,
|
||||
dydxBridge: NULL_ADDRESS,
|
||||
curveBridge: NULL_ADDRESS,
|
||||
uniswapV2Bridge: NULL_ADDRESS,
|
||||
godsUnchainedValidator: NULL_ADDRESS,
|
||||
broker: NULL_ADDRESS,
|
||||
chainlinkStopLimit: NULL_ADDRESS,
|
||||
maximumGasPrice: NULL_ADDRESS,
|
||||
dexForwarderBridge: NULL_ADDRESS,
|
||||
multiBridge: NULL_ADDRESS,
|
||||
balancerBridge: NULL_ADDRESS,
|
||||
exchangeProxyGovernor: NULL_ADDRESS,
|
||||
exchangeProxy: NULL_ADDRESS,
|
||||
exchangeProxyAllowanceTarget: NULL_ADDRESS,
|
||||
exchangeProxyTransformerDeployer: NULL_ADDRESS,
|
||||
exchangeProxyFlashWallet: NULL_ADDRESS,
|
||||
transformers: {
|
||||
wethTransformer: NULL_ADDRESS,
|
||||
payTakerTransformer: NULL_ADDRESS,
|
||||
fillQuoteTransformer: NULL_ADDRESS,
|
||||
affiliateFeeTransformer: NULL_ADDRESS,
|
||||
},
|
||||
};
|
||||
|
||||
/**
|
||||
* Creates and deploys all the contracts that are required for the latest
|
||||
@ -75,7 +119,135 @@ export async function runMigrationsAsync(
|
||||
): Promise<ContractAddresses> {
|
||||
const provider = providerUtils.standardizeOrThrow(supportedProvider);
|
||||
const chainId = new BigNumber(await providerUtils.getChainIdAsync(provider));
|
||||
const { exchangeV2, etherToken, zrxToken } = getContractAddressesForChainOrThrow(chainId.toNumber());
|
||||
|
||||
// Exchange
|
||||
const exchange = await ExchangeContract.deployFrom0xArtifactAsync(
|
||||
exchangeArtifacts.Exchange,
|
||||
provider,
|
||||
txDefaults,
|
||||
allArtifacts,
|
||||
chainId,
|
||||
);
|
||||
|
||||
// Dev Utils
|
||||
const devUtils = await DevUtilsContract.deployWithLibrariesFrom0xArtifactAsync(
|
||||
devUtilsArtifacts.DevUtils,
|
||||
devUtilsArtifacts,
|
||||
provider,
|
||||
txDefaults,
|
||||
allArtifacts,
|
||||
exchange.address,
|
||||
NULL_ADDRESS,
|
||||
NULL_ADDRESS,
|
||||
);
|
||||
|
||||
// CoordinatorRegistry
|
||||
const coordinatorRegistry = await CoordinatorRegistryContract.deployFrom0xArtifactAsync(
|
||||
coordinatorArtifacts.CoordinatorRegistry,
|
||||
provider,
|
||||
txDefaults,
|
||||
allArtifacts,
|
||||
);
|
||||
|
||||
// Coordinator
|
||||
const coordinator = await CoordinatorContract.deployFrom0xArtifactAsync(
|
||||
coordinatorArtifacts.Coordinator,
|
||||
provider,
|
||||
txDefaults,
|
||||
allArtifacts,
|
||||
exchange.address,
|
||||
chainId,
|
||||
);
|
||||
|
||||
const [
|
||||
erc20Proxy,
|
||||
erc721Proxy,
|
||||
erc1155Proxy,
|
||||
staticCallProxy,
|
||||
multiAssetProxy,
|
||||
erc20BridgeProxy,
|
||||
] = await _migrateAssetProxiesAsync(exchange, provider, txDefaults);
|
||||
|
||||
const [zrxVault, stakingLogic, stakingProxy] = await _migrateStakingAsync(
|
||||
exchange,
|
||||
erc20Proxy,
|
||||
zrxToken,
|
||||
etherToken,
|
||||
provider,
|
||||
txDefaults,
|
||||
);
|
||||
|
||||
// Forwarder
|
||||
// Deployed after Exchange and Staking is configured as it queries
|
||||
// in the constructor
|
||||
const forwarder = await ForwarderContract.deployFrom0xArtifactAsync(
|
||||
forwarderArtifacts.Forwarder,
|
||||
provider,
|
||||
txDefaults,
|
||||
allArtifacts,
|
||||
exchange.address,
|
||||
exchangeV2,
|
||||
etherToken,
|
||||
);
|
||||
|
||||
const [
|
||||
exchangeProxy,
|
||||
fillQuoteTransformer,
|
||||
payTakerTransformer,
|
||||
wethTransformer,
|
||||
affiliateFeeTransformer,
|
||||
exchangeProxyFlashWalletAddress,
|
||||
exchangeProxyAllowanceTargetAddress,
|
||||
] = await _migrateExchangeProxyAsync(exchange, etherToken, provider, txDefaults);
|
||||
|
||||
const contractAddresses = {
|
||||
...NULL_ADDRESSES,
|
||||
erc20Proxy: erc20Proxy.address,
|
||||
erc721Proxy: erc721Proxy.address,
|
||||
erc1155Proxy: erc1155Proxy.address,
|
||||
zrxToken,
|
||||
etherToken,
|
||||
exchange: exchange.address,
|
||||
erc20BridgeProxy: erc20BridgeProxy.address,
|
||||
forwarder: forwarder.address,
|
||||
coordinatorRegistry: coordinatorRegistry.address,
|
||||
coordinator: coordinator.address,
|
||||
multiAssetProxy: multiAssetProxy.address,
|
||||
staticCallProxy: staticCallProxy.address,
|
||||
devUtils: devUtils.address,
|
||||
exchangeV2: exchangeV2,
|
||||
zrxVault: zrxVault.address,
|
||||
staking: stakingLogic.address,
|
||||
stakingProxy: stakingProxy.address,
|
||||
exchangeProxy: exchangeProxy.address,
|
||||
exchangeProxyAllowanceTarget: exchangeProxyAllowanceTargetAddress,
|
||||
exchangeProxyTransformerDeployer: txDefaults.from,
|
||||
exchangeProxyFlashWallet: exchangeProxyFlashWalletAddress,
|
||||
transformers: {
|
||||
wethTransformer: wethTransformer.address,
|
||||
payTakerTransformer: payTakerTransformer.address,
|
||||
fillQuoteTransformer: fillQuoteTransformer.address,
|
||||
affiliateFeeTransformer: affiliateFeeTransformer.address,
|
||||
},
|
||||
};
|
||||
return contractAddresses;
|
||||
}
|
||||
|
||||
async function _migrateAssetProxiesAsync(
|
||||
exchange: ExchangeContract,
|
||||
provider: ZeroExProvider,
|
||||
txDefaults: TxData,
|
||||
): Promise<
|
||||
[
|
||||
ERC20ProxyContract,
|
||||
ERC721ProxyContract,
|
||||
ERC1155ProxyContract,
|
||||
StaticCallProxyContract,
|
||||
MultiAssetProxyContract,
|
||||
ERC20BridgeProxyContract
|
||||
]
|
||||
> {
|
||||
// Proxies
|
||||
const erc20Proxy = await ERC20ProxyContract.deployFrom0xArtifactAsync(
|
||||
assetProxyArtifacts.ERC20Proxy,
|
||||
@ -90,62 +262,6 @@ export async function runMigrationsAsync(
|
||||
allArtifacts,
|
||||
);
|
||||
|
||||
// ZRX
|
||||
const zrxToken = await DummyERC20TokenContract.deployFrom0xArtifactAsync(
|
||||
erc20Artifacts.DummyERC20Token,
|
||||
provider,
|
||||
txDefaults,
|
||||
allArtifacts,
|
||||
'0x Protocol Token',
|
||||
'ZRX',
|
||||
new BigNumber(18),
|
||||
new BigNumber(1000000000000000000000000000),
|
||||
);
|
||||
|
||||
// Ether token
|
||||
const etherToken = await WETH9Contract.deployFrom0xArtifactAsync(
|
||||
erc20Artifacts.WETH9,
|
||||
provider,
|
||||
txDefaults,
|
||||
allArtifacts,
|
||||
);
|
||||
|
||||
// Exchange
|
||||
const exchange = await ExchangeContract.deployFrom0xArtifactAsync(
|
||||
exchangeArtifacts.Exchange,
|
||||
provider,
|
||||
txDefaults,
|
||||
allArtifacts,
|
||||
chainId,
|
||||
);
|
||||
|
||||
// Dummy ERC20 tokens
|
||||
for (const token of erc20TokenInfo) {
|
||||
const totalSupply = new BigNumber(1000000000000000000000000000);
|
||||
// tslint:disable-next-line:no-unused-variable
|
||||
const dummyErc20Token = await DummyERC20TokenContract.deployFrom0xArtifactAsync(
|
||||
erc20Artifacts.DummyERC20Token,
|
||||
provider,
|
||||
txDefaults,
|
||||
allArtifacts,
|
||||
token.name,
|
||||
token.symbol,
|
||||
token.decimals,
|
||||
totalSupply,
|
||||
);
|
||||
}
|
||||
|
||||
// ERC721
|
||||
// tslint:disable-next-line:no-unused-variable
|
||||
const cryptoKittieToken = await DummyERC721TokenContract.deployFrom0xArtifactAsync(
|
||||
erc721Artifacts.DummyERC721Token,
|
||||
provider,
|
||||
txDefaults,
|
||||
allArtifacts,
|
||||
erc721TokenInfo[0].name,
|
||||
erc721TokenInfo[0].symbol,
|
||||
);
|
||||
|
||||
// 1155 Asset Proxy
|
||||
const erc1155Proxy = await ERC1155ProxyContract.deployFrom0xArtifactAsync(
|
||||
assetProxyArtifacts.ERC1155Proxy,
|
||||
@ -168,19 +284,29 @@ export async function runMigrationsAsync(
|
||||
allArtifacts,
|
||||
);
|
||||
|
||||
const erc20BridgeProxy = await ERC20BridgeProxyContract.deployFrom0xArtifactAsync(
|
||||
assetProxyArtifacts.ERC20BridgeProxy,
|
||||
provider,
|
||||
txDefaults,
|
||||
allArtifacts,
|
||||
);
|
||||
|
||||
await erc20Proxy.addAuthorizedAddress(exchange.address).awaitTransactionSuccessAsync(txDefaults);
|
||||
await erc721Proxy.addAuthorizedAddress(exchange.address).awaitTransactionSuccessAsync(txDefaults);
|
||||
await erc1155Proxy.addAuthorizedAddress(exchange.address).awaitTransactionSuccessAsync(txDefaults);
|
||||
await multiAssetProxy.addAuthorizedAddress(exchange.address).awaitTransactionSuccessAsync(txDefaults);
|
||||
await erc20BridgeProxy.addAuthorizedAddress(exchange.address).awaitTransactionSuccessAsync(txDefaults);
|
||||
|
||||
// MultiAssetProxy
|
||||
await erc20Proxy.addAuthorizedAddress(multiAssetProxy.address).awaitTransactionSuccessAsync(txDefaults);
|
||||
await erc721Proxy.addAuthorizedAddress(multiAssetProxy.address).awaitTransactionSuccessAsync(txDefaults);
|
||||
await erc1155Proxy.addAuthorizedAddress(multiAssetProxy.address).awaitTransactionSuccessAsync(txDefaults);
|
||||
await erc20BridgeProxy.addAuthorizedAddress(multiAssetProxy.address).awaitTransactionSuccessAsync(txDefaults);
|
||||
await multiAssetProxy.registerAssetProxy(erc20Proxy.address).awaitTransactionSuccessAsync(txDefaults);
|
||||
await multiAssetProxy.registerAssetProxy(erc721Proxy.address).awaitTransactionSuccessAsync(txDefaults);
|
||||
await multiAssetProxy.registerAssetProxy(erc1155Proxy.address).awaitTransactionSuccessAsync(txDefaults);
|
||||
await multiAssetProxy.registerAssetProxy(staticCallProxy.address).awaitTransactionSuccessAsync(txDefaults);
|
||||
await multiAssetProxy.registerAssetProxy(erc20BridgeProxy.address).awaitTransactionSuccessAsync(txDefaults);
|
||||
|
||||
// Register the Asset Proxies to the Exchange
|
||||
await exchange.registerAssetProxy(erc20Proxy.address).awaitTransactionSuccessAsync(txDefaults);
|
||||
@ -188,64 +314,26 @@ export async function runMigrationsAsync(
|
||||
await exchange.registerAssetProxy(erc1155Proxy.address).awaitTransactionSuccessAsync(txDefaults);
|
||||
await exchange.registerAssetProxy(multiAssetProxy.address).awaitTransactionSuccessAsync(txDefaults);
|
||||
await exchange.registerAssetProxy(staticCallProxy.address).awaitTransactionSuccessAsync(txDefaults);
|
||||
|
||||
// CoordinatorRegistry
|
||||
const coordinatorRegistry = await CoordinatorRegistryContract.deployFrom0xArtifactAsync(
|
||||
coordinatorArtifacts.CoordinatorRegistry,
|
||||
provider,
|
||||
txDefaults,
|
||||
allArtifacts,
|
||||
);
|
||||
|
||||
// Coordinator
|
||||
const coordinator = await CoordinatorContract.deployFrom0xArtifactAsync(
|
||||
coordinatorArtifacts.Coordinator,
|
||||
provider,
|
||||
txDefaults,
|
||||
allArtifacts,
|
||||
exchange.address,
|
||||
chainId,
|
||||
);
|
||||
|
||||
// Dev Utils
|
||||
const devUtils = await DevUtilsContract.deployWithLibrariesFrom0xArtifactAsync(
|
||||
devUtilsArtifacts.DevUtils,
|
||||
devUtilsArtifacts,
|
||||
provider,
|
||||
txDefaults,
|
||||
allArtifacts,
|
||||
exchange.address,
|
||||
NULL_ADDRESS,
|
||||
NULL_ADDRESS,
|
||||
);
|
||||
|
||||
// tslint:disable-next-line:no-unused-variable
|
||||
const erc1155DummyToken = await ERC1155MintableContract.deployFrom0xArtifactAsync(
|
||||
erc1155Artifacts.ERC1155Mintable,
|
||||
provider,
|
||||
txDefaults,
|
||||
allArtifacts,
|
||||
);
|
||||
|
||||
const erc20BridgeProxy = await ERC20BridgeProxyContract.deployFrom0xArtifactAsync(
|
||||
assetProxyArtifacts.ERC20BridgeProxy,
|
||||
provider,
|
||||
txDefaults,
|
||||
allArtifacts,
|
||||
);
|
||||
await exchange.registerAssetProxy(erc20BridgeProxy.address).awaitTransactionSuccessAsync(txDefaults);
|
||||
await erc20BridgeProxy.addAuthorizedAddress(exchange.address).awaitTransactionSuccessAsync(txDefaults);
|
||||
await erc20BridgeProxy.addAuthorizedAddress(multiAssetProxy.address).awaitTransactionSuccessAsync(txDefaults);
|
||||
await multiAssetProxy.registerAssetProxy(erc20BridgeProxy.address).awaitTransactionSuccessAsync(txDefaults);
|
||||
|
||||
const zrxProxy = erc20Proxy.address;
|
||||
return [erc20Proxy, erc721Proxy, erc1155Proxy, staticCallProxy, multiAssetProxy, erc20BridgeProxy];
|
||||
}
|
||||
|
||||
async function _migrateStakingAsync(
|
||||
exchange: ExchangeContract,
|
||||
erc20Proxy: ERC20ProxyContract,
|
||||
zrxTokenAddress: string,
|
||||
etherTokenAddress: string,
|
||||
provider: ZeroExProvider,
|
||||
txDefaults: TxData,
|
||||
): Promise<[ZrxVaultContract, TestStakingContract, StakingProxyContract]> {
|
||||
const zrxVault = await ZrxVaultContract.deployFrom0xArtifactAsync(
|
||||
stakingArtifacts.ZrxVault,
|
||||
provider,
|
||||
txDefaults,
|
||||
allArtifacts,
|
||||
zrxProxy,
|
||||
zrxToken.address,
|
||||
erc20Proxy.address,
|
||||
zrxTokenAddress,
|
||||
);
|
||||
|
||||
// Note we use TestStakingContract as the deployed bytecode of a StakingContract
|
||||
@ -255,7 +343,7 @@ export async function runMigrationsAsync(
|
||||
provider,
|
||||
txDefaults,
|
||||
allArtifacts,
|
||||
etherToken.address,
|
||||
etherTokenAddress,
|
||||
zrxVault.address,
|
||||
);
|
||||
|
||||
@ -281,29 +369,25 @@ export async function runMigrationsAsync(
|
||||
await stakingLogic.addAuthorizedAddress(txDefaults.from).awaitTransactionSuccessAsync(txDefaults);
|
||||
await stakingLogic.addExchangeAddress(exchange.address).awaitTransactionSuccessAsync(txDefaults);
|
||||
|
||||
// Forwarder
|
||||
// Deployed after Exchange and Staking is configured as it queries
|
||||
// in the constructor
|
||||
const { exchangeV2: exchangeV2Address } = getContractAddressesForChainOrThrow(chainId.toNumber());
|
||||
const forwarder = await ForwarderContract.deployFrom0xArtifactAsync(
|
||||
forwarderArtifacts.Forwarder,
|
||||
provider,
|
||||
txDefaults,
|
||||
allArtifacts,
|
||||
exchange.address,
|
||||
exchangeV2Address || NULL_ADDRESS,
|
||||
etherToken.address,
|
||||
);
|
||||
|
||||
const erc20BridgeSampler = await ERC20BridgeSamplerContract.deployFrom0xArtifactAsync(
|
||||
erc20BridgeSamplerArtifacts.ERC20BridgeSampler,
|
||||
provider,
|
||||
txDefaults,
|
||||
allArtifacts,
|
||||
);
|
||||
|
||||
// Exchange Proxy //////////////////////////////////////////////////////////
|
||||
return [zrxVault, stakingLogic, stakingProxy];
|
||||
}
|
||||
|
||||
async function _migrateExchangeProxyAsync(
|
||||
exchange: ExchangeContract,
|
||||
etherTokenAddress: string,
|
||||
provider: ZeroExProvider,
|
||||
txDefaults: TxData,
|
||||
): Promise<
|
||||
[
|
||||
ZeroExContract,
|
||||
FillQuoteTransformerContract,
|
||||
PayTakerTransformerContract,
|
||||
WethTransformerContract,
|
||||
AffiliateFeeTransformerContract,
|
||||
string,
|
||||
string
|
||||
]
|
||||
> {
|
||||
const exchangeProxy = await fullMigrateExchangeProxyAsync(txDefaults.from, provider, txDefaults);
|
||||
const exchangeProxyAllowanceTargetAddress = await new ITokenSpenderContract(
|
||||
exchangeProxy.address,
|
||||
@ -335,7 +419,7 @@ export async function runMigrationsAsync(
|
||||
provider,
|
||||
txDefaults,
|
||||
allArtifacts,
|
||||
etherToken.address,
|
||||
etherTokenAddress,
|
||||
);
|
||||
const affiliateFeeTransformer = await AffiliateFeeTransformerContract.deployFrom0xArtifactAsync(
|
||||
exchangeProxyArtifacts.AffiliateFeeTransformer,
|
||||
@ -344,54 +428,15 @@ export async function runMigrationsAsync(
|
||||
allArtifacts,
|
||||
);
|
||||
|
||||
const contractAddresses = {
|
||||
erc20Proxy: erc20Proxy.address,
|
||||
erc721Proxy: erc721Proxy.address,
|
||||
erc1155Proxy: erc1155Proxy.address,
|
||||
zrxToken: zrxToken.address,
|
||||
etherToken: etherToken.address,
|
||||
exchange: exchange.address,
|
||||
assetProxyOwner: NULL_ADDRESS,
|
||||
erc20BridgeProxy: erc20BridgeProxy.address,
|
||||
zeroExGovernor: NULL_ADDRESS,
|
||||
forwarder: forwarder.address,
|
||||
coordinatorRegistry: coordinatorRegistry.address,
|
||||
coordinator: coordinator.address,
|
||||
multiAssetProxy: multiAssetProxy.address,
|
||||
staticCallProxy: staticCallProxy.address,
|
||||
devUtils: devUtils.address,
|
||||
exchangeV2: exchangeV2Address || NULL_ADDRESS,
|
||||
zrxVault: zrxVault.address,
|
||||
staking: stakingLogic.address,
|
||||
stakingProxy: stakingProxy.address,
|
||||
uniswapBridge: NULL_ADDRESS,
|
||||
eth2DaiBridge: NULL_ADDRESS,
|
||||
kyberBridge: NULL_ADDRESS,
|
||||
erc20BridgeSampler: erc20BridgeSampler.address,
|
||||
chaiBridge: NULL_ADDRESS,
|
||||
dydxBridge: NULL_ADDRESS,
|
||||
curveBridge: NULL_ADDRESS,
|
||||
uniswapV2Bridge: NULL_ADDRESS,
|
||||
godsUnchainedValidator: NULL_ADDRESS,
|
||||
broker: NULL_ADDRESS,
|
||||
chainlinkStopLimit: NULL_ADDRESS,
|
||||
maximumGasPrice: NULL_ADDRESS,
|
||||
dexForwarderBridge: NULL_ADDRESS,
|
||||
multiBridge: NULL_ADDRESS,
|
||||
balancerBridge: NULL_ADDRESS,
|
||||
exchangeProxyGovernor: NULL_ADDRESS,
|
||||
exchangeProxy: exchangeProxy.address,
|
||||
exchangeProxyAllowanceTarget: exchangeProxyAllowanceTargetAddress,
|
||||
exchangeProxyTransformerDeployer: txDefaults.from,
|
||||
exchangeProxyFlashWallet: exchangeProxyFlashWalletAddress,
|
||||
transformers: {
|
||||
wethTransformer: wethTransformer.address,
|
||||
payTakerTransformer: payTakerTransformer.address,
|
||||
fillQuoteTransformer: fillQuoteTransformer.address,
|
||||
affiliateFeeTransformer: affiliateFeeTransformer.address,
|
||||
},
|
||||
};
|
||||
return contractAddresses;
|
||||
return [
|
||||
exchangeProxy,
|
||||
fillQuoteTransformer,
|
||||
payTakerTransformer,
|
||||
wethTransformer,
|
||||
affiliateFeeTransformer,
|
||||
exchangeProxyFlashWalletAddress,
|
||||
exchangeProxyAllowanceTargetAddress,
|
||||
];
|
||||
}
|
||||
|
||||
let _cachedContractAddresses: ContractAddresses;
|
||||
|
Loading…
x
Reference in New Issue
Block a user