synthetix
Version:
The smart contracts which make up the Synthetix system. (synthetix.io)
1,068 lines • 1.11 MB
JSON
{
"targets": {
"SafeDecimalMath": {
"name": "SafeDecimalMath",
"address": "0x0142F40c25CE1F1177Ed131101FA19217396cB88",
"source": "SafeDecimalMath",
"link": "https://etherscan.io/address/0x0142F40c25CE1F1177Ed131101FA19217396cB88",
"timestamp": "2021-01-15T05:40:43.101Z",
"txn": "",
"network": "mainnet"
},
"Math": {
"name": "Math",
"address": "0x0B3A73EE0740b3130e40B2A6b5aaf59E7E3Ef74c",
"source": "Math",
"link": "https://etherscan.io/address/0x0B3A73EE0740b3130e40B2A6b5aaf59E7E3Ef74c",
"timestamp": "2021-01-15T05:40:44.427Z",
"txn": "",
"network": "mainnet"
},
"AddressResolver": {
"name": "AddressResolver",
"address": "0x95A6a3f44a70172E7d50a9e28c85Dfd712756B8C",
"source": "AddressResolver",
"link": "https://etherscan.io/address/0x95A6a3f44a70172E7d50a9e28c85Dfd712756B8C",
"timestamp": "2021-01-15T05:40:45.820Z",
"txn": "",
"network": "mainnet"
},
"ReadProxyAddressResolver": {
"name": "ReadProxyAddressResolver",
"address": "0x1Cb059b7e74fD21665968C908806143E744D5F30",
"source": "ReadProxy",
"link": "https://etherscan.io/address/0x1Cb059b7e74fD21665968C908806143E744D5F30",
"timestamp": "2021-01-15T05:40:47.164Z",
"txn": "",
"network": "mainnet"
},
"FlexibleStorage": {
"name": "FlexibleStorage",
"address": "0x47649022380d182DA8010Ae5d257fea4227b21ff",
"source": "FlexibleStorage",
"link": "https://etherscan.io/address/0x47649022380d182DA8010Ae5d257fea4227b21ff",
"timestamp": "2021-01-15T05:40:50.897Z",
"txn": "",
"network": "mainnet"
},
"SystemSettings": {
"name": "SystemSettings",
"address": "0x8454190C164e52664Af2c9C24ab58c4e14D6bbE4",
"source": "SystemSettings",
"link": "https://etherscan.io/address/0x8454190C164e52664Af2c9C24ab58c4e14D6bbE4",
"timestamp": "2021-01-15T05:40:52.990Z",
"txn": "",
"network": "mainnet"
},
"SystemStatus": {
"name": "SystemStatus",
"address": "0x357b58E0b1Be9d8A944380048fa1080c57c7A362",
"source": "SystemStatus",
"link": "https://etherscan.io/address/0x357b58E0b1Be9d8A944380048fa1080c57c7A362",
"timestamp": "2021-01-15T05:40:54.610Z",
"txn": "",
"network": "mainnet"
},
"ExchangeRates": {
"name": "ExchangeRates",
"address": "0x631E93A0fb06B5eC6d52c0A2D89a3f9672d6Ba64",
"source": "ExchangeRatesWithoutInvPricing",
"link": "https://etherscan.io/address/0x631E93A0fb06B5eC6d52c0A2D89a3f9672d6Ba64",
"timestamp": "2021-01-15T05:40:57.042Z",
"txn": "",
"network": "mainnet"
},
"RewardEscrow": {
"name": "RewardEscrow",
"address": "0xd32138018210edA0028240638f35b70ECC0D8C22",
"source": "RewardEscrow",
"link": "https://etherscan.io/address/0xd32138018210edA0028240638f35b70ECC0D8C22",
"timestamp": "2021-01-15T05:40:59.117Z",
"txn": "",
"network": "mainnet"
},
"RewardEscrowV2": {
"name": "RewardEscrowV2",
"address": "0x47eE58801C1AC44e54FF2651aE50525c5cfc66d0",
"source": "ImportableRewardEscrowV2",
"link": "https://etherscan.io/address/0x47eE58801C1AC44e54FF2651aE50525c5cfc66d0",
"timestamp": "2021-01-15T05:41:01.548Z",
"txn": "",
"network": "mainnet"
},
"SynthetixEscrow": {
"name": "SynthetixEscrow",
"address": "0x06C6D063896ac733673c4474E44d9268f2402A55",
"source": "SynthetixEscrow",
"link": "https://etherscan.io/address/0x06C6D063896ac733673c4474E44d9268f2402A55",
"timestamp": "2021-01-15T05:41:03.357Z",
"txn": "",
"network": "mainnet"
},
"SynthetixState": {
"name": "SynthetixState",
"address": "0x9770239D49Db97E77fc5Adcb5413654C9e45A510",
"source": "SynthetixStateWithLimitedSetup",
"link": "https://etherscan.io/address/0x9770239D49Db97E77fc5Adcb5413654C9e45A510",
"timestamp": "2021-01-17T03:23:18.386Z",
"txn": "",
"network": "mainnet"
},
"ProxyFeePool": {
"name": "ProxyFeePool",
"address": "0x4a16A42407AA491564643E1dfc1fd50af29794eF",
"source": "Proxy",
"link": "https://etherscan.io/address/0x4a16A42407AA491564643E1dfc1fd50af29794eF",
"timestamp": "2021-01-15T05:41:06.241Z",
"txn": "",
"network": "mainnet"
},
"DelegateApprovalsEternalStorage": {
"name": "DelegateApprovalsEternalStorage",
"address": "0x02f7fB66B55e6ca476d126d96f14c5732Eeb4363",
"source": "EternalStorage",
"link": "https://etherscan.io/address/0x02f7fB66B55e6ca476d126d96f14c5732Eeb4363",
"timestamp": "2021-01-15T05:41:08.129Z",
"txn": "",
"network": "mainnet"
},
"DelegateApprovals": {
"name": "DelegateApprovals",
"address": "0x2A23bc0EA97A89abD91214E8e4d20F02Fe14743f",
"source": "DelegateApprovals",
"link": "https://etherscan.io/address/0x2A23bc0EA97A89abD91214E8e4d20F02Fe14743f",
"timestamp": "2021-01-15T05:41:09.484Z",
"txn": "",
"network": "mainnet"
},
"Liquidations": {
"name": "Liquidations",
"address": "0x14E6f8e6Da00a32C069b11b64e48EA1FEF2361D4",
"source": "Liquidations",
"link": "https://etherscan.io/address/0x14E6f8e6Da00a32C069b11b64e48EA1FEF2361D4",
"timestamp": "2021-01-15T05:41:12.472Z",
"txn": "",
"network": "mainnet"
},
"EternalStorageLiquidations": {
"name": "EternalStorageLiquidations",
"address": "0x76d2de36936005A0182a1BB61dA501A8A044D477",
"source": "EternalStorage",
"link": "https://etherscan.io/address/0x76d2de36936005A0182a1BB61dA501A8A044D477",
"timestamp": "2021-01-15T05:41:14.302Z",
"txn": "",
"network": "mainnet"
},
"FeePoolEternalStorage": {
"name": "FeePoolEternalStorage",
"address": "0x41140Bf6498a36f2E44eFd49f21dAe3bbb7367c8",
"source": "FeePoolEternalStorage",
"link": "https://etherscan.io/address/0x41140Bf6498a36f2E44eFd49f21dAe3bbb7367c8",
"timestamp": "2021-01-15T05:41:16.528Z",
"txn": "",
"network": "mainnet"
},
"FeePool": {
"name": "FeePool",
"address": "0xF950a48E9463a13b13D75F452200E711c1c426b6",
"source": "FeePool",
"link": "https://etherscan.io/address/0xF950a48E9463a13b13D75F452200E711c1c426b6",
"timestamp": "2021-01-17T03:23:19.758Z",
"txn": "",
"network": "mainnet"
},
"FeePoolState": {
"name": "FeePoolState",
"address": "0x6e0d26cffc3a63d763F1546f749bf62ebC7d72D8",
"source": "FeePoolState",
"link": "https://etherscan.io/address/0x6e0d26cffc3a63d763F1546f749bf62ebC7d72D8",
"timestamp": "2021-01-17T03:23:21.273Z",
"txn": "",
"network": "mainnet"
},
"RewardsDistribution": {
"name": "RewardsDistribution",
"address": "0x5d9187630E99dBce4BcAB8733B76757f7F44aA2e",
"source": "RewardsDistribution",
"link": "https://etherscan.io/address/0x5d9187630E99dBce4BcAB8733B76757f7F44aA2e",
"timestamp": "2021-01-15T05:41:25.252Z",
"txn": "",
"network": "mainnet"
},
"ProxyERC20": {
"name": "ProxyERC20",
"address": "0x8700dAec35aF8Ff88c16BdF0418774CB3D7599B4",
"source": "ProxyERC20",
"link": "https://etherscan.io/address/0x8700dAec35aF8Ff88c16BdF0418774CB3D7599B4",
"timestamp": "2021-01-15T05:41:26.674Z",
"txn": "",
"network": "mainnet"
},
"TokenStateSynthetix": {
"name": "TokenStateSynthetix",
"address": "0xB9c6CA25452E7f6D0D3340CE1e9B573421afc2eE",
"source": "TokenState",
"link": "https://etherscan.io/address/0xB9c6CA25452E7f6D0D3340CE1e9B573421afc2eE",
"timestamp": "2021-01-15T05:41:28.112Z",
"txn": "",
"network": "mainnet"
},
"Synthetix": {
"name": "Synthetix",
"address": "0xD85eAFa37734E4ad237C3A3443D64DC94ae998E7",
"source": "MintableSynthetix",
"link": "https://etherscan.io/address/0xD85eAFa37734E4ad237C3A3443D64DC94ae998E7",
"timestamp": "2021-01-15T05:41:30.256Z",
"txn": "",
"network": "mainnet"
},
"ProxySynthetix": {
"name": "ProxySynthetix",
"address": "0x218067172e9E0460A883458D44BD1f56ea609502",
"source": "Proxy",
"link": "https://etherscan.io/address/0x218067172e9E0460A883458D44BD1f56ea609502",
"timestamp": "2021-01-15T05:41:32.973Z",
"txn": "",
"network": "mainnet"
},
"DebtCache": {
"name": "DebtCache",
"address": "0x5A528e35165e19f3392c9631243dd04d1229D324",
"source": "RealtimeDebtCache",
"link": "https://etherscan.io/address/0x5A528e35165e19f3392c9631243dd04d1229D324",
"timestamp": "2021-01-15T05:41:36.130Z",
"txn": "",
"network": "mainnet"
},
"Exchanger": {
"name": "Exchanger",
"address": "0xe318E4618E5684668992935d7231Cb837a44E670",
"source": "Exchanger",
"link": "https://etherscan.io/address/0xe318E4618E5684668992935d7231Cb837a44E670",
"timestamp": "2021-01-15T05:41:38.867Z",
"txn": "",
"network": "mainnet"
},
"ExchangeState": {
"name": "ExchangeState",
"address": "0x7EF87c14f50CFFe2e73d2C87916C3128c56593A8",
"source": "ExchangeState",
"link": "https://etherscan.io/address/0x7EF87c14f50CFFe2e73d2C87916C3128c56593A8",
"timestamp": "2021-01-15T05:41:40.250Z",
"txn": "",
"network": "mainnet"
},
"Issuer": {
"name": "Issuer",
"address": "0x8377b25B8564f6Be579865639776c5082CB37163",
"source": "IssuerWithoutLiquidations",
"link": "https://etherscan.io/address/0x8377b25B8564f6Be579865639776c5082CB37163",
"timestamp": "2021-01-15T05:41:51.372Z",
"txn": "",
"network": "mainnet"
},
"TradingRewards": {
"name": "TradingRewards",
"address": "0x2DcAD1A019fba8301b77810Ae14007cc88ED004B",
"source": "TradingRewards",
"link": "https://etherscan.io/address/0x2DcAD1A019fba8301b77810Ae14007cc88ED004B",
"timestamp": "2021-01-15T05:41:53.303Z",
"txn": "",
"network": "mainnet"
},
"EscrowChecker": {
"name": "EscrowChecker",
"address": "0xcdb7D0a946223255d39A6e29B54f08f3291cc118",
"source": "EscrowChecker",
"link": "https://etherscan.io/address/0xcdb7D0a946223255d39A6e29B54f08f3291cc118",
"timestamp": "2021-01-15T05:41:56.647Z",
"txn": "",
"network": "mainnet"
},
"TokenStatesUSD": {
"name": "TokenStatesUSD",
"address": "0x92bAc115d89cA17fd02Ed9357CEcA32842ACB4c2",
"source": "TokenState",
"link": "https://etherscan.io/address/0x92bAc115d89cA17fd02Ed9357CEcA32842ACB4c2",
"timestamp": "2021-01-15T05:42:03.802Z",
"txn": "",
"network": "mainnet"
},
"ProxysUSD": {
"name": "ProxysUSD",
"address": "0xbecc58c6D7Ca71b6FCC4cC8c9c5294A0eA7A0397",
"source": "Proxy",
"link": "https://etherscan.io/address/0xbecc58c6D7Ca71b6FCC4cC8c9c5294A0eA7A0397",
"timestamp": "2021-01-15T05:42:05.158Z",
"txn": "",
"network": "mainnet"
},
"ProxyERC20sUSD": {
"name": "ProxyERC20sUSD",
"address": "0x8c6f28f2F1A3C87F0f938b96d27520d9751ec8d9",
"source": "ProxyERC20",
"link": "https://etherscan.io/address/0x8c6f28f2F1A3C87F0f938b96d27520d9751ec8d9",
"timestamp": "2021-01-15T05:42:06.522Z",
"txn": "",
"network": "mainnet"
},
"SynthsUSD": {
"name": "SynthsUSD",
"address": "0xF2FF43DA7B6e5963059b7004df43b5c5870EEb18",
"source": "Synth",
"link": "https://etherscan.io/address/0xF2FF43DA7B6e5963059b7004df43b5c5870EEb18",
"timestamp": "2021-01-15T05:42:08.403Z",
"txn": "",
"network": "mainnet"
},
"EtherCollateral": {
"name": "EtherCollateral",
"address": "0xC8E91c926E04BE1cb94e51c5379d14774D51ae6C",
"source": "EmptyEtherCollateral",
"link": "https://etherscan.io/address/0xC8E91c926E04BE1cb94e51c5379d14774D51ae6C",
"timestamp": "2021-01-15T05:42:13.462Z",
"txn": "",
"network": "mainnet"
},
"EtherCollateralsUSD": {
"name": "EtherCollateralsUSD",
"address": "0xC0c66470E766AE2026E6695966C56C90741811AA",
"source": "EmptyEtherCollateral",
"link": "https://etherscan.io/address/0xC0c66470E766AE2026E6695966C56C90741811AA",
"timestamp": "2021-01-15T05:42:14.826Z",
"txn": "",
"network": "mainnet"
},
"SynthetixBridgeToBase": {
"name": "SynthetixBridgeToBase",
"address": "0x4D7186818daBFe88bD80421656BbD07Dffc979Cc",
"source": "SynthetixBridgeToBase",
"link": "https://etherscan.io/address/0x4D7186818daBFe88bD80421656BbD07Dffc979Cc",
"timestamp": "2021-01-15T05:42:16.675Z",
"txn": "",
"network": "mainnet"
},
"CollateralManager": {
"name": "CollateralManager",
"address": "0x70B21B422Dade467659522892A857F0Ee31cebb4",
"source": "EmptyCollateralManager",
"link": "https://etherscan.io/address/0x70B21B422Dade467659522892A857F0Ee31cebb4",
"timestamp": "2021-01-15T05:42:18.053Z",
"txn": "",
"network": "mainnet"
},
"SynthUtil": {
"name": "SynthUtil",
"address": "0x87b1481c82913301Fc6c884Ac266a7c430F92cFA",
"source": "SynthUtil",
"link": "https://etherscan.io/address/0x87b1481c82913301Fc6c884Ac266a7c430F92cFA",
"timestamp": "2021-01-15T05:42:19.657Z",
"txn": "",
"network": "mainnet"
},
"DappMaintenance": {
"name": "DappMaintenance",
"address": "0x54581A23F62D147AC76d454f0b3eF77F9D766058",
"source": "DappMaintenance",
"link": "https://etherscan.io/address/0x54581A23F62D147AC76d454f0b3eF77F9D766058",
"timestamp": "2021-01-15T05:42:21.010Z",
"txn": "",
"network": "mainnet"
}
},
"sources": {
"SafeDecimalMath": {
"bytecode": "6101d761007e600b82828239805160001a60731461001957fe5b5a63996d79a5598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051925060005b604081101561006f57600082820152602001610058565b505050600052607381538281f3fe7300000000000000000000000000000000000000005a63996d79a5598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051925060005b604081101561006a57600082820152602001610053565b505050146080604052600436106100c45760003560e01c8063313ce567146100d2578063864029e7146100f0578063907af6c01461010a5780639d8e217714610112578063d5e5e6e61461011a578063def4419d14610122575b6000806100cf61016c565b50505b6100da61012a565b60405160ff909116815260200160405180910390f35b6100f861012f565b60405190815260200160405180910390f35b6100f861013f565b6100f861014b565b6100f8610157565b6100da610167565b601281565b6b033b2e3c9fd0803ce800000081565b670de0b6b3a764000090565b670de0b6b3a764000081565b6b033b2e3c9fd0803ce800000090565b601b81565b632a2a7adb598160e01b8152600481016020815285602082015260005b868110156101a4578086015182820160400152602001610189565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b50505056",
"abi": [
{
"constant": true,
"inputs": [],
"name": "PRECISE_UNIT",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function",
"signature": "0x864029e7"
},
{
"constant": true,
"inputs": [],
"name": "UNIT",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function",
"signature": "0x9d8e2177"
},
{
"constant": true,
"inputs": [],
"name": "decimals",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"payable": false,
"stateMutability": "view",
"type": "function",
"signature": "0x313ce567"
},
{
"constant": true,
"inputs": [],
"name": "highPrecisionDecimals",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"payable": false,
"stateMutability": "view",
"type": "function",
"signature": "0xdef4419d"
},
{
"constant": true,
"inputs": [],
"name": "preciseUnit",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "pure",
"type": "function",
"signature": "0xd5e5e6e6"
},
{
"constant": true,
"inputs": [],
"name": "unit",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "pure",
"type": "function",
"signature": "0x907af6c0"
}
],
"source": {
"keccak256": "0x8406c1c67896f334676cfedd96a31eb55c23f1e9d4153de30bfc5eddfa22c0b5",
"urls": [
"bzz-raw://76b301b161758599aedd2587a00c4a18cd5d24e96ab32f8f18dbbca1e12b8462",
"dweb:/ipfs/QmQVauoKVbSHNWNshoZkWxMePWPZACGVoxA1v2GsggnZVB"
]
},
"metadata": {
"compiler": {
"version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d"
},
"language": "Solidity",
"settings": {
"compilationTarget": {
"SafeDecimalMath.sol": "SafeDecimalMath"
},
"evmVersion": "istanbul",
"libraries": {},
"optimizer": {
"enabled": true,
"runs": 200
},
"remappings": []
},
"sources": {
"SafeDecimalMath.sol": {
"keccak256": "0x8406c1c67896f334676cfedd96a31eb55c23f1e9d4153de30bfc5eddfa22c0b5",
"urls": [
"bzz-raw://76b301b161758599aedd2587a00c4a18cd5d24e96ab32f8f18dbbca1e12b8462",
"dweb:/ipfs/QmQVauoKVbSHNWNshoZkWxMePWPZACGVoxA1v2GsggnZVB"
]
}
},
"version": 1
}
},
"Math": {
"bytecode": "60e661007d600b82828239805160001a60731461001857fe5b5a63996d79a5598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051925060005b604081101561006e57600082820152602001610057565b505050600052607381538281f3fe7300000000000000000000000000000000000000005a63996d79a5598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051925060005b60408110156068576000828201526020016053565b505050146080604052600080607a607d565b50505b632a2a7adb598160e01b8152600481016020815285602082015260005b8681101560b3578086015182820160400152602001609a565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b50505056",
"abi": [],
"source": {
"keccak256": "0xc39ebf28d65885b91f0900eea387e002381d098c5ed65d4b3eb57b2413edec03",
"urls": [
"bzz-raw://7f4b7bcbc524c892fa636e5bfb73e8b3cec42c5c74839ed887976297ce234e3c",
"dweb:/ipfs/QmWoXRPKhngyz5i2iXdBHZURg6zDQRX3PoS7ts8D1gjpnr"
]
},
"metadata": {
"compiler": {
"version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d"
},
"language": "Solidity",
"settings": {
"compilationTarget": {
"Math.sol": "Math"
},
"evmVersion": "istanbul",
"libraries": {},
"optimizer": {
"enabled": true,
"runs": 200
},
"remappings": []
},
"sources": {
"Math.sol": {
"keccak256": "0xc39ebf28d65885b91f0900eea387e002381d098c5ed65d4b3eb57b2413edec03",
"urls": [
"bzz-raw://7f4b7bcbc524c892fa636e5bfb73e8b3cec42c5c74839ed887976297ce234e3c",
"dweb:/ipfs/QmWoXRPKhngyz5i2iXdBHZURg6zDQRX3PoS7ts8D1gjpnr"
]
}
},
"version": 1
}
},
"AddressResolver": {
"bytecode": "60806040523480156200001c576000806200001962000145565b50505b506040516200124938038062001249833981810160405260208110156200004d576000806200004a62000145565b50505b8101908080519250829150506001600160a01b038116620000bf5760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390620000bc62000145565b50505b806000600181620000cf620001b2565b816001600160a01b0302191690836001600160a01b0316021790620000f362000214565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a1505062000263565b632a2a7adb598160e01b8152600481016020815285602082015260005b868110156200017f57808601518282016040015260200162000162565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b60408110156200020f57600082820152602001620001f6565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b600081526020620001f6565b610fd680620002736000396000f3fe608060405234801561001957600080610016610c18565b50505b50600436106100b25760003560e01c8063766f78151161007a578063766f78151461018757806379ba5097146102195780638da5cb5b146102215780639f42102f14610229578063ab0b8f771461033a578063dacb2d0114610437576100b2565b80631627540c146100c0578063187f7935146100f157806321f8a72114610133578063514560611461015957806353a47bb71461017f575b6000806100bd610c18565b50505b6100ef600480360360208110156100df576000806100dc610c18565b50505b50356001600160a01b03166104d0565b005b610117600480360360208110156101105760008061010d610c18565b50505b503561054a565b6040516001600160a01b03909116815260200160405180910390f35b610117600480360360208110156101525760008061014f610c18565b50505b5035610577565b6101176004803603602081101561017857600080610175610c18565b50505b50356105a7565b6101176106e8565b6100ef600480360360208110156101a6576000806101a3610c18565b50505b810190602081018135600160201b8111156101c9576000806101c6610c18565b50505b8201836020820111156101e4576000806101e1610c18565b50505b803590602001918460208302840111600160201b8311171561020e5760008061020b610c18565b50505b5090925090506106f4565b6100ef6107a4565b610117610922565b6103266004803603604081101561024857600080610245610c18565b50505b810190602081018135600160201b81111561026b57600080610268610c18565b50505b82018360208201111561028657600080610283610c18565b50505b803590602001918460208302840111600160201b831117156102b0576000806102ad610c18565b50505b919390929091602081019035600160201b8111156102d6576000806102d3610c18565b50505b8201836020820111156102f1576000806102ee610c18565b50505b803590602001918460208302840111600160201b8311171561031b57600080610318610c18565b50505b50909250905061092d565b604051901515815260200160405180910390f35b6100ef6004803603604081101561035957600080610356610c18565b50505b810190602081018135600160201b81111561037c57600080610379610c18565b50505b82018360208201111561039757600080610394610c18565b50505b803590602001918460208302840111600160201b831117156103c1576000806103be610c18565b50505b919390929091602081019035600160201b8111156103e7576000806103e4610c18565b50505b820183602082011115610402576000806103ff610c18565b50505b803590602001918460208302840111600160201b8311171561042c57600080610429610c18565b50505b5090925090506109cc565b6101176004803603604081101561045657600080610453610c18565b50505b81359190810190604081016020820135600160201b8111156104805760008061047d610c18565b50505b82018360208201111561049b57600080610498610c18565b50505b803590602001918460018302840111600160201b831117156104c5576000806104c2610c18565b50505b509092509050610b0a565b6104d8610b9b565b80600180806104e5610c83565b816001600160a01b0302191690836001600160a01b0316021790610507610cde565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b600260205280600052604060002060009150610564610c83565b906101000a90046001600160a01b031681565b6000818152600260205260408120600090610590610c83565b906101000a90046001600160a01b03169050919050565b6524b9b9bab2b960d11b6000908152600260205280604081206000906105cb610c83565b6001600160a01b036101009290920a9004169050806106395760405162461bcd60e51b815260206004820152601a60248201527f43616e6e6f742066696e64204973737565722061646472657373000000000000604482015260640160405180910390610636610c18565b50505b806001600160a01b03166332608039846040516001600160e01b031960e084901b1681526004810191909152602401602060405180830381868061067b610d2c565b1580156106905760008061068d610c18565b50505b505a61069a610d78565b50505050501580156106b9573d6000803e3d60006106b6610c18565b50505b505050506040513d60208110156106d8576000806106d5610c18565b50505b8101908080519695505050505050565b60006001610564610c83565b60005b8181101561079f5782828281811061070b57fe5b905060200201356001600160a01b03166001600160a01b031663741853606040518163ffffffff1660e01b815260040160006040518083038160008780610750610d2c565b15801561076557600080610762610c18565b50505b505a61076f610e65565b50505050505015801561078f573d6000803e3d600061078c610c18565b50505b5050600190920191506106f79050565b505050565b600060016107b0610c83565b906101000a90046001600160a01b03166001600160a01b03165a6107d2610f2b565b6001600160a01b0316146108205760405162461bcd60e51b8152600401808060200182810382526035815260200180610f72603591396040019150506040518091039061081d610c18565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c60008061084c610c83565b906101000a90046001600160a01b03166001600090610869610c83565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a1600060016108a8610c83565b906101000a90046001600160a01b03166000806101000a816108c8610c83565b816001600160a01b0302191690836001600160a01b03160217906108ea610cde565b5050506000600160006101000a81610900610c83565b816001600160a01b0302191690836001600160a01b031602179061079f610cde565b600080610564610c83565b6000805b848110156109be5783838281811061094557fe5b905060200201356001600160a01b03166001600160a01b03166002600088888581811061096e57fe5b90506020020135815260200190815260200160002060009061098e610c83565b906101000a90046001600160a01b03166001600160a01b0316146109b65760009150506109c4565b600101610931565b50600190505b949350505050565b6109d4610b9b565b828114610a305760405162461bcd60e51b815260206004820152601860248201527f496e707574206c656e67746873206d757374206d617463680000000000000000604482015260640160405180910390610a2d610c18565b50505b60005b83811015610b03576000858583818110610a4957fe5b9050602002013590506000848484818110610a6057fe5b905060200201356001600160a01b031690508060026000848152602001908152602001600020600181610a91610c83565b816001600160a01b0302191690836001600160a01b0316021790610ab3610cde565b5050507fefe884cc7f82a6cf3cf68f64221519dcf96b5cae9048e1bb008ee32cd05aaa9182826040519182526001600160a01b031660208201526040908101905180910390a15050600101610a33565b5050505050565b600083815260026020528060408120600090610b24610c83565b6001600160a01b036101009290920a9004169050838382610b905760405162461bcd60e51b815260206004820190815260248201839052908190604401848480828437600083820152601f01601f19169091019450604093505050505180910390610b8d610c18565b50505b509095945050505050565b600080610ba6610c83565b906101000a90046001600160a01b03166001600160a01b03165a610bc8610f2b565b6001600160a01b031614610c165760405162461bcd60e51b815260040180806020018281038252602f815260200180610fa7602f913960400191505060405180910390610c13610c18565b50505b565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015610c50578086015182820160400152602001610c35565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b604081101561079f57600082820152602001610cc7565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b600081526020610cc7565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020610cc7565b638540661f598160e01b8152610dab565b8080831115610d955750815b92915050565b8080831015610d95575090919050565b836004820152846024820152606060448201528660648201526084810160005b88811015610de3578088015182820152602001610dcb565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af15059610e388d3d610d9b565b8c01610e448187610d89565b5b82811015610e595760008152602001610e45565b50929c50505050505050565b6385979f76598160e01b8152836004820152846024820152606060448201528760648201526084810160005b89811015610ea9578089015182820152602001610e91565b506060828a60a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8c8c82606087013350600060045af15059610efe8e3d610d9b565b8d01610f0a8187610d89565b5b82811015610f1f5760008152602001610f0b565b50929d50505050505050565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020610cc756fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "_owner",
"type": "address"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "constructor",
"signature": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bytes32",
"name": "name",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "address",
"name": "destination",
"type": "address"
}
],
"name": "AddressImported",
"type": "event",
"signature": "0xefe884cc7f82a6cf3cf68f64221519dcf96b5cae9048e1bb008ee32cd05aaa91"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "oldOwner",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnerChanged",
"type": "event",
"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnerNominated",
"type": "event",
"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
},
{
"constant": false,
"inputs": [],
"name": "acceptOwnership",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function",
"signature": "0x79ba5097"
},
{
"constant": true,
"inputs": [
{
"internalType": "bytes32[]",
"name": "names",
"type": "bytes32[]"
},
{
"internalType": "address[]",
"name": "destinations",
"type": "address[]"
}
],
"name": "areAddressesImported",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function",
"signature": "0x9f42102f"
},
{
"constant": true,
"inputs": [
{
"internalType": "bytes32",
"name": "name",
"type": "bytes32"
}
],
"name": "getAddress",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function",
"signature": "0x21f8a721"
},
{
"constant": true,
"inputs": [
{
"internalType": "bytes32",
"name": "key",
"type": "bytes32"
}
],
"name": "getSynth",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function",
"signature": "0x51456061"
},
{
"constant": false,
"inputs": [
{
"internalType": "bytes32[]",
"name": "names",
"type": "bytes32[]"
},
{
"internalType": "address[]",
"name": "destinations",
"type": "address[]"
}
],
"name": "importAddresses",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function",
"signature": "0xab0b8f77"
},
{
"constant": false,
"inputs": [
{
"internalType": "address",
"name": "_owner",
"type": "address"
}
],
"name": "nominateNewOwner",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function",
"signature": "0x1627540c"
},
{
"constant": true,
"inputs": [],
"name": "nominatedOwner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function",
"signature": "0x53a47bb7"
},
{
"constant": true,
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function",
"signature": "0x8da5cb5b"
},
{
"constant": false,
"inputs": [
{
"internalType": "contract MixinResolver[]",
"name": "destinations",
"type": "address[]"
}
],
"name": "rebuildCaches",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function",
"signature": "0x766f7815"
},
{
"constant": true,
"inputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "repository",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function",
"signature": "0x187f7935"
},
{
"constant": true,
"inputs": [
{
"internalType": "bytes32",
"name": "name",
"type": "bytes32"
},
{
"internalType": "string",
"name": "reason",
"type": "string"
}
],
"name": "requireAndGetAddress",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function",
"signature": "0xdacb2d01"
}
],
"source": {
"keccak256": "0xccde4273f5b8b687e3af99e7a3b58a2cf73611a3a8c76e5e283ea5277cb16d72",
"urls": [
"bzz-raw://66b49e0945a9d1becb4e02bfbbd16ebd1df13aa640bef7219b3d1450e70a4c3b",
"dweb:/ipfs/QmRcxCGhAjDmzvj8GkFDCfGMHrT2jJL945zqYuVKo48W7B"
]
},
"metadata": {
"compiler": {
"version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d"
},
"language": "Solidity",
"settings": {
"compilationTarget": {
"AddressResolver.sol": "AddressResolver"
},
"evmVersion": "istanbul",
"libraries": {},
"optimizer": {
"enabled": true,
"runs": 200
},
"remappings": []
},
"sources": {
"AddressResolver.sol": {
"keccak256": "0xccde4273f5b8b687e3af99e7a3b58a2cf73611a3a8c76e5e283ea5277cb16d72",
"urls": [
"bzz-raw://66b49e0945a9d1becb4e02bfbbd16ebd1df13aa640bef7219b3d1450e70a4c3b",
"dweb:/ipfs/QmRcxCGhAjDmzvj8GkFDCfGMHrT2jJL945zqYuVKo48W7B"
]
}
},
"version": 1
}
},
"ReadProxy": {
"bytecode": "608060405234801561001957600080610016610135565b50505b506040516109973803806109978339818101604052602081101561004557600080610042610135565b50505b8101908080519250829150506001600160a01b0381166100b45760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f742062652030000000000000006044820152606401604051809103906100b1610135565b50505b8060006001816100c26101a0565b816001600160a01b0302191690836001600160a01b03160217906100e4610200565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a1505061024e565b632a2a7adb598160e01b8152600481016020815285602082015260005b8681101561016d578086015182820160400152602001610152565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b60408110156101fb576000828201526020016101e4565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b6000815260206101e4565b61073a8061025d6000396000f3fe60806040523480156100195760008061001661048e565b50505b506004361061006b5760003560e01c80631627540c146100ab57806353a47bb7146100dc578063776d1a011461010057806379ba50971461012f5780638da5cb5b14610137578063d4b839921461013f575b366000803760008036600060026100806104f9565b5a610089610554565b50505050503d6000803e806100a6573d60006100a361048e565b50505b3d6000f35b6100da600480360360208110156100ca576000806100c761048e565b50505b50356001600160a01b0316610147565b005b6100e46101c1565b6040516001600160a01b03909116815260200160405180910390f35b6100da6004803603602081101561011f5760008061011c61048e565b50505b50356001600160a01b03166101e0565b6100da610277565b6100e46103fa565b6100e4610405565b61014f610411565b806001808061015c6104f9565b816001600160a01b0302191690836001600160a01b031602179061017e610641565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b600060016101cd6104f9565b906101000a90046001600160a01b031681565b6101e8610411565b8060026001816101f66104f9565b816001600160a01b0302191690836001600160a01b0316021790610218610641565b5050507f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e60026000906102496104f9565b906101000a90046001600160a01b03166040516001600160a01b03909116815260200160405180910390a150565b600060016102836104f9565b906101000a90046001600160a01b03166001600160a01b03165a6102a561068f565b6001600160a01b0316146102f35760405162461bcd60e51b81526004018080602001828103825260358152602001806106d660359139604001915050604051809103906102f061048e565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c60008061031f6104f9565b906101000a90046001600160a01b0316600160009061033c6104f9565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a16000600161037b6104f9565b906101000a90046001600160a01b03166000806101000a8161039b6104f9565b816001600160a01b0302191690836001600160a01b03160217906103bd610641565b5050506000600160006101000a816103d36104f9565b816001600160a01b0302191690836001600160a01b03160217906103f5610641565b505050565b6000806101cd6104f9565b600060026101cd6104f9565b60008061041c6104f9565b906101000a90046001600160a01b03166001600160a01b03165a61043e61068f565b6001600160a01b03161461048c5760405162461bcd60e51b815260040180806020018281038252602f81526020018061070b602f91396040019150506040518091039061048961048e565b50505b565b632a2a7adb598160e01b8152600481016020815285602082015260005b868110156104c65780860151828201604001526020016104ab565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b60408110156103f55760008282015260200161053d565b638540661f598160e01b8152610587565b80808311156105715750815b92915050565b8080831015610571575090919050565b836004820152846024820152606060448201528660648201526084810160005b888110156105bf5780880151828201526020016105a7565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af150596106148d3d610577565b8c016106208187610565565b5b828110156106355760008152602001610621565b50929c50505050505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b60008152602061053d565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051600082529350602061053d56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "_owner",
"type": "address"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "constructor",
"signature": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "oldOwner",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnerChanged",
"type": "event",
"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnerNominated",
"type": "event",
"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "newTarget",
"type": "address"
}
],
"name": "TargetUpdated",
"type": "event",
"signature": "0x814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e"
},
{
"payable": false,
"stateMutability": "nonpayable",
"type": "fallback"
},
{
"constant": false,
"inputs": [],
"name": "acceptOwnership",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function",
"signature": "0x79ba5097"
},
{
"constant": false,
"inputs": [
{
"internalType": "address",
"name": "_owner",
"type": "address"
}
],
"name": "nominateNewOwner",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function",
"signature": "0x1627540c"
},
{
"constant": true,
"inputs": [],
"name": "nominatedOwner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function",
"signature": "0x53a47bb7"
},
{
"constant": true,
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function",
"signature": "0x8da5cb5b"
},
{
"constant": false,
"inputs": [
{
"internalType": "address",
"name": "_target",
"type": "address"
}
],
"name": "setTarget",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function",
"signature": "0x776d1a01"
},
{
"constant": true,
"inputs": [],
"name": "target",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function",
"signature": "0xd4b83992"
}
],
"source": {
"keccak256": "0x0f47492c2ef0af7c5585141508c53024190f06b5c526430caca1cc91fac188a5",
"urls": [
"bzz-raw://2a5b99fc53091d9b5188ac0be8bde3ff6f3d5f0159cee894be2c3f547169f186",
"dweb:/ipfs/QmUHzChcTasUbfR2ESxmCB32zjWYkgrjPvbzComYPJaJ1C"
]
},
"metadata": {
"compiler": {
"version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d"
},
"language": "Solidity",
"settings": {
"compilationTarget": {
"ReadProxy.sol": "ReadProxy"
},
"evmVersion": "istanbul",
"libraries": {},
"optimizer": {
"enabled": true,
"runs": 200
},
"remappings": []
},
"sources": {
"ReadProxy.sol": {
"keccak256": "0x0f47492c2ef0af7c5585141508c53024190f06b5c526430caca1cc91fac188a5",
"urls": [
"bzz-raw://2a5b99fc53091d9b5188ac0be8bde3ff6f3d5f0159cee894be2c3f547169f186",
"dweb:/ipfs/QmUHzChcTasUbfR2ESxmCB32zjWYkgrjPvbzComYPJaJ1C"
]
}
},
"version": 1
}
},
"FlexibleStorage": {
"bytecode": "60806040523480156200001c576000806200001962000099565b50505b506040516200374b3803806200374b833981810160405260208110156200004d576000806200004a62000099565b50505b810190808051925082915081905060006001816200006a62000106565b816001600160a01b0302191690836001600160a01b03160217906200008e62000168565b5050505050620001b7565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015620000d3578086015182820160400152602001620000b6565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b604081101562000163576000828201526020016200014a565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b6000815260206200014a565b61358480620001c76000396000f3fe608060405234801561001957600080610016613231565b50505b50600436106101cc5760003560e01c80638ca0adaf11610102578063c89eb562116100a0578063d994502d1161007a578063d994502d14610c05578063f7833c5d14610c45578063f9c39d2f14610c71578063fdfc4c1314610d75576101cc565b8063c89eb56214610aa9578063d658d2e914610bad578063d71a9b0114610bd3576101cc565b8063ab15985d116100dc578063ab15985d14610847578063b67fa7ed1461094b578063c13a2b0c146109e4578063c4f610ed14610a7d576101cc565b80638ca0adaf146107565780638f6b95a3146107ef5780639ee5955a1461081b576101cc565b806335ab27081161016f5780634dca0978116101495780634dca09781461062a5780635bda91e2146106655780636a59e495146106995780638408a5e5146106bd576101cc565b806335ab2708146104c65780633bd6ad89146104f25780633f28a6fc146105f6576101cc565b80631625e3ef116101ab5780631625e3ef146103fe57806318f662ed1461042a5780631d5b277f1461045657806323257c2b14610488576101cc565b80624b62d6146101da57806303cdc0171461020e578063142a391e14610312575b6000806101d7613231565b50505b61020c600480360360608110156101f9576000806101f6613231565b50505b5080359060208101359060400135610da1565b005b61020c6004803603606081101561022d5760008061022a613231565b50505b81359190810190604081016020820135600160201b81111561025757600080610254613231565b50505b8201836020820111156102725760008061026f613231565b50505b803590602001918460208302840111600160201b8311171561029c57600080610299613231565b50505b919390929091602081019035600160201b8111156102c2576000806102bf613231565b50505b8201836020820111156102dd576000806102da613231565b50505b803590602001918460208302840111600160201b8311171561030757600080610304613231565b50505b509092509050610ef3565b6103ab600480360360408110156103315760008061032e613231565b50505b81359190810190604081016020820135600160201b81111561035b57600080610358613231565b50505b82018360208201111561037657600080610373613231565b50505b803590602001918460208302840111600160201b831117156103a05760008061039d613231565b50505b5090925090506110c9565b60405160208082528190810183818151815260200191508051906020019060200280838360005b838110156103ea5780820151838201526020016103d2565b505050509050019250505060405180910390f35b61020c6004803603604081101561041d5760008061041a613231565b50505b5080359060200135611184565b61020c6004803603604081101561044957600080610446613231565b50505b50803590602001356113b3565b61020c6004803603606081101561047557600080610472613231565b50505b50803590602081013590604001356115bb565b6104b4600480360360408110156104a7576000806104a4613231565b50505b5080359060200135611706565b60405190815260200160405180910390f35b61020c600480360360408110156104e5576000806104e2613231565b50505b508035906020013561174d565b61020c600480360360608110156105115760008061050e613231565b50505b81359190810190604081016020820135600160201b81111561053b57600080610538613231565b50505b82018360208201111561055657600080610553613231565b50505b803590602001918460208302840111600160201b831117156105805760008061057d613231565b50505b919390929091602081019035600160201b8111156105a6576000806105a3613231565b50505b8201836020820111156105c1576000806105be613231565b50505b803590602001918460208302840111600160201b831117156105eb576000806105e8613231565b50505b50909250905061192d565b61020c6004803603606081101561061557600080610612613231565b50505b50803590602081013590604001351515611b02565b61020c6004803603606081101561064957600080610646613231565b50505b50803590602081013590604001356001600160a01b0316611c4d565b61020c6004803603606081101561068457600080610681613231565b50505b50803590602081013590604001351515611d98565b6106a1611fec565b6040516001600160a01b03909116815260200160405180910390f35b6103ab600480360360408110156106dc576000806106d9613231565b50505b81359190810190604081016020820135600160201b81111561070657600080610703613231565b50505b8201836020820111156107215760008061071e613231565b50505b803590602001918460208302840111600160201b8311171561074b57600080610748613231565b50505b50909250905061200a565b6103ab6004803603604081101561077557600080610772613231565b50505b81359190810190604081016020820135600160201b81111561079f5760008061079c613231565b50505b8201836020820111156107ba576000806107b7613231565b50505b803590602001918460208302840111600160201b831117156107e4576000806107e1613231565b50505b5090925090506120ba565b61020c6004803603604081101561080e5760008061080b613231565b50505b508035906020013561218a565b6106a16004803603604081101561083a57600080610837613231565b50505b50803590602001356123c3565b61020c6004803603606081101561086657600080610863613231565b50505b81359190810190604081016020820135600160201b8111156108905760008061088d613231565b50505b8201836020820111156108ab576000806108a8613231565b50505b803590602001918460208302840111600160201b831117156108d5576000806108d2613231565b50505b919390929091602081019035600160201b8111156108fb576000806108f8613231565b50505b82018360208201111561091657600080610913613231565b50505b803590602001918460208302840111600160201b831117156109405760008061093d6