UNPKG

@alpsfinance/core

Version:

This is the official Alps Finance smart contract repository.

662 lines (661 loc) 1.08 MB
{ "contractName": "MockPresale", "abi": [ { "inputs": [ { "internalType": "address", "name": "_tokenAddress", "type": "address" }, { "internalType": "address payable", "name": "_presaleReceiver", "type": "address" }, { "internalType": "uint256", "name": "_endingTime", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "presaleAmountOverdemand", "type": "error" }, { "inputs": [], "name": "presaleEndingTimeInvalid", "type": "error" }, { "inputs": [], "name": "presaleMaximumPresaleAmountInvalid", "type": "error" }, { "inputs": [], "name": "presaleMimumumUSDPurchaseInvalid", "type": "error" }, { "inputs": [], "name": "presaleNativeTokenPaymentNotSufficient", "type": "error" }, { "inputs": [], "name": "presaleNonZeroAddressInvalid", "type": "error" }, { "inputs": [], "name": "presaleRoundClosed", "type": "error" }, { "inputs": [], "name": "presaleStartingTimeInvalid", "type": "error" }, { "inputs": [], "name": "presaleTokenNotAvailable", "type": "error" }, { "inputs": [], "name": "presaleUSDPriceInvalid", "type": "error" }, { "inputs": [], "name": "presaleUSDPurchaseNotSufficient", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "endingTime", "type": "uint256" } ], "name": "PresaleEndingTimeUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "tokenAddress", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "tokenAvailability", "type": "bool" }, { "indexed": false, "internalType": "address", "name": "aggregatorAddress", "type": "address" } ], "name": "PresalePaymentTokenUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "receiverAddress", "type": "address" } ], "name": "PresaleReceiverUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "presaleRound", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "startingTime", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "usdPrice", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "minimumUSDPurchase", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "maximumPresaleAmount", "type": "uint256" } ], "name": "PresaleRoundUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "tokenAddress", "type": "address" } ], "name": "PresaleTokenUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "address", "name": "paymentTokenAddress", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "paymentTokenamount", "type": "uint256" } ], "name": "TokenPresold", "type": "event" }, { "inputs": [], "name": "endingTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "presaleAmountByRoundMapping", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "presalePaymentTokenMapping", "outputs": [ { "internalType": "bool", "name": "available", "type": "bool" }, { "internalType": "address", "name": "aggregatorAddress", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "presaleReceiver", "outputs": [ { "internalType": "address payable", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "tokenAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalPresaleRound", "outputs": [ { "internalType": "uint256", "name": "_value", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getTotalPresaleRound", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_presaleRound", "type": "uint256" } ], "name": "getPresaleAmountByRound", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getTotalPresaleAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getCurrentPresaleRound", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getCurrentPresaleDetails", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_paymentTokenAddress", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "presaleTokens", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address payable", "name": "_newPresaleReceiver", "type": "address" } ], "name": "setPresaleReceiver", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_newTokenAddress", "type": "address" } ], "name": "setPresaleTokenAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_tokenAddress", "type": "address" }, { "internalType": "bool", "name": "_tokenAvailability", "type": "bool" }, { "internalType": "address", "name": "_aggregatorAddress", "type": "address" } ], "name": "setPresalePaymentToken", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_newEndingTime", "type": "uint256" } ], "name": "setEndingTime", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_presaleRound", "type": "uint256" }, { "internalType": "uint256", "name": "_startingTime", "type": "uint256" }, { "internalType": "uint256", "name": "_usdPrice", "type": "uint256" }, { "internalType": "uint256", "name": "_minimumUSDPurchase", "type": "uint256" }, { "internalType": "uint256", "name": "_maximumPresaleAmount", "type": "uint256" } ], "name": "setPresaleRound", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "metadata": "{\"compiler\":{\"version\":\"0.8.11+commit.d7f03943\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tokenAddress\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"_presaleReceiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_endingTime\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"presaleAmountOverdemand\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"presaleEndingTimeInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"presaleMaximumPresaleAmountInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"presaleMimumumUSDPurchaseInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"presaleNativeTokenPaymentNotSufficient\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"presaleNonZeroAddressInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"presaleRoundClosed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"presaleStartingTimeInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"presaleTokenNotAvailable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"presaleUSDPriceInvalid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"presaleUSDPurchaseNotSufficient\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"endingTime\",\"type\":\"uint256\"}],\"name\":\"PresaleEndingTimeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"tokenAvailability\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"aggregatorAddress\",\"type\":\"address\"}],\"name\":\"PresalePaymentTokenUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"receiverAddress\",\"type\":\"address\"}],\"name\":\"PresaleReceiverUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"presaleRound\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"startingTime\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"usdPrice\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"minimumUSDPurchase\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"maximumPresaleAmount\",\"type\":\"uint256\"}],\"name\":\"PresaleRoundUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"}],\"name\":\"PresaleTokenUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"paymentTokenAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"paymentTokenamount\",\"type\":\"uint256\"}],\"name\":\"TokenPresold\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"endingTime\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentPresaleDetails\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentPresaleRound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_presaleRound\",\"type\":\"uint256\"}],\"name\":\"getPresaleAmountByRound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalPresaleAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalPresaleRound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"presaleAmountByRoundMapping\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"presalePaymentTokenMapping\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"available\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"aggregatorAddress\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"presaleReceiver\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_paymentTokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"presaleTokens\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_newEndingTime\",\"type\":\"uint256\"}],\"name\":\"setEndingTime\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tokenAddress\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_tokenAvailability\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"_aggregatorAddress\",\"type\":\"address\"}],\"name\":\"setPresalePaymentToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_newPresaleReceiver\",\"type\":\"address\"}],\"name\":\"setPresaleReceiver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_presaleRound\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_startingTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_usdPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_minimumUSDPurchase\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_maximumPresaleAmount\",\"type\":\"uint256\"}],\"name\":\"setPresaleRound\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newTokenAddress\",\"type\":\"address\"}],\"name\":\"setPresaleTokenAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tokenAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalPresaleRound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"getCurrentPresaleDetails()\":{\"details\":\"Getting the Current Presale Details, including:\",\"returns\":{\"_0\":\"Starting Time\",\"_1\":\"USD Price\",\"_2\":\"Minimum USD Purchase\",\"_3\":\"Maximum Presale Amount\"}},\"getCurrentPresaleRound()\":{\"details\":\"Get Current Presale Round\"},\"getPresaleAmountByRound(uint256)\":{\"details\":\"Get presale total amount By presale round\",\"params\":{\"_presaleRound\":\"- The presale round chosen\"}},\"getTotalPresaleAmount()\":{\"details\":\"Get total amount of presale from all rounds\"},\"getTotalPresaleRound()\":{\"details\":\"Get total amount of presale round\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"presaleTokens(address,uint256)\":{\"details\":\"Execute the Presale of ALPS Token in exchange of other token\",\"params\":{\"_amount\":\"- Amount denominated in the `paymentTokenAddress` being paid\",\"_paymentTokenAddress\":\"- Address of the token use to pay (address 0 is for native token)\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"setEndingTime(uint256)\":{\"details\":\"Set new Ending time\",\"params\":{\"_newEndingTime\":\"- New Ending Timestamp\"}},\"setPresalePaymentToken(address,bool,address)\":{\"details\":\"Set Presale Payment Token Info\",\"params\":{\"_aggregatorAddress\":\"- Chainlink's Aggregator Address to determine the USD price (for `presaleTokens`)\",\"_tokenAddress\":\"- Token Address use to purchase Presale\",\"_tokenAvailability\":\"- Indication whether Token Address can be used for Presale\"}},\"setPresaleReceiver(address)\":{\"details\":\"Set new Presale Receiver Address\",\"params\":{\"_newPresaleReceiver\":\"- Address that'll receive the presale payment token\"}},\"setPresaleRound(uint256,uint256,uint256,uint256,uint256)\":{\"details\":\"Creating/Updating a presale round information\",\"params\":{\"_maximumPresaleAmount\":\"- The maximum amount of token available for a presale round\",\"_minimumUSDPurchase\":\"- The minimum USD amount to purchase the token\",\"_presaleRound\":\"- The presale round chosen\",\"_startingTime\":\"- The starting Presale time\",\"_usdPrice\":\"- The USD Price of the Token in certain Presale Round\"}},\"setPresaleTokenAddress(address)\":{\"details\":\"Set new Presale Token Address\",\"params\":{\"_newTokenAddress\":\"- Address of token that'll be presaled\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/presale/mocks/MockPresale.sol\":\"MockPresale\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol\":{\"keccak256\":\"0xf2b6c9adb3552254df1445b73563cf014434ff5e78663e9b961b6c059506ceb5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c1f59e0c7334c22fb54288728fc32546bdc9c8133d6db0d60223e3c28f52120\",\"dweb:/ipfs/QmeuxawUVBhMWQJXaEhhnubCTc4Jwn5wYK8gbhq6NjrpfG\"]},\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0x24e0364e503a9bbde94c715d26573a76f14cd2a202d45f96f52134ab806b67b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12cbaa7378fd9b62280e4e1d164bedcb4399ce238f5f98fc0eefb7e50577981\",\"dweb:/ipfs/QmXRoFGUgfsaRkoPT5bxNMtSayKTQ8GZATLPXf69HcRA51\"]},\"@openzeppelin/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0x0e9621f60b2faabe65549f7ed0f24e8853a45c1b7990d47e8160e523683f3935\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://287a2f8d5814dd0f05f22b740f18ca8321acc21c9bd03a6cb2203ea626e2f3f2\",\"dweb:/ipfs/QmZRQv9iuwU817VuqkA2WweiaibKii69x9QxYBBEfbNEud\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xbbc8ac883ac3c0078ce5ad3e288fbb3ffcc8a30c3a98c0fda0114d64fc44fca2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87a7a5d2f6f63f84598af02b8c50ca2df2631cb8ba2453e8d95fcb17e4be9824\",\"dweb:/ipfs/QmR76hqtAcRqoFj33tmNjcWTLrgNsAaakYwnKZ8zoJtKei\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]},\"@openzeppelin/contracts/utils/math/SafeMath.sol\":{\"keccak256\":\"0xa2f576be637946f767aa56601c26d717f48a0aff44f82e46f13807eea1009a21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://973868f808e88e21a1a0a01d4839314515ee337ad096286c88e41b74dcc11fc2\",\"dweb:/ipfs/QmfYuZxRfx2J2xdk4EXN7jKg4bUYEMTaYk9BAw9Bqn4o2Y\"]},\"project:/contracts/libraries/PriceConverter.sol\":{\"keccak256\":\"0x1c7379e2f032a302a999b9f49bd5b0d79bc5d260aeae8d8e173dfdcae2bebbb8\",\"license\":\"AGPL-3.0\",\"urls\":[\"bzz-raw://c8968f30c2b173c3fa28a669fe95d09721ffad661b7632d36de73a286e06d124\",\"dweb:/ipfs/QmXCh1gfzimGC3WLPLyUSsdy7UWGNKt6Fsc7f45sRyYRJe\"]},\"project:/contracts/presale/mocks/MockPresale.sol\":{\"keccak256\":\"0x773bca1032fc62510c842e26ed8ed448cca3fcd9516f64e5918e7515cf1fa481\",\"license\":\"AGPL-3.0\",\"urls\":[\"bzz-raw://ce50470d735a55b02c0f4aeaa4598e51a44acd094a5624533e04c66ab8f71448\",\"dweb:/ipfs/Qme7AS4ue9GZ156SXkX1dKpQuxpgDLprtUJhRdXAdiXjn9\"]},\"project:/contracts/token/interfaces/IERC20Custom.sol\":{\"keccak256\":\"0x6f50952568dc5b577661f6d1730b39cfa7628a39390103c89190afdfc565d1f4\",\"license\":\"AGPL-3.0\",\"urls\":[\"bzz-raw://480386fcd5b5e3456e80150bf5444f1b2b067746be0245f287b78fc03e81133a\",\"dweb:/ipfs/QmWBfMsjQPEKj7jav96428j8Ss4AUVtkj69nsVsPZb8E1S\"]}},\"version\":1}", "bytecode": "0x608060405234801561001057600080fd5b5060405161137838038061137883398101604081905261002f916100dc565b61003833610074565b60018055600380546001600160a01b039485166001600160a01b031991821617909155600480549390941692169190911790915560055561011f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146100d957600080fd5b50565b6000806000606084860312156100f157600080fd5b83516100fc816100c4565b602085015190935061010d816100c4565b80925050604084015190509250925092565b61124a8061012e6000396000f3fe60806040526004361061011f5760003560e01c80638e7d41b7116100a0578063d958e00111610064578063d958e00114610338578063ec2b352314610365578063efca90491461039a578063f2fde38b146103ad578063feda925b146103cd57600080fd5b80638e7d41b714610262578063962de5c0146102c15780639d76ea58146102d8578063c1436415146102f8578063c829d1db1461031857600080fd5b80633c0c134d116100e75780633c0c134d146101c55780636c47a6c3146101e5578063715018a6146101fb578063736e38ef146102105780638da5cb5b1461023057600080fd5b80630aca575a146101245780631c63f0ed1461014c5780633473bf3014610161578063392f911b14610183578063398dcd26146101b0575b600080fd5b34801561013057600080fd5b506101396103ed565b6040519081526020015b60405180910390f35b34801561015857600080fd5b5061013961042f565b34801561016d57600080fd5b5061018161017c366004610e31565b610484565b005b34801561018f57600080fd5b5061013961019e366004610e31565b60076020526000908152604090205481565b3480156101bc57600080fd5b50610139610514565b3480156101d157600080fd5b506101816101e0366004610e5f565b610524565b3480156101f157600080fd5b5061013960055481565b34801561020757600080fd5b506101816105cb565b34801561021c57600080fd5b5061018161022b366004610e8a565b610601565b34801561023c57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610143565b34801561026e57600080fd5b506102a261027d366004610e5f565b60086020526000908152604090205460ff81169061010090046001600160a01b031682565b6040805192151583526001600160a01b03909116602083015201610143565b3480156102cd57600080fd5b506002546101399081565b3480156102e457600080fd5b5060035461024a906001600160a01b031681565b34801561030457600080fd5b5060045461024a906001600160a01b031681565b34801561032457600080fd5b50610181610333366004610ed5565b6106de565b34801561034457600080fd5b50610139610353366004610e31565b60009081526007602052604090205490565b34801561037157600080fd5b5061037a610888565b604080519485526020850193909352918301526060820152608001610143565b6101816103a8366004610f10565b6108c7565b3480156103b957600080fd5b506101816103c8366004610e5f565b610c3a565b3480156103d957600080fd5b506101816103e8366004610e5f565b610cd5565b600080805b600254811015610429576000818152600760205260409020546104159083610f52565b91508061042181610f6a565b9150506103f2565b50919050565b600080600161043d60025490565b6104479190610f85565b90505b801561047c57600081815260066020526040902054421061046a57919050565b8061047481610f9c565b91505061044a565b506000905090565b6000546001600160a01b031633146104b75760405162461bcd60e51b81526004016104ae90610fb3565b60405180910390fd5b428110156104d8576040516393d901df60e01b815260040160405180910390fd5b60058190556040518181527f5e50721573a3d3c427f04e866bbc258f046cad12af9fe4a334736b200773d677906020015b60405180910390a150565b600061051f60025490565b905090565b6000546001600160a01b0316331461054e5760405162461bcd60e51b81526004016104ae90610fb3565b806001600160a01b0381166105765760405163120d99cb60e11b815260040160405180910390fd5b600380546001600160a01b0319166001600160a01b0384169081179091556040519081527fee1a99df2103f0b252dbc99d29264423a2ff1bb9c2f60dc19903e2ce82989b8b9060200160405180910390a15050565b6000546001600160a01b031633146105f55760405162461bcd60e51b81526004016104ae90610fb3565b6105ff6000610d4d565b565b6000546001600160a01b0316331461062b5760405162461bcd60e51b81526004016104ae90610fb3565b806001600160a01b0381166106535760405163120d99cb60e11b815260040160405180910390fd5b6001600160a01b0384811660008181526008602090815260409182902080546001600160a81b031916881515610100600160a81b0319811691909117610100968916968702179091558251938452908301528101919091527f0808e27b4009f59d9d966410b0eead8697b72a10434291d723d6200ab3f343e59060600160405180910390a150505050565b6000546001600160a01b031633146107085760405162461bcd60e51b81526004016104ae90610fb3565b60008581526006602052604090208054600182015460028301546003909301549192909183158015610738575082155b8015610742575081155b801561074c575080155b1561075f5761075f600280546001019055565b8715806107955750881580159061079557506006600061078060018c610f85565b81526020019081526020016000206000015488105b156107b357604051633863ce1d60e01b815260040160405180910390fd5b866107d1576040516329198c7f60e11b815260040160405180910390fd5b856107ef57604051630746844f60e31b815260040160405180910390fd5b8461080d57604051639f2bfa4160e01b815260040160405180910390fd5b6000898152600660209081526040918290208a8155600181018a90556002810189905560030187905581518a81529081018990529081018790526060810186905289907f5460f1c76402b41ef0b7902b6b577fd351a2a6bc531d4a246d8be68dde775a2b9060800160405180910390a2505050505050505050565b600080600080600061089861042f565b600090815260066020526040902080546001820154600283015460039093015491989097509195509350915050565b6002600154141561091a5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016104ae565b6002600155600061092961042f565b9050600080600080610939610888565b93509350935093508342108061095157506005544210155b1561096f576040516304d61c6f60e41b815260040160405180910390fd5b6001600160a01b03871660009081526008602052604090205460ff166109a8576040516303003c8560e21b815260040160405180910390fd5b6003546001600160a01b031660006109c9601e670de0b6b3a7640000610d9d565b9050838110156109ec5760405163196d4a1d60e01b815260040160405180910390fd5b6000610a046109fb8388610db2565b60006012610dbe565b600089815260076020526040902054909150610a209085610f85565b811115610a40576040516317b1337360e31b815260040160405180910390fd5b60008881526007602052604081208054839290610a5e908490610f52565b90915550506001600160a01b038a16610aff5788341015610a925760405163854a356160e01b815260040160405180910390fd5b6004546040516001600160a01b03909116908a156108fc02908b906000818181858888f19350505050158015610acc573d6000803e3d6000fd5b5060405133904780156108fc02916000818181858888f19350505050158015610af9573d6000803e3d6000fd5b50610b84565b600480546040516323b872dd60e01b815233928101929092526001600160a01b039081166024830152604482018b90528b91908216906323b872dd906064016020604051808303816000875af1158015610b5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b819190610fe8565b50505b6040516340c10f1960e01b8152336004820152602481018290526001600160a01b038416906340c10f1990604401600060405180830381600087803b158015610bcc57600080fd5b505af1158015610be0573d6000803e3d6000fd5b505060408051848152602081018d90526001600160a01b038e1693503392507f69902df1d9bae4b2a08b9e9d689906299b4b15ac10fbbf560d019b5c73fd35d6910160405180910390a35050600180555050505050505050565b6000546001600160a01b03163314610c645760405162461bcd60e51b81526004016104ae90610fb3565b6001600160a01b038116610cc95760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104ae565b610cd281610d4d565b50565b6000546001600160a01b03163314610cff5760405162461bcd60e51b81526004016104ae90610fb3565b600480546001600160a01b0319166001600160a01b0383169081179091556040519081527fb3df4b02428d73d6993c686e78b4a35e95f5be7d084aaee9277115379dc4ca9390602001610509565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000610da98284611005565b90505b92915050565b6000610da9828461103a565b60008160ff168360ff161015610df757610dd8838361104e565b610de69060ff16600a611155565b610df09085611161565b9050610e2a565b8160ff168360ff161115610e2757610e0f828461104e565b610e1d9060ff16600a611155565b610df090856111e6565b50825b9392505050565b600060208284031215610e4357600080fd5b5035919050565b6001600160a01b0381168114610cd257600080fd5b600060208284031215610e7157600080fd5b8135610e2a81610e4a565b8015158114610cd257600080fd5b600080600060608486031215610e9f57600080fd5b8335610eaa81610e4a565b92506020840135610eba81610e7c565b91506040840135610eca81610e4a565b809150509250925092565b600080600080600060a08688031215610eed57600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b60008060408385031215610f2357600080fd5b8235610f2e81610e4a565b946020939093013593505050565b634e487b7160e01b600052601160045260246000fd5b60008219821115610f6557610f65610f3c565b500190565b6000600019821415610f7e57610f7e610f3c565b5060010190565b600082821015610f9757610f97610f3c565b500390565b600081610fab57610fab610f3c565b506000190190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215610ffa57600080fd5b8151610e2a81610e7c565b600081600019048311821515161561101f5761101f610f3c565b500290565b634e487b7160e01b600052601260045260246000fd5b60008261104957611049611024565b500490565b600060ff821660ff84168082101561106857611068610f3c565b90039392505050565b600181815b808511156110ac57816000190482111561109257611092610f3c565b8085161561109f57918102915b93841c9390800290611076565b509250929050565b6000826110c357506001610dac565b816110d057506000610dac565b81600181146110e657600281146110f05761110c565b6001915050610dac565b60ff84111561110157611101610f3c565b50506001821b610dac565b5060208310610133831016604e8410600b841016171561112f575081810a610dac565b6111398383611071565b806000190482111561114d5761114d610f3c565b029392505050565b6000610da983836110b4565b60006001600160ff1b038184138284138082168684048611161561118757611187610f3c565b600160ff1b60008712828116878305891216156111a6576111a6610f3c565b600087129250878205871284841616156111c2576111c2610f3c565b878505871281841616156111d8576111d8610f3c565b505050929093029392505050565b6000826111f5576111f5611024565b600160ff1b82146000198414161561120f5761120f610f3c565b50059056fea264697066735822122090c469a0b430f74d05e4e2602e9e6534111cb151a898833bbb738c00605f3e8864736f6c634300080b0033", "deployedBytecode": "0x60806040526004361061011f5760003560e01c80638e7d41b7116100a0578063d958e00111610064578063d958e00114610338578063ec2b352314610365578063efca90491461039a578063f2fde38b146103ad578063feda925b146103cd57600080fd5b80638e7d41b714610262578063962de5c0146102c15780639d76ea58146102d8578063c1436415146102f8578063c829d1db1461031857600080fd5b80633c0c134d116100e75780633c0c134d146101c55780636c47a6c3146101e5578063715018a6146101fb578063736e38ef146102105780638da5cb5b1461023057600080fd5b80630aca575a146101245780631c63f0ed1461014c5780633473bf3014610161578063392f911b14610183578063398dcd26146101b0575b600080fd5b34801561013057600080fd5b506101396103ed565b6040519081526020015b60405180910390f35b34801561015857600080fd5b5061013961042f565b34801561016d57600080fd5b5061018161017c366004610e31565b610484565b005b34801561018f57600080fd5b5061013961019e366004610e31565b60076020526000908152604090205481565b3480156101bc57600080fd5b50610139610514565b3480156101d157600080fd5b506101816101e0366004610e5f565b610524565b3480156101f157600080fd5b5061013960055481565b34801561020757600080fd5b506101816105cb565b34801561021c57600080fd5b5061018161022b366004610e8a565b610601565b34801561023c57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610143565b34801561026e57600080fd5b506102a261027d366004610e5f565b60086020526000908152604090205460ff81169061010090046001600160a01b031682565b6040805192151583526001600160a01b03909116602083015201610143565b3480156102cd57600080fd5b506002546101399081565b3480156102e457600080fd5b5060035461024a906001600160a01b031681565b34801561030457600080fd5b5060045461024a906001600160a01b031681565b34801561032457600080fd5b50610181610333366004610ed5565b6106de565b34801561034457600080fd5b50610139610353366004610e31565b60009081526007602052604090205490565b34801561037157600080fd5b5061037a610888565b604080519485526020850193909352918301526060820152608001610143565b6101816103a8366004610f10565b6108c7565b3480156103b957600080fd5b506101816103c8366004610e5f565b610c3a565b3480156103d957600080fd5b506101816103e8366004610e5f565b610cd5565b600080805b600254811015610429576000818152600760205260409020546104159083610f52565b91508061042181610f6a565b9150506103f2565b50919050565b600080600161043d60025490565b6104479190610f85565b90505b801561047c57600081815260066020526040902054421061046a57919050565b8061047481610f9c565b91505061044a565b506000905090565b6000546001600160a01b031633146104b75760405162461bcd60e51b81526004016104ae90610fb3565b60405180910390fd5b428110156104d8576040516393d901df60e01b815260040160405180910390fd5b60058190556040518181527f5e50721573a3d3c427f04e866bbc258f046cad12af9fe4a334736b200773d677906020015b60405180910390a150565b600061051f60025490565b905090565b6000546001600160a01b0316331461054e5760405162461bcd60e51b81526004016104ae90610fb3565b806001600160a01b0381166105765760405163120d99cb60e11b815260040160405180910390fd5b600380546001600160a01b0319166001600160a01b0384169081179091556040519081527fee1a99df2103f0b252dbc99d29264423a2ff1bb9c2f60dc19903e2ce82989b8b9060200160405180910390a15050565b6000546001600160a01b031633146105f55760405162461bcd60e51b81526004016104ae90610fb3565b6105ff6000610d4d565b565b6000546001600160a01b0316331461062b5760405162461bcd60e51b81526004016104ae90610fb3565b806001600160a01b0381166106535760405163120d99cb60e11b815260040160405180910390fd5b6001600160a01b0384811660008181526008602090815260409182902080546001600160a81b031916881515610100600160a81b0319811691909117610100968916968702179091558251938452908301528101919091527f0808e27b4009f59d9d966410b0eead8697b72a10434291d723d6200ab3f343e59060600160405180910390a150505050565b6000546001600160a01b031633146107085760405162461bcd60e51b81526004016104ae90610fb3565b60008581526006602052604090208054600182015460028301546003909301549192909183158015610738575082155b8015610742575081155b801561074c575080155b1561075f5761075f600280546001019055565b8715806107955750881580159061079557506006600061078060018c610f85565b81526020019081526020016000206000015488105b156107b357604051633863ce1d60e01b815260040160405180910390fd5b866107d1576040516329198c7f60e11b815260040160405180910390fd5b856107ef57604051630746844f60e31b815260040160405180910390fd5b8461080d57604051639f2bfa4160e01b815260040160405180910390fd5b6000898152600660209081526040918290208a8155600181018a90556002810189905560030187905581518a81529081018990529081018790526060810186905289907f5460f1c76402b41ef0b7902b6b577fd351a2a6bc531d4a246d8be68dde775a2b9060800160405180910390a2505050505050505050565b600080600080600061089861042f565b600090815260066020526040902080546001820154600283015460039093015491989097509195509350915050565b6002600154141561091a5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016104ae565b6002600155600061092961042f565b9050600080600080610939610888565b93509350935093508342108061095157506005544210155b1561096f576040516304d61c6f60e41b815260040160405180910390fd5b6001600160a01b03871660009081526008602052604090205460ff166109a8576040516303003c8560e21b815260040160405180910390fd5b6003546001600160a01b031660006109c9601e670de0b6b3a7640000610d9d565b9050838110156109ec5760405163196d4a1d60e01b815260040160405180910390fd5b6000610a046109fb8388610db2565b60006012610dbe565b600089815260076020526040902054909150610a209085610f85565b811115610a40576040516317b1337360e31b815260040160405180910390fd5b60008881526007602052604081208054839290610a5e908490610f52565b90915550506001600160a01b038a16610aff5788341015610a925760405163854a356160e01b815260040160405180910390fd5b6004546040516001600160a01b03909116908a156108fc02908b906000818181858888f19350505050158015610acc573d6000803e3d6000fd5b5060405133904780156108fc02916000818181858888f19350505050158015610af9573d6000803e3d6000fd5b50610b84565b600480546040516323b872dd60e01b815233928101929092526001600160a01b039081166024830152604482018b90528b91908216906323b872dd906064016020604051808303816000875af1158015610b5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b819190610fe8565b50505b6040516340c10f1960e01b8152336004820152602481018290526001600160a01b038416906340c10f1990604401600060405180830381600087803b158015610bcc57600080fd5b505af1158015610be0573d6000803e3d6000fd5b505060408051848152602081018d90526001600160a01b038e1693503392507f69902df1d9bae4b2a08b9e9d689906299b4b15ac10fbbf560d019b5c73fd35d6910160405180910390a35050600180555050505050505050565b6000546001600160a01b03163314610c645760405162461bcd60e51b81526004016104ae90610fb3565b6001600160a01b038116610cc95760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104ae565b610cd281610d4d565b50565b6000546001600160a01b03163314610cff5760405162461bcd60e51b81526004016104ae90610fb3565b600480546001600160a01b0319166001600160a01b0383169081179091556040519081527fb3df4b02428d73d6993c686e78b4a35e95f5be7d084aaee9277115379dc4ca9390602001610509565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000610da98284611005565b90505b92915050565b6000610da9828461103a565b60008160ff168360ff161015610df757610dd8838361104e565b610de69060ff16600a611155565b610df09085611161565b9050610e2a565b8160ff168360ff161115610e2757610e0f828461104e565b610e1d9060ff16600a611155565b610df090856111e6565b50825b9392505050565b600060208284031215610e4357600080fd5b5035919050565b6001600160a01b0381168114610cd257600080fd5b600060208284031215610e7157600080fd5b8135610e2a81610e4a565b8015158114610cd257600080fd5b600080600060608486031215610e9f57600080fd5b8335610eaa81610e4a565b92506020840135610eba81610e7c565b91506040840135610eca81610e4a565b809150509250925092565b600080600080600060a08688031215610eed57600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b60008060408385031215610f2357600080fd5b8235610f2e81610e4a565b946020939093013593505050565b634e487b7160e01b600052601160045260246000fd5b60008219821115610f6557610f65610f3c565b500190565b6000600019821415610f7e57610f7e610f3c565b5060010190565b600082821015610f9757610f97610f3c565b500390565b600081610fab57610fab610f3c565b506000190190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215610ffa57600080fd5b8151610e2a81610e7c565b600081600019048311821515161561101f5761101f610f3c565b500290565b634e487b7160e01b600052601260045260246000fd5b60008261104957611049611024565b500490565b600060ff821660ff84168082101561106857611068610f3c565b90039392505050565b600181815b808511156110ac57816000190482111561109257611092610f3c565b8085161561109f57918102915b93841c9390800290611076565b509250929050565b6000826110c357506001610dac565b816110d057506000610dac565b81600181146110e657600281146110f05761110c565b6001915050610dac565b60ff84111561110157611101610f3c565b50506001821b610dac565b5060208310610133831016604e8410600b841016171561112f575081810a610dac565b6111398383611071565b806000190482111561114d5761114d610f3c565b029392505050565b6000610da983836110b4565b60006001600160ff1b038184138284138082168684048611161561118757611187610f3c565b600160ff1b60008712828116878305891216156111a6576111a6610f3c565b600087129250878205871284841616156111c2576111c2610f3c565b878505871281841616156111d8576111d8610f3c565b505050929093029392505050565b6000826111f5576111f5611024565b600160ff1b82146000198414161561120f5761120f610f3c565b50059056fea264697066735822122090c469a0b430f74d05e4e2602e9e6534111cb151a898833bbb738c00605f3e8864736f6c634300080b0033", "immutableReferences": {}, "generatedSources": [ { "ast": { "nodeType": "YulBlock", "src": "0:606:56", "statements": [ { "nodeType": "YulBlock", "src": "6:3:56", "statements": [] }, { "body": { "nodeType": "YulBlock", "src": "59:86:56", "statements": [ { "body": { "nodeType": "YulBlock", "src": "123:16:56", "statements": [ { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "132:1:56", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "135:1:56", "type": "", "value": "0" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "125:6:56" }, "nodeType": "YulFunctionCall", "src": "125:12:56" }, "nodeType": "YulExpressionStatement", "src": "125:12:56" } ] }, "condition": { "arguments": [ { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "82:5:56" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "93:5:56" }, { "arguments": [ { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "108:3:56", "type": "", "value": "160" }, { "kind": "number", "nodeType": "YulLiteral", "src": "113:1:56", "type": "", "value": "1" } ], "functionName": { "name": "shl", "nodeType": "YulIdentifier", "src": "104:3:56" }, "nodeType": "YulFunctionCall", "src": "104:11:56" }, { "kind": "number", "nodeType": "YulLiteral", "src": "117:1:56",