diff --git a/abis/BurningSurplusAuctionHouse.json b/abis/BurningSurplusAuctionHouse.json deleted file mode 100644 index f4f2437..0000000 --- a/abis/BurningSurplusAuctionHouse.json +++ /dev/null @@ -1,406 +0,0 @@ -[ - { - "inputs": [ - { - "internalType": "address", - "name": "safeEngine_", - "type": "address" - }, - { - "internalType": "address", - "name": "protocolToken_", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "AddAuthorization", - "type": "event" - }, - { - "anonymous": false, - "inputs": [], - "name": "DisableContract", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "highBidder", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amountToBuy", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "bid", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "bidExpiry", - "type": "uint256" - } - ], - "name": "IncreaseBidSize", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "parameter", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "data", - "type": "uint256" - } - ], - "name": "ModifyParameters", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "RemoveAuthorization", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "auctionDeadline", - "type": "uint256" - } - ], - "name": "RestartAuction", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "SettleAuction", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "auctionsStarted", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amountToSell", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "initialBid", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "auctionDeadline", - "type": "uint256" - } - ], - "name": "StartAuction", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "highBidder", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "bidAmount", - "type": "uint256" - } - ], - "name": "TerminateAuctionPrematurely", - "type": "event" - }, - { - "inputs": [], - "name": "AUCTION_HOUSE_TYPE", - "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "SURPLUS_AUCTION_TYPE", - "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "account", "type": "address" }], - "name": "addAuthorization", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "auctionsStarted", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "", "type": "address" }], - "name": "authorizedAccounts", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "bidDuration", - "outputs": [{ "internalType": "uint48", "name": "", "type": "uint48" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "bidIncrease", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "name": "bids", - "outputs": [ - { - "internalType": "uint256", - "name": "bidAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amountToSell", - "type": "uint256" - }, - { - "internalType": "address", - "name": "highBidder", - "type": "address" - }, - { "internalType": "uint48", "name": "bidExpiry", "type": "uint48" }, - { - "internalType": "uint48", - "name": "auctionDeadline", - "type": "uint48" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "contractEnabled", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "disableContract", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "id", "type": "uint256" }, - { - "internalType": "uint256", - "name": "amountToBuy", - "type": "uint256" - }, - { "internalType": "uint256", "name": "bid", "type": "uint256" } - ], - "name": "increaseBidSize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "parameter", - "type": "bytes32" - }, - { "internalType": "uint256", "name": "data", "type": "uint256" } - ], - "name": "modifyParameters", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "protocolToken", - "outputs": [ - { - "internalType": "contract TokenLike", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "account", "type": "address" }], - "name": "removeAuthorization", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "id", "type": "uint256" }], - "name": "restartAuction", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "safeEngine", - "outputs": [ - { - "internalType": "contract SAFEEngineLike", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "id", "type": "uint256" }], - "name": "settleAuction", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amountToSell", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "initialBid", - "type": "uint256" - } - ], - "name": "startAuction", - "outputs": [{ "internalType": "uint256", "name": "id", "type": "uint256" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "id", "type": "uint256" }], - "name": "terminateAuctionPrematurely", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "totalAuctionLength", - "outputs": [{ "internalType": "uint48", "name": "", "type": "uint48" }], - "stateMutability": "view", - "type": "function" - } -] diff --git a/abis/IncreasingDiscountCollateralAuctionHouse.json b/abis/CollateralAuctionHouse.json similarity index 71% rename from abis/IncreasingDiscountCollateralAuctionHouse.json rename to abis/CollateralAuctionHouse.json index 9e3129d..63a4702 100644 --- a/abis/IncreasingDiscountCollateralAuctionHouse.json +++ b/abis/CollateralAuctionHouse.json @@ -1,4 +1,89 @@ [ + { + "inputs": [ + { + "internalType": "address", + "name": "_safeEngine", + "type": "address" + }, + { + "internalType": "address", + "name": "__oracleRelayer", + "type": "address" + }, + { + "internalType": "address", + "name": "__liquidationEngine", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_cType", + "type": "bytes32" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "minSystemCoinDeviation", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lowerSystemCoinDeviation", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "upperSystemCoinDeviation", + "type": "uint256" + } + ], + "internalType": "struct ICollateralAuctionHouse.CollateralAuctionHouseSystemCoinParams", + "name": "_cahParams", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "minimumBid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minDiscount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxDiscount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "perSecondDiscountUpdateRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lowerCollateralDeviation", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "upperCollateralDeviation", + "type": "uint256" + } + ], + "internalType": "struct ICollateralAuctionHouse.CollateralAuctionHouseParams", + "name": "_cahCParams", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, { "inputs": [], "name": "AlreadyAuthorized", @@ -6,47 +91,47 @@ }, { "inputs": [], - "name": "IDCAH_CollateralFSMInvalidValue", + "name": "CAH_CollateralFSMInvalidValue", "type": "error" }, { "inputs": [], - "name": "IDCAH_DustyAuction", + "name": "CAH_DustyAuction", "type": "error" }, { "inputs": [], - "name": "IDCAH_InexistentAuction", + "name": "CAH_InexistentAuction", "type": "error" }, { "inputs": [], - "name": "IDCAH_InvalidBid", + "name": "CAH_InvalidBid", "type": "error" }, { "inputs": [], - "name": "IDCAH_InvalidLeftToRaise", + "name": "CAH_InvalidLeftToRaise", "type": "error" }, { "inputs": [], - "name": "IDCAH_InvalidRedemptionPriceProvided", + "name": "CAH_InvalidRedemptionPriceProvided", "type": "error" }, { "inputs": [], - "name": "IDCAH_NoCollateralForSale", + "name": "CAH_NoCollateralForSale", "type": "error" }, { "inputs": [], - "name": "IDCAH_NothingToRaise", + "name": "CAH_NothingToRaise", "type": "error" }, { "inputs": [], - "name": "IDCAH_NullBoughtAmount", + "name": "CAH_NullBoughtAmount", "type": "error" }, { @@ -54,6 +139,59 @@ "name": "NotAuthorized", "type": "error" }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_x", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_y", + "type": "uint256" + } + ], + "name": "NotGreaterOrEqualThan", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_x", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_y", + "type": "uint256" + } + ], + "name": "NotGreaterThan", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_x", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_y", + "type": "uint256" + } + ], + "name": "NotLesserOrEqualThan", + "type": "error" + }, + { + "inputs": [], + "name": "NullAddress", + "type": "error" + }, { "inputs": [], "name": "Unauthorized", @@ -61,7 +199,7 @@ }, { "inputs": [], - "name": "UnrecognizedCollateralType", + "name": "UnrecognizedCType", "type": "error" }, { @@ -91,16 +229,28 @@ "name": "_id", "type": "uint256" }, + { + "indexed": true, + "internalType": "address", + "name": "_bidder", + "type": "address" + }, { "indexed": false, "internalType": "uint256", - "name": "_wad", + "name": "_blockTimestamp", "type": "uint256" }, { "indexed": false, "internalType": "uint256", - "name": "_boughtCollateral", + "name": "_raisedAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_soldAmount", "type": "uint256" } ], @@ -154,6 +304,18 @@ "name": "_id", "type": "uint256" }, + { + "indexed": false, + "internalType": "uint256", + "name": "_blockTimestamp", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "_leftoverReceiver", + "type": "address" + }, { "indexed": false, "internalType": "uint256", @@ -168,7 +330,7 @@ "anonymous": false, "inputs": [ { - "indexed": false, + "indexed": true, "internalType": "uint256", "name": "_id", "type": "uint256" @@ -176,7 +338,7 @@ { "indexed": false, "internalType": "uint256", - "name": "_auctionsStarted", + "name": "_blockTimestamp", "type": "uint256" }, { @@ -188,19 +350,13 @@ { "indexed": false, "internalType": "uint256", - "name": "_initialBid", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", "name": "_amountToRaise", "type": "uint256" }, { "indexed": false, "internalType": "uint256", - "name": "_startingDiscount", + "name": "_initialDiscount", "type": "uint256" }, { @@ -214,18 +370,6 @@ "internalType": "uint256", "name": "_perSecondDiscountUpdateRate", "type": "uint256" - }, - { - "indexed": true, - "internalType": "address", - "name": "_forgoneCollateralReceiver", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_auctionIncomeRecipient", - "type": "address" } ], "name": "StartAuction", @@ -240,22 +384,169 @@ "name": "_id", "type": "uint256" }, + { + "indexed": false, + "internalType": "uint256", + "name": "_blockTimestamp", + "type": "uint256" + }, { "indexed": false, "internalType": "address", - "name": "_sender", + "name": "_leftoverReceiver", "type": "address" }, { "indexed": false, "internalType": "uint256", - "name": "_collateralAmount", + "name": "_leftoverCollateral", "type": "uint256" } ], "name": "TerminateAuctionPrematurely", "type": "event" }, + { + "inputs": [], + "name": "AUCTION_HOUSE_TYPE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "AUCTION_TYPE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_auctionId", + "type": "uint256" + } + ], + "name": "_auctions", + "outputs": [ + { + "internalType": "uint256", + "name": "amountToSell", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountToRaise", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "currentDiscount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxDiscount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "perSecondDiscountUpdateRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "latestDiscountUpdateTime", + "type": "uint256" + }, + { + "internalType": "address", + "name": "forgoneCollateralReceiver", + "type": "address" + }, + { + "internalType": "address", + "name": "auctionIncomeRecipient", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_cParams", + "outputs": [ + { + "internalType": "uint256", + "name": "minimumBid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minDiscount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxDiscount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "perSecondDiscountUpdateRate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lowerCollateralDeviation", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "upperCollateralDeviation", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_params", + "outputs": [ + { + "internalType": "uint256", + "name": "_minSystemCoinDeviation", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_lowerSystemCoinDeviation", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_upperSystemCoinDeviation", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -281,7 +572,7 @@ "outputs": [ { "internalType": "uint256", - "name": "_rad", + "name": "_amountToRaise", "type": "uint256" } ], @@ -341,7 +632,7 @@ "type": "address" } ], - "internalType": "struct IIncreasingDiscountCollateralAuctionHouse.Auction", + "internalType": "struct ICollateralAuctionHouse.Auction", "name": "_auction", "type": "tuple" } @@ -355,7 +646,7 @@ "outputs": [ { "internalType": "uint256", - "name": "_auctionsStarted", + "name": "", "type": "uint256" } ], @@ -398,7 +689,7 @@ "inputs": [ { "internalType": "uint256", - "name": "_id", + "name": "", "type": "uint256" } ], @@ -406,11 +697,11 @@ "outputs": [ { "internalType": "uint256", - "name": "_rad", + "name": "_bidAmount", "type": "uint256" } ], - "stateMutability": "view", + "stateMutability": "pure", "type": "function" }, { @@ -468,8 +759,8 @@ "type": "uint256" } ], - "internalType": "struct IIncreasingDiscountCollateralAuctionHouse.CollateralAuctionHouseParams", - "name": "_cParams", + "internalType": "struct ICollateralAuctionHouse.CollateralAuctionHouseParams", + "name": "_cahCParams", "type": "tuple" } ], @@ -482,7 +773,7 @@ "outputs": [ { "internalType": "bytes32", - "name": "_collateralType", + "name": "", "type": "bytes32" } ], @@ -501,7 +792,7 @@ "outputs": [ { "internalType": "address", - "name": "_receiver", + "name": "_forgoneCollateralReceiver", "type": "address" } ], @@ -554,12 +845,12 @@ "outputs": [ { "internalType": "uint256", - "name": "_collateralFsmPriceFeedValue", + "name": "_boughtCollateral", "type": "uint256" }, { "internalType": "uint256", - "name": "_systemCoinPriceFeedValue", + "name": "_adjustedBid", "type": "uint256" } ], @@ -583,12 +874,12 @@ "outputs": [ { "internalType": "uint256", - "name": "_collateralFsmPriceFeedValue", + "name": "_boughtCollateral", "type": "uint256" }, { "internalType": "uint256", - "name": "_systemCoinPriceFeedValue", + "name": "_adjustedBid", "type": "uint256" } ], @@ -790,7 +1081,7 @@ "outputs": [ { "internalType": "uint256", - "name": "_lastReadRedemptionPrice", + "name": "", "type": "uint256" } ], @@ -803,7 +1094,7 @@ "outputs": [ { "internalType": "contract ILiquidationEngine", - "name": "_liquidationEngine", + "name": "__liquidationEngine", "type": "address" } ], @@ -857,7 +1148,7 @@ "outputs": [ { "internalType": "contract IOracleRelayer", - "name": "_oracleRelayer", + "name": "__oracleRelayer", "type": "address" } ], @@ -886,8 +1177,8 @@ "type": "uint256" } ], - "internalType": "struct IIncreasingDiscountCollateralAuctionHouse.CollateralAuctionHouseSystemCoinParams", - "name": "_params", + "internalType": "struct ICollateralAuctionHouse.CollateralAuctionHouseSystemCoinParams", + "name": "_cahParams", "type": "tuple" } ], @@ -898,7 +1189,7 @@ "inputs": [ { "internalType": "uint256", - "name": "_id", + "name": "", "type": "uint256" } ], @@ -906,11 +1197,11 @@ "outputs": [ { "internalType": "uint256", - "name": "_rad", + "name": "_raisedAmount", "type": "uint256" } ], - "stateMutability": "view", + "stateMutability": "pure", "type": "function" }, { @@ -925,7 +1216,7 @@ "outputs": [ { "internalType": "uint256", - "name": "_wad", + "name": "_remainingAmountToSell", "type": "uint256" } ], @@ -951,7 +1242,7 @@ "outputs": [ { "internalType": "contract ISAFEEngine", - "name": "_safeEngine", + "name": "", "type": "address" } ], @@ -962,13 +1253,13 @@ "inputs": [ { "internalType": "uint256", - "name": "_id", + "name": "", "type": "uint256" } ], "name": "settleAuction", "outputs": [], - "stateMutability": "nonpayable", + "stateMutability": "pure", "type": "function" }, { @@ -1014,7 +1305,7 @@ "inputs": [ { "internalType": "uint256", - "name": "_auctionId", + "name": "_id", "type": "uint256" } ], diff --git a/abis/DebtAuctionHouse.json b/abis/DebtAuctionHouse.json index 0716fa8..9d601c9 100644 --- a/abis/DebtAuctionHouse.json +++ b/abis/DebtAuctionHouse.json @@ -3,25 +3,142 @@ "inputs": [ { "internalType": "address", - "name": "safeEngine_", + "name": "_safeEngine", "type": "address" }, { "internalType": "address", - "name": "protocolToken_", + "name": "_protocolToken", "type": "address" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "bidDecrease", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountSoldIncrease", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bidDuration", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalAuctionLength", + "type": "uint256" + } + ], + "internalType": "struct IDebtAuctionHouse.DebtAuctionHouseParams", + "name": "_dahParams", + "type": "tuple" } ], "stateMutability": "nonpayable", "type": "constructor" }, + { + "inputs": [], + "name": "AlreadyAuthorized", + "type": "error" + }, + { + "inputs": [], + "name": "ContractIsDisabled", + "type": "error" + }, + { + "inputs": [], + "name": "ContractIsEnabled", + "type": "error" + }, + { + "inputs": [], + "name": "DAH_AmountBoughtNotLower", + "type": "error" + }, + { + "inputs": [], + "name": "DAH_AuctionAlreadyExpired", + "type": "error" + }, + { + "inputs": [], + "name": "DAH_AuctionNeverStarted", + "type": "error" + }, + { + "inputs": [], + "name": "DAH_AuctionNotFinished", + "type": "error" + }, + { + "inputs": [], + "name": "DAH_BidAlreadyExpired", + "type": "error" + }, + { + "inputs": [], + "name": "DAH_BidAlreadyPlaced", + "type": "error" + }, + { + "inputs": [], + "name": "DAH_HighBidderNotSet", + "type": "error" + }, + { + "inputs": [], + "name": "DAH_InsufficientDecrease", + "type": "error" + }, + { + "inputs": [], + "name": "DAH_NotMatchingBid", + "type": "error" + }, + { + "inputs": [], + "name": "NonDisableable", + "type": "error" + }, + { + "inputs": [], + "name": "NotAuthorized", + "type": "error" + }, + { + "inputs": [], + "name": "NullAddress", + "type": "error" + }, + { + "inputs": [], + "name": "Unauthorized", + "type": "error" + }, + { + "inputs": [], + "name": "UnrecognizedCType", + "type": "error" + }, + { + "inputs": [], + "name": "UnrecognizedParam", + "type": "error" + }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", - "name": "account", + "name": "_account", "type": "address" } ], @@ -34,31 +151,37 @@ { "indexed": true, "internalType": "uint256", - "name": "id", + "name": "_id", "type": "uint256" }, { "indexed": false, "internalType": "address", - "name": "highBidder", + "name": "_bidder", "type": "address" }, { "indexed": false, "internalType": "uint256", - "name": "amountToBuy", + "name": "_blockTimestamp", "type": "uint256" }, { "indexed": false, "internalType": "uint256", - "name": "bid", + "name": "_raisedAmount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", - "name": "bidExpiry", + "name": "_soldAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_bidExpiry", "type": "uint256" } ], @@ -67,14 +190,7 @@ }, { "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], + "inputs": [], "name": "DisableContract", "type": "event" }, @@ -82,35 +198,22 @@ "anonymous": false, "inputs": [ { - "indexed": false, + "indexed": true, "internalType": "bytes32", - "name": "parameter", + "name": "_param", "type": "bytes32" }, { - "indexed": false, - "internalType": "uint256", - "name": "data", - "type": "uint256" - } - ], - "name": "ModifyParameters", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, + "indexed": true, "internalType": "bytes32", - "name": "parameter", + "name": "_cType", "type": "bytes32" }, { "indexed": false, - "internalType": "address", - "name": "data", - "type": "address" + "internalType": "bytes", + "name": "_data", + "type": "bytes" } ], "name": "ModifyParameters", @@ -122,7 +225,7 @@ { "indexed": false, "internalType": "address", - "name": "account", + "name": "_account", "type": "address" } ], @@ -135,13 +238,19 @@ { "indexed": true, "internalType": "uint256", - "name": "id", + "name": "_id", "type": "uint256" }, { "indexed": false, "internalType": "uint256", - "name": "auctionDeadline", + "name": "_blockTimestamp", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_auctionDeadline", "type": "uint256" } ], @@ -154,13 +263,25 @@ { "indexed": true, "internalType": "uint256", - "name": "id", + "name": "_id", "type": "uint256" }, { "indexed": false, "internalType": "uint256", - "name": "activeDebtAuctions", + "name": "_blockTimestamp", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "_highBidder", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_raisedAmount", "type": "uint256" } ], @@ -173,43 +294,31 @@ { "indexed": true, "internalType": "uint256", - "name": "id", + "name": "_id", "type": "uint256" }, { "indexed": false, "internalType": "uint256", - "name": "auctionsStarted", + "name": "_blockTimestamp", "type": "uint256" }, { "indexed": false, "internalType": "uint256", - "name": "amountToSell", + "name": "_amountToSell", "type": "uint256" }, { "indexed": false, "internalType": "uint256", - "name": "initialBid", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "address", - "name": "incomeReceiver", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "auctionDeadline", + "name": "_amountToRaise", "type": "uint256" }, { "indexed": false, "internalType": "uint256", - "name": "activeDebtAuctions", + "name": "_auctionDeadline", "type": "uint256" } ], @@ -222,145 +331,271 @@ { "indexed": true, "internalType": "uint256", - "name": "id", + "name": "_id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_blockTimestamp", "type": "uint256" }, { "indexed": false, "internalType": "address", - "name": "sender", + "name": "_highBidder", "type": "address" }, { "indexed": false, + "internalType": "uint256", + "name": "_raisedAmount", + "type": "uint256" + } + ], + "name": "TerminateAuctionPrematurely", + "type": "event" + }, + { + "inputs": [], + "name": "AUCTION_HOUSE_TYPE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "_auctions", + "outputs": [ + { + "internalType": "uint256", + "name": "bidAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountToSell", + "type": "uint256" + }, + { "internalType": "address", "name": "highBidder", "type": "address" }, { - "indexed": false, "internalType": "uint256", - "name": "bidAmount", + "name": "bidExpiry", "type": "uint256" }, { - "indexed": false, "internalType": "uint256", - "name": "activeDebtAuctions", + "name": "auctionDeadline", "type": "uint256" } ], - "name": "TerminateAuctionPrematurely", - "type": "event" + "stateMutability": "view", + "type": "function" }, { "inputs": [], - "name": "AUCTION_HOUSE_TYPE", - "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "name": "_params", + "outputs": [ + { + "internalType": "uint256", + "name": "bidDecrease", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountSoldIncrease", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bidDuration", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalAuctionLength", + "type": "uint256" + } + ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "accountingEngine", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "activeDebtAuctions", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], "stateMutability": "view", "type": "function" }, { - "inputs": [{ "internalType": "address", "name": "account", "type": "address" }], + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], "name": "addAuthorization", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { - "inputs": [], - "name": "amountSoldIncrease", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "inputs": [ + { + "internalType": "uint256", + "name": "_id", + "type": "uint256" + } + ], + "name": "auctions", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "bidAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountToSell", + "type": "uint256" + }, + { + "internalType": "address", + "name": "highBidder", + "type": "address" + }, + { + "internalType": "uint256", + "name": "bidExpiry", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "auctionDeadline", + "type": "uint256" + } + ], + "internalType": "struct IDebtAuctionHouse.Auction", + "name": "_auction", + "type": "tuple" + } + ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "auctionsStarted", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], "stateMutability": "view", "type": "function" }, { - "inputs": [{ "internalType": "address", "name": "", "type": "address" }], + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], "name": "authorizedAccounts", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "outputs": [ + { + "internalType": "bool", + "name": "_authorized", + "type": "bool" + } + ], "stateMutability": "view", "type": "function" }, { "inputs": [], - "name": "bidDecrease", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "name": "authorizedAccounts", + "outputs": [ + { + "internalType": "address[]", + "name": "_accounts", + "type": "address[]" + } + ], "stateMutability": "view", "type": "function" }, { "inputs": [], - "name": "bidDuration", - "outputs": [{ "internalType": "uint48", "name": "", "type": "uint48" }], + "name": "contractEnabled", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], "stateMutability": "view", "type": "function" }, { - "inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "name": "bids", - "outputs": [ + "inputs": [ { "internalType": "uint256", - "name": "bidAmount", + "name": "_id", "type": "uint256" }, { "internalType": "uint256", - "name": "amountToSell", + "name": "_amountToBuy", "type": "uint256" }, - { - "internalType": "address", - "name": "highBidder", - "type": "address" - }, - { "internalType": "uint48", "name": "bidExpiry", "type": "uint48" }, - { - "internalType": "uint48", - "name": "auctionDeadline", - "type": "uint48" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "contractEnabled", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint256", - "name": "amountToBuy", + "name": "_bid", "type": "uint256" - }, - { "internalType": "uint256", "name": "bid", "type": "uint256" } + } ], "name": "decreaseSoldAmount", "outputs": [], @@ -378,10 +613,19 @@ "inputs": [ { "internalType": "bytes32", - "name": "parameter", + "name": "_cType", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "_param", "type": "bytes32" }, - { "internalType": "address", "name": "addr", "type": "address" } + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } ], "name": "modifyParameters", "outputs": [], @@ -392,22 +636,61 @@ "inputs": [ { "internalType": "bytes32", - "name": "parameter", + "name": "_param", "type": "bytes32" }, - { "internalType": "uint256", "name": "data", "type": "uint256" } + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } ], "name": "modifyParameters", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [], + "name": "params", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "bidDecrease", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountSoldIncrease", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bidDuration", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalAuctionLength", + "type": "uint256" + } + ], + "internalType": "struct IDebtAuctionHouse.DebtAuctionHouseParams", + "name": "_dahParams", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [], "name": "protocolToken", "outputs": [ { - "internalType": "contract TokenLike", + "internalType": "contract IProtocolToken", "name": "", "type": "address" } @@ -416,14 +699,26 @@ "type": "function" }, { - "inputs": [{ "internalType": "address", "name": "account", "type": "address" }], + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], "name": "removeAuthorization", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { - "inputs": [{ "internalType": "uint256", "name": "id", "type": "uint256" }], + "inputs": [ + { + "internalType": "uint256", + "name": "_id", + "type": "uint256" + } + ], "name": "restartAuction", "outputs": [], "stateMutability": "nonpayable", @@ -434,7 +729,7 @@ "name": "safeEngine", "outputs": [ { - "internalType": "contract SAFEEngineLike", + "internalType": "contract ISAFEEngine", "name": "", "type": "address" } @@ -443,7 +738,13 @@ "type": "function" }, { - "inputs": [{ "internalType": "uint256", "name": "id", "type": "uint256" }], + "inputs": [ + { + "internalType": "uint256", + "name": "_id", + "type": "uint256" + } + ], "name": "settleAuction", "outputs": [], "stateMutability": "nonpayable", @@ -453,37 +754,42 @@ "inputs": [ { "internalType": "address", - "name": "incomeReceiver", + "name": "_incomeReceiver", "type": "address" }, { "internalType": "uint256", - "name": "amountToSell", + "name": "_amountToSell", "type": "uint256" }, { "internalType": "uint256", - "name": "initialBid", + "name": "_initialBid", "type": "uint256" } ], "name": "startAuction", - "outputs": [{ "internalType": "uint256", "name": "id", "type": "uint256" }], + "outputs": [ + { + "internalType": "uint256", + "name": "_id", + "type": "uint256" + } + ], "stateMutability": "nonpayable", "type": "function" }, { - "inputs": [{ "internalType": "uint256", "name": "id", "type": "uint256" }], + "inputs": [ + { + "internalType": "uint256", + "name": "_id", + "type": "uint256" + } + ], "name": "terminateAuctionPrematurely", "outputs": [], "stateMutability": "nonpayable", "type": "function" - }, - { - "inputs": [], - "name": "totalAuctionLength", - "outputs": [{ "internalType": "uint48", "name": "", "type": "uint48" }], - "stateMutability": "view", - "type": "function" } ] diff --git a/abis/FixedDiscountCollateralAuctionHouse.json b/abis/FixedDiscountCollateralAuctionHouse.json deleted file mode 100644 index 90e8886..0000000 --- a/abis/FixedDiscountCollateralAuctionHouse.json +++ /dev/null @@ -1,716 +0,0 @@ -[ - { - "inputs": [ - { - "internalType": "address", - "name": "safeEngine_", - "type": "address" - }, - { - "internalType": "address", - "name": "liquidationEngine_", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "collateralType_", - "type": "bytes32" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "AddAuthorization", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "wad", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "boughtCollateral", - "type": "uint256" - } - ], - "name": "BuyCollateral", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "parameter", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "data", - "type": "uint256" - } - ], - "name": "ModifyParameters", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "parameter", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "data", - "type": "address" - } - ], - "name": "ModifyParameters", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "RemoveAuthorization", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "leftoverCollateral", - "type": "uint256" - } - ], - "name": "SettleAuction", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "auctionsStarted", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amountToSell", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "initialBid", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "amountToRaise", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "address", - "name": "forgoneCollateralReceiver", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "auctionIncomeRecipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "auctionDeadline", - "type": "uint256" - } - ], - "name": "StartAuction", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "collateralAmount", - "type": "uint256" - } - ], - "name": "TerminateAuctionPrematurely", - "type": "event" - }, - { - "inputs": [], - "name": "AUCTION_HOUSE_TYPE", - "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "AUCTION_TYPE", - "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "account", "type": "address" }], - "name": "addAuthorization", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "id", "type": "uint256" }], - "name": "amountToRaise", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "auctionsStarted", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "", "type": "address" }], - "name": "authorizedAccounts", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "id", "type": "uint256" }], - "name": "bidAmount", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "name": "bids", - "outputs": [ - { - "internalType": "uint256", - "name": "raisedAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "soldAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amountToSell", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amountToRaise", - "type": "uint256" - }, - { - "internalType": "uint48", - "name": "auctionDeadline", - "type": "uint48" - }, - { - "internalType": "address", - "name": "forgoneCollateralReceiver", - "type": "address" - }, - { - "internalType": "address", - "name": "auctionIncomeRecipient", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "id", "type": "uint256" }, - { "internalType": "uint256", "name": "wad", "type": "uint256" } - ], - "name": "buyCollateral", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "collateralFSM", - "outputs": [ - { - "internalType": "contract OracleLike", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "collateralType", - "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "discount", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "id", "type": "uint256" }], - "name": "forgoneCollateralReceiver", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "id", "type": "uint256" }, - { "internalType": "uint256", "name": "wad", "type": "uint256" } - ], - "name": "getAdjustedBid", - "outputs": [ - { "internalType": "bool", "name": "", "type": "bool" }, - { "internalType": "uint256", "name": "", "type": "uint256" } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "id", "type": "uint256" }, - { "internalType": "uint256", "name": "wad", "type": "uint256" } - ], - "name": "getApproximateCollateralBought", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" }, - { "internalType": "uint256", "name": "", "type": "uint256" } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "id", "type": "uint256" }, - { "internalType": "uint256", "name": "wad", "type": "uint256" } - ], - "name": "getCollateralBought", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" }, - { "internalType": "uint256", "name": "", "type": "uint256" } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "systemCoinRedemptionPrice", - "type": "uint256" - } - ], - "name": "getCollateralFSMAndFinalSystemCoinPrices", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" }, - { "internalType": "uint256", "name": "", "type": "uint256" } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getCollateralMedianPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "priceFeed", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "collateralFsmPriceFeedValue", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "collateralMedianPriceFeedValue", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "systemCoinPriceFeedValue", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "customDiscount", - "type": "uint256" - } - ], - "name": "getDiscountedCollateralPrice", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "collateralFsmPriceFeedValue", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "collateralMedianPriceFeedValue", - "type": "uint256" - } - ], - "name": "getFinalBaseCollateralPrice", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "redemptionPrice", - "type": "uint256" - } - ], - "name": "getSystemCoinCeilingDeviatedPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "ceilingPrice", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "redemptionPrice", - "type": "uint256" - } - ], - "name": "getSystemCoinFloorDeviatedPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "floorPrice", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getSystemCoinMarketPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "priceFeed", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lastReadRedemptionPrice", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "liquidationEngine", - "outputs": [ - { - "internalType": "contract LiquidationEngineLike", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lowerCollateralMedianDeviation", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lowerSystemCoinMedianDeviation", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "minSystemCoinMedianDeviation", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "minimumBid", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "parameter", - "type": "bytes32" - }, - { "internalType": "address", "name": "data", "type": "address" } - ], - "name": "modifyParameters", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "parameter", - "type": "bytes32" - }, - { "internalType": "uint256", "name": "data", "type": "uint256" } - ], - "name": "modifyParameters", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "oracleRelayer", - "outputs": [ - { - "internalType": "contract OracleRelayerLike", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "id", "type": "uint256" }], - "name": "raisedAmount", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "id", "type": "uint256" }], - "name": "remainingAmountToSell", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "account", "type": "address" }], - "name": "removeAuthorization", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "safeEngine", - "outputs": [ - { - "internalType": "contract SAFEEngineLike", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "id", "type": "uint256" }], - "name": "settleAuction", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "forgoneCollateralReceiver", - "type": "address" - }, - { - "internalType": "address", - "name": "auctionIncomeRecipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountToRaise", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amountToSell", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "initialBid", - "type": "uint256" - } - ], - "name": "startAuction", - "outputs": [{ "internalType": "uint256", "name": "id", "type": "uint256" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "systemCoinOracle", - "outputs": [ - { - "internalType": "contract OracleLike", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "id", "type": "uint256" }], - "name": "terminateAuctionPrematurely", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "totalAuctionLength", - "outputs": [{ "internalType": "uint48", "name": "", "type": "uint48" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "upperCollateralMedianDeviation", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "upperSystemCoinMedianDeviation", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - } -] diff --git a/abis/RecyclingSurplusAuctionHouse.json b/abis/RecyclingSurplusAuctionHouse.json deleted file mode 100644 index 5be203b..0000000 --- a/abis/RecyclingSurplusAuctionHouse.json +++ /dev/null @@ -1,446 +0,0 @@ -[ - { - "inputs": [ - { - "internalType": "address", - "name": "safeEngine_", - "type": "address" - }, - { - "internalType": "address", - "name": "protocolToken_", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "AddAuthorization", - "type": "event" - }, - { - "anonymous": false, - "inputs": [], - "name": "DisableContract", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "highBidder", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amountToBuy", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "bid", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "bidExpiry", - "type": "uint256" - } - ], - "name": "IncreaseBidSize", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "parameter", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "data", - "type": "uint256" - } - ], - "name": "ModifyParameters", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "parameter", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "addr", - "type": "address" - } - ], - "name": "ModifyParameters", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "RemoveAuthorization", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "auctionDeadline", - "type": "uint256" - } - ], - "name": "RestartAuction", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "SettleAuction", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "auctionsStarted", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amountToSell", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "initialBid", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "auctionDeadline", - "type": "uint256" - } - ], - "name": "StartAuction", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "highBidder", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "bidAmount", - "type": "uint256" - } - ], - "name": "TerminateAuctionPrematurely", - "type": "event" - }, - { - "inputs": [], - "name": "AUCTION_HOUSE_TYPE", - "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "SURPLUS_AUCTION_TYPE", - "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "account", "type": "address" }], - "name": "addAuthorization", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "auctionsStarted", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "", "type": "address" }], - "name": "authorizedAccounts", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "bidDuration", - "outputs": [{ "internalType": "uint48", "name": "", "type": "uint48" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "bidIncrease", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "name": "bids", - "outputs": [ - { - "internalType": "uint256", - "name": "bidAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amountToSell", - "type": "uint256" - }, - { - "internalType": "address", - "name": "highBidder", - "type": "address" - }, - { "internalType": "uint48", "name": "bidExpiry", "type": "uint48" }, - { - "internalType": "uint48", - "name": "auctionDeadline", - "type": "uint48" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "contractEnabled", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "disableContract", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "id", "type": "uint256" }, - { - "internalType": "uint256", - "name": "amountToBuy", - "type": "uint256" - }, - { "internalType": "uint256", "name": "bid", "type": "uint256" } - ], - "name": "increaseBidSize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "parameter", - "type": "bytes32" - }, - { "internalType": "address", "name": "addr", "type": "address" } - ], - "name": "modifyParameters", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "parameter", - "type": "bytes32" - }, - { "internalType": "uint256", "name": "data", "type": "uint256" } - ], - "name": "modifyParameters", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "protocolToken", - "outputs": [ - { - "internalType": "contract TokenLike", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "protocolTokenBidReceiver", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "account", "type": "address" }], - "name": "removeAuthorization", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "id", "type": "uint256" }], - "name": "restartAuction", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "safeEngine", - "outputs": [ - { - "internalType": "contract SAFEEngineLike", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "id", "type": "uint256" }], - "name": "settleAuction", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amountToSell", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "initialBid", - "type": "uint256" - } - ], - "name": "startAuction", - "outputs": [{ "internalType": "uint256", "name": "id", "type": "uint256" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "id", "type": "uint256" }], - "name": "terminateAuctionPrematurely", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "totalAuctionLength", - "outputs": [{ "internalType": "uint48", "name": "", "type": "uint48" }], - "stateMutability": "view", - "type": "function" - } -] diff --git a/abis/SurplusAuctionHouse.json b/abis/SurplusAuctionHouse.json new file mode 100644 index 0000000..b980bac --- /dev/null +++ b/abis/SurplusAuctionHouse.json @@ -0,0 +1,10454 @@ +{ + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_safeEngine", + "type": "address" + }, + { + "internalType": "address", + "name": "_protocolToken", + "type": "address" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "bidIncrease", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bidDuration", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalAuctionLength", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "recyclingPercentage", + "type": "uint256" + } + ], + "internalType": "struct ISurplusAuctionHouse.SurplusAuctionHouseParams", + "name": "_sahParams", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "AlreadyAuthorized", + "type": "error" + }, + { + "inputs": [], + "name": "ContractIsDisabled", + "type": "error" + }, + { + "inputs": [], + "name": "ContractIsEnabled", + "type": "error" + }, + { + "inputs": [], + "name": "NonDisableable", + "type": "error" + }, + { + "inputs": [], + "name": "NotAuthorized", + "type": "error" + }, + { + "inputs": [], + "name": "NullAddress", + "type": "error" + }, + { + "inputs": [], + "name": "SAH_AmountsNotMatching", + "type": "error" + }, + { + "inputs": [], + "name": "SAH_AuctionAlreadyExpired", + "type": "error" + }, + { + "inputs": [], + "name": "SAH_AuctionNeverStarted", + "type": "error" + }, + { + "inputs": [], + "name": "SAH_AuctionNotFinished", + "type": "error" + }, + { + "inputs": [], + "name": "SAH_BidAlreadyExpired", + "type": "error" + }, + { + "inputs": [], + "name": "SAH_BidAlreadyPlaced", + "type": "error" + }, + { + "inputs": [], + "name": "SAH_BidNotHigher", + "type": "error" + }, + { + "inputs": [], + "name": "SAH_HighBidderNotSet", + "type": "error" + }, + { + "inputs": [], + "name": "SAH_InsufficientIncrease", + "type": "error" + }, + { + "inputs": [], + "name": "SAH_NullProtTokenReceiver", + "type": "error" + }, + { + "inputs": [], + "name": "Unauthorized", + "type": "error" + }, + { + "inputs": [], + "name": "UnrecognizedCType", + "type": "error" + }, + { + "inputs": [], + "name": "UnrecognizedParam", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "AddAuthorization", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "DisableContract", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "_id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "_bidder", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_blockTimestamp", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_raisedAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_soldAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_bidExpiry", + "type": "uint256" + } + ], + "name": "IncreaseBidSize", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "_param", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "_cType", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "ModifyParameters", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "RemoveAuthorization", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "_id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_blockTimestamp", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_auctionDeadline", + "type": "uint256" + } + ], + "name": "RestartAuction", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "_id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_blockTimestamp", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "_highBidder", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_raisedAmount", + "type": "uint256" + } + ], + "name": "SettleAuction", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "_id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_blockTimestamp", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amountToSell", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amountToRaise", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_auctionDeadline", + "type": "uint256" + } + ], + "name": "StartAuction", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "_id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_blockTimestamp", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "_highBidder", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_raisedAmount", + "type": "uint256" + } + ], + "name": "TerminateAuctionPrematurely", + "type": "event" + }, + { + "inputs": [], + "name": "AUCTION_HOUSE_TYPE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "SURPLUS_AUCTION_TYPE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "_auctions", + "outputs": [ + { + "internalType": "uint256", + "name": "bidAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountToSell", + "type": "uint256" + }, + { + "internalType": "address", + "name": "highBidder", + "type": "address" + }, + { + "internalType": "uint256", + "name": "bidExpiry", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "auctionDeadline", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_params", + "outputs": [ + { + "internalType": "uint256", + "name": "bidIncrease", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bidDuration", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalAuctionLength", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "recyclingPercentage", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "addAuthorization", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_id", + "type": "uint256" + } + ], + "name": "auctions", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "bidAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountToSell", + "type": "uint256" + }, + { + "internalType": "address", + "name": "highBidder", + "type": "address" + }, + { + "internalType": "uint256", + "name": "bidExpiry", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "auctionDeadline", + "type": "uint256" + } + ], + "internalType": "struct ISurplusAuctionHouse.Auction", + "name": "_auction", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "auctionsStarted", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "authorizedAccounts", + "outputs": [ + { + "internalType": "bool", + "name": "_authorized", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "authorizedAccounts", + "outputs": [ + { + "internalType": "address[]", + "name": "_accounts", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "contractEnabled", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "disableContract", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_amountToBuy", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_bid", + "type": "uint256" + } + ], + "name": "increaseBidSize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_cType", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "_param", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "modifyParameters", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_param", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "modifyParameters", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "params", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "bidIncrease", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bidDuration", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalAuctionLength", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "recyclingPercentage", + "type": "uint256" + } + ], + "internalType": "struct ISurplusAuctionHouse.SurplusAuctionHouseParams", + "name": "_sahParams", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "protocolToken", + "outputs": [ + { + "internalType": "contract IProtocolToken", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "protocolTokenBidReceiver", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "removeAuthorization", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_id", + "type": "uint256" + } + ], + "name": "restartAuction", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "safeEngine", + "outputs": [ + { + "internalType": "contract ISAFEEngine", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_id", + "type": "uint256" + } + ], + "name": "settleAuction", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amountToSell", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_initialBid", + "type": "uint256" + } + ], + "name": "startAuction", + "outputs": [ + { + "internalType": "uint256", + "name": "_id", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_id", + "type": "uint256" + } + ], + "name": "terminateAuctionPrematurely", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": { + "object": "0x60806040526002805460ff191660011790553480156200001e57600080fd5b506040516200266c3803806200266c8339810160408190526200004191620001f9565b336200004d81620000d1565b50620000626001600160a01b0384166200013c565b600580546001600160a01b0319166001600160a01b039283161790556200008b9083166200013c565b600680546001600160a01b0319166001600160a01b0392909216919091179055805160085560208101516009556040810151600a556060810151600b55505050620002a7565b620000de6000826200016a565b1562000123576040516001600160a01b03821681527f599a298163e1678bb1c676052a8930bf0b8a1261ed6e01b8a2391e55f70001029060200160405180910390a150565b604051633013e93f60e11b815260040160405180910390fd5b60006001600160a01b038216620001665760405163e99d5ac560e01b815260040160405180910390fd5b5090565b600062000181836001600160a01b0384166200018a565b90505b92915050565b6000818152600183016020526040812054620001d35750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915562000184565b50600062000184565b80516001600160a01b0381168114620001f457600080fd5b919050565b600080600083850360c08112156200021057600080fd5b6200021b85620001dc565b93506200022b60208601620001dc565b92506080603f19820112156200024057600080fd5b50604051608081016001600160401b03811182821017156200027257634e487b7160e01b600052604160045260246000fd5b806040525060408501518152606085015160208201526080850151604082015260a08501516060820152809150509250925092565b6123b580620002b76000396000f3fe608060405234801561001057600080fd5b506004361061018d5760003560e01c8063552b16ab116100e3578063933f76081161008c578063d25ccf5311610066578063d25ccf53146104a9578063da8a4bb8146104bc578063f0ed4db0146104cf57600080fd5b8063933f76081461044857806394f3f81d1461045b578063cff0ab961461046e57600080fd5b8063619ed1f8116100bd578063619ed1f8146103f957806367aea31314610420578063894ba8331461044057600080fd5b8063552b16ab14610345578063571a26a01461037b5780635a93f031146103e657600080fd5b80632e3918761161014557806341b3a0d91161011f57806341b3a0d91461031c5780634fee13fc14610329578063551cb3b11461033c57600080fd5b80632e391876146102e15780632e993611146102f657806335b281531461030957600080fd5b806317dc6bf61161017657806317dc6bf6146101e15780631a465fe11461027957806324ba5884146102be57600080fd5b80631266fb941461019257806312f33526146101cc575b600080fd5b6101b97f535552504c55530000000000000000000000000000000000000000000000000081565b6040519081526020015b60405180910390f35b6101df6101da366004611fdc565b6104ef565b005b6102366101ef36600461202c565b6003602081905260009182526040909120805460018201546002830154938301546004909301549193909273ffffffffffffffffffffffffffffffffffffffff9091169185565b60408051958652602086019490945273ffffffffffffffffffffffffffffffffffffffff909216928401929092526060830191909152608082015260a0016101c3565b6006546102999073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101c3565b6102d16102cc366004612045565b61057a565b60405190151581526020016101c3565b6102e961058b565b6040516101c3919061207b565b6101df61030436600461202c565b61059c565b6101df610317366004612045565b6108bd565b6002546102d19060ff1681565b6101b96103373660046120d5565b610908565b6101b960045481565b600854600954600a54600b5461035b9392919084565b6040805194855260208501939093529183015260608201526080016101c3565b61038e61038936600461202c565b610b9f565b6040516101c39190600060a082019050825182526020830151602083015273ffffffffffffffffffffffffffffffffffffffff6040840151166040830152606083015160608301526080830151608083015292915050565b6101df6103f43660046120f7565b610c4b565b6101b97f4d495845442d535452415400000000000000000000000000000000000000000081565b6005546102999073ffffffffffffffffffffffffffffffffffffffff1681565b6101df610f65565b6101df61045636600461202c565b61103b565b6101df610469366004612045565b6111e8565b610476611230565b6040516101c391908151815260208083015190820152604080830151908201526060918201519181019190915260800190565b6101df6104b736600461202c565b611288565b6101df6104ca366004612123565b6113ae565b6007546102999073ffffffffffffffffffffffffffffffffffffffff1681565b6104f833611437565b61052e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8261053a848484611443565b83837fe436a8be7dc6aab90b400800ecc86e46fb600f2e18989b5d0389840fdabbf2ed8460405161056b91906121d8565b60405180910390a35b50505050565b600061058582611437565b92915050565b60606105976000611475565b905090565b60025460ff166105d8576040517f7abbf1c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081815260036020818152604092839020835160a08101855281548152600182015492810192909252600281015473ffffffffffffffffffffffffffffffffffffffff16938201939093529082015460608201819052600490920154608082015290158061065857504281606001511180156106585750428160800151115b1561068f576040517f8a9fdc6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600554604082810151602084015191517fefabcadc00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff918216602482015260448101929092529091169063efabcadc90606401600060405180830381600087803b15801561071457600080fd5b505af1158015610728573d6000803e3d6000fd5b5050600b5483516000935061073e925090611489565b90508015610770576007546006546107709173ffffffffffffffffffffffffffffffffffffffff9182169116836114a8565b815160009061078090839061221a565b9050801561080d576006546040517f42966c680000000000000000000000000000000000000000000000000000000081526004810183905273ffffffffffffffffffffffffffffffffffffffff909116906342966c6890602401600060405180830381600087803b1580156107f457600080fd5b505af1158015610808573d6000803e3d6000fd5b505050505b6040838101518451825142815273ffffffffffffffffffffffffffffffffffffffff909216602083015281830152905185917fce605a43280ed04bb2cf4231276a425e3650af62821a5e1f0c8daf63beba6c34919081900360600190a250505060009081526003602081905260408220828155600181018390556002810180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905590810182905560040155565b6108c633611437565b6108fc576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61090581611581565b50565b600061091333611437565b610949576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60025460ff16610985576040517f7abbf1c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60075473ffffffffffffffffffffffffffffffffffffffff161580156109ac5750600b5415155b156109e3576040517f12901a0d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004600081546109f29061222d565b91905081905590506040518060a001604052808381526020018481526020013373ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160086002015442610a459190612265565b905260008281526003602081815260409283902084518155908401516001820155838301516002820180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92831617905560608501519282019290925560809093015160049384015560055491517fefabcadc000000000000000000000000000000000000000000000000000000008152339381019390935230602484015260448301869052169063efabcadc90606401600060405180830381600087803b158015610b2757600080fd5b505af1158015610b3b573d6000803e3d6000fd5b505050600082815260036020908152604091829020600401548251428152918201879052818301869052606082015290518392507fa4863af70e77aecfe2769e0569806782ba7c6f86fc9a307290a3816fb8a563e59181900360800190a292915050565b610be76040518060a001604052806000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b50600090815260036020818152604092839020835160a08101855281548152600182015492810192909252600281015473ffffffffffffffffffffffffffffffffffffffff1693820193909352908201546060820152600490910154608082015290565b60025460ff16610c87576040517f7abbf1c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000838152600360205260409020600281015473ffffffffffffffffffffffffffffffffffffffff16610ce6576040517f3f7caeae00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b42816003015411158015610cfd5750600381015415155b15610d34576040517fc3e4393200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b42816004015411610d71576040517f9203423800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600101548314610dae576040517fbda58db600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80548211610de8576040517f88020a0a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8054600854610df79190612278565b610e09670de0b6b3a764000084612278565b1015610e41576040517fe08b005b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600281015473ffffffffffffffffffffffffffffffffffffffff163314610ec15760028101548154600654610e949273ffffffffffffffffffffffffffffffffffffffff91821692339290911690611610565b6002810180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555b610ef73330836000015485610ed6919061221a565b60065473ffffffffffffffffffffffffffffffffffffffff16929190611610565b818155600954610f079042612265565b600382018190556040805133815242602082015290810184905260608101859052608081019190915284907fbabed4bc302f25a2be9c3286529806aca3c81480ba4b26ee5512277c996e18e99060a00160405180910390a250505050565b610f6e33611437565b610fa4576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60025460ff16610fe0576040517f7abbf1c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905561101061166e565b6040517f2d4b4ecff7bd7503135271925520a2f6c0d98c9473ffc1a1e72c92502f51b25e90600090a1565b60025460ff1615611078576040517ff59a25d600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081815260036020818152604092839020835160a08101855281548152600182015492810192909252600281015473ffffffffffffffffffffffffffffffffffffffff1693820184905291820154606082015260049091015460808201529061110e576040517f3f7caeae00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040810151815160065461113a9273ffffffffffffffffffffffffffffffffffffffff909116916114a8565b6040818101518251825142815273ffffffffffffffffffffffffffffffffffffffff909216602083015281830152905183917f728fcceeefd42b7de1122fe9fef58c0bacd081dcbd7a141315835ba00d29b4b1919081900360600190a25060009081526003602081905260408220828155600181018390556002810180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905590810182905560040155565b6111f133611437565b611227576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61090581611795565b61125b6040518060800160405280600081526020016000815260200160008152602001600081525090565b506040805160808101825260085481526009546020820152600a5491810191909152600b54606082015290565b801580611296575060045481115b156112cd576040517f67374ccd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008181526003602052604090206004810154421015611319576040517f8a9fdc6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600381015415611355576040517f10cff0e800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600a546113629042612265565b6004820181905560405183917f52926b7e2fb12434af05e0b5e28d2b857fc6a23d92f7d7b8ebc6ec6b0fb4419e916113a291428252602082015260400190565b60405180910390a25050565b6113b733611437565b6113ed576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113f7828261181d565b6000801b827fe436a8be7dc6aab90b400800ecc86e46fb600f2e18989b5d0389840fdabbf2ed8360405161142b91906121d8565b60405180910390a35050565b6000610585818361197e565b6040517f9d2ff48000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60606000611482836119ad565b9392505050565b6000670de0b6b3a764000061149e8385612278565b611482919061228f565b60405173ffffffffffffffffffffffffffffffffffffffff831660248201526044810182905261157c9084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152611a09565b505050565b61158c600082611b1a565b156115de5760405173ffffffffffffffffffffffffffffffffffffffff821681527f599a298163e1678bb1c676052a8930bf0b8a1261ed6e01b8a2391e55f7000102906020015b60405180910390a150565b6040517f6027d27e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526105749085907f23b872dd00000000000000000000000000000000000000000000000000000000906084016114fa565b6005546040517ffabde80c00000000000000000000000000000000000000000000000000000000815230600482015260009173ffffffffffffffffffffffffffffffffffffffff169063fabde80c90602401602060405180830381865afa1580156116dd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061170191906122ca565b6005546040517fefabcadc0000000000000000000000000000000000000000000000000000000081523060048201523360248201526044810183905291925073ffffffffffffffffffffffffffffffffffffffff169063efabcadc90606401600060405180830381600087803b15801561177a57600080fd5b505af115801561178e573d6000803e3d6000fd5b5050505050565b6117a0600082611b3c565b156117eb5760405173ffffffffffffffffffffffffffffffffffffffff821681527f8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b903906020016115d3565b6040517fea8e4eb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061182a826020015190565b9050827f70726f746f636f6c546f6b656e42696452656365697665720000000000000000036118c65761187c611861836020015190565b73ffffffffffffffffffffffffffffffffffffffff16611b5e565b600780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055505050565b827f626964496e637265617365000000000000000000000000000000000000000000036118f4576008555050565b827f6269644475726174696f6e00000000000000000000000000000000000000000003611922576009555050565b827f746f74616c41756374696f6e4c656e67746800000000000000000000000000000361195057600a555050565b827f72656379636c696e6750657263656e74616765000000000000000000000000000361144357600b555050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001830160205260408120541515611482565b6060816000018054806020026020016040519081016040528092919081815260200182805480156119fd57602002820191906000526020600020905b8154815260200190600101908083116119e9575b50505050509050919050565b6000611a6b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611bb19092919063ffffffff16565b80519091501561157c5780806020019051810190611a8991906122e3565b61157c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b60006114828373ffffffffffffffffffffffffffffffffffffffff8416611bc8565b60006114828373ffffffffffffffffffffffffffffffffffffffff8416611c17565b600073ffffffffffffffffffffffffffffffffffffffff8216611bad576040517fe99d5ac500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5090565b6060611bc08484600085611d0a565b949350505050565b6000818152600183016020526040812054611c0f57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610585565b506000610585565b60008181526001830160205260408120548015611d00576000611c3b60018361221a565b8554909150600090611c4f9060019061221a565b9050818114611cb4576000866000018281548110611c6f57611c6f612305565b9060005260206000200154905080876000018481548110611c9257611c92612305565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611cc557611cc5612334565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610585565b6000915050610585565b606082471015611d9c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401611b11565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051611dc59190612363565b60006040518083038185875af1925050503d8060008114611e02576040519150601f19603f3d011682016040523d82523d6000602084013e611e07565b606091505b5091509150611e1887838387611e23565b979650505050505050565b60608315611eb9578251600003611eb25773ffffffffffffffffffffffffffffffffffffffff85163b611eb2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611b11565b5081611bc0565b611bc08383815115611ece5781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1191906121d8565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112611f4257600080fd5b813567ffffffffffffffff80821115611f5d57611f5d611f02565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715611fa357611fa3611f02565b81604052838152866020858801011115611fbc57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600060608486031215611ff157600080fd5b8335925060208401359150604084013567ffffffffffffffff81111561201657600080fd5b61202286828701611f31565b9150509250925092565b60006020828403121561203e57600080fd5b5035919050565b60006020828403121561205757600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461148257600080fd5b6020808252825182820181905260009190848201906040850190845b818110156120c957835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101612097565b50909695505050505050565b600080604083850312156120e857600080fd5b50508035926020909101359150565b60008060006060848603121561210c57600080fd5b505081359360208301359350604090920135919050565b6000806040838503121561213657600080fd5b82359150602083013567ffffffffffffffff81111561215457600080fd5b61216085828601611f31565b9150509250929050565b60005b8381101561218557818101518382015260200161216d565b50506000910152565b600081518084526121a681602086016020860161216a565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611482602083018461218e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81810381811115610585576105856121eb565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361225e5761225e6121eb565b5060010190565b80820180821115610585576105856121eb565b8082028115828204841417610585576105856121eb565b6000826122c5577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b6000602082840312156122dc57600080fd5b5051919050565b6000602082840312156122f557600080fd5b8151801515811461148257600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6000825161237581846020870161216a565b919091019291505056fea2646970667358221220a0ddaa19a37cbc08c8810098ab571d8cd863fee2e9a4e59f33adf4fa2d69549764736f6c63430008130033", + "sourceMap": "815:7292:59:-:0;;;274:34:114;;;-1:-1:-1;;274:34:114;304:4;274:34;;;2017:314:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2148:10;442:27:111;2148:10:59;442:17:111;:27::i;:::-;-1:-1:-1;2203:27:59::2;-1:-1:-1::0;;;;;2203:25:59;::::2;;:27::i;:::-;2178:10;:53:::0;;-1:-1:-1;;;;;;2178:53:59::2;-1:-1:-1::0;;;;;2178:53:59;;::::2;;::::0;;2268:30:::2;::::0;:28;::::2;;:30::i;:::-;2237:13;:62:::0;;-1:-1:-1;;;;;;2237:62:59::2;-1:-1:-1::0;;;;;2237:62:59;;;::::2;::::0;;;::::2;::::0;;2306:20;;:7:::2;:20:::0;::::2;::::0;::::2;::::0;;;::::2;::::0;::::2;::::0;;;::::2;::::0;::::2;::::0;;;2017:314;;;815:7292;;1486:196:111;1550:33;:19;1574:8;1550:23;:33::i;:::-;1546:132;;;1598:26;;-1:-1:-1;;;;;1353:32:207;;1335:51;;1598:26:111;;1323:2:207;1308:18;1598:26:111;;;;;;;1486:196;:::o;1546:132::-;1652:19;;-1:-1:-1;;;1652:19:111;;;;;;;;;;;1936:163:159;2000:17;-1:-1:-1;;;;;2029:22:159;;2025:48;;2060:13;;-1:-1:-1;;;2060:13:159;;;;;;;;;;;2025:48;-1:-1:-1;2086:8:159;1936:163::o;8297:150:37:-;8367:4;8390:50;8395:3;-1:-1:-1;;;;;8415:23:37;;8390:4;:50::i;:::-;8383:57;;8297:150;;;;;:::o;2206:404::-;2269:4;4343:19;;;:12;;;:19;;;;;;2285:319;;-1:-1:-1;2327:23:37;;;;;;;;:11;:23;;;;;;;;;;;;;2507:18;;2485:19;;;:12;;;:19;;;;;;:40;;;;2539:11;;2285:319;-1:-1:-1;2588:5:37;2581:12;;14:177:207;93:13;;-1:-1:-1;;;;;135:31:207;;125:42;;115:70;;181:1;178;171:12;115:70;14:177;;;:::o;196:988::-;328:6;336;344;388:9;379:7;375:23;418:3;414:2;410:12;407:32;;;435:1;432;425:12;407:32;458:40;488:9;458:40;:::i;:::-;448:50;;517:49;562:2;551:9;547:18;517:49;:::i;:::-;507:59;-1:-1:-1;600:4:207;-1:-1:-1;;582:16:207;;578:27;575:47;;;618:1;615;608:12;575:47;-1:-1:-1;651:2:207;645:9;693:4;681:17;;-1:-1:-1;;;;;713:34:207;;749:22;;;710:62;707:185;;;814:10;809:3;805:20;802:1;795:31;849:4;846:1;839:15;877:4;874:1;867:15;707:185;912:10;908:2;901:22;;968:2;957:9;953:18;947:25;939:6;932:41;1027:2;1016:9;1012:18;1006:25;1001:2;993:6;989:15;982:50;1086:4;1075:9;1071:20;1065:27;1060:2;1052:6;1048:15;1041:52;1147:3;1136:9;1132:19;1126:26;1121:2;1113:6;1109:15;1102:51;1172:6;1162:16;;;196:988;;;;;:::o;1189:203::-;815:7292:59;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "0x608060405234801561001057600080fd5b506004361061018d5760003560e01c8063552b16ab116100e3578063933f76081161008c578063d25ccf5311610066578063d25ccf53146104a9578063da8a4bb8146104bc578063f0ed4db0146104cf57600080fd5b8063933f76081461044857806394f3f81d1461045b578063cff0ab961461046e57600080fd5b8063619ed1f8116100bd578063619ed1f8146103f957806367aea31314610420578063894ba8331461044057600080fd5b8063552b16ab14610345578063571a26a01461037b5780635a93f031146103e657600080fd5b80632e3918761161014557806341b3a0d91161011f57806341b3a0d91461031c5780634fee13fc14610329578063551cb3b11461033c57600080fd5b80632e391876146102e15780632e993611146102f657806335b281531461030957600080fd5b806317dc6bf61161017657806317dc6bf6146101e15780631a465fe11461027957806324ba5884146102be57600080fd5b80631266fb941461019257806312f33526146101cc575b600080fd5b6101b97f535552504c55530000000000000000000000000000000000000000000000000081565b6040519081526020015b60405180910390f35b6101df6101da366004611fdc565b6104ef565b005b6102366101ef36600461202c565b6003602081905260009182526040909120805460018201546002830154938301546004909301549193909273ffffffffffffffffffffffffffffffffffffffff9091169185565b60408051958652602086019490945273ffffffffffffffffffffffffffffffffffffffff909216928401929092526060830191909152608082015260a0016101c3565b6006546102999073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101c3565b6102d16102cc366004612045565b61057a565b60405190151581526020016101c3565b6102e961058b565b6040516101c3919061207b565b6101df61030436600461202c565b61059c565b6101df610317366004612045565b6108bd565b6002546102d19060ff1681565b6101b96103373660046120d5565b610908565b6101b960045481565b600854600954600a54600b5461035b9392919084565b6040805194855260208501939093529183015260608201526080016101c3565b61038e61038936600461202c565b610b9f565b6040516101c39190600060a082019050825182526020830151602083015273ffffffffffffffffffffffffffffffffffffffff6040840151166040830152606083015160608301526080830151608083015292915050565b6101df6103f43660046120f7565b610c4b565b6101b97f4d495845442d535452415400000000000000000000000000000000000000000081565b6005546102999073ffffffffffffffffffffffffffffffffffffffff1681565b6101df610f65565b6101df61045636600461202c565b61103b565b6101df610469366004612045565b6111e8565b610476611230565b6040516101c391908151815260208083015190820152604080830151908201526060918201519181019190915260800190565b6101df6104b736600461202c565b611288565b6101df6104ca366004612123565b6113ae565b6007546102999073ffffffffffffffffffffffffffffffffffffffff1681565b6104f833611437565b61052e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8261053a848484611443565b83837fe436a8be7dc6aab90b400800ecc86e46fb600f2e18989b5d0389840fdabbf2ed8460405161056b91906121d8565b60405180910390a35b50505050565b600061058582611437565b92915050565b60606105976000611475565b905090565b60025460ff166105d8576040517f7abbf1c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081815260036020818152604092839020835160a08101855281548152600182015492810192909252600281015473ffffffffffffffffffffffffffffffffffffffff16938201939093529082015460608201819052600490920154608082015290158061065857504281606001511180156106585750428160800151115b1561068f576040517f8a9fdc6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600554604082810151602084015191517fefabcadc00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff918216602482015260448101929092529091169063efabcadc90606401600060405180830381600087803b15801561071457600080fd5b505af1158015610728573d6000803e3d6000fd5b5050600b5483516000935061073e925090611489565b90508015610770576007546006546107709173ffffffffffffffffffffffffffffffffffffffff9182169116836114a8565b815160009061078090839061221a565b9050801561080d576006546040517f42966c680000000000000000000000000000000000000000000000000000000081526004810183905273ffffffffffffffffffffffffffffffffffffffff909116906342966c6890602401600060405180830381600087803b1580156107f457600080fd5b505af1158015610808573d6000803e3d6000fd5b505050505b6040838101518451825142815273ffffffffffffffffffffffffffffffffffffffff909216602083015281830152905185917fce605a43280ed04bb2cf4231276a425e3650af62821a5e1f0c8daf63beba6c34919081900360600190a250505060009081526003602081905260408220828155600181018390556002810180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905590810182905560040155565b6108c633611437565b6108fc576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61090581611581565b50565b600061091333611437565b610949576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60025460ff16610985576040517f7abbf1c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60075473ffffffffffffffffffffffffffffffffffffffff161580156109ac5750600b5415155b156109e3576040517f12901a0d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004600081546109f29061222d565b91905081905590506040518060a001604052808381526020018481526020013373ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160086002015442610a459190612265565b905260008281526003602081815260409283902084518155908401516001820155838301516002820180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92831617905560608501519282019290925560809093015160049384015560055491517fefabcadc000000000000000000000000000000000000000000000000000000008152339381019390935230602484015260448301869052169063efabcadc90606401600060405180830381600087803b158015610b2757600080fd5b505af1158015610b3b573d6000803e3d6000fd5b505050600082815260036020908152604091829020600401548251428152918201879052818301869052606082015290518392507fa4863af70e77aecfe2769e0569806782ba7c6f86fc9a307290a3816fb8a563e59181900360800190a292915050565b610be76040518060a001604052806000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b50600090815260036020818152604092839020835160a08101855281548152600182015492810192909252600281015473ffffffffffffffffffffffffffffffffffffffff1693820193909352908201546060820152600490910154608082015290565b60025460ff16610c87576040517f7abbf1c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000838152600360205260409020600281015473ffffffffffffffffffffffffffffffffffffffff16610ce6576040517f3f7caeae00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b42816003015411158015610cfd5750600381015415155b15610d34576040517fc3e4393200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b42816004015411610d71576040517f9203423800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600101548314610dae576040517fbda58db600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80548211610de8576040517f88020a0a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8054600854610df79190612278565b610e09670de0b6b3a764000084612278565b1015610e41576040517fe08b005b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600281015473ffffffffffffffffffffffffffffffffffffffff163314610ec15760028101548154600654610e949273ffffffffffffffffffffffffffffffffffffffff91821692339290911690611610565b6002810180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555b610ef73330836000015485610ed6919061221a565b60065473ffffffffffffffffffffffffffffffffffffffff16929190611610565b818155600954610f079042612265565b600382018190556040805133815242602082015290810184905260608101859052608081019190915284907fbabed4bc302f25a2be9c3286529806aca3c81480ba4b26ee5512277c996e18e99060a00160405180910390a250505050565b610f6e33611437565b610fa4576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60025460ff16610fe0576040517f7abbf1c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905561101061166e565b6040517f2d4b4ecff7bd7503135271925520a2f6c0d98c9473ffc1a1e72c92502f51b25e90600090a1565b60025460ff1615611078576040517ff59a25d600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081815260036020818152604092839020835160a08101855281548152600182015492810192909252600281015473ffffffffffffffffffffffffffffffffffffffff1693820184905291820154606082015260049091015460808201529061110e576040517f3f7caeae00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040810151815160065461113a9273ffffffffffffffffffffffffffffffffffffffff909116916114a8565b6040818101518251825142815273ffffffffffffffffffffffffffffffffffffffff909216602083015281830152905183917f728fcceeefd42b7de1122fe9fef58c0bacd081dcbd7a141315835ba00d29b4b1919081900360600190a25060009081526003602081905260408220828155600181018390556002810180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905590810182905560040155565b6111f133611437565b611227576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61090581611795565b61125b6040518060800160405280600081526020016000815260200160008152602001600081525090565b506040805160808101825260085481526009546020820152600a5491810191909152600b54606082015290565b801580611296575060045481115b156112cd576040517f67374ccd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008181526003602052604090206004810154421015611319576040517f8a9fdc6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600381015415611355576040517f10cff0e800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600a546113629042612265565b6004820181905560405183917f52926b7e2fb12434af05e0b5e28d2b857fc6a23d92f7d7b8ebc6ec6b0fb4419e916113a291428252602082015260400190565b60405180910390a25050565b6113b733611437565b6113ed576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113f7828261181d565b6000801b827fe436a8be7dc6aab90b400800ecc86e46fb600f2e18989b5d0389840fdabbf2ed8360405161142b91906121d8565b60405180910390a35050565b6000610585818361197e565b6040517f9d2ff48000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60606000611482836119ad565b9392505050565b6000670de0b6b3a764000061149e8385612278565b611482919061228f565b60405173ffffffffffffffffffffffffffffffffffffffff831660248201526044810182905261157c9084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152611a09565b505050565b61158c600082611b1a565b156115de5760405173ffffffffffffffffffffffffffffffffffffffff821681527f599a298163e1678bb1c676052a8930bf0b8a1261ed6e01b8a2391e55f7000102906020015b60405180910390a150565b6040517f6027d27e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526105749085907f23b872dd00000000000000000000000000000000000000000000000000000000906084016114fa565b6005546040517ffabde80c00000000000000000000000000000000000000000000000000000000815230600482015260009173ffffffffffffffffffffffffffffffffffffffff169063fabde80c90602401602060405180830381865afa1580156116dd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061170191906122ca565b6005546040517fefabcadc0000000000000000000000000000000000000000000000000000000081523060048201523360248201526044810183905291925073ffffffffffffffffffffffffffffffffffffffff169063efabcadc90606401600060405180830381600087803b15801561177a57600080fd5b505af115801561178e573d6000803e3d6000fd5b5050505050565b6117a0600082611b3c565b156117eb5760405173ffffffffffffffffffffffffffffffffffffffff821681527f8834a87e641e9716be4f34527af5d23e11624f1ddeefede6ad75a9acfc31b903906020016115d3565b6040517fea8e4eb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061182a826020015190565b9050827f70726f746f636f6c546f6b656e42696452656365697665720000000000000000036118c65761187c611861836020015190565b73ffffffffffffffffffffffffffffffffffffffff16611b5e565b600780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055505050565b827f626964496e637265617365000000000000000000000000000000000000000000036118f4576008555050565b827f6269644475726174696f6e00000000000000000000000000000000000000000003611922576009555050565b827f746f74616c41756374696f6e4c656e67746800000000000000000000000000000361195057600a555050565b827f72656379636c696e6750657263656e74616765000000000000000000000000000361144357600b555050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001830160205260408120541515611482565b6060816000018054806020026020016040519081016040528092919081815260200182805480156119fd57602002820191906000526020600020905b8154815260200190600101908083116119e9575b50505050509050919050565b6000611a6b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611bb19092919063ffffffff16565b80519091501561157c5780806020019051810190611a8991906122e3565b61157c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b60006114828373ffffffffffffffffffffffffffffffffffffffff8416611bc8565b60006114828373ffffffffffffffffffffffffffffffffffffffff8416611c17565b600073ffffffffffffffffffffffffffffffffffffffff8216611bad576040517fe99d5ac500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5090565b6060611bc08484600085611d0a565b949350505050565b6000818152600183016020526040812054611c0f57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610585565b506000610585565b60008181526001830160205260408120548015611d00576000611c3b60018361221a565b8554909150600090611c4f9060019061221a565b9050818114611cb4576000866000018281548110611c6f57611c6f612305565b9060005260206000200154905080876000018481548110611c9257611c92612305565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611cc557611cc5612334565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610585565b6000915050610585565b606082471015611d9c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401611b11565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051611dc59190612363565b60006040518083038185875af1925050503d8060008114611e02576040519150601f19603f3d011682016040523d82523d6000602084013e611e07565b606091505b5091509150611e1887838387611e23565b979650505050505050565b60608315611eb9578251600003611eb25773ffffffffffffffffffffffffffffffffffffffff85163b611eb2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611b11565b5081611bc0565b611bc08383815115611ece5781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1191906121d8565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112611f4257600080fd5b813567ffffffffffffffff80821115611f5d57611f5d611f02565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715611fa357611fa3611f02565b81604052838152866020858801011115611fbc57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600060608486031215611ff157600080fd5b8335925060208401359150604084013567ffffffffffffffff81111561201657600080fd5b61202286828701611f31565b9150509250925092565b60006020828403121561203e57600080fd5b5035919050565b60006020828403121561205757600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461148257600080fd5b6020808252825182820181905260009190848201906040850190845b818110156120c957835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101612097565b50909695505050505050565b600080604083850312156120e857600080fd5b50508035926020909101359150565b60008060006060848603121561210c57600080fd5b505081359360208301359350604090920135919050565b6000806040838503121561213657600080fd5b82359150602083013567ffffffffffffffff81111561215457600080fd5b61216085828601611f31565b9150509250929050565b60005b8381101561218557818101518382015260200161216d565b50506000910152565b600081518084526121a681602086016020860161216a565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611482602083018461218e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81810381811115610585576105856121eb565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361225e5761225e6121eb565b5060010190565b80820180821115610585576105856121eb565b8082028115828204841417610585576105856121eb565b6000826122c5577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b6000602082840312156122dc57600080fd5b5051919050565b6000602082840312156122f557600080fd5b8151801515811461148257600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6000825161237581846020870161216a565b919091019291505056fea2646970667358221220a0ddaa19a37cbc08c8810098ab571d8cd863fee2e9a4e59f33adf4fa2d69549764736f6c63430008130033", + "sourceMap": "815:7292:59:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1036:63;;1081:18;1036:63;;;;;160:25:207;;;148:2;133:18;1036:63:59;;;;;;;;871:238:116;;;;;;:::i;:::-;;:::i;:::-;;1294:44:59;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2072:25:207;;;2128:2;2113:18;;2106:34;;;;2188:42;2176:55;;;2156:18;;;2149:83;;;;2263:2;2248:18;;2241:34;;;;2306:3;2291:19;;2284:35;2059:3;2044:19;1294:44:59;1813:512:207;1640:35:59;;;;;;;;;;;;2530:42:207;2518:55;;;2500:74;;2488:2;2473:18;1640:35:59;2330:250:207;628:128:111;;;;;;:::i;:::-;;:::i;:::-;;;3064:14:207;;3057:22;3039:41;;3027:2;3012:18;628:128:111;2899:187:207;872:127:111;;;:::i;:::-;;;;;;;:::i;5905:910:59:-;;;;;;:::i;:::-;;:::i;1116:112:111:-;;;;;;:::i;:::-;;:::i;274:34:114:-;;;;;;;;;2848:807:59;;;;;;:::i;:::-;;:::i;1503:30::-;;;;;;1839:40;;;;;;;;;;;;;;;;;;;;4443:25:207;;;4499:2;4484:18;;4477:34;;;;4527:18;;;4520:34;4585:2;4570:18;;4563:34;4430:3;4415:19;1839:40:59;4212:391:207;1343:111:59;;;;;;:::i;:::-;;:::i;:::-;;;;;;4752:4:207;4794:3;4783:9;4779:19;4771:27;;4831:6;4825:13;4814:9;4807:32;4895:4;4887:6;4883:17;4877:24;4870:4;4859:9;4855:20;4848:54;4970:42;4962:4;4954:6;4950:17;4944:24;4940:73;4933:4;4922:9;4918:20;4911:103;5070:4;5062:6;5058:17;5052:24;5045:4;5034:9;5030:20;5023:54;5133:4;5125:6;5121:17;5115:24;5108:4;5097:9;5093:20;5086:54;4608:538;;;;;4565:1242:59;;;;;;:::i;:::-;;:::i;1103:69::-;;1150:22;1103:69;;1579:29;;;;;;;;;343:149:114;;;:::i;6932:483:59:-;;;;;;:::i;:::-;;:::i;1334:118:111:-;;;;;;:::i;:::-;;:::i;1884:111:59:-;;;:::i;:::-;;;;;;5977:13:207;;5959:32;;6047:4;6035:17;;;6029:24;6007:20;;;6000:54;6110:4;6098:17;;;6092:24;6070:20;;;6063:54;6173:4;6161:17;;;6155:24;6133:20;;;6126:54;;;;5946:3;5931:19;;5724:462;3781:517:59;;;;;;:::i;:::-;;:::i;641:196:116:-;;;;;;:::i;:::-;;:::i;1712:39:59:-;;;;;;;;;871:238:116;2178:25:111;2192:10;2178:13;:25::i;:::-;2173:53;;2212:14;;;;;;;;;;;;;;2173:53;1000:6:116::1;1014:40:::2;1032:6;1040;1048:5;1014:17;:40::i;:::-;1090:6;1082;1065:39;1098:5;1065:39;;;;;;:::i;:::-;;;;;;;;2315:28:::1;2232:1:111;871:238:116::0;;;:::o;628:128:111:-;697:16;728:23;742:8;728:13;:23::i;:::-;721:30;628:128;-1:-1:-1;;628:128:111:o;872:127::-;925:26;966:28;:19;:26;:28::i;:::-;959:35;;872:127;:::o;5905:910:59:-;741:15:114;;;;817:46;;843:20;;;;;;;;;;;;;;817:46;5968:23:59::1;5994:14:::0;;;:9:::1;:14;::::0;;;;;;;;5968:40;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;;;::::1;::::0;::::1;::::0;::::1;;::::0;;;;;;;;;::::1;::::0;;;;;;;::::1;::::0;;::::1;::::0;;;;;;6018:23;;:111:::1;;;6067:15;6046:8;:18;;;:36;:82;;;;;6113:15;6086:8;:24;;;:42;6046:82;6014:167;;;6150:24;;;;;;;;;;;;;;6014:167;6187:10;::::0;6235:19:::1;::::0;;::::1;::::0;6256:21:::1;::::0;::::1;::::0;6187:91;;;;;6228:4:::1;6187:91;::::0;::::1;7889:34:207::0;6187:10:59::1;7959:15:207::0;;;7939:18;;;7932:43;7991:18;;;7984:34;;;;6187:10:59;;::::1;::::0;:32:::1;::::0;7801:18:207;;6187:91:59::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6333:27:59;;6309:18;;6285:21:::1;::::0;-1:-1:-1;6309:52:59::1;::::0;-1:-1:-1;6309:18:59;:23:::1;:52::i;:::-;6285:76:::0;-1:-1:-1;6371:17:59;;6367:105:::1;;6425:24;::::0;6398:13:::1;::::0;:67:::1;::::0;6425:24:::1;6398:13:::0;;::::1;::::0;6425:24:::1;6451:13:::0;6398:26:::1;:67::i;:::-;6502:18:::0;;6478:21:::1;::::0;6502:34:::1;::::0;6523:13;;6502:34:::1;:::i;:::-;6478:58:::0;-1:-1:-1;6546:17:59;;6542:71:::1;;6573:13;::::0;:33:::1;::::0;;;;::::1;::::0;::::1;160:25:207::0;;;6573:13:59::1;::::0;;::::1;::::0;:18:::1;::::0;133::207;;6573:33:59::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;6542:71;6715:19;::::0;;::::1;::::0;6757:18;;6624:158;;6679:15:::1;8553:25:207::0;;8626:42;8614:55;;;8609:2;8594:18;;8587:83;8686:18;;;8679:34;6624:158:59;;6651:3;;6624:158:::1;::::0;;;;;8541:2:207;6624:158:59;;::::1;-1:-1:-1::0;;;6796:14:59::1;::::0;;;:9:::1;:14;::::0;;;;;;6789:21;;;::::1;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;;;::::1;::::0;;;::::1;;::::0;5905:910::o;1116:112:111:-;2178:25;2192:10;2178:13;:25::i;:::-;2173:53;;2212:14;;;;;;;;;;;;;;2173:53;1196:27:::1;1214:8;1196:17;:27::i;:::-;1116:112:::0;:::o;2848:807:59:-;2969:11;2178:25:111;2192:10;2178:13;:25::i;:::-;2173:53;;2212:14;;;;;;;;;;;;;;2173:53;741:15:114;;;;817:46:::1;;843:20;;;;;;;;;;;;;;817:46;2992:24:59::2;::::0;:38:::2;:24;:38:::0;:74;::::2;;;-1:-1:-1::0;3034:27:59;;:32;::::2;2992:74;2988:114;;;3075:27;;;;;;;;;;;;;;2988:114;3116:15;;3114:17;;;;;:::i;:::-;;;;;;;3108:23;;3155:199;;;;;;;;3182:11;3155:199;;;;3215:13;3155:199;;;;3248:10;3155:199;;;;;;3277:1;3155:199;;;;3321:7;:26;;;3303:15;:44;;;;:::i;:::-;3155:199:::0;;3138:14:::2;::::0;;;:9:::2;:14;::::0;;;;;;;;:216;;;;;;::::2;::::0;::::2;::::0;::::2;::::0;;;::::2;::::0;::::2;::::0;::::2;::::0;;;::::2;;::::0;;::::2;;::::0;;::::2;::::0;::::2;::::0;;;::::2;::::0;;;;::::2;::::0;;::::2;::::0;::::2;::::0;;::::2;::::0;3361:10:::2;::::0;:74;;;;;3394:10:::2;3361:74:::0;;::::2;7889:34:207::0;;;;3414:4:59::2;7939:18:207::0;;;7932:43;7991:18;;;7984:34;;;3361:10:59::2;::::0;:32:::2;::::0;7801:18:207;;3361:74:59::2;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;-1:-1:-1::0;;;3613:14:59::2;::::0;;;:9:::2;:14;::::0;;;;;;;;:30:::2;;::::0;3447:203;;3501:15:::2;4443:25:207::0;;4484:18;;;4477:34;;;4527:18;;;4520:34;;;4585:2;4570:18;;4563:34;3447:203:59;;3613:14;;-1:-1:-1;3447:203:59::2;::::0;;;;4430:3:207;3447:203:59;;::::2;2848:807:::0;;;;:::o;1343:111::-;1397:23;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1397:23:59;-1:-1:-1;1435:14:59;;;;:9;:14;;;;;;;;;1428:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1343:111::o;4565:1242::-;741:15:114;;;;817:46;;843:20;;;;;;;;;;;;;;817:46;4666:24:59::1;4693:14:::0;;;:9:::1;:14;::::0;;;;4717:19:::1;::::0;::::1;::::0;:33:::1;:19;4713:68;;4759:22;;;;;;;;;;;;;;4713:68;4813:15;4791:8;:18;;;:37;;:64;;;;-1:-1:-1::0;4832:18:59::1;::::0;::::1;::::0;:23;::::1;4791:64;4787:100;;;4864:23;;;;;;;;;;;;;;4787:100;4925:15;4897:8;:24;;;:43;4893:83;;4949:27;;;;;;;;;;;;;;4893:83;5002:8;:21;;;4986:12;:37;4982:74;;5032:24;;;;;;;;;;;;;;4982:74;5074:18:::0;;5066:26;::::1;5062:57;;5101:18;;;;;;;;;;;;;;5062:57;5164:18:::0;;5142:7:::1;:19:::0;:40:::1;::::0;5164:18;5142:40:::1;:::i;:::-;5129:10;202:8:161;5129:4:59::0;:10:::1;:::i;:::-;:53;5125:92;;;5191:26;;;;;;;;;;;;;;5125:92;5242:19;::::0;::::1;::::0;::::1;;5228:10;:33;5224:177;;5314:19;::::0;::::1;::::0;5335:18;;5271:13:::1;::::0;:83:::1;::::0;5314:19:::1;5271:13:::0;;::::1;::::0;5302:10:::1;::::0;5314:19;;::::1;::::0;5271:30:::1;:83::i;:::-;5362:19;::::0;::::1;:32:::0;;;::::1;5384:10;5362:32;::::0;;5224:177:::1;5406:84;5437:10;5457:4;5471:8;:18;;;5464:4;:25;;;;:::i;:::-;5406:13;::::0;::::1;;::::0;:84;;:30:::1;:84::i;:::-;5497:25:::0;;;5567:19;;5549:37:::1;::::0;:15:::1;:37;:::i;:::-;5528:18;::::0;::::1;:58:::0;;;5598:204:::1;::::0;;5647:10:::1;9486:74:207::0;;5682:15:59::1;9591:2:207::0;9576:18;;9569:34;9619:18;;;9612:34;;;9677:2;9662:18;;9655:34;;;9720:3;9705:19;;9698:35;;;;5627:3:59;;5598:204:::1;::::0;9473:3:207;9458:19;5598:204:59::1;;;;;;;4660:1147;4565:1242:::0;;;:::o;343:149:114:-;2178:25:111;2192:10;2178:13;:25::i;:::-;2173:53;;2212:14;;;;;;;;;;;;;;2173:53;741:15:114;;;;817:46:::1;;843:20;;;;;;;;;;;;;;817:46;410:15:::2;:23:::0;;;::::2;::::0;;439:20:::2;:18;:20::i;:::-;470:17;::::0;::::2;::::0;;;::::2;343:149::o:0;6932:483:59:-;741:15:114;;;;909:44;;;934:19;;;;;;;;;;;;;;909:44;7010:23:59::1;7036:14:::0;;;:9:::1;:14;::::0;;;;;;;;7010:40;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;;;::::1;::::0;::::1;::::0;::::1;;::::0;;;;;;;;::::1;::::0;;;;;::::1;::::0;;::::1;::::0;;;;;;7056:68:::1;;7102:22;;;;;;;;;;;;;;7056:68;7158:19;::::0;::::1;::::0;7179:18;;7131:13:::1;::::0;:67:::1;::::0;:13:::1;::::0;;::::1;::::0;:26:::1;:67::i;:::-;7315:19;::::0;;::::1;::::0;7357:18;;7210:172;;7279:15:::1;8553:25:207::0;;8626:42;8614:55;;;8609:2;8594:18;;8587:83;8686:18;;;8679:34;7210:172:59;;7251:3;;7210:172:::1;::::0;;;;;8541:2:207;7210:172:59;;::::1;-1:-1:-1::0;7396:14:59::1;::::0;;;:9:::1;:14;::::0;;;;;;7389:21;;;::::1;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;;;::::1;::::0;;;::::1;;::::0;6932:483::o;1334:118:111:-;2178:25;2192:10;2178:13;:25::i;:::-;2173:53;;2212:14;;;;;;;;;;;;;;2173:53;1417:30:::1;1438:8;1417:20;:30::i;1884:111:59:-:0;1925:43;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1925:43:59;-1:-1:-1;1976:14:59;;;;;;;;1983:7;1976:14;;;;;;;;;;;;;;;;;;;;;;;;;1884:111::o;3781:517::-;3837:8;;;:33;;;3855:15;;3849:3;:21;3837:33;3833:71;;;3879:25;;;;;;;;;;;;;;3833:71;3910:24;3937:14;;;:9;:14;;;;;3961:24;;;;3988:15;-1:-1:-1;3957:79:59;;;4012:24;;;;;;;;;;;;;;3957:79;4046:18;;;;:23;4042:58;;4078:22;;;;;;;;;;;;;;4042:58;4151:26;;4133:44;;:15;:44;:::i;:::-;4106:24;;;:71;;;4189:104;;4210:3;;4189:104;;;;4232:15;9918:25:207;;9974:2;9959:18;;9952:34;9906:2;9891:18;;9744:248;4189:104:59;;;;;;;;3827:471;3781:517;:::o;641:196:116:-;2178:25:111;2192:10;2178:13;:25::i;:::-;2173:53;;2212:14;;;;;;;;;;;;;;2173:53;743:32:116::2;761:6;769:5;743:17;:32::i;:::-;573:1;565:10:::0;::::2;803:6;786:46;826:5;786:46;;;;;;:::i;:::-;;;;;;;;641:196:::0;;:::o;1891:146:111:-;1963:16;1994:38;1963:16;2023:8;1994:28;:38::i;1694:133:116:-;1803:19;;;;;;;;;;;;;;10251:300:37;10314:16;10342:22;10367:19;10375:3;10367:7;:19::i;:::-;10342:44;10251:300;-1:-1:-1;;;10251:300:37:o;1177:109:161:-;1238:13;202:8;1267:7;1272:2;1267;:7;:::i;:::-;1266:15;;;;:::i;763:205:28:-;902:58;;10480:42:207;10468:55;;902:58:28;;;10450:74:207;10540:18;;;10533:34;;;875:86:28;;895:5;;925:23;;10423:18:207;;902:58:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;875:19;:86::i;:::-;763:205;;;:::o;1486:196:111:-;1550:33;:19;1574:8;1550:23;:33::i;:::-;1546:132;;;1598:26;;2530:42:207;2518:55;;2500:74;;1598:26:111;;2488:2:207;2473:18;1598:26:111;;;;;;;;1116:112;:::o;1546:132::-;1652:19;;;;;;;;;;;;;;974:241:28;1139:68;;7838:42:207;7907:15;;;1139:68:28;;;7889:34:207;7959:15;;7939:18;;;7932:43;7991:18;;;7984:34;;;1112:96:28;;1132:5;;1162:27;;7801:18:207;;1139:68:28;7626:398:207;2446:198:59;2523:10;;:37;;;;;2554:4;2523:37;;;2500:74:207;:20:59;;2523:10;;;:22;;2473:18:207;;2523:37:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2566:10;;:73;;;;;2607:4;2566:73;;;7889:34:207;2614:10:59;7939:18:207;;;7932:43;7991:18;;;7984:34;;;2500:60:59;;-1:-1:-1;2566:10:59;;;:32;;7801:18:207;;2566:73:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2494:150;2446:198::o;1686:201:111:-;1753:36;:19;1780:8;1753:26;:36::i;:::-;1749:134;;;1804:29;;2530:42:207;2518:55;;2500:74;;1804:29:111;;2488:2:207;2473:18;1804:29:111;2330:250:207;1749:134:111;1861:15;;;;;;;;;;;;;;7448:657:59;7535:16;7554:17;:5;214:4:160;203:16;197:23;;82:148;7554:17:59;7535:36;;7655:6;:36;;7651:449;;7720:33;:17;:5;214:4:160;203:16;197:23;;82:148;7720:17:59;:31;;;:33::i;:::-;7693:24;:60;;;;;;;;;;;;;;;-1:-1:-1;;;763:205:28:o;7651:449:59:-;7768:6;:23;;7764:336;;7793:7;:30;-1:-1:-1;;763:205:28:o;7764:336:59:-;7838:6;:23;;7834:266;;7863:19;:30;-1:-1:-1;;763:205:28:o;7834:266:59:-;7908:6;:30;;7904:196;;7940:26;:37;-1:-1:-1;;763:205:28:o;7904:196:59:-;7992:6;:31;;7988:112;;8025:27;:38;-1:-1:-1;;763:205:28:o;8852:165:37:-;8985:23;;;8932:4;4343:19;;;:12;;;:19;;;;;;:24;;8955:55;4247:127;5562:109;5618:16;5653:3;:11;;5646:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5562:109;;;:::o;3747:706:28:-;4166:23;4192:69;4220:4;4192:69;;;;;;;;;;;;;;;;;4200:5;4192:27;;;;:69;;;;;:::i;:::-;4275:17;;4166:95;;-1:-1:-1;4275:21:28;4271:176;;4370:10;4359:30;;;;;;;;;;;;:::i;:::-;4351:85;;;;;;;11251:2:207;4351:85:28;;;11233:21:207;11290:2;11270:18;;;11263:30;11329:34;11309:18;;;11302:62;11400:12;11380:18;;;11373:40;11430:19;;4351:85:28;;;;;;;;8297:150:37;8367:4;8390:50;8395:3;8415:23;;;8390:4;:50::i;8615:156::-;8688:4;8711:53;8719:3;8739:23;;;8711:7;:53::i;1936:163:159:-;2000:17;2029:22;;;2025:48;;2060:13;;;;;;;;;;;;;;2025:48;-1:-1:-1;2086:8:159;1936:163::o;3873:223:29:-;4006:12;4037:52;4059:6;4067:4;4073:1;4076:12;4037:21;:52::i;:::-;4030:59;3873:223;-1:-1:-1;;;;3873:223:29:o;2206:404:37:-;2269:4;4343:19;;;:12;;;:19;;;;;;2285:319;;-1:-1:-1;2327:23:37;;;;;;;;:11;:23;;;;;;;;;;;;;2507:18;;2485:19;;;:12;;;:19;;;;;;:40;;;;2539:11;;2285:319;-1:-1:-1;2588:5:37;2581:12;;2778:1388;2844:4;2981:19;;;:12;;;:19;;;;;;3015:15;;3011:1149;;3384:21;3408:14;3421:1;3408:10;:14;:::i;:::-;3456:18;;3384:38;;-1:-1:-1;3436:17:37;;3456:22;;3477:1;;3456:22;:::i;:::-;3436:42;;3510:13;3497:9;:26;3493:398;;3543:17;3563:3;:11;;3575:9;3563:22;;;;;;;;:::i;:::-;;;;;;;;;3543:42;;3714:9;3685:3;:11;;3697:13;3685:26;;;;;;;;:::i;:::-;;;;;;;;;;;;:38;;;;3797:23;;;:12;;;:23;;;;;:36;;;3493:398;3969:17;;:3;;:17;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;4061:3;:12;;:19;4074:5;4061:19;;;;;;;;;;;4054:26;;;4102:4;4095:11;;;;;;;3011:1149;4144:5;4137:12;;;;;4960:446:29;5125:12;5182:5;5157:21;:30;;5149:81;;;;;;;12040:2:207;5149:81:29;;;12022:21:207;12079:2;12059:18;;;12052:30;12118:34;12098:18;;;12091:62;12189:8;12169:18;;;12162:36;12215:19;;5149:81:29;11838:402:207;5149:81:29;5241:12;5255:23;5282:6;:11;;5301:5;5308:4;5282:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5240:73;;;;5330:69;5357:6;5365:7;5374:10;5386:12;5330:26;:69::i;:::-;5323:76;4960:446;-1:-1:-1;;;;;;;4960:446:29:o;7466:628::-;7646:12;7674:7;7670:418;;;7701:10;:17;7722:1;7701:22;7697:286;;1465:19;;;;7908:60;;;;;;;12739:2:207;7908:60:29;;;12721:21:207;12778:2;12758:18;;;12751:30;12817:31;12797:18;;;12790:59;12866:18;;7908:60:29;12537:353:207;7908:60:29;-1:-1:-1;8003:10:29;7996:17;;7670:418;8044:33;8052:10;8064:12;8775:17;;:21;8771:379;;9003:10;8997:17;9059:15;9046:10;9042:2;9038:19;9031:44;8771:379;9126:12;9119:20;;;;;;;;;;;:::i;196:184:207:-;248:77;245:1;238:88;345:4;342:1;335:15;369:4;366:1;359:15;385:777;427:5;480:3;473:4;465:6;461:17;457:27;447:55;;498:1;495;488:12;447:55;534:6;521:20;560:18;597:2;593;590:10;587:36;;;603:18;;:::i;:::-;737:2;731:9;799:4;791:13;;642:66;787:22;;;811:2;783:31;779:40;767:53;;;835:18;;;855:22;;;832:46;829:72;;;881:18;;:::i;:::-;921:10;917:2;910:22;956:2;948:6;941:18;1002:3;995:4;990:2;982:6;978:15;974:26;971:35;968:55;;;1019:1;1016;1009:12;968:55;1083:2;1076:4;1068:6;1064:17;1057:4;1049:6;1045:17;1032:54;1130:1;1123:4;1118:2;1110:6;1106:15;1102:26;1095:37;1150:6;1141:15;;;;;;385:777;;;;:::o;1167:456::-;1253:6;1261;1269;1322:2;1310:9;1301:7;1297:23;1293:32;1290:52;;;1338:1;1335;1328:12;1290:52;1374:9;1361:23;1351:33;;1431:2;1420:9;1416:18;1403:32;1393:42;;1486:2;1475:9;1471:18;1458:32;1513:18;1505:6;1502:30;1499:50;;;1545:1;1542;1535:12;1499:50;1568:49;1609:7;1600:6;1589:9;1585:22;1568:49;:::i;:::-;1558:59;;;1167:456;;;;;:::o;1628:180::-;1687:6;1740:2;1728:9;1719:7;1715:23;1711:32;1708:52;;;1756:1;1753;1746:12;1708:52;-1:-1:-1;1779:23:207;;1628:180;-1:-1:-1;1628:180:207:o;2585:309::-;2644:6;2697:2;2685:9;2676:7;2672:23;2668:32;2665:52;;;2713:1;2710;2703:12;2665:52;2752:9;2739:23;2802:42;2795:5;2791:54;2784:5;2781:65;2771:93;;2860:1;2857;2850:12;3091:681;3262:2;3314:21;;;3384:13;;3287:18;;;3406:22;;;3233:4;;3262:2;3485:15;;;;3459:2;3444:18;;;3233:4;3528:218;3542:6;3539:1;3536:13;3528:218;;;3607:13;;3622:42;3603:62;3591:75;;3721:15;;;;3686:12;;;;3564:1;3557:9;3528:218;;;-1:-1:-1;3763:3:207;;3091:681;-1:-1:-1;;;;;;3091:681:207:o;3777:248::-;3845:6;3853;3906:2;3894:9;3885:7;3881:23;3877:32;3874:52;;;3922:1;3919;3912:12;3874:52;-1:-1:-1;;3945:23:207;;;4015:2;4000:18;;;3987:32;;-1:-1:-1;3777:248:207:o;5151:316::-;5228:6;5236;5244;5297:2;5285:9;5276:7;5272:23;5268:32;5265:52;;;5313:1;5310;5303:12;5265:52;-1:-1:-1;;5336:23:207;;;5406:2;5391:18;;5378:32;;-1:-1:-1;5457:2:207;5442:18;;;5429:32;;5151:316;-1:-1:-1;5151:316:207:o;6191:388::-;6268:6;6276;6329:2;6317:9;6308:7;6304:23;6300:32;6297:52;;;6345:1;6342;6335:12;6297:52;6381:9;6368:23;6358:33;;6442:2;6431:9;6427:18;6414:32;6469:18;6461:6;6458:30;6455:50;;;6501:1;6498;6491:12;6455:50;6524:49;6565:7;6556:6;6545:9;6541:22;6524:49;:::i;:::-;6514:59;;;6191:388;;;;;:::o;6815:250::-;6900:1;6910:113;6924:6;6921:1;6918:13;6910:113;;;7000:11;;;6994:18;6981:11;;;6974:39;6946:2;6939:10;6910:113;;;-1:-1:-1;;7057:1:207;7039:16;;7032:27;6815:250::o;7070:329::-;7111:3;7149:5;7143:12;7176:6;7171:3;7164:19;7192:76;7261:6;7254:4;7249:3;7245:14;7238:4;7231:5;7227:16;7192:76;:::i;:::-;7313:2;7301:15;7318:66;7297:88;7288:98;;;;7388:4;7284:109;;7070:329;-1:-1:-1;;7070:329:207:o;7404:217::-;7551:2;7540:9;7533:21;7514:4;7571:44;7611:2;7600:9;7596:18;7588:6;7571:44;:::i;8029:184::-;8081:77;8078:1;8071:88;8178:4;8175:1;8168:15;8202:4;8199:1;8192:15;8218:128;8285:9;;;8306:11;;;8303:37;;;8320:18;;:::i;8724:195::-;8763:3;8794:66;8787:5;8784:77;8781:103;;8864:18;;:::i;:::-;-1:-1:-1;8911:1:207;8900:13;;8724:195::o;8924:125::-;8989:9;;;9010:10;;;9007:36;;;9023:18;;:::i;9054:168::-;9127:9;;;9158;;9175:15;;;9169:22;;9155:37;9145:71;;9196:18;;:::i;9997:274::-;10037:1;10063;10053:189;;10098:77;10095:1;10088:88;10199:4;10196:1;10189:15;10227:4;10224:1;10217:15;10053:189;-1:-1:-1;10256:9:207;;9997:274::o;10578:184::-;10648:6;10701:2;10689:9;10680:7;10676:23;10672:32;10669:52;;;10717:1;10714;10707:12;10669:52;-1:-1:-1;10740:16:207;;10578:184;-1:-1:-1;10578:184:207:o;10767:277::-;10834:6;10887:2;10875:9;10866:7;10862:23;10858:32;10855:52;;;10903:1;10900;10893:12;10855:52;10935:9;10929:16;10988:5;10981:13;10974:21;10967:5;10964:32;10954:60;;11010:1;11007;11000:12;11460:184;11512:77;11509:1;11502:88;11609:4;11606:1;11599:15;11633:4;11630:1;11623:15;11649:184;11701:77;11698:1;11691:88;11798:4;11795:1;11788:15;11822:4;11819:1;11812:15;12245:287;12374:3;12412:6;12406:13;12428:66;12487:6;12482:3;12475:4;12467:6;12463:17;12428:66;:::i;:::-;12510:16;;;;;12245:287;-1:-1:-1;;12245:287:207:o", + "linkReferences": {} + }, + "methodIdentifiers": { + "AUCTION_HOUSE_TYPE()": "1266fb94", + "SURPLUS_AUCTION_TYPE()": "619ed1f8", + "_auctions(uint256)": "17dc6bf6", + "_params()": "552b16ab", + "addAuthorization(address)": "35b28153", + "auctions(uint256)": "571a26a0", + "auctionsStarted()": "551cb3b1", + "authorizedAccounts()": "2e391876", + "authorizedAccounts(address)": "24ba5884", + "contractEnabled()": "41b3a0d9", + "disableContract()": "894ba833", + "increaseBidSize(uint256,uint256,uint256)": "5a93f031", + "modifyParameters(bytes32,bytes)": "da8a4bb8", + "modifyParameters(bytes32,bytes32,bytes)": "12f33526", + "params()": "cff0ab96", + "protocolToken()": "1a465fe1", + "protocolTokenBidReceiver()": "f0ed4db0", + "removeAuthorization(address)": "94f3f81d", + "restartAuction(uint256)": "d25ccf53", + "safeEngine()": "67aea313", + "settleAuction(uint256)": "2e993611", + "startAuction(uint256,uint256)": "4fee13fc", + "terminateAuctionPrematurely(uint256)": "933f7608" + }, + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_safeEngine\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_protocolToken\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"bidIncrease\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bidDuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalAuctionLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"recyclingPercentage\",\"type\":\"uint256\"}],\"internalType\":\"struct ISurplusAuctionHouse.SurplusAuctionHouseParams\",\"name\":\"_sahParams\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AlreadyAuthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ContractIsDisabled\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ContractIsEnabled\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NonDisableable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotAuthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NullAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SAH_AmountsNotMatching\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SAH_AuctionAlreadyExpired\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SAH_AuctionNeverStarted\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SAH_AuctionNotFinished\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SAH_BidAlreadyExpired\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SAH_BidAlreadyPlaced\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SAH_BidNotHigher\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SAH_HighBidderNotSet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SAH_InsufficientIncrease\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SAH_NullProtTokenReceiver\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnrecognizedCType\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnrecognizedParam\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"AddAuthorization\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"DisableContract\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_bidder\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_blockTimestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_raisedAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_soldAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_bidExpiry\",\"type\":\"uint256\"}],\"name\":\"IncreaseBidSize\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_param\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_cType\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"ModifyParameters\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"RemoveAuthorization\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_blockTimestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_auctionDeadline\",\"type\":\"uint256\"}],\"name\":\"RestartAuction\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_blockTimestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_highBidder\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_raisedAmount\",\"type\":\"uint256\"}],\"name\":\"SettleAuction\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_blockTimestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountToSell\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountToRaise\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_auctionDeadline\",\"type\":\"uint256\"}],\"name\":\"StartAuction\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_blockTimestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_highBidder\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_raisedAmount\",\"type\":\"uint256\"}],\"name\":\"TerminateAuctionPrematurely\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"AUCTION_HOUSE_TYPE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SURPLUS_AUCTION_TYPE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"_auctions\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"bidAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountToSell\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"highBidder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"bidExpiry\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"auctionDeadline\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_params\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"bidIncrease\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bidDuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalAuctionLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"recyclingPercentage\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"addAuthorization\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"auctions\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"bidAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountToSell\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"highBidder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"bidExpiry\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"auctionDeadline\",\"type\":\"uint256\"}],\"internalType\":\"struct ISurplusAuctionHouse.Auction\",\"name\":\"_auction\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"auctionsStarted\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"authorizedAccounts\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_authorized\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"authorizedAccounts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"_accounts\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"contractEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disableContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amountToBuy\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_bid\",\"type\":\"uint256\"}],\"name\":\"increaseBidSize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_cType\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_param\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"modifyParameters\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_param\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"modifyParameters\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"params\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"bidIncrease\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"bidDuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalAuctionLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"recyclingPercentage\",\"type\":\"uint256\"}],\"internalType\":\"struct ISurplusAuctionHouse.SurplusAuctionHouseParams\",\"name\":\"_sahParams\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"protocolToken\",\"outputs\":[{\"internalType\":\"contract IProtocolToken\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"protocolTokenBidReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"removeAuthorization\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"restartAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"safeEngine\",\"outputs\":[{\"internalType\":\"contract ISAFEEngine\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"settleAuction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountToSell\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_initialBid\",\"type\":\"uint256\"}],\"name\":\"startAuction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"terminateAuctionPrematurely\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"ModifyParameters(bytes32,bytes32,bytes)\":{\"details\":\"Event topic 1 is always a parameter, topic 2 can be empty (global params)\"}},\"kind\":\"dev\",\"methods\":{\"addAuthorization(address)\":{\"params\":{\"_account\":\"Account to add auth to\"}},\"authorizedAccounts()\":{\"returns\":{\"_accounts\":\"Array of authorized accounts\"}},\"authorizedAccounts(address)\":{\"returns\":{\"_authorized\":\"Whether the account is authorized or not\"}},\"increaseBidSize(uint256,uint256,uint256)\":{\"params\":{\"_amountToBuy\":\"Amount of system coins to buy (rad)\",\"_bid\":\"New bid submitted (wad)\",\"_id\":\"ID of the auction you want to submit the bid for\"}},\"modifyParameters(bytes32,bytes)\":{\"params\":{\"_data\":\"Encoded data to modify the parameter\",\"_param\":\"String identifier of the parameter to modify\"}},\"modifyParameters(bytes32,bytes32,bytes)\":{\"params\":{\"_cType\":\"String identifier of the collateral to modify\",\"_data\":\"Encoded data to modify the parameter\",\"_param\":\"String identifier of the parameter to modify\"}},\"removeAuthorization(address)\":{\"params\":{\"_account\":\"Account to remove auth from\"}},\"restartAuction(uint256)\":{\"params\":{\"_id\":\"ID of the auction to restart\"}},\"settleAuction(uint256)\":{\"params\":{\"_id\":\"ID of the auction to settle\"}},\"startAuction(uint256,uint256)\":{\"params\":{\"_amountToSell\":\"Total amount of system coins to sell (rad)\",\"_initialBid\":\"Initial protocol token bid (wad)\"}},\"terminateAuctionPrematurely(uint256)\":{\"params\":{\"_id\":\"ID of the auction to settle/terminate\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addAuthorization(address)\":{\"notice\":\"Add auth to an account\"},\"authorizedAccounts()\":{\"notice\":\"Getter for the authorized accounts\"},\"authorizedAccounts(address)\":{\"notice\":\"Checks whether an account is authorized\"},\"increaseBidSize(uint256,uint256,uint256)\":{\"notice\":\"Submit a higher protocol token bid for the same amount of system coins\"},\"modifyParameters(bytes32,bytes)\":{\"notice\":\"Set a new value for a global specific parameter\"},\"modifyParameters(bytes32,bytes32,bytes)\":{\"notice\":\"Set a new value for a collateral specific parameter\"},\"removeAuthorization(address)\":{\"notice\":\"Remove auth from an account\"},\"restartAuction(uint256)\":{\"notice\":\"Restart an auction if no bids were submitted for it\"},\"settleAuction(uint256)\":{\"notice\":\"Settle/finish an auction\"},\"startAuction(uint256,uint256)\":{\"notice\":\"Start a new surplus auction\"},\"terminateAuctionPrematurely(uint256)\":{\"notice\":\"Terminate an auction prematurely.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/SurplusAuctionHouse.sol\":\"SurplusAuctionHouse\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[\":@contracts/=src/contracts/\",\":@defi-wonderland/solidity-utils/=node_modules/@defi-wonderland/solidity-utils/solidity/\",\":@interfaces/=src/interfaces/\",\":@libraries/=src/libraries/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@script/=src/script/\",\":@test/=src/test/\",\":@uniswap/=node_modules/@uniswap/\",\":ds-test/=lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":isolmate/=lib/isolmate/src/\",\":prb-test/=lib/prb-test/src/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0xf5324a55ee9c0b4a840ea57c055ac9d046f88986ceef567e1cf68113e46a79c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f41fe2bddc33c17ccccfc25379b1869354e9ee62d8b28d2acc95229eeba37a86\",\"dweb:/ipfs/Qmb6SF2XL2uSvH6k5JSjtx4Xoqz41ACkhdAhtbW1Yh3RiY\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x4ffc0547c02ad22925310c585c0f166f8759e2648a09e9b489100c42f15dd98d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15f52f51413a9de1ff191e2f6367c62178e1df7806d7880fe857a98b0b66253d\",\"dweb:/ipfs/QmaQG1fwfgUt5E9nu2cccFiV47B2V78MM1tCy1qB7n4MsH\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol\":{\"keccak256\":\"0x2f67d32babbb1619ed0cdd9c3833d76151316d6e1e7f2f30e67e15a1ed1fafc9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d5788b9ba7ea2967b5d5d9e3ffad5a5ffa66f1f186f615f9ae098b01452b1e80\",\"dweb:/ipfs/QmZXM98X2gXtHN9W9EW5tU9EBrCmi82zmSSuUCK6YsGMpc\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol\":{\"keccak256\":\"0xd2dd6003a2dc02ab905fd405938322e510429d19ae6c07c2c683d70f13ab2f36\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://124567a127176d5c1dfc6776c0964b5e8c0ccfa87468b644f1175775f3c140c7\",\"dweb:/ipfs/QmYg33x4W2xC1frf1Btw2bAvs1zox4Eq7Eq9qMkj1FQKNV\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol\":{\"keccak256\":\"0xf41ca991f30855bf80ffd11e9347856a517b977f0a6c2d52e6421a99b7840329\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b2717fd2bdac99daa960a6de500754ea1b932093c946388c381da48658234b95\",\"dweb:/ipfs/QmP6QVMn6UeA3ByahyJbYQr5M6coHKBKsf3ySZSfbyA8R7\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x9b72f93be69ca894d8492c244259615c4a742afc8d63720dbc8bb81087d9b238\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5a7b96e511be78d5cdf635c784e6ab8cdd38625bb8cafb8a80914a1c89cf0f6\",\"dweb:/ipfs/QmVzTCwJxQAkjRQHboT5QrvsVJGWQHgfEjeTbvyxoKBrds\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"node_modules/@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0xda898fa084aa1ddfdb346e6a40459e00a59d87071cce7c315a46d648dd71d0ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce501a941f4aa1555c04dabb5e07992503bb6a9b32ff8f7cdcefdb4a742210cb\",\"dweb:/ipfs/QmeScPrUpdrGYs9BytV3Z5ZWJcBXtuAgCW4BLHua4xFUxx\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x948d8b2d18f38141ec78c5229d770d950ebc781ed3f44cc9e3ccbb9fded5846a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7311ac950ed2d81f3ccf1784a926efbfc82a86dcb5c98d41eb3792c0cac63a2f\",\"dweb:/ipfs/QmRRwCUHewkPmehx8QRYENFoWyLNx8UEZGULxWYUeSZdTS\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0xc3ff3f5c4584e1d9a483ad7ced51ab64523201f4e3d3c65293e4ca8aeb77a961\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7d3dd6067a994690471b5fc71b6f81fac3847798b37d404f74db00b4d3c3d0e\",\"dweb:/ipfs/QmRHF1RarifjNi93RttouNPkYZGyu6CD926PgRDzD5iL35\"]},\"src/contracts/SurplusAuctionHouse.sol\":{\"keccak256\":\"0x082d4c356178d3b14f38798ce089d5bc7dd6320b56ee02abdb95f1bc190a3781\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0b107d0fc87abc430f4fab1e05e9c70f79d040e4bb70ae4e0813ecb0f8f4ee4f\",\"dweb:/ipfs/QmW2w63dfegehjv6d9nsPXmLrQHYbVYh5RbBSp1KpMNb2T\"]},\"src/contracts/utils/Authorizable.sol\":{\"keccak256\":\"0xa1254f44e6dee9058ba5bb22cb580065bc5cfbc91663f5c1a943ad3544c316fe\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://62d2048817aac6045f653610103e44d5bb5974d1b868c7b108670b86100c4809\",\"dweb:/ipfs/QmdX97PLN5Fghe56hLkjYFgm75Zj5ZatzCqCvY6KH8EqcR\"]},\"src/contracts/utils/Disableable.sol\":{\"keccak256\":\"0xfa3b1750f1f4fcb5ba0433bfd1ad2f8ab87d5204a4aaa3ad59cb0820482a00b1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bdff625e26ab8fc0f4446e615fc2d4f9859f3a1231a095bacdc62bc73a93c6a7\",\"dweb:/ipfs/QmVBACHzBF96bxuvMGr3ABVRgrXBRFEYjL2oLj43oC7Jtd\"]},\"src/contracts/utils/Modifiable.sol\":{\"keccak256\":\"0x53a601053bb6dad4e3fcbfe98f72da763892544b60a2f1444d1c3c15c3a74382\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cb3df7e5ca62a674e41de7c2f5d02d855adf90d18fee3ee071d2b7b881d9b6c7\",\"dweb:/ipfs/QmQJSUWDX5iXXGchF2wEEYYWgHUzsxBDFz9tC7GvtCS6op\"]},\"src/interfaces/ISAFEEngine.sol\":{\"keccak256\":\"0x1e7a89a6003c4c4b15a63af3295bfc5c58e9bf2ecbe64738e728b7cf8f59ed7f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b9b0d7c98d237a7ed02ab14c44b5b135da7aa78f5e6431bcd571f88bd81192d\",\"dweb:/ipfs/Qmf7fdAQCnrdtVuh2shw2FtTfiWSjbhCAEKhczbmf79YyZ\"]},\"src/interfaces/ISurplusAuctionHouse.sol\":{\"keccak256\":\"0x2c50e7013ee50bb19e7332e55b6b85ae5ad194f08798c0e55653cf6f52b638ed\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5a77965b8486396382bc109dd4c908c71f8f87eb5378445a7fa7b5f717f316f0\",\"dweb:/ipfs/QmbHtnJU8RFHUga62CYCTxPYNQqstTfH68WEiPvvnt3FvA\"]},\"src/interfaces/tokens/IProtocolToken.sol\":{\"keccak256\":\"0xbe098cd5f116ad4c2bc91735fc8a675e6d7d316a6df2ea17f664bda67cef7213\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf1b001389b37b8797fe90ce6a500bab4083dfe40ad38f61e04ed276ed73d67c\",\"dweb:/ipfs/QmRGBurNEeFBHjCdP784XYK11HMUw88sHxKhH3GvXMSKMB\"]},\"src/interfaces/utils/IAuthorizable.sol\":{\"keccak256\":\"0x773005e00777d5ae2be7ed7ce7d528d45153f3ca842ac2194230e9576bf9a152\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://189474fdeac1a7a1746e512b7b5d1c27b2c3c35c40213cb78ed1b342541a4f8d\",\"dweb:/ipfs/QmNec3XYdTpkzKif1rkGAkzywQEGLt2EenBe9C2KfoDyRW\"]},\"src/interfaces/utils/IDisableable.sol\":{\"keccak256\":\"0xcc1b0e16336bc9d2cb0eb577931edfacf1b9efce6c14ea15d1ffa8db47691a5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ce8ff1228b3af1218e27e1020b4166b88adade0a7d87f6cd6f8ad5b0d026d42\",\"dweb:/ipfs/QmS3we5yCr2979GGtM2UU6Wuo7u6LQvYXJH7yh33ksC9yY\"]},\"src/interfaces/utils/IModifiable.sol\":{\"keccak256\":\"0x57c624f4761abdd5e0e65775fc494c58014d52d74e5465943c0200222da689a1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cabcdfaefb9852eb46668b12b65a54f85f6c6a0af5a9098951d618e263e1342f\",\"dweb:/ipfs/Qmd6MLqxve8fZmBWP2SherwEDBZMrn7dWoQPTp41CoSuNQ\"]},\"src/libraries/Assertions.sol\":{\"keccak256\":\"0xd476ae3f327a9c92cdf3cf2de717c9b5f5614d3064354ecc06f1a970d51ed4ab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://85473da01ab5ae7d95c2473d482428679f62efa4f56cf72b11c53df9f75ea35d\",\"dweb:/ipfs/QmQiyxsWYmnx8YJPUxT4dScrCtqovneNA47gq1w81zVd2W\"]},\"src/libraries/Encoding.sol\":{\"keccak256\":\"0x7335a4447ce2a884af29484bd117a3d69e38aa7d176e31218ee0f01a9eb10fcf\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5225da14fa49472b819aaa6975379c25e988d6b7d1bcedd687dc8f3107b36b6c\",\"dweb:/ipfs/QmaUCLQDsLMuGgjpb2d2X9qVN48iMviHDT1TJAE4zeh1ve\"]},\"src/libraries/Math.sol\":{\"keccak256\":\"0x92e37ade877de0e8d87a59ca0b3df2ce087441cacefe44af3d730b2063d361f3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://dd913b85f244d06fb9a353f8b87722a1366340e7f98661d5a45c03608f73a2bd\",\"dweb:/ipfs/Qma9n52Epck362rkKr75adub3EcKQ2hcqZYSb9FGc7UE47\"]}},\"version\":1}", + "metadata": { + "compiler": { + "version": "0.8.19+commit.7dd6d404" + }, + "language": "Solidity", + "output": { + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_safeEngine", + "type": "address" + }, + { + "internalType": "address", + "name": "_protocolToken", + "type": "address" + }, + { + "internalType": "struct ISurplusAuctionHouse.SurplusAuctionHouseParams", + "name": "_sahParams", + "type": "tuple", + "components": [ + { + "internalType": "uint256", + "name": "bidIncrease", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bidDuration", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalAuctionLength", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "recyclingPercentage", + "type": "uint256" + } + ] + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "type": "error", + "name": "AlreadyAuthorized" + }, + { + "inputs": [], + "type": "error", + "name": "ContractIsDisabled" + }, + { + "inputs": [], + "type": "error", + "name": "ContractIsEnabled" + }, + { + "inputs": [], + "type": "error", + "name": "NonDisableable" + }, + { + "inputs": [], + "type": "error", + "name": "NotAuthorized" + }, + { + "inputs": [], + "type": "error", + "name": "NullAddress" + }, + { + "inputs": [], + "type": "error", + "name": "SAH_AmountsNotMatching" + }, + { + "inputs": [], + "type": "error", + "name": "SAH_AuctionAlreadyExpired" + }, + { + "inputs": [], + "type": "error", + "name": "SAH_AuctionNeverStarted" + }, + { + "inputs": [], + "type": "error", + "name": "SAH_AuctionNotFinished" + }, + { + "inputs": [], + "type": "error", + "name": "SAH_BidAlreadyExpired" + }, + { + "inputs": [], + "type": "error", + "name": "SAH_BidAlreadyPlaced" + }, + { + "inputs": [], + "type": "error", + "name": "SAH_BidNotHigher" + }, + { + "inputs": [], + "type": "error", + "name": "SAH_HighBidderNotSet" + }, + { + "inputs": [], + "type": "error", + "name": "SAH_InsufficientIncrease" + }, + { + "inputs": [], + "type": "error", + "name": "SAH_NullProtTokenReceiver" + }, + { + "inputs": [], + "type": "error", + "name": "Unauthorized" + }, + { + "inputs": [], + "type": "error", + "name": "UnrecognizedCType" + }, + { + "inputs": [], + "type": "error", + "name": "UnrecognizedParam" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address", + "indexed": false + } + ], + "type": "event", + "name": "AddAuthorization", + "anonymous": false + }, + { + "inputs": [], + "type": "event", + "name": "DisableContract", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_id", + "type": "uint256", + "indexed": true + }, + { + "internalType": "address", + "name": "_bidder", + "type": "address", + "indexed": false + }, + { + "internalType": "uint256", + "name": "_blockTimestamp", + "type": "uint256", + "indexed": false + }, + { + "internalType": "uint256", + "name": "_raisedAmount", + "type": "uint256", + "indexed": false + }, + { + "internalType": "uint256", + "name": "_soldAmount", + "type": "uint256", + "indexed": false + }, + { + "internalType": "uint256", + "name": "_bidExpiry", + "type": "uint256", + "indexed": false + } + ], + "type": "event", + "name": "IncreaseBidSize", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_param", + "type": "bytes32", + "indexed": true + }, + { + "internalType": "bytes32", + "name": "_cType", + "type": "bytes32", + "indexed": true + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes", + "indexed": false + } + ], + "type": "event", + "name": "ModifyParameters", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address", + "indexed": false + } + ], + "type": "event", + "name": "RemoveAuthorization", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_id", + "type": "uint256", + "indexed": true + }, + { + "internalType": "uint256", + "name": "_blockTimestamp", + "type": "uint256", + "indexed": false + }, + { + "internalType": "uint256", + "name": "_auctionDeadline", + "type": "uint256", + "indexed": false + } + ], + "type": "event", + "name": "RestartAuction", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_id", + "type": "uint256", + "indexed": true + }, + { + "internalType": "uint256", + "name": "_blockTimestamp", + "type": "uint256", + "indexed": false + }, + { + "internalType": "address", + "name": "_highBidder", + "type": "address", + "indexed": false + }, + { + "internalType": "uint256", + "name": "_raisedAmount", + "type": "uint256", + "indexed": false + } + ], + "type": "event", + "name": "SettleAuction", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_id", + "type": "uint256", + "indexed": true + }, + { + "internalType": "uint256", + "name": "_blockTimestamp", + "type": "uint256", + "indexed": false + }, + { + "internalType": "uint256", + "name": "_amountToSell", + "type": "uint256", + "indexed": false + }, + { + "internalType": "uint256", + "name": "_amountToRaise", + "type": "uint256", + "indexed": false + }, + { + "internalType": "uint256", + "name": "_auctionDeadline", + "type": "uint256", + "indexed": false + } + ], + "type": "event", + "name": "StartAuction", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_id", + "type": "uint256", + "indexed": true + }, + { + "internalType": "uint256", + "name": "_blockTimestamp", + "type": "uint256", + "indexed": false + }, + { + "internalType": "address", + "name": "_highBidder", + "type": "address", + "indexed": false + }, + { + "internalType": "uint256", + "name": "_raisedAmount", + "type": "uint256", + "indexed": false + } + ], + "type": "event", + "name": "TerminateAuctionPrematurely", + "anonymous": false + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "AUCTION_HOUSE_TYPE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "SURPLUS_AUCTION_TYPE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "_auctions", + "outputs": [ + { + "internalType": "uint256", + "name": "bidAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountToSell", + "type": "uint256" + }, + { + "internalType": "address", + "name": "highBidder", + "type": "address" + }, + { + "internalType": "uint256", + "name": "bidExpiry", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "auctionDeadline", + "type": "uint256" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "_params", + "outputs": [ + { + "internalType": "uint256", + "name": "bidIncrease", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bidDuration", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalAuctionLength", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "recyclingPercentage", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "addAuthorization" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_id", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "auctions", + "outputs": [ + { + "internalType": "struct ISurplusAuctionHouse.Auction", + "name": "_auction", + "type": "tuple", + "components": [ + { + "internalType": "uint256", + "name": "bidAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountToSell", + "type": "uint256" + }, + { + "internalType": "address", + "name": "highBidder", + "type": "address" + }, + { + "internalType": "uint256", + "name": "bidExpiry", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "auctionDeadline", + "type": "uint256" + } + ] + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "auctionsStarted", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "authorizedAccounts", + "outputs": [ + { + "internalType": "bool", + "name": "_authorized", + "type": "bool" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "authorizedAccounts", + "outputs": [ + { + "internalType": "address[]", + "name": "_accounts", + "type": "address[]" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "contractEnabled", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "function", + "name": "disableContract" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_amountToBuy", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_bid", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "increaseBidSize" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_cType", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "_param", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "modifyParameters" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_param", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "modifyParameters" + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "params", + "outputs": [ + { + "internalType": "struct ISurplusAuctionHouse.SurplusAuctionHouseParams", + "name": "_sahParams", + "type": "tuple", + "components": [ + { + "internalType": "uint256", + "name": "bidIncrease", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "bidDuration", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalAuctionLength", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "recyclingPercentage", + "type": "uint256" + } + ] + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "protocolToken", + "outputs": [ + { + "internalType": "contract IProtocolToken", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "protocolTokenBidReceiver", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "removeAuthorization" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_id", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "restartAuction" + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "safeEngine", + "outputs": [ + { + "internalType": "contract ISAFEEngine", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_id", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "settleAuction" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amountToSell", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_initialBid", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "startAuction", + "outputs": [ + { + "internalType": "uint256", + "name": "_id", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_id", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "terminateAuctionPrematurely" + } + ], + "devdoc": { + "kind": "dev", + "methods": { + "addAuthorization(address)": { + "params": { + "_account": "Account to add auth to" + } + }, + "authorizedAccounts()": { + "returns": { + "_accounts": "Array of authorized accounts" + } + }, + "authorizedAccounts(address)": { + "returns": { + "_authorized": "Whether the account is authorized or not" + } + }, + "increaseBidSize(uint256,uint256,uint256)": { + "params": { + "_amountToBuy": "Amount of system coins to buy (rad)", + "_bid": "New bid submitted (wad)", + "_id": "ID of the auction you want to submit the bid for" + } + }, + "modifyParameters(bytes32,bytes)": { + "params": { + "_data": "Encoded data to modify the parameter", + "_param": "String identifier of the parameter to modify" + } + }, + "modifyParameters(bytes32,bytes32,bytes)": { + "params": { + "_cType": "String identifier of the collateral to modify", + "_data": "Encoded data to modify the parameter", + "_param": "String identifier of the parameter to modify" + } + }, + "removeAuthorization(address)": { + "params": { + "_account": "Account to remove auth from" + } + }, + "restartAuction(uint256)": { + "params": { + "_id": "ID of the auction to restart" + } + }, + "settleAuction(uint256)": { + "params": { + "_id": "ID of the auction to settle" + } + }, + "startAuction(uint256,uint256)": { + "params": { + "_amountToSell": "Total amount of system coins to sell (rad)", + "_initialBid": "Initial protocol token bid (wad)" + } + }, + "terminateAuctionPrematurely(uint256)": { + "params": { + "_id": "ID of the auction to settle/terminate" + } + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": { + "addAuthorization(address)": { + "notice": "Add auth to an account" + }, + "authorizedAccounts()": { + "notice": "Getter for the authorized accounts" + }, + "authorizedAccounts(address)": { + "notice": "Checks whether an account is authorized" + }, + "increaseBidSize(uint256,uint256,uint256)": { + "notice": "Submit a higher protocol token bid for the same amount of system coins" + }, + "modifyParameters(bytes32,bytes)": { + "notice": "Set a new value for a global specific parameter" + }, + "modifyParameters(bytes32,bytes32,bytes)": { + "notice": "Set a new value for a collateral specific parameter" + }, + "removeAuthorization(address)": { + "notice": "Remove auth from an account" + }, + "restartAuction(uint256)": { + "notice": "Restart an auction if no bids were submitted for it" + }, + "settleAuction(uint256)": { + "notice": "Settle/finish an auction" + }, + "startAuction(uint256,uint256)": { + "notice": "Start a new surplus auction" + }, + "terminateAuctionPrematurely(uint256)": { + "notice": "Terminate an auction prematurely." + } + }, + "version": 1 + } + }, + "settings": { + "remappings": [ + ":@contracts/=src/contracts/", + ":@defi-wonderland/solidity-utils/=node_modules/@defi-wonderland/solidity-utils/solidity/", + ":@interfaces/=src/interfaces/", + ":@libraries/=src/libraries/", + ":@openzeppelin/=node_modules/@openzeppelin/contracts/", + ":@script/=src/script/", + ":@test/=src/test/", + ":@uniswap/=node_modules/@uniswap/", + ":ds-test/=lib/ds-test/src/", + ":forge-std/=lib/forge-std/src/", + ":isolmate/=lib/isolmate/src/", + ":prb-test/=lib/prb-test/src/" + ], + "optimizer": { + "enabled": true, + "runs": 10000 + }, + "metadata": { + "bytecodeHash": "ipfs" + }, + "compilationTarget": { + "src/contracts/SurplusAuctionHouse.sol": "SurplusAuctionHouse" + }, + "libraries": {} + }, + "sources": { + "node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol": { + "keccak256": "0xf5324a55ee9c0b4a840ea57c055ac9d046f88986ceef567e1cf68113e46a79c0", + "urls": [ + "bzz-raw://f41fe2bddc33c17ccccfc25379b1869354e9ee62d8b28d2acc95229eeba37a86", + "dweb:/ipfs/Qmb6SF2XL2uSvH6k5JSjtx4Xoqz41ACkhdAhtbW1Yh3RiY" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { + "keccak256": "0x4ffc0547c02ad22925310c585c0f166f8759e2648a09e9b489100c42f15dd98d", + "urls": [ + "bzz-raw://15f52f51413a9de1ff191e2f6367c62178e1df7806d7880fe857a98b0b66253d", + "dweb:/ipfs/QmaQG1fwfgUt5E9nu2cccFiV47B2V78MM1tCy1qB7n4MsH" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { + "keccak256": "0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b", + "urls": [ + "bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34", + "dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol": { + "keccak256": "0x2f67d32babbb1619ed0cdd9c3833d76151316d6e1e7f2f30e67e15a1ed1fafc9", + "urls": [ + "bzz-raw://d5788b9ba7ea2967b5d5d9e3ffad5a5ffa66f1f186f615f9ae098b01452b1e80", + "dweb:/ipfs/QmZXM98X2gXtHN9W9EW5tU9EBrCmi82zmSSuUCK6YsGMpc" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol": { + "keccak256": "0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca", + "urls": [ + "bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd", + "dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol": { + "keccak256": "0xd2dd6003a2dc02ab905fd405938322e510429d19ae6c07c2c683d70f13ab2f36", + "urls": [ + "bzz-raw://124567a127176d5c1dfc6776c0964b5e8c0ccfa87468b644f1175775f3c140c7", + "dweb:/ipfs/QmYg33x4W2xC1frf1Btw2bAvs1zox4Eq7Eq9qMkj1FQKNV" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol": { + "keccak256": "0xf41ca991f30855bf80ffd11e9347856a517b977f0a6c2d52e6421a99b7840329", + "urls": [ + "bzz-raw://b2717fd2bdac99daa960a6de500754ea1b932093c946388c381da48658234b95", + "dweb:/ipfs/QmP6QVMn6UeA3ByahyJbYQr5M6coHKBKsf3ySZSfbyA8R7" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol": { + "keccak256": "0x9b72f93be69ca894d8492c244259615c4a742afc8d63720dbc8bb81087d9b238", + "urls": [ + "bzz-raw://f5a7b96e511be78d5cdf635c784e6ab8cdd38625bb8cafb8a80914a1c89cf0f6", + "dweb:/ipfs/QmVzTCwJxQAkjRQHboT5QrvsVJGWQHgfEjeTbvyxoKBrds" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/Address.sol": { + "keccak256": "0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1", + "urls": [ + "bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269", + "dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/Context.sol": { + "keccak256": "0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7", + "urls": [ + "bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92", + "dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/Counters.sol": { + "keccak256": "0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1", + "urls": [ + "bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee", + "dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/Strings.sol": { + "keccak256": "0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a", + "urls": [ + "bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634", + "dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol": { + "keccak256": "0xda898fa084aa1ddfdb346e6a40459e00a59d87071cce7c315a46d648dd71d0ba", + "urls": [ + "bzz-raw://ce501a941f4aa1555c04dabb5e07992503bb6a9b32ff8f7cdcefdb4a742210cb", + "dweb:/ipfs/QmeScPrUpdrGYs9BytV3Z5ZWJcBXtuAgCW4BLHua4xFUxx" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/cryptography/EIP712.sol": { + "keccak256": "0x948d8b2d18f38141ec78c5229d770d950ebc781ed3f44cc9e3ccbb9fded5846a", + "urls": [ + "bzz-raw://7311ac950ed2d81f3ccf1784a926efbfc82a86dcb5c98d41eb3792c0cac63a2f", + "dweb:/ipfs/QmRRwCUHewkPmehx8QRYENFoWyLNx8UEZGULxWYUeSZdTS" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/math/Math.sol": { + "keccak256": "0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6", + "urls": [ + "bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b", + "dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol": { + "keccak256": "0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad", + "urls": [ + "bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278", + "dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol": { + "keccak256": "0xc3ff3f5c4584e1d9a483ad7ced51ab64523201f4e3d3c65293e4ca8aeb77a961", + "urls": [ + "bzz-raw://d7d3dd6067a994690471b5fc71b6f81fac3847798b37d404f74db00b4d3c3d0e", + "dweb:/ipfs/QmRHF1RarifjNi93RttouNPkYZGyu6CD926PgRDzD5iL35" + ], + "license": "MIT" + }, + "src/contracts/SurplusAuctionHouse.sol": { + "keccak256": "0x082d4c356178d3b14f38798ce089d5bc7dd6320b56ee02abdb95f1bc190a3781", + "urls": [ + "bzz-raw://0b107d0fc87abc430f4fab1e05e9c70f79d040e4bb70ae4e0813ecb0f8f4ee4f", + "dweb:/ipfs/QmW2w63dfegehjv6d9nsPXmLrQHYbVYh5RbBSp1KpMNb2T" + ], + "license": "GPL-3.0" + }, + "src/contracts/utils/Authorizable.sol": { + "keccak256": "0xa1254f44e6dee9058ba5bb22cb580065bc5cfbc91663f5c1a943ad3544c316fe", + "urls": [ + "bzz-raw://62d2048817aac6045f653610103e44d5bb5974d1b868c7b108670b86100c4809", + "dweb:/ipfs/QmdX97PLN5Fghe56hLkjYFgm75Zj5ZatzCqCvY6KH8EqcR" + ], + "license": "GPL-3.0" + }, + "src/contracts/utils/Disableable.sol": { + "keccak256": "0xfa3b1750f1f4fcb5ba0433bfd1ad2f8ab87d5204a4aaa3ad59cb0820482a00b1", + "urls": [ + "bzz-raw://bdff625e26ab8fc0f4446e615fc2d4f9859f3a1231a095bacdc62bc73a93c6a7", + "dweb:/ipfs/QmVBACHzBF96bxuvMGr3ABVRgrXBRFEYjL2oLj43oC7Jtd" + ], + "license": "GPL-3.0" + }, + "src/contracts/utils/Modifiable.sol": { + "keccak256": "0x53a601053bb6dad4e3fcbfe98f72da763892544b60a2f1444d1c3c15c3a74382", + "urls": [ + "bzz-raw://cb3df7e5ca62a674e41de7c2f5d02d855adf90d18fee3ee071d2b7b881d9b6c7", + "dweb:/ipfs/QmQJSUWDX5iXXGchF2wEEYYWgHUzsxBDFz9tC7GvtCS6op" + ], + "license": "GPL-3.0" + }, + "src/interfaces/ISAFEEngine.sol": { + "keccak256": "0x1e7a89a6003c4c4b15a63af3295bfc5c58e9bf2ecbe64738e728b7cf8f59ed7f", + "urls": [ + "bzz-raw://6b9b0d7c98d237a7ed02ab14c44b5b135da7aa78f5e6431bcd571f88bd81192d", + "dweb:/ipfs/Qmf7fdAQCnrdtVuh2shw2FtTfiWSjbhCAEKhczbmf79YyZ" + ], + "license": "GPL-3.0" + }, + "src/interfaces/ISurplusAuctionHouse.sol": { + "keccak256": "0x2c50e7013ee50bb19e7332e55b6b85ae5ad194f08798c0e55653cf6f52b638ed", + "urls": [ + "bzz-raw://5a77965b8486396382bc109dd4c908c71f8f87eb5378445a7fa7b5f717f316f0", + "dweb:/ipfs/QmbHtnJU8RFHUga62CYCTxPYNQqstTfH68WEiPvvnt3FvA" + ], + "license": "GPL-3.0" + }, + "src/interfaces/tokens/IProtocolToken.sol": { + "keccak256": "0xbe098cd5f116ad4c2bc91735fc8a675e6d7d316a6df2ea17f664bda67cef7213", + "urls": [ + "bzz-raw://bf1b001389b37b8797fe90ce6a500bab4083dfe40ad38f61e04ed276ed73d67c", + "dweb:/ipfs/QmRGBurNEeFBHjCdP784XYK11HMUw88sHxKhH3GvXMSKMB" + ], + "license": "GPL-3.0" + }, + "src/interfaces/utils/IAuthorizable.sol": { + "keccak256": "0x773005e00777d5ae2be7ed7ce7d528d45153f3ca842ac2194230e9576bf9a152", + "urls": [ + "bzz-raw://189474fdeac1a7a1746e512b7b5d1c27b2c3c35c40213cb78ed1b342541a4f8d", + "dweb:/ipfs/QmNec3XYdTpkzKif1rkGAkzywQEGLt2EenBe9C2KfoDyRW" + ], + "license": "GPL-3.0" + }, + "src/interfaces/utils/IDisableable.sol": { + "keccak256": "0xcc1b0e16336bc9d2cb0eb577931edfacf1b9efce6c14ea15d1ffa8db47691a5f", + "urls": [ + "bzz-raw://2ce8ff1228b3af1218e27e1020b4166b88adade0a7d87f6cd6f8ad5b0d026d42", + "dweb:/ipfs/QmS3we5yCr2979GGtM2UU6Wuo7u6LQvYXJH7yh33ksC9yY" + ], + "license": "GPL-3.0" + }, + "src/interfaces/utils/IModifiable.sol": { + "keccak256": "0x57c624f4761abdd5e0e65775fc494c58014d52d74e5465943c0200222da689a1", + "urls": [ + "bzz-raw://cabcdfaefb9852eb46668b12b65a54f85f6c6a0af5a9098951d618e263e1342f", + "dweb:/ipfs/Qmd6MLqxve8fZmBWP2SherwEDBZMrn7dWoQPTp41CoSuNQ" + ], + "license": "GPL-3.0" + }, + "src/libraries/Assertions.sol": { + "keccak256": "0xd476ae3f327a9c92cdf3cf2de717c9b5f5614d3064354ecc06f1a970d51ed4ab", + "urls": [ + "bzz-raw://85473da01ab5ae7d95c2473d482428679f62efa4f56cf72b11c53df9f75ea35d", + "dweb:/ipfs/QmQiyxsWYmnx8YJPUxT4dScrCtqovneNA47gq1w81zVd2W" + ], + "license": "GPL-3.0" + }, + "src/libraries/Encoding.sol": { + "keccak256": "0x7335a4447ce2a884af29484bd117a3d69e38aa7d176e31218ee0f01a9eb10fcf", + "urls": [ + "bzz-raw://5225da14fa49472b819aaa6975379c25e988d6b7d1bcedd687dc8f3107b36b6c", + "dweb:/ipfs/QmaUCLQDsLMuGgjpb2d2X9qVN48iMviHDT1TJAE4zeh1ve" + ], + "license": "GPL-3.0" + }, + "src/libraries/Math.sol": { + "keccak256": "0x92e37ade877de0e8d87a59ca0b3df2ce087441cacefe44af3d730b2063d361f3", + "urls": [ + "bzz-raw://dd913b85f244d06fb9a353f8b87722a1366340e7f98661d5a45c03608f73a2bd", + "dweb:/ipfs/Qma9n52Epck362rkKr75adub3EcKQ2hcqZYSb9FGc7UE47" + ], + "license": "GPL-3.0" + } + }, + "version": 1 + }, + "ast": { + "absolutePath": "src/contracts/SurplusAuctionHouse.sol", + "id": 46782, + "exportedSymbols": { + "Assertions": [63856], + "Authorizable": [58784], + "Disableable": [59179], + "Encoding": [63895], + "IProtocolToken": [63246], + "ISAFEEngine": [61383], + "ISurplusAuctionHouse": [61826], + "Math": [64296], + "Modifiable": [59438], + "SafeERC20": [31407], + "SurplusAuctionHouse": [46781], + "WAD": [63921] + }, + "nodeType": "SourceUnit", + "src": "36:8072:59", + "nodes": [ + { + "id": 46108, + "nodeType": "PragmaDirective", + "src": "36:23:59", + "nodes": [], + "literals": ["solidity", "0.8", ".19"] + }, + { + "id": 46110, + "nodeType": "ImportDirective", + "src": "61:74:59", + "nodes": [], + "absolutePath": "src/interfaces/ISurplusAuctionHouse.sol", + "file": "@interfaces/ISurplusAuctionHouse.sol", + "nameLocation": "-1:-1:-1", + "scope": 46782, + "sourceUnit": 61827, + "symbolAliases": [ + { + "foreign": { + "id": 46109, + "name": "ISurplusAuctionHouse", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61826, + "src": "69:20:59", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 46112, + "nodeType": "ImportDirective", + "src": "136:56:59", + "nodes": [], + "absolutePath": "src/interfaces/ISAFEEngine.sol", + "file": "@interfaces/ISAFEEngine.sol", + "nameLocation": "-1:-1:-1", + "scope": 46782, + "sourceUnit": 61384, + "symbolAliases": [ + { + "foreign": { + "id": 46111, + "name": "ISAFEEngine", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61383, + "src": "144:11:59", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 46114, + "nodeType": "ImportDirective", + "src": "193:69:59", + "nodes": [], + "absolutePath": "src/interfaces/tokens/IProtocolToken.sol", + "file": "@interfaces/tokens/IProtocolToken.sol", + "nameLocation": "-1:-1:-1", + "scope": 46782, + "sourceUnit": 63247, + "symbolAliases": [ + { + "foreign": { + "id": 46113, + "name": "IProtocolToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 63246, + "src": "201:14:59", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 46116, + "nodeType": "ImportDirective", + "src": "264:63:59", + "nodes": [], + "absolutePath": "src/contracts/utils/Authorizable.sol", + "file": "@contracts/utils/Authorizable.sol", + "nameLocation": "-1:-1:-1", + "scope": 46782, + "sourceUnit": 58785, + "symbolAliases": [ + { + "foreign": { + "id": 46115, + "name": "Authorizable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 58784, + "src": "272:12:59", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 46118, + "nodeType": "ImportDirective", + "src": "328:59:59", + "nodes": [], + "absolutePath": "src/contracts/utils/Modifiable.sol", + "file": "@contracts/utils/Modifiable.sol", + "nameLocation": "-1:-1:-1", + "scope": 46782, + "sourceUnit": 59439, + "symbolAliases": [ + { + "foreign": { + "id": 46117, + "name": "Modifiable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 59438, + "src": "336:10:59", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 46120, + "nodeType": "ImportDirective", + "src": "388:61:59", + "nodes": [], + "absolutePath": "src/contracts/utils/Disableable.sol", + "file": "@contracts/utils/Disableable.sol", + "nameLocation": "-1:-1:-1", + "scope": 46782, + "sourceUnit": 59180, + "symbolAliases": [ + { + "foreign": { + "id": 46119, + "name": "Disableable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 59179, + "src": "396:11:59", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 46122, + "nodeType": "ImportDirective", + "src": "451:72:59", + "nodes": [], + "absolutePath": "node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol", + "file": "@openzeppelin/token/ERC20/utils/SafeERC20.sol", + "nameLocation": "-1:-1:-1", + "scope": 46782, + "sourceUnit": 31408, + "symbolAliases": [ + { + "foreign": { + "id": 46121, + "name": "SafeERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31407, + "src": "459:9:59", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 46124, + "nodeType": "ImportDirective", + "src": "524:49:59", + "nodes": [], + "absolutePath": "src/libraries/Encoding.sol", + "file": "@libraries/Encoding.sol", + "nameLocation": "-1:-1:-1", + "scope": 46782, + "sourceUnit": 63896, + "symbolAliases": [ + { + "foreign": { + "id": 46123, + "name": "Encoding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 63895, + "src": "532:8:59", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 46126, + "nodeType": "ImportDirective", + "src": "574:53:59", + "nodes": [], + "absolutePath": "src/libraries/Assertions.sol", + "file": "@libraries/Assertions.sol", + "nameLocation": "-1:-1:-1", + "scope": 46782, + "sourceUnit": 63857, + "symbolAliases": [ + { + "foreign": { + "id": 46125, + "name": "Assertions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 63856, + "src": "582:10:59", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 46129, + "nodeType": "ImportDirective", + "src": "628:46:59", + "nodes": [], + "absolutePath": "src/libraries/Math.sol", + "file": "@libraries/Math.sol", + "nameLocation": "-1:-1:-1", + "scope": 46782, + "sourceUnit": 64297, + "symbolAliases": [ + { + "foreign": { + "id": 46127, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 64296, + "src": "636:4:59", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 46128, + "name": "WAD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 63921, + "src": "642:3:59", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 46781, + "nodeType": "ContractDefinition", + "src": "815:7292:59", + "nodes": [ + { + "id": 46140, + "nodeType": "UsingForDirective", + "src": "911:23:59", + "nodes": [], + "global": false, + "libraryName": { + "id": 46138, + "name": "Math", + "nameLocations": ["917:4:59"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 64296, + "src": "917:4:59" + }, + "typeName": { + "id": 46139, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "926:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "id": 46143, + "nodeType": "UsingForDirective", + "src": "937:25:59", + "nodes": [], + "global": false, + "libraryName": { + "id": 46141, + "name": "Encoding", + "nameLocations": ["943:8:59"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 63895, + "src": "943:8:59" + }, + "typeName": { + "id": 46142, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "956:5:59", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + { + "id": 46146, + "nodeType": "UsingForDirective", + "src": "965:29:59", + "nodes": [], + "global": false, + "libraryName": { + "id": 46144, + "name": "Assertions", + "nameLocations": ["971:10:59"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 63856, + "src": "971:10:59" + }, + "typeName": { + "id": 46145, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "986:7:59", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + { + "id": 46150, + "nodeType": "UsingForDirective", + "src": "997:35:59", + "nodes": [], + "global": false, + "libraryName": { + "id": 46147, + "name": "SafeERC20", + "nameLocations": ["1003:9:59"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 31407, + "src": "1003:9:59" + }, + "typeName": { + "id": 46149, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 46148, + "name": "IProtocolToken", + "nameLocations": ["1017:14:59"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 63246, + "src": "1017:14:59" + }, + "referencedDeclaration": 63246, + "src": "1017:14:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IProtocolToken_$63246", + "typeString": "contract IProtocolToken" + } + } + }, + { + "id": 46156, + "nodeType": "VariableDeclaration", + "src": "1036:63:59", + "nodes": [], + "baseFunctions": [61725], + "constant": true, + "functionSelector": "1266fb94", + "mutability": "constant", + "name": "AUCTION_HOUSE_TYPE", + "nameLocation": "1060:18:59", + "scope": 46781, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 46151, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1036:7:59", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "535552504c5553", + "id": 46154, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1089:9:59", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cf9cd083f23f5411beac49cd2ba98c861ed7323538a634029b9a1a6796b8bacd", + "typeString": "literal_string \"SURPLUS\"" + }, + "value": "SURPLUS" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_cf9cd083f23f5411beac49cd2ba98c861ed7323538a634029b9a1a6796b8bacd", + "typeString": "literal_string \"SURPLUS\"" + } + ], + "id": 46153, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1081:7:59", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 46152, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1081:7:59", + "typeDescriptions": {} + } + }, + "id": 46155, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1081:18:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "id": 46162, + "nodeType": "VariableDeclaration", + "src": "1103:69:59", + "nodes": [], + "baseFunctions": [61730], + "constant": true, + "functionSelector": "619ed1f8", + "mutability": "constant", + "name": "SURPLUS_AUCTION_TYPE", + "nameLocation": "1127:20:59", + "scope": 46781, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 46157, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1103:7:59", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "4d495845442d5354524154", + "id": 46160, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1158:13:59", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2192ea9783c499cfbecee4532aa498854fafc2cff40ae2a61e83d5f7b1598417", + "typeString": "literal_string \"MIXED-STRAT\"" + }, + "value": "MIXED-STRAT" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_2192ea9783c499cfbecee4532aa498854fafc2cff40ae2a61e83d5f7b1598417", + "typeString": "literal_string \"MIXED-STRAT\"" + } + ], + "id": 46159, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1150:7:59", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 46158, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1150:7:59", + "typeDescriptions": {} + } + }, + "id": 46161, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1150:22:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "id": 46167, + "nodeType": "VariableDeclaration", + "src": "1294:44:59", + "nodes": [], + "baseFunctions": [61753], + "constant": false, + "functionSelector": "17dc6bf6", + "mutability": "mutable", + "name": "_auctions", + "nameLocation": "1329:9:59", + "scope": 46781, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Auction_$61711_storage_$", + "typeString": "mapping(uint256 => struct ISurplusAuctionHouse.Auction)" + }, + "typeName": { + "id": 46166, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 46163, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1302:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "1294:27:59", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Auction_$61711_storage_$", + "typeString": "mapping(uint256 => struct ISurplusAuctionHouse.Auction)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 46165, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 46164, + "name": "Auction", + "nameLocations": ["1313:7:59"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 61711, + "src": "1313:7:59" + }, + "referencedDeclaration": 61711, + "src": "1313:7:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_storage_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction" + } + } + }, + "visibility": "public" + }, + { + "id": 46180, + "nodeType": "FunctionDefinition", + "src": "1343:111:59", + "nodes": [], + "body": { + "id": 46179, + "nodeType": "Block", + "src": "1422:32:59", + "nodes": [], + "statements": [ + { + "expression": { + "baseExpression": { + "id": 46175, + "name": "_auctions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46167, + "src": "1435:9:59", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Auction_$61711_storage_$", + "typeString": "mapping(uint256 => struct ISurplusAuctionHouse.Auction storage ref)" + } + }, + "id": 46177, + "indexExpression": { + "id": 46176, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46169, + "src": "1445:3:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1435:14:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_storage", + "typeString": "struct ISurplusAuctionHouse.Auction storage ref" + } + }, + "functionReturnParameters": 46174, + "id": 46178, + "nodeType": "Return", + "src": "1428:21:59" + } + ] + }, + "baseFunctions": [61738], + "functionSelector": "571a26a0", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "auctions", + "nameLocation": "1352:8:59", + "parameters": { + "id": 46170, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 46169, + "mutability": "mutable", + "name": "_id", + "nameLocation": "1369:3:59", + "nodeType": "VariableDeclaration", + "scope": 46180, + "src": "1361:11:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 46168, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1361:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1360:13:59" + }, + "returnParameters": { + "id": 46174, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 46173, + "mutability": "mutable", + "name": "_auction", + "nameLocation": "1412:8:59", + "nodeType": "VariableDeclaration", + "scope": 46180, + "src": "1397:23:59", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_memory_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction" + }, + "typeName": { + "id": 46172, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 46171, + "name": "Auction", + "nameLocations": ["1397:7:59"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 61711, + "src": "1397:7:59" + }, + "referencedDeclaration": 61711, + "src": "1397:7:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_storage_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction" + } + }, + "visibility": "internal" + } + ], + "src": "1396:25:59" + }, + "scope": 46781, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 46182, + "nodeType": "VariableDeclaration", + "src": "1503:30:59", + "nodes": [], + "baseFunctions": [61758], + "constant": false, + "functionSelector": "551cb3b1", + "mutability": "mutable", + "name": "auctionsStarted", + "nameLocation": "1518:15:59", + "scope": 46781, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 46181, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1503:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "public" + }, + { + "id": 46185, + "nodeType": "VariableDeclaration", + "src": "1579:29:59", + "nodes": [], + "baseFunctions": [61764], + "constant": false, + "functionSelector": "67aea313", + "mutability": "mutable", + "name": "safeEngine", + "nameLocation": "1598:10:59", + "scope": 46781, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ISAFEEngine_$61383", + "typeString": "contract ISAFEEngine" + }, + "typeName": { + "id": 46184, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 46183, + "name": "ISAFEEngine", + "nameLocations": ["1579:11:59"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 61383, + "src": "1579:11:59" + }, + "referencedDeclaration": 61383, + "src": "1579:11:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ISAFEEngine_$61383", + "typeString": "contract ISAFEEngine" + } + }, + "visibility": "public" + }, + { + "id": 46188, + "nodeType": "VariableDeclaration", + "src": "1640:35:59", + "nodes": [], + "baseFunctions": [61770], + "constant": false, + "functionSelector": "1a465fe1", + "mutability": "mutable", + "name": "protocolToken", + "nameLocation": "1662:13:59", + "scope": 46781, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IProtocolToken_$63246", + "typeString": "contract IProtocolToken" + }, + "typeName": { + "id": 46187, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 46186, + "name": "IProtocolToken", + "nameLocations": ["1640:14:59"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 63246, + "src": "1640:14:59" + }, + "referencedDeclaration": 63246, + "src": "1640:14:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IProtocolToken_$63246", + "typeString": "contract IProtocolToken" + } + }, + "visibility": "public" + }, + { + "id": 46190, + "nodeType": "VariableDeclaration", + "src": "1712:39:59", + "nodes": [], + "baseFunctions": [61775], + "constant": false, + "functionSelector": "f0ed4db0", + "mutability": "mutable", + "name": "protocolTokenBidReceiver", + "nameLocation": "1727:24:59", + "scope": 46781, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 46189, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1712:7:59", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "public" + }, + { + "id": 46193, + "nodeType": "VariableDeclaration", + "src": "1839:40:59", + "nodes": [], + "baseFunctions": [61792], + "constant": false, + "functionSelector": "552b16ab", + "mutability": "mutable", + "name": "_params", + "nameLocation": "1872:7:59", + "scope": 46781, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SurplusAuctionHouseParams_$61720_storage", + "typeString": "struct ISurplusAuctionHouse.SurplusAuctionHouseParams" + }, + "typeName": { + "id": 46192, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 46191, + "name": "SurplusAuctionHouseParams", + "nameLocations": ["1839:25:59"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 61720, + "src": "1839:25:59" + }, + "referencedDeclaration": 61720, + "src": "1839:25:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SurplusAuctionHouseParams_$61720_storage_ptr", + "typeString": "struct ISurplusAuctionHouse.SurplusAuctionHouseParams" + } + }, + "visibility": "public" + }, + { + "id": 46202, + "nodeType": "FunctionDefinition", + "src": "1884:111:59", + "nodes": [], + "body": { + "id": 46201, + "nodeType": "Block", + "src": "1970:25:59", + "nodes": [], + "statements": [ + { + "expression": { + "id": 46199, + "name": "_params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46193, + "src": "1983:7:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SurplusAuctionHouseParams_$61720_storage", + "typeString": "struct ISurplusAuctionHouse.SurplusAuctionHouseParams storage ref" + } + }, + "functionReturnParameters": 46198, + "id": 46200, + "nodeType": "Return", + "src": "1976:14:59" + } + ] + }, + "baseFunctions": [61781], + "functionSelector": "cff0ab96", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "params", + "nameLocation": "1893:6:59", + "parameters": { + "id": 46194, + "nodeType": "ParameterList", + "parameters": [], + "src": "1899:2:59" + }, + "returnParameters": { + "id": 46198, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 46197, + "mutability": "mutable", + "name": "_sahParams", + "nameLocation": "1958:10:59", + "nodeType": "VariableDeclaration", + "scope": 46202, + "src": "1925:43:59", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SurplusAuctionHouseParams_$61720_memory_ptr", + "typeString": "struct ISurplusAuctionHouse.SurplusAuctionHouseParams" + }, + "typeName": { + "id": 46196, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 46195, + "name": "SurplusAuctionHouseParams", + "nameLocations": ["1925:25:59"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 61720, + "src": "1925:25:59" + }, + "referencedDeclaration": 61720, + "src": "1925:25:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SurplusAuctionHouseParams_$61720_storage_ptr", + "typeString": "struct ISurplusAuctionHouse.SurplusAuctionHouseParams" + } + }, + "visibility": "internal" + } + ], + "src": "1924:45:59" + }, + "scope": 46781, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 46239, + "nodeType": "FunctionDefinition", + "src": "2017:314:59", + "nodes": [], + "body": { + "id": 46238, + "nodeType": "Block", + "src": "2172:159:59", + "nodes": [], + "statements": [ + { + "expression": { + "id": 46224, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 46218, + "name": "safeEngine", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46185, + "src": "2178:10:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ISAFEEngine_$61383", + "typeString": "contract ISAFEEngine" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 46220, + "name": "_safeEngine", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46204, + "src": "2203:11:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 46221, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2215:13:59", + "memberName": "assertNonNull", + "nodeType": "MemberAccess", + "referencedDeclaration": 63855, + "src": "2203:25:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_address_$attached_to$_t_address_$", + "typeString": "function (address) pure returns (address)" + } + }, + "id": 46222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2203:27:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 46219, + "name": "ISAFEEngine", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61383, + "src": "2191:11:59", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ISAFEEngine_$61383_$", + "typeString": "type(contract ISAFEEngine)" + } + }, + "id": 46223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2191:40:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_ISAFEEngine_$61383", + "typeString": "contract ISAFEEngine" + } + }, + "src": "2178:53:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ISAFEEngine_$61383", + "typeString": "contract ISAFEEngine" + } + }, + "id": 46225, + "nodeType": "ExpressionStatement", + "src": "2178:53:59" + }, + { + "expression": { + "id": 46232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 46226, + "name": "protocolToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46188, + "src": "2237:13:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IProtocolToken_$63246", + "typeString": "contract IProtocolToken" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 46228, + "name": "_protocolToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46206, + "src": "2268:14:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 46229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2283:13:59", + "memberName": "assertNonNull", + "nodeType": "MemberAccess", + "referencedDeclaration": 63855, + "src": "2268:28:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_address_$attached_to$_t_address_$", + "typeString": "function (address) pure returns (address)" + } + }, + "id": 46230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2268:30:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 46227, + "name": "IProtocolToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 63246, + "src": "2253:14:59", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IProtocolToken_$63246_$", + "typeString": "type(contract IProtocolToken)" + } + }, + "id": 46231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2253:46:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IProtocolToken_$63246", + "typeString": "contract IProtocolToken" + } + }, + "src": "2237:62:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IProtocolToken_$63246", + "typeString": "contract IProtocolToken" + } + }, + "id": 46233, + "nodeType": "ExpressionStatement", + "src": "2237:62:59" + }, + { + "expression": { + "id": 46236, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 46234, + "name": "_params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46193, + "src": "2306:7:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SurplusAuctionHouseParams_$61720_storage", + "typeString": "struct ISurplusAuctionHouse.SurplusAuctionHouseParams storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 46235, + "name": "_sahParams", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46209, + "src": "2316:10:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SurplusAuctionHouseParams_$61720_memory_ptr", + "typeString": "struct ISurplusAuctionHouse.SurplusAuctionHouseParams memory" + } + }, + "src": "2306:20:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SurplusAuctionHouseParams_$61720_storage", + "typeString": "struct ISurplusAuctionHouse.SurplusAuctionHouseParams storage ref" + } + }, + "id": 46237, + "nodeType": "ExpressionStatement", + "src": "2306:20:59" + } + ] + }, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "expression": { + "id": 46212, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2148:3:59", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 46213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2152:6:59", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2148:10:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 46214, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 46211, + "name": "Authorizable", + "nameLocations": ["2135:12:59"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 58784, + "src": "2135:12:59" + }, + "nodeType": "ModifierInvocation", + "src": "2135:24:59" + }, + { + "id": 46216, + "kind": "modifierInvocation", + "modifierName": { + "id": 46215, + "name": "validParams", + "nameLocations": ["2160:11:59"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 59427, + "src": "2160:11:59" + }, + "nodeType": "ModifierInvocation", + "src": "2160:11:59" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "parameters": { + "id": 46210, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 46204, + "mutability": "mutable", + "name": "_safeEngine", + "nameLocation": "2042:11:59", + "nodeType": "VariableDeclaration", + "scope": 46239, + "src": "2034:19:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 46203, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2034:7:59", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 46206, + "mutability": "mutable", + "name": "_protocolToken", + "nameLocation": "2067:14:59", + "nodeType": "VariableDeclaration", + "scope": 46239, + "src": "2059:22:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 46205, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2059:7:59", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 46209, + "mutability": "mutable", + "name": "_sahParams", + "nameLocation": "2120:10:59", + "nodeType": "VariableDeclaration", + "scope": 46239, + "src": "2087:43:59", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SurplusAuctionHouseParams_$61720_memory_ptr", + "typeString": "struct ISurplusAuctionHouse.SurplusAuctionHouseParams" + }, + "typeName": { + "id": 46208, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 46207, + "name": "SurplusAuctionHouseParams", + "nameLocations": ["2087:25:59"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 61720, + "src": "2087:25:59" + }, + "referencedDeclaration": 61720, + "src": "2087:25:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SurplusAuctionHouseParams_$61720_storage_ptr", + "typeString": "struct ISurplusAuctionHouse.SurplusAuctionHouseParams" + } + }, + "visibility": "internal" + } + ], + "src": "2028:106:59" + }, + "returnParameters": { + "id": 46217, + "nodeType": "ParameterList", + "parameters": [], + "src": "2172:0:59" + }, + "scope": 46781, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 46267, + "nodeType": "FunctionDefinition", + "src": "2446:198:59", + "nodes": [], + "body": { + "id": 46266, + "nodeType": "Block", + "src": "2494:150:59", + "nodes": [], + "statements": [ + { + "assignments": [46245], + "declarations": [ + { + "constant": false, + "id": 46245, + "mutability": "mutable", + "name": "_coinBalance", + "nameLocation": "2508:12:59", + "nodeType": "VariableDeclaration", + "scope": 46266, + "src": "2500:20:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 46244, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2500:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 46253, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "id": 46250, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "2554:4:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SurplusAuctionHouse_$46781", + "typeString": "contract SurplusAuctionHouse" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_SurplusAuctionHouse_$46781", + "typeString": "contract SurplusAuctionHouse" + } + ], + "id": 46249, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2546:7:59", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 46248, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2546:7:59", + "typeDescriptions": {} + } + }, + "id": 46251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2546:13:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 46246, + "name": "safeEngine", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46185, + "src": "2523:10:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ISAFEEngine_$61383", + "typeString": "contract ISAFEEngine" + } + }, + "id": 46247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2534:11:59", + "memberName": "coinBalance", + "nodeType": "MemberAccess", + "referencedDeclaration": 61138, + "src": "2523:22:59", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 46252, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2523:37:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2500:60:59" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 46259, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "2607:4:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SurplusAuctionHouse_$46781", + "typeString": "contract SurplusAuctionHouse" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_SurplusAuctionHouse_$46781", + "typeString": "contract SurplusAuctionHouse" + } + ], + "id": 46258, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2599:7:59", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 46257, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2599:7:59", + "typeDescriptions": {} + } + }, + "id": 46260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2599:13:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 46261, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2614:3:59", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 46262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2618:6:59", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2614:10:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 46263, + "name": "_coinBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46245, + "src": "2626:12:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 46254, + "name": "safeEngine", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46185, + "src": "2566:10:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ISAFEEngine_$61383", + "typeString": "contract ISAFEEngine" + } + }, + "id": 46256, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2577:21:59", + "memberName": "transferInternalCoins", + "nodeType": "MemberAccess", + "referencedDeclaration": 61159, + "src": "2566:32:59", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256) external" + } + }, + "id": 46264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2566:73:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 46265, + "nodeType": "ExpressionStatement", + "src": "2566:73:59" + } + ] + }, + "baseFunctions": [59149], + "documentation": { + "id": 46240, + "nodeType": "StructuredDocumentation", + "src": "2358:85:59", + "text": " @notice Disable the auction house (usually called by AccountingEngine)" + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_onContractDisable", + "nameLocation": "2455:18:59", + "overrides": { + "id": 46242, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2485:8:59" + }, + "parameters": { + "id": 46241, + "nodeType": "ParameterList", + "parameters": [], + "src": "2473:2:59" + }, + "returnParameters": { + "id": 46243, + "nodeType": "ParameterList", + "parameters": [], + "src": "2494:0:59" + }, + "scope": 46781, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 46343, + "nodeType": "FunctionDefinition", + "src": "2848:807:59", + "nodes": [], + "body": { + "id": 46342, + "nodeType": "Block", + "src": "2982:673:59", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 46291, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 46286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 46281, + "name": "protocolTokenBidReceiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46190, + "src": "2992:24:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 46284, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3028:1:59", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 46283, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3020:7:59", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 46282, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3020:7:59", + "typeDescriptions": {} + } + }, + "id": 46285, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3020:10:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2992:38:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 46290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 46287, + "name": "_params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46193, + "src": "3034:7:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SurplusAuctionHouseParams_$61720_storage", + "typeString": "struct ISurplusAuctionHouse.SurplusAuctionHouseParams storage ref" + } + }, + "id": 46288, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3042:19:59", + "memberName": "recyclingPercentage", + "nodeType": "MemberAccess", + "referencedDeclaration": 61719, + "src": "3034:27:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 46289, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3065:1:59", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3034:32:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2992:74:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 46295, + "nodeType": "IfStatement", + "src": "2988:114:59", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 46292, + "name": "SAH_NullProtTokenReceiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61700, + "src": "3075:25:59", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 46293, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3075:27:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 46294, + "nodeType": "RevertStatement", + "src": "3068:34:59" + } + }, + { + "expression": { + "id": 46299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 46296, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46279, + "src": "3108:3:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 46298, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "3114:17:59", + "subExpression": { + "id": 46297, + "name": "auctionsStarted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46182, + "src": "3116:15:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3108:23:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 46300, + "nodeType": "ExpressionStatement", + "src": "3108:23:59" + }, + { + "expression": { + "id": 46316, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 46301, + "name": "_auctions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46167, + "src": "3138:9:59", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Auction_$61711_storage_$", + "typeString": "mapping(uint256 => struct ISurplusAuctionHouse.Auction storage ref)" + } + }, + "id": 46303, + "indexExpression": { + "id": 46302, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46279, + "src": "3148:3:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3138:14:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_storage", + "typeString": "struct ISurplusAuctionHouse.Auction storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 46305, + "name": "_initialBid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46272, + "src": "3182:11:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 46306, + "name": "_amountToSell", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46270, + "src": "3215:13:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 46307, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "3248:3:59", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 46308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3252:6:59", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "3248:10:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "hexValue": "30", + "id": 46309, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3277:1:59", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 46314, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 46310, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "3303:5:59", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 46311, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3309:9:59", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "3303:15:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 46312, + "name": "_params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46193, + "src": "3321:7:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SurplusAuctionHouseParams_$61720_storage", + "typeString": "struct ISurplusAuctionHouse.SurplusAuctionHouseParams storage ref" + } + }, + "id": 46313, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3329:18:59", + "memberName": "totalAuctionLength", + "nodeType": "MemberAccess", + "referencedDeclaration": 61717, + "src": "3321:26:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3303:44:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 46304, + "name": "Auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61711, + "src": "3155:7:59", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Auction_$61711_storage_ptr_$", + "typeString": "type(struct ISurplusAuctionHouse.Auction storage pointer)" + } + }, + "id": 46315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": ["3171:9:59", "3201:12:59", "3236:10:59", "3266:9:59", "3286:15:59"], + "names": ["bidAmount", "amountToSell", "highBidder", "bidExpiry", "auctionDeadline"], + "nodeType": "FunctionCall", + "src": "3155:199:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_memory_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction memory" + } + }, + "src": "3138:216:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_storage", + "typeString": "struct ISurplusAuctionHouse.Auction storage ref" + } + }, + "id": 46317, + "nodeType": "ExpressionStatement", + "src": "3138:216:59" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 46321, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "3394:3:59", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 46322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3398:6:59", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "3394:10:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 46325, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "3414:4:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SurplusAuctionHouse_$46781", + "typeString": "contract SurplusAuctionHouse" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_SurplusAuctionHouse_$46781", + "typeString": "contract SurplusAuctionHouse" + } + ], + "id": 46324, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3406:7:59", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 46323, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3406:7:59", + "typeDescriptions": {} + } + }, + "id": 46326, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3406:13:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 46327, + "name": "_amountToSell", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46270, + "src": "3421:13:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 46318, + "name": "safeEngine", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46185, + "src": "3361:10:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ISAFEEngine_$61383", + "typeString": "contract ISAFEEngine" + } + }, + "id": 46320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3372:21:59", + "memberName": "transferInternalCoins", + "nodeType": "MemberAccess", + "referencedDeclaration": 61159, + "src": "3361:32:59", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256) external" + } + }, + "id": 46328, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3361:74:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 46329, + "nodeType": "ExpressionStatement", + "src": "3361:74:59" + }, + { + "eventCall": { + "arguments": [ + { + "id": 46331, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46279, + "src": "3473:3:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 46332, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "3501:5:59", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 46333, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3507:9:59", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "3501:15:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 46334, + "name": "_amountToSell", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46270, + "src": "3539:13:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 46335, + "name": "_initialBid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46272, + "src": "3576:11:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "baseExpression": { + "id": 46336, + "name": "_auctions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46167, + "src": "3613:9:59", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Auction_$61711_storage_$", + "typeString": "mapping(uint256 => struct ISurplusAuctionHouse.Auction storage ref)" + } + }, + "id": 46338, + "indexExpression": { + "id": 46337, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46279, + "src": "3623:3:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3613:14:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_storage", + "typeString": "struct ISurplusAuctionHouse.Auction storage ref" + } + }, + "id": 46339, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3628:15:59", + "memberName": "auctionDeadline", + "nodeType": "MemberAccess", + "referencedDeclaration": 61710, + "src": "3613:30:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 46330, + "name": "StartAuction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61638, + "src": "3447:12:59", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256,uint256,uint256,uint256)" + } + }, + "id": 46340, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": ["3468:3:59", "3484:15:59", "3524:13:59", "3560:14:59", "3595:16:59"], + "names": ["_id", "_blockTimestamp", "_amountToSell", "_amountToRaise", "_auctionDeadline"], + "nodeType": "FunctionCall", + "src": "3447:203:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 46341, + "nodeType": "EmitStatement", + "src": "3442:208:59" + } + ] + }, + "baseFunctions": [61801], + "documentation": { + "id": 46268, + "nodeType": "StructuredDocumentation", + "src": "2669:176:59", + "text": " @notice Start a new surplus auction\n @param _amountToSell Total amount of system coins to sell (rad)\n @param _initialBid Initial protocol token bid (wad)" + }, + "functionSelector": "4fee13fc", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 46275, + "kind": "modifierInvocation", + "modifierName": { + "id": 46274, + "name": "isAuthorized", + "nameLocations": ["2935:12:59"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 58783, + "src": "2935:12:59" + }, + "nodeType": "ModifierInvocation", + "src": "2935:12:59" + }, + { + "id": 46277, + "kind": "modifierInvocation", + "modifierName": { + "id": 46276, + "name": "whenEnabled", + "nameLocations": ["2948:11:59"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 59168, + "src": "2948:11:59" + }, + "nodeType": "ModifierInvocation", + "src": "2948:11:59" + } + ], + "name": "startAuction", + "nameLocation": "2857:12:59", + "parameters": { + "id": 46273, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 46270, + "mutability": "mutable", + "name": "_amountToSell", + "nameLocation": "2883:13:59", + "nodeType": "VariableDeclaration", + "scope": 46343, + "src": "2875:21:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 46269, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2875:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 46272, + "mutability": "mutable", + "name": "_initialBid", + "nameLocation": "2910:11:59", + "nodeType": "VariableDeclaration", + "scope": 46343, + "src": "2902:19:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 46271, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2902:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2869:56:59" + }, + "returnParameters": { + "id": 46280, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 46279, + "mutability": "mutable", + "name": "_id", + "nameLocation": "2977:3:59", + "nodeType": "VariableDeclaration", + "scope": 46343, + "src": "2969:11:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 46278, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2969:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2968:13:59" + }, + "scope": 46781, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 46403, + "nodeType": "FunctionDefinition", + "src": "3781:517:59", + "nodes": [], + "body": { + "id": 46402, + "nodeType": "Block", + "src": "3827:471:59", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 46355, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 46351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 46349, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46346, + "src": "3837:3:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 46350, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3844:1:59", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3837:8:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 46354, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 46352, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46346, + "src": "3849:3:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 46353, + "name": "auctionsStarted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46182, + "src": "3855:15:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3849:21:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3837:33:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 46359, + "nodeType": "IfStatement", + "src": "3833:71:59", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 46356, + "name": "SAH_AuctionNeverStarted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61682, + "src": "3879:23:59", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 46357, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3879:25:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 46358, + "nodeType": "RevertStatement", + "src": "3872:32:59" + } + }, + { + "assignments": [46362], + "declarations": [ + { + "constant": false, + "id": 46362, + "mutability": "mutable", + "name": "_auction", + "nameLocation": "3926:8:59", + "nodeType": "VariableDeclaration", + "scope": 46402, + "src": "3910:24:59", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_storage_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction" + }, + "typeName": { + "id": 46361, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 46360, + "name": "Auction", + "nameLocations": ["3910:7:59"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 61711, + "src": "3910:7:59" + }, + "referencedDeclaration": 61711, + "src": "3910:7:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_storage_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction" + } + }, + "visibility": "internal" + } + ], + "id": 46366, + "initialValue": { + "baseExpression": { + "id": 46363, + "name": "_auctions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46167, + "src": "3937:9:59", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Auction_$61711_storage_$", + "typeString": "mapping(uint256 => struct ISurplusAuctionHouse.Auction storage ref)" + } + }, + "id": 46365, + "indexExpression": { + "id": 46364, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46346, + "src": "3947:3:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3937:14:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_storage", + "typeString": "struct ISurplusAuctionHouse.Auction storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3910:41:59" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 46371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 46367, + "name": "_auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46362, + "src": "3961:8:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_storage_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction storage pointer" + } + }, + "id": 46368, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3970:15:59", + "memberName": "auctionDeadline", + "nodeType": "MemberAccess", + "referencedDeclaration": 61710, + "src": "3961:24:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "id": 46369, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "3988:5:59", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 46370, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3994:9:59", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "3988:15:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3961:42:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 46375, + "nodeType": "IfStatement", + "src": "3957:79:59", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 46372, + "name": "SAH_AuctionNotFinished", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61684, + "src": "4012:22:59", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 46373, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4012:24:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 46374, + "nodeType": "RevertStatement", + "src": "4005:31:59" + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 46379, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 46376, + "name": "_auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46362, + "src": "4046:8:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_storage_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction storage pointer" + } + }, + "id": 46377, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4055:9:59", + "memberName": "bidExpiry", + "nodeType": "MemberAccess", + "referencedDeclaration": 61708, + "src": "4046:18:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 46378, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4068:1:59", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4046:23:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 46383, + "nodeType": "IfStatement", + "src": "4042:58:59", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 46380, + "name": "SAH_BidAlreadyPlaced", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61688, + "src": "4078:20:59", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 46381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4078:22:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 46382, + "nodeType": "RevertStatement", + "src": "4071:29:59" + } + }, + { + "expression": { + "id": 46392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 46384, + "name": "_auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46362, + "src": "4106:8:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_storage_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction storage pointer" + } + }, + "id": 46386, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "4115:15:59", + "memberName": "auctionDeadline", + "nodeType": "MemberAccess", + "referencedDeclaration": 61710, + "src": "4106:24:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 46391, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 46387, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "4133:5:59", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 46388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4139:9:59", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "4133:15:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 46389, + "name": "_params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46193, + "src": "4151:7:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SurplusAuctionHouseParams_$61720_storage", + "typeString": "struct ISurplusAuctionHouse.SurplusAuctionHouseParams storage ref" + } + }, + "id": 46390, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4159:18:59", + "memberName": "totalAuctionLength", + "nodeType": "MemberAccess", + "referencedDeclaration": 61717, + "src": "4151:26:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4133:44:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4106:71:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 46393, + "nodeType": "ExpressionStatement", + "src": "4106:71:59" + }, + { + "eventCall": { + "arguments": [ + { + "id": 46395, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46346, + "src": "4210:3:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 46396, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "4232:5:59", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 46397, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4238:9:59", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "4232:15:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 46398, + "name": "_auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46362, + "src": "4267:8:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_storage_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction storage pointer" + } + }, + "id": 46399, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4276:15:59", + "memberName": "auctionDeadline", + "nodeType": "MemberAccess", + "referencedDeclaration": 61710, + "src": "4267:24:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 46394, + "name": "RestartAuction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61646, + "src": "4189:14:59", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256,uint256)" + } + }, + "id": 46400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": ["4205:3:59", "4215:15:59", "4249:16:59"], + "names": ["_id", "_blockTimestamp", "_auctionDeadline"], + "nodeType": "FunctionCall", + "src": "4189:104:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 46401, + "nodeType": "EmitStatement", + "src": "4184:109:59" + } + ] + }, + "baseFunctions": [61806], + "documentation": { + "id": 46344, + "nodeType": "StructuredDocumentation", + "src": "3659:119:59", + "text": " @notice Restart an auction if no bids were submitted for it\n @param _id ID of the auction to restart" + }, + "functionSelector": "d25ccf53", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "restartAuction", + "nameLocation": "3790:14:59", + "parameters": { + "id": 46347, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 46346, + "mutability": "mutable", + "name": "_id", + "nameLocation": "3813:3:59", + "nodeType": "VariableDeclaration", + "scope": 46403, + "src": "3805:11:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 46345, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3805:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3804:13:59" + }, + "returnParameters": { + "id": 46348, + "nodeType": "ParameterList", + "parameters": [], + "src": "3827:0:59" + }, + "scope": 46781, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 46554, + "nodeType": "FunctionDefinition", + "src": "4565:1242:59", + "nodes": [], + "body": { + "id": 46553, + "nodeType": "Block", + "src": "4660:1147:59", + "nodes": [], + "statements": [ + { + "assignments": [46417], + "declarations": [ + { + "constant": false, + "id": 46417, + "mutability": "mutable", + "name": "_auction", + "nameLocation": "4682:8:59", + "nodeType": "VariableDeclaration", + "scope": 46553, + "src": "4666:24:59", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_storage_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction" + }, + "typeName": { + "id": 46416, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 46415, + "name": "Auction", + "nameLocations": ["4666:7:59"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 61711, + "src": "4666:7:59" + }, + "referencedDeclaration": 61711, + "src": "4666:7:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_storage_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction" + } + }, + "visibility": "internal" + } + ], + "id": 46421, + "initialValue": { + "baseExpression": { + "id": 46418, + "name": "_auctions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46167, + "src": "4693:9:59", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Auction_$61711_storage_$", + "typeString": "mapping(uint256 => struct ISurplusAuctionHouse.Auction storage ref)" + } + }, + "id": 46420, + "indexExpression": { + "id": 46419, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46406, + "src": "4703:3:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4693:14:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_storage", + "typeString": "struct ISurplusAuctionHouse.Auction storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4666:41:59" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 46428, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 46422, + "name": "_auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46417, + "src": "4717:8:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_storage_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction storage pointer" + } + }, + "id": 46423, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4726:10:59", + "memberName": "highBidder", + "nodeType": "MemberAccess", + "referencedDeclaration": 61706, + "src": "4717:19:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 46426, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4748:1:59", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 46425, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4740:7:59", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 46424, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4740:7:59", + "typeDescriptions": {} + } + }, + "id": 46427, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4740:10:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4717:33:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 46432, + "nodeType": "IfStatement", + "src": "4713:68:59", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 46429, + "name": "SAH_HighBidderNotSet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61698, + "src": "4759:20:59", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 46430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4759:22:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 46431, + "nodeType": "RevertStatement", + "src": "4752:29:59" + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 46442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 46437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 46433, + "name": "_auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46417, + "src": "4791:8:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_storage_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction storage pointer" + } + }, + "id": 46434, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4800:9:59", + "memberName": "bidExpiry", + "nodeType": "MemberAccess", + "referencedDeclaration": 61708, + "src": "4791:18:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "expression": { + "id": 46435, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "4813:5:59", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 46436, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4819:9:59", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "4813:15:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4791:37:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 46441, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 46438, + "name": "_auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46417, + "src": "4832:8:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_storage_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction storage pointer" + } + }, + "id": 46439, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4841:9:59", + "memberName": "bidExpiry", + "nodeType": "MemberAccess", + "referencedDeclaration": 61708, + "src": "4832:18:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 46440, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4854:1:59", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4832:23:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4791:64:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 46446, + "nodeType": "IfStatement", + "src": "4787:100:59", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 46443, + "name": "SAH_BidAlreadyExpired", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61690, + "src": "4864:21:59", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 46444, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4864:23:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 46445, + "nodeType": "RevertStatement", + "src": "4857:30:59" + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 46451, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 46447, + "name": "_auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46417, + "src": "4897:8:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_storage_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction storage pointer" + } + }, + "id": 46448, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4906:15:59", + "memberName": "auctionDeadline", + "nodeType": "MemberAccess", + "referencedDeclaration": 61710, + "src": "4897:24:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "expression": { + "id": 46449, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "4925:5:59", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 46450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4931:9:59", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "4925:15:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4897:43:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 46455, + "nodeType": "IfStatement", + "src": "4893:83:59", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 46452, + "name": "SAH_AuctionAlreadyExpired", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61686, + "src": "4949:25:59", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 46453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4949:27:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 46454, + "nodeType": "RevertStatement", + "src": "4942:34:59" + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 46459, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 46456, + "name": "_amountToBuy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46408, + "src": "4986:12:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "id": 46457, + "name": "_auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46417, + "src": "5002:8:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_storage_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction storage pointer" + } + }, + "id": 46458, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5011:12:59", + "memberName": "amountToSell", + "nodeType": "MemberAccess", + "referencedDeclaration": 61704, + "src": "5002:21:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4986:37:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 46463, + "nodeType": "IfStatement", + "src": "4982:74:59", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 46460, + "name": "SAH_AmountsNotMatching", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61692, + "src": "5032:22:59", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 46461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5032:24:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 46462, + "nodeType": "RevertStatement", + "src": "5025:31:59" + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 46467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 46464, + "name": "_bid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46410, + "src": "5066:4:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "expression": { + "id": 46465, + "name": "_auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46417, + "src": "5074:8:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_storage_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction storage pointer" + } + }, + "id": 46466, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5083:9:59", + "memberName": "bidAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 61702, + "src": "5074:18:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5066:26:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 46471, + "nodeType": "IfStatement", + "src": "5062:57:59", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 46468, + "name": "SAH_BidNotHigher", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61694, + "src": "5101:16:59", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 46469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5101:18:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 46470, + "nodeType": "RevertStatement", + "src": "5094:25:59" + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 46480, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 46474, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 46472, + "name": "_bid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46410, + "src": "5129:4:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 46473, + "name": "WAD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 63921, + "src": "5136:3:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5129:10:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 46479, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 46475, + "name": "_params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46193, + "src": "5142:7:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SurplusAuctionHouseParams_$61720_storage", + "typeString": "struct ISurplusAuctionHouse.SurplusAuctionHouseParams storage ref" + } + }, + "id": 46476, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5150:11:59", + "memberName": "bidIncrease", + "nodeType": "MemberAccess", + "referencedDeclaration": 61713, + "src": "5142:19:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "expression": { + "id": 46477, + "name": "_auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46417, + "src": "5164:8:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_storage_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction storage pointer" + } + }, + "id": 46478, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5173:9:59", + "memberName": "bidAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 61702, + "src": "5164:18:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5142:40:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5129:53:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 46484, + "nodeType": "IfStatement", + "src": "5125:92:59", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 46481, + "name": "SAH_InsufficientIncrease", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61696, + "src": "5191:24:59", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 46482, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5191:26:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 46483, + "nodeType": "RevertStatement", + "src": "5184:33:59" + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 46489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 46485, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "5228:3:59", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 46486, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5232:6:59", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "5228:10:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "id": 46487, + "name": "_auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46417, + "src": "5242:8:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_storage_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction storage pointer" + } + }, + "id": 46488, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5251:10:59", + "memberName": "highBidder", + "nodeType": "MemberAccess", + "referencedDeclaration": 61706, + "src": "5242:19:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5228:33:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 46509, + "nodeType": "IfStatement", + "src": "5224:177:59", + "trueBody": { + "id": 46508, + "nodeType": "Block", + "src": "5263:138:59", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 46493, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "5302:3:59", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 46494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5306:6:59", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "5302:10:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 46495, + "name": "_auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46417, + "src": "5314:8:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_storage_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction storage pointer" + } + }, + "id": 46496, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5323:10:59", + "memberName": "highBidder", + "nodeType": "MemberAccess", + "referencedDeclaration": 61706, + "src": "5314:19:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 46497, + "name": "_auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46417, + "src": "5335:8:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_storage_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction storage pointer" + } + }, + "id": 46498, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5344:9:59", + "memberName": "bidAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 61702, + "src": "5335:18:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 46490, + "name": "protocolToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46188, + "src": "5271:13:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IProtocolToken_$63246", + "typeString": "contract IProtocolToken" + } + }, + "id": 46492, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5285:16:59", + "memberName": "safeTransferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 31184, + "src": "5271:30:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$30195_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$30195_$", + "typeString": "function (contract IERC20,address,address,uint256)" + } + }, + "id": 46499, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5271:83:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 46500, + "nodeType": "ExpressionStatement", + "src": "5271:83:59" + }, + { + "expression": { + "id": 46506, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 46501, + "name": "_auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46417, + "src": "5362:8:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_storage_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction storage pointer" + } + }, + "id": 46503, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "5371:10:59", + "memberName": "highBidder", + "nodeType": "MemberAccess", + "referencedDeclaration": 61706, + "src": "5362:19:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 46504, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "5384:3:59", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 46505, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5388:6:59", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "5384:10:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5362:32:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 46507, + "nodeType": "ExpressionStatement", + "src": "5362:32:59" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 46513, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "5437:3:59", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 46514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5441:6:59", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "5437:10:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 46517, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "5457:4:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SurplusAuctionHouse_$46781", + "typeString": "contract SurplusAuctionHouse" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_SurplusAuctionHouse_$46781", + "typeString": "contract SurplusAuctionHouse" + } + ], + "id": 46516, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5449:7:59", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 46515, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5449:7:59", + "typeDescriptions": {} + } + }, + "id": 46518, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5449:13:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 46522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 46519, + "name": "_bid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46410, + "src": "5464:4:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "expression": { + "id": 46520, + "name": "_auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46417, + "src": "5471:8:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_storage_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction storage pointer" + } + }, + "id": 46521, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5480:9:59", + "memberName": "bidAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 61702, + "src": "5471:18:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5464:25:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 46510, + "name": "protocolToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46188, + "src": "5406:13:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IProtocolToken_$63246", + "typeString": "contract IProtocolToken" + } + }, + "id": 46512, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5420:16:59", + "memberName": "safeTransferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 31184, + "src": "5406:30:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$30195_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$30195_$", + "typeString": "function (contract IERC20,address,address,uint256)" + } + }, + "id": 46523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5406:84:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 46524, + "nodeType": "ExpressionStatement", + "src": "5406:84:59" + }, + { + "expression": { + "id": 46529, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 46525, + "name": "_auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46417, + "src": "5497:8:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_storage_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction storage pointer" + } + }, + "id": 46527, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "5506:9:59", + "memberName": "bidAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 61702, + "src": "5497:18:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 46528, + "name": "_bid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46410, + "src": "5518:4:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5497:25:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 46530, + "nodeType": "ExpressionStatement", + "src": "5497:25:59" + }, + { + "expression": { + "id": 46539, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 46531, + "name": "_auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46417, + "src": "5528:8:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_storage_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction storage pointer" + } + }, + "id": 46533, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "5537:9:59", + "memberName": "bidExpiry", + "nodeType": "MemberAccess", + "referencedDeclaration": 61708, + "src": "5528:18:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 46538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 46534, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "5549:5:59", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 46535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5555:9:59", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "5549:15:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 46536, + "name": "_params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46193, + "src": "5567:7:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SurplusAuctionHouseParams_$61720_storage", + "typeString": "struct ISurplusAuctionHouse.SurplusAuctionHouseParams storage ref" + } + }, + "id": 46537, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5575:11:59", + "memberName": "bidDuration", + "nodeType": "MemberAccess", + "referencedDeclaration": 61715, + "src": "5567:19:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5549:37:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5528:58:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 46540, + "nodeType": "ExpressionStatement", + "src": "5528:58:59" + }, + { + "eventCall": { + "arguments": [ + { + "id": 46542, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46406, + "src": "5627:3:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 46543, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "5647:3:59", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 46544, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5651:6:59", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "5647:10:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 46545, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "5682:5:59", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 46546, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5688:9:59", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "5682:15:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 46547, + "name": "_bid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46410, + "src": "5720:4:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 46548, + "name": "_amountToBuy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46408, + "src": "5745:12:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 46549, + "name": "_auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46417, + "src": "5777:8:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_storage_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction storage pointer" + } + }, + "id": 46550, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5786:9:59", + "memberName": "bidExpiry", + "nodeType": "MemberAccess", + "referencedDeclaration": 61708, + "src": "5777:18:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 46541, + "name": "IncreaseBidSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61660, + "src": "5598:15:59", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,address,uint256,uint256,uint256,uint256)" + } + }, + "id": 46551, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": ["5622:3:59", "5638:7:59", "5665:15:59", "5705:13:59", "5732:11:59", "5765:10:59"], + "names": ["_id", "_bidder", "_blockTimestamp", "_raisedAmount", "_soldAmount", "_bidExpiry"], + "nodeType": "FunctionCall", + "src": "5598:204:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 46552, + "nodeType": "EmitStatement", + "src": "5593:209:59" + } + ] + }, + "baseFunctions": [61815], + "documentation": { + "id": 46404, + "nodeType": "StructuredDocumentation", + "src": "4302:260:59", + "text": " @notice Submit a higher protocol token bid for the same amount of system coins\n @param _id ID of the auction you want to submit the bid for\n @param _amountToBuy Amount of system coins to buy (rad)\n @param _bid New bid submitted (wad)" + }, + "functionSelector": "5a93f031", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 46413, + "kind": "modifierInvocation", + "modifierName": { + "id": 46412, + "name": "whenEnabled", + "nameLocations": ["4648:11:59"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 59168, + "src": "4648:11:59" + }, + "nodeType": "ModifierInvocation", + "src": "4648:11:59" + } + ], + "name": "increaseBidSize", + "nameLocation": "4574:15:59", + "parameters": { + "id": 46411, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 46406, + "mutability": "mutable", + "name": "_id", + "nameLocation": "4598:3:59", + "nodeType": "VariableDeclaration", + "scope": 46554, + "src": "4590:11:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 46405, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4590:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 46408, + "mutability": "mutable", + "name": "_amountToBuy", + "nameLocation": "4611:12:59", + "nodeType": "VariableDeclaration", + "scope": 46554, + "src": "4603:20:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 46407, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4603:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 46410, + "mutability": "mutable", + "name": "_bid", + "nameLocation": "4633:4:59", + "nodeType": "VariableDeclaration", + "scope": 46554, + "src": "4625:12:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 46409, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4625:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4589:49:59" + }, + "returnParameters": { + "id": 46414, + "nodeType": "ParameterList", + "parameters": [], + "src": "4660:0:59" + }, + "scope": 46781, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 46659, + "nodeType": "FunctionDefinition", + "src": "5905:910:59", + "nodes": [], + "body": { + "id": 46658, + "nodeType": "Block", + "src": "5962:853:59", + "nodes": [], + "statements": [ + { + "assignments": [46564], + "declarations": [ + { + "constant": false, + "id": 46564, + "mutability": "mutable", + "name": "_auction", + "nameLocation": "5983:8:59", + "nodeType": "VariableDeclaration", + "scope": 46658, + "src": "5968:23:59", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_memory_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction" + }, + "typeName": { + "id": 46563, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 46562, + "name": "Auction", + "nameLocations": ["5968:7:59"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 61711, + "src": "5968:7:59" + }, + "referencedDeclaration": 61711, + "src": "5968:7:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_storage_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction" + } + }, + "visibility": "internal" + } + ], + "id": 46568, + "initialValue": { + "baseExpression": { + "id": 46565, + "name": "_auctions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46167, + "src": "5994:9:59", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Auction_$61711_storage_$", + "typeString": "mapping(uint256 => struct ISurplusAuctionHouse.Auction storage ref)" + } + }, + "id": 46567, + "indexExpression": { + "id": 46566, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46557, + "src": "6004:3:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5994:14:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_storage", + "typeString": "struct ISurplusAuctionHouse.Auction storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5968:40:59" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 46585, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 46572, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 46569, + "name": "_auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46564, + "src": "6018:8:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_memory_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction memory" + } + }, + "id": 46570, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6027:9:59", + "memberName": "bidExpiry", + "nodeType": "MemberAccess", + "referencedDeclaration": 61708, + "src": "6018:18:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 46571, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6040:1:59", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "6018:23:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 46583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 46577, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 46573, + "name": "_auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46564, + "src": "6046:8:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_memory_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction memory" + } + }, + "id": 46574, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6055:9:59", + "memberName": "bidExpiry", + "nodeType": "MemberAccess", + "referencedDeclaration": 61708, + "src": "6046:18:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "id": 46575, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "6067:5:59", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 46576, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6073:9:59", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "6067:15:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6046:36:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 46582, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 46578, + "name": "_auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46564, + "src": "6086:8:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_memory_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction memory" + } + }, + "id": 46579, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6095:15:59", + "memberName": "auctionDeadline", + "nodeType": "MemberAccess", + "referencedDeclaration": 61710, + "src": "6086:24:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "id": 46580, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "6113:5:59", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 46581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6119:9:59", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "6113:15:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6086:42:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6046:82:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 46584, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6045:84:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6018:111:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 46590, + "nodeType": "IfStatement", + "src": "6014:167:59", + "trueBody": { + "id": 46589, + "nodeType": "Block", + "src": "6135:46:59", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 46586, + "name": "SAH_AuctionNotFinished", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61684, + "src": "6150:22:59", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 46587, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6150:24:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 46588, + "nodeType": "RevertStatement", + "src": "6143:31:59" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 46596, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "6228:4:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SurplusAuctionHouse_$46781", + "typeString": "contract SurplusAuctionHouse" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_SurplusAuctionHouse_$46781", + "typeString": "contract SurplusAuctionHouse" + } + ], + "id": 46595, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6220:7:59", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 46594, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6220:7:59", + "typeDescriptions": {} + } + }, + "id": 46597, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6220:13:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 46598, + "name": "_auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46564, + "src": "6235:8:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_memory_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction memory" + } + }, + "id": 46599, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6244:10:59", + "memberName": "highBidder", + "nodeType": "MemberAccess", + "referencedDeclaration": 61706, + "src": "6235:19:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 46600, + "name": "_auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46564, + "src": "6256:8:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_memory_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction memory" + } + }, + "id": 46601, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6265:12:59", + "memberName": "amountToSell", + "nodeType": "MemberAccess", + "referencedDeclaration": 61704, + "src": "6256:21:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 46591, + "name": "safeEngine", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46185, + "src": "6187:10:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ISAFEEngine_$61383", + "typeString": "contract ISAFEEngine" + } + }, + "id": 46593, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6198:21:59", + "memberName": "transferInternalCoins", + "nodeType": "MemberAccess", + "referencedDeclaration": 61159, + "src": "6187:32:59", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256) external" + } + }, + "id": 46602, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6187:91:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 46603, + "nodeType": "ExpressionStatement", + "src": "6187:91:59" + }, + { + "assignments": [46605], + "declarations": [ + { + "constant": false, + "id": 46605, + "mutability": "mutable", + "name": "_amountToSend", + "nameLocation": "6293:13:59", + "nodeType": "VariableDeclaration", + "scope": 46658, + "src": "6285:21:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 46604, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6285:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 46612, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 46609, + "name": "_params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46193, + "src": "6333:7:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SurplusAuctionHouseParams_$61720_storage", + "typeString": "struct ISurplusAuctionHouse.SurplusAuctionHouseParams storage ref" + } + }, + "id": 46610, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6341:19:59", + "memberName": "recyclingPercentage", + "nodeType": "MemberAccess", + "referencedDeclaration": 61719, + "src": "6333:27:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "expression": { + "id": 46606, + "name": "_auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46564, + "src": "6309:8:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_memory_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction memory" + } + }, + "id": 46607, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6318:9:59", + "memberName": "bidAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 61702, + "src": "6309:18:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 46608, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6328:4:59", + "memberName": "wmul", + "nodeType": "MemberAccess", + "referencedDeclaration": 64084, + "src": "6309:23:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 46611, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6309:52:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6285:76:59" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 46615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 46613, + "name": "_amountToSend", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46605, + "src": "6371:13:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 46614, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6387:1:59", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "6371:17:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 46624, + "nodeType": "IfStatement", + "src": "6367:105:59", + "trueBody": { + "id": 46623, + "nodeType": "Block", + "src": "6390:82:59", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 46619, + "name": "protocolTokenBidReceiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46190, + "src": "6425:24:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 46620, + "name": "_amountToSend", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46605, + "src": "6451:13:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 46616, + "name": "protocolToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46188, + "src": "6398:13:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IProtocolToken_$63246", + "typeString": "contract IProtocolToken" + } + }, + "id": 46618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6412:12:59", + "memberName": "safeTransfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 31158, + "src": "6398:26:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$30195_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$30195_$", + "typeString": "function (contract IERC20,address,uint256)" + } + }, + "id": 46621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6398:67:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 46622, + "nodeType": "ExpressionStatement", + "src": "6398:67:59" + } + ] + } + }, + { + "assignments": [46626], + "declarations": [ + { + "constant": false, + "id": 46626, + "mutability": "mutable", + "name": "_amountToBurn", + "nameLocation": "6486:13:59", + "nodeType": "VariableDeclaration", + "scope": 46658, + "src": "6478:21:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 46625, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6478:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 46631, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 46630, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 46627, + "name": "_auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46564, + "src": "6502:8:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_memory_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction memory" + } + }, + "id": 46628, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6511:9:59", + "memberName": "bidAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 61702, + "src": "6502:18:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 46629, + "name": "_amountToSend", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46605, + "src": "6523:13:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6502:34:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6478:58:59" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 46634, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 46632, + "name": "_amountToBurn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46626, + "src": "6546:13:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 46633, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6562:1:59", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "6546:17:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 46642, + "nodeType": "IfStatement", + "src": "6542:71:59", + "trueBody": { + "id": 46641, + "nodeType": "Block", + "src": "6565:48:59", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 46638, + "name": "_amountToBurn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46626, + "src": "6592:13:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 46635, + "name": "protocolToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46188, + "src": "6573:13:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IProtocolToken_$63246", + "typeString": "contract IProtocolToken" + } + }, + "id": 46637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6587:4:59", + "memberName": "burn", + "nodeType": "MemberAccess", + "referencedDeclaration": 63245, + "src": "6573:18:59", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 46639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6573:33:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 46640, + "nodeType": "ExpressionStatement", + "src": "6573:33:59" + } + ] + } + }, + { + "eventCall": { + "arguments": [ + { + "id": 46644, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46557, + "src": "6651:3:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 46645, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "6679:5:59", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 46646, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6685:9:59", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "6679:15:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 46647, + "name": "_auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46564, + "src": "6715:8:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_memory_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction memory" + } + }, + "id": 46648, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6724:10:59", + "memberName": "highBidder", + "nodeType": "MemberAccess", + "referencedDeclaration": 61706, + "src": "6715:19:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 46649, + "name": "_auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46564, + "src": "6757:8:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_memory_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction memory" + } + }, + "id": 46650, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6766:9:59", + "memberName": "bidAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 61702, + "src": "6757:18:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 46643, + "name": "SettleAuction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61670, + "src": "6624:13:59", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256,address,uint256)" + } + }, + "id": 46651, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": ["6646:3:59", "6662:15:59", "6702:11:59", "6742:13:59"], + "names": ["_id", "_blockTimestamp", "_highBidder", "_raisedAmount"], + "nodeType": "FunctionCall", + "src": "6624:158:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 46652, + "nodeType": "EmitStatement", + "src": "6619:163:59" + }, + { + "expression": { + "id": 46656, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "6789:21:59", + "subExpression": { + "baseExpression": { + "id": 46653, + "name": "_auctions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46167, + "src": "6796:9:59", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Auction_$61711_storage_$", + "typeString": "mapping(uint256 => struct ISurplusAuctionHouse.Auction storage ref)" + } + }, + "id": 46655, + "indexExpression": { + "id": 46654, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46557, + "src": "6806:3:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6796:14:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_storage", + "typeString": "struct ISurplusAuctionHouse.Auction storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 46657, + "nodeType": "ExpressionStatement", + "src": "6789:21:59" + } + ] + }, + "baseFunctions": [61820], + "documentation": { + "id": 46555, + "nodeType": "StructuredDocumentation", + "src": "5811:91:59", + "text": " @notice Settle/finish an auction\n @param _id ID of the auction to settle" + }, + "functionSelector": "2e993611", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 46560, + "kind": "modifierInvocation", + "modifierName": { + "id": 46559, + "name": "whenEnabled", + "nameLocations": ["5950:11:59"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 59168, + "src": "5950:11:59" + }, + "nodeType": "ModifierInvocation", + "src": "5950:11:59" + } + ], + "name": "settleAuction", + "nameLocation": "5914:13:59", + "parameters": { + "id": 46558, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 46557, + "mutability": "mutable", + "name": "_id", + "nameLocation": "5936:3:59", + "nodeType": "VariableDeclaration", + "scope": 46659, + "src": "5928:11:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 46556, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5928:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5927:13:59" + }, + "returnParameters": { + "id": 46561, + "nodeType": "ParameterList", + "parameters": [], + "src": "5962:0:59" + }, + "scope": 46781, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 46710, + "nodeType": "FunctionDefinition", + "src": "6932:483:59", + "nodes": [], + "body": { + "id": 46709, + "nodeType": "Block", + "src": "7004:411:59", + "nodes": [], + "statements": [ + { + "assignments": [46669], + "declarations": [ + { + "constant": false, + "id": 46669, + "mutability": "mutable", + "name": "_auction", + "nameLocation": "7025:8:59", + "nodeType": "VariableDeclaration", + "scope": 46709, + "src": "7010:23:59", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_memory_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction" + }, + "typeName": { + "id": 46668, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 46667, + "name": "Auction", + "nameLocations": ["7010:7:59"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 61711, + "src": "7010:7:59" + }, + "referencedDeclaration": 61711, + "src": "7010:7:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_storage_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction" + } + }, + "visibility": "internal" + } + ], + "id": 46673, + "initialValue": { + "baseExpression": { + "id": 46670, + "name": "_auctions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46167, + "src": "7036:9:59", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Auction_$61711_storage_$", + "typeString": "mapping(uint256 => struct ISurplusAuctionHouse.Auction storage ref)" + } + }, + "id": 46672, + "indexExpression": { + "id": 46671, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46662, + "src": "7046:3:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7036:14:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_storage", + "typeString": "struct ISurplusAuctionHouse.Auction storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7010:40:59" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 46680, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 46674, + "name": "_auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46669, + "src": "7060:8:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_memory_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction memory" + } + }, + "id": 46675, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7069:10:59", + "memberName": "highBidder", + "nodeType": "MemberAccess", + "referencedDeclaration": 61706, + "src": "7060:19:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 46678, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7091:1:59", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 46677, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7083:7:59", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 46676, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7083:7:59", + "typeDescriptions": {} + } + }, + "id": 46679, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7083:10:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "7060:33:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 46684, + "nodeType": "IfStatement", + "src": "7056:68:59", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 46681, + "name": "SAH_HighBidderNotSet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61698, + "src": "7102:20:59", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 46682, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7102:22:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 46683, + "nodeType": "RevertStatement", + "src": "7095:29:59" + } + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 46688, + "name": "_auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46669, + "src": "7158:8:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_memory_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction memory" + } + }, + "id": 46689, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7167:10:59", + "memberName": "highBidder", + "nodeType": "MemberAccess", + "referencedDeclaration": 61706, + "src": "7158:19:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 46690, + "name": "_auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46669, + "src": "7179:8:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_memory_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction memory" + } + }, + "id": 46691, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7188:9:59", + "memberName": "bidAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 61702, + "src": "7179:18:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 46685, + "name": "protocolToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46188, + "src": "7131:13:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IProtocolToken_$63246", + "typeString": "contract IProtocolToken" + } + }, + "id": 46687, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7145:12:59", + "memberName": "safeTransfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 31158, + "src": "7131:26:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$30195_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$30195_$", + "typeString": "function (contract IERC20,address,uint256)" + } + }, + "id": 46692, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7131:67:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 46693, + "nodeType": "ExpressionStatement", + "src": "7131:67:59" + }, + { + "eventCall": { + "arguments": [ + { + "id": 46695, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46662, + "src": "7251:3:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 46696, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "7279:5:59", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 46697, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7285:9:59", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "7279:15:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 46698, + "name": "_auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46669, + "src": "7315:8:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_memory_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction memory" + } + }, + "id": 46699, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7324:10:59", + "memberName": "highBidder", + "nodeType": "MemberAccess", + "referencedDeclaration": 61706, + "src": "7315:19:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 46700, + "name": "_auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46669, + "src": "7357:8:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_memory_ptr", + "typeString": "struct ISurplusAuctionHouse.Auction memory" + } + }, + "id": 46701, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7366:9:59", + "memberName": "bidAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 61702, + "src": "7357:18:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 46694, + "name": "TerminateAuctionPrematurely", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61680, + "src": "7210:27:59", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256,address,uint256)" + } + }, + "id": 46702, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": ["7246:3:59", "7262:15:59", "7302:11:59", "7342:13:59"], + "names": ["_id", "_blockTimestamp", "_highBidder", "_raisedAmount"], + "nodeType": "FunctionCall", + "src": "7210:172:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 46703, + "nodeType": "EmitStatement", + "src": "7205:177:59" + }, + { + "expression": { + "id": 46707, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "7389:21:59", + "subExpression": { + "baseExpression": { + "id": 46704, + "name": "_auctions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46167, + "src": "7396:9:59", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Auction_$61711_storage_$", + "typeString": "mapping(uint256 => struct ISurplusAuctionHouse.Auction storage ref)" + } + }, + "id": 46706, + "indexExpression": { + "id": 46705, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46662, + "src": "7406:3:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7396:14:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Auction_$61711_storage", + "typeString": "struct ISurplusAuctionHouse.Auction storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 46708, + "nodeType": "ExpressionStatement", + "src": "7389:21:59" + } + ] + }, + "baseFunctions": [61825], + "documentation": { + "id": 46660, + "nodeType": "StructuredDocumentation", + "src": "6819:110:59", + "text": " @notice Terminate an auction prematurely.\n @param _id ID of the auction to settle/terminate" + }, + "functionSelector": "933f7608", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 46665, + "kind": "modifierInvocation", + "modifierName": { + "id": 46664, + "name": "whenDisabled", + "nameLocations": ["6991:12:59"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 59178, + "src": "6991:12:59" + }, + "nodeType": "ModifierInvocation", + "src": "6991:12:59" + } + ], + "name": "terminateAuctionPrematurely", + "nameLocation": "6941:27:59", + "parameters": { + "id": 46663, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 46662, + "mutability": "mutable", + "name": "_id", + "nameLocation": "6977:3:59", + "nodeType": "VariableDeclaration", + "scope": 46710, + "src": "6969:11:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 46661, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6969:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6968:13:59" + }, + "returnParameters": { + "id": 46666, + "nodeType": "ParameterList", + "parameters": [], + "src": "7004:0:59" + }, + "scope": 46781, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 46780, + "nodeType": "FunctionDefinition", + "src": "7448:657:59", + "nodes": [], + "body": { + "id": 46779, + "nodeType": "Block", + "src": "7529:576:59", + "nodes": [], + "statements": [ + { + "assignments": [46719], + "declarations": [ + { + "constant": false, + "id": 46719, + "mutability": "mutable", + "name": "_uint256", + "nameLocation": "7543:8:59", + "nodeType": "VariableDeclaration", + "scope": 46779, + "src": "7535:16:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 46718, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7535:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 46723, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 46720, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46714, + "src": "7554:5:59", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 46721, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7560:9:59", + "memberName": "toUint256", + "nodeType": "MemberAccess", + "referencedDeclaration": 63867, + "src": "7554:15:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$attached_to$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) pure returns (uint256)" + } + }, + "id": 46722, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7554:17:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7535:36:59" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 46726, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 46724, + "name": "_param", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46712, + "src": "7655:6:59", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "70726f746f636f6c546f6b656e4269645265636569766572", + "id": 46725, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7665:26:59", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6deff295a72cfc54cd1923c7931776274d3d3f16270a7e6fbf8253e494f086f9", + "typeString": "literal_string \"protocolTokenBidReceiver\"" + }, + "value": "protocolTokenBidReceiver" + }, + "src": "7655:36:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 46737, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 46735, + "name": "_param", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46712, + "src": "7768:6:59", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "626964496e637265617365", + "id": 46736, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7778:13:59", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_aeaa318af73206647953081e90ec85f588637c5707fc0102f448171f646b1372", + "typeString": "literal_string \"bidIncrease\"" + }, + "value": "bidIncrease" + }, + "src": "7768:23:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 46746, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 46744, + "name": "_param", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46712, + "src": "7838:6:59", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "6269644475726174696f6e", + "id": 46745, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7848:13:59", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_22446ad0f93f04d2a9f7f25ea39309b9b337eb023eac2384247ffd99b0bd7d7f", + "typeString": "literal_string \"bidDuration\"" + }, + "value": "bidDuration" + }, + "src": "7838:23:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 46755, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 46753, + "name": "_param", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46712, + "src": "7908:6:59", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "746f74616c41756374696f6e4c656e677468", + "id": 46754, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7918:20:59", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_036309e460a707931a9cbe9bc3ede3d1dc0994c7001695b787f639f33ef60a24", + "typeString": "literal_string \"totalAuctionLength\"" + }, + "value": "totalAuctionLength" + }, + "src": "7908:30:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 46764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 46762, + "name": "_param", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46712, + "src": "7992:6:59", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "72656379636c696e6750657263656e74616765", + "id": 46763, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8002:21:59", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_342c2d2d2b9ebcc741fb2f3478d308da6fe33b2ecf09260064db5df05577c5cd", + "typeString": "literal_string \"recyclingPercentage\"" + }, + "value": "recyclingPercentage" + }, + "src": "7992:31:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 46771, + "name": "UnrecognizedParam", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 63556, + "src": "8081:17:59", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 46772, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8081:19:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 46773, + "nodeType": "RevertStatement", + "src": "8074:26:59" + }, + "id": 46774, + "nodeType": "IfStatement", + "src": "7988:112:59", + "trueBody": { + "expression": { + "id": 46769, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 46765, + "name": "_params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46193, + "src": "8025:7:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SurplusAuctionHouseParams_$61720_storage", + "typeString": "struct ISurplusAuctionHouse.SurplusAuctionHouseParams storage ref" + } + }, + "id": 46767, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "8033:19:59", + "memberName": "recyclingPercentage", + "nodeType": "MemberAccess", + "referencedDeclaration": 61719, + "src": "8025:27:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 46768, + "name": "_uint256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46719, + "src": "8055:8:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8025:38:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 46770, + "nodeType": "ExpressionStatement", + "src": "8025:38:59" + } + }, + "id": 46775, + "nodeType": "IfStatement", + "src": "7904:196:59", + "trueBody": { + "expression": { + "id": 46760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 46756, + "name": "_params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46193, + "src": "7940:7:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SurplusAuctionHouseParams_$61720_storage", + "typeString": "struct ISurplusAuctionHouse.SurplusAuctionHouseParams storage ref" + } + }, + "id": 46758, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "7948:18:59", + "memberName": "totalAuctionLength", + "nodeType": "MemberAccess", + "referencedDeclaration": 61717, + "src": "7940:26:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 46759, + "name": "_uint256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46719, + "src": "7969:8:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7940:37:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 46761, + "nodeType": "ExpressionStatement", + "src": "7940:37:59" + } + }, + "id": 46776, + "nodeType": "IfStatement", + "src": "7834:266:59", + "trueBody": { + "expression": { + "id": 46751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 46747, + "name": "_params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46193, + "src": "7863:7:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SurplusAuctionHouseParams_$61720_storage", + "typeString": "struct ISurplusAuctionHouse.SurplusAuctionHouseParams storage ref" + } + }, + "id": 46749, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "7871:11:59", + "memberName": "bidDuration", + "nodeType": "MemberAccess", + "referencedDeclaration": 61715, + "src": "7863:19:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 46750, + "name": "_uint256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46719, + "src": "7885:8:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7863:30:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 46752, + "nodeType": "ExpressionStatement", + "src": "7863:30:59" + } + }, + "id": 46777, + "nodeType": "IfStatement", + "src": "7764:336:59", + "trueBody": { + "expression": { + "id": 46742, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 46738, + "name": "_params", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46193, + "src": "7793:7:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SurplusAuctionHouseParams_$61720_storage", + "typeString": "struct ISurplusAuctionHouse.SurplusAuctionHouseParams storage ref" + } + }, + "id": 46740, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "7801:11:59", + "memberName": "bidIncrease", + "nodeType": "MemberAccess", + "referencedDeclaration": 61713, + "src": "7793:19:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 46741, + "name": "_uint256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46719, + "src": "7815:8:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7793:30:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 46743, + "nodeType": "ExpressionStatement", + "src": "7793:30:59" + } + }, + "id": 46778, + "nodeType": "IfStatement", + "src": "7651:449:59", + "trueBody": { + "expression": { + "id": 46733, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 46727, + "name": "protocolTokenBidReceiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46190, + "src": "7693:24:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 46728, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46714, + "src": "7720:5:59", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 46729, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7726:9:59", + "memberName": "toAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 63885, + "src": "7720:15:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_address_$attached_to$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) pure returns (address)" + } + }, + "id": 46730, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7720:17:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 46731, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7738:13:59", + "memberName": "assertNonNull", + "nodeType": "MemberAccess", + "referencedDeclaration": 63855, + "src": "7720:31:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_address_$attached_to$_t_address_$", + "typeString": "function (address) pure returns (address)" + } + }, + "id": 46732, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7720:33:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "7693:60:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 46734, + "nodeType": "ExpressionStatement", + "src": "7693:60:59" + } + } + ] + }, + "baseFunctions": [59394], + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_modifyParameters", + "nameLocation": "7457:17:59", + "overrides": { + "id": 46716, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "7520:8:59" + }, + "parameters": { + "id": 46715, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 46712, + "mutability": "mutable", + "name": "_param", + "nameLocation": "7483:6:59", + "nodeType": "VariableDeclaration", + "scope": 46780, + "src": "7475:14:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 46711, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7475:7:59", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 46714, + "mutability": "mutable", + "name": "_data", + "nameLocation": "7504:5:59", + "nodeType": "VariableDeclaration", + "scope": 46780, + "src": "7491:18:59", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 46713, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7491:5:59", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "7474:36:59" + }, + "returnParameters": { + "id": 46717, + "nodeType": "ParameterList", + "parameters": [], + "src": "7529:0:59" + }, + "scope": 46781, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 46130, + "name": "Authorizable", + "nameLocations": ["847:12:59"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 58784, + "src": "847:12:59" + }, + "id": 46131, + "nodeType": "InheritanceSpecifier", + "src": "847:12:59" + }, + { + "baseName": { + "id": 46132, + "name": "Modifiable", + "nameLocations": ["861:10:59"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 59438, + "src": "861:10:59" + }, + "id": 46133, + "nodeType": "InheritanceSpecifier", + "src": "861:10:59" + }, + { + "baseName": { + "id": 46134, + "name": "Disableable", + "nameLocations": ["873:11:59"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 59179, + "src": "873:11:59" + }, + "id": 46135, + "nodeType": "InheritanceSpecifier", + "src": "873:11:59" + }, + { + "baseName": { + "id": 46136, + "name": "ISurplusAuctionHouse", + "nameLocations": ["886:20:59"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 61826, + "src": "886:20:59" + }, + "id": 46137, + "nodeType": "InheritanceSpecifier", + "src": "886:20:59" + } + ], + "canonicalName": "SurplusAuctionHouse", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "linearizedBaseContracts": [46781, 61826, 59179, 59438, 58784, 63577, 63480, 63316], + "name": "SurplusAuctionHouse", + "nameLocation": "824:19:59", + "scope": 46782, + "usedErrors": [ + 61682, 61684, 61686, 61688, 61690, 61692, 61694, 61696, 61698, 61700, 63288, 63290, 63292, 63467, 63469, + 63471, 63556, 63558, 63650 + ] + } + ], + "license": "GPL-3.0" + }, + "id": 59 +} diff --git a/src/api/contract-apis.ts b/src/api/contract-apis.ts index ae1cc06..6e97a69 100644 --- a/src/api/contract-apis.ts +++ b/src/api/contract-apis.ts @@ -14,7 +14,7 @@ export class ContractApis { public oracleRelayer: types.OracleRelayer public globalSettlement: types.GlobalSettlement public debtAuctionHouse: types.DebtAuctionHouse - public surplusAuctionHouse: types.RecyclingSurplusAuctionHouse + public surplusAuctionHouse: types.SurplusAuctionHouse public stabilityFeeTreasury: types.StabilityFeeTreasury public safeManager: types.GebSafeManager public getSafes: types.GetSafes @@ -27,7 +27,7 @@ export class ContractApis { public rateSetter: types.PIRateSetter public piCalculator: types.PRawPerSecondCalculator public weth: types.WETH9_ - public tokenCollateralAuctionHouse: { [key: string]: types.IncreasingDiscountCollateralAuctionHouse } + public tokenCollateralAuctionHouse: { [key: string]: types.CollateralAuctionHouse } constructor( network: GebDeployment, @@ -44,7 +44,7 @@ export class ContractApis { this.oracleRelayer = types.OracleRelayer__factory.connect(addressList.GEB_ORACLE_RELAYER, signerOrProvider) this.globalSettlement = types.GlobalSettlement__factory.connect(addressList.GEB_GLOBAL_SETTLEMENT, signerOrProvider) this.debtAuctionHouse = types.DebtAuctionHouse__factory.connect(addressList.GEB_DEBT_AUCTION_HOUSE, signerOrProvider) - this.surplusAuctionHouse = types.RecyclingSurplusAuctionHouse__factory.connect(addressList.GEB_SURPLUS_AUCTION_HOUSE, signerOrProvider) + this.surplusAuctionHouse = types.SurplusAuctionHouse__factory.connect(addressList.GEB_SURPLUS_AUCTION_HOUSE, signerOrProvider) this.stabilityFeeTreasury = types.StabilityFeeTreasury__factory.connect(addressList.GEB_STABILITY_FEE_TREASURY, signerOrProvider) this.safeManager = types.GebSafeManager__factory.connect(addressList.SAFE_MANAGER, signerOrProvider) this.getSafes = types.GetSafes__factory.connect(addressList.SAFE_MANAGER, signerOrProvider) @@ -59,7 +59,7 @@ export class ContractApis { this.protocolToken = types.ERC20__factory.connect(addressList.GEB_PROT, signerOrProvider) this.tokenCollateralAuctionHouse = Object.values(tokenList).filter(token => token.isCollateral).reduce((accum, token) => { - const collateralAuctionHouse = types.IncreasingDiscountCollateralAuctionHouse__factory.connect(token.collateralAuctionHouse, signerOrProvider) + const collateralAuctionHouse = types.CollateralAuctionHouse__factory.connect(token.collateralAuctionHouse, signerOrProvider) return { ...accum, [token.symbol]: collateralAuctionHouse } }, {}) } diff --git a/src/auctions.ts b/src/auctions.ts index 5e1ed70..cd5043a 100644 --- a/src/auctions.ts +++ b/src/auctions.ts @@ -16,7 +16,7 @@ import { RestartAuctionEventFilter as SurplusRestartAuctonEventFilter, SettleAuctionEventFilter as SurplusSettleAuctionEventFilter, StartAuctionEventFilter as SurplusStartAuctionEventFilter, -} from './typechained/RecyclingSurplusAuctionHouse' +} from './typechained/SurplusAuctionHouse' import { DecreaseSoldAmountEventFilter as DebtDecreaseSoldAmountEventFilter, @@ -78,20 +78,20 @@ export class Auctions { ([startAuction, bidEvents, restartAuctions, settledAuctions]) => { const bids = bidEvents.reduce((accum: { [key: string]: IAuctionBidder[] }, bid) => { const parsedBid = bidEventToBid(bid) - const id = bid.args.id.toString() + const id = bid.args._id.toString() const bidsForId = accum[id] return { ...accum, [id]: bidsForId ? bidsForId.concat(parsedBid) : [parsedBid] } }, {}) const restarts = restartAuctions.reduce((accum: { [key: string]: BigNumber }, restart) => { - const id = restart.args.id.toString() + const id = restart.args._id.toString() const lastRestart = accum[id] - const newRestart = restart.args.auctionDeadline // Do events always come ordered correctly? + const newRestart = restart.args._auctionDeadline // Do events always come ordered correctly? return { ...accum, [id]: !lastRestart || newRestart.gt(lastRestart) ? newRestart : lastRestart } }, {}) const settled = settledAuctions.reduce((accum: { [key: string]: boolean }, settled) => { - const id = settled.args.id.toString() + const id = settled.args._id.toString() return { ...accum, [id]: true } }, {}) @@ -123,20 +123,20 @@ export class Auctions { ([startAuction, bidEvents, restartAuctions, settledAuctions]) => { const bids = bidEvents.reduce((accum: { [key: string]: IAuctionBidder[] }, bid) => { const parsedBid = bidEventToBid(bid) - const id = bid.args.id.toString() + const id = bid.args._id.toString() const bidsForId = accum[id] return { ...accum, [id]: bidsForId ? bidsForId.concat(parsedBid) : [parsedBid] } }, {}) const restarts = restartAuctions.reduce((accum: { [key: string]: BigNumber }, restart) => { - const id = restart.args.id.toString() + const id = restart.args._id.toString() const lastRestart = accum[id] - const newRestart = restart.args.auctionDeadline // Do events always come ordered correctly? + const newRestart = restart.args._auctionDeadline // Do events always come ordered correctly? return { ...accum, [id]: !lastRestart || newRestart.gt(lastRestart) ? newRestart : lastRestart } }, {}) const settled = settledAuctions.reduce((accum: { [key: string]: boolean }, settled) => { - const id = settled.args.id.toString() + const id = settled.args._id.toString() return { ...accum, [id]: true } }, {}) diff --git a/src/contracts/addreses.ts b/src/contracts/addreses.ts index 7a85b13..f95fb45 100644 --- a/src/contracts/addreses.ts +++ b/src/contracts/addreses.ts @@ -99,12 +99,12 @@ const addresses: Record = { GEB_PROT: '0x64ff820bbD2947B2f2D4355D4852F17eb0156D9A', GEB_SAFE_ENGINE: '0xDfd2D62b3eC9BF6F52547c570B5AC2136D9756E4', GEB_TAX_COLLECTOR: '0x1A88AB748C17E62CD99a2b7162EA0dD8AB7A059A', - GEB_LIQUIDATION_ENGINE: '0x389b9Eb0cDEAedf96d0dF8e4caA72b5cA5672870', + GEB_LIQUIDATION_ENGINE: '0xC9E07e417e952c79FA65428076C9575C4026b43e', GEB_ACCOUNTING_ENGINE: '0xc922644df8E6336c6DFc997e29602EF4aba51c8c', GEB_COIN_JOIN: '0x3217B0aBcaAC50898F4826f0C502dEd9AB8eae53', - GEB_SURPLUS_AUCTION_HOUSE: '0xa65394B23d7c6C2B3aBe9B9ed69a527E2026f855', - GEB_DEBT_AUCTION_HOUSE: '0x8F7cFe960F12710B1Fe1F3ef4352D3530209598A', - GEB_ORACLE_RELAYER: '0xca53F197A4A3C72F9954e34906DFC59148Ce653f', + GEB_SURPLUS_AUCTION_HOUSE: '0x72DfB98ffdE560E895a82f1f525c66C959F7eF86', + GEB_DEBT_AUCTION_HOUSE: '0x0c9cea9FE68A8612A627ab150De8f4B05bf4c784', + GEB_ORACLE_RELAYER: '0x39eF5478F9186Da7c5C0a79B379B20648462626F', GEB_GLOBAL_SETTLEMENT: '0xFd4fB8e5f11A3FD403761a832bC35F31d5579B83', GEB_STABILITY_FEE_TREASURY: '0xFAD4f858867D7aB4Bd7b80c611287abF4B139986', GEB_RRFM_CALCULATOR: '0x0000000000000000000000000000000000000114', @@ -149,7 +149,7 @@ const tokens: Record = { symbol: 'WETH', bytes32String: WETH, collateralJoin: '0x69DE387041C3056ec96aEFb432A546EAe4394da6', - collateralAuctionHouse: '0x46f7a52A5543cC5068dc7aF31aE49eBF0778eF8A', + collateralAuctionHouse: '0x166425Cc84996DC0d8fEaDa66F86055AAE8f8209', isCollateral: true, }, OP: { @@ -158,7 +158,7 @@ const tokens: Record = { symbol: 'OP', bytes32String: OP, collateralJoin: '0xA59A8a069284e52B8c761d7e0AC2129733ACCBF6', - collateralAuctionHouse: '0x47C2c459c37FEF0c21dC8e945008E8A05346942d', + collateralAuctionHouse: '0xeAfB6be474e84fC5f3aF7bbaD39D89A5764D4D36', isCollateral: true, }, WBTC: { @@ -167,7 +167,7 @@ const tokens: Record = { symbol: 'WBTC', bytes32String: WBTC, collateralJoin: '0x187Bcd738ca9fDDfC2439A7Cd537C05F85C40429', - collateralAuctionHouse: '0x36677aD304c296F9cb24943830E4540C702a63FF', + collateralAuctionHouse: '0x724A7b53c0B81DDB0654e012c94667730CBa1837', isCollateral: true, }, STN: { @@ -176,7 +176,7 @@ const tokens: Record = { symbol: 'STN', bytes32String: STONES, collateralJoin: '0x78c64A263F685f98A83412A6891706cFa7eA29BB', - collateralAuctionHouse: '0xF2DFB982FaeDe09c2E1a0Fa5de026FaD25f75dC0', + collateralAuctionHouse: '0x22a804F6685f96dE8CD81aba0C85fe49884274f8', isCollateral: true, }, TTM: { @@ -185,7 +185,7 @@ const tokens: Record = { symbol: 'TTM', bytes32String: TOTEM, collateralJoin: '0xC396AC5dc7e35c0BA7dca51b5eedbdd6055b91dB', - collateralAuctionHouse: '0x76aBf3D8Ab0e405f68aE991904A3b8F8E19647Bc', + collateralAuctionHouse: '0x24CF3ddF28d7a2e046Ea9bD1B6908D8B33AAB873', isCollateral: true, }, HAI: { diff --git a/src/schema/auction.ts b/src/schema/auction.ts index 58bdb22..e2a9a35 100644 --- a/src/schema/auction.ts +++ b/src/schema/auction.ts @@ -1,13 +1,10 @@ import { BigNumber } from 'ethers' -import { - IncreaseBidSizeEvent, - StartAuctionEvent as SurplusStartAuctionEvent, -} from '../typechained/RecyclingSurplusAuctionHouse' +import { IncreaseBidSizeEvent, StartAuctionEvent as SurplusStartAuctionEvent } from '../typechained/SurplusAuctionHouse' import { StartAuctionEvent as DebtStartAuctionEvent } from '../typechained/DebtAuctionHouse' import { BuyCollateralEvent, StartAuctionEvent as CollateralAuctionStartEvent, -} from '../typechained/IncreasingDiscountCollateralAuctionHouse' +} from '../typechained/CollateralAuctionHouse' export interface ISurplusAuction { auctionDeadline: string @@ -29,7 +26,6 @@ export interface IDebtAuction { isClaimed: boolean amount: string initialBid: string - incomeReceiver: string } export interface ICollateralAuction { @@ -42,8 +38,6 @@ export interface ICollateralAuction { startingDiscount: string maxDiscount: string perSecondDiscountUpdateRate: string - forgoneCollateralReceiver: string - auctionIncomeRecipient: string isClaimed: boolean biddersList: Array } @@ -62,13 +56,13 @@ export function surplusStartAuctionEventToAuction( restarts: { [key: string]: BigNumber }, settled: { [key: string]: boolean } ): ISurplusAuction { - const id = startAuction.args.id.toString() + const id = startAuction.args._id.toString() return { - auctionDeadline: restarts[id] ? restarts[id].toString() : startAuction.args.auctionDeadline.toString(), + auctionDeadline: restarts[id] ? restarts[id].toString() : startAuction.args._auctionDeadline.toString(), auctionId: id, - amount: startAuction.args.amountToSell.toString(), - initialBid: startAuction.args.initialBid.toString(), - createdAt: startAuction.blockNumber.toString(), + amount: startAuction.args._amountToSell.toString(), + initialBid: startAuction.args._amountToRaise.toString(), + createdAt: startAuction.args._blockTimestamp.toString(), createdAtTransaction: startAuction.transactionHash.toString(), biddersList: bids[id] || [], isClaimed: settled[id] || false, @@ -81,17 +75,16 @@ export function debtStartAuctionEventToAuction( restarts: { [key: string]: BigNumber }, settled: { [key: string]: boolean } ): IDebtAuction { - const id = startAuction.args.id.toString() + const id = startAuction.args._id.toString() return { - auctionDeadline: restarts[id] ? restarts[id].toString() : startAuction.args.auctionDeadline.toString(), + auctionDeadline: restarts[id] ? restarts[id].toString() : startAuction.args._auctionDeadline.toString(), auctionId: id, - amount: startAuction.args.amountToSell.toString(), - initialBid: startAuction.args.initialBid.toString(), - createdAt: startAuction.blockNumber.toString(), + amount: startAuction.args._amountToSell.toString(), + initialBid: startAuction.args._amountToRaise.toString(), + createdAt: startAuction.args._blockTimestamp.toString(), createdAtTransaction: startAuction.transactionHash.toString(), biddersList: bids[id] || [], isClaimed: settled[id] || false, - incomeReceiver: startAuction.args.incomeReceiver.toString(), } } @@ -102,16 +95,14 @@ export function collateralStartAuctionEventToAuction( ): ICollateralAuction { return { auctionId: startAuction.args._id.toString(), - createdAt: startAuction.blockNumber.toString(), + createdAt: startAuction.args._blockTimestamp.toString(), createdAtTransaction: startAuction.transactionHash.toString(), amountToSell: startAuction.args._amountToSell.toString(), - initialBid: startAuction.args._initialBid.toString(), + initialBid: startAuction.args._amountToRaise.toString(), amountToRaise: startAuction.args._amountToRaise.toString(), - startingDiscount: startAuction.args._startingDiscount.toString(), + startingDiscount: startAuction.args._initialDiscount.toString(), maxDiscount: startAuction.args._maxDiscount.toString(), perSecondDiscountUpdateRate: startAuction.args._perSecondDiscountUpdateRate.toString(), - forgoneCollateralReceiver: startAuction.args._forgoneCollateralReceiver.toString(), - auctionIncomeRecipient: startAuction.args._auctionIncomeRecipient.toString(), isClaimed: settled[startAuction.args._id.toString()] || false, biddersList: bids[startAuction.args._id.toString()] || [], } @@ -119,20 +110,20 @@ export function collateralStartAuctionEventToAuction( export function bidEventToBid(bid: IncreaseBidSizeEvent): IAuctionBidder { return { - bidder: bid.args.highBidder, - bid: bid.args.bid.toString(), - createdAt: bid.blockNumber.toString(), - buyAmount: bid.args.amountToBuy.toString(), + bidder: bid.args._bidder, + bid: bid.args._raisedAmount.toString(), + createdAt: bid.args._blockTimestamp.toString(), + buyAmount: bid.args._soldAmount.toString(), createdAtTransaction: bid.transactionHash, } } export function collateralBidEventToBid(bid: BuyCollateralEvent): IAuctionBidder { return { - bidder: '0x0000000000000000000000000000000000000000', // TODO: change when new events come in - createdAt: '1689159421', // TODO: change when new events come in - bid: bid.args._boughtCollateral.toString(), - buyAmount: bid.args._wad.toString(), + bidder: bid.args._bidder, + createdAt: bid.args._blockTimestamp.toString(), + bid: bid.args._raisedAmount.toString(), + buyAmount: bid.args._soldAmount.toString(), createdAtTransaction: bid.transactionHash, } } diff --git a/tsconfig.json b/tsconfig.json index c46841f..b11a958 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -12,7 +12,6 @@ "noFallthroughCasesInSwitch": true, "noImplicitAny": true, "noImplicitReturns": true, - "noUnusedLocals": true, "module": "commonjs", "sourceMap": true, "target": "es5"