@dolomite-exchange/dolomite-margin 0.2.6 → 0.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/contracts/Account.json +11 -11
- package/build/contracts/Actions.json +11 -11
- package/build/contracts/Address.json +1 -1
- package/build/contracts/Admin.json +23 -23
- package/build/contracts/AdminImpl.json +35 -307
- package/build/contracts/AdvancedMath.json +7 -7
- package/build/contracts/AmmRebalancerProxy.json +577 -621
- package/build/contracts/AmmRebalancerProxyV1.json +78 -32
- package/build/contracts/Babylonian.json +1 -1
- package/build/contracts/Bits.json +9 -9
- package/build/contracts/Cache.json +13 -13
- package/build/contracts/ChainlinkPriceOracleV1.json +16 -16
- package/build/contracts/Context.json +1 -1
- package/build/contracts/CustomTestToken.json +9 -9
- package/build/contracts/Decimal.json +9 -9
- package/build/contracts/DelayedMultiSig.json +9 -9
- package/build/contracts/DolomiteAmmERC20.json +11 -11
- package/build/contracts/DolomiteAmmFactory.json +14 -52
- package/build/contracts/DolomiteAmmLibrary.json +24 -24
- package/build/contracts/DolomiteAmmPair.json +27 -27
- package/build/contracts/DolomiteAmmRouterProxy.json +30 -363
- package/build/contracts/DolomiteMargin.json +21 -67
- package/build/contracts/DoubleExponentInterestSetter.json +15 -21
- package/build/contracts/EnumerableSet.json +7 -7
- package/build/contracts/ErroringOmiseToken.json +9 -9
- package/build/contracts/ErroringToken.json +10 -10
- package/build/contracts/Events.json +17 -17
- package/build/contracts/ExcessivelySafeCall.json +35 -35
- package/build/contracts/Exchange.json +15 -15
- package/build/contracts/Expiry.json +36 -36
- package/build/contracts/Getters.json +33 -33
- package/build/contracts/IAutoTrader.json +9 -9
- package/build/contracts/ICallee.json +7 -7
- package/build/contracts/IChainlinkAggregator.json +5 -5
- package/build/contracts/IDolomiteAmmERC20.json +5 -5
- package/build/contracts/IDolomiteAmmFactory.json +9 -9
- package/build/contracts/IDolomiteAmmPair.json +9 -9
- package/build/contracts/IDolomiteMargin.json +23 -23
- package/build/contracts/IERC20.json +1 -1
- package/build/contracts/IERC20Detailed.json +5 -5
- package/build/contracts/IExchangeWrapper.json +5 -5
- package/build/contracts/IExpiry.json +9 -9
- package/build/contracts/IInterestSetter.json +7 -7
- package/build/contracts/ILiquidationCallback.json +7 -7
- package/build/contracts/IMakerOracle.json +5 -5
- package/build/contracts/IOasisDex.json +5 -5
- package/build/contracts/IPriceOracle.json +7 -7
- package/build/contracts/IRecyclable.json +9 -9
- package/build/contracts/ITransferProxy.json +5 -5
- package/build/contracts/IUniswapV2Callee.json +5 -5
- package/build/contracts/IUniswapV2Factory.json +5 -5
- package/build/contracts/IUniswapV2Pair.json +5 -5
- package/build/contracts/IUniswapV2Router.json +5 -5
- package/build/contracts/IWETH.json +5 -5
- package/build/contracts/Interest.json +15 -15
- package/build/contracts/LiquidateOrVaporizeImpl.json +32 -83
- package/build/contracts/LiquidatorProxyHelper.json +23 -23
- package/build/contracts/LiquidatorProxyV1.json +30 -36
- package/build/contracts/LiquidatorProxyV1WithAmm.json +49 -105
- package/build/contracts/Math.json +1 -1
- package/build/contracts/Migrations.json +8 -14
- package/build/contracts/Monetary.json +7 -7
- package/build/contracts/MultiCall.json +8 -14
- package/build/contracts/MultiSig.json +7 -7
- package/build/contracts/OmiseToken.json +8 -8
- package/build/contracts/OnlyDolomiteMargin.json +11 -11
- package/build/contracts/Operation.json +15 -15
- package/build/contracts/OperationImpl.json +39 -47
- package/build/contracts/Ownable.json +1 -1
- package/build/contracts/PartiallyDelayedMultiSig.json +9 -9
- package/build/contracts/PayableProxy.json +17 -23
- package/build/contracts/Permission.json +11 -11
- package/build/contracts/PolynomialInterestSetter.json +13 -13
- package/build/contracts/RecyclableTokenProxy.json +25 -25
- package/build/contracts/ReentrancyGuard.json +1 -1
- package/build/contracts/Require.json +7 -7
- package/build/contracts/SafeERC20.json +1 -1
- package/build/contracts/SafeETH.json +7 -7
- package/build/contracts/SafeLiquidationCallback.json +17 -17
- package/build/contracts/SafeMath.json +1 -1
- package/build/contracts/SignedOperationProxy.json +21 -104
- package/build/contracts/SimpleFeeOwner.json +18 -63
- package/build/contracts/State.json +9 -9
- package/build/contracts/Storage.json +37 -37
- package/build/contracts/TestAmmRebalancerProxy.json +32 -58
- package/build/contracts/TestAutoTrader.json +22 -22
- package/build/contracts/TestBtcUsdChainlinkAggregator.json +10 -10
- package/build/contracts/TestCallee.json +19 -19
- package/build/contracts/TestChainlinkPriceOracleV1.json +10 -94
- package/build/contracts/TestCounter.json +7 -7
- package/build/contracts/TestDaiUsdChainlinkAggregator.json +11 -11
- package/build/contracts/TestDolomiteMargin.json +22 -22
- package/build/contracts/TestDoubleExponentInterestSetter.json +10 -10
- package/build/contracts/TestEthUsdChainlinkAggregator.json +11 -11
- package/build/contracts/TestExchangeWrapper.json +28 -28
- package/build/contracts/TestInterestSetter.json +13 -13
- package/build/contracts/TestLib.json +22 -22
- package/build/contracts/TestLinkUsdChainlinkAggregator.json +11 -11
- package/build/contracts/TestLiquidateCallback.json +719 -719
- package/build/contracts/TestLiquidationCallback.json +13 -13
- package/build/contracts/TestLrcEthChainlinkAggregator.json +11 -11
- package/build/contracts/TestMakerOracle.json +10 -10
- package/build/contracts/TestMaticUsdChainlinkAggregator.json +10 -10
- package/build/contracts/TestOasisDex.json +12 -12
- package/build/contracts/TestOperationImpl.json +14 -14
- package/build/contracts/TestPolynomialInterestSetter.json +10 -10
- package/build/contracts/TestPriceAggregator.json +9 -9
- package/build/contracts/TestPriceOracle.json +13 -13
- package/build/contracts/TestRecyclableToken.json +9 -9
- package/build/contracts/TestSimpleCallee.json +15 -15
- package/build/contracts/TestToken.json +9 -9
- package/build/contracts/TestTrader.json +17 -17
- package/build/contracts/TestUniswapAmmRebalancerProxy.json +16 -16
- package/build/contracts/TestUsdcUsdChainlinkAggregator.json +11 -11
- package/build/contracts/TestWETH.json +9 -9
- package/build/contracts/Time.json +9 -9
- package/build/contracts/Token.json +9 -9
- package/build/contracts/TokenA.json +10 -10
- package/build/contracts/TokenB.json +10 -10
- package/build/contracts/TokenC.json +10 -10
- package/build/contracts/TokenD.json +10 -10
- package/build/contracts/TokenE.json +10 -10
- package/build/contracts/TokenF.json +10 -10
- package/build/contracts/TransferProxy.json +22 -28
- package/build/contracts/TypedSignature.json +9 -9
- package/build/contracts/Types.json +9 -9
- package/build/contracts/UQ112x112.json +7 -7
- package/build/contracts/UniswapV2ERC20.json +7 -7
- package/build/contracts/UniswapV2Factory.json +12 -12
- package/build/contracts/UniswapV2Library.json +20 -20
- package/build/contracts/UniswapV2Pair.json +17 -17
- package/build/contracts/UniswapV2Router02.json +16 -16
- package/build/contracts/WETH9.json +1 -1
- package/contracts/external/amm/DolomiteAmmERC20.sol +135 -0
- package/contracts/external/amm/DolomiteAmmFactory.sol +122 -0
- package/contracts/external/amm/DolomiteAmmPair.sol +573 -0
- package/contracts/external/amm/SimpleFeeOwner.sol +107 -0
- package/contracts/external/helpers/LiquidatorProxyHelper.sol +252 -0
- package/contracts/external/helpers/OnlyDolomiteMargin.sol +63 -0
- package/contracts/external/interestsetters/DoubleExponentInterestSetter.sol +212 -0
- package/contracts/external/interestsetters/PolynomialInterestSetter.sol +205 -0
- package/contracts/external/interfaces/IChainlinkAggregator.sol +33 -0
- package/contracts/external/interfaces/IDolomiteAmmERC20.sol +52 -0
- package/contracts/external/interfaces/IDolomiteAmmFactory.sol +42 -0
- package/contracts/external/interfaces/IDolomiteAmmPair.sol +116 -0
- package/contracts/external/interfaces/IExpiry.sol +70 -0
- package/contracts/external/interfaces/IMakerOracle.sol +52 -0
- package/contracts/external/interfaces/IOasisDex.sol +326 -0
- package/contracts/external/interfaces/ITransferProxy.sol +53 -0
- package/contracts/external/interfaces/IUniswapV2Router.sol +134 -0
- package/contracts/external/lib/AdvancedMath.sol +23 -0
- package/contracts/external/lib/DolomiteAmmLibrary.sol +323 -0
- package/contracts/external/lib/TypedSignature.sol +120 -0
- package/contracts/external/lib/UQ112x112.sol +22 -0
- package/contracts/external/multisig/DelayedMultiSig.sol +206 -0
- package/contracts/external/multisig/MultiSig.sol +571 -0
- package/contracts/external/multisig/PartiallyDelayedMultiSig.sol +174 -0
- package/contracts/external/oracles/ChainlinkPriceOracleV1.sol +197 -0
- package/contracts/external/oracles/TestChainlinkPriceOracleV1.sol +98 -0
- package/contracts/external/proxies/AmmRebalancerProxyV1.sol +465 -0
- package/contracts/external/proxies/DolomiteAmmRouterProxy.sol +877 -0
- package/contracts/external/proxies/LiquidatorProxyV1.sol +507 -0
- package/contracts/external/proxies/LiquidatorProxyV1WithAmm.sol +574 -0
- package/contracts/external/proxies/PayableProxy.sol +146 -0
- package/contracts/external/proxies/RecyclableTokenProxy.sol +463 -0
- package/contracts/external/proxies/SignedOperationProxy.sol +553 -0
- package/contracts/external/proxies/TransferProxy.sol +207 -0
- package/contracts/external/traders/Expiry.sol +532 -0
- package/contracts/external/uniswap-v2/UniswapV2ERC20.sol +118 -0
- package/contracts/external/uniswap-v2/UniswapV2Factory.sol +67 -0
- package/contracts/external/uniswap-v2/UniswapV2Pair.sol +283 -0
- package/contracts/external/uniswap-v2/UniswapV2Router02.sol +566 -0
- package/contracts/external/uniswap-v2/interfaces/IUniswapV2Callee.sol +13 -0
- package/contracts/external/uniswap-v2/interfaces/IUniswapV2Factory.sol +18 -0
- package/contracts/external/uniswap-v2/interfaces/IUniswapV2Pair.sol +67 -0
- package/contracts/external/uniswap-v2/interfaces/IWETH.sol +7 -0
- package/contracts/external/uniswap-v2/libraries/SafeETH.sol +29 -0
- package/contracts/external/uniswap-v2/libraries/UniswapV2Library.sol +117 -0
- package/contracts/external/utils/MultiCall.sol +95 -0
- package/contracts/protocol/impl/artifacts/OperationImpl.json +80 -0
- package/contracts/protocol/impl/artifacts/OperationImpl_metadata.json +193 -0
- package/dist/build/published_contracts/AdminImpl.json +2 -2
- package/dist/build/published_contracts/AmmRebalancerProxyV1.json +5 -0
- package/dist/build/published_contracts/ChainlinkPriceOracleV1.json +1 -1
- package/dist/build/published_contracts/DolomiteAmmFactory.json +1 -1
- package/dist/build/published_contracts/DolomiteAmmRouterProxy.json +1 -1
- package/dist/build/published_contracts/DoubleExponentInterestSetter.json +2 -2
- package/dist/build/published_contracts/Expiry.json +1 -1
- package/dist/build/published_contracts/LiquidatorProxyV1.json +1 -1
- package/dist/build/published_contracts/LiquidatorProxyV1WithAmm.json +1 -1
- package/dist/build/published_contracts/MultiCall.json +1 -1
- package/dist/build/published_contracts/PayableProxy.json +2 -2
- package/dist/build/published_contracts/SignedOperationProxy.json +2 -2
- package/dist/build/published_contracts/SimpleFeeOwner.json +1 -1
- package/dist/build/published_contracts/TestUniswapAmmRebalancerProxy.json +140 -0
- package/dist/build/published_contracts/TransferProxy.json +1 -1
- package/dist/src/lib/Contracts.d.ts +3 -1
- package/dist/src/lib/Contracts.js +7 -3
- package/dist/src/lib/Contracts.js.map +1 -1
- package/package.json +2 -1
|
@@ -305,15 +305,15 @@
|
|
|
305
305
|
"type": "event"
|
|
306
306
|
}
|
|
307
307
|
],
|
|
308
|
-
"metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"marketId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"LogAddMarket\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"marketId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"LogRemoveMarket\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"autoTrader\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isSpecial\",\"type\":\"bool\"}],\"name\":\"LogSetAutoTraderIsSpecial\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct Decimal.D256\",\"name\":\"earningsRate\",\"type\":\"tuple\"}],\"name\":\"LogSetEarningsRate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"LogSetGlobalOperator\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"marketId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"interestSetter\",\"type\":\"address\"}],\"name\":\"LogSetInterestSetter\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"marketId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isClosing\",\"type\":\"bool\"}],\"name\":\"LogSetIsClosing\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct Decimal.D256\",\"name\":\"liquidationSpread\",\"type\":\"tuple\"}],\"name\":\"LogSetLiquidationSpread\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"marketId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct Decimal.D256\",\"name\":\"marginPremium\",\"type\":\"tuple\"}],\"name\":\"LogSetMarginPremium\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct Decimal.D256\",\"name\":\"marginRatio\",\"type\":\"tuple\"}],\"name\":\"LogSetMarginRatio\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct Monetary.Value\",\"name\":\"minBorrowedValue\",\"type\":\"tuple\"}],\"name\":\"LogSetMinBorrowedValue\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"marketId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"priceOracle\",\"type\":\"address\"}],\"name\":\"LogSetPriceOracle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"marketId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct Decimal.D256\",\"name\":\"spreadPremium\",\"type\":\"tuple\"}],\"name\":\"LogSetSpreadPremium\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"LogWithdrawExcessTokens\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"LogWithdrawUnsupportedTokens\",\"type\":\"event\"}],\"devdoc\":{\"author\":\"dYdX * Administrative functions to keep the protocol updated\",\"methods\":{},\"title\":\"AdminImpl\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/impl/AdminImpl.sol\":\"AdminImpl\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[]},\"sources\":{\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/impl/AdminImpl.sol\":{\"keccak256\":\"0xbcb580fd35399cf0b2e20cdeb3f2bb25ad791a16577a5e9842ebf3fd5b205f67\",\"urls\":[\"bzz-raw://a308759195b5d5d91a76b9509299a68f4d62dc2a363f2546b9f2d28fa8ba3ff0\",\"dweb:/ipfs/QmTgd11YSyCVaMHxQhheQTpvSY3M8123LjozpjaVDvBLx4\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IERC20Detailed.sol\":{\"keccak256\":\"0x22a62e2a8155e70300773721902f4b9118e17aa0bb5d9d1b046050a014cfb223\",\"urls\":[\"bzz-raw://03af737a33c552fbe58f6f1fbd5496854fdc28dd57be4365d56663725c083a18\",\"dweb:/ipfs/QmbgLqGAQEd6tXsZB8QaPNCAMiU6nNzP75wNbKdS65BuUF\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IInterestSetter.sol\":{\"keccak256\":\"0x546825f65490a30e29d0f6446acec49c1e895ce6b33d48ca5c05092725a63a57\",\"urls\":[\"bzz-raw://6ad3013aed985bdf6e6234ae0f7f37e6bba76c3470c33bfa24678cf19b3b412c\",\"dweb:/ipfs/QmfYaSBzxGpgiHoR7ontMJY66S5L26XwkLYoEuzsEjpbQH\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IPriceOracle.sol\":{\"keccak256\":\"0x3f7c3d1397390ea44c6d5e5730d49476431c3df3b28334fe38218de5edc31138\",\"urls\":[\"bzz-raw://63ebf926fca9ce33aaabaf93805686acc25daded1648d6dab59c8c4d05116918\",\"dweb:/ipfs/QmeGkDp7ycYstpfqCYBiqoCYwy876gabx8r42o5koj3H5A\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IRecyclable.sol\":{\"keccak256\":\"0x68843eafdee387608bd2e757c91e90c5044fc3724ea3ad5042117ab4af49d639\",\"urls\":[\"bzz-raw://14b71da16f79b9b5356dfb8d9243a141bb87b209e30fc99c9278c9a01e62a1a0\",\"dweb:/ipfs/QmNhdGQbhSBSJ8dTqSuntaqA3ChhkKpwLuhDfS5UGQ461A\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Account.sol\":{\"keccak256\":\"0x0ab9a3fabc89984dff748af63d4319ee134051de2d7fc560e34ebaac86198396\",\"urls\":[\"bzz-raw://ab67f499a8ef83dc7e7cf7176a0f66eced40fa228eda8dd2d47e066ab985cf42\",\"dweb:/ipfs/QmXRHbsEYxr2Qsfsj5psXGV5LaPZHuzLiEXzSQJ77WSE27\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Bits.sol\":{\"keccak256\":\"0x425bf5764368faca16cc30a64b79d9bbe01fd8150444b58a464971c32450bd85\",\"urls\":[\"bzz-raw://064baf3155da634c5c80cea70bba0dda7a33af934b34f75f596961b4ab9aeafe\",\"dweb:/ipfs/QmTUHXoi9L6CkERyfhFs1jhxU66u2sbc6XRR5cH4TeHEqL\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Cache.sol\":{\"keccak256\":\"0x1e6ff383f285e311d07374edda353e14ac4f29201726b0062a2f046c1a2b482c\",\"urls\":[\"bzz-raw://fd11c5db01039bf2c95f3561b08d271b80b7b1cb9fd7f75da887f7609807c5a7\",\"dweb:/ipfs/QmcY6CugdEHaYUa8ZKSnUDhvtVuoLfpDscZcmC91koAn1t\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Decimal.sol\":{\"keccak256\":\"0x66990bbe3c58d0edf57d3f67ab5280e2a53958ce44f75c335c4c50542321bccb\",\"urls\":[\"bzz-raw://724cfdb5c99121aab5262679e46766a2883e344749870d7dbfa92d1617f68bf2\",\"dweb:/ipfs/QmYjAsS45f6UG2u3zuTks2HVfMYtyFCVMgUvD7Gt7XtU3R\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/EnumerableSet.sol\":{\"keccak256\":\"0x9710b0ab43cc2d964d8722a0aabbedbf7e9d4756dcc0b4ab7c46c1ee68653042\",\"urls\":[\"bzz-raw://2405593d37f0f224bfca556f01634a9755bb0ed626f74dd15293106a8b4dd7d3\",\"dweb:/ipfs/QmTZ16S336jsoDnK5p3vAZRzimBkmdEJibncHVBJxBt469\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Interest.sol\":{\"keccak256\":\"0x73e75454568c5dfc3bdcf7dbf2ddce6ab8d3d317618bc1f1957f7667e15d3799\",\"urls\":[\"bzz-raw://7b1c8a9a79c8ffdbb0fa633f713ae3dfeac93b31d2b1639614ac32d473fb8250\",\"dweb:/ipfs/QmfARP93W2mgeVwD9Lkd3yVmbCLF2Mos7o8HJ1x6WYQmxZ\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Math.sol\":{\"keccak256\":\"0x0c0c913b6ccdb69063f9ec84879fcad20a1ee6f44402c9f5ec2b4f5b9f2fa16b\",\"urls\":[\"bzz-raw://89b32eefb57e5e63ad8c6e079ae7bf2d2c8622776cd45af0cf304e1cafd6e078\",\"dweb:/ipfs/Qmcj7yRnYuTgKC3ZqZqe8rynHGYVDS3UrFExcVGcqeaDHY\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Monetary.sol\":{\"keccak256\":\"0x5257274f2d4d3605f3e97ec45fb902111fe9a22506f0b4cf308ea933bc81bfe2\",\"urls\":[\"bzz-raw://85b8023b78805063a2ec8d376f1f5983994eabd96efd8ceadb0224dbb71c5678\",\"dweb:/ipfs/QmaDhzCzRqsuHuJfhToEC4pATQHwhh7yWWsjwfuRzFT1kG\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Require.sol\":{\"keccak256\":\"0xe641662503ea29ca959e84674188c3e9deaaf64c5623fb9560a4301c521ca1d3\",\"urls\":[\"bzz-raw://b10a04c7d014b99eb792c8c774e203c846d070b30cf0b715325fc07838ed6a6d\",\"dweb:/ipfs/QmUqZWnbchfEY9jM647yQamHe4GzspfUeRQF9k2nn1Hixd\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Storage.sol\":{\"keccak256\":\"0xf930fbde3ab43ec8f079dbad062453b502542f53b7eec670c8e86c7a2e47dd9a\",\"urls\":[\"bzz-raw://e1c402fc55471e8372be478e99f91c28373f096e31f0ef1d5072dfdb81541c29\",\"dweb:/ipfs/QmTc8WSfFCbxNQqNpq1vptUVFxteKQ8HWEhyXREyPZ2neu\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Time.sol\":{\"keccak256\":\"0x233d6ebf965711bf980f4bb2e672fb1a11b4b879fd41c884b3c2b704417d0d0c\",\"urls\":[\"bzz-raw://6478ff81706d531f9438b96274a7b904abbbd9c631540c68c6a89c3accf27abf\",\"dweb:/ipfs/QmWe9vkz3qwVjrcbmcTL8wgkjLPsrEqxcqPJL9ujM8PPbp\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Token.sol\":{\"keccak256\":\"0xd7bcae9e3c570544fc946a00cc7695106a64c20bc130d0183612c0410a531d19\",\"urls\":[\"bzz-raw://0ff5ffd6abb9ed223a64128c131afd962bec07fb9867cb62593906b339c76920\",\"dweb:/ipfs/QmbTrJL4bekvBqqaw6wXnBhYzS9uAqULSWF2VzW4cdfsM5\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Types.sol\":{\"keccak256\":\"0xab134538648a2e223a7fe61db03c14f687657a5d37147f93c9088f11735aa311\",\"urls\":[\"bzz-raw://79dc7d2b30576d2349b99267642ac8d5fb7939c920b8d8045379d3614238bdc3\",\"dweb:/ipfs/QmaQJYg1nirHoWSC6G38Cjsk9pZBzEaNrGXKqTsvAzbyES\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x640b6dee7a4b830bdfd52b5031a07fc2b12209f5b2e29e5d364a7d37f69d8076\",\"urls\":[\"bzz-raw://31113152e1ddb78fe7a4197f247591ca894e93f916867beb708d8e747b6cc74f\",\"dweb:/ipfs/QmbZaJyXdpsYGykVhHH9qpVGQg9DGCxE2QufbCUy3daTgq\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzz-raw://59fd025151435da35faa8093a5c7a17de02de9d08ad27275c5cdf05050820d91\",\"dweb:/ipfs/QmQMvwEcPhoRXzbXyrdoeRtvLoifUW9Qh7Luho7bmUPRkc\"]}},\"version\":1}",
|
|
309
|
-
"bytecode": "0x612f91610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100ff5760003560e01c80638854ab3e116100a1578063d963729111610070578063d96372911461027c578063dd32998a1461029c578063e80f8024146102bc578063f9cacc4c146102dc576100ff565b80638854ab3e146101e65780638c5dabd114610206578063aa92e34814610226578063b25328e014610246576100ff565b80633c0c9ddc116100dd5780633c0c9ddc146101665780634f32fb271461018657806354dd3516146101a65780637335079b146101c6576100ff565b80630f44e6bc1461010457806310c87b0614610126578063311401d014610146575b600080fd5b81801561011057600080fd5b5061012461011f366004612926565b6102fc565b005b81801561013257600080fd5b50610124610141366004612992565b6103d4565b81801561015257600080fd5b50610124610161366004612926565b61046e565b81801561017257600080fd5b506101246101813660046127e9565b610503565b81801561019257600080fd5b506101246101a136600461282c565b610586565b8180156101b257600080fd5b506101246101c1366004612926565b6108c5565b8180156101d257600080fd5b506101246101e1366004612a07565b610985565b8180156101f257600080fd5b50610124610201366004612a07565b61099f565b81801561021257600080fd5b506101246102213660046129c4565b6109b4565b81801561023257600080fd5b506101246102413660046129c4565b6109c9565b81801561025257600080fd5b50610266610261366004612960565b6109de565b6040516102739190612d95565b60405180910390f35b81801561028857600080fd5b506101246102973660046128dc565b610b74565b8180156102a857600080fd5b506102666102b736600461279c565b6110e2565b8180156102c857600080fd5b506101246102d73660046127e9565b6111fd565b8180156102e857600080fd5b506101246102f7366004612926565b611280565b600c82015481516103529168010000000000000000900467ffffffffffffffff1610156810591b5a5b925b5c1b60ba1b7f53707265616420746f6f20686967680000000000000000000000000000000000611315565b6008820154815161039191116810591b5a5b925b5c1b60ba1b7f5370726561642063616e6e6f74206265203e3d20726174696f00000000000000611315565b805160098301556040517f9f7e4a6848b17eb13974d54a526bd85f5762577a23c3095ea6fd888d429e834b906103c8908390612d87565b60405180910390a15050565b6103de83836113c6565b60008281526001840160205260409081902080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000084151502179055517fec669433aa0b3212a238c30115dbf73736739faf98a33c293ecad3daad1b37f6906104619084908490612dbe565b60405180910390a1505050565b600c82015481516104cc91700100000000000000000000000000000000900467ffffffffffffffff1610156810591b5a5b925b5c1b60ba1b7f5261746520746f6f206869676800000000000000000000000000000000000000611315565b8051600a8301556040517fea691dd294c7882aadc1bebc2ffb81b91afb6be606dbf15d627c073889c72436906103c8908390612d87565b73ffffffffffffffffffffffffffffffffffffffff821660009081526007840160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016831515179055517f3401777ccabf70a1ee50ed130d9a499a70dad2b7d7b33b6b63e7d11b3b18c117906104619084908490612cf8565b6105908888611437565b6000196000908152600389016020526040902054806105b7575087546001810189556105d2565b600081815260038a0160205260408082205460001983529120555b600081815260018a016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8a161790556106286114ad565b600082815260018b016020908152604080832084516002808301805488870151988601517fffffffffffffffffffffffffffffffffffffffff0000000000000000000000009091166bffffffffffffffffffffffff948516177fffffffffffffffff000000000000000000000000ffffffffffffffffffffffff166c010000000000000000000000009490991693909302979097177fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff16780100000000000000000000000000000000000000000000000063ffffffff909316929092029190911790955580547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000089151502177fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff1675010000000000000000000000000000000000000000008815150217905573ffffffffffffffffffffffffffffffffffffffff8c168352928c019052819020829055517f8cf904fdff707692d4bd95366b93d7302a97b4bf64f6716fd00b046ecbf82a46906107df9083908b90612da3565b60405180910390a18215610827577fec669433aa0b3212a238c30115dbf73736739faf98a33c293ecad3daad1b37f6818460405161081e929190612dbe565b60405180910390a15b6108328982896114e8565b61083d89828861166c565b6108488982876117aa565b61085389828661185a565b81156108ba578773ffffffffffffffffffffffffffffffffffffffff16638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156108a157600080fd5b505af11580156108b5573d6000803e3d6000fd5b505050505b505050505050505050565b600c820154815161090f9167ffffffffffffffff1610156810591b5a5b925b5c1b60ba1b7f526174696f20746f6f2068696768000000000000000000000000000000000000611315565b6009820154815161094e91106810591b5a5b925b5c1b60ba1b7f526174696f2063616e6e6f74206265203c3d2073707265616400000000000000611315565b805160088301556040517f253f176964e18a501db01a67272483db404e4e473e8afd1d255eeb0e96eb2e13906103c8908390612d87565b61098f83836113c6565b61099a8383836117aa565b505050565b6109a983836113c6565b61099a83838361185a565b6109be83836113c6565b61099a8383836114e8565b6109d383836113c6565b61099a83838361166c565b60006109ea84846113c6565b6109f2612603565b610a02858563ffffffff6118ee16565b9050610a44610a1082611a4b565b156810591b5a5b925b5c1b60ba1b7f4e65676174697665206578636573730000000000000000000000000000000000611315565b6000610a56868663ffffffff611a6916565b905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610a939190612cea565b60206040518083038186803b158015610aab57600080fd5b505afa158015610abf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ae39190810190612a4a565b90508083602001511115610af957602083018190525b6020830151610b279073ffffffffffffffffffffffffffffffffffffffff841690879063ffffffff611a9516565b7fa5df3527e4451a18e4b8a5e3308e1d1f1962062aeafe061c48bbb29f172a39c8828460200151604051610b5c929190612d3b565b60405180910390a150506020015190505b9392505050565b60005b82518110156110dc576000846001016000858481518110610b9457fe5b6020026020010151815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050610c4b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156810591b5a5b925b5c1b60ba1b7f6d61726b657420646f6573206e6f742065786973740000000000000000000000878681518110610c3e57fe5b6020026020010151611b94565b610cc1856001016000868581518110610c6057fe5b6020026020010151815260200190815260200160002060000160159054906101000a900460ff166810591b5a5b925b5c1b60ba1b7f6d61726b6574206973206e6f742072656379636c61626c650000000000000000878681518110610c3e57fe5b610d3d610cea858481518110610cd357fe5b602002602001015187611c2c90919063ffffffff16565b600001516fffffffffffffffffffffffffffffffff166000146810591b5a5b925b5c1b60ba1b7f6d61726b6574206861732061637469766520626f72726f777300000000000000878681518110610c3e57fe5b6000610d65858481518110610d4e57fe5b602002602001015187611a6990919063ffffffff16565b73ffffffffffffffffffffffffffffffffffffffff16631061d1ab6040518163ffffffff1660e01b815260040160206040518083038186803b158015610daa57600080fd5b505afa158015610dbe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610de29190810190612a4a565b9050610e324282106810591b5a5b925b5c1b60ba1b7f6d61726b6574206973206e6f7420657870697265640000000000000000000000888781518110610e2457fe5b602002602001015185611c8c565b610e774262093a808301106810591b5a5b925b5c1b60ba1b7f65787069726174696f6e206d7573742070617373206275666665720000000000888781518110610e2457fe5b610ebd8285610ea2888781518110610e8b57fe5b60200260200101518a611c2c90919063ffffffff16565b602001516fffffffffffffffffffffffffffffffff16611a95565b856001016000868581518110610ecf57fe5b6020908102919091018101518252818101929092526040908101600090812080547fffffffffffffffffffff0000000000000000000000000000000000000000000016815560018101829055600280820180547fffffffff00000000000000000000000000000000000000000000000000000000169055600380830180547fffffffffffffffffffffffff0000000000000000000000000000000000000000908116909155600484018054909116905560058301849055600690920183905573ffffffffffffffffffffffffffffffffffffffff871683528a018452828220829055600019825289019092529020548551869085908110610fcc57fe5b602002602001015187600301600060001981526020019081526020016000208190555080600014611025578087600301600088878151811061100a57fe5b60200260200101518152602001908152602001600020819055505b8273ffffffffffffffffffffffffffffffffffffffff16630f23cbaa6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561106d57600080fd5b505af1158015611081573d6000803e3d6000fd5b505050507f2f797c8d8107514dc1984472c15d479f7020885c278230f1a2a8fc1dc67746c58685815181106110b257fe5b6020026020010151846040516110c9929190612da3565b60405180910390a1505050600101610b77565b50505050565b60006110ee8484611437565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8516906370a0823190611143903090600401612cea565b60206040518083038186803b15801561115b57600080fd5b505afa15801561116f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111939190810190612a4a565b90506111bc73ffffffffffffffffffffffffffffffffffffffff8516848363ffffffff611a9516565b7f9dcbc20ebd63f294c7a8332cf06b52eca32a867b9ea7ce29d6c1cc5901494bec84826040516111ed929190612d3b565b60405180910390a1949350505050565b73ffffffffffffffffffffffffffffffffffffffff821660009081526006840160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016831515179055517feaeee7699e70e6b31ac89ec999ef6936b97ac1e364f0e1fcf584772372caa0d3906104619084908490612cf8565b600d82015481516112de916801000000000000000090046fffffffffffffffffffffffffffffffff1610156810591b5a5b925b5c1b60ba1b7f56616c756520746f6f2068696768000000000000000000000000000000000000611315565b8051600b8301556040517ffdcde9342dcfa3a8817b7566b25fed913d2c6eddb65575d40e14681934fae971906103c8908390612d87565b8261099a5761132382611d57565b7f3a2000000000000000000000000000000000000000000000000000000000000061134d83611d57565b60405160200161135f93929190612be8565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526113bd91600401612d56565b60405180910390fd5b815461143390821080156113ff5750600082815260018401602052604090205473ffffffffffffffffffffffffffffffffffffffff1615155b6810591b5a5b925b5c1b60ba1b7f496e76616c6964206d61726b657400000000000000000000000000000000000084611b94565b5050565b73ffffffffffffffffffffffffffffffffffffffff80821660008181526002850160209081526040808320548084526001880190925290912054909216146110dc81156810591b5a5b925b5c1b60ba1b7f4d61726b65742065786973747300000000000000000000000000000000000000611315565b6114b561261a565b60408051606081018252670de0b6b3a764000080825260208201529081016114db611e0d565b63ffffffff169052905090565b6000828152600184016020526040908190205490517f41976e0900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff918216916115db91908416906341976e0990611555908590600401612cea565b60206040518083038186803b15801561156d57600080fd5b505afa158015611581573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115a5919081019061277e565b5115156810591b5a5b925b5c1b60ba1b7f496e76616c6964206f7261636c65207072696365000000000000000000000000611315565b60008381526001850160205260409081902060030180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8516179055517f6585928691672490b717a51fe425f4494b34c6b5cb8335c5dc1e70115bd266309061165e9085908590612da3565b60405180910390a150505050565b60008281526001840160205260408082205490517fe8177dcf00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff918216929184169163e8177dcf916116d69185918190600401612d13565b60206040518083038186803b1580156116ee57600080fd5b505afa158015611702573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611726919081019061277e565b5060008381526001850160205260409081902060040180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8516179055517faa2217332f2505521d63c728f59a8692c1c8c952a0c5d578e4142bb88cefb0639061165e9085908590612da3565b600c8301548151611810917801000000000000000000000000000000000000000000000000900467ffffffffffffffff1610156810591b5a5b925b5c1b60ba1b7f4d617267696e207072656d69756d20746f6f2068696768000000000000000000611315565b6000828152600184016020526040908190208251600590910155517f19ecb621bc945075c47008c9deaf25107a3343ecfe752608915a9d1da35e9e7c906104619084908490612dcc565b600d83015481516118a49167ffffffffffffffff1610156810591b5a5b925b5c1b60ba1b7f537072656164207072656d69756d20746f6f2068696768000000000000000000611315565b6000828152600184016020526040908190208251600690910155517f8214bd57e079f2f3e3e5c52bf78db5fb85926c866aec322ba024db710365fc35906104619084908490612dcc565b6118f6612603565b6118fe61261a565b61190e848463ffffffff611e1d16565b9050611918612603565b611928858563ffffffff611c2c16565b9050600061193c868663ffffffff611a6916565b9050611946612603565b6040805180820182526001815290517f70a08231000000000000000000000000000000000000000000000000000000008152602082019073ffffffffffffffffffffffffffffffffffffffff8516906370a08231906119a9903090600401612cea565b60206040518083038186803b1580156119c157600080fd5b505afa1580156119d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119f99190810190612a4a565b90529050611a05612603565b611a0d612603565b611a178587611ea1565b9092509050611a3c82611a30858463ffffffff611f4916565b9063ffffffff611f4916565b96505050505050505b92915050565b8051600090158015611a61575060008260200151115b90505b919050565b6000908152600191909101602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b801580611ab7575073ffffffffffffffffffffffffffffffffffffffff821630145b15611ac15761099a565b60405161099a9084907fa9059cbb0000000000000000000000000000000000000000000000000000000090611afc9086908690602401612d3b565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518060400160405280601681526020017f546f6b656e3a207472616e73666572206661696c656400000000000000000000815250611f63565b836110dc57611ba283611d57565b7f3a20000000000000000000000000000000000000000000000000000000000000611bcc84611d57565b7f203c000000000000000000000000000000000000000000000000000000000000611bf68561206a565b60405161135f9594939291907f3e0000000000000000000000000000000000000000000000000000000000000090602001612c10565b611c34612603565b506000818152600180840160209081526040928390208351808501909452909101546fffffffffffffffffffffffffffffffff8082168452700100000000000000000000000000000000909104169082015292915050565b84611d5057611c9a84611d57565b7f3a20000000000000000000000000000000000000000000000000000000000000611cc485611d57565b7f203c000000000000000000000000000000000000000000000000000000000000611cee8661206a565b7f2c20000000000000000000000000000000000000000000000000000000000000611d188761206a565b60405161135f97969594939291907f3e0000000000000000000000000000000000000000000000000000000000000090602001612c6e565b5050505050565b60608082604051602001611d6b9190612bc7565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905060205b8015611df657815160001990910190829082908110611db957fe5b01602001517fff000000000000000000000000000000000000000000000000000000000000001615611df15760010181529050611a64565b611d9e565b505060408051600081526020810190915292915050565b6000611e184261215b565b905090565b611e2561261a565b506000908152600191909101602090815260409182902082516060810184526002909101546bffffffffffffffffffffffff80821683526c0100000000000000000000000082041692820192909252780100000000000000000000000000000000000000000000000090910463ffffffff169181019190915290565b611ea9612603565b611eb1612603565b611eb9612603565b5060408051808201909152600181526020858101516fffffffffffffffffffffffffffffffff1690820152611eec612603565b50604080518082019091526000815285516fffffffffffffffffffffffffffffffff166020820152611f1c612603565b611f2683876121b2565b9050611f30612603565b611f3a83886121b2565b91989197509095505050505050565b611f51612603565b610b6d83611f5e84612263565b61228a565b600060608473ffffffffffffffffffffffffffffffffffffffff1684604051611f8c9190612bdc565b6000604051808303816000865af19150503d8060008114611fc9576040519150601f19603f3d011682016040523d82523d6000602084013e611fce565b606091505b509150915081839061200d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bd9190612d56565b50805115611d5057808060200190516120299190810190612758565b8390612062576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bd9190612d56565b505050505050565b6060816120ab575060408051808201909152600181527f30000000000000000000000000000000000000000000000000000000000000006020820152611a64565b8160005b81156120c357600101600a820491506120af565b6060816040519080825280601f01601f1916602001820160405280156120f0576020820181803883390190505b508593509050815b80156121525760001901600a840660300160f81b82828151811061211857fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a840493506120f8565b50949350505050565b600081611a6163ffffffff821682147f4d617468000000000000000000000000000000000000000000000000000000007f556e73616665206361737420746f2075696e743332000000000000000000000084611b94565b6121ba612603565b602083015183516fffffffffffffffffffffffffffffffff90911690156122265760408051808201909152600181526020848101519082019061221b9084906bffffffffffffffffffffffff16670de0b6b3a764000063ffffffff61231c16565b815250915050611a45565b60408051808201909152600081528351602082019061221b9084906bffffffffffffffffffffffff16670de0b6b3a764000063ffffffff61231c16565b61226b612603565b5060408051808201909152815115815260208083015190820152919050565b612292612603565b61229a612603565b82518451151590151514156122cd57835115158152602080850151908401516122c391906123c5565b6020820152610b6d565b82602001518460200151106122f657835115158152602080850151908401516122c39190612404565b825115158152602080840151908501516123109190612404565b60208201529392505050565b6000831580612329575082155b1561234057612339600083612446565b9050610b6d565b6000612352858563ffffffff61248816565b90506123bc612389600161237d6002612371888463ffffffff61240416565b9063ffffffff61244616565b9063ffffffff6123c516565b612399838663ffffffff6124dc16565b10156123a65760006123a9565b60015b60ff1661237d838663ffffffff61244616565b95945050505050565b600082820183811015610b6d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bd90612d67565b6000610b6d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061251e565b6000610b6d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612564565b60008261249757506000611a45565b828202828482816124a457fe5b0414610b6d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bd90612d77565b6000610b6d83836040518060400160405280601881526020017f536166654d6174683a206d6f64756c6f206279207a65726f00000000000000008152506125b5565b6000818484111561255c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bd9190612d56565b505050900390565b6000818361259f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bd9190612d56565b5060008385816125ab57fe5b0495945050505050565b600081836125f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bd9190612d56565b508284816125fa57fe5b06949350505050565b604080518082019091526000808252602082015290565b604080516060810182526000808252602082018190529181019190915290565b8035611a4581612f1c565b600082601f83011261265657600080fd5b813561266961266482612e0e565b612de7565b9150818183526020840193506020810190508385602084028201111561268e57600080fd5b60005b838110156126ba57816126a48882612742565b8452506020928301929190910190600101612691565b5050505092915050565b8035611a4581612f33565b8051611a4581612f33565b8035611a4581612f3c565b6000602082840312156126f757600080fd5b6127016020612de7565b9050600061270f8484612742565b82525092915050565b60006020828403121561272a57600080fd5b6127346020612de7565b9050600061270f848461274d565b8035611a4581612f45565b8051611a4581612f45565b60006020828403121561276a57600080fd5b600061277684846126cf565b949350505050565b60006020828403121561279057600080fd5b60006127768484612718565b6000806000606084860312156127b157600080fd5b60006127bd8686612742565b93505060206127ce8682870161263a565b92505060406127df8682870161263a565b9150509250925092565b6000806000606084860312156127fe57600080fd5b600061280a8686612742565b935050602061281b8682870161263a565b92505060406127df868287016126c4565b600080600080600080600080610100898b03121561284957600080fd5b60006128558b8b612742565b98505060206128668b828c0161263a565b97505060406128778b828c016126da565b96505060606128888b828c016126da565b95505060806128998b828c016126e5565b94505060a06128aa8b828c016126e5565b93505060c06128bb8b828c016126c4565b92505060e06128cc8b828c016126c4565b9150509295985092959890939650565b6000806000606084860312156128f157600080fd5b60006128fd8686612742565b935050602084013567ffffffffffffffff81111561291a57600080fd5b6127ce86828701612645565b6000806040838503121561293957600080fd5b60006129458585612742565b9250506020612956858286016126e5565b9150509250929050565b60008060006060848603121561297557600080fd5b60006129818686612742565b93505060206127ce86828701612742565b6000806000606084860312156129a757600080fd5b60006129b38686612742565b935050602061281b86828701612742565b6000806000606084860312156129d957600080fd5b60006129e58686612742565b93505060206129f686828701612742565b92505060406127df868287016126da565b600080600060608486031215612a1c57600080fd5b6000612a288686612742565b9350506020612a3986828701612742565b92505060406127df868287016126e5565b600060208284031215612a5c57600080fd5b6000612776848461274d565b612a7181612e3c565b82525050565b612a7181612e47565b612a71612a8c82612e4c565b612e96565b612a71612a8c82612e71565b612a71612a8c82612e96565b6000612ab482612e2f565b612abe8185611a64565b9350612ace818560208601612ec8565b9290920192915050565b612a7181612ebd565b6000612aec82612e2f565b612af68185612e33565b9350612b06818560208601612ec8565b612b0f81612ef4565b9093019392505050565b6000612b26601b83612e33565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612b5f602183612e33565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81527f7700000000000000000000000000000000000000000000000000000000000000602082015260400192915050565b805160208301906110dc84825b612a7181612e96565b6000612bd38284612a9d565b50602001919050565b6000610b6d8284612aa9565b6000612bf48286612aa9565b9150612c008285612a91565b6002820191506123bc8284612aa9565b6000612c1c8289612aa9565b9150612c288288612a91565b600282019150612c388287612aa9565b9150612c448286612a91565b600282019150612c548285612aa9565b9150612c608284612a80565b506001019695505050505050565b6000612c7a828b612aa9565b9150612c86828a612a91565b600282019150612c968289612aa9565b9150612ca28288612a91565b600282019150612cb28287612aa9565b9150612cbe8286612a91565b600282019150612cce8285612aa9565b9150612cda8284612a80565b5060010198975050505050505050565b60208101611a458284612a68565b60408101612d068285612a68565b610b6d6020830184612a77565b60608101612d218286612a68565b612d2e6020830185612ad8565b6127766040830184612ad8565b60408101612d498285612a68565b610b6d6020830184612bbe565b60208082528101610b6d8184612ae1565b60208082528101611a6181612b19565b60208082528101611a6181612b52565b60208101611a458284612bb1565b60208101611a458284612bbe565b60408101612db18285612bbe565b610b6d6020830184612a68565b60408101612d068285612bbe565b60408101612dda8285612bbe565b610b6d6020830184612bb1565b60405181810167ffffffffffffffff81118282101715612e0657600080fd5b604052919050565b600067ffffffffffffffff821115612e2557600080fd5b5060209081020190565b5190565b90815260200190565b6000611a6182612ea4565b151590565b7fff000000000000000000000000000000000000000000000000000000000000001690565b7fffff0000000000000000000000000000000000000000000000000000000000001690565b90565b6000611a6182612e3c565b73ffffffffffffffffffffffffffffffffffffffff1690565b6000611a6182612e96565b60005b83811015612ee3578181015183820152602001612ecb565b838111156110dc5750506000910152565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690565b612f2581612e3c565b8114612f3057600080fd5b50565b612f2581612e47565b612f2581612e99565b612f2581612e9656fea365627a7a723158201273264c660fd23a57400002547ce00a15f7d5f500d0ae1f58838eeac071362f6c6578706572696d656e74616cf564736f6c63430005100040",
|
|
310
|
-
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100ff5760003560e01c80638854ab3e116100a1578063d963729111610070578063d96372911461027c578063dd32998a1461029c578063e80f8024146102bc578063f9cacc4c146102dc576100ff565b80638854ab3e146101e65780638c5dabd114610206578063aa92e34814610226578063b25328e014610246576100ff565b80633c0c9ddc116100dd5780633c0c9ddc146101665780634f32fb271461018657806354dd3516146101a65780637335079b146101c6576100ff565b80630f44e6bc1461010457806310c87b0614610126578063311401d014610146575b600080fd5b81801561011057600080fd5b5061012461011f366004612926565b6102fc565b005b81801561013257600080fd5b50610124610141366004612992565b6103d4565b81801561015257600080fd5b50610124610161366004612926565b61046e565b81801561017257600080fd5b506101246101813660046127e9565b610503565b81801561019257600080fd5b506101246101a136600461282c565b610586565b8180156101b257600080fd5b506101246101c1366004612926565b6108c5565b8180156101d257600080fd5b506101246101e1366004612a07565b610985565b8180156101f257600080fd5b50610124610201366004612a07565b61099f565b81801561021257600080fd5b506101246102213660046129c4565b6109b4565b81801561023257600080fd5b506101246102413660046129c4565b6109c9565b81801561025257600080fd5b50610266610261366004612960565b6109de565b6040516102739190612d95565b60405180910390f35b81801561028857600080fd5b506101246102973660046128dc565b610b74565b8180156102a857600080fd5b506102666102b736600461279c565b6110e2565b8180156102c857600080fd5b506101246102d73660046127e9565b6111fd565b8180156102e857600080fd5b506101246102f7366004612926565b611280565b600c82015481516103529168010000000000000000900467ffffffffffffffff1610156810591b5a5b925b5c1b60ba1b7f53707265616420746f6f20686967680000000000000000000000000000000000611315565b6008820154815161039191116810591b5a5b925b5c1b60ba1b7f5370726561642063616e6e6f74206265203e3d20726174696f00000000000000611315565b805160098301556040517f9f7e4a6848b17eb13974d54a526bd85f5762577a23c3095ea6fd888d429e834b906103c8908390612d87565b60405180910390a15050565b6103de83836113c6565b60008281526001840160205260409081902080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000084151502179055517fec669433aa0b3212a238c30115dbf73736739faf98a33c293ecad3daad1b37f6906104619084908490612dbe565b60405180910390a1505050565b600c82015481516104cc91700100000000000000000000000000000000900467ffffffffffffffff1610156810591b5a5b925b5c1b60ba1b7f5261746520746f6f206869676800000000000000000000000000000000000000611315565b8051600a8301556040517fea691dd294c7882aadc1bebc2ffb81b91afb6be606dbf15d627c073889c72436906103c8908390612d87565b73ffffffffffffffffffffffffffffffffffffffff821660009081526007840160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016831515179055517f3401777ccabf70a1ee50ed130d9a499a70dad2b7d7b33b6b63e7d11b3b18c117906104619084908490612cf8565b6105908888611437565b6000196000908152600389016020526040902054806105b7575087546001810189556105d2565b600081815260038a0160205260408082205460001983529120555b600081815260018a016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8a161790556106286114ad565b600082815260018b016020908152604080832084516002808301805488870151988601517fffffffffffffffffffffffffffffffffffffffff0000000000000000000000009091166bffffffffffffffffffffffff948516177fffffffffffffffff000000000000000000000000ffffffffffffffffffffffff166c010000000000000000000000009490991693909302979097177fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff16780100000000000000000000000000000000000000000000000063ffffffff909316929092029190911790955580547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000089151502177fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff1675010000000000000000000000000000000000000000008815150217905573ffffffffffffffffffffffffffffffffffffffff8c168352928c019052819020829055517f8cf904fdff707692d4bd95366b93d7302a97b4bf64f6716fd00b046ecbf82a46906107df9083908b90612da3565b60405180910390a18215610827577fec669433aa0b3212a238c30115dbf73736739faf98a33c293ecad3daad1b37f6818460405161081e929190612dbe565b60405180910390a15b6108328982896114e8565b61083d89828861166c565b6108488982876117aa565b61085389828661185a565b81156108ba578773ffffffffffffffffffffffffffffffffffffffff16638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156108a157600080fd5b505af11580156108b5573d6000803e3d6000fd5b505050505b505050505050505050565b600c820154815161090f9167ffffffffffffffff1610156810591b5a5b925b5c1b60ba1b7f526174696f20746f6f2068696768000000000000000000000000000000000000611315565b6009820154815161094e91106810591b5a5b925b5c1b60ba1b7f526174696f2063616e6e6f74206265203c3d2073707265616400000000000000611315565b805160088301556040517f253f176964e18a501db01a67272483db404e4e473e8afd1d255eeb0e96eb2e13906103c8908390612d87565b61098f83836113c6565b61099a8383836117aa565b505050565b6109a983836113c6565b61099a83838361185a565b6109be83836113c6565b61099a8383836114e8565b6109d383836113c6565b61099a83838361166c565b60006109ea84846113c6565b6109f2612603565b610a02858563ffffffff6118ee16565b9050610a44610a1082611a4b565b156810591b5a5b925b5c1b60ba1b7f4e65676174697665206578636573730000000000000000000000000000000000611315565b6000610a56868663ffffffff611a6916565b905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610a939190612cea565b60206040518083038186803b158015610aab57600080fd5b505afa158015610abf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ae39190810190612a4a565b90508083602001511115610af957602083018190525b6020830151610b279073ffffffffffffffffffffffffffffffffffffffff841690879063ffffffff611a9516565b7fa5df3527e4451a18e4b8a5e3308e1d1f1962062aeafe061c48bbb29f172a39c8828460200151604051610b5c929190612d3b565b60405180910390a150506020015190505b9392505050565b60005b82518110156110dc576000846001016000858481518110610b9457fe5b6020026020010151815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050610c4b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156810591b5a5b925b5c1b60ba1b7f6d61726b657420646f6573206e6f742065786973740000000000000000000000878681518110610c3e57fe5b6020026020010151611b94565b610cc1856001016000868581518110610c6057fe5b6020026020010151815260200190815260200160002060000160159054906101000a900460ff166810591b5a5b925b5c1b60ba1b7f6d61726b6574206973206e6f742072656379636c61626c650000000000000000878681518110610c3e57fe5b610d3d610cea858481518110610cd357fe5b602002602001015187611c2c90919063ffffffff16565b600001516fffffffffffffffffffffffffffffffff166000146810591b5a5b925b5c1b60ba1b7f6d61726b6574206861732061637469766520626f72726f777300000000000000878681518110610c3e57fe5b6000610d65858481518110610d4e57fe5b602002602001015187611a6990919063ffffffff16565b73ffffffffffffffffffffffffffffffffffffffff16631061d1ab6040518163ffffffff1660e01b815260040160206040518083038186803b158015610daa57600080fd5b505afa158015610dbe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610de29190810190612a4a565b9050610e324282106810591b5a5b925b5c1b60ba1b7f6d61726b6574206973206e6f7420657870697265640000000000000000000000888781518110610e2457fe5b602002602001015185611c8c565b610e774262093a808301106810591b5a5b925b5c1b60ba1b7f65787069726174696f6e206d7573742070617373206275666665720000000000888781518110610e2457fe5b610ebd8285610ea2888781518110610e8b57fe5b60200260200101518a611c2c90919063ffffffff16565b602001516fffffffffffffffffffffffffffffffff16611a95565b856001016000868581518110610ecf57fe5b6020908102919091018101518252818101929092526040908101600090812080547fffffffffffffffffffff0000000000000000000000000000000000000000000016815560018101829055600280820180547fffffffff00000000000000000000000000000000000000000000000000000000169055600380830180547fffffffffffffffffffffffff0000000000000000000000000000000000000000908116909155600484018054909116905560058301849055600690920183905573ffffffffffffffffffffffffffffffffffffffff871683528a018452828220829055600019825289019092529020548551869085908110610fcc57fe5b602002602001015187600301600060001981526020019081526020016000208190555080600014611025578087600301600088878151811061100a57fe5b60200260200101518152602001908152602001600020819055505b8273ffffffffffffffffffffffffffffffffffffffff16630f23cbaa6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561106d57600080fd5b505af1158015611081573d6000803e3d6000fd5b505050507f2f797c8d8107514dc1984472c15d479f7020885c278230f1a2a8fc1dc67746c58685815181106110b257fe5b6020026020010151846040516110c9929190612da3565b60405180910390a1505050600101610b77565b50505050565b60006110ee8484611437565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8516906370a0823190611143903090600401612cea565b60206040518083038186803b15801561115b57600080fd5b505afa15801561116f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111939190810190612a4a565b90506111bc73ffffffffffffffffffffffffffffffffffffffff8516848363ffffffff611a9516565b7f9dcbc20ebd63f294c7a8332cf06b52eca32a867b9ea7ce29d6c1cc5901494bec84826040516111ed929190612d3b565b60405180910390a1949350505050565b73ffffffffffffffffffffffffffffffffffffffff821660009081526006840160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016831515179055517feaeee7699e70e6b31ac89ec999ef6936b97ac1e364f0e1fcf584772372caa0d3906104619084908490612cf8565b600d82015481516112de916801000000000000000090046fffffffffffffffffffffffffffffffff1610156810591b5a5b925b5c1b60ba1b7f56616c756520746f6f2068696768000000000000000000000000000000000000611315565b8051600b8301556040517ffdcde9342dcfa3a8817b7566b25fed913d2c6eddb65575d40e14681934fae971906103c8908390612d87565b8261099a5761132382611d57565b7f3a2000000000000000000000000000000000000000000000000000000000000061134d83611d57565b60405160200161135f93929190612be8565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526113bd91600401612d56565b60405180910390fd5b815461143390821080156113ff5750600082815260018401602052604090205473ffffffffffffffffffffffffffffffffffffffff1615155b6810591b5a5b925b5c1b60ba1b7f496e76616c6964206d61726b657400000000000000000000000000000000000084611b94565b5050565b73ffffffffffffffffffffffffffffffffffffffff80821660008181526002850160209081526040808320548084526001880190925290912054909216146110dc81156810591b5a5b925b5c1b60ba1b7f4d61726b65742065786973747300000000000000000000000000000000000000611315565b6114b561261a565b60408051606081018252670de0b6b3a764000080825260208201529081016114db611e0d565b63ffffffff169052905090565b6000828152600184016020526040908190205490517f41976e0900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff918216916115db91908416906341976e0990611555908590600401612cea565b60206040518083038186803b15801561156d57600080fd5b505afa158015611581573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115a5919081019061277e565b5115156810591b5a5b925b5c1b60ba1b7f496e76616c6964206f7261636c65207072696365000000000000000000000000611315565b60008381526001850160205260409081902060030180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8516179055517f6585928691672490b717a51fe425f4494b34c6b5cb8335c5dc1e70115bd266309061165e9085908590612da3565b60405180910390a150505050565b60008281526001840160205260408082205490517fe8177dcf00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff918216929184169163e8177dcf916116d69185918190600401612d13565b60206040518083038186803b1580156116ee57600080fd5b505afa158015611702573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611726919081019061277e565b5060008381526001850160205260409081902060040180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8516179055517faa2217332f2505521d63c728f59a8692c1c8c952a0c5d578e4142bb88cefb0639061165e9085908590612da3565b600c8301548151611810917801000000000000000000000000000000000000000000000000900467ffffffffffffffff1610156810591b5a5b925b5c1b60ba1b7f4d617267696e207072656d69756d20746f6f2068696768000000000000000000611315565b6000828152600184016020526040908190208251600590910155517f19ecb621bc945075c47008c9deaf25107a3343ecfe752608915a9d1da35e9e7c906104619084908490612dcc565b600d83015481516118a49167ffffffffffffffff1610156810591b5a5b925b5c1b60ba1b7f537072656164207072656d69756d20746f6f2068696768000000000000000000611315565b6000828152600184016020526040908190208251600690910155517f8214bd57e079f2f3e3e5c52bf78db5fb85926c866aec322ba024db710365fc35906104619084908490612dcc565b6118f6612603565b6118fe61261a565b61190e848463ffffffff611e1d16565b9050611918612603565b611928858563ffffffff611c2c16565b9050600061193c868663ffffffff611a6916565b9050611946612603565b6040805180820182526001815290517f70a08231000000000000000000000000000000000000000000000000000000008152602082019073ffffffffffffffffffffffffffffffffffffffff8516906370a08231906119a9903090600401612cea565b60206040518083038186803b1580156119c157600080fd5b505afa1580156119d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119f99190810190612a4a565b90529050611a05612603565b611a0d612603565b611a178587611ea1565b9092509050611a3c82611a30858463ffffffff611f4916565b9063ffffffff611f4916565b96505050505050505b92915050565b8051600090158015611a61575060008260200151115b90505b919050565b6000908152600191909101602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b801580611ab7575073ffffffffffffffffffffffffffffffffffffffff821630145b15611ac15761099a565b60405161099a9084907fa9059cbb0000000000000000000000000000000000000000000000000000000090611afc9086908690602401612d3b565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518060400160405280601681526020017f546f6b656e3a207472616e73666572206661696c656400000000000000000000815250611f63565b836110dc57611ba283611d57565b7f3a20000000000000000000000000000000000000000000000000000000000000611bcc84611d57565b7f203c000000000000000000000000000000000000000000000000000000000000611bf68561206a565b60405161135f9594939291907f3e0000000000000000000000000000000000000000000000000000000000000090602001612c10565b611c34612603565b506000818152600180840160209081526040928390208351808501909452909101546fffffffffffffffffffffffffffffffff8082168452700100000000000000000000000000000000909104169082015292915050565b84611d5057611c9a84611d57565b7f3a20000000000000000000000000000000000000000000000000000000000000611cc485611d57565b7f203c000000000000000000000000000000000000000000000000000000000000611cee8661206a565b7f2c20000000000000000000000000000000000000000000000000000000000000611d188761206a565b60405161135f97969594939291907f3e0000000000000000000000000000000000000000000000000000000000000090602001612c6e565b5050505050565b60608082604051602001611d6b9190612bc7565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905060205b8015611df657815160001990910190829082908110611db957fe5b01602001517fff000000000000000000000000000000000000000000000000000000000000001615611df15760010181529050611a64565b611d9e565b505060408051600081526020810190915292915050565b6000611e184261215b565b905090565b611e2561261a565b506000908152600191909101602090815260409182902082516060810184526002909101546bffffffffffffffffffffffff80821683526c0100000000000000000000000082041692820192909252780100000000000000000000000000000000000000000000000090910463ffffffff169181019190915290565b611ea9612603565b611eb1612603565b611eb9612603565b5060408051808201909152600181526020858101516fffffffffffffffffffffffffffffffff1690820152611eec612603565b50604080518082019091526000815285516fffffffffffffffffffffffffffffffff166020820152611f1c612603565b611f2683876121b2565b9050611f30612603565b611f3a83886121b2565b91989197509095505050505050565b611f51612603565b610b6d83611f5e84612263565b61228a565b600060608473ffffffffffffffffffffffffffffffffffffffff1684604051611f8c9190612bdc565b6000604051808303816000865af19150503d8060008114611fc9576040519150601f19603f3d011682016040523d82523d6000602084013e611fce565b606091505b509150915081839061200d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bd9190612d56565b50805115611d5057808060200190516120299190810190612758565b8390612062576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bd9190612d56565b505050505050565b6060816120ab575060408051808201909152600181527f30000000000000000000000000000000000000000000000000000000000000006020820152611a64565b8160005b81156120c357600101600a820491506120af565b6060816040519080825280601f01601f1916602001820160405280156120f0576020820181803883390190505b508593509050815b80156121525760001901600a840660300160f81b82828151811061211857fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a840493506120f8565b50949350505050565b600081611a6163ffffffff821682147f4d617468000000000000000000000000000000000000000000000000000000007f556e73616665206361737420746f2075696e743332000000000000000000000084611b94565b6121ba612603565b602083015183516fffffffffffffffffffffffffffffffff90911690156122265760408051808201909152600181526020848101519082019061221b9084906bffffffffffffffffffffffff16670de0b6b3a764000063ffffffff61231c16565b815250915050611a45565b60408051808201909152600081528351602082019061221b9084906bffffffffffffffffffffffff16670de0b6b3a764000063ffffffff61231c16565b61226b612603565b5060408051808201909152815115815260208083015190820152919050565b612292612603565b61229a612603565b82518451151590151514156122cd57835115158152602080850151908401516122c391906123c5565b6020820152610b6d565b82602001518460200151106122f657835115158152602080850151908401516122c39190612404565b825115158152602080840151908501516123109190612404565b60208201529392505050565b6000831580612329575082155b1561234057612339600083612446565b9050610b6d565b6000612352858563ffffffff61248816565b90506123bc612389600161237d6002612371888463ffffffff61240416565b9063ffffffff61244616565b9063ffffffff6123c516565b612399838663ffffffff6124dc16565b10156123a65760006123a9565b60015b60ff1661237d838663ffffffff61244616565b95945050505050565b600082820183811015610b6d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bd90612d67565b6000610b6d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061251e565b6000610b6d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612564565b60008261249757506000611a45565b828202828482816124a457fe5b0414610b6d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bd90612d77565b6000610b6d83836040518060400160405280601881526020017f536166654d6174683a206d6f64756c6f206279207a65726f00000000000000008152506125b5565b6000818484111561255c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bd9190612d56565b505050900390565b6000818361259f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bd9190612d56565b5060008385816125ab57fe5b0495945050505050565b600081836125f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bd9190612d56565b508284816125fa57fe5b06949350505050565b604080518082019091526000808252602082015290565b604080516060810182526000808252602082018190529181019190915290565b8035611a4581612f1c565b600082601f83011261265657600080fd5b813561266961266482612e0e565b612de7565b9150818183526020840193506020810190508385602084028201111561268e57600080fd5b60005b838110156126ba57816126a48882612742565b8452506020928301929190910190600101612691565b5050505092915050565b8035611a4581612f33565b8051611a4581612f33565b8035611a4581612f3c565b6000602082840312156126f757600080fd5b6127016020612de7565b9050600061270f8484612742565b82525092915050565b60006020828403121561272a57600080fd5b6127346020612de7565b9050600061270f848461274d565b8035611a4581612f45565b8051611a4581612f45565b60006020828403121561276a57600080fd5b600061277684846126cf565b949350505050565b60006020828403121561279057600080fd5b60006127768484612718565b6000806000606084860312156127b157600080fd5b60006127bd8686612742565b93505060206127ce8682870161263a565b92505060406127df8682870161263a565b9150509250925092565b6000806000606084860312156127fe57600080fd5b600061280a8686612742565b935050602061281b8682870161263a565b92505060406127df868287016126c4565b600080600080600080600080610100898b03121561284957600080fd5b60006128558b8b612742565b98505060206128668b828c0161263a565b97505060406128778b828c016126da565b96505060606128888b828c016126da565b95505060806128998b828c016126e5565b94505060a06128aa8b828c016126e5565b93505060c06128bb8b828c016126c4565b92505060e06128cc8b828c016126c4565b9150509295985092959890939650565b6000806000606084860312156128f157600080fd5b60006128fd8686612742565b935050602084013567ffffffffffffffff81111561291a57600080fd5b6127ce86828701612645565b6000806040838503121561293957600080fd5b60006129458585612742565b9250506020612956858286016126e5565b9150509250929050565b60008060006060848603121561297557600080fd5b60006129818686612742565b93505060206127ce86828701612742565b6000806000606084860312156129a757600080fd5b60006129b38686612742565b935050602061281b86828701612742565b6000806000606084860312156129d957600080fd5b60006129e58686612742565b93505060206129f686828701612742565b92505060406127df868287016126da565b600080600060608486031215612a1c57600080fd5b6000612a288686612742565b9350506020612a3986828701612742565b92505060406127df868287016126e5565b600060208284031215612a5c57600080fd5b6000612776848461274d565b612a7181612e3c565b82525050565b612a7181612e47565b612a71612a8c82612e4c565b612e96565b612a71612a8c82612e71565b612a71612a8c82612e96565b6000612ab482612e2f565b612abe8185611a64565b9350612ace818560208601612ec8565b9290920192915050565b612a7181612ebd565b6000612aec82612e2f565b612af68185612e33565b9350612b06818560208601612ec8565b612b0f81612ef4565b9093019392505050565b6000612b26601b83612e33565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612b5f602183612e33565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81527f7700000000000000000000000000000000000000000000000000000000000000602082015260400192915050565b805160208301906110dc84825b612a7181612e96565b6000612bd38284612a9d565b50602001919050565b6000610b6d8284612aa9565b6000612bf48286612aa9565b9150612c008285612a91565b6002820191506123bc8284612aa9565b6000612c1c8289612aa9565b9150612c288288612a91565b600282019150612c388287612aa9565b9150612c448286612a91565b600282019150612c548285612aa9565b9150612c608284612a80565b506001019695505050505050565b6000612c7a828b612aa9565b9150612c86828a612a91565b600282019150612c968289612aa9565b9150612ca28288612a91565b600282019150612cb28287612aa9565b9150612cbe8286612a91565b600282019150612cce8285612aa9565b9150612cda8284612a80565b5060010198975050505050505050565b60208101611a458284612a68565b60408101612d068285612a68565b610b6d6020830184612a77565b60608101612d218286612a68565b612d2e6020830185612ad8565b6127766040830184612ad8565b60408101612d498285612a68565b610b6d6020830184612bbe565b60208082528101610b6d8184612ae1565b60208082528101611a6181612b19565b60208082528101611a6181612b52565b60208101611a458284612bb1565b60208101611a458284612bbe565b60408101612db18285612bbe565b610b6d6020830184612a68565b60408101612d068285612bbe565b60408101612dda8285612bbe565b610b6d6020830184612bb1565b60405181810167ffffffffffffffff81118282101715612e0657600080fd5b604052919050565b600067ffffffffffffffff821115612e2557600080fd5b5060209081020190565b5190565b90815260200190565b6000611a6182612ea4565b151590565b7fff000000000000000000000000000000000000000000000000000000000000001690565b7fffff0000000000000000000000000000000000000000000000000000000000001690565b90565b6000611a6182612e3c565b73ffffffffffffffffffffffffffffffffffffffff1690565b6000611a6182612e96565b60005b83811015612ee3578181015183820152602001612ecb565b838111156110dc5750506000910152565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690565b612f2581612e3c565b8114612f3057600080fd5b50565b612f2581612e47565b612f2581612e99565b612f2581612e9656fea365627a7a723158201273264c660fd23a57400002547ce00a15f7d5f500d0ae1f58838eeac071362f6c6578706572696d656e74616cf564736f6c63430005100040",
|
|
308
|
+
"metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"marketId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"LogAddMarket\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"marketId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"LogRemoveMarket\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"autoTrader\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isSpecial\",\"type\":\"bool\"}],\"name\":\"LogSetAutoTraderIsSpecial\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct Decimal.D256\",\"name\":\"earningsRate\",\"type\":\"tuple\"}],\"name\":\"LogSetEarningsRate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"LogSetGlobalOperator\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"marketId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"interestSetter\",\"type\":\"address\"}],\"name\":\"LogSetInterestSetter\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"marketId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isClosing\",\"type\":\"bool\"}],\"name\":\"LogSetIsClosing\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct Decimal.D256\",\"name\":\"liquidationSpread\",\"type\":\"tuple\"}],\"name\":\"LogSetLiquidationSpread\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"marketId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct Decimal.D256\",\"name\":\"marginPremium\",\"type\":\"tuple\"}],\"name\":\"LogSetMarginPremium\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct Decimal.D256\",\"name\":\"marginRatio\",\"type\":\"tuple\"}],\"name\":\"LogSetMarginRatio\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct Monetary.Value\",\"name\":\"minBorrowedValue\",\"type\":\"tuple\"}],\"name\":\"LogSetMinBorrowedValue\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"marketId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"priceOracle\",\"type\":\"address\"}],\"name\":\"LogSetPriceOracle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"marketId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct Decimal.D256\",\"name\":\"spreadPremium\",\"type\":\"tuple\"}],\"name\":\"LogSetSpreadPremium\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"LogWithdrawExcessTokens\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"LogWithdrawUnsupportedTokens\",\"type\":\"event\"}],\"devdoc\":{\"author\":\"dYdX * Administrative functions to keep the protocol updated\",\"methods\":{},\"title\":\"AdminImpl\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/impl/AdminImpl.sol\":\"AdminImpl\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[]},\"sources\":{\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/impl/AdminImpl.sol\":{\"keccak256\":\"0xbcb580fd35399cf0b2e20cdeb3f2bb25ad791a16577a5e9842ebf3fd5b205f67\",\"urls\":[\"bzz-raw://a308759195b5d5d91a76b9509299a68f4d62dc2a363f2546b9f2d28fa8ba3ff0\",\"dweb:/ipfs/QmTgd11YSyCVaMHxQhheQTpvSY3M8123LjozpjaVDvBLx4\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/interfaces/IERC20Detailed.sol\":{\"keccak256\":\"0x22a62e2a8155e70300773721902f4b9118e17aa0bb5d9d1b046050a014cfb223\",\"urls\":[\"bzz-raw://03af737a33c552fbe58f6f1fbd5496854fdc28dd57be4365d56663725c083a18\",\"dweb:/ipfs/QmbgLqGAQEd6tXsZB8QaPNCAMiU6nNzP75wNbKdS65BuUF\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/interfaces/IInterestSetter.sol\":{\"keccak256\":\"0x546825f65490a30e29d0f6446acec49c1e895ce6b33d48ca5c05092725a63a57\",\"urls\":[\"bzz-raw://6ad3013aed985bdf6e6234ae0f7f37e6bba76c3470c33bfa24678cf19b3b412c\",\"dweb:/ipfs/QmfYaSBzxGpgiHoR7ontMJY66S5L26XwkLYoEuzsEjpbQH\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/interfaces/IPriceOracle.sol\":{\"keccak256\":\"0x3f7c3d1397390ea44c6d5e5730d49476431c3df3b28334fe38218de5edc31138\",\"urls\":[\"bzz-raw://63ebf926fca9ce33aaabaf93805686acc25daded1648d6dab59c8c4d05116918\",\"dweb:/ipfs/QmeGkDp7ycYstpfqCYBiqoCYwy876gabx8r42o5koj3H5A\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/interfaces/IRecyclable.sol\":{\"keccak256\":\"0x68843eafdee387608bd2e757c91e90c5044fc3724ea3ad5042117ab4af49d639\",\"urls\":[\"bzz-raw://14b71da16f79b9b5356dfb8d9243a141bb87b209e30fc99c9278c9a01e62a1a0\",\"dweb:/ipfs/QmNhdGQbhSBSJ8dTqSuntaqA3ChhkKpwLuhDfS5UGQ461A\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Account.sol\":{\"keccak256\":\"0x0ab9a3fabc89984dff748af63d4319ee134051de2d7fc560e34ebaac86198396\",\"urls\":[\"bzz-raw://ab67f499a8ef83dc7e7cf7176a0f66eced40fa228eda8dd2d47e066ab985cf42\",\"dweb:/ipfs/QmXRHbsEYxr2Qsfsj5psXGV5LaPZHuzLiEXzSQJ77WSE27\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Bits.sol\":{\"keccak256\":\"0x425bf5764368faca16cc30a64b79d9bbe01fd8150444b58a464971c32450bd85\",\"urls\":[\"bzz-raw://064baf3155da634c5c80cea70bba0dda7a33af934b34f75f596961b4ab9aeafe\",\"dweb:/ipfs/QmTUHXoi9L6CkERyfhFs1jhxU66u2sbc6XRR5cH4TeHEqL\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Cache.sol\":{\"keccak256\":\"0x1e6ff383f285e311d07374edda353e14ac4f29201726b0062a2f046c1a2b482c\",\"urls\":[\"bzz-raw://fd11c5db01039bf2c95f3561b08d271b80b7b1cb9fd7f75da887f7609807c5a7\",\"dweb:/ipfs/QmcY6CugdEHaYUa8ZKSnUDhvtVuoLfpDscZcmC91koAn1t\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Decimal.sol\":{\"keccak256\":\"0x66990bbe3c58d0edf57d3f67ab5280e2a53958ce44f75c335c4c50542321bccb\",\"urls\":[\"bzz-raw://724cfdb5c99121aab5262679e46766a2883e344749870d7dbfa92d1617f68bf2\",\"dweb:/ipfs/QmYjAsS45f6UG2u3zuTks2HVfMYtyFCVMgUvD7Gt7XtU3R\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/EnumerableSet.sol\":{\"keccak256\":\"0x9710b0ab43cc2d964d8722a0aabbedbf7e9d4756dcc0b4ab7c46c1ee68653042\",\"urls\":[\"bzz-raw://2405593d37f0f224bfca556f01634a9755bb0ed626f74dd15293106a8b4dd7d3\",\"dweb:/ipfs/QmTZ16S336jsoDnK5p3vAZRzimBkmdEJibncHVBJxBt469\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Interest.sol\":{\"keccak256\":\"0x73e75454568c5dfc3bdcf7dbf2ddce6ab8d3d317618bc1f1957f7667e15d3799\",\"urls\":[\"bzz-raw://7b1c8a9a79c8ffdbb0fa633f713ae3dfeac93b31d2b1639614ac32d473fb8250\",\"dweb:/ipfs/QmfARP93W2mgeVwD9Lkd3yVmbCLF2Mos7o8HJ1x6WYQmxZ\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Math.sol\":{\"keccak256\":\"0x0c0c913b6ccdb69063f9ec84879fcad20a1ee6f44402c9f5ec2b4f5b9f2fa16b\",\"urls\":[\"bzz-raw://89b32eefb57e5e63ad8c6e079ae7bf2d2c8622776cd45af0cf304e1cafd6e078\",\"dweb:/ipfs/Qmcj7yRnYuTgKC3ZqZqe8rynHGYVDS3UrFExcVGcqeaDHY\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Monetary.sol\":{\"keccak256\":\"0x5257274f2d4d3605f3e97ec45fb902111fe9a22506f0b4cf308ea933bc81bfe2\",\"urls\":[\"bzz-raw://85b8023b78805063a2ec8d376f1f5983994eabd96efd8ceadb0224dbb71c5678\",\"dweb:/ipfs/QmaDhzCzRqsuHuJfhToEC4pATQHwhh7yWWsjwfuRzFT1kG\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Require.sol\":{\"keccak256\":\"0xe641662503ea29ca959e84674188c3e9deaaf64c5623fb9560a4301c521ca1d3\",\"urls\":[\"bzz-raw://b10a04c7d014b99eb792c8c774e203c846d070b30cf0b715325fc07838ed6a6d\",\"dweb:/ipfs/QmUqZWnbchfEY9jM647yQamHe4GzspfUeRQF9k2nn1Hixd\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Storage.sol\":{\"keccak256\":\"0xf930fbde3ab43ec8f079dbad062453b502542f53b7eec670c8e86c7a2e47dd9a\",\"urls\":[\"bzz-raw://e1c402fc55471e8372be478e99f91c28373f096e31f0ef1d5072dfdb81541c29\",\"dweb:/ipfs/QmTc8WSfFCbxNQqNpq1vptUVFxteKQ8HWEhyXREyPZ2neu\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Time.sol\":{\"keccak256\":\"0x233d6ebf965711bf980f4bb2e672fb1a11b4b879fd41c884b3c2b704417d0d0c\",\"urls\":[\"bzz-raw://6478ff81706d531f9438b96274a7b904abbbd9c631540c68c6a89c3accf27abf\",\"dweb:/ipfs/QmWe9vkz3qwVjrcbmcTL8wgkjLPsrEqxcqPJL9ujM8PPbp\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Token.sol\":{\"keccak256\":\"0xd7bcae9e3c570544fc946a00cc7695106a64c20bc130d0183612c0410a531d19\",\"urls\":[\"bzz-raw://0ff5ffd6abb9ed223a64128c131afd962bec07fb9867cb62593906b339c76920\",\"dweb:/ipfs/QmbTrJL4bekvBqqaw6wXnBhYzS9uAqULSWF2VzW4cdfsM5\"]},\"/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Types.sol\":{\"keccak256\":\"0xab134538648a2e223a7fe61db03c14f687657a5d37147f93c9088f11735aa311\",\"urls\":[\"bzz-raw://79dc7d2b30576d2349b99267642ac8d5fb7939c920b8d8045379d3614238bdc3\",\"dweb:/ipfs/QmaQJYg1nirHoWSC6G38Cjsk9pZBzEaNrGXKqTsvAzbyES\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x640b6dee7a4b830bdfd52b5031a07fc2b12209f5b2e29e5d364a7d37f69d8076\",\"urls\":[\"bzz-raw://31113152e1ddb78fe7a4197f247591ca894e93f916867beb708d8e747b6cc74f\",\"dweb:/ipfs/QmbZaJyXdpsYGykVhHH9qpVGQg9DGCxE2QufbCUy3daTgq\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzz-raw://59fd025151435da35faa8093a5c7a17de02de9d08ad27275c5cdf05050820d91\",\"dweb:/ipfs/QmQMvwEcPhoRXzbXyrdoeRtvLoifUW9Qh7Luho7bmUPRkc\"]}},\"version\":1}",
|
|
309
|
+
"bytecode": "0x612f91610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100ff5760003560e01c80638854ab3e116100a1578063d963729111610070578063d96372911461027c578063dd32998a1461029c578063e80f8024146102bc578063f9cacc4c146102dc576100ff565b80638854ab3e146101e65780638c5dabd114610206578063aa92e34814610226578063b25328e014610246576100ff565b80633c0c9ddc116100dd5780633c0c9ddc146101665780634f32fb271461018657806354dd3516146101a65780637335079b146101c6576100ff565b80630f44e6bc1461010457806310c87b0614610126578063311401d014610146575b600080fd5b81801561011057600080fd5b5061012461011f366004612926565b6102fc565b005b81801561013257600080fd5b50610124610141366004612992565b6103d4565b81801561015257600080fd5b50610124610161366004612926565b61046e565b81801561017257600080fd5b506101246101813660046127e9565b610503565b81801561019257600080fd5b506101246101a136600461282c565b610586565b8180156101b257600080fd5b506101246101c1366004612926565b6108c5565b8180156101d257600080fd5b506101246101e1366004612a07565b610985565b8180156101f257600080fd5b50610124610201366004612a07565b61099f565b81801561021257600080fd5b506101246102213660046129c4565b6109b4565b81801561023257600080fd5b506101246102413660046129c4565b6109c9565b81801561025257600080fd5b50610266610261366004612960565b6109de565b6040516102739190612d95565b60405180910390f35b81801561028857600080fd5b506101246102973660046128dc565b610b74565b8180156102a857600080fd5b506102666102b736600461279c565b6110e2565b8180156102c857600080fd5b506101246102d73660046127e9565b6111fd565b8180156102e857600080fd5b506101246102f7366004612926565b611280565b600c82015481516103529168010000000000000000900467ffffffffffffffff1610156810591b5a5b925b5c1b60ba1b7f53707265616420746f6f20686967680000000000000000000000000000000000611315565b6008820154815161039191116810591b5a5b925b5c1b60ba1b7f5370726561642063616e6e6f74206265203e3d20726174696f00000000000000611315565b805160098301556040517f9f7e4a6848b17eb13974d54a526bd85f5762577a23c3095ea6fd888d429e834b906103c8908390612d87565b60405180910390a15050565b6103de83836113c6565b60008281526001840160205260409081902080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000084151502179055517fec669433aa0b3212a238c30115dbf73736739faf98a33c293ecad3daad1b37f6906104619084908490612dbe565b60405180910390a1505050565b600c82015481516104cc91700100000000000000000000000000000000900467ffffffffffffffff1610156810591b5a5b925b5c1b60ba1b7f5261746520746f6f206869676800000000000000000000000000000000000000611315565b8051600a8301556040517fea691dd294c7882aadc1bebc2ffb81b91afb6be606dbf15d627c073889c72436906103c8908390612d87565b73ffffffffffffffffffffffffffffffffffffffff821660009081526007840160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016831515179055517f3401777ccabf70a1ee50ed130d9a499a70dad2b7d7b33b6b63e7d11b3b18c117906104619084908490612cf8565b6105908888611437565b6000196000908152600389016020526040902054806105b7575087546001810189556105d2565b600081815260038a0160205260408082205460001983529120555b600081815260018a016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8a161790556106286114ad565b600082815260018b016020908152604080832084516002808301805488870151988601517fffffffffffffffffffffffffffffffffffffffff0000000000000000000000009091166bffffffffffffffffffffffff948516177fffffffffffffffff000000000000000000000000ffffffffffffffffffffffff166c010000000000000000000000009490991693909302979097177fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff16780100000000000000000000000000000000000000000000000063ffffffff909316929092029190911790955580547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000089151502177fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff1675010000000000000000000000000000000000000000008815150217905573ffffffffffffffffffffffffffffffffffffffff8c168352928c019052819020829055517f8cf904fdff707692d4bd95366b93d7302a97b4bf64f6716fd00b046ecbf82a46906107df9083908b90612da3565b60405180910390a18215610827577fec669433aa0b3212a238c30115dbf73736739faf98a33c293ecad3daad1b37f6818460405161081e929190612dbe565b60405180910390a15b6108328982896114e8565b61083d89828861166c565b6108488982876117aa565b61085389828661185a565b81156108ba578773ffffffffffffffffffffffffffffffffffffffff16638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156108a157600080fd5b505af11580156108b5573d6000803e3d6000fd5b505050505b505050505050505050565b600c820154815161090f9167ffffffffffffffff1610156810591b5a5b925b5c1b60ba1b7f526174696f20746f6f2068696768000000000000000000000000000000000000611315565b6009820154815161094e91106810591b5a5b925b5c1b60ba1b7f526174696f2063616e6e6f74206265203c3d2073707265616400000000000000611315565b805160088301556040517f253f176964e18a501db01a67272483db404e4e473e8afd1d255eeb0e96eb2e13906103c8908390612d87565b61098f83836113c6565b61099a8383836117aa565b505050565b6109a983836113c6565b61099a83838361185a565b6109be83836113c6565b61099a8383836114e8565b6109d383836113c6565b61099a83838361166c565b60006109ea84846113c6565b6109f2612603565b610a02858563ffffffff6118ee16565b9050610a44610a1082611a4b565b156810591b5a5b925b5c1b60ba1b7f4e65676174697665206578636573730000000000000000000000000000000000611315565b6000610a56868663ffffffff611a6916565b905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610a939190612cea565b60206040518083038186803b158015610aab57600080fd5b505afa158015610abf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ae39190810190612a4a565b90508083602001511115610af957602083018190525b6020830151610b279073ffffffffffffffffffffffffffffffffffffffff841690879063ffffffff611a9516565b7fa5df3527e4451a18e4b8a5e3308e1d1f1962062aeafe061c48bbb29f172a39c8828460200151604051610b5c929190612d3b565b60405180910390a150506020015190505b9392505050565b60005b82518110156110dc576000846001016000858481518110610b9457fe5b6020026020010151815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050610c4b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156810591b5a5b925b5c1b60ba1b7f6d61726b657420646f6573206e6f742065786973740000000000000000000000878681518110610c3e57fe5b6020026020010151611b94565b610cc1856001016000868581518110610c6057fe5b6020026020010151815260200190815260200160002060000160159054906101000a900460ff166810591b5a5b925b5c1b60ba1b7f6d61726b6574206973206e6f742072656379636c61626c650000000000000000878681518110610c3e57fe5b610d3d610cea858481518110610cd357fe5b602002602001015187611c2c90919063ffffffff16565b600001516fffffffffffffffffffffffffffffffff166000146810591b5a5b925b5c1b60ba1b7f6d61726b6574206861732061637469766520626f72726f777300000000000000878681518110610c3e57fe5b6000610d65858481518110610d4e57fe5b602002602001015187611a6990919063ffffffff16565b73ffffffffffffffffffffffffffffffffffffffff16631061d1ab6040518163ffffffff1660e01b815260040160206040518083038186803b158015610daa57600080fd5b505afa158015610dbe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610de29190810190612a4a565b9050610e324282106810591b5a5b925b5c1b60ba1b7f6d61726b6574206973206e6f7420657870697265640000000000000000000000888781518110610e2457fe5b602002602001015185611c8c565b610e774262093a808301106810591b5a5b925b5c1b60ba1b7f65787069726174696f6e206d7573742070617373206275666665720000000000888781518110610e2457fe5b610ebd8285610ea2888781518110610e8b57fe5b60200260200101518a611c2c90919063ffffffff16565b602001516fffffffffffffffffffffffffffffffff16611a95565b856001016000868581518110610ecf57fe5b6020908102919091018101518252818101929092526040908101600090812080547fffffffffffffffffffff0000000000000000000000000000000000000000000016815560018101829055600280820180547fffffffff00000000000000000000000000000000000000000000000000000000169055600380830180547fffffffffffffffffffffffff0000000000000000000000000000000000000000908116909155600484018054909116905560058301849055600690920183905573ffffffffffffffffffffffffffffffffffffffff871683528a018452828220829055600019825289019092529020548551869085908110610fcc57fe5b602002602001015187600301600060001981526020019081526020016000208190555080600014611025578087600301600088878151811061100a57fe5b60200260200101518152602001908152602001600020819055505b8273ffffffffffffffffffffffffffffffffffffffff16630f23cbaa6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561106d57600080fd5b505af1158015611081573d6000803e3d6000fd5b505050507f2f797c8d8107514dc1984472c15d479f7020885c278230f1a2a8fc1dc67746c58685815181106110b257fe5b6020026020010151846040516110c9929190612da3565b60405180910390a1505050600101610b77565b50505050565b60006110ee8484611437565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8516906370a0823190611143903090600401612cea565b60206040518083038186803b15801561115b57600080fd5b505afa15801561116f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111939190810190612a4a565b90506111bc73ffffffffffffffffffffffffffffffffffffffff8516848363ffffffff611a9516565b7f9dcbc20ebd63f294c7a8332cf06b52eca32a867b9ea7ce29d6c1cc5901494bec84826040516111ed929190612d3b565b60405180910390a1949350505050565b73ffffffffffffffffffffffffffffffffffffffff821660009081526006840160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016831515179055517feaeee7699e70e6b31ac89ec999ef6936b97ac1e364f0e1fcf584772372caa0d3906104619084908490612cf8565b600d82015481516112de916801000000000000000090046fffffffffffffffffffffffffffffffff1610156810591b5a5b925b5c1b60ba1b7f56616c756520746f6f2068696768000000000000000000000000000000000000611315565b8051600b8301556040517ffdcde9342dcfa3a8817b7566b25fed913d2c6eddb65575d40e14681934fae971906103c8908390612d87565b8261099a5761132382611d57565b7f3a2000000000000000000000000000000000000000000000000000000000000061134d83611d57565b60405160200161135f93929190612be8565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526113bd91600401612d56565b60405180910390fd5b815461143390821080156113ff5750600082815260018401602052604090205473ffffffffffffffffffffffffffffffffffffffff1615155b6810591b5a5b925b5c1b60ba1b7f496e76616c6964206d61726b657400000000000000000000000000000000000084611b94565b5050565b73ffffffffffffffffffffffffffffffffffffffff80821660008181526002850160209081526040808320548084526001880190925290912054909216146110dc81156810591b5a5b925b5c1b60ba1b7f4d61726b65742065786973747300000000000000000000000000000000000000611315565b6114b561261a565b60408051606081018252670de0b6b3a764000080825260208201529081016114db611e0d565b63ffffffff169052905090565b6000828152600184016020526040908190205490517f41976e0900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff918216916115db91908416906341976e0990611555908590600401612cea565b60206040518083038186803b15801561156d57600080fd5b505afa158015611581573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115a5919081019061277e565b5115156810591b5a5b925b5c1b60ba1b7f496e76616c6964206f7261636c65207072696365000000000000000000000000611315565b60008381526001850160205260409081902060030180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8516179055517f6585928691672490b717a51fe425f4494b34c6b5cb8335c5dc1e70115bd266309061165e9085908590612da3565b60405180910390a150505050565b60008281526001840160205260408082205490517fe8177dcf00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff918216929184169163e8177dcf916116d69185918190600401612d13565b60206040518083038186803b1580156116ee57600080fd5b505afa158015611702573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611726919081019061277e565b5060008381526001850160205260409081902060040180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8516179055517faa2217332f2505521d63c728f59a8692c1c8c952a0c5d578e4142bb88cefb0639061165e9085908590612da3565b600c8301548151611810917801000000000000000000000000000000000000000000000000900467ffffffffffffffff1610156810591b5a5b925b5c1b60ba1b7f4d617267696e207072656d69756d20746f6f2068696768000000000000000000611315565b6000828152600184016020526040908190208251600590910155517f19ecb621bc945075c47008c9deaf25107a3343ecfe752608915a9d1da35e9e7c906104619084908490612dcc565b600d83015481516118a49167ffffffffffffffff1610156810591b5a5b925b5c1b60ba1b7f537072656164207072656d69756d20746f6f2068696768000000000000000000611315565b6000828152600184016020526040908190208251600690910155517f8214bd57e079f2f3e3e5c52bf78db5fb85926c866aec322ba024db710365fc35906104619084908490612dcc565b6118f6612603565b6118fe61261a565b61190e848463ffffffff611e1d16565b9050611918612603565b611928858563ffffffff611c2c16565b9050600061193c868663ffffffff611a6916565b9050611946612603565b6040805180820182526001815290517f70a08231000000000000000000000000000000000000000000000000000000008152602082019073ffffffffffffffffffffffffffffffffffffffff8516906370a08231906119a9903090600401612cea565b60206040518083038186803b1580156119c157600080fd5b505afa1580156119d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119f99190810190612a4a565b90529050611a05612603565b611a0d612603565b611a178587611ea1565b9092509050611a3c82611a30858463ffffffff611f4916565b9063ffffffff611f4916565b96505050505050505b92915050565b8051600090158015611a61575060008260200151115b90505b919050565b6000908152600191909101602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b801580611ab7575073ffffffffffffffffffffffffffffffffffffffff821630145b15611ac15761099a565b60405161099a9084907fa9059cbb0000000000000000000000000000000000000000000000000000000090611afc9086908690602401612d3b565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518060400160405280601681526020017f546f6b656e3a207472616e73666572206661696c656400000000000000000000815250611f63565b836110dc57611ba283611d57565b7f3a20000000000000000000000000000000000000000000000000000000000000611bcc84611d57565b7f203c000000000000000000000000000000000000000000000000000000000000611bf68561206a565b60405161135f9594939291907f3e0000000000000000000000000000000000000000000000000000000000000090602001612c10565b611c34612603565b506000818152600180840160209081526040928390208351808501909452909101546fffffffffffffffffffffffffffffffff8082168452700100000000000000000000000000000000909104169082015292915050565b84611d5057611c9a84611d57565b7f3a20000000000000000000000000000000000000000000000000000000000000611cc485611d57565b7f203c000000000000000000000000000000000000000000000000000000000000611cee8661206a565b7f2c20000000000000000000000000000000000000000000000000000000000000611d188761206a565b60405161135f97969594939291907f3e0000000000000000000000000000000000000000000000000000000000000090602001612c6e565b5050505050565b60608082604051602001611d6b9190612bc7565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905060205b8015611df657815160001990910190829082908110611db957fe5b01602001517fff000000000000000000000000000000000000000000000000000000000000001615611df15760010181529050611a64565b611d9e565b505060408051600081526020810190915292915050565b6000611e184261215b565b905090565b611e2561261a565b506000908152600191909101602090815260409182902082516060810184526002909101546bffffffffffffffffffffffff80821683526c0100000000000000000000000082041692820192909252780100000000000000000000000000000000000000000000000090910463ffffffff169181019190915290565b611ea9612603565b611eb1612603565b611eb9612603565b5060408051808201909152600181526020858101516fffffffffffffffffffffffffffffffff1690820152611eec612603565b50604080518082019091526000815285516fffffffffffffffffffffffffffffffff166020820152611f1c612603565b611f2683876121b2565b9050611f30612603565b611f3a83886121b2565b91989197509095505050505050565b611f51612603565b610b6d83611f5e84612263565b61228a565b600060608473ffffffffffffffffffffffffffffffffffffffff1684604051611f8c9190612bdc565b6000604051808303816000865af19150503d8060008114611fc9576040519150601f19603f3d011682016040523d82523d6000602084013e611fce565b606091505b509150915081839061200d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bd9190612d56565b50805115611d5057808060200190516120299190810190612758565b8390612062576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bd9190612d56565b505050505050565b6060816120ab575060408051808201909152600181527f30000000000000000000000000000000000000000000000000000000000000006020820152611a64565b8160005b81156120c357600101600a820491506120af565b6060816040519080825280601f01601f1916602001820160405280156120f0576020820181803883390190505b508593509050815b80156121525760001901600a840660300160f81b82828151811061211857fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a840493506120f8565b50949350505050565b600081611a6163ffffffff821682147f4d617468000000000000000000000000000000000000000000000000000000007f556e73616665206361737420746f2075696e743332000000000000000000000084611b94565b6121ba612603565b602083015183516fffffffffffffffffffffffffffffffff90911690156122265760408051808201909152600181526020848101519082019061221b9084906bffffffffffffffffffffffff16670de0b6b3a764000063ffffffff61231c16565b815250915050611a45565b60408051808201909152600081528351602082019061221b9084906bffffffffffffffffffffffff16670de0b6b3a764000063ffffffff61231c16565b61226b612603565b5060408051808201909152815115815260208083015190820152919050565b612292612603565b61229a612603565b82518451151590151514156122cd57835115158152602080850151908401516122c391906123c5565b6020820152610b6d565b82602001518460200151106122f657835115158152602080850151908401516122c39190612404565b825115158152602080840151908501516123109190612404565b60208201529392505050565b6000831580612329575082155b1561234057612339600083612446565b9050610b6d565b6000612352858563ffffffff61248816565b90506123bc612389600161237d6002612371888463ffffffff61240416565b9063ffffffff61244616565b9063ffffffff6123c516565b612399838663ffffffff6124dc16565b10156123a65760006123a9565b60015b60ff1661237d838663ffffffff61244616565b95945050505050565b600082820183811015610b6d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bd90612d67565b6000610b6d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061251e565b6000610b6d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612564565b60008261249757506000611a45565b828202828482816124a457fe5b0414610b6d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bd90612d77565b6000610b6d83836040518060400160405280601881526020017f536166654d6174683a206d6f64756c6f206279207a65726f00000000000000008152506125b5565b6000818484111561255c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bd9190612d56565b505050900390565b6000818361259f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bd9190612d56565b5060008385816125ab57fe5b0495945050505050565b600081836125f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bd9190612d56565b508284816125fa57fe5b06949350505050565b604080518082019091526000808252602082015290565b604080516060810182526000808252602082018190529181019190915290565b8035611a4581612f1c565b600082601f83011261265657600080fd5b813561266961266482612e0e565b612de7565b9150818183526020840193506020810190508385602084028201111561268e57600080fd5b60005b838110156126ba57816126a48882612742565b8452506020928301929190910190600101612691565b5050505092915050565b8035611a4581612f33565b8051611a4581612f33565b8035611a4581612f3c565b6000602082840312156126f757600080fd5b6127016020612de7565b9050600061270f8484612742565b82525092915050565b60006020828403121561272a57600080fd5b6127346020612de7565b9050600061270f848461274d565b8035611a4581612f45565b8051611a4581612f45565b60006020828403121561276a57600080fd5b600061277684846126cf565b949350505050565b60006020828403121561279057600080fd5b60006127768484612718565b6000806000606084860312156127b157600080fd5b60006127bd8686612742565b93505060206127ce8682870161263a565b92505060406127df8682870161263a565b9150509250925092565b6000806000606084860312156127fe57600080fd5b600061280a8686612742565b935050602061281b8682870161263a565b92505060406127df868287016126c4565b600080600080600080600080610100898b03121561284957600080fd5b60006128558b8b612742565b98505060206128668b828c0161263a565b97505060406128778b828c016126da565b96505060606128888b828c016126da565b95505060806128998b828c016126e5565b94505060a06128aa8b828c016126e5565b93505060c06128bb8b828c016126c4565b92505060e06128cc8b828c016126c4565b9150509295985092959890939650565b6000806000606084860312156128f157600080fd5b60006128fd8686612742565b935050602084013567ffffffffffffffff81111561291a57600080fd5b6127ce86828701612645565b6000806040838503121561293957600080fd5b60006129458585612742565b9250506020612956858286016126e5565b9150509250929050565b60008060006060848603121561297557600080fd5b60006129818686612742565b93505060206127ce86828701612742565b6000806000606084860312156129a757600080fd5b60006129b38686612742565b935050602061281b86828701612742565b6000806000606084860312156129d957600080fd5b60006129e58686612742565b93505060206129f686828701612742565b92505060406127df868287016126da565b600080600060608486031215612a1c57600080fd5b6000612a288686612742565b9350506020612a3986828701612742565b92505060406127df868287016126e5565b600060208284031215612a5c57600080fd5b6000612776848461274d565b612a7181612e3c565b82525050565b612a7181612e47565b612a71612a8c82612e4c565b612e96565b612a71612a8c82612e71565b612a71612a8c82612e96565b6000612ab482612e2f565b612abe8185611a64565b9350612ace818560208601612ec8565b9290920192915050565b612a7181612ebd565b6000612aec82612e2f565b612af68185612e33565b9350612b06818560208601612ec8565b612b0f81612ef4565b9093019392505050565b6000612b26601b83612e33565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612b5f602183612e33565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81527f7700000000000000000000000000000000000000000000000000000000000000602082015260400192915050565b805160208301906110dc84825b612a7181612e96565b6000612bd38284612a9d565b50602001919050565b6000610b6d8284612aa9565b6000612bf48286612aa9565b9150612c008285612a91565b6002820191506123bc8284612aa9565b6000612c1c8289612aa9565b9150612c288288612a91565b600282019150612c388287612aa9565b9150612c448286612a91565b600282019150612c548285612aa9565b9150612c608284612a80565b506001019695505050505050565b6000612c7a828b612aa9565b9150612c86828a612a91565b600282019150612c968289612aa9565b9150612ca28288612a91565b600282019150612cb28287612aa9565b9150612cbe8286612a91565b600282019150612cce8285612aa9565b9150612cda8284612a80565b5060010198975050505050505050565b60208101611a458284612a68565b60408101612d068285612a68565b610b6d6020830184612a77565b60608101612d218286612a68565b612d2e6020830185612ad8565b6127766040830184612ad8565b60408101612d498285612a68565b610b6d6020830184612bbe565b60208082528101610b6d8184612ae1565b60208082528101611a6181612b19565b60208082528101611a6181612b52565b60208101611a458284612bb1565b60208101611a458284612bbe565b60408101612db18285612bbe565b610b6d6020830184612a68565b60408101612d068285612bbe565b60408101612dda8285612bbe565b610b6d6020830184612bb1565b60405181810167ffffffffffffffff81118282101715612e0657600080fd5b604052919050565b600067ffffffffffffffff821115612e2557600080fd5b5060209081020190565b5190565b90815260200190565b6000611a6182612ea4565b151590565b7fff000000000000000000000000000000000000000000000000000000000000001690565b7fffff0000000000000000000000000000000000000000000000000000000000001690565b90565b6000611a6182612e3c565b73ffffffffffffffffffffffffffffffffffffffff1690565b6000611a6182612e96565b60005b83811015612ee3578181015183820152602001612ecb565b838111156110dc5750506000910152565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690565b612f2581612e3c565b8114612f3057600080fd5b50565b612f2581612e47565b612f2581612e99565b612f2581612e9656fea365627a7a723158203928d7ab22bf5527de34bfbc406046af327003ba403cddf11408d78fc9e528976c6578706572696d656e74616cf564736f6c63430005100040",
|
|
310
|
+
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100ff5760003560e01c80638854ab3e116100a1578063d963729111610070578063d96372911461027c578063dd32998a1461029c578063e80f8024146102bc578063f9cacc4c146102dc576100ff565b80638854ab3e146101e65780638c5dabd114610206578063aa92e34814610226578063b25328e014610246576100ff565b80633c0c9ddc116100dd5780633c0c9ddc146101665780634f32fb271461018657806354dd3516146101a65780637335079b146101c6576100ff565b80630f44e6bc1461010457806310c87b0614610126578063311401d014610146575b600080fd5b81801561011057600080fd5b5061012461011f366004612926565b6102fc565b005b81801561013257600080fd5b50610124610141366004612992565b6103d4565b81801561015257600080fd5b50610124610161366004612926565b61046e565b81801561017257600080fd5b506101246101813660046127e9565b610503565b81801561019257600080fd5b506101246101a136600461282c565b610586565b8180156101b257600080fd5b506101246101c1366004612926565b6108c5565b8180156101d257600080fd5b506101246101e1366004612a07565b610985565b8180156101f257600080fd5b50610124610201366004612a07565b61099f565b81801561021257600080fd5b506101246102213660046129c4565b6109b4565b81801561023257600080fd5b506101246102413660046129c4565b6109c9565b81801561025257600080fd5b50610266610261366004612960565b6109de565b6040516102739190612d95565b60405180910390f35b81801561028857600080fd5b506101246102973660046128dc565b610b74565b8180156102a857600080fd5b506102666102b736600461279c565b6110e2565b8180156102c857600080fd5b506101246102d73660046127e9565b6111fd565b8180156102e857600080fd5b506101246102f7366004612926565b611280565b600c82015481516103529168010000000000000000900467ffffffffffffffff1610156810591b5a5b925b5c1b60ba1b7f53707265616420746f6f20686967680000000000000000000000000000000000611315565b6008820154815161039191116810591b5a5b925b5c1b60ba1b7f5370726561642063616e6e6f74206265203e3d20726174696f00000000000000611315565b805160098301556040517f9f7e4a6848b17eb13974d54a526bd85f5762577a23c3095ea6fd888d429e834b906103c8908390612d87565b60405180910390a15050565b6103de83836113c6565b60008281526001840160205260409081902080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000084151502179055517fec669433aa0b3212a238c30115dbf73736739faf98a33c293ecad3daad1b37f6906104619084908490612dbe565b60405180910390a1505050565b600c82015481516104cc91700100000000000000000000000000000000900467ffffffffffffffff1610156810591b5a5b925b5c1b60ba1b7f5261746520746f6f206869676800000000000000000000000000000000000000611315565b8051600a8301556040517fea691dd294c7882aadc1bebc2ffb81b91afb6be606dbf15d627c073889c72436906103c8908390612d87565b73ffffffffffffffffffffffffffffffffffffffff821660009081526007840160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016831515179055517f3401777ccabf70a1ee50ed130d9a499a70dad2b7d7b33b6b63e7d11b3b18c117906104619084908490612cf8565b6105908888611437565b6000196000908152600389016020526040902054806105b7575087546001810189556105d2565b600081815260038a0160205260408082205460001983529120555b600081815260018a016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8a161790556106286114ad565b600082815260018b016020908152604080832084516002808301805488870151988601517fffffffffffffffffffffffffffffffffffffffff0000000000000000000000009091166bffffffffffffffffffffffff948516177fffffffffffffffff000000000000000000000000ffffffffffffffffffffffff166c010000000000000000000000009490991693909302979097177fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff16780100000000000000000000000000000000000000000000000063ffffffff909316929092029190911790955580547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000089151502177fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff1675010000000000000000000000000000000000000000008815150217905573ffffffffffffffffffffffffffffffffffffffff8c168352928c019052819020829055517f8cf904fdff707692d4bd95366b93d7302a97b4bf64f6716fd00b046ecbf82a46906107df9083908b90612da3565b60405180910390a18215610827577fec669433aa0b3212a238c30115dbf73736739faf98a33c293ecad3daad1b37f6818460405161081e929190612dbe565b60405180910390a15b6108328982896114e8565b61083d89828861166c565b6108488982876117aa565b61085389828661185a565b81156108ba578773ffffffffffffffffffffffffffffffffffffffff16638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156108a157600080fd5b505af11580156108b5573d6000803e3d6000fd5b505050505b505050505050505050565b600c820154815161090f9167ffffffffffffffff1610156810591b5a5b925b5c1b60ba1b7f526174696f20746f6f2068696768000000000000000000000000000000000000611315565b6009820154815161094e91106810591b5a5b925b5c1b60ba1b7f526174696f2063616e6e6f74206265203c3d2073707265616400000000000000611315565b805160088301556040517f253f176964e18a501db01a67272483db404e4e473e8afd1d255eeb0e96eb2e13906103c8908390612d87565b61098f83836113c6565b61099a8383836117aa565b505050565b6109a983836113c6565b61099a83838361185a565b6109be83836113c6565b61099a8383836114e8565b6109d383836113c6565b61099a83838361166c565b60006109ea84846113c6565b6109f2612603565b610a02858563ffffffff6118ee16565b9050610a44610a1082611a4b565b156810591b5a5b925b5c1b60ba1b7f4e65676174697665206578636573730000000000000000000000000000000000611315565b6000610a56868663ffffffff611a6916565b905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610a939190612cea565b60206040518083038186803b158015610aab57600080fd5b505afa158015610abf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ae39190810190612a4a565b90508083602001511115610af957602083018190525b6020830151610b279073ffffffffffffffffffffffffffffffffffffffff841690879063ffffffff611a9516565b7fa5df3527e4451a18e4b8a5e3308e1d1f1962062aeafe061c48bbb29f172a39c8828460200151604051610b5c929190612d3b565b60405180910390a150506020015190505b9392505050565b60005b82518110156110dc576000846001016000858481518110610b9457fe5b6020026020010151815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050610c4b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156810591b5a5b925b5c1b60ba1b7f6d61726b657420646f6573206e6f742065786973740000000000000000000000878681518110610c3e57fe5b6020026020010151611b94565b610cc1856001016000868581518110610c6057fe5b6020026020010151815260200190815260200160002060000160159054906101000a900460ff166810591b5a5b925b5c1b60ba1b7f6d61726b6574206973206e6f742072656379636c61626c650000000000000000878681518110610c3e57fe5b610d3d610cea858481518110610cd357fe5b602002602001015187611c2c90919063ffffffff16565b600001516fffffffffffffffffffffffffffffffff166000146810591b5a5b925b5c1b60ba1b7f6d61726b6574206861732061637469766520626f72726f777300000000000000878681518110610c3e57fe5b6000610d65858481518110610d4e57fe5b602002602001015187611a6990919063ffffffff16565b73ffffffffffffffffffffffffffffffffffffffff16631061d1ab6040518163ffffffff1660e01b815260040160206040518083038186803b158015610daa57600080fd5b505afa158015610dbe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610de29190810190612a4a565b9050610e324282106810591b5a5b925b5c1b60ba1b7f6d61726b6574206973206e6f7420657870697265640000000000000000000000888781518110610e2457fe5b602002602001015185611c8c565b610e774262093a808301106810591b5a5b925b5c1b60ba1b7f65787069726174696f6e206d7573742070617373206275666665720000000000888781518110610e2457fe5b610ebd8285610ea2888781518110610e8b57fe5b60200260200101518a611c2c90919063ffffffff16565b602001516fffffffffffffffffffffffffffffffff16611a95565b856001016000868581518110610ecf57fe5b6020908102919091018101518252818101929092526040908101600090812080547fffffffffffffffffffff0000000000000000000000000000000000000000000016815560018101829055600280820180547fffffffff00000000000000000000000000000000000000000000000000000000169055600380830180547fffffffffffffffffffffffff0000000000000000000000000000000000000000908116909155600484018054909116905560058301849055600690920183905573ffffffffffffffffffffffffffffffffffffffff871683528a018452828220829055600019825289019092529020548551869085908110610fcc57fe5b602002602001015187600301600060001981526020019081526020016000208190555080600014611025578087600301600088878151811061100a57fe5b60200260200101518152602001908152602001600020819055505b8273ffffffffffffffffffffffffffffffffffffffff16630f23cbaa6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561106d57600080fd5b505af1158015611081573d6000803e3d6000fd5b505050507f2f797c8d8107514dc1984472c15d479f7020885c278230f1a2a8fc1dc67746c58685815181106110b257fe5b6020026020010151846040516110c9929190612da3565b60405180910390a1505050600101610b77565b50505050565b60006110ee8484611437565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8516906370a0823190611143903090600401612cea565b60206040518083038186803b15801561115b57600080fd5b505afa15801561116f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111939190810190612a4a565b90506111bc73ffffffffffffffffffffffffffffffffffffffff8516848363ffffffff611a9516565b7f9dcbc20ebd63f294c7a8332cf06b52eca32a867b9ea7ce29d6c1cc5901494bec84826040516111ed929190612d3b565b60405180910390a1949350505050565b73ffffffffffffffffffffffffffffffffffffffff821660009081526006840160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016831515179055517feaeee7699e70e6b31ac89ec999ef6936b97ac1e364f0e1fcf584772372caa0d3906104619084908490612cf8565b600d82015481516112de916801000000000000000090046fffffffffffffffffffffffffffffffff1610156810591b5a5b925b5c1b60ba1b7f56616c756520746f6f2068696768000000000000000000000000000000000000611315565b8051600b8301556040517ffdcde9342dcfa3a8817b7566b25fed913d2c6eddb65575d40e14681934fae971906103c8908390612d87565b8261099a5761132382611d57565b7f3a2000000000000000000000000000000000000000000000000000000000000061134d83611d57565b60405160200161135f93929190612be8565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526113bd91600401612d56565b60405180910390fd5b815461143390821080156113ff5750600082815260018401602052604090205473ffffffffffffffffffffffffffffffffffffffff1615155b6810591b5a5b925b5c1b60ba1b7f496e76616c6964206d61726b657400000000000000000000000000000000000084611b94565b5050565b73ffffffffffffffffffffffffffffffffffffffff80821660008181526002850160209081526040808320548084526001880190925290912054909216146110dc81156810591b5a5b925b5c1b60ba1b7f4d61726b65742065786973747300000000000000000000000000000000000000611315565b6114b561261a565b60408051606081018252670de0b6b3a764000080825260208201529081016114db611e0d565b63ffffffff169052905090565b6000828152600184016020526040908190205490517f41976e0900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff918216916115db91908416906341976e0990611555908590600401612cea565b60206040518083038186803b15801561156d57600080fd5b505afa158015611581573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115a5919081019061277e565b5115156810591b5a5b925b5c1b60ba1b7f496e76616c6964206f7261636c65207072696365000000000000000000000000611315565b60008381526001850160205260409081902060030180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8516179055517f6585928691672490b717a51fe425f4494b34c6b5cb8335c5dc1e70115bd266309061165e9085908590612da3565b60405180910390a150505050565b60008281526001840160205260408082205490517fe8177dcf00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff918216929184169163e8177dcf916116d69185918190600401612d13565b60206040518083038186803b1580156116ee57600080fd5b505afa158015611702573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611726919081019061277e565b5060008381526001850160205260409081902060040180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8516179055517faa2217332f2505521d63c728f59a8692c1c8c952a0c5d578e4142bb88cefb0639061165e9085908590612da3565b600c8301548151611810917801000000000000000000000000000000000000000000000000900467ffffffffffffffff1610156810591b5a5b925b5c1b60ba1b7f4d617267696e207072656d69756d20746f6f2068696768000000000000000000611315565b6000828152600184016020526040908190208251600590910155517f19ecb621bc945075c47008c9deaf25107a3343ecfe752608915a9d1da35e9e7c906104619084908490612dcc565b600d83015481516118a49167ffffffffffffffff1610156810591b5a5b925b5c1b60ba1b7f537072656164207072656d69756d20746f6f2068696768000000000000000000611315565b6000828152600184016020526040908190208251600690910155517f8214bd57e079f2f3e3e5c52bf78db5fb85926c866aec322ba024db710365fc35906104619084908490612dcc565b6118f6612603565b6118fe61261a565b61190e848463ffffffff611e1d16565b9050611918612603565b611928858563ffffffff611c2c16565b9050600061193c868663ffffffff611a6916565b9050611946612603565b6040805180820182526001815290517f70a08231000000000000000000000000000000000000000000000000000000008152602082019073ffffffffffffffffffffffffffffffffffffffff8516906370a08231906119a9903090600401612cea565b60206040518083038186803b1580156119c157600080fd5b505afa1580156119d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119f99190810190612a4a565b90529050611a05612603565b611a0d612603565b611a178587611ea1565b9092509050611a3c82611a30858463ffffffff611f4916565b9063ffffffff611f4916565b96505050505050505b92915050565b8051600090158015611a61575060008260200151115b90505b919050565b6000908152600191909101602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b801580611ab7575073ffffffffffffffffffffffffffffffffffffffff821630145b15611ac15761099a565b60405161099a9084907fa9059cbb0000000000000000000000000000000000000000000000000000000090611afc9086908690602401612d3b565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518060400160405280601681526020017f546f6b656e3a207472616e73666572206661696c656400000000000000000000815250611f63565b836110dc57611ba283611d57565b7f3a20000000000000000000000000000000000000000000000000000000000000611bcc84611d57565b7f203c000000000000000000000000000000000000000000000000000000000000611bf68561206a565b60405161135f9594939291907f3e0000000000000000000000000000000000000000000000000000000000000090602001612c10565b611c34612603565b506000818152600180840160209081526040928390208351808501909452909101546fffffffffffffffffffffffffffffffff8082168452700100000000000000000000000000000000909104169082015292915050565b84611d5057611c9a84611d57565b7f3a20000000000000000000000000000000000000000000000000000000000000611cc485611d57565b7f203c000000000000000000000000000000000000000000000000000000000000611cee8661206a565b7f2c20000000000000000000000000000000000000000000000000000000000000611d188761206a565b60405161135f97969594939291907f3e0000000000000000000000000000000000000000000000000000000000000090602001612c6e565b5050505050565b60608082604051602001611d6b9190612bc7565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905060205b8015611df657815160001990910190829082908110611db957fe5b01602001517fff000000000000000000000000000000000000000000000000000000000000001615611df15760010181529050611a64565b611d9e565b505060408051600081526020810190915292915050565b6000611e184261215b565b905090565b611e2561261a565b506000908152600191909101602090815260409182902082516060810184526002909101546bffffffffffffffffffffffff80821683526c0100000000000000000000000082041692820192909252780100000000000000000000000000000000000000000000000090910463ffffffff169181019190915290565b611ea9612603565b611eb1612603565b611eb9612603565b5060408051808201909152600181526020858101516fffffffffffffffffffffffffffffffff1690820152611eec612603565b50604080518082019091526000815285516fffffffffffffffffffffffffffffffff166020820152611f1c612603565b611f2683876121b2565b9050611f30612603565b611f3a83886121b2565b91989197509095505050505050565b611f51612603565b610b6d83611f5e84612263565b61228a565b600060608473ffffffffffffffffffffffffffffffffffffffff1684604051611f8c9190612bdc565b6000604051808303816000865af19150503d8060008114611fc9576040519150601f19603f3d011682016040523d82523d6000602084013e611fce565b606091505b509150915081839061200d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bd9190612d56565b50805115611d5057808060200190516120299190810190612758565b8390612062576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bd9190612d56565b505050505050565b6060816120ab575060408051808201909152600181527f30000000000000000000000000000000000000000000000000000000000000006020820152611a64565b8160005b81156120c357600101600a820491506120af565b6060816040519080825280601f01601f1916602001820160405280156120f0576020820181803883390190505b508593509050815b80156121525760001901600a840660300160f81b82828151811061211857fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a840493506120f8565b50949350505050565b600081611a6163ffffffff821682147f4d617468000000000000000000000000000000000000000000000000000000007f556e73616665206361737420746f2075696e743332000000000000000000000084611b94565b6121ba612603565b602083015183516fffffffffffffffffffffffffffffffff90911690156122265760408051808201909152600181526020848101519082019061221b9084906bffffffffffffffffffffffff16670de0b6b3a764000063ffffffff61231c16565b815250915050611a45565b60408051808201909152600081528351602082019061221b9084906bffffffffffffffffffffffff16670de0b6b3a764000063ffffffff61231c16565b61226b612603565b5060408051808201909152815115815260208083015190820152919050565b612292612603565b61229a612603565b82518451151590151514156122cd57835115158152602080850151908401516122c391906123c5565b6020820152610b6d565b82602001518460200151106122f657835115158152602080850151908401516122c39190612404565b825115158152602080840151908501516123109190612404565b60208201529392505050565b6000831580612329575082155b1561234057612339600083612446565b9050610b6d565b6000612352858563ffffffff61248816565b90506123bc612389600161237d6002612371888463ffffffff61240416565b9063ffffffff61244616565b9063ffffffff6123c516565b612399838663ffffffff6124dc16565b10156123a65760006123a9565b60015b60ff1661237d838663ffffffff61244616565b95945050505050565b600082820183811015610b6d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bd90612d67565b6000610b6d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061251e565b6000610b6d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612564565b60008261249757506000611a45565b828202828482816124a457fe5b0414610b6d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bd90612d77565b6000610b6d83836040518060400160405280601881526020017f536166654d6174683a206d6f64756c6f206279207a65726f00000000000000008152506125b5565b6000818484111561255c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bd9190612d56565b505050900390565b6000818361259f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bd9190612d56565b5060008385816125ab57fe5b0495945050505050565b600081836125f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bd9190612d56565b508284816125fa57fe5b06949350505050565b604080518082019091526000808252602082015290565b604080516060810182526000808252602082018190529181019190915290565b8035611a4581612f1c565b600082601f83011261265657600080fd5b813561266961266482612e0e565b612de7565b9150818183526020840193506020810190508385602084028201111561268e57600080fd5b60005b838110156126ba57816126a48882612742565b8452506020928301929190910190600101612691565b5050505092915050565b8035611a4581612f33565b8051611a4581612f33565b8035611a4581612f3c565b6000602082840312156126f757600080fd5b6127016020612de7565b9050600061270f8484612742565b82525092915050565b60006020828403121561272a57600080fd5b6127346020612de7565b9050600061270f848461274d565b8035611a4581612f45565b8051611a4581612f45565b60006020828403121561276a57600080fd5b600061277684846126cf565b949350505050565b60006020828403121561279057600080fd5b60006127768484612718565b6000806000606084860312156127b157600080fd5b60006127bd8686612742565b93505060206127ce8682870161263a565b92505060406127df8682870161263a565b9150509250925092565b6000806000606084860312156127fe57600080fd5b600061280a8686612742565b935050602061281b8682870161263a565b92505060406127df868287016126c4565b600080600080600080600080610100898b03121561284957600080fd5b60006128558b8b612742565b98505060206128668b828c0161263a565b97505060406128778b828c016126da565b96505060606128888b828c016126da565b95505060806128998b828c016126e5565b94505060a06128aa8b828c016126e5565b93505060c06128bb8b828c016126c4565b92505060e06128cc8b828c016126c4565b9150509295985092959890939650565b6000806000606084860312156128f157600080fd5b60006128fd8686612742565b935050602084013567ffffffffffffffff81111561291a57600080fd5b6127ce86828701612645565b6000806040838503121561293957600080fd5b60006129458585612742565b9250506020612956858286016126e5565b9150509250929050565b60008060006060848603121561297557600080fd5b60006129818686612742565b93505060206127ce86828701612742565b6000806000606084860312156129a757600080fd5b60006129b38686612742565b935050602061281b86828701612742565b6000806000606084860312156129d957600080fd5b60006129e58686612742565b93505060206129f686828701612742565b92505060406127df868287016126da565b600080600060608486031215612a1c57600080fd5b6000612a288686612742565b9350506020612a3986828701612742565b92505060406127df868287016126e5565b600060208284031215612a5c57600080fd5b6000612776848461274d565b612a7181612e3c565b82525050565b612a7181612e47565b612a71612a8c82612e4c565b612e96565b612a71612a8c82612e71565b612a71612a8c82612e96565b6000612ab482612e2f565b612abe8185611a64565b9350612ace818560208601612ec8565b9290920192915050565b612a7181612ebd565b6000612aec82612e2f565b612af68185612e33565b9350612b06818560208601612ec8565b612b0f81612ef4565b9093019392505050565b6000612b26601b83612e33565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612b5f602183612e33565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81527f7700000000000000000000000000000000000000000000000000000000000000602082015260400192915050565b805160208301906110dc84825b612a7181612e96565b6000612bd38284612a9d565b50602001919050565b6000610b6d8284612aa9565b6000612bf48286612aa9565b9150612c008285612a91565b6002820191506123bc8284612aa9565b6000612c1c8289612aa9565b9150612c288288612a91565b600282019150612c388287612aa9565b9150612c448286612a91565b600282019150612c548285612aa9565b9150612c608284612a80565b506001019695505050505050565b6000612c7a828b612aa9565b9150612c86828a612a91565b600282019150612c968289612aa9565b9150612ca28288612a91565b600282019150612cb28287612aa9565b9150612cbe8286612a91565b600282019150612cce8285612aa9565b9150612cda8284612a80565b5060010198975050505050505050565b60208101611a458284612a68565b60408101612d068285612a68565b610b6d6020830184612a77565b60608101612d218286612a68565b612d2e6020830185612ad8565b6127766040830184612ad8565b60408101612d498285612a68565b610b6d6020830184612bbe565b60208082528101610b6d8184612ae1565b60208082528101611a6181612b19565b60208082528101611a6181612b52565b60208101611a458284612bb1565b60208101611a458284612bbe565b60408101612db18285612bbe565b610b6d6020830184612a68565b60408101612d068285612bbe565b60408101612dda8285612bbe565b610b6d6020830184612bb1565b60405181810167ffffffffffffffff81118282101715612e0657600080fd5b604052919050565b600067ffffffffffffffff821115612e2557600080fd5b5060209081020190565b5190565b90815260200190565b6000611a6182612ea4565b151590565b7fff000000000000000000000000000000000000000000000000000000000000001690565b7fffff0000000000000000000000000000000000000000000000000000000000001690565b90565b6000611a6182612e3c565b73ffffffffffffffffffffffffffffffffffffffff1690565b6000611a6182612e96565b60005b83811015612ee3578181015183820152602001612ecb565b838111156110dc5750506000910152565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690565b612f2581612e3c565b8114612f3057600080fd5b50565b612f2581612e47565b612f2581612e99565b612f2581612e9656fea365627a7a723158203928d7ab22bf5527de34bfbc406046af327003ba403cddf11408d78fc9e528976c6578706572696d656e74616cf564736f6c63430005100040",
|
|
311
311
|
"sourceMap": "1346:13366:53:-;;132:2:-1;166:7;155:9;146:7;137:37;255:7;249:14;246:1;241:23;235:4;232:33;222:2;;269:9;222:2;293:9;290:1;283:20;323:4;314:7;306:22;347:7;338;331:24",
|
|
312
312
|
"deployedSourceMap": "1346:13366:53:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9995:537;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9995:537:53;;;;;;;;:::i;:::-;;8048:292;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8048:292:53;;;;;;;;:::i;10538:385::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10538:385:53;;;;;;;;:::i;11675:274::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11675:274:53;;;;;;;;:::i;4322:1602::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4322:1602:53;;;;;;;;:::i;9476:513::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9476:513:53;;;;;;;;:::i;8879:268::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8879:268:53;;;;;;;;:::i;9153:::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9153:268:53;;;;;;;;:::i;8346:253::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8346:253:53;;;;;;;;:::i;8605:268::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8605:268:53;;;;;;;;:::i;3044:794::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3044:794:53;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;5930:2112;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5930:2112:53;;;;;;;;:::i;3844:421::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3844:421:53;;;;;;;;:::i;11415:254::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11415:254:53;;;;;;;;:::i;10929:420::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10929:420:53;;;;;;;;:::i;9995:537::-;10176:16;;;:37;10160:12;;10134:138;;10176:37;;;;;-1:-1:-1;10160:53:53;-1:-1:-1;;;10134:138:53;:12;:138::i;:::-;10323:16;;;:34;10308:12;;10282:144;;-1:-1:-1;;;;10282:144:53;:12;:144::i;:::-;10436:43;;:34;;;:43;10494:31;;;;;;10473:6;;10494:31;;;;;;;;;;9995:537;;:::o;8048:292::-;8193:34;8211:5;8218:8;8193:17;:34::i;:::-;8237:23;;;;:13;;;:23;;;;;;;:45;;;;;;;;;;;;8297:36;;;;;8237:23;;:45;;8297:36;;;;;;;;;;8048:292;;;:::o;10538:385::-;10726:16;;;:32;10704:18;;10678:137;;10726:32;;;;;-1:-1:-1;10704:54:53;-1:-1:-1;;;10678:137:53;:12;:137::i;:::-;10825:44;;:29;;;:44;10884:32;;;;;;10857:12;;10884:32;;11675:274;11830:36;;;;;;;:24;;;:36;;;;;;;:48;;;;;;;;;;11894;;;;;11830:36;;:48;;11894;;4322:1602;4648:30;4665:5;4672;4648:16;:30::i;:::-;-1:-1:-1;;4689:16:53;4708:37;;;:23;;;:37;;;;;;4759:13;4755:435;;-1:-1:-1;4898:16:53;;4928:18;;;;;4755:435;;;5146:33;;;;:23;;;:33;;;;;;;-1:-1:-1;;5106:37:53;;;;:73;4755:435;5200:23;;;;:13;;;:23;;;;;:37;;;;;;;;;;5279:19;:17;:19::i;:::-;5247:23;;;;:13;;;:23;;;;;;;;:51;;:29;;;;:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5308:45;;;;;;;;;;5363:51;;;;;;;;;;5424:28;;;;;:21;;;:28;;;;;:39;;;5479:29;;;;;5247:23;;5424:28;;5479:29;;;;;;;;;;5522:9;5518:81;;;5552:36;5568:8;5578:9;5552:36;;;;;;;;;;;;;;;;5518:81;5609:45;5625:5;5632:8;5642:11;5609:15;:45::i;:::-;5664:51;5683:5;5690:8;5700:14;5664:18;:51::i;:::-;5725:49;5743:5;5750:8;5760:13;5725:17;:49::i;:::-;5784;5802:5;5809:8;5819:13;5784:17;:49::i;:::-;5848:12;5844:74;;;5888:5;5876:29;;;:31;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5876:31:53;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5876:31:53;;;;5844:74;4322:1602;;;;;;;;;:::o;9476:513::-;9649:16;;;:31;9634:11;;9608:130;;9649:31;;-1:-1:-1;9634:46:53;-1:-1:-1;;;9608:130:53;:12;:130::i;:::-;9788:34;;;:40;9774:11;;9748:149;;-1:-1:-1;;;;9748:149:53;:12;:149::i;:::-;9907:36;;:16;;;:36;9958:24;;;;;;9938:5;;9958:24;;8879:268;9047:34;9065:5;9072:8;9047:17;:34::i;:::-;9091:49;9109:5;9116:8;9126:13;9091:17;:49::i;:::-;8879:268;;;:::o;9153:::-;9321:34;9339:5;9346:8;9321:17;:34::i;:::-;9365:49;9383:5;9390:8;9400:13;9365:17;:49::i;8346:253::-;8503:34;8521:5;8528:8;8503:17;:34::i;:::-;8547:45;8563:5;8570:8;8580:11;8547:15;:45::i;8605:268::-;8771:34;8789:5;8796:8;8771:17;:34::i;:::-;8815:51;8834:5;8841:8;8851:14;8815:18;:51::i;3044:794::-;3199:7;3222:34;3240:5;3247:8;3222:17;:34::i;:::-;3266:26;;:::i;:::-;3295:34;:5;3320:8;3295:34;:24;:34;:::i;:::-;3266:63;;3340:108;3367:22;:9;:20;:22::i;:::-;3366:23;-1:-1:-1;;;3340:108:53;:12;:108::i;:::-;3459:13;3475:24;:5;3490:8;3475:24;:14;:24;:::i;:::-;3459:40;;3510:21;3549:5;3534:31;;;3574:4;3534:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3534:46:53;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3534:46:53;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;3534:46:53;;;;;;;;;3510:70;;3612:13;3594:9;:15;;;:31;3590:93;;;3641:15;;;:31;;;3590:93;3719:15;;;;3693:42;;:14;;;;3708:9;;3693:42;:14;:42;:::i;:::-;3751:47;3775:5;3782:9;:15;;;3751:47;;;;;;;;;;;;;;;;-1:-1:-1;;3816:15:53;;;;-1:-1:-1;3044:794:53;;;;;;:::o;5930:2112::-;6090:6;6085:1951;6106:9;:16;6102:1;:20;6085:1951;;;6143:13;6159:5;:13;;:27;6173:9;6183:1;6173:12;;;;;;;;;;;;;;6159:27;;;;;;;;;;;:33;;;;;;;;;;;;6143:49;;6206:156;6253:1;6236:19;;:5;:19;;;;-1:-1:-1;;;6206:156:53;6336:9;6346:1;6336:12;;;;;;;;;;;;;;6206;:156::i;:::-;6376:180;6406:5;:13;;:27;6420:9;6430:1;6420:12;;;;;;;;;;;;;;6406:27;;;;;;;;;;;:40;;;;;;;;;;;;-1:-1:-1;;;6376:180:53;6530:9;6540:1;6530:12;;;;;;;6376:180;6570:184;6600:31;6618:9;6628:1;6618:12;;;;;;;;;;;;;;6600:5;:17;;:31;;;;:::i;:::-;:38;;;:43;;6642:1;6600:43;-1:-1:-1;;;6570:184:53;6728:9;6738:1;6728:12;;;;;;;6570:184;6768:24;6807:28;6822:9;6832:1;6822:12;;;;;;;;;;;;;;6807:5;:14;;:28;;;;:::i;:::-;6795:66;;;:68;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6795:68:53;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6795:68:53;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;6795:68:53;;;;;;;;;6768:95;;6877:211;6929:15;6907:19;:37;-1:-1:-1;;;6877:211:53;7025:9;7035:1;7025:12;;;;;;;;;;;;;;7055:19;6877:12;:211::i;:::-;7102:278;7167:15;1629:9;7133:19;:30;7132:50;-1:-1:-1;;;7102:278:53;7317:9;7327:1;7317:12;;;;;;;7102:278;7395:71;7410:5;7417:8;7427:31;7445:9;7455:1;7445:12;;;;;;;;;;;;;;7427:5;:17;;:31;;;;:::i;:::-;:38;;;7395:71;;:14;:71::i;:::-;7488:5;:13;;:27;7502:9;7512:1;7502:12;;;;;;;;;;;;;;;;;;;7488:27;;;;;;;;;;;;;-1:-1:-1;7488:27:53;;;7481:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7536:28;;;;:21;;:28;;;;;7529:35;;;-1:-1:-1;;7599:37:53;;:23;;:37;;;;;;7690:12;;:9;;7700:1;;7690:12;;;;;;;;;;;;7650:5;:23;;:37;-1:-1:-1;;7650:37:53;;;;;;;;;;;:52;;;;7720:12;7736:1;7720:17;7716:211;;7900:12;7860:5;:23;;:37;7884:9;7894:1;7884:12;;;;;;;;;;;;;;7860:37;;;;;;;;;;;:52;;;;7716:211;7953:5;7941:26;;;:28;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7941:28:53;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7941:28:53;;;;7989:36;8005:9;8015:1;8005:12;;;;;;;;;;;;;;8019:5;7989:36;;;;;;;;;;;;;;;;-1:-1:-1;;;6124:3:53;;6085:1951;;;;5930:2112;;;:::o;3844:421::-;4001:7;4024:30;4041:5;4048;4024:16;:30::i;:::-;4083:46;;;;;4065:15;;4083:31;;;;;;:46;;4123:4;;4083:46;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4083:46:53;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4083:46:53;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;4083:46:53;;;;;;;;;4065:64;-1:-1:-1;4139:34:53;:14;;;4154:9;4065:64;4139:34;:14;:34;:::i;:::-;4189:44;4218:5;4225:7;4189:44;;;;;;;;;;;;;;;;4251:7;3844:421;-1:-1:-1;;;;3844:421:53:o;11415:254::-;11564:31;;;;;;;:21;;;:31;;;;;;;:42;;;;;;;;;;11622:40;;;;;11564:31;;:42;;11622:40;;10929:420;11131:36;;;;11105:22;;11079:146;;11131:36;;;;;-1:-1:-1;11105:62:53;-1:-1:-1;;;11079:146:53;:12;:146::i;:::-;11235:52;;:33;;;:52;11302:40;;;;;;11271:16;;11302:40;;1294:426:77;1428:4;1423:291;;1542:24;1561:4;1542:18;:24::i;:::-;1592:5;1623:26;1642:6;1623:18;:26::i;:::-;1500:171;;;;;;;;;;;;;;;22:32:-1;26:21;;;22:32;6:49;;1500:171:77;;;;1448:255;;;;;;;;;;;;;;;;;14392:318:53;14560:16;;14523:180;;14549:27;;:74;;;;-1:-1:-1;14621:1:53;14580:23;;;:13;;;:23;;;;;:29;:43;:29;:43;;14549:74;-1:-1:-1;;;14523:180:53;14685:8;14523:12;:180::i;:::-;14392:318;;:::o;13916:470::-;14176:28;;;;14160:13;14176:28;;;:21;;;:28;;;;;;;;;14243:23;;;:13;;;:23;;;;;;:29;14176:28;;14243:29;14234:38;14283:96;14309:13;;-1:-1:-1;;;14283:96:53;:12;:96::i;3843:222:74:-;3910:12;;:::i;:::-;3945:113;;;;;;;;1200:6;3945:113;;;;;;;;;;4029:18;:16;:18::i;:::-;3945:113;;;;3938:120;-1:-1:-1;3843:222:74;:::o;12007:522:53:-;12213:13;12229:23;;;:13;;;:23;;;;;;;:29;12295:27;;;;;12229:29;;;;;12269:128;;12295:20;;;;;;:27;;12229:29;;12295:27;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12295:27:53;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12295:27:53;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;12295:27:53;;;;;;;;;:33;:38;;-1:-1:-1;;;12269:128:53;:12;:128::i;:::-;12408:23;;;;:13;;;:23;;;;;;;:35;;:49;;;;;;;;;;12473;;;;;12408:23;;:49;;12473;;;;;;;;;;12007:522;;;;:::o;12535:475::-;12768:13;12784:23;;;:13;;;:23;;;;;;:29;12823:43;;;;;12784:29;;;;;12823:30;;;;;;:43;;12784:29;;12768:13;;12823:43;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12823:43:53;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12823:43:53;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;12823:43:53;;;;;;;;;-1:-1:-1;12877:23:53;;;;:13;;;:23;;;;;;;:38;;:55;;;;;;;;;;12948;;;;;12877:23;;:55;;12948;;13016:444;13230:16;;;:33;13207:19;;13181:149;;13230:33;;;;;-1:-1:-1;13207:56:53;-1:-1:-1;;;13181:149:53;:12;:149::i;:::-;13340:23;;;;:13;;;:23;;;;;;;:53;;:37;;;;:53;13409:44;;;;;13354:8;;13380:13;;13409:44;;13466:444;13680:33;;;;13657:19;;13631:149;;13680:33;;-1:-1:-1;13657:56:53;-1:-1:-1;;;13631:149:53;:12;:149::i;:::-;13790:23;;;;:13;;;:23;;;;;;;:53;;:37;;;;:53;13859:44;;;;;13804:8;;13830:13;;13859:44;;7572:794:79;7716:16;;:::i;:::-;7748:27;;:::i;:::-;7778:24;:5;7793:8;7778:24;:14;:24;:::i;:::-;7748:54;;7812:30;;:::i;:::-;7845:27;:5;7863:8;7845:27;:17;:27;:::i;:::-;7812:60;-1:-1:-1;7883:13:79;7899:24;:5;7914:8;7899:24;:14;:24;:::i;:::-;7883:40;;7934:27;;:::i;:::-;7964:112;;;;;;;;7994:4;7964:112;;8019:46;;;;;7964:112;;;;8019:31;;;;;;:46;;8059:4;;8019:46;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8019:46:79;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8019:46:79;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;8019:46:79;;;;;;;;;7964:112;;7934:142;-1:-1:-1;8101:26:79;;:::i;:::-;8141;;:::i;:::-;8180:39;8203:8;8213:5;8180:22;:39::i;:::-;8087:132;;-1:-1:-1;8087:132:79;-1:-1:-1;8319:40:79;8087:132;8319:25;:10;8087:132;8319:25;:14;:25;:::i;:::-;:29;:40;:29;:40;:::i;:::-;8312:47;;;;;;;;7572:794;;;;;:::o;5869:151:82:-;5992:6;;5964:4;;5991:7;:22;;;;;6012:1;6002;:7;;;:11;5991:22;5984:29;;5869:151;;;;:::o;6920:200:79:-;7054:7;7084:23;;;:13;;;;;:23;;;;;:29;;;;6920:200::o;1074:385:81:-;1200:11;;;:34;;-1:-1:-1;1215:19:81;;;1229:4;1215:19;1200:34;1196:71;;;1250:7;;1196:71;1329:75;;1277:175;;1310:5;;1352:39;;1329:75;;1393:2;;1397:6;;1329:75;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1329:75:81;;;;;;;38:4:-1;29:7;25:18;67:10;61:17;96:58;199:8;192:4;186;182:15;179:29;167:10;160:49;0:215;;;1329:75:81;1277:175;;;;;;;;;;;;;;;;;:19;:175::i;1726:561:77:-;1886:4;1881:400;;2000:24;2019:4;2000:18;:24::i;:::-;2050:5;2081:26;2100:6;2081:18;:26::i;:::-;2133:6;2165:19;2175:8;2165:9;:19::i;:::-;1958:280;;;;;;;;;2210:6;;1958:280;;;;7126:220:79;7263:21;;:::i;:::-;-1:-1:-1;7307:23:79;;;;:13;;;;:23;;;;;;;;;7300:39;;;;;;;;7307:32;;;7300:39;;;;;;;;;;;;;;;;7126:220;;;;:::o;2293:663:77:-;2479:4;2474:476;;2593:24;2612:4;2593:18;:24::i;:::-;2643:5;2674:26;2693:6;2674:18;:26::i;:::-;2726:6;2758:19;2768:8;2758:9;:19::i;:::-;2803:5;2834:19;2844:8;2834:9;:19::i;:::-;2551:356;;;;;;;;;;;2879:6;;2551:356;;;;2474:476;2293:663;;;;;:::o;6359:966::-;6462:12;6537:19;6576:5;6559:23;;;;;;;;;;;;;22:32:-1;26:21;;;22:32;6:49;;6559:23:77;;;;-1:-1:-1;49:4;6688:571:77;6709:5;;6688:571;;6960:9;;-1:-1:-1;;6862:3:77;;;;6960:6;;6862:3;;6960:9;;;;;;;;;;;;:14;6956:293;;7015:1;7011:5;7141:22;;7148:6;-1:-1:-1;7221:13:77;;6956:293;6688:571;;;-1:-1:-1;;7306:12:77;;;7316:1;7306:12;;;;;;;;;7299:19;-1:-1:-1;;6359:966:77:o;910:132:80:-;980:6;1009:26;1019:15;1009:9;:26::i;:::-;1002:33;;910:132;:::o;7352:214:79:-;7486:21;;:::i;:::-;-1:-1:-1;7530:23:79;;;;:13;;;;;:23;;;;;;;;;7523:36;;;;;;;7530:29;;;;7523:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7352:214::o;5487:601:74:-;5631:16;;:::i;:::-;5649;;:::i;:::-;5681:26;;:::i;:::-;-1:-1:-1;5710:81:74;;;;;;;;;5740:4;5710:81;;;5765:15;;;;5710:81;;;;;;5801:26;;:::i;:::-;-1:-1:-1;5830:82:74;;;;;;;;;-1:-1:-1;5830:82:74;;5886:15;;5830:82;;;;;;5922:26;;:::i;:::-;5951;5960:9;5971:5;5951:8;:26::i;:::-;5922:55;;5987:26;;:::i;:::-;6016;6025:9;6036:5;6016:8;:26::i;:::-;6060:9;;;;-1:-1:-1;5487:601:74;;-1:-1:-1;;;;;;5487:601:74:o;4555:169:82:-;4665:10;;:::i;:::-;4698:19;4702:1;4705:11;4714:1;4705:8;:11::i;:::-;4698:3;:19::i;2016:897:81:-;2669:12;2683:23;2710:5;:10;;2721:4;2710:16;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;2668:58:81;;;;2744:7;2753:5;2736:23;;;;;;;;;;;;;;;;-1:-1:-1;2774:17:81;;:21;2770:137;;2869:10;2858:30;;;;;;;;;;;;;;2890:5;2850:46;;;;;;;;;;;;;;;;;2016:897;;;;;:::o;7331:912:77:-;7425:12;7457:10;7453:51;;-1:-1:-1;7483:10:77;;;;;;;;;;;;;;;;;;;7453:51;7565:5;7553:9;7604:69;7611:6;;7604:69;;7633:8;;7660:2;7655:7;;;;7604:69;;;7714:17;7744:6;7734:17;;;;;;;;;;;;;;;;;;;;;;;;;21:6:-1;;104:10;7734:17:77;87:34:-1;135:17;;-1:-1;7734:17:77;-1:-1:-1;7843:5:77;;-1:-1:-1;7714:37:77;-1:-1:-1;7875:6:77;7858:357;7883:5;;7858:357;;-1:-1:-1;;8036:3:77;8132:2;8128:1;:6;902:2;8114:21;8103:34;;8093:4;8098:1;8093:7;;;;;;;;;;;:44;;;;;;;;;;-1:-1:-1;8202:2:77;8197:7;;;;7858:357;;;-1:-1:-1;8232:4:77;7331:912;-1:-1:-1;;;;7331:912:77:o;3426:310:75:-;3517:6;3562;3579:127;3605:16;;;;;3635:4;3579:127;3562:6;3579:12;:127::i;4154:567:74:-;4285:16;;:::i;:::-;4346:11;;;;4372:10;;4338:20;;;;;4368:347;;;4405:130;;;;;;;;;4439:4;4405:130;;;4501:12;;;;4405:130;;;;4468:52;;:10;;:52;;1200:6;4468:52;:32;:52;:::i;:::-;4405:130;;;4398:137;;;;;4368:347;4573:131;;;;;;;;;-1:-1:-1;4573:131:74;;4670:12;;4573:131;;;;4637:52;;:10;;:52;;1200:6;4637:52;:32;:52;:::i;5660:203:82:-;5753:10;;:::i;:::-;-1:-1:-1;5786:70:82;;;;;;;;;5811:6;;5810:7;5786:70;;;5838:7;;;;5786:70;;;;5660:203;;;:::o;4730:610::-;4840:10;;:::i;:::-;4866:17;;:::i;:::-;4907:6;;4897;;:16;;;;;;4893:418;;;4943:6;;4929:20;;;;4991:7;;;;;5000;;;;4978:30;;4991:7;4978:12;:30::i;:::-;4963:12;;;:45;4893:418;;;5054:1;:7;;;5043:1;:7;;;:18;5039:262;;5095:6;;5081:20;;;;5147:7;;;;;5156;;;;5134:30;;5147:7;5134:12;:30::i;5039:262::-;5217:6;;5203:20;;;;5269:7;;;;;5278;;;;5256:30;;5269:7;5256:12;:30::i;:::-;5241:12;;;:45;5327:6;4730:610;-1:-1:-1;;;4730:610:82:o;2059:724:75:-;2223:7;2250:11;;;:29;;-1:-1:-1;2265:14:75;;2250:29;2246:151;;;2358:28;2371:1;2374:11;2358:12;:28::i;:::-;2351:35;;;;2246:151;2406:11;2420:21;:6;2431:9;2420:21;:10;:21;:::i;:::-;2406:35;-1:-1:-1;2680:96:75;2735:32;2765:1;2735:25;2758:1;2735:18;:11;2765:1;2735:18;:15;:18;:::i;:::-;:22;:25;:22;:25;:::i;:::-;:29;:32;:29;:32;:::i;:::-;2708:23;:6;2719:11;2708:23;:10;:23;:::i;:::-;:59;;:67;;2774:1;2708:67;;;2770:1;2708:67;2680:96;;:23;:6;2691:11;2680:23;:10;:23;:::i;:96::-;2673:103;2059:724;-1:-1:-1;;;;;2059:724:75:o;834:176:124:-;892:7;923:5;;;946:6;;;;938:46;;;;;;;;;;;;;1274:134;1332:7;1358:43;1362:1;1365;1358:43;;;;;;;;;;;;;;;;;:3;:43::i;3073:130::-;3131:7;3157:39;3161:1;3164;3157:39;;;;;;;;;;;;;;;;;:3;:39::i;2159:459::-;2217:7;2458:6;2454:45;;-1:-1:-1;2487:1:124;2480:8;;2454:45;2521:5;;;2525:1;2521;:5;:1;2544:5;;;;;:10;2536:56;;;;;;;;;;;;;4500:128;4558:7;4584:37;4588:1;4591;4584:37;;;;;;;;;;;;;;;;;:3;:37::i;1732:187::-;1818:7;1853:12;1845:6;;;;1837:29;;;;;;;;;;;;;;;-1:-1:-1;;;1888:5:124;;;1732:187::o;3718:338::-;3804:7;3904:12;3897:5;3889:28;;;;;;;;;;;;;;;;3927:9;3943:1;3939;:5;;;;;;;3718:338;-1:-1:-1;;;;;3718:338:124:o;5132:163::-;5218:7;5253:12;5245:6;5237:29;;;;;;;;;;;;;;;;5287:1;5283;:5;;;;;;;5132:163;-1:-1:-1;;;;5132:163:124:o;1346:13366:53:-;;;;;;;;;;-1:-1:-1;1346:13366:53;;;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;1346:13366:53;;;;;;;;;;;;;;;;;:::o;5:130:-1:-;72:20;;97:33;72:20;97:33;;160:707;;277:3;270:4;262:6;258:17;254:27;244:2;;295:1;292;285:12;244:2;332:6;319:20;354:80;369:64;426:6;369:64;;;354:80;;;345:89;;451:5;476:6;469:5;462:21;506:4;498:6;494:17;484:27;;528:4;523:3;519:14;512:21;;581:6;628:3;620:4;612:6;608:17;603:3;599:27;596:36;593:2;;;645:1;642;635:12;593:2;670:1;655:206;680:6;677:1;674:13;655:206;;;738:3;760:37;793:3;781:10;760:37;;;748:50;;-1:-1;821:4;812:14;;;;840;;;;;702:1;695:9;655:206;;;659:14;237:630;;;;;;;;875:124;939:20;;964:30;939:20;964:30;;1006:128;1081:13;;1099:30;1081:13;1099:30;;1141:180;1233:20;;1258:58;1233:20;1258:58;;1535:322;;1647:4;1635:9;1630:3;1626:19;1622:30;1619:2;;;1665:1;1662;1655:12;1619:2;1683:20;1698:4;1683:20;;;1674:29;-1:-1;1754:1;1786:49;1831:3;1811:9;1786:49;;;1761:75;;-1:-1;1772:5;1613:244;-1:-1;;1613:244;1892:345;;2016:4;2004:9;1999:3;1995:19;1991:30;1988:2;;;2034:1;2031;2024:12;1988:2;2052:20;2067:4;2052:20;;;2043:29;-1:-1;2123:1;2155:60;2211:3;2191:9;2155:60;;2622:180;2714:20;;2739:58;2714:20;2739:58;;3304:134;3382:13;;3400:33;3382:13;3400:33;;3445:257;;3557:2;3545:9;3536:7;3532:23;3528:32;3525:2;;;3573:1;3570;3563:12;3525:2;3608:1;3625:61;3678:7;3658:9;3625:61;;;3615:71;3519:183;-1:-1;;;;3519:183;3709:311;;3848:2;3836:9;3827:7;3823:23;3819:32;3816:2;;;3864:1;3861;3854:12;3816:2;3899:1;3916:88;3996:7;3976:9;3916:88;;4343:541;;;;4506:2;4494:9;4485:7;4481:23;4477:32;4474:2;;;4522:1;4519;4512:12;4474:2;4557:1;4574:78;4644:7;4624:9;4574:78;;;4564:88;;4536:122;4689:2;4707:53;4752:7;4743:6;4732:9;4728:22;4707:53;;;4697:63;;4668:98;4797:2;4815:53;4860:7;4851:6;4840:9;4836:22;4815:53;;;4805:63;;4776:98;4468:416;;;;;;4891:535;;;;5051:2;5039:9;5030:7;5026:23;5022:32;5019:2;;;5067:1;5064;5057:12;5019:2;5102:1;5119:78;5189:7;5169:9;5119:78;;;5109:88;;5081:122;5234:2;5252:53;5297:7;5288:6;5277:9;5273:22;5252:53;;;5242:63;;5213:98;5342:2;5360:50;5402:7;5393:6;5382:9;5378:22;5360:50;;5433:1345;;;;;;;;;5768:3;5756:9;5747:7;5743:23;5739:33;5736:2;;;5785:1;5782;5775:12;5736:2;5820:1;5837:78;5907:7;5887:9;5837:78;;;5827:88;;5799:122;5952:2;5970:53;6015:7;6006:6;5995:9;5991:22;5970:53;;;5960:63;;5931:98;6060:2;6078:75;6145:7;6136:6;6125:9;6121:22;6078:75;;;6068:85;;6039:120;6190:2;6208:78;6278:7;6269:6;6258:9;6254:22;6208:78;;;6198:88;;6169:123;6323:3;6342:76;6410:7;6401:6;6390:9;6386:22;6342:76;;;6332:86;;6302:122;6455:3;6474:76;6542:7;6533:6;6522:9;6518:22;6474:76;;;6464:86;;6434:122;6587:3;6606:50;6648:7;6639:6;6628:9;6624:22;6606:50;;;6596:60;;6566:96;6693:3;6712:50;6754:7;6745:6;6734:9;6730:22;6712:50;;;6702:60;;6672:96;5730:1048;;;;;;;;;;;;6785:677;;;;6973:2;6961:9;6952:7;6948:23;6944:32;6941:2;;;6989:1;6986;6979:12;6941:2;7024:1;7041:78;7111:7;7091:9;7041:78;;;7031:88;;7003:122;7184:2;7173:9;7169:18;7156:32;7208:18;7200:6;7197:30;7194:2;;;7240:1;7237;7230:12;7194:2;7260:78;7330:7;7321:6;7310:9;7306:22;7260:78;;7469:462;;;7638:2;7626:9;7617:7;7613:23;7609:32;7606:2;;;7654:1;7651;7644:12;7606:2;7689:1;7706:78;7776:7;7756:9;7706:78;;;7696:88;;7668:122;7821:2;7839:76;7907:7;7898:6;7887:9;7883:22;7839:76;;;7829:86;;7800:121;7600:331;;;;;;8409:541;;;;8572:2;8560:9;8551:7;8547:23;8543:32;8540:2;;;8588:1;8585;8578:12;8540:2;8623:1;8640:78;8710:7;8690:9;8640:78;;;8630:88;;8602:122;8755:2;8773:53;8818:7;8809:6;8798:9;8794:22;8773:53;;8957:535;;;;9117:2;9105:9;9096:7;9092:23;9088:32;9085:2;;;9133:1;9130;9123:12;9085:2;9168:1;9185:78;9255:7;9235:9;9185:78;;;9175:88;;9147:122;9300:2;9318:53;9363:7;9354:6;9343:9;9339:22;9318:53;;9499:591;;;;9687:2;9675:9;9666:7;9662:23;9658:32;9655:2;;;9703:1;9700;9693:12;9655:2;9738:1;9755:78;9825:7;9805:9;9755:78;;;9745:88;;9717:122;9870:2;9888:53;9933:7;9924:6;9913:9;9909:22;9888:53;;;9878:63;;9849:98;9978:2;9996:78;10066:7;10057:6;10046:9;10042:22;9996:78;;10689:587;;;;10875:2;10863:9;10854:7;10850:23;10846:32;10843:2;;;10891:1;10888;10881:12;10843:2;10926:1;10943:78;11013:7;10993:9;10943:78;;;10933:88;;10905:122;11058:2;11076:53;11121:7;11112:6;11101:9;11097:22;11076:53;;;11066:63;;11037:98;11166:2;11184:76;11252:7;11243:6;11232:9;11228:22;11184:76;;11283:263;;11398:2;11386:9;11377:7;11373:23;11369:32;11366:2;;;11414:1;11411;11404:12;11366:2;11449:1;11466:64;11522:7;11502:9;11466:64;;11553:113;11636:24;11654:5;11636:24;;;11631:3;11624:37;11618:48;;;11673:104;11750:21;11765:5;11750:21;;11784:148;11883:43;11902:23;11919:5;11902:23;;;11883:43;;11939:148;12038:43;12057:23;12074:5;12057:23;;12094:152;12195:45;12215:24;12233:5;12215:24;;12253:356;;12381:38;12413:5;12381:38;;;12431:88;12512:6;12507:3;12431:88;;;12424:95;;12524:52;12569:6;12564:3;12557:4;12550:5;12546:16;12524:52;;;12588:16;;;;;12361:248;-1:-1;;12361:248;12616:142;12707:45;12746:5;12707:45;;12765:347;;12877:39;12910:5;12877:39;;;12928:71;12992:6;12987:3;12928:71;;;12921:78;;13004:52;13049:6;13044:3;13037:4;13030:5;13026:16;13004:52;;;13077:29;13099:6;13077:29;;;13068:39;;;;12857:255;-1:-1;;;12857:255;13120:327;;13280:67;13344:2;13339:3;13280:67;;;13380:29;13360:50;;13438:2;13429:12;;13266:181;-1:-1;;13266:181;13456:370;;13616:67;13680:2;13675:3;13616:67;;;13716:34;13696:55;;13785:3;13780:2;13771:12;;13764:25;13817:2;13808:12;;13602:224;-1:-1;;13602:224;13883:319;14089:23;;14022:4;14013:14;;;14118:63;14017:3;14089:23;14590:103;14663:24;14681:5;14663:24;;14948:244;;15067:75;15138:3;15129:6;15067:75;;;-1:-1;15164:2;15155:12;;15055:137;-1:-1;15055:137;15199:262;;15343:93;15432:3;15423:6;15343:93;;15468:553;;15684:93;15773:3;15764:6;15684:93;;;15677:100;;15788:73;15857:3;15848:6;15788:73;;;15883:1;15878:3;15874:11;15867:18;;15903:93;15992:3;15983:6;15903:93;;16028:978;;16342:93;16431:3;16422:6;16342:93;;;16335:100;;16446:73;16515:3;16506:6;16446:73;;;16541:1;16536:3;16532:11;16525:18;;16561:93;16650:3;16641:6;16561:93;;;16554:100;;16665:73;16734:3;16725:6;16665:73;;;16760:1;16755:3;16751:11;16744:18;;16780:93;16869:3;16860:6;16780:93;;;16773:100;;16884:73;16953:3;16944:6;16884:73;;;-1:-1;16979:1;16970:11;;16323:683;-1:-1;;;;;;16323:683;17013:1269;;17399:93;17488:3;17479:6;17399:93;;;17392:100;;17503:73;17572:3;17563:6;17503:73;;;17598:1;17593:3;17589:11;17582:18;;17618:93;17707:3;17698:6;17618:93;;;17611:100;;17722:73;17791:3;17782:6;17722:73;;;17817:1;17812:3;17808:11;17801:18;;17837:93;17926:3;17917:6;17837:93;;;17830:100;;17941:73;18010:3;18001:6;17941:73;;;18036:1;18031:3;18027:11;18020:18;;18056:93;18145:3;18136:6;18056:93;;;18049:100;;18160:73;18229:3;18220:6;18160:73;;;-1:-1;18255:1;18246:11;;17380:902;-1:-1;;;;;;;;17380:902;18289:213;18407:2;18392:18;;18421:71;18396:9;18465:6;18421:71;;18509:312;18649:2;18634:18;;18663:71;18638:9;18707:6;18663:71;;;18745:66;18807:2;18796:9;18792:18;18783:6;18745:66;;18828:467;19018:2;19003:18;;19032:71;19007:9;19076:6;19032:71;;;19114:80;19190:2;19179:9;19175:18;19166:6;19114:80;;;19205;19281:2;19270:9;19266:18;19257:6;19205:80;;19302:324;19448:2;19433:18;;19462:71;19437:9;19506:6;19462:71;;;19544:72;19612:2;19601:9;19597:18;19588:6;19544:72;;19633:301;19771:2;19785:47;;;19756:18;;19846:78;19756:18;19910:6;19846:78;;19941:407;20132:2;20146:47;;;20117:18;;20207:131;20117:18;20207:131;;20355:407;20546:2;20560:47;;;20531:18;;20621:131;20531:18;20621:131;;20769:305;20933:2;20918:18;;20947:117;20922:9;21037:6;20947:117;;21397:229;21523:2;21508:18;;21537:79;21512:9;21589:6;21537:79;;21633:324;21779:2;21764:18;;21793:71;21768:9;21837:6;21793:71;;;21875:72;21943:2;21932:9;21928:18;21919:6;21875:72;;21964:312;22104:2;22089:18;;22118:71;22093:9;22162:6;22118:71;;22283:416;22475:2;22460:18;;22489:71;22464:9;22533:6;22489:71;;;22571:118;22685:2;22674:9;22670:18;22661:6;22571:118;;22706:256;22768:2;22762:9;22794:17;;;22869:18;22854:34;;22890:22;;;22851:62;22848:2;;;22926:1;22923;22916:12;22848:2;22942;22935:22;22746:216;;-1:-1;22746:216;22969:304;;23128:18;23120:6;23117:30;23114:2;;;23160:1;23157;23150:12;23114:2;-1:-1;23195:4;23183:17;;;23248:15;;23051:222;23280:121;23367:12;;23338:63;23691:163;23794:19;;;23843:4;23834:14;;23787:67;23862:91;;23924:24;23942:5;23924:24;;23960:85;24026:13;24019:21;;24002:43;24052:144;24124:66;24113:78;;24096:100;24203:144;24275:66;24264:78;;24247:100;24354:72;24416:5;24399:27;24433:116;;24520:24;24538:5;24520:24;;24780:121;24853:42;24842:54;;24825:76;24987:116;;25074:24;25092:5;25074:24;;25111:268;25176:1;25183:101;25197:6;25194:1;25191:13;25183:101;;;25264:11;;;25258:18;25245:11;;;25238:39;25219:2;25212:10;25183:101;;;25299:6;25296:1;25293:13;25290:2;;;-1:-1;;25364:1;25346:16;;25339:27;25160:219;25628:97;25716:2;25696:14;25712:7;25692:28;;25676:49;25733:117;25802:24;25820:5;25802:24;;;25795:5;25792:35;25782:2;;25841:1;25838;25831:12;25782:2;25776:74;;25857:111;25923:21;25938:5;25923:21;;25975:167;26069:49;26112:5;26069:49;;26317:167;26411:49;26454:5;26411:49;",
|
|
313
313
|
"source": "/*\n\n Copyright 2019 dYdX Trading Inc.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n*/\n\npragma solidity ^0.5.7;\npragma experimental ABIEncoderV2;\n\nimport { IERC20Detailed } from \"../interfaces/IERC20Detailed.sol\";\nimport { IInterestSetter } from \"../interfaces/IInterestSetter.sol\";\nimport { IPriceOracle } from \"../interfaces/IPriceOracle.sol\";\nimport { IRecyclable } from \"../interfaces/IRecyclable.sol\";\nimport { Decimal } from \"../lib/Decimal.sol\";\nimport { Interest } from \"../lib/Interest.sol\";\nimport { Monetary } from \"../lib/Monetary.sol\";\nimport { Require } from \"../lib/Require.sol\";\nimport { Storage } from \"../lib/Storage.sol\";\nimport { Token } from \"../lib/Token.sol\";\nimport { Types } from \"../lib/Types.sol\";\n\n\n/**\n * @title AdminImpl\n * @author dYdX\n *\n * Administrative functions to keep the protocol updated\n */\nlibrary AdminImpl {\n using Storage for Storage.State;\n using Token for address;\n using Types for Types.Wei;\n\n // ============ Constants ============\n\n bytes32 constant FILE = \"AdminImpl\";\n\n uint256 constant HEAD_POINTER = uint(-1);\n\n uint256 constant ONE_WEEK = 86400 * 7;\n\n // ============ Events ============\n\n event LogWithdrawExcessTokens(\n address token,\n uint256 amount\n );\n\n event LogWithdrawUnsupportedTokens(\n address token,\n uint256 amount\n );\n\n event LogAddMarket(\n uint256 marketId,\n address token\n );\n\n event LogRemoveMarket(\n uint256 marketId,\n address token\n );\n\n event LogSetIsClosing(\n uint256 marketId,\n bool isClosing\n );\n\n event LogSetPriceOracle(\n uint256 marketId,\n address priceOracle\n );\n\n event LogSetInterestSetter(\n uint256 marketId,\n address interestSetter\n );\n\n event LogSetMarginPremium(\n uint256 marketId,\n Decimal.D256 marginPremium\n );\n\n event LogSetSpreadPremium(\n uint256 marketId,\n Decimal.D256 spreadPremium\n );\n\n event LogSetMarginRatio(\n Decimal.D256 marginRatio\n );\n\n event LogSetLiquidationSpread(\n Decimal.D256 liquidationSpread\n );\n\n event LogSetEarningsRate(\n Decimal.D256 earningsRate\n );\n\n event LogSetMinBorrowedValue(\n Monetary.Value minBorrowedValue\n );\n\n event LogSetGlobalOperator(\n address operator,\n bool approved\n );\n\n event LogSetAutoTraderIsSpecial(\n address autoTrader,\n bool isSpecial\n );\n\n // ============ Token Functions ============\n\n function ownerWithdrawExcessTokens(\n Storage.State storage state,\n uint256 marketId,\n address recipient\n )\n public\n returns (uint256)\n {\n _validateMarketId(state, marketId);\n Types.Wei memory excessWei = state.getNumExcessTokens(marketId);\n\n Require.that(\n !excessWei.isNegative(),\n FILE,\n \"Negative excess\"\n );\n\n address token = state.getToken(marketId);\n\n uint256 actualBalance = IERC20Detailed(token).balanceOf(address(this));\n if (excessWei.value > actualBalance) {\n excessWei.value = actualBalance;\n }\n\n token.transfer(recipient, excessWei.value);\n\n emit LogWithdrawExcessTokens(token, excessWei.value);\n\n return excessWei.value;\n }\n\n function ownerWithdrawUnsupportedTokens(\n Storage.State storage state,\n address token,\n address recipient\n )\n public\n returns (uint256)\n {\n _requireNoMarket(state, token);\n\n uint256 balance = IERC20Detailed(token).balanceOf(address(this));\n token.transfer(recipient, balance);\n\n emit LogWithdrawUnsupportedTokens(token, balance);\n\n return balance;\n }\n\n // ============ Market Functions ============\n\n function ownerAddMarket(\n Storage.State storage state,\n address token,\n IPriceOracle priceOracle,\n IInterestSetter interestSetter,\n Decimal.D256 memory marginPremium,\n Decimal.D256 memory spreadPremium,\n bool isClosing,\n bool isRecyclable\n )\n public\n {\n _requireNoMarket(state, token);\n\n uint256 marketId = state.recycledMarketIds[HEAD_POINTER];\n if (marketId == 0) {\n // we can't recycle a marketId, so we get a new ID and increment the number of markets\n marketId = state.numMarkets;\n state.numMarkets++;\n } else {\n // we successfully recycled the market ID.\n // reset the head pointer to the next item in the linked list\n state.recycledMarketIds[HEAD_POINTER] = state.recycledMarketIds[marketId];\n }\n\n state.markets[marketId].token = token;\n state.markets[marketId].index = Interest.newIndex();\n state.markets[marketId].isClosing = isClosing;\n state.markets[marketId].isRecyclable = isRecyclable;\n state.tokenToMarketId[token] = marketId;\n\n emit LogAddMarket(marketId, token);\n if (isClosing) {\n emit LogSetIsClosing(marketId, isClosing);\n }\n\n _setPriceOracle(state, marketId, priceOracle);\n _setInterestSetter(state, marketId, interestSetter);\n _setMarginPremium(state, marketId, marginPremium);\n _setSpreadPremium(state, marketId, spreadPremium);\n\n if (isRecyclable) {\n IRecyclable(token).initialize();\n }\n }\n\n function ownerRemoveMarkets(\n Storage.State storage state,\n uint[] memory marketIds,\n address salvager\n )\n public\n {\n for (uint i = 0; i < marketIds.length; i++) {\n address token = state.markets[marketIds[i]].token;\n Require.that(\n token != address(0),\n FILE,\n \"market does not exist\",\n marketIds[i]\n );\n Require.that(\n state.markets[marketIds[i]].isRecyclable,\n FILE,\n \"market is not recyclable\",\n marketIds[i]\n );\n Require.that(\n state.getTotalPar(marketIds[i]).borrow == 0,\n FILE,\n \"market has active borrows\",\n marketIds[i]\n );\n uint expirationTimestamp = IRecyclable(state.getToken(marketIds[i])).MAX_EXPIRATION_TIMESTAMP();\n Require.that(\n expirationTimestamp < block.timestamp,\n FILE,\n \"market is not expired\",\n marketIds[i],\n expirationTimestamp\n );\n Require.that(\n (expirationTimestamp + ONE_WEEK) < block.timestamp, // give the expiration timestamp a 7-day buffer\n FILE,\n \"expiration must pass buffer\",\n marketIds[i],\n expirationTimestamp\n );\n\n Token.transfer(token, salvager, state.getTotalPar(marketIds[i]).supply);\n\n delete state.markets[marketIds[i]];\n delete state.tokenToMarketId[token];\n\n uint previousHead = state.recycledMarketIds[HEAD_POINTER];\n state.recycledMarketIds[HEAD_POINTER] = marketIds[i];\n if (previousHead != 0) {\n // marketId=0 is not recyclable so we can assume previousHead == 0 means the null case\n state.recycledMarketIds[marketIds[i]] = previousHead;\n }\n\n IRecyclable(token).recycle();\n\n emit LogRemoveMarket(marketIds[i], token);\n }\n }\n\n function ownerSetIsClosing(\n Storage.State storage state,\n uint256 marketId,\n bool isClosing\n )\n public\n {\n _validateMarketId(state, marketId);\n state.markets[marketId].isClosing = isClosing;\n emit LogSetIsClosing(marketId, isClosing);\n }\n\n function ownerSetPriceOracle(\n Storage.State storage state,\n uint256 marketId,\n IPriceOracle priceOracle\n )\n public\n {\n _validateMarketId(state, marketId);\n _setPriceOracle(state, marketId, priceOracle);\n }\n\n function ownerSetInterestSetter(\n Storage.State storage state,\n uint256 marketId,\n IInterestSetter interestSetter\n )\n public\n {\n _validateMarketId(state, marketId);\n _setInterestSetter(state, marketId, interestSetter);\n }\n\n function ownerSetMarginPremium(\n Storage.State storage state,\n uint256 marketId,\n Decimal.D256 memory marginPremium\n )\n public\n {\n _validateMarketId(state, marketId);\n _setMarginPremium(state, marketId, marginPremium);\n }\n\n function ownerSetSpreadPremium(\n Storage.State storage state,\n uint256 marketId,\n Decimal.D256 memory spreadPremium\n )\n public\n {\n _validateMarketId(state, marketId);\n _setSpreadPremium(state, marketId, spreadPremium);\n }\n\n // ============ Risk Functions ============\n\n function ownerSetMarginRatio(\n Storage.State storage state,\n Decimal.D256 memory ratio\n )\n public\n {\n Require.that(\n ratio.value <= state.riskLimits.marginRatioMax,\n FILE,\n \"Ratio too high\"\n );\n Require.that(\n ratio.value > state.riskParams.liquidationSpread.value,\n FILE,\n \"Ratio cannot be <= spread\"\n );\n state.riskParams.marginRatio = ratio;\n emit LogSetMarginRatio(ratio);\n }\n\n function ownerSetLiquidationSpread(\n Storage.State storage state,\n Decimal.D256 memory spread\n )\n public\n {\n Require.that(\n spread.value <= state.riskLimits.liquidationSpreadMax,\n FILE,\n \"Spread too high\"\n );\n Require.that(\n spread.value < state.riskParams.marginRatio.value,\n FILE,\n \"Spread cannot be >= ratio\"\n );\n state.riskParams.liquidationSpread = spread;\n emit LogSetLiquidationSpread(spread);\n }\n\n function ownerSetEarningsRate(\n Storage.State storage state,\n Decimal.D256 memory earningsRate\n )\n public\n {\n Require.that(\n earningsRate.value <= state.riskLimits.earningsRateMax,\n FILE,\n \"Rate too high\"\n );\n state.riskParams.earningsRate = earningsRate;\n emit LogSetEarningsRate(earningsRate);\n }\n\n function ownerSetMinBorrowedValue(\n Storage.State storage state,\n Monetary.Value memory minBorrowedValue\n )\n public\n {\n Require.that(\n minBorrowedValue.value <= state.riskLimits.minBorrowedValueMax,\n FILE,\n \"Value too high\"\n );\n state.riskParams.minBorrowedValue = minBorrowedValue;\n emit LogSetMinBorrowedValue(minBorrowedValue);\n }\n\n // ============ Global Operator Functions ============\n\n function ownerSetGlobalOperator(\n Storage.State storage state,\n address operator,\n bool approved\n )\n public\n {\n state.globalOperators[operator] = approved;\n\n emit LogSetGlobalOperator(operator, approved);\n }\n\n function ownerSetAutoTraderSpecial(\n Storage.State storage state,\n address autoTrader,\n bool isSpecial\n )\n public\n {\n state.specialAutoTraders[autoTrader] = isSpecial;\n\n emit LogSetAutoTraderIsSpecial(autoTrader, isSpecial);\n }\n\n // ============ Private Functions ============\n\n function _setPriceOracle(\n Storage.State storage state,\n uint256 marketId,\n IPriceOracle priceOracle\n )\n private\n {\n // require oracle can return non-zero price\n address token = state.markets[marketId].token;\n\n Require.that(\n priceOracle.getPrice(token).value != 0,\n FILE,\n \"Invalid oracle price\"\n );\n\n state.markets[marketId].priceOracle = priceOracle;\n\n emit LogSetPriceOracle(marketId, address(priceOracle));\n }\n\n function _setInterestSetter(\n Storage.State storage state,\n uint256 marketId,\n IInterestSetter interestSetter\n )\n private\n {\n // ensure interestSetter can return a value without reverting\n address token = state.markets[marketId].token;\n interestSetter.getInterestRate(token, 0, 0);\n\n state.markets[marketId].interestSetter = interestSetter;\n\n emit LogSetInterestSetter(marketId, address(interestSetter));\n }\n\n function _setMarginPremium(\n Storage.State storage state,\n uint256 marketId,\n Decimal.D256 memory marginPremium\n )\n private\n {\n Require.that(\n marginPremium.value <= state.riskLimits.marginPremiumMax,\n FILE,\n \"Margin premium too high\"\n );\n state.markets[marketId].marginPremium = marginPremium;\n\n emit LogSetMarginPremium(marketId, marginPremium);\n }\n\n function _setSpreadPremium(\n Storage.State storage state,\n uint256 marketId,\n Decimal.D256 memory spreadPremium\n )\n private\n {\n Require.that(\n spreadPremium.value <= state.riskLimits.spreadPremiumMax,\n FILE,\n \"Spread premium too high\"\n );\n state.markets[marketId].spreadPremium = spreadPremium;\n\n emit LogSetSpreadPremium(marketId, spreadPremium);\n }\n\n function _requireNoMarket(\n Storage.State storage state,\n address token\n )\n private\n view\n {\n // not-found case is marketId of 0. 0 is a valid market ID so we need to check market ID 0's token equality.\n uint marketId = state.tokenToMarketId[token];\n bool marketExists = token == state.markets[marketId].token;\n\n Require.that(\n !marketExists,\n FILE,\n \"Market exists\"\n );\n }\n\n function _validateMarketId(\n Storage.State storage state,\n uint256 marketId\n )\n private\n view\n {\n Require.that(\n marketId < state.numMarkets && state.markets[marketId].token != address(0),\n FILE,\n \"Invalid market\",\n marketId\n );\n }\n}\n",
|
|
314
|
-
"sourcePath": "/
|
|
314
|
+
"sourcePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/impl/AdminImpl.sol",
|
|
315
315
|
"ast": {
|
|
316
|
-
"absolutePath": "/
|
|
316
|
+
"absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/impl/AdminImpl.sol",
|
|
317
317
|
"exportedSymbols": {
|
|
318
318
|
"AdminImpl": [
|
|
319
319
|
25051
|
|
@@ -343,7 +343,7 @@
|
|
|
343
343
|
"src": "627:33:53"
|
|
344
344
|
},
|
|
345
345
|
{
|
|
346
|
-
"absolutePath": "/
|
|
346
|
+
"absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/interfaces/IERC20Detailed.sol",
|
|
347
347
|
"file": "../interfaces/IERC20Detailed.sol",
|
|
348
348
|
"id": 23897,
|
|
349
349
|
"nodeType": "ImportDirective",
|
|
@@ -359,7 +359,7 @@
|
|
|
359
359
|
"unitAlias": ""
|
|
360
360
|
},
|
|
361
361
|
{
|
|
362
|
-
"absolutePath": "/
|
|
362
|
+
"absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/interfaces/IInterestSetter.sol",
|
|
363
363
|
"file": "../interfaces/IInterestSetter.sol",
|
|
364
364
|
"id": 23899,
|
|
365
365
|
"nodeType": "ImportDirective",
|
|
@@ -375,7 +375,7 @@
|
|
|
375
375
|
"unitAlias": ""
|
|
376
376
|
},
|
|
377
377
|
{
|
|
378
|
-
"absolutePath": "/
|
|
378
|
+
"absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/interfaces/IPriceOracle.sol",
|
|
379
379
|
"file": "../interfaces/IPriceOracle.sol",
|
|
380
380
|
"id": 23901,
|
|
381
381
|
"nodeType": "ImportDirective",
|
|
@@ -391,7 +391,7 @@
|
|
|
391
391
|
"unitAlias": ""
|
|
392
392
|
},
|
|
393
393
|
{
|
|
394
|
-
"absolutePath": "/
|
|
394
|
+
"absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/interfaces/IRecyclable.sol",
|
|
395
395
|
"file": "../interfaces/IRecyclable.sol",
|
|
396
396
|
"id": 23903,
|
|
397
397
|
"nodeType": "ImportDirective",
|
|
@@ -407,7 +407,7 @@
|
|
|
407
407
|
"unitAlias": ""
|
|
408
408
|
},
|
|
409
409
|
{
|
|
410
|
-
"absolutePath": "/
|
|
410
|
+
"absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Decimal.sol",
|
|
411
411
|
"file": "../lib/Decimal.sol",
|
|
412
412
|
"id": 23905,
|
|
413
413
|
"nodeType": "ImportDirective",
|
|
@@ -423,7 +423,7 @@
|
|
|
423
423
|
"unitAlias": ""
|
|
424
424
|
},
|
|
425
425
|
{
|
|
426
|
-
"absolutePath": "/
|
|
426
|
+
"absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Interest.sol",
|
|
427
427
|
"file": "../lib/Interest.sol",
|
|
428
428
|
"id": 23907,
|
|
429
429
|
"nodeType": "ImportDirective",
|
|
@@ -439,7 +439,7 @@
|
|
|
439
439
|
"unitAlias": ""
|
|
440
440
|
},
|
|
441
441
|
{
|
|
442
|
-
"absolutePath": "/
|
|
442
|
+
"absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Monetary.sol",
|
|
443
443
|
"file": "../lib/Monetary.sol",
|
|
444
444
|
"id": 23909,
|
|
445
445
|
"nodeType": "ImportDirective",
|
|
@@ -455,7 +455,7 @@
|
|
|
455
455
|
"unitAlias": ""
|
|
456
456
|
},
|
|
457
457
|
{
|
|
458
|
-
"absolutePath": "/
|
|
458
|
+
"absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Require.sol",
|
|
459
459
|
"file": "../lib/Require.sol",
|
|
460
460
|
"id": 23911,
|
|
461
461
|
"nodeType": "ImportDirective",
|
|
@@ -471,7 +471,7 @@
|
|
|
471
471
|
"unitAlias": ""
|
|
472
472
|
},
|
|
473
473
|
{
|
|
474
|
-
"absolutePath": "/
|
|
474
|
+
"absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Storage.sol",
|
|
475
475
|
"file": "../lib/Storage.sol",
|
|
476
476
|
"id": 23913,
|
|
477
477
|
"nodeType": "ImportDirective",
|
|
@@ -487,7 +487,7 @@
|
|
|
487
487
|
"unitAlias": ""
|
|
488
488
|
},
|
|
489
489
|
{
|
|
490
|
-
"absolutePath": "/
|
|
490
|
+
"absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Token.sol",
|
|
491
491
|
"file": "../lib/Token.sol",
|
|
492
492
|
"id": 23915,
|
|
493
493
|
"nodeType": "ImportDirective",
|
|
@@ -503,7 +503,7 @@
|
|
|
503
503
|
"unitAlias": ""
|
|
504
504
|
},
|
|
505
505
|
{
|
|
506
|
-
"absolutePath": "/
|
|
506
|
+
"absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Types.sol",
|
|
507
507
|
"file": "../lib/Types.sol",
|
|
508
508
|
"id": 23917,
|
|
509
509
|
"nodeType": "ImportDirective",
|
|
@@ -15289,7 +15289,7 @@
|
|
|
15289
15289
|
"src": "603:14110:53"
|
|
15290
15290
|
},
|
|
15291
15291
|
"legacyAST": {
|
|
15292
|
-
"absolutePath": "/
|
|
15292
|
+
"absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/impl/AdminImpl.sol",
|
|
15293
15293
|
"exportedSymbols": {
|
|
15294
15294
|
"AdminImpl": [
|
|
15295
15295
|
25051
|
|
@@ -15319,7 +15319,7 @@
|
|
|
15319
15319
|
"src": "627:33:53"
|
|
15320
15320
|
},
|
|
15321
15321
|
{
|
|
15322
|
-
"absolutePath": "/
|
|
15322
|
+
"absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/interfaces/IERC20Detailed.sol",
|
|
15323
15323
|
"file": "../interfaces/IERC20Detailed.sol",
|
|
15324
15324
|
"id": 23897,
|
|
15325
15325
|
"nodeType": "ImportDirective",
|
|
@@ -15335,7 +15335,7 @@
|
|
|
15335
15335
|
"unitAlias": ""
|
|
15336
15336
|
},
|
|
15337
15337
|
{
|
|
15338
|
-
"absolutePath": "/
|
|
15338
|
+
"absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/interfaces/IInterestSetter.sol",
|
|
15339
15339
|
"file": "../interfaces/IInterestSetter.sol",
|
|
15340
15340
|
"id": 23899,
|
|
15341
15341
|
"nodeType": "ImportDirective",
|
|
@@ -15351,7 +15351,7 @@
|
|
|
15351
15351
|
"unitAlias": ""
|
|
15352
15352
|
},
|
|
15353
15353
|
{
|
|
15354
|
-
"absolutePath": "/
|
|
15354
|
+
"absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/interfaces/IPriceOracle.sol",
|
|
15355
15355
|
"file": "../interfaces/IPriceOracle.sol",
|
|
15356
15356
|
"id": 23901,
|
|
15357
15357
|
"nodeType": "ImportDirective",
|
|
@@ -15367,7 +15367,7 @@
|
|
|
15367
15367
|
"unitAlias": ""
|
|
15368
15368
|
},
|
|
15369
15369
|
{
|
|
15370
|
-
"absolutePath": "/
|
|
15370
|
+
"absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/interfaces/IRecyclable.sol",
|
|
15371
15371
|
"file": "../interfaces/IRecyclable.sol",
|
|
15372
15372
|
"id": 23903,
|
|
15373
15373
|
"nodeType": "ImportDirective",
|
|
@@ -15383,7 +15383,7 @@
|
|
|
15383
15383
|
"unitAlias": ""
|
|
15384
15384
|
},
|
|
15385
15385
|
{
|
|
15386
|
-
"absolutePath": "/
|
|
15386
|
+
"absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Decimal.sol",
|
|
15387
15387
|
"file": "../lib/Decimal.sol",
|
|
15388
15388
|
"id": 23905,
|
|
15389
15389
|
"nodeType": "ImportDirective",
|
|
@@ -15399,7 +15399,7 @@
|
|
|
15399
15399
|
"unitAlias": ""
|
|
15400
15400
|
},
|
|
15401
15401
|
{
|
|
15402
|
-
"absolutePath": "/
|
|
15402
|
+
"absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Interest.sol",
|
|
15403
15403
|
"file": "../lib/Interest.sol",
|
|
15404
15404
|
"id": 23907,
|
|
15405
15405
|
"nodeType": "ImportDirective",
|
|
@@ -15415,7 +15415,7 @@
|
|
|
15415
15415
|
"unitAlias": ""
|
|
15416
15416
|
},
|
|
15417
15417
|
{
|
|
15418
|
-
"absolutePath": "/
|
|
15418
|
+
"absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Monetary.sol",
|
|
15419
15419
|
"file": "../lib/Monetary.sol",
|
|
15420
15420
|
"id": 23909,
|
|
15421
15421
|
"nodeType": "ImportDirective",
|
|
@@ -15431,7 +15431,7 @@
|
|
|
15431
15431
|
"unitAlias": ""
|
|
15432
15432
|
},
|
|
15433
15433
|
{
|
|
15434
|
-
"absolutePath": "/
|
|
15434
|
+
"absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Require.sol",
|
|
15435
15435
|
"file": "../lib/Require.sol",
|
|
15436
15436
|
"id": 23911,
|
|
15437
15437
|
"nodeType": "ImportDirective",
|
|
@@ -15447,7 +15447,7 @@
|
|
|
15447
15447
|
"unitAlias": ""
|
|
15448
15448
|
},
|
|
15449
15449
|
{
|
|
15450
|
-
"absolutePath": "/
|
|
15450
|
+
"absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Storage.sol",
|
|
15451
15451
|
"file": "../lib/Storage.sol",
|
|
15452
15452
|
"id": 23913,
|
|
15453
15453
|
"nodeType": "ImportDirective",
|
|
@@ -15463,7 +15463,7 @@
|
|
|
15463
15463
|
"unitAlias": ""
|
|
15464
15464
|
},
|
|
15465
15465
|
{
|
|
15466
|
-
"absolutePath": "/
|
|
15466
|
+
"absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Token.sol",
|
|
15467
15467
|
"file": "../lib/Token.sol",
|
|
15468
15468
|
"id": 23915,
|
|
15469
15469
|
"nodeType": "ImportDirective",
|
|
@@ -15479,7 +15479,7 @@
|
|
|
15479
15479
|
"unitAlias": ""
|
|
15480
15480
|
},
|
|
15481
15481
|
{
|
|
15482
|
-
"absolutePath": "/
|
|
15482
|
+
"absolutePath": "/Users/corey/Leavitt-Innovations/dolomite-v2-protocol/contracts/protocol/lib/Types.sol",
|
|
15483
15483
|
"file": "../lib/Types.sol",
|
|
15484
15484
|
"id": 23917,
|
|
15485
15485
|
"nodeType": "ImportDirective",
|
|
@@ -30554,306 +30554,34 @@
|
|
|
30554
30554
|
],
|
|
30555
30555
|
"name": "LogWithdrawUnsupportedTokens",
|
|
30556
30556
|
"type": "event"
|
|
30557
|
-
}
|
|
30558
|
-
},
|
|
30559
|
-
"links": {},
|
|
30560
|
-
"address": "0xFC628dd79137395F3C9744e33b1c5DE554D94882",
|
|
30561
|
-
"transactionHash": "0x8c9a4e08e025612db99217ee8d264cf829a5d6629bf97245560b38c519b1e31f"
|
|
30562
|
-
},
|
|
30563
|
-
"80001": {
|
|
30564
|
-
"events": {
|
|
30565
|
-
"0x8cf904fdff707692d4bd95366b93d7302a97b4bf64f6716fd00b046ecbf82a46": {
|
|
30566
|
-
"anonymous": false,
|
|
30567
|
-
"inputs": [
|
|
30568
|
-
{
|
|
30569
|
-
"indexed": false,
|
|
30570
|
-
"internalType": "uint256",
|
|
30571
|
-
"name": "marketId",
|
|
30572
|
-
"type": "uint256"
|
|
30573
|
-
},
|
|
30574
|
-
{
|
|
30575
|
-
"indexed": false,
|
|
30576
|
-
"internalType": "address",
|
|
30577
|
-
"name": "token",
|
|
30578
|
-
"type": "address"
|
|
30579
|
-
}
|
|
30580
|
-
],
|
|
30581
|
-
"name": "LogAddMarket",
|
|
30582
|
-
"type": "event"
|
|
30583
30557
|
},
|
|
30584
|
-
"
|
|
30558
|
+
"0x3401777ccabf70a1ee50ed130d9a499a70dad2b7d7b33b6b63e7d11b3b18c117": {
|
|
30585
30559
|
"anonymous": false,
|
|
30586
30560
|
"inputs": [
|
|
30587
|
-
{
|
|
30588
|
-
"indexed": false,
|
|
30589
|
-
"internalType": "uint256",
|
|
30590
|
-
"name": "marketId",
|
|
30591
|
-
"type": "uint256"
|
|
30592
|
-
},
|
|
30593
30561
|
{
|
|
30594
30562
|
"indexed": false,
|
|
30595
30563
|
"internalType": "address",
|
|
30596
|
-
"name": "
|
|
30597
|
-
"type": "address"
|
|
30598
|
-
}
|
|
30599
|
-
],
|
|
30600
|
-
"name": "LogRemoveMarket",
|
|
30601
|
-
"type": "event"
|
|
30602
|
-
},
|
|
30603
|
-
"0xea691dd294c7882aadc1bebc2ffb81b91afb6be606dbf15d627c073889c72436": {
|
|
30604
|
-
"anonymous": false,
|
|
30605
|
-
"inputs": [
|
|
30606
|
-
{
|
|
30607
|
-
"components": [
|
|
30608
|
-
{
|
|
30609
|
-
"internalType": "uint256",
|
|
30610
|
-
"name": "value",
|
|
30611
|
-
"type": "uint256"
|
|
30612
|
-
}
|
|
30613
|
-
],
|
|
30614
|
-
"indexed": false,
|
|
30615
|
-
"internalType": "struct Decimal.D256",
|
|
30616
|
-
"name": "earningsRate",
|
|
30617
|
-
"type": "tuple"
|
|
30618
|
-
}
|
|
30619
|
-
],
|
|
30620
|
-
"name": "LogSetEarningsRate",
|
|
30621
|
-
"type": "event"
|
|
30622
|
-
},
|
|
30623
|
-
"0xeaeee7699e70e6b31ac89ec999ef6936b97ac1e364f0e1fcf584772372caa0d3": {
|
|
30624
|
-
"anonymous": false,
|
|
30625
|
-
"inputs": [
|
|
30626
|
-
{
|
|
30627
|
-
"indexed": false,
|
|
30628
|
-
"internalType": "address",
|
|
30629
|
-
"name": "operator",
|
|
30564
|
+
"name": "autoTrader",
|
|
30630
30565
|
"type": "address"
|
|
30631
30566
|
},
|
|
30632
30567
|
{
|
|
30633
30568
|
"indexed": false,
|
|
30634
30569
|
"internalType": "bool",
|
|
30635
|
-
"name": "
|
|
30570
|
+
"name": "isSpecial",
|
|
30636
30571
|
"type": "bool"
|
|
30637
30572
|
}
|
|
30638
30573
|
],
|
|
30639
|
-
"name": "
|
|
30640
|
-
"type": "event"
|
|
30641
|
-
},
|
|
30642
|
-
"0xaa2217332f2505521d63c728f59a8692c1c8c952a0c5d578e4142bb88cefb063": {
|
|
30643
|
-
"anonymous": false,
|
|
30644
|
-
"inputs": [
|
|
30645
|
-
{
|
|
30646
|
-
"indexed": false,
|
|
30647
|
-
"internalType": "uint256",
|
|
30648
|
-
"name": "marketId",
|
|
30649
|
-
"type": "uint256"
|
|
30650
|
-
},
|
|
30651
|
-
{
|
|
30652
|
-
"indexed": false,
|
|
30653
|
-
"internalType": "address",
|
|
30654
|
-
"name": "interestSetter",
|
|
30655
|
-
"type": "address"
|
|
30656
|
-
}
|
|
30657
|
-
],
|
|
30658
|
-
"name": "LogSetInterestSetter",
|
|
30659
|
-
"type": "event"
|
|
30660
|
-
},
|
|
30661
|
-
"0xec669433aa0b3212a238c30115dbf73736739faf98a33c293ecad3daad1b37f6": {
|
|
30662
|
-
"anonymous": false,
|
|
30663
|
-
"inputs": [
|
|
30664
|
-
{
|
|
30665
|
-
"indexed": false,
|
|
30666
|
-
"internalType": "uint256",
|
|
30667
|
-
"name": "marketId",
|
|
30668
|
-
"type": "uint256"
|
|
30669
|
-
},
|
|
30670
|
-
{
|
|
30671
|
-
"indexed": false,
|
|
30672
|
-
"internalType": "bool",
|
|
30673
|
-
"name": "isClosing",
|
|
30674
|
-
"type": "bool"
|
|
30675
|
-
}
|
|
30676
|
-
],
|
|
30677
|
-
"name": "LogSetIsClosing",
|
|
30678
|
-
"type": "event"
|
|
30679
|
-
},
|
|
30680
|
-
"0x9f7e4a6848b17eb13974d54a526bd85f5762577a23c3095ea6fd888d429e834b": {
|
|
30681
|
-
"anonymous": false,
|
|
30682
|
-
"inputs": [
|
|
30683
|
-
{
|
|
30684
|
-
"components": [
|
|
30685
|
-
{
|
|
30686
|
-
"internalType": "uint256",
|
|
30687
|
-
"name": "value",
|
|
30688
|
-
"type": "uint256"
|
|
30689
|
-
}
|
|
30690
|
-
],
|
|
30691
|
-
"indexed": false,
|
|
30692
|
-
"internalType": "struct Decimal.D256",
|
|
30693
|
-
"name": "liquidationSpread",
|
|
30694
|
-
"type": "tuple"
|
|
30695
|
-
}
|
|
30696
|
-
],
|
|
30697
|
-
"name": "LogSetLiquidationSpread",
|
|
30698
|
-
"type": "event"
|
|
30699
|
-
},
|
|
30700
|
-
"0x19ecb621bc945075c47008c9deaf25107a3343ecfe752608915a9d1da35e9e7c": {
|
|
30701
|
-
"anonymous": false,
|
|
30702
|
-
"inputs": [
|
|
30703
|
-
{
|
|
30704
|
-
"indexed": false,
|
|
30705
|
-
"internalType": "uint256",
|
|
30706
|
-
"name": "marketId",
|
|
30707
|
-
"type": "uint256"
|
|
30708
|
-
},
|
|
30709
|
-
{
|
|
30710
|
-
"components": [
|
|
30711
|
-
{
|
|
30712
|
-
"internalType": "uint256",
|
|
30713
|
-
"name": "value",
|
|
30714
|
-
"type": "uint256"
|
|
30715
|
-
}
|
|
30716
|
-
],
|
|
30717
|
-
"indexed": false,
|
|
30718
|
-
"internalType": "struct Decimal.D256",
|
|
30719
|
-
"name": "marginPremium",
|
|
30720
|
-
"type": "tuple"
|
|
30721
|
-
}
|
|
30722
|
-
],
|
|
30723
|
-
"name": "LogSetMarginPremium",
|
|
30724
|
-
"type": "event"
|
|
30725
|
-
},
|
|
30726
|
-
"0x253f176964e18a501db01a67272483db404e4e473e8afd1d255eeb0e96eb2e13": {
|
|
30727
|
-
"anonymous": false,
|
|
30728
|
-
"inputs": [
|
|
30729
|
-
{
|
|
30730
|
-
"components": [
|
|
30731
|
-
{
|
|
30732
|
-
"internalType": "uint256",
|
|
30733
|
-
"name": "value",
|
|
30734
|
-
"type": "uint256"
|
|
30735
|
-
}
|
|
30736
|
-
],
|
|
30737
|
-
"indexed": false,
|
|
30738
|
-
"internalType": "struct Decimal.D256",
|
|
30739
|
-
"name": "marginRatio",
|
|
30740
|
-
"type": "tuple"
|
|
30741
|
-
}
|
|
30742
|
-
],
|
|
30743
|
-
"name": "LogSetMarginRatio",
|
|
30744
|
-
"type": "event"
|
|
30745
|
-
},
|
|
30746
|
-
"0xfdcde9342dcfa3a8817b7566b25fed913d2c6eddb65575d40e14681934fae971": {
|
|
30747
|
-
"anonymous": false,
|
|
30748
|
-
"inputs": [
|
|
30749
|
-
{
|
|
30750
|
-
"components": [
|
|
30751
|
-
{
|
|
30752
|
-
"internalType": "uint256",
|
|
30753
|
-
"name": "value",
|
|
30754
|
-
"type": "uint256"
|
|
30755
|
-
}
|
|
30756
|
-
],
|
|
30757
|
-
"indexed": false,
|
|
30758
|
-
"internalType": "struct Monetary.Value",
|
|
30759
|
-
"name": "minBorrowedValue",
|
|
30760
|
-
"type": "tuple"
|
|
30761
|
-
}
|
|
30762
|
-
],
|
|
30763
|
-
"name": "LogSetMinBorrowedValue",
|
|
30764
|
-
"type": "event"
|
|
30765
|
-
},
|
|
30766
|
-
"0x6585928691672490b717a51fe425f4494b34c6b5cb8335c5dc1e70115bd26630": {
|
|
30767
|
-
"anonymous": false,
|
|
30768
|
-
"inputs": [
|
|
30769
|
-
{
|
|
30770
|
-
"indexed": false,
|
|
30771
|
-
"internalType": "uint256",
|
|
30772
|
-
"name": "marketId",
|
|
30773
|
-
"type": "uint256"
|
|
30774
|
-
},
|
|
30775
|
-
{
|
|
30776
|
-
"indexed": false,
|
|
30777
|
-
"internalType": "address",
|
|
30778
|
-
"name": "priceOracle",
|
|
30779
|
-
"type": "address"
|
|
30780
|
-
}
|
|
30781
|
-
],
|
|
30782
|
-
"name": "LogSetPriceOracle",
|
|
30783
|
-
"type": "event"
|
|
30784
|
-
},
|
|
30785
|
-
"0x8214bd57e079f2f3e3e5c52bf78db5fb85926c866aec322ba024db710365fc35": {
|
|
30786
|
-
"anonymous": false,
|
|
30787
|
-
"inputs": [
|
|
30788
|
-
{
|
|
30789
|
-
"indexed": false,
|
|
30790
|
-
"internalType": "uint256",
|
|
30791
|
-
"name": "marketId",
|
|
30792
|
-
"type": "uint256"
|
|
30793
|
-
},
|
|
30794
|
-
{
|
|
30795
|
-
"components": [
|
|
30796
|
-
{
|
|
30797
|
-
"internalType": "uint256",
|
|
30798
|
-
"name": "value",
|
|
30799
|
-
"type": "uint256"
|
|
30800
|
-
}
|
|
30801
|
-
],
|
|
30802
|
-
"indexed": false,
|
|
30803
|
-
"internalType": "struct Decimal.D256",
|
|
30804
|
-
"name": "spreadPremium",
|
|
30805
|
-
"type": "tuple"
|
|
30806
|
-
}
|
|
30807
|
-
],
|
|
30808
|
-
"name": "LogSetSpreadPremium",
|
|
30809
|
-
"type": "event"
|
|
30810
|
-
},
|
|
30811
|
-
"0xa5df3527e4451a18e4b8a5e3308e1d1f1962062aeafe061c48bbb29f172a39c8": {
|
|
30812
|
-
"anonymous": false,
|
|
30813
|
-
"inputs": [
|
|
30814
|
-
{
|
|
30815
|
-
"indexed": false,
|
|
30816
|
-
"internalType": "address",
|
|
30817
|
-
"name": "token",
|
|
30818
|
-
"type": "address"
|
|
30819
|
-
},
|
|
30820
|
-
{
|
|
30821
|
-
"indexed": false,
|
|
30822
|
-
"internalType": "uint256",
|
|
30823
|
-
"name": "amount",
|
|
30824
|
-
"type": "uint256"
|
|
30825
|
-
}
|
|
30826
|
-
],
|
|
30827
|
-
"name": "LogWithdrawExcessTokens",
|
|
30828
|
-
"type": "event"
|
|
30829
|
-
},
|
|
30830
|
-
"0x9dcbc20ebd63f294c7a8332cf06b52eca32a867b9ea7ce29d6c1cc5901494bec": {
|
|
30831
|
-
"anonymous": false,
|
|
30832
|
-
"inputs": [
|
|
30833
|
-
{
|
|
30834
|
-
"indexed": false,
|
|
30835
|
-
"internalType": "address",
|
|
30836
|
-
"name": "token",
|
|
30837
|
-
"type": "address"
|
|
30838
|
-
},
|
|
30839
|
-
{
|
|
30840
|
-
"indexed": false,
|
|
30841
|
-
"internalType": "uint256",
|
|
30842
|
-
"name": "amount",
|
|
30843
|
-
"type": "uint256"
|
|
30844
|
-
}
|
|
30845
|
-
],
|
|
30846
|
-
"name": "LogWithdrawUnsupportedTokens",
|
|
30574
|
+
"name": "LogSetAutoTraderIsSpecial",
|
|
30847
30575
|
"type": "event"
|
|
30848
30576
|
}
|
|
30849
30577
|
},
|
|
30850
30578
|
"links": {},
|
|
30851
|
-
"address": "
|
|
30852
|
-
"transactionHash": "
|
|
30579
|
+
"address": "0xb09bCc172050fBd4562da8b229Cf3E45Dc3045A6",
|
|
30580
|
+
"transactionHash": "0x5d6d449c6338d6a2bc2958886520313e9524d469096e96bc0b878d70f3f41635"
|
|
30853
30581
|
}
|
|
30854
30582
|
},
|
|
30855
30583
|
"schemaVersion": "3.0.23",
|
|
30856
|
-
"updatedAt": "2022-02-
|
|
30584
|
+
"updatedAt": "2022-02-07T07:18:45.198Z",
|
|
30857
30585
|
"devdoc": {
|
|
30858
30586
|
"author": "dYdX * Administrative functions to keep the protocol updated",
|
|
30859
30587
|
"methods": {},
|