synthetix
Version:
The smart contracts which make up the Synthetix system. (synthetix.io)
1,032 lines • 1.23 MB
JSON
{
"targets": {
"SafeDecimalMath": {
"name": "SafeDecimalMath",
"address": "0x6bf0247C568f5979DB55731d3e8feEb438C13043",
"source": "SafeDecimalMath",
"link": "https://goerli.etherscan.io/address/0x6bf0247C568f5979DB55731d3e8feEb438C13043",
"timestamp": "2020-10-07T00:16:13.000Z",
"txn": "https://goerli.etherscan.io/tx/0xd38c6fd190972ca9534b8b5ed6a2fc92d2897fd010a136a2d576aa1f94122119",
"network": "goerli"
},
"Math": {
"name": "Math",
"address": "0xAc17d62CdA66dcC3301Cd5D99e1282708B105E16",
"source": "Math",
"link": "https://goerli.etherscan.io/address/0xAc17d62CdA66dcC3301Cd5D99e1282708B105E16",
"timestamp": "2020-10-07T00:16:13.000Z",
"txn": "https://goerli.etherscan.io/tx/0xf9f424c123a8f7f86e8ee5a0bcb623b6443c57eb66cd46396257c650f3afb1aa",
"network": "goerli"
},
"AddressResolver": {
"name": "AddressResolver",
"address": "0xcA434c47d476b20724985a9E1A54917A9338277C",
"source": "AddressResolver",
"link": "https://goerli.etherscan.io/address/0xcA434c47d476b20724985a9E1A54917A9338277C",
"timestamp": "2020-10-07T00:16:28.000Z",
"txn": "https://goerli.etherscan.io/tx/0xf91f4ff0d451aad8e281b830e2edf50bc134a32bcc08932dd24310571969a74e",
"network": "goerli"
},
"ReadProxyAddressResolver": {
"name": "ReadProxyAddressResolver",
"address": "0x908196819E380A31bC270697CD8D4ee3471F8224",
"source": "ReadProxy",
"link": "https://goerli.etherscan.io/address/0x908196819E380A31bC270697CD8D4ee3471F8224",
"timestamp": "2020-10-07T00:16:43.000Z",
"txn": "https://goerli.etherscan.io/tx/0xc5afd95aa948f6fdac4588a9eab31b581495bbabd87a5b85798ff21c0e4d3ae7",
"network": "goerli"
},
"FlexibleStorage": {
"name": "FlexibleStorage",
"address": "0x5277D0A28A6f6B748E6F50ac3bF3f5f3F69D99Cc",
"source": "FlexibleStorage",
"link": "https://goerli.etherscan.io/address/0x5277D0A28A6f6B748E6F50ac3bF3f5f3F69D99Cc",
"timestamp": "2020-10-07T00:17:44.000Z",
"txn": "https://goerli.etherscan.io/tx/0x0c28076ecb84369285ab98ed850293ef3f141e64776e15f31f22b0bcc9460aae",
"network": "goerli"
},
"SystemSettings": {
"name": "SystemSettings",
"address": "0xb671F2210B1F6621A2607EA63E6B2DC3e2464d1F",
"source": "SystemSettings",
"link": "https://goerli.etherscan.io/address/0xb671F2210B1F6621A2607EA63E6B2DC3e2464d1F",
"timestamp": "2020-10-13T20:01:43.000Z",
"txn": "https://goerli.etherscan.io/tx/0xfabc11d8d22da8608efa709169c4b59d065330532cdca76613b5f8bf1fa5a2b6",
"network": "goerli"
},
"SystemStatus": {
"name": "SystemStatus",
"address": "0xFb9cAa9c468e32E0Efb5bF5Ea6E646BC3732FF24",
"source": "SystemStatus",
"link": "https://goerli.etherscan.io/address/0xFb9cAa9c468e32E0Efb5bF5Ea6E646BC3732FF24",
"timestamp": "2020-10-07T00:18:14.000Z",
"txn": "https://goerli.etherscan.io/tx/0xb47568655de4b1f465af024f7939923c049ef4bbb88132310a3ab9381114ffaf",
"network": "goerli"
},
"ExchangeRates": {
"name": "ExchangeRates",
"address": "0x921283b04A4e09bcE87B24DA868d82F901267648",
"source": "ExchangeRates",
"link": "https://goerli.etherscan.io/address/0x921283b04A4e09bcE87B24DA868d82F901267648",
"timestamp": "2020-11-20T15:39:48.000Z",
"txn": "https://goerli.etherscan.io/tx/0xadc53ca6a25428323e020d93019e465b56ca2c28f5562736b1cdf503d5201abb",
"network": "goerli"
},
"RewardEscrow": {
"name": "RewardEscrow",
"address": "0x494d7777e7c03e0849A65082b370BAA545485f23",
"source": "RewardEscrow",
"link": "https://goerli.etherscan.io/address/0x494d7777e7c03e0849A65082b370BAA545485f23",
"timestamp": "2020-10-07T00:18:44.000Z",
"txn": "https://goerli.etherscan.io/tx/0x6a71e477f35bcfed2b038e3aada948a02bc66479d21f59a8279dc0802d3d4ecb",
"network": "goerli"
},
"SynthetixEscrow": {
"name": "SynthetixEscrow",
"address": "0x8A6a66eC1ebc666EC86270207A954Deb064d4609",
"source": "SynthetixEscrow",
"link": "https://goerli.etherscan.io/address/0x8A6a66eC1ebc666EC86270207A954Deb064d4609",
"timestamp": "2020-10-07T00:19:14.000Z",
"txn": "https://goerli.etherscan.io/tx/0x8179ca5c0754350cede2b848f695a1c3902b95a4d706c022239186532e69b093",
"network": "goerli"
},
"SynthetixState": {
"name": "SynthetixState",
"address": "0x858117dCcEF29DCDD0a47a2129b4cf00a964565b",
"source": "SynthetixState",
"link": "https://goerli.etherscan.io/address/0x858117dCcEF29DCDD0a47a2129b4cf00a964565b",
"timestamp": "2020-10-07T00:19:29.000Z",
"txn": "https://goerli.etherscan.io/tx/0x103f192b5ff1987ac2d336392352a47c2d2c1a68fb6d00556f72e6091c64a69d",
"network": "goerli"
},
"ProxyFeePool": {
"name": "ProxyFeePool",
"address": "0x1b07C9E5C98b272d90e890e20F36f37B2BBC7365",
"source": "Proxy",
"link": "https://goerli.etherscan.io/address/0x1b07C9E5C98b272d90e890e20F36f37B2BBC7365",
"timestamp": "2020-10-07T00:20:29.000Z",
"txn": "https://goerli.etherscan.io/tx/0xf3c3cde1e755f88472f11d837854ab19f545c7e131fb859fe6689f726b8a824a",
"network": "goerli"
},
"DelegateApprovalsEternalStorage": {
"name": "DelegateApprovalsEternalStorage",
"address": "0x308462997E4A147ac9e68456f7204d3BF4B9DFD8",
"source": "EternalStorage",
"link": "https://goerli.etherscan.io/address/0x308462997E4A147ac9e68456f7204d3BF4B9DFD8",
"timestamp": "2020-10-07T00:20:44.000Z",
"txn": "https://goerli.etherscan.io/tx/0xda229ded4ac7b139708f42cd6a23ab336757b40c0a32667b98da10c343e2911c",
"network": "goerli"
},
"DelegateApprovals": {
"name": "DelegateApprovals",
"address": "0x799cCf9B8Aacf4692E65E6613F3709528b24813a",
"source": "DelegateApprovals",
"link": "https://goerli.etherscan.io/address/0x799cCf9B8Aacf4692E65E6613F3709528b24813a",
"timestamp": "2020-10-07T00:20:59.000Z",
"txn": "https://goerli.etherscan.io/tx/0xde27ec95b9bb2d476f467a6bcdc142578f7675c209b846781654a37650cc2848",
"network": "goerli"
},
"Liquidations": {
"name": "Liquidations",
"address": "0x8c24CD72A335D1Db705fF710EBfD1Cd177F77Add",
"source": "Liquidations",
"link": "https://goerli.etherscan.io/address/0x8c24CD72A335D1Db705fF710EBfD1Cd177F77Add",
"timestamp": "2020-10-07T00:21:59.000Z",
"txn": "https://goerli.etherscan.io/tx/0xc076445ee740b662b73e2cae2d993683858d0b1e5513dd2ef9c651145fe921ca",
"network": "goerli"
},
"EternalStorageLiquidations": {
"name": "EternalStorageLiquidations",
"address": "0x773DAF0d86d2174112347b86d02281f7D1BF0217",
"source": "EternalStorage",
"link": "https://goerli.etherscan.io/address/0x773DAF0d86d2174112347b86d02281f7D1BF0217",
"timestamp": "2020-10-07T00:22:05.164Z",
"txn": "",
"network": "goerli"
},
"FeePoolEternalStorage": {
"name": "FeePoolEternalStorage",
"address": "0x35680DD3e758607401cf5af837ADb5aF1B70dfbd",
"source": "FeePoolEternalStorage",
"link": "https://goerli.etherscan.io/address/0x35680DD3e758607401cf5af837ADb5aF1B70dfbd",
"timestamp": "2020-10-07T00:23:59.000Z",
"txn": "https://goerli.etherscan.io/tx/0x55df43fda91044b793030412905fd25f8c758417794476ee24acf5c299fe49a4",
"network": "goerli"
},
"FeePool": {
"name": "FeePool",
"address": "0x0b25003050c0189e6929db37987b0A20Cc802539",
"source": "FeePool",
"link": "https://goerli.etherscan.io/address/0x0b25003050c0189e6929db37987b0A20Cc802539",
"timestamp": "2020-10-07T00:24:14.000Z",
"txn": "https://goerli.etherscan.io/tx/0xe535471010e6a064bc3e850e19aa7aa07d35a6baa925af0352157de611c67f5b",
"network": "goerli"
},
"FeePoolState": {
"name": "FeePoolState",
"address": "0x95E852a2131DFA4280E226c8A49528C1691D4F8B",
"source": "FeePoolState",
"link": "https://goerli.etherscan.io/address/0x95E852a2131DFA4280E226c8A49528C1691D4F8B",
"timestamp": "2020-10-07T00:25:29.000Z",
"txn": "https://goerli.etherscan.io/tx/0xc0ae71ecb04d6635f89f07bac98d58101aff3befd983697bb2bf058697d0a7fd",
"network": "goerli"
},
"RewardsDistribution": {
"name": "RewardsDistribution",
"address": "0x32a5f3d439Dde23abfA6fEE5F440b19c46c32de9",
"source": "RewardsDistribution",
"link": "https://goerli.etherscan.io/address/0x32a5f3d439Dde23abfA6fEE5F440b19c46c32de9",
"timestamp": "2020-10-07T00:25:44.000Z",
"txn": "https://goerli.etherscan.io/tx/0xc10e4192e919607df1a41336d6f28c1cc1a1cdf771a620d253603bae3094275e",
"network": "goerli"
},
"ProxyERC20": {
"name": "ProxyERC20",
"address": "0x0ab8DCB1f5DA04CE8f41695c7685c949dC240918",
"source": "ProxyERC20",
"link": "https://goerli.etherscan.io/address/0x0ab8DCB1f5DA04CE8f41695c7685c949dC240918",
"timestamp": "2020-10-07T00:26:29.000Z",
"txn": "https://goerli.etherscan.io/tx/0x94f4fc1e4b89f91a19c78d567be2ffa8f8dd092e22bcb0ca2a4282b2634907b4",
"network": "goerli"
},
"TokenStateSynthetix": {
"name": "TokenStateSynthetix",
"address": "0xe6E2F6400F9Fc8464890A7770C95705E7719bcba",
"source": "TokenState",
"link": "https://goerli.etherscan.io/address/0xe6E2F6400F9Fc8464890A7770C95705E7719bcba",
"timestamp": "2020-10-07T00:26:44.000Z",
"txn": "https://goerli.etherscan.io/tx/0x368925f07cfad3d63d4abd3ce90ca1c5b7e4548ebf2328ec710386c5738d8cf7",
"network": "goerli"
},
"Synthetix": {
"name": "Synthetix",
"address": "0xC6f3DfFAF66457b46eaeFD7AEbE4b05d9e37Aa56",
"source": "Synthetix",
"link": "https://goerli.etherscan.io/address/0xC6f3DfFAF66457b46eaeFD7AEbE4b05d9e37Aa56",
"timestamp": "2020-11-20T15:40:03.000Z",
"txn": "https://goerli.etherscan.io/tx/0xf6608a0250bacec5000663dd35110c45dfb43ab03f0586092515e6e7c0798c12",
"network": "goerli"
},
"ProxySynthetix": {
"name": "ProxySynthetix",
"address": "0x8e3EB43f05bd9BEE26Ae47E6Fe2182Cb4FF7fad8",
"source": "Proxy",
"link": "https://goerli.etherscan.io/address/0x8e3EB43f05bd9BEE26Ae47E6Fe2182Cb4FF7fad8",
"timestamp": "2020-10-07T00:27:46.126Z",
"txn": "",
"network": "goerli"
},
"Exchanger": {
"name": "Exchanger",
"address": "0xc449ce6cd726c0bf7373ecf4888E5f6Ee6dB5aF4",
"source": "ExchangerWithVirtualSynth",
"link": "https://goerli.etherscan.io/address/0xc449ce6cd726c0bf7373ecf4888E5f6Ee6dB5aF4",
"timestamp": "2020-11-20T15:41:33.000Z",
"txn": "https://goerli.etherscan.io/tx/0x0d8c91678deb1a8d155ab22fe299f9f9966e4e3e56d92a64e9545a1bc42dec1d",
"network": "goerli"
},
"ExchangeState": {
"name": "ExchangeState",
"address": "0xd7188691923871461a36D9bB373d283fe3a96363",
"source": "ExchangeState",
"link": "https://goerli.etherscan.io/address/0xd7188691923871461a36D9bB373d283fe3a96363",
"timestamp": "2020-10-07T00:28:59.000Z",
"txn": "https://goerli.etherscan.io/tx/0xf4d4ce217e569b410a04064676c47f6432b7a41eef3772f4de24507b6ab1494f",
"network": "goerli"
},
"Issuer": {
"name": "Issuer",
"address": "0x5a807A6c260eA14cbe1E27264CdD01a95EC8eD9c",
"source": "Issuer",
"link": "https://goerli.etherscan.io/address/0x5a807A6c260eA14cbe1E27264CdD01a95EC8eD9c",
"timestamp": "2020-11-20T15:42:48.000Z",
"txn": "https://goerli.etherscan.io/tx/0xa2ed784f4f2b4bac6382609a1ac3095cf31a87dacec743e4c5fe4e8474fb4739",
"network": "goerli"
},
"TradingRewards": {
"name": "TradingRewards",
"address": "0x20BC10aC03Aa20E52BAc1D0f7beA230F29AF82E6",
"source": "TradingRewards",
"link": "https://goerli.etherscan.io/address/0x20BC10aC03Aa20E52BAc1D0f7beA230F29AF82E6",
"timestamp": "2020-10-07T00:30:59.000Z",
"txn": "https://goerli.etherscan.io/tx/0x15eb3f3ea465e84633e209f5cbdcbc6d5d58986ff8452829b64d13010e12c1bd",
"network": "goerli"
},
"EscrowChecker": {
"name": "EscrowChecker",
"address": "0x356470bB336D03a12D2e303AB35bD52EfD76F0eb",
"source": "EscrowChecker",
"link": "https://goerli.etherscan.io/address/0x356470bB336D03a12D2e303AB35bD52EfD76F0eb",
"timestamp": "2020-10-07T00:31:29.000Z",
"txn": "https://goerli.etherscan.io/tx/0xce7cad772c91250b3788cfcfe98ccabdbd1fb3866bfa1b48d1ee9739292c326a",
"network": "goerli"
},
"SupplySchedule": {
"name": "SupplySchedule",
"address": "0x520cBE7960B123343abEc4Ef80eF0F1F4B14Cb79",
"source": "SupplySchedule",
"link": "https://goerli.etherscan.io/address/0x520cBE7960B123343abEc4Ef80eF0F1F4B14Cb79",
"timestamp": "2020-10-07T00:32:44.000Z",
"txn": "https://goerli.etherscan.io/tx/0x96a6aaf220a3a2e64ea939013f0a906a0b297c53bfa6a4c1ddeef19bce1568d9",
"network": "goerli"
},
"TokenStatesUSD": {
"name": "TokenStatesUSD",
"address": "0x96FDc785344B05a8a9d554985bfd51FAf5e1dF7D",
"source": "TokenState",
"link": "https://goerli.etherscan.io/address/0x96FDc785344B05a8a9d554985bfd51FAf5e1dF7D",
"timestamp": "2020-10-07T00:34:17.579Z",
"txn": "",
"network": "goerli"
},
"ProxysUSD": {
"name": "ProxysUSD",
"address": "0xbB4C265687E85c3847e58E1136A7cc4FE564A943",
"source": "ProxyERC20",
"link": "https://goerli.etherscan.io/address/0xbB4C265687E85c3847e58E1136A7cc4FE564A943",
"timestamp": "2020-10-07T00:34:29.954Z",
"txn": "",
"network": "goerli"
},
"ProxyERC20sUSD": {
"name": "ProxyERC20sUSD",
"address": "0x2C316bf4A0543C92D760c14fEbe2679Bb465B752",
"source": "ProxyERC20",
"link": "https://goerli.etherscan.io/address/0x2C316bf4A0543C92D760c14fEbe2679Bb465B752",
"timestamp": "2020-10-07T00:35:00.255Z",
"txn": "",
"network": "goerli"
},
"SynthsUSD": {
"name": "SynthsUSD",
"address": "0x150380cA0685267A0390096821BD6659ffE4e732",
"source": "Synth",
"link": "https://goerli.etherscan.io/address/0x150380cA0685267A0390096821BD6659ffE4e732",
"timestamp": "2020-10-07T00:35:14.000Z",
"txn": "https://goerli.etherscan.io/tx/0x67c549b657b1053e20fa553c1ff07f7ce97421ddc6e09e1f8ce361e0e7785320",
"network": "goerli"
},
"TokenStatesETH": {
"name": "TokenStatesETH",
"address": "0xcaFE05Ae698a784396D21382339f92a2BFdB7adE",
"source": "TokenState",
"link": "https://goerli.etherscan.io/address/0xcaFE05Ae698a784396D21382339f92a2BFdB7adE",
"timestamp": "2020-10-07T00:36:44.829Z",
"txn": "",
"network": "goerli"
},
"ProxysETH": {
"name": "ProxysETH",
"address": "0xa636F7B67561b624facBA2dDfc3a734CA7cB22cE",
"source": "ProxyERC20",
"link": "https://goerli.etherscan.io/address/0xa636F7B67561b624facBA2dDfc3a734CA7cB22cE",
"timestamp": "2020-10-07T00:37:15.272Z",
"txn": "",
"network": "goerli"
},
"SynthsETH": {
"name": "SynthsETH",
"address": "0x268731ADc0122aC71A0d384b3B7fCcd28eB676c6",
"source": "MultiCollateralSynth",
"link": "https://goerli.etherscan.io/address/0x268731ADc0122aC71A0d384b3B7fCcd28eB676c6",
"timestamp": "2020-10-07T00:37:44.000Z",
"txn": "https://goerli.etherscan.io/tx/0xba8d99f18797f49e8b9e86bd470daa5ad68297ac7768568d924d0ea191511577",
"network": "goerli"
},
"Depot": {
"name": "Depot",
"address": "0xd781428091a09f9918455aF9093787BfFAB57f61",
"source": "Depot",
"link": "https://goerli.etherscan.io/address/0xd781428091a09f9918455aF9093787BfFAB57f61",
"timestamp": "2020-10-07T00:38:44.000Z",
"txn": "https://goerli.etherscan.io/tx/0xcaabe671fc748b49ecc5dd91b09a9cafd4349066d57af3e7724f0c5f2f86908a",
"network": "goerli"
},
"EtherCollateral": {
"name": "EtherCollateral",
"address": "0x97131A7a853c2e92Da10C0B0C7E79E78501ee026",
"source": "EtherCollateral",
"link": "https://goerli.etherscan.io/address/0x97131A7a853c2e92Da10C0B0C7E79E78501ee026",
"timestamp": "2020-10-07T00:38:59.000Z",
"txn": "https://goerli.etherscan.io/tx/0x94c86de22468c167e917394f5cbf64c653b7c809b0361422791677724d4e7a06",
"network": "goerli"
},
"EtherCollateralsUSD": {
"name": "EtherCollateralsUSD",
"address": "0x31F648eeCB0387cBCe269B2af0c320f6789c00C0",
"source": "EtherCollateralsUSD",
"link": "https://goerli.etherscan.io/address/0x31F648eeCB0387cBCe269B2af0c320f6789c00C0",
"timestamp": "2020-10-07T00:39:59.000Z",
"txn": "https://goerli.etherscan.io/tx/0xbd9a110e8ec719076e8b88024fb659a94b77d4423f6584b2c9899addaf79f771",
"network": "goerli"
},
"SynthUtil": {
"name": "SynthUtil",
"address": "0x4d34f640AF066ef7cc4A72AF98cD32150e7aFB00",
"source": "SynthUtil",
"link": "https://goerli.etherscan.io/address/0x4d34f640AF066ef7cc4A72AF98cD32150e7aFB00",
"timestamp": "2020-10-07T00:40:29.000Z",
"txn": "https://goerli.etherscan.io/tx/0xd794b5d48c3e1e85f481f29eb028ab2eb2207ea87acc87ac7c9e7a302095bb7b",
"network": "goerli"
},
"DappMaintenance": {
"name": "DappMaintenance",
"address": "0xa91e673D0438BBA4D2Ef76aEcD5e8191Cb51CBeb",
"source": "DappMaintenance",
"link": "https://goerli.etherscan.io/address/0xa91e673D0438BBA4D2Ef76aEcD5e8191Cb51CBeb",
"timestamp": "2020-10-07T00:40:44.000Z",
"txn": "https://goerli.etherscan.io/tx/0xeb61342f4a170cc89d4c1c34cff48460656b68a83db65e2fa9d4c9a5db79ef78",
"network": "goerli"
},
"DebtCache": {
"name": "DebtCache",
"address": "0x4093eB7D7DeF2dcaE3e53555fc99CE46C8E458B1",
"source": "DebtCache",
"link": "https://goerli.etherscan.io/address/0x4093eB7D7DeF2dcaE3e53555fc99CE46C8E458B1",
"timestamp": "2020-11-20T15:41:18.000Z",
"txn": "https://goerli.etherscan.io/tx/0xe0e3b47a4a9cc388eececd052a2ef88032cb688b1820fbaaaa4006bba9311c27",
"network": "goerli"
},
"SynthetixBridgeToOptimism": {
"name": "SynthetixBridgeToOptimism",
"address": "0x6104C44f0b895E37F94da84bF3127f7a635EE6Bd",
"source": "SynthetixBridgeToOptimism",
"link": "https://goerli.etherscan.io/address/0x6104C44f0b895E37F94da84bF3127f7a635EE6Bd",
"timestamp": "2020-11-20T15:44:18.000Z",
"txn": "https://goerli.etherscan.io/tx/0x1307a502435f68863e92c5a6cf45941da0ba28f3aa4ae4a61cd6459d0102d454",
"network": "goerli"
}
},
"sources": {
"SafeDecimalMath": {
"bytecode": "61012d610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361060655760003560e01c8063313ce56714606a578063864029e7146086578063907af6c014609e5780639d8e21771460a4578063d5e5e6e61460aa578063def4419d1460b0575b600080fd5b607060b6565b6040805160ff9092168252519081900360200190f35b608c60bb565b60408051918252519081900360200190f35b608c60cb565b608c60d7565b608c60e3565b607060f3565b601281565b6b033b2e3c9fd0803ce800000081565b670de0b6b3a764000090565b670de0b6b3a764000081565b6b033b2e3c9fd0803ce800000090565b601b8156fea265627a7a72315820cb0c622a803e17ecfaafbf0f24707e814bc226eb9263e3a0072143e5ff49a07a64736f6c63430005100032",
"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": "0xbcc09d9e0a315788c29a9c5800737f6a4743b938f04628056a2640a63cb47715",
"urls": [
"bzz-raw://694e78fb8d5c57be39da4d8252801bbbe1fa76e00ba4002083878208e78709d0",
"dweb:/ipfs/QmapHe8ZjoSx9PJvCBqxVHZaL5UyCJhch6hh7cYBECEsF8"
]
},
"metadata": {
"compiler": {
"version": "0.5.16+commit.9c3226ce"
},
"language": "Solidity",
"settings": {
"compilationTarget": {
"SafeDecimalMath.sol": "SafeDecimalMath"
},
"evmVersion": "istanbul",
"libraries": {},
"optimizer": {
"enabled": true,
"runs": 200
},
"remappings": []
},
"sources": {
"SafeDecimalMath.sol": {
"keccak256": "0xbcc09d9e0a315788c29a9c5800737f6a4743b938f04628056a2640a63cb47715",
"urls": [
"bzz-raw://694e78fb8d5c57be39da4d8252801bbbe1fa76e00ba4002083878208e78709d0",
"dweb:/ipfs/QmapHe8ZjoSx9PJvCBqxVHZaL5UyCJhch6hh7cYBECEsF8"
]
}
},
"version": 1
}
},
"Math": {
"bytecode": "60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820be5a94637ae1f92fc0419a8caaf8f34ed20550d7a216797be3e83b75798a230c64736f6c63430005100032",
"abi": [],
"source": {
"keccak256": "0xa613ae2a85dbfbbad71e4b441b6c801f012a9e6690fd7dd7c2f9684ccd644799",
"urls": [
"bzz-raw://0727d0a172c6202350c9d489e84e9776f3240160684db318e6412b2e117b9266",
"dweb:/ipfs/QmWDXTz8P6L5G52j4Wv8LQX4BQ276aV71LB8S3X6ACdKBv"
]
},
"metadata": {
"compiler": {
"version": "0.5.16+commit.9c3226ce"
},
"language": "Solidity",
"settings": {
"compilationTarget": {
"Math.sol": "Math"
},
"evmVersion": "istanbul",
"libraries": {},
"optimizer": {
"enabled": true,
"runs": 200
},
"remappings": []
},
"sources": {
"Math.sol": {
"keccak256": "0xa613ae2a85dbfbbad71e4b441b6c801f012a9e6690fd7dd7c2f9684ccd644799",
"urls": [
"bzz-raw://0727d0a172c6202350c9d489e84e9776f3240160684db318e6412b2e117b9266",
"dweb:/ipfs/QmWDXTz8P6L5G52j4Wv8LQX4BQ276aV71LB8S3X6ACdKBv"
]
}
},
"version": 1
}
},
"AddressResolver": {
"bytecode": "608060405234801561001057600080fd5b506040516108233803806108238339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15050610729806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c806353a47bb71161006657806353a47bb71461013357806379ba50971461013b5780638da5cb5b14610143578063ab0b8f771461014b578063dacb2d011461020d57610093565b80631627540c14610098578063187f7935146100c057806321f8a721146100f95780635145606114610116575b600080fd5b6100be600480360360208110156100ae57600080fd5b50356001600160a01b0316610284565b005b6100dd600480360360208110156100d657600080fd5b50356102e0565b604080516001600160a01b039092168252519081900360200190f35b6100dd6004803603602081101561010f57600080fd5b50356102fb565b6100dd6004803603602081101561012c57600080fd5b5035610316565b6100dd61041e565b6100be61042d565b6100dd6104e9565b6100be6004803603604081101561016157600080fd5b81019060208101813564010000000081111561017c57600080fd5b82018360208201111561018e57600080fd5b803590602001918460208302840111640100000000831117156101b057600080fd5b9193909290916020810190356401000000008111156101ce57600080fd5b8201836020820111156101e057600080fd5b8035906020019184602083028401116401000000008311171561020257600080fd5b5090925090506104f8565b6100dd6004803603604081101561022357600080fd5b8135919081019060408101602082013564010000000081111561024557600080fd5b82018360208201111561025757600080fd5b8035906020019184600183028401116401000000008311171561027957600080fd5b5090925090506105d1565b61028c610645565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002602052600090815260409020546001600160a01b031681565b6000908152600260205260409020546001600160a01b031690565b6524b9b9bab2b960d11b600090815260026020527f0651498423135bdecab48e2d306f14d560a72d49179b71410fd95b5d25ce349a546001600160a01b0316806103a7576040805162461bcd60e51b815260206004820152601a60248201527f43616e6e6f742066696e64204973737565722061646472657373000000000000604482015290519081900360640190fd5b806001600160a01b03166332608039846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156103eb57600080fd5b505afa1580156103ff573d6000803e3d6000fd5b505050506040513d602081101561041557600080fd5b50519392505050565b6001546001600160a01b031681565b6001546001600160a01b031633146104765760405162461bcd60e51b81526004018080602001828103825260358152602001806106916035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b610500610645565b828114610554576040805162461bcd60e51b815260206004820152601860248201527f496e707574206c656e67746873206d757374206d617463680000000000000000604482015290519081900360640190fd5b60005b838110156105ca5782828281811061056b57fe5b905060200201356001600160a01b03166002600087878581811061058b57fe5b6020908102929092013583525081019190915260400160002080546001600160a01b0319166001600160a01b0392909216919091179055600101610557565b5050505050565b6000838152600260205260408120546001600160a01b031683838261063a5760405162461bcd60e51b815260206004820190815260248201839052908190604401848480828437600083820152604051601f909101601f19169092018290039550909350505050fd5b509095945050505050565b6000546001600160a01b0316331461068e5760405162461bcd60e51b815260040180806020018281038252602f8152602001806106c6602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a723158202a71f17124364a7394cbe927bae8b72991266649fa4f4a084954cc7fb691516364736f6c63430005100032",
"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"
},
{
"constant": false,
"inputs": [],
"name": "acceptOwnership",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function",
"signature": "0x79ba5097"
},
{
"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": 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": "0x9c12bd129e71f48aaea820e7617a561571ea25b10c6a90d69f9614bfb05556b3",
"urls": [
"bzz-raw://8478a08eeab609d91834bb3ea2562b3b528adb9167caeceb41299caf4746b0d2",
"dweb:/ipfs/QmdE6Eemm6bwxRaQnaqxGMo8dajJ4FSHBAVMPHk4iLByEn"
]
},
"metadata": {
"compiler": {
"version": "0.5.16+commit.9c3226ce"
},
"language": "Solidity",
"settings": {
"compilationTarget": {
"AddressResolver.sol": "AddressResolver"
},
"evmVersion": "istanbul",
"libraries": {},
"optimizer": {
"enabled": true,
"runs": 200
},
"remappings": []
},
"sources": {
"AddressResolver.sol": {
"keccak256": "0x9c12bd129e71f48aaea820e7617a561571ea25b10c6a90d69f9614bfb05556b3",
"urls": [
"bzz-raw://8478a08eeab609d91834bb3ea2562b3b528adb9167caeceb41299caf4746b0d2",
"dweb:/ipfs/QmdE6Eemm6bwxRaQnaqxGMo8dajJ4FSHBAVMPHk4iLByEn"
]
}
},
"version": 1
}
},
"ReadProxy": {
"bytecode": "608060405234801561001057600080fd5b506040516104953803806104958339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1505061039b806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80631627540c1461008657806353a47bb7146100ae578063776d1a01146100d257806379ba5097146100f85780638da5cb5b14610100578063d4b8399214610108575b36600080376000803660006002545afa3d6000803e80610081573d6000fd5b3d6000f35b6100ac6004803603602081101561009c57600080fd5b50356001600160a01b0316610110565b005b6100b661016c565b604080516001600160a01b039092168252519081900360200190f35b6100ac600480360360208110156100e857600080fd5b50356001600160a01b031661017b565b6100ac6101dd565b6100b6610299565b6100b66102a8565b6101186102b7565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6001546001600160a01b031681565b6101836102b7565b600280546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e916020908290030190a150565b6001546001600160a01b031633146102265760405162461bcd60e51b81526004018080602001828103825260358152602001806103036035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b031681565b6000546001600160a01b031633146103005760405162461bcd60e51b815260040180806020018281038252602f815260200180610338602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820ebb7e44d4271d1ecdf119b6a0fb481127f88d7310f81056c9f722efadb02ab9c64736f6c63430005100032",
"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": "0xd2601016da827c10373daaf03fd5a2f07227cccc4db763a5165909c6d3cd56a9",
"urls": [
"bzz-raw://81fe1fce1c17ec640fd7ed214fe9e578af63a5c78e35c47780c5d8c8ac4f7922",
"dweb:/ipfs/QmaN7DtNSjEmvU1ELaNqDfxs26JEZ4GdDWE9EyhtNQzXL4"
]
},
"metadata": {
"compiler": {
"version": "0.5.16+commit.9c3226ce"
},
"language": "Solidity",
"settings": {
"compilationTarget": {
"ReadProxy.sol": "ReadProxy"
},
"evmVersion": "istanbul",
"libraries": {},
"optimizer": {
"enabled": true,
"runs": 200
},
"remappings": []
},
"sources": {
"ReadProxy.sol": {
"keccak256": "0xd2601016da827c10373daaf03fd5a2f07227cccc4db763a5165909c6d3cd56a9",
"urls": [
"bzz-raw://81fe1fce1c17ec640fd7ed214fe9e578af63a5c78e35c47780c5d8c8ac4f7922",
"dweb:/ipfs/QmaN7DtNSjEmvU1ELaNqDfxs26JEZ4GdDWE9EyhtNQzXL4"
]
}
},
"version": 1
}
},
"FlexibleStorage": {
"bytecode": "608060405234801561001057600080fd5b506040516127833803806127838339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b031990921691909117905561271e806100656000396000f3fe608060405234801561001057600080fd5b50600436106101c35760003560e01c80638ca0adaf116100f9578063c89eb56211610097578063d994502d11610071578063d994502d146109c2578063f7833c5d146109f9578063f9c39d2f14610a1c578063fdfc4c1314610ae1576101c3565b8063c89eb562146108b7578063d658d2e91461097c578063d71a9b0114610999576101c3565b8063ab15985d116100d3578063ab15985d146106e5578063b67fa7ed146107aa578063c13a2b0c1461081f578063c4f610ed14610894576101c3565b80638ca0adaf1461062a5780638f6b95a31461069f5780639ee5955a146106c2576101c3565b806335ab2708116101665780634dca0978116101405780634dca0978146105345780635bda91e2146105665780636a59e495146105915780638408a5e5146105b5576101c3565b806335ab2708146104215780633bd6ad89146104445780633f28a6fc14610509576101c3565b80631625e3ef116101a25780631625e3ef1461037d57806318f662ed146103a05780631d5b277f146103c357806323257c2b146103ec576101c3565b80624b62d6146101c857806303cdc017146101f3578063142a391e146102b8575b600080fd5b6101f1600480360360608110156101de57600080fd5b5080359060208101359060400135610b04565b005b6101f16004803603606081101561020957600080fd5b81359190810190604081016020820135600160201b81111561022a57600080fd5b82018360208201111561023c57600080fd5b803590602001918460208302840111600160201b8311171561025d57600080fd5b919390929091602081019035600160201b81111561027a57600080fd5b82018360208201111561028c57600080fd5b803590602001918460208302840111600160201b831117156102ad57600080fd5b509092509050610bf4565b61032d600480360360408110156102ce57600080fd5b81359190810190604081016020820135600160201b8111156102ef57600080fd5b82018360208201111561030157600080fd5b803590602001918460208302840111600160201b8311171561032257600080fd5b509092509050610d60565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610369578181015183820152602001610351565b505050509050019250505060405180910390f35b6101f16004803603604081101561039357600080fd5b5080359060200135610e07565b6101f1600480360360408110156103b657600080fd5b5080359060200135610f7b565b6101f1600480360360608110156103d957600080fd5b50803590602081013590604001356110e4565b61040f6004803603604081101561040257600080fd5b50803590602001356111cd565b60408051918252519081900360200190f35b6101f16004803603604081101561043757600080fd5b50803590602001356111f4565b6101f16004803603606081101561045a57600080fd5b81359190810190604081016020820135600160201b81111561047b57600080fd5b82018360208201111561048d57600080fd5b803590602001918460208302840111600160201b831117156104ae57600080fd5b919390929091602081019035600160201b8111156104cb57600080fd5b8201836020820111156104dd57600080fd5b803590602001918460208302840111600160201b831117156104fe57600080fd5b50909250905061135d565b6101f16004803603606081101561051f57600080fd5b508035906020810135906040013515156114c8565b6101f16004803603606081101561054a57600080fd5b50803590602081013590604001356001600160a01b03166115b1565b6101f16004803603606081101561057c57600080fd5b5080359060208101359060400135151561169a565b61059961184c565b604080516001600160a01b039092168252519081900360200190f35b61032d600480360360408110156105cb57600080fd5b81359190810190604081016020820135600160201b8111156105ec57600080fd5b8201836020820111156105fe57600080fd5b803590602001918460208302840111600160201b8311171561061f57600080fd5b50909250905061185b565b61032d6004803603604081101561064057600080fd5b81359190810190604081016020820135600160201b81111561066157600080fd5b82018360208201111561067357600080fd5b803590602001918460208302840111600160201b8311171561069457600080fd5b5090925090506118f7565b6101f1600480360360408110156106b557600080fd5b50803590602001356119b3565b610599600480360360408110156106d857600080fd5b5080359060200135611b32565b6101f1600480360360608110156106fb57600080fd5b81359190810190604081016020820135600160201b81111561071c57600080fd5b82018360208201111561072e57600080fd5b803590602001918460208302840111600160201b8311171561074f57600080fd5b919390929091602081019035600160201b81111561076c57600080fd5b82018360208201111561077e57600080fd5b803590602001918460208302840111600160201b8311171561079f57600080fd5b509092509050611b62565b61032d600480360360408110156107c057600080fd5b81359190810190604081016020820135600160201b8111156107e157600080fd5b8201836020820111156107f357600080fd5b803590602001918460208302840111600160201b8311171561081457600080fd5b509092509050611cc4565b61032d6004803603604081101561083557600080fd5b81359190810190604081016020820135600160201b81111561085657600080fd5b82018360208201111561086857600080fd5b803590602001918460208302840111600160201b8311171561088957600080fd5b509092509050611d60565b61040f600480360360408110156108aa57600080fd5b5080359060200135611e0e565b6101f1600480360360608110156108cd57600080fd5b81359190810190604081016020820135600160201b8111156108ee57600080fd5b82018360208201111561090057600080fd5b803590602001918460208302840111600160201b8311171561092157600080fd5b919390929091602081019035600160201b81111561093e57600080fd5b82018360208201111561095057600080fd5b803590602001918460208302840111600160201b8311171561097157600080fd5b509092509050611e35565b61040f6004803603602081101561099257600080fd5b5035611f97565b6101f1600480360360608110156109af57600080fd5b5080359060208101359060400135611fa9565b6109e5600480360360408110156109d857600080fd5b5080359060200135612092565b604080519115158252519081900360200190f35b61040f60048036036040811015610a0f57600080fd5b50803590602001356120bc565b6101f160048036036060811015610a3257600080fd5b81359190810190604081016020820135600160201b811115610a5357600080fd5b820183602082011115610a6557600080fd5b803590602001918460208302840111600160201b83111715610a8657600080fd5b919390929091602081019035600160201b811115610aa357600080fd5b820183602082011115610ab557600080fd5b803590602001918460208302840111600160201b83111715610ad657600080fd5b5090925090506120e3565b6101f160048036036040811015610af757600080fd5b5080359060200135612247565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015610b6d57600080fd5b505afa158015610b81573d6000803e3d6000fd5b505050506040513d6020811015610b9757600080fd5b505190506001600160a01b0381163314610be25760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed8585856123b0565b5050505050565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015610c5d57600080fd5b505afa158015610c71573d6000803e3d6000fd5b505050506040513d6020811015610c8757600080fd5b505190506001600160a01b0381163314610cd25760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b848314610d14576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d5657610d4e88888884818110610d2f57fe5b90506020020135878785818110610d4257fe5b90506020020135612421565b600101610d17565b5050505050505050565b60608083839050604051908082528060200260200182016040528015610d90578160200160208202803883390190505b506000868152600160209081526040808320548352600390915281209192505b84811015610dfc57816000878784818110610dc757fe5b90506020020135815260200190815260200160002054838281518110610de957fe5b6020908102919091010152600101610db0565b509095945050505050565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015610e7057600080fd5b505afa158015610e84573d6000803e3d6000fd5b505050506040513d6020811015610e9a57600080fd5b505190506001600160a01b0381163314610ee55760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526005825280832086845282529182902054825187815291820186905260ff168015158284015291517f321123223c2c7bffd7484ae8fb80c6eb45aa5537df0a621c47833ab9376a4a9c9181900360600190a15050506000918252600160209081526040808420548452600582528084209284529190529020805460ff19169055565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015610fe457600080fd5b505afa158015610ff8573d6000803e3d6000fd5b505050506040513d602081101561100e57600080fd5b505190506001600160a01b03811633146110595760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526002825280832086845282529182902054825187815291820186905281830181905291517f8a6b612c1a1e056bc504f34fe56106a878fca2d1a50be35360d02ac39d4d46629181900360600190a1505050600091825260016020908152604080842054845260028252808420928452919052812055565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561114d57600080fd5b505afa158015611161573d6000803e3d6000fd5b505050506040513d602081101561117757600080fd5b505190506001600160a01b03811633146111c25760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed858585612421565b60009182526001602090815260408084205484526002825280842092845291905290205490565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561125d57600080fd5b505afa158015611271573d6000803e3d6000fd5b505050506040513d602081101561128757600080fd5b505190506001600160a01b03811633146112d25760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526006825280832086845282529182902054825187815291820186905281830181905291517f1f751825a531bf2a176e42d5cb792bb7228163cf53e36b033509ccbe869cfd939181900360600190a1505050600091825260016020908152604080842054845260068252808420928452919052812055565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b1580156113c657600080fd5b505afa1580156113da573d6000803e3d6000fd5b505050506040513d60208110156113f057600080fd5b505190506001600160a01b038116331461143b5760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b84831461147d576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d56576114c08888888481811061149857fe5b905060200201358787858181106114ab57fe5b905060200201356001600160a01b0316612492565b600101611480565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561153157600080fd5b505afa158015611545573d6000803e3d6000fd5b505050506040513d602081101561155b57600080fd