44 txs
55 calls
constructor
constructor(address _stakeApy, address _nftAddress, address _oracleContract, address _networkContract, address _commissionContract, address _tokenAddress, address _pointAddress)
functions
calculatePointEarnedStake
viewfunction calculatePointEarnedStake(uint256 _stakeId) view returns (uint256)
calculateTokenEarnedStake
viewfunction calculateTokenEarnedStake(uint256 _stakeId) view returns (uint256)
checkCanClaim
viewfunction checkCanClaim(uint256 _stakeId) view returns (bool)
commissionContract
viewfunction commissionContract() view returns (address)
conditionClaimNftCommission
viewfunction conditionClaimNftCommission(uint8) view returns (uint256)
feeBnb
viewfunction feeBnb() view returns (uint256)
getDetailStake
viewfunction getDetailStake(uint256 _stakeId) view returns (tuple)
interestCommissionNftPercent
viewfunction interestCommissionNftPercent(uint8) view returns (uint16)
networkAddress
viewfunction networkAddress() view returns (address)
nftAddress
viewfunction nftAddress() view returns (address)
oracleContract
viewfunction oracleContract() view returns (address)
owner
viewfunction owner() view returns (address)
pointAddress
viewfunction pointAddress() view returns (address)
stakeApy
viewfunction stakeApy() view returns (address)
stakeIndex
viewfunction stakeIndex() view returns (uint256)
systemWallet
viewfunction systemWallet() view returns (address)
timeOpenStaking
viewfunction timeOpenStaking() view returns (uint256)
tokenAddress
viewfunction tokenAddress() view returns (address)
tokenDecimal
viewfunction tokenDecimal() view returns (uint256)
totalUserClaimedPoint
viewfunction totalUserClaimedPoint(address) view returns (uint256)
totalUserClaimedToken
viewfunction totalUserClaimedToken(address) view returns (uint256)
totalUserClaimedUsd
viewfunction totalUserClaimedUsd(address) view returns (uint256)
claim
payablefunction claim(uint256 _stakeId) payable
claimAll
payablefunction claimAll(uint256[] _stakeIds) payable
onERC721Received
nonpayablefunction onERC721Received(address, address, uint256, bytes) returns (bytes4)
recoverLostBNB
nonpayablefunction recoverLostBNB()
renounceOwnership
nonpayablefunction renounceOwnership()
setCommissionAddress
nonpayablefunction setCommissionAddress(address _commissionContract)
setFeeBnb
nonpayablefunction setFeeBnb(uint256 _feeBnb)
setNetworkAddress
nonpayablefunction setNetworkAddress(address _networkContract)
setNftAddress
nonpayablefunction setNftAddress(address _nftAddress)
setNftPercent
nonpayablefunction setNftPercent(uint8 _level, uint16 _percent, uint256 _condition)
setOracleAddress
nonpayablefunction setOracleAddress(address _oracleContract)
setPointAddress
nonpayablefunction setPointAddress(address _pointAddress)
setStakeIndex
nonpayablefunction setStakeIndex(uint256 _stakeIndex)
setSystemWallet
nonpayablefunction setSystemWallet(address _newSystemWallet)
setTokenAddress
nonpayablefunction setTokenAddress(address _tokenAddress)
stake
payablefunction stake(uint256 _nftId) payable
stakeMigrate
nonpayablefunction stakeMigrate(uint256 stakeId, uint256 nftId, uint16 tier, address userAddress, uint256 startTime, uint256 unlockTime, uint256 totalValueStakeUsd, uint256 totalValueClaimed, uint256 totalValueClaimedUsd, uint256 totalPointClaimed, bool isWithdraw)
transferMultiNftsEmergency
nonpayablefunction transferMultiNftsEmergency(address[] _receivers, uint256[] _nftIds)
transferNftEmergency
nonpayablefunction transferNftEmergency(address _receiver, uint256 _nftId)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdraw
payablefunction withdraw(uint256 _stakeId) payable
withdrawTokenEmergency
nonpayablefunction withdrawTokenEmergency(address _token, uint256 _amount)
events
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Staked
event Staked(uint256 indexed id, address indexed staker, uint256 indexed nftId, uint256 stakeValueUsd, uint256 startTime)
Withdraw
event Withdraw(uint256 nftId)
errors
No errors.
creation bytecode
0x60806040526364b816906001908155670de0b6b3a76400006002556003805460ff191681179055600455600580546001600160a01b03191673d45e7a14dd38376dc3862f5dac3dc4532b2b67ba1790556000600d819055600e553480156200006657600080fd5b506040516200384d3803806200384d83398101604081905262000089916200028f565b620000943362000222565b600680546001600160a01b03199081166001600160a01b038a811691909117909255600780548216888416179055600880548216868416179055600980548216878416179055600a80548216898416179055600b80548216858416179055600c80549091169183169190911790556200017d601360205260007f4155c2f711f2cdd34f8262ab8fb9b7020a700fe7b6948222152f7670d1fdf34d8190557f0b9d2c0c271bb30544eb78c59bdaebdae2728e5f65814c07768a0abe90ed1923819055600381527f0d2a6872ef858a7f8ead18dc4f3f2e8d35c853d47e2816cbb9cdd49202554e0c55565b6200021560146020527fb6c61a840592cc84133e4b25bd509abf4659307c57b160799b38490a5aa48f2c805461ffff199081166103e8179091557fa1930aa930426c54c34daad2b9ada7c5d0ef0c96078a3c5bb79f6fa6602c4a7a805482166101f417905560036000527f63d87a887046e0430be80fdeb014107d7198c879cbf2cddf39a6df195c86cb38805490911661012c179055565b5050505050505062000324565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146200028a57600080fd5b919050565b600080600080600080600060e0888a031215620002ab57600080fd5b620002b68862000272565b9650620002c66020890162000272565b9550620002d66040890162000272565b9450620002e66060890162000272565b9350620002f66080890162000272565b92506200030660a0890162000272565b91506200031660c0890162000272565b905092959891949750929550565b61351980620003346000396000f3fe60806040526004361061026b5760003560e01c80637475740e11610144578063afc903ba116100b6578063d31897361161007a578063d318973614610765578063d69e1bad146107a9578063da8909e5146107c9578063e41203df146107e9578063ec1406ea14610809578063f2fde38b1461082957600080fd5b8063afc903ba146106d9578063b4346a4a146106ef578063bece75321461070f578063c99f49291461072f578063c9b708be1461074557600080fd5b8063941d82d611610108578063941d82d61461063b57806397e3b781146106515780639d76ea5814610666578063a51dda1614610686578063a694fc3a146106a6578063ad7d3a72146106b957600080fd5b80637475740e1461057657806375fc655c146105a3578063830ba65e146105c3578063841622c6146105f05780638da5cb5b1461061d57600080fd5b806340fff80c116101dd5780635caed029116101a15780635caed029146104bb57806368127b71146104d15780636e633f9a146104f15780636ef8508614610511578063715018a61461053157806373c574ba1461054657600080fd5b806340fff80c1461040e578063466e515c1461042e5780634c69c00f1461045b5780635b4498fb1461047b5780635bf8633a1461049b57600080fd5b806326a4e8d21161022f57806326a4e8d21461035d57806328c778201461037d5780632e1a7d4d14610390578063379607f5146103a35780633a0c4f80146103b65780633d61aba8146103ee57600080fd5b806301189cc214610277578063014db5091461029957806305f5dc95146102d95780630b102d1a146102f9578063150b7a021461031957600080fd5b3661027257005b600080fd5b34801561028357600080fd5b50610297610292366004612d4e565b610849565b005b3480156102a557600080fd5b506102c66102b4366004612d7c565b60126020526000908152604090205481565b6040519081526020015b60405180910390f35b3480156102e557600080fd5b506102976102f4366004612d7c565b610856565b34801561030557600080fd5b50610297610314366004612d7c565b6108db565b34801561032557600080fd5b50610344610334366004612de7565b630a85bd0160e11b949350505050565b6040516001600160e01b031990911681526020016102d0565b34801561036957600080fd5b50610297610378366004612d7c565b61095b565b61029761038b366004612f3a565b6109db565b61029761039e366004612d4e565b610abd565b6102976103b1366004612d4e565b610d03565b3480156103c257600080fd5b50600c546103d6906001600160a01b031681565b6040516001600160a01b0390911681526020016102d0565b3480156103fa57600080fd5b50610297610409366004612f77565b610d5c565b34801561041a57600080fd5b50610297610429366004612d7c565b610f16565b34801561043a57600080fd5b5061044e610449366004612d4e565b610f96565b6040516102d09190612fa3565b34801561046757600080fd5b50610297610476366004612d7c565b6110a6565b34801561048757600080fd5b50610297610496366004612d7c565b611126565b3480156104a757600080fd5b50600a546103d6906001600160a01b031681565b3480156104c757600080fd5b506102c660025481565b3480156104dd57600080fd5b506006546103d6906001600160a01b031681565b3480156104fd57600080fd5b5061029761050c36600461306d565b6111a6565b34801561051d57600080fd5b5061029761052c366004612f77565b6111e2565b34801561053d57600080fd5b50610297611323565b34801561055257600080fd5b50610566610561366004612d4e565b611337565b60405190151581526020016102d0565b34801561058257600080fd5b506102c66105913660046130ac565b60136020526000908152604090205481565b3480156105af57600080fd5b506102c66105be366004612d4e565b611478565b3480156105cf57600080fd5b506102c66105de366004612d7c565b60106020526000908152604090205481565b3480156105fc57600080fd5b506102c661060b366004612d7c565b60116020526000908152604090205481565b34801561062957600080fd5b506000546001600160a01b03166103d6565b34801561064757600080fd5b506102c6600d5481565b34801561065d57600080fd5b5061029761161e565b34801561067257600080fd5b50600b546103d6906001600160a01b031681565b34801561069257600080fd5b506102976106a1366004612d4e565b611654565b6102976106b4366004612d4e565b611661565b3480156106c557600080fd5b506005546103d6906001600160a01b031681565b3480156106e557600080fd5b506102c6600e5481565b3480156106fb57600080fd5b506102c661070a366004612d4e565b611b84565b34801561071b57600080fd5b506007546103d6906001600160a01b031681565b34801561073b57600080fd5b506102c660015481565b34801561075157600080fd5b506102976107603660046130d5565b611d32565b34801561077157600080fd5b506107966107803660046130ac565b60146020526000908152604090205461ffff1681565b60405161ffff90911681526020016102d0565b3480156107b557600080fd5b506009546103d6906001600160a01b031681565b3480156107d557600080fd5b506008546103d6906001600160a01b031681565b3480156107f557600080fd5b50610297610804366004613171565b611dc5565b34801561081557600080fd5b50610297610824366004612d7c565b611e66565b34801561083557600080fd5b50610297610844366004612d7c565b611f0c565b610851611f85565b600e55565b61085e611f85565b6001600160a01b0381166108b95760405162461bcd60e51b815260206004820152601c60248201527f4e46543a20494e56414c4944204e4554574f524b20414444524553530000000060448201526064015b60405180910390fd5b600980546001600160a01b0319166001600160a01b0392909216919091179055565b6108e3611f85565b6001600160a01b0381166109395760405162461bcd60e51b815260206004820152601860248201527f4e46543a20494e56414c4944204e46542041444452455353000000000000000060448201526064016108b0565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b610963611f85565b6001600160a01b0381166109b95760405162461bcd60e51b815260206004820152601a60248201527f4e46543a20494e56414c494420544f4b454e204144445245535300000000000060448201526064016108b0565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b6004546001146109fd5760405162461bcd60e51b81526004016108b090613233565b6000600455600e543414610a235760405162461bcd60e51b81526004016108b090613262565b6000815111610a745760405162461bcd60e51b815260206004820152601f60248201527f544f4b454e205354414b453a20494e56414c4944205354414b45204c4953540060448201526064016108b0565b60005b8151811015610ab457610aa2828281518110610a9557610a95613299565b6020026020010151611fdf565b80610aac816132c5565b915050610a77565b50506001600455565b600454600114610adf5760405162461bcd60e51b81526004016108b090613233565b6000600455600e543414610b055760405162461bcd60e51b81526004016108b090613262565b6000818152600f602090815260409182902082516101608101845281548152600182015492810192909252600281015461ffff811693830193909352620100009092046001600160a01b03166060820181905260038301546080830152600483015460a0830152600583015460c0830152600683015460e08301526007830154610100830152600883015461012083015260099092015460ff161515610140820152903314610be45760405162461bcd60e51b815260206004820152600b60248201526a5354414b494e473a204f5760a81b60448201526064016108b0565b80610140015115610c265760405162461bcd60e51b815260206004820152600c60248201526b5354414b494e473a20434e5760a01b60448201526064016108b0565b610c2f82611fdf565b600a5460208201516040516323b872dd60e01b815230600482015233602482015260448101919091526001600160a01b03909116906323b872dd90606401600060405180830381600087803b158015610c8757600080fd5b505af1158015610c9b573d6000803e3d6000fd5b5050506000838152600f6020908152604091829020600901805460ff1916600117905583015190517f5b6b431d4476a211bb7d41c20d1aab9ae2321deee0d20be3d9fc9b1093fa6e3d9250610cf291815260200190565b60405180910390a150506001600455565b600454600114610d255760405162461bcd60e51b81526004016108b090613233565b6000600455600e543414610d4b5760405162461bcd60e51b81526004016108b090613262565b610d5481611fdf565b506001600455565b610d64611f85565b60008111610da55760405162461bcd60e51b815260206004820152600e60248201526d1253959053125108105353d5539560921b60448201526064016108b0565b6040516370a0823160e01b815230600482015281906001600160a01b038416906370a082319060240160206040518083038186803b158015610de657600080fd5b505afa158015610dfa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e1e91906132e0565b1015610e3c5760405162461bcd60e51b81526004016108b0906132f9565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb90604401602060405180830381600087803b158015610e8457600080fd5b505af1158015610e98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ebc919061333d565b610f125760405162461bcd60e51b815260206004820152602160248201527f434f4d4d495353494f4e3a2043414e4e4f5420574954484452415720544f4b456044820152602760f91b60648201526084016108b0565b5050565b610f1e611f85565b6001600160a01b038116610f745760405162461bcd60e51b815260206004820152601f60248201527f4e46543a20494e56414c494420434f4d4d495353494f4e20414444524553530060448201526064016108b0565b600880546001600160a01b0319166001600160a01b0392909216919091179055565b6110026040518061016001604052806000815260200160008152602001600061ffff16815260200160006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581525090565b506000908152600f602090815260409182902082516101608101845281548152600182015492810192909252600281015461ffff811693830193909352620100009092046001600160a01b0316606082015260038201546080820152600482015460a0820152600582015460c0820152600682015460e08201526007820154610100820152600882015461012082015260099091015460ff16151561014082015290565b6110ae611f85565b6001600160a01b0381166111045760405162461bcd60e51b815260206004820152601b60248201527f4e46543a20494e56414c4944204f5241434c452041444452455353000000000060448201526064016108b0565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b61112e611f85565b6001600160a01b0381166111845760405162461bcd60e51b815260206004820152601a60248201527f4e46543a20494e56414c494420544f4b454e204144445245535300000000000060448201526064016108b0565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6111ae611f85565b60ff9092166000908152601460209081526040808320805461ffff90951661ffff1990951694909417909355601390522055565b6111ea611f85565b600a546040516331a9108f60e11b81526004810183905230916001600160a01b031690636352211e9060240160206040518083038186803b15801561122e57600080fd5b505afa158015611242573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611266919061335a565b6001600160a01b0316146112a55760405162461bcd60e51b81526004016108b090602080825260049082015263533a4e4f60e01b604082015260600190565b600a54604051635c46a7ef60e11b81523060048201526001600160a01b0384811660248301526044820184905260806064830152600060848301529091169063b88d4fde9060a401600060405180830381600087803b15801561130757600080fd5b505af115801561131b573d6000803e3d6000fd5b505050505050565b61132b611f85565b6113356000612549565b565b6000818152600f6020908152604080832081516101608101835281548152600182015493810193909352600281015461ffff811692840192909252620100009091046001600160a01b03166060830181905260038201546080840152600482015460a0840152600582015460c0840152600682015460e08401526007820154610100840152600882015461012084015260099091015460ff161515610140830152826113e285611b84565b600854604051637f6408d360e01b81526001600160a01b03858116600483015260248201849052929350839290911690637f6408d39060440160206040518083038186803b15801561143357600080fd5b505afa158015611447573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061146b91906132e0565b9190911495945050505050565b6000818152600f6020908152604080832081516101608101835281548152600182015493810193909352600281015461ffff81168484018190526001600160a01b0362010000909204821660608601526003830154608086015260048084015460a0870152600584015460c087015260068085015460e08801526007850154610100880152600885015461012088015260099094015460ff16151561014087015292549351633996033360e01b815292830152620151809392859291169063399603339060240160206040518083038186803b15801561155757600080fd5b505afa15801561156b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158f91906132e0565b9050816101400151156115a757506000949350505050565b60006103e884836002548660800151426115c19190613377565b6115cb919061338e565b6115d5919061338e565b6115df91906133ad565b6115e991906133ad565b90508261012001518110156116045750600095945050505050565b6101208301516116149082613377565b9695505050505050565b611626611f85565b604051339081904780156108fc02916000818181858888f19350505050158015610f12573d6000803e3d6000fd5b61165c611f85565b600d55565b6004546001146116835760405162461bcd60e51b81526004016108b090613233565b6000600455600e5434146116a95760405162461bcd60e51b81526004016108b090613262565b600954604051636158993b60e11b81523360048201526000916001600160a01b03169063c2b132769060240160206040518083038186803b1580156116ed57600080fd5b505afa158015611701573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611725919061335a565b90506001600160a01b0381166117635760405162461bcd60e51b815260206004820152600360248201526213929560ea1b60448201526064016108b0565b600a546040516331a9108f60e11b81526004810184905233916001600160a01b031690636352211e9060240160206040518083038186803b1580156117a757600080fd5b505afa1580156117bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117df919061335a565b6001600160a01b0316146118265760405162461bcd60e51b815260206004820152600e60248201526d4e4654205354414b453a20434e5360901b60448201526064016108b0565b600a5460405163e985e9c560e01b81523360048201523060248201526001600160a01b039091169063e985e9c59060440160206040518083038186803b15801561186f57600080fd5b505afa158015611883573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a7919061333d565b6118d95760405162461bcd60e51b8152602060048201526003602482015262533a4160e81b60448201526064016108b0565b600a54604051635c46a7ef60e11b81523360048201523060248201526044810184905260806064820152600060848201526001600160a01b039091169063b88d4fde9060a401600060405180830381600087803b15801561193957600080fd5b505af115801561194d573d6000803e3d6000fd5b5050600a5460405163249eaeff60e11b815260048101869052600093506001600160a01b03909116915063493d5dfe9060240160206040518083038186803b15801561199857600080fd5b505afa1580156119ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119d091906133cf565b600a5460405163a90299b160e01b8152600481018690529192506000916001600160a01b039091169063a90299b19060240160206040518083038186803b158015611a1a57600080fd5b505afa158015611a2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a5291906132e0565b9050600d546001611a6391906133ec565b600d8181556000828152600f60205260408082209384556002938401805461ffff191661ffff881617905582548252808220600101889055825482528082208401805462010000600160b01b0319163362010000021790558254825280822042600390910155915481529081206004015554611adf908261338e565b600d80546000908152600f60205260408082206005019390935581548152828120600601819055815481528281206007018190558154815282812060080181905581548152829020600901805460ff19169055549051859133917f94f54bb48cedd45253f4ace35b1e25b1396407c5316b875feafaf710a8a1c48e90611b719086904290918252602082015260400190565b60405180910390a4505060016004555050565b6000818152600f6020908152604080832081516101608101835281548152600182015493810193909352600281015461ffff81168484018190526001600160a01b0362010000909204821660608601526003830154608086015260048084015460a0870152600584015460c087015260068085015460e08801526007850154610100880152600885015461012088015260099094015460ff1615156101408701529254935163619bdbed60e01b8152928301528492169063619bdbed9060240160206040518083038186803b158015611c5c57600080fd5b505afa158015611c70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c9491906132e0565b905081610140015115611cab575060009392505050565b60006201518061016860646103e8858760c00151886080015142611ccf9190613377565b611cd9919061338e565b611ce3919061338e565b611ced91906133ad565b611cf791906133ad565b611d0191906133ad565b611d0b91906133ad565b905060008361010001518211611d22576000611614565b6101008401516116149083613377565b611d3a611f85565b60008b8152600f602052604090209a8b5560028b01805460018d019b909b556001600160a01b0390981662010000026001600160b01b0319909a1661ffff90991698909817989098179095556003880193909355600487019190915560058601556006850155600784015560088301919091556009909101805491151560ff19909216919091179055565b611dcd611f85565b8051825114611e075760405162461bcd60e51b81526004016108b090602080825260049082015263533a535360e01b604082015260600190565b60005b8151811015611e6157611e4f838281518110611e2857611e28613299565b6020026020010151838381518110611e4257611e42613299565b60200260200101516111e2565b80611e59816132c5565b915050611e0a565b505050565b611e6e611f85565b6001600160a01b03811615801590611e9457506005546001600160a01b03828116911614155b611eea5760405162461bcd60e51b815260206004820152602160248201527f434f4d4d495353494f4e3a20494e56414c49442053595354454d2057414c4c456044820152601560fa1b60648201526084016108b0565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b611f14611f85565b6001600160a01b038116611f795760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016108b0565b611f8281612549565b50565b6000546001600160a01b031633146113355760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016108b0565b6000611fea82611337565b90506001811515146120365760405162461bcd60e51b81526020600482015260156024820152745354414b494e473a2043414e4e4f5420434c41494d60581b60448201526064016108b0565b600061204183611b84565b9050600061204e84611478565b6000858152600f602090815260409182902082516101608101845281548152600182015492810192909252600281015461ffff811693830193909352620100009092046001600160a01b03166060820181905260038301546080830152600483015460a0830152600583015460c0830152600683015460e08301526007830154610100830152600883015461012083015260099092015460ff16151561014082015291925033146121505760405162461bcd60e51b815260206004820152602660248201527f5354414b494e473a204f4e4c59204f574e4552204f46205354414b452043414e60448201526520434c41494d60d01b60648201526084016108b0565b82156123d157600754600b5460405163049eca8760e11b81526001600160a01b03918216600482015260248101869052600092919091169063093d950e9060440160206040518083038186803b1580156121a957600080fd5b505afa1580156121bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121e191906132e0565b600b546040516370a0823160e01b815230600482015291925082916001600160a01b03909116906370a082319060240160206040518083038186803b15801561222957600080fd5b505afa15801561223d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061226191906132e0565b101561227f5760405162461bcd60e51b81526004016108b090613404565b600b5460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb90604401602060405180830381600087803b1580156122cb57600080fd5b505af11580156122df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612303919061333d565b61231f5760405162461bcd60e51b81526004016108b090613461565b6000868152600f6020526040812060060180548392906123409084906133ec565b90915550506000868152600f6020526040812060070180548692906123669084906133ec565b9091555050600854604051633815343960e11b8152336004820152602481018690526001600160a01b039091169063702a687290604401600060405180830381600087803b1580156123b757600080fd5b505af11580156123cb573d6000803e3d6000fd5b50505050505b811561253757600c546040516370a0823160e01b815230600482015283916001600160a01b0316906370a082319060240160206040518083038186803b15801561241a57600080fd5b505afa15801561242e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061245291906132e0565b10156124705760405162461bcd60e51b81526004016108b090613404565b600c5460405163a9059cbb60e01b8152336004820152602481018490526001600160a01b039091169063a9059cbb90604401602060405180830381600087803b1580156124bc57600080fd5b505af11580156124d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124f4919061333d565b6125105760405162461bcd60e51b81526004016108b090613461565b6000858152600f6020526040812060080180548492906125319084906133ec565b90915550505b612542338484612599565b5050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600954604051636158993b60e11b81526001600160a01b038581166004830152600092169063c2b132769060240160206040518083038186803b1580156125df57600080fd5b505afa1580156125f3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612617919061335a565b90506001600160a01b0381161561264b5780831561263b576126398185612651565b505b82156125425761131b8184612996565b50505050565b60008260015b6001600160a01b03821615801590612678575060035460ff90811690821611155b156129895760006126898383612ad3565b6008546040516351493cc760e11b81526001600160a01b0386811660048301529293506000929091169063a292798e9060240160206040518083038186803b1580156126d457600080fd5b505afa1580156126e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061270c91906132e0565b600854604051633f99370d60e01b81526001600160a01b038781166004830152602482018a905261ffff8616604483015260648201849052929350911690633f99370d90608401600060405180830381600087803b15801561276d57600080fd5b505af1158015612781573d6000803e3d6000fd5b505050508161ffff166000146128d45760085460405163ce6510eb60e01b81526001600160a01b038681166004830152602482018990526044820184905261ffff85166064830152600092169063ce6510eb90608401602060405180830381600087803b1580156127f157600080fd5b505af1158015612805573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061282991906132e0565b600754600b5460405163049eca8760e11b81526001600160a01b0391821660048201526024810184905292935060009291169063093d950e9060440160206040518083038186803b15801561287d57600080fd5b505afa158015612891573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128b591906132e0565b600b549091506128d190879083906001600160a01b0316612bbd565b50505b6005546001600160a01b03858116911614156128f35760009350612975565b600954604051636158993b60e11b81526001600160a01b038681166004830152600092169063c2b132769060240160206040518083038186803b15801561293957600080fd5b505afa15801561294d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612971919061335a565b9450505b6129808360016134be565b92505050612657565b6001925050505b92915050565b60008260015b6001600160a01b038216158015906129bd575060035460ff90811690821611155b156129895760006129ce8383612ad3565b905061ffff811615612a1f5760006064806129ed61ffff85168961338e565b6129f791906133ad565b612a0191906133ad565b600c54909150612a1d90859083906001600160a01b0316612bbd565b505b6005546001600160a01b0384811691161415612a3e5760009250612ac0565b600954604051636158993b60e11b81526001600160a01b038581166004830152600092169063c2b132769060240160206040518083038186803b158015612a8457600080fd5b505afa158015612a98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612abc919061335a565b9350505b612acb8260016134be565b91505061299c565b60ff81166000908152601360205260408120546002548290612af5908361338e565b60ff851660009081526014602052604090205490915061ffff1681612b1e579250612990915050565b600854604051639ab61d7d60e01b81526001600160a01b0388811660048301526000921690639ab61d7d9060240160206040518083038186803b158015612b6457600080fd5b505afa158015612b78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b9c91906132e0565b9050828110612bb057509250612990915050565b6000945050505050612990565b8115611e61576040516370a0823160e01b815230600482015282906001600160a01b038316906370a082319060240160206040518083038186803b158015612c0457600080fd5b505afa158015612c18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c3c91906132e0565b1015612c5a5760405162461bcd60e51b81526004016108b0906132f9565b60405163a9059cbb60e01b81526001600160a01b0384811660048301526024820184905282169063a9059cbb90604401602060405180830381600087803b158015612ca457600080fd5b505af1158015612cb8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cdc919061333d565b611e615760405162461bcd60e51b815260206004820152603e60248201527f434f4d4d495353494f4e3a20554e41424c4520544f205452414e53464552204360448201527f4f4d4d495353494f4e205041594d454e5420544f20524543495049454e54000060648201526084016108b0565b600060208284031215612d6057600080fd5b5035919050565b6001600160a01b0381168114611f8257600080fd5b600060208284031215612d8e57600080fd5b8135612d9981612d67565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612ddf57612ddf612da0565b604052919050565b60008060008060808587031215612dfd57600080fd5b8435612e0881612d67565b9350602085810135612e1981612d67565b935060408601359250606086013567ffffffffffffffff80821115612e3d57600080fd5b818801915088601f830112612e5157600080fd5b813581811115612e6357612e63612da0565b612e75601f8201601f19168501612db6565b91508082528984828501011115612e8b57600080fd5b808484018584013760008482840101525080935050505092959194509250565b600067ffffffffffffffff821115612ec557612ec5612da0565b5060051b60200190565b600082601f830112612ee057600080fd5b81356020612ef5612ef083612eab565b612db6565b82815260059290921b84018101918181019086841115612f1457600080fd5b8286015b84811015612f2f5780358352918301918301612f18565b509695505050505050565b600060208284031215612f4c57600080fd5b813567ffffffffffffffff811115612f6357600080fd5b612f6f84828501612ecf565b949350505050565b60008060408385031215612f8a57600080fd5b8235612f9581612d67565b946020939093013593505050565b60006101608201905082518252602083015160208301526040830151612fcf604084018261ffff169052565b506060830151612fea60608401826001600160a01b03169052565b506080830151608083015260a083015160a083015260c083015160c083015260e083015160e08301526101008084015181840152506101208084015181840152506101408084015161303f8285018215159052565b505092915050565b803560ff8116811461305857600080fd5b919050565b61ffff81168114611f8257600080fd5b60008060006060848603121561308257600080fd5b61308b84613047565b9250602084013561309b8161305d565b929592945050506040919091013590565b6000602082840312156130be57600080fd5b612d9982613047565b8015158114611f8257600080fd5b60008060008060008060008060008060006101608c8e0312156130f757600080fd5b8b359a5060208c0135995060408c01356131108161305d565b985060608c013561312081612d67565b975060808c0135965060a08c0135955060c08c0135945060e08c013593506101008c013592506101208c013591506101408c013561315d816130c7565b809150509295989b509295989b9093969950565b6000806040838503121561318457600080fd5b823567ffffffffffffffff8082111561319c57600080fd5b818501915085601f8301126131b057600080fd5b813560206131c0612ef083612eab565b82815260059290921b840181019181810190898411156131df57600080fd5b948201945b838610156132065785356131f781612d67565b825294820194908201906131e4565b9650508601359250508082111561321c57600080fd5b5061322985828601612ecf565b9150509250929050565b6020808252601590820152741513d2d1538814d51052d25391ce881313d0d2d151605a1b604082015260600190565b60208082526019908201527f496e636f72726563742066656520616d6f756e742073656e7400000000000000604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156132d9576132d96132af565b5060010190565b6000602082840312156132f257600080fd5b5051919050565b60208082526024908201527f434f4d4d495353494f4e3a20544f4b454e2042414c414e4345204e4f5420454e60408201526309eaa8e960e31b606082015260800190565b60006020828403121561334f57600080fd5b8151612d99816130c7565b60006020828403121561336c57600080fd5b8151612d9981612d67565b600082821015613389576133896132af565b500390565b60008160001904831182151516156133a8576133a86132af565b500290565b6000826133ca57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156133e157600080fd5b8151612d998161305d565b600082198211156133ff576133ff6132af565b500190565b6020808252603b908201527f544f4b454e205354414b453a204e4f5420454e4f55474820544f4b454e20424160408201527f4c414e434520544f2050415920554e5354414b45205245574152440000000000606082015260800190565b6020808252603f908201527f544f4b454e205354414b453a20554e41424c4520544f205452414e534645522060408201527f434f4d4d495353494f4e205041594d454e5420544f20524543495049454e5400606082015260800190565b600060ff821660ff84168060ff038211156134db576134db6132af565b01939250505056fea264697066735822122059902ab61c06702c5c74f7ffe1c29d5e019e4d17bd7fd3750b25c9468e20333364736f6c63430008080033000000000000000000000000ad46c1c09a0b73ce66d6c0b50d691306f7d20a48000000000000000000000000b189e8cd995ee62932d30b1f56cd36d678cfea2400000000000000000000000010d2c95568b6fcba3bda088c2552d4ff25387771000000000000000000000000ddc8ce177504e50885de21c79df3e2b58581897f00000000000000000000000007985c70f427d5fdf906003f90073fbd2456f4a90000000000000000000000000052074d3eb1429f39e5ea529b54a650c21f5aa40000000000000000000000009ff484415e856f1841d3341931d21138202ea14e