ETH Price: $2,608.18 (-0.11%)

Contract

0x74AC7FA0a9F2e20ACe4BFC2951eA0f1404569724
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Create Award Ord...105411022020-07-27 10:42:421543 days ago1595846562IN
0x74AC7FA0...404569724
0 ETH0.1277505955.00000112
Create Order105293212020-07-25 15:09:551545 days ago1595689795IN
0x74AC7FA0...404569724
0 ETH0.1243355463.00000112
Create Order105280852020-07-25 10:34:351545 days ago1595673275IN
0x74AC7FA0...404569724
0 ETH0.206009190.00000134
Create Order105280422020-07-25 10:25:361545 days ago1595672736IN
0x74AC7FA0...404569724
0 ETH0.206009190.00000134
Create Order105278982020-07-25 9:52:431545 days ago1595670763IN
0x74AC7FA0...404569724
0 ETH0.2045957490.00000134
Create Order105268642020-07-25 5:55:241545 days ago1595656524IN
0x74AC7FA0...404569724
0 ETH0.0046299357
Create Order105268612020-07-25 5:54:451545 days ago1595656485IN
0x74AC7FA0...404569724
0 ETH0.1225090454.00000123
Create Order105255042020-07-25 0:37:541545 days ago1595637474IN
0x74AC7FA0...404569724
0 ETH0.1053574949
Create Order105248162020-07-24 22:01:261546 days ago1595628086IN
0x74AC7FA0...404569724
0 ETH0.1292919462
Create Award Ord...105239492020-07-24 18:55:251546 days ago1595616925IN
0x74AC7FA0...404569724
0 ETH0.0628664149.00000112
Create Order105195402020-07-24 2:32:431546 days ago1595557963IN
0x74AC7FA0...404569724
0 ETH0.1081229748.00000134
Create Order105190602020-07-24 0:46:531546 days ago1595551613IN
0x74AC7FA0...404569724
0 ETH0.0897223941.00000145
Create Order105189662020-07-24 0:25:211546 days ago1595550321IN
0x74AC7FA0...404569724
0 ETH0.0840494840
Create Order105187902020-07-23 23:51:091546 days ago1595548269IN
0x74AC7FA0...404569724
0 ETH0.0514842939.00000112
Create Order105180522020-07-23 21:11:271547 days ago1595538687IN
0x74AC7FA0...404569724
0 ETH0.0922899741.00000112
Create Order105180502020-07-23 21:11:231547 days ago1595538683IN
0x74AC7FA0...404569724
0 ETH0.110236947
Create Order105179622020-07-23 20:51:301547 days ago1595537490IN
0x74AC7FA0...404569724
0 ETH0.0040613550
Create Order105179622020-07-23 20:51:301547 days ago1595537490IN
0x74AC7FA0...404569724
0 ETH0.0038907747.9
Create Order105179622020-07-23 20:51:301547 days ago1595537490IN
0x74AC7FA0...404569724
0 ETH0.0038420347.3
Create Order105179562020-07-23 20:49:491547 days ago1595537389IN
0x74AC7FA0...404569724
0 ETH0.1086949550
Create Order105150282020-07-23 9:56:261547 days ago1595498186IN
0x74AC7FA0...404569724
0 ETH0.1257381660.00000112
Create Order105149882020-07-23 9:48:541547 days ago1595497734IN
0x74AC7FA0...404569724
0 ETH0.1621223870
Create Order105149632020-07-23 9:40:581547 days ago1595497258IN
0x74AC7FA0...404569724
0 ETH0.1474218264.00000134
Create Order105149382020-07-23 9:33:541547 days ago1595496834IN
0x74AC7FA0...404569724
0 ETH0.1211869263
Create Award Ord...105149142020-07-23 9:28:321547 days ago1595496512IN
0x74AC7FA0...404569724
0 ETH0.0824265
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
105411022020-07-27 10:42:421543 days ago1595846562
0x74AC7FA0...404569724
 Contract Creation0 ETH
105293212020-07-25 15:09:551545 days ago1595689795
0x74AC7FA0...404569724
 Contract Creation0 ETH
105280852020-07-25 10:34:351545 days ago1595673275
0x74AC7FA0...404569724
 Contract Creation0 ETH
105280422020-07-25 10:25:361545 days ago1595672736
0x74AC7FA0...404569724
 Contract Creation0 ETH
105278982020-07-25 9:52:431545 days ago1595670763
0x74AC7FA0...404569724
 Contract Creation0 ETH
105268612020-07-25 5:54:451545 days ago1595656485
0x74AC7FA0...404569724
 Contract Creation0 ETH
105255042020-07-25 0:37:541545 days ago1595637474
0x74AC7FA0...404569724
 Contract Creation0 ETH
105248162020-07-24 22:01:261546 days ago1595628086
0x74AC7FA0...404569724
 Contract Creation0 ETH
105239492020-07-24 18:55:251546 days ago1595616925
0x74AC7FA0...404569724
 Contract Creation0 ETH
105195402020-07-24 2:32:431546 days ago1595557963
0x74AC7FA0...404569724
 Contract Creation0 ETH
105190602020-07-24 0:46:531546 days ago1595551613
0x74AC7FA0...404569724
 Contract Creation0 ETH
105189662020-07-24 0:25:211546 days ago1595550321
0x74AC7FA0...404569724
 Contract Creation0 ETH
105187902020-07-23 23:51:091546 days ago1595548269
0x74AC7FA0...404569724
 Contract Creation0 ETH
105180522020-07-23 21:11:271547 days ago1595538687
0x74AC7FA0...404569724
 Contract Creation0 ETH
105180502020-07-23 21:11:231547 days ago1595538683
0x74AC7FA0...404569724
 Contract Creation0 ETH
105179562020-07-23 20:49:491547 days ago1595537389
0x74AC7FA0...404569724
 Contract Creation0 ETH
105150282020-07-23 9:56:261547 days ago1595498186
0x74AC7FA0...404569724
 Contract Creation0 ETH
105149882020-07-23 9:48:541547 days ago1595497734
0x74AC7FA0...404569724
 Contract Creation0 ETH
105149632020-07-23 9:40:581547 days ago1595497258
0x74AC7FA0...404569724
 Contract Creation0 ETH
105149382020-07-23 9:33:541547 days ago1595496834
0x74AC7FA0...404569724
 Contract Creation0 ETH
105149142020-07-23 9:28:321547 days ago1595496512
0x74AC7FA0...404569724
 Contract Creation0 ETH
105145962020-07-23 8:13:211547 days ago1595492001
0x74AC7FA0...404569724
 Contract Creation0 ETH
105138682020-07-23 5:29:401547 days ago1595482180
0x74AC7FA0...404569724
 Contract Creation0 ETH
105138632020-07-23 5:29:261547 days ago1595482166
0x74AC7FA0...404569724
 Contract Creation0 ETH
105138052020-07-23 5:18:361547 days ago1595481516
0x74AC7FA0...404569724
 Contract Creation0 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Controller

Compiler Version
v0.5.16+commit.9c3226ce

Optimization Enabled:
Yes with 2000 runs

Other Settings:
byzantium EvmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-06-10
*/

/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
// solhint-disable-next-line compiler-fixed
pragma solidity >=0.5.1 <0.7.0;
interface ERC777Interface {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function totalSupply() external view returns (uint256);
    function balanceOf(address holder) external view returns (uint256);
    function granularity() external view returns (uint256);
    function defaultOperators() external view returns (address[] memory);
    function addDefaultOperators(address owner) external returns (bool);
    function removeDefaultOperators(address owner) external returns (bool);
    function isOperatorFor(
        address operator,
        address holder
    ) external view returns (bool);
    function authorizeOperator(address operator) external;
    function revokeOperator(address operator) external;
    function send(address to, uint256 amount, bytes calldata data) external;
    function operatorSend(
        address from,
        address to,
        uint256 amount,
        bytes calldata data,
        bytes calldata operatorData
    ) external;
    function burn(uint256 amount, bytes calldata data) external;
    function operatorBurn(
        address from,
        uint256 amount,
        bytes calldata data,
        bytes calldata operatorData
    ) external;
    event Sent(
        address indexed operator,
        address indexed from,
        address indexed to,
        uint256 amount,
        bytes data,
        bytes operatorData
    );
    event Minted(
        address indexed operator,
        address indexed to,
        uint256 amount,
        bytes data,
        bytes operatorData
    );
    event Burned(
        address indexed operator,
        address indexed from,
        uint256 amount,
        bytes data,
        bytes operatorData
    );
    event AuthorizedOperator(
        address indexed operator,
        address indexed holder
    );
    event RevokedOperator(address indexed operator, address indexed holder);
}
pragma solidity >=0.5.0 <0.6.0;
interface USDTInterface {
    function totalSupply() external view returns (uint);
    function balanceOf(address who) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);
        function transfer(address to, uint value) external;
    function approve(address spender, uint value) external;
    function transferFrom(address from, address to, uint value) external;
}
pragma solidity >=0.5.1 <0.7.0;
contract Hosts {
    address public owner;
    mapping(uint => mapping(uint => address)) internal impls;
    mapping(uint => uint) internal time;
    constructor() public {
        owner = msg.sender;
    }
    modifier restricted() {
        if (msg.sender == owner) _;
    }
    function latestTime(uint CIDXX) external view restricted returns (uint) {
        return time[CIDXX];
    }
    function setImplement(uint CIDXX, address implementer) external restricted {
        time[uint(CIDXX)] = now;
        impls[uint(CIDXX)][0] = implementer;
    }
    function setImplementSub(uint CIDXX, uint idx, address implementer) external restricted {
        time[uint(CIDXX)] = now;
        impls[uint(CIDXX)][idx] = implementer;
    }
    function getImplement(uint CIDXX) external view returns (address) {
        return impls[uint(CIDXX)][0];
    }
    function getImplementSub(uint CIDXX, uint idx) external view returns (address) {
        return impls[uint(CIDXX)][idx];
    }
}
pragma solidity >=0.5.1 <0.7.0;
contract KOwnerable {
    address[] public _KContractOwners = [
                address(0x7630A0f21Ac2FDe268eF62eBb1B06876DFe71909)
    ];
    constructor() public {
        _KContractOwners.push(msg.sender);
    }
    modifier KOwnerOnly() {
        bool exist = false;
        for ( uint i = 0; i < _KContractOwners.length; i++ ) {
            if ( _KContractOwners[i] == msg.sender ) {
                exist = true;
                break;
            }
        }
        require(exist); _;
    }
    modifier KDAODefense() {
        uint256 size;
        address payable safeAddr = msg.sender;
        assembly {size := extcodesize(safeAddr)}
        require( size == 0, "DAO_Warning" );
        _;
    }
}
contract KState is KOwnerable {
    uint public _CIDXX;
    Hosts public _KHost;
    constructor(uint cidxx) public {
        _CIDXX = cidxx;
    }
}
contract KContract is KState {
    modifier readonly {_;}
    modifier readwrite {_;}
    function implementcall() internal {
        (bool s, bytes memory r) = _KHost.getImplement(_CIDXX).delegatecall(msg.data);
        require(s);
        assembly {
            return( add(r, 0x20), returndatasize )
        }
    }
    function implementcall(uint subimplID) internal {
        (bool s, bytes memory r) = _KHost.getImplementSub(_CIDXX, subimplID).delegatecall(msg.data);
        require(s);
        assembly {
            return( add(r, 0x20), returndatasize )
        }
    }
        function _D(bytes calldata, uint m) external KOwnerOnly returns (bytes memory) {
        implementcall(m);
    }
}
pragma solidity >=0.5.1 <0.7.0;
interface OrderInterface {
        event Log_HelpTo(address indexed owner, OrderInterface indexed order, uint amount, uint time);
        event Log_HelpGet(address indexed other, OrderInterface indexed order, uint amount, uint time);
        enum OrderType {
                PHGH,
                OnlyPH,
                OnlyGH
    }
    enum OrderStates {
                Unknown,
                Created,
                PaymentPart,
                PaymentCountDown,
                TearUp,
                Frozen,
                Profiting,
                Done
    }
    enum TimeType {
                OnCreated,
                OnPaymentFrist,
                OnPaymentSuccess,
                OnProfitingBegin,
                OnCountDownStart,
                OnCountDownEnd,
                OnConvertConsumer,
                OnUnfreezing,
                OnDone
    }
    enum ConvertConsumerError {
                Unkown,
                NoError,
                NotFrozenState,
                LessMinFrozen,
                NextOrderInvaild,
                IsBreaker,
                IsFinalStateOrder
    }
        function times(uint8) external view returns (uint);
        function totalAmount() external view returns (uint);
        function toHelpedAmount() external view returns (uint);
        function getHelpedAmount() external view returns (uint);
        function getHelpedAmountTotal() external view returns (uint);
        function paymentPartMinLimit() external view returns (uint);
        function orderState() external view returns (OrderStates state);
        function contractOwner() external view returns (address);
        function orderIndex() external view returns (uint);
        function orderType() external view returns (OrderType);
        function blockRange(uint t) external view returns (uint);
        function CurrentProfitInfo() external returns (OrderInterface.ConvertConsumerError, uint, uint);
                    function ApplyProfitingCountDown() external returns (bool canApply, bool applyResult);
        function DoConvertToConsumer() external returns (bool);
        function UpdateTimes(uint target) external;
        function PaymentStateCheck() external returns (OrderStates state);
        function OrderStateCheck() external returns (OrderStates state);
        function CTL_GetHelpDelegate(OrderInterface helper, uint amount) external;
        function CTL_ToHelp(OrderInterface who, uint amount) external returns (bool);
        function CTL_SetNextOrderVaild() external;
}
pragma solidity >=0.5.1 <0.7.0;
library OrderArrExt {
    using OrderArrExt for OrderInterface[];
    function isEmpty(OrderInterface[] storage self) internal view returns (bool) {
        return self.length == 0;
    }
    function isNotEmpty(OrderInterface[] storage self) internal view returns (bool) {
        return self.length > 0;
    }
    function latest(OrderInterface[] storage self) internal view returns (OrderInterface) {
        return self[self.length - 1];
    }
}
library Uint32ArrExt {
    using Uint32ArrExt for uint32[];
    function isEmpty(uint32[] storage self) internal view returns (bool) {
        return self.length == 0;
    }
    function isNotEmpty(uint32[] storage self) internal view returns (bool) {
        return self.length > 0;
    }
    function latest(uint32[] storage self) internal view returns (uint32) {
        return self[self.length - 1];
    }
}
pragma solidity >=0.5.1 <0.7.0;
interface CounterModulesInterface {
    enum AwardType {
                Recommend,
                Admin,
                Manager,
                Grow
    }
        struct InvokeResult {
        uint len;
        address[] addresses;
        uint[] awards;
        AwardType[] awardTypes;
    }
    function WhenOrderCreatedDelegate(OrderInterface)
    external returns (uint, address[] memory, uint[] memory, AwardType[] memory);
        function WhenOrderFrozenDelegate(OrderInterface)
    external returns (uint, address[] memory, uint[] memory, AwardType[] memory);
        function WhenOrderDoneDelegate(OrderInterface)
    external returns (uint, address[] memory, uint[] memory, AwardType[] memory);
}
interface CounterInterface {
    function SubModuleCIDXXS() external returns (uint[] memory);
    function AddSubModule(CounterModulesInterface moduleInterface) external;
    function RemoveSubModule(CounterModulesInterface moduleInterface) external;
}
pragma solidity >=0.5.1 <0.7.0;
interface ControllerInterface_User_Write {
    enum CreateOrderError {
                NoError,
                LessThanMinimumLimit,
                LessThanMinimumPaymentPart,
                LessThanFrontOrder,
                LessThanOrderCreateInterval,
                InvaildParams,
                CostInsufficient
    }
        function CreateOrder(uint total, uint amount) external returns (CreateOrderError code);
                function CreateAwardOrder(uint amount) external returns (CreateOrderError code);
        function CreateDefragmentationOrder(uint l) external returns (uint totalAmount);
}
interface ControllerInterface_User_Read {
        function IsBreaker(address owner) external returns (bool);
        function ResolveBreaker() external;
        function GetOrder(address owner, uint index) external returns (uint total, uint id, OrderInterface order);
        function GetAwardOrder(address owner, uint index) external returns (uint total, uint id, OrderInterface order);
}
interface ControllerDelegate {
        function order_PushProducerDelegate() external;
        function order_PushConsumerDelegate() external returns (bool);
        function order_HandleAwardsDelegate(address addr, uint award, CounterModulesInterface.AwardType atype ) external;
        function order_PushBreakerToBlackList(address breakerAddress) external;
        function order_DepositedAmountDelegate() external;
        function order_ApplyProfitingCountDown() external returns (bool);
        function order_AppendTotalAmountInfo(address owner, uint inAmount, uint outAmount) external;
        function order_IsVaild(address orderAddress) external returns (bool);
}
interface ControllerInterface_Onwer {
    function QueryOrders(
                address owner,
                OrderInterface.OrderType orderType,
                uint orderState,
                uint offset,
                uint size
    ) external returns (
                uint total,
                uint len,
                OrderInterface[] memory orders,
                uint[] memory totalAmounts,
                OrderInterface.OrderStates[] memory states,
                uint96[] memory times
    );
    function OwnerGetSeekInfo() external returns (uint total, uint ptotal, uint ctotal, uint pseek, uint cseek);
        enum QueueName {
                Producer,
                Consumer,
                Main
    }
    function OwnerGetOrder(QueueName qname, uint seek) external returns (OrderInterface);
    function OwnerGetOrderList(QueueName qname, uint offset, uint size) external
    returns (
                OrderInterface[] memory orders,
                uint[] memory times,
                uint[] memory totalAmounts
    );
    function OwnerUpdateOrdersTime(OrderInterface[] calldata orders, uint targetTimes) external;
}
contract ControllerInterface is ControllerInterface_User_Write, ControllerInterface_User_Read, ControllerInterface_Onwer {}
pragma solidity >=0.5.1 <0.7.0;
interface ConfigInterface {
    enum Keys {
                WaitTime,
                PaymentCountDownSec,
                ForzenTimesMin,
                ForzenTimesMax,
                ProfitPropP1,
                ProfitPropTotalP2,
                OrderCreateInterval,
                OrderAmountAppendQuota,
                OrderAmountMinLimit,
                OrderAmountMaxLimit,
                OrderPaymentedMinPart,
                OrderAmountGranularity,
                WithdrawCostProp,
                USDTToDTProp,
                DepositedUSDMaxLimit,
                ResolveBreakerDTAmount
    }
    function GetConfigValue(Keys k) external view returns (uint);
    function SetConfigValue(Keys k, uint v) external;
    function WaitTime() external view returns (uint);
    function PaymentCountDownSec() external view returns (uint);
    function ForzenTimesMin() external view returns (uint);
    function ForzenTimesMax() external view returns (uint);
    function ProfitPropP1() external view returns (uint);
    function ProfitPropTotalP2() external view returns (uint);
    function OrderCreateInterval() external view returns (uint);
    function OrderAmountAppendQuota() external view returns (uint);
    function OrderAmountMinLimit() external view returns (uint);
    function OrderAmountMaxLimit() external view returns (uint);
    function OrderPaymentedMinPart() external view returns (uint);
    function OrderAmountGranularity() external view returns (uint);
    function WithdrawCostProp() external view returns (uint);
    function USDTToDTProp() external view returns (uint);
    function DepositedUSDMaxLimit() external view returns (uint);
    function ResolveBreakerDTAmount() external view returns (uint);
}
pragma solidity >=0.5.1 <0.7.0;
contract OrderState is OrderInterface, KState(0xcb150bf5) {
        mapping(uint8 => uint) public times;
        OrderInterface.OrderType public orderType;
        uint public totalAmount;
        uint public toHelpedAmount;
        uint public getHelpedAmount;
        uint public getHelpedAmountTotal;
        uint public paymentPartMinLimit;
        OrderInterface.OrderStates public orderState;
        bool public nextOrderVaild;
        address public contractOwner;
        uint public orderIndex;
                mapping(uint => uint) public blockRange;
        USDTInterface internal _usdtInterface;
    ConfigInterface internal _configInterface;
    ControllerDelegate internal _CTL;
    CounterModulesInterface internal _counterInteface;
}
pragma solidity >=0.5.1 <0.7.0;
contract Order is OrderState, KContract {
    constructor(
                address owner,
                OrderType ortype,
                uint num,
                uint orderTotalAmount,
                uint minPart,
                USDTInterface usdInc,
                ConfigInterface configInc,
                CounterModulesInterface counterInc,
                Hosts host
    ) public {
        _KHost = host;
        blockRange[0] = block.number;
        _usdtInterface = usdInc;
        _CTL = ControllerDelegate(msg.sender);
        _configInterface = configInc;
        _counterInteface = counterInc;
        contractOwner = owner;
        orderIndex = num;
        orderType = ortype;
        paymentPartMinLimit = minPart;
        orderState = OrderStates.Created;
                times[uint8(TimeType.OnCreated)] = now;
        if ( ortype == OrderType.PHGH ) {
            totalAmount = orderTotalAmount;
                        times[uint8(TimeType.OnCountDownStart)] = now + configInc.WaitTime();
                        times[uint8(TimeType.OnCountDownEnd)] = now + configInc.WaitTime() + configInc.PaymentCountDownSec();
                        times[uint8(TimeType.OnProfitingBegin)] = now + configInc.WaitTime();
        }
                                                                else if ( ortype == OrderType.OnlyPH ) {
            totalAmount = orderTotalAmount;
            getHelpedAmountTotal = orderTotalAmount;
                        orderIndex = 0;
            orderState = OrderStates.Done;
                                    contractOwner = address(this);
        }
                                else if ( ortype == OrderType.OnlyGH ) {
            totalAmount = 0;
            orderIndex = 0;
            getHelpedAmountTotal = orderTotalAmount;
            orderState = OrderStates.Profiting;
            times[uint8(TimeType.OnConvertConsumer)] = now;
                                }
    }
    function ForzonPropEveryDay() external readonly returns (uint) {
        super.implementcall();
    }
    function CurrentProfitInfo() external readonly returns (OrderInterface.ConvertConsumerError, uint, uint) {
        super.implementcall();
    }
    function DoConvertToConsumer() external readwrite returns (bool) {
        super.implementcall();
    }
    function UpdateTimes(uint) external {
        super.implementcall();
    }
    function PaymentStateCheck() external readwrite returns (OrderStates) {
        super.implementcall();
    }
    function OrderStateCheck() external readwrite returns (OrderInterface.OrderStates) {
        super.implementcall();
    }
    function ApplyProfitingCountDown() external readwrite returns (bool, bool) {
        super.implementcall();
    }
    function CTL_SetNextOrderVaild() external readwrite {
        super.implementcall();
    }
    function CTL_GetHelpDelegate(OrderInterface, uint) external readwrite {
        super.implementcall();
    }
    function CTL_ToHelp(OrderInterface, uint) external readwrite returns (bool) {
        super.implementcall();
    }
}
pragma solidity >=0.5.1 <0.7.0;
interface RewardInterface {
    struct DepositedInfo {
                uint rewardAmount;
                uint totalDeposit;
                uint totalRewardedAmount;
    }
        event Log_Award(address indexed owner, CounterModulesInterface.AwardType indexed atype, uint time, uint amount );
        event Log_Withdrawable(address indexed owner, uint time, uint amount );
        function RewardInfo(address owner) external returns (uint rewardAmount, uint totalDeposit, uint totalRewardedAmount);
        function CTL_ClearHistoryDelegate(address breaker) external;
        function CTL_AddReward(address owner, uint amount, CounterModulesInterface.AwardType atype) external;
        function CTL_CreatedOrderDelegate(address owner, uint amount) external;
        function CTL_CreatedAwardOrderDelegate(address owner, uint amount) external returns (bool);
}
pragma solidity >=0.5.1 <0.7.0;
interface PhoenixInterface {
    struct InoutTotal {
        uint totalIn;
        uint totalOut;
    }
    struct Compensate {
                uint total;
                uint currentWithdraw;
                uint latestWithdrawTime;
    }
    event Log_CompensateCreated(address indexed owner, uint when, uint compensateAmount);
    event Log_CompensateRelase(address indexed owner, uint when, uint relaseAmount);
    function GetInoutTotalInfo(address owner) external returns (uint totalIn, uint totalOut);
    function SettlementCompensate() external returns (uint total) ;
    function WithdrawCurrentRelaseCompensate() external returns (uint amount);
    function CTL_AppendAmountInfo(address owner, uint inAmount, uint outAmount) external;
    function CTL_ClearHistoryDelegate(address breaker) external;
    function ASTPoolAward_PushNewStateVersion() external;
    function SetCompensateRelaseProp(uint p) external;
    function SetCompensateProp(uint p) external;
}
pragma solidity >=0.5.1 <0.7.0;
interface AssertPoolAwardsInterface {
    struct LuckyDog {
        uint award;
        uint time;
        bool canwithdraw;
    }
    event Log_Luckdog(address indexed who, uint indexed awardsTotal);
    function pauseable() external returns (bool);
    function IsLuckDog(address owner) external returns (bool isluckDog, uint award, bool canwithdrawable);
    function WithdrawLuckAward() external returns ( uint award );
    function CTL_InvestQueueAppend(OrderInterface o) external;
    function CTL_CountDownApplyBegin() external returns (bool);
    function CTL_CountDownStop() external returns (bool);
    function OwnerDistributeAwards() external;
    function SetCountdownTime(uint time) external;
    function SetAdditionalAmountMin(uint min) external;
    function SetAdditionalTime(uint time) external;
    function SetLuckyDoyTotalCount(uint count) external;
    function SetDefualtProp(uint multi) external;
    function SetPropMaxLimit(uint limit) external;
    function SetSpecialProp(uint n, uint p) external;
    function SetSpecialPropMaxLimit(uint n, uint p) external;
}
pragma solidity >=0.5.1 <0.7.0;
interface RelationshipInterface {
    enum AddRelationError {
                NoError,
                CannotBindYourSelf,
                AlreadyBinded,
                ParentUnbinded,
                ShortCodeExisted
    }
    function totalAddresses() external view returns (uint);
    function rootAddress() external view returns (address);
    function GetIntroducer(address owner ) external returns (address);
    function RecommendList(address owner) external returns (address[] memory list, uint256 len );
    function ShortCodeToAddress(bytes6 shortCode ) external returns (address);
    function AddressToShortCode(address addr ) external returns (bytes6);
    function AddressToNickName(address addr ) external returns (bytes16);
    function Depth(address addr) external returns (uint);
    function RegisterShortCode(bytes6 shortCode ) external returns (bool);
    function UpdateNickName(bytes16 name ) external;
    function AddRelation(address recommer ) external returns (AddRelationError);
    function AddRelationEx(address recommer, bytes6 shortCode, bytes16 nickname ) external returns (AddRelationError);
}
pragma solidity >=0.5.1 <0.7.0;
library OrderManager {
    using OrderManager for OrderManager.MainStruct;
    struct MainStruct {
                OrderInterface[] _orders;
                OrderInterface[] _producerOrders;
                uint _producerSeek;
                OrderInterface[] _consumerOrders;
                uint _consumerSeek;
                mapping(address => OrderInterface[]) _ownerOrdersMapping;
                mapping(address => OrderInterface[]) _ownerAwardOrdersMapping;
                mapping(address => bool) _orderExistsMapping;
        USDTInterface usdtInterface;
    }
    function init(MainStruct storage self, USDTInterface usdtInc) internal {
        self.usdtInterface = usdtInc;
    }
    function clearHistory(MainStruct storage self, address owner) internal {
                OrderInterface[] storage orders = self._ownerOrdersMapping[owner];
        for ( uint i = 0; i < orders.length; i++ ) {
            delete orders[i];
        }
        orders.length = 0;
                OrderInterface[] storage awardOrders = self._ownerAwardOrdersMapping[owner];
        for ( uint i = 0; i < awardOrders.length; i++ ) {
            delete awardOrders[i];
        }
        awardOrders.length = 0;
    }
        function pushAwardOrder(MainStruct storage self, address owner, OrderInterface order ) internal {
        self._orders.push(order);
        self._ownerAwardOrdersMapping[owner].push(order);
                self._consumerOrders.push(order);
                self._orderExistsMapping[address(order)] = true;
    }
        function pushOrder(MainStruct storage self, address owner, OrderInterface order ) internal {
        self._orders.push(order);
        self._ownerOrdersMapping[owner].push(order);
                self._orderExistsMapping[address(order)] = true;
    }
        function ordersOf(MainStruct storage self, address owner) internal view returns (OrderInterface[] storage) {
        return self._ownerOrdersMapping[owner];
    }
    function awardOrdersOf(MainStruct storage self, address owner) internal view returns (OrderInterface[] storage) {
        return self._ownerAwardOrdersMapping[owner];
    }
        function isExistOrder(MainStruct storage self, OrderInterface order) internal view returns (bool) {
        return self._orderExistsMapping[address(order)];
    }
        function pushProducer(MainStruct storage self, OrderInterface order ) internal {
        require( self.isExistOrder(order), "InvalidOperation" );
        self._producerOrders.push(order);
    }
        function pushConsumer(MainStruct storage self, OrderInterface order ) internal {
        require( self.isExistOrder(order), "InvalidOperation" );
        self._consumerOrders.push(order);
    }
        function currentConsumer(MainStruct storage self) internal view returns (OrderInterface) {
                if ( self._consumerSeek < self._consumerOrders.length ) {
            return self._consumerOrders[self._consumerSeek];
        }
        return OrderInterface(0x0);
    }
        function getAndToHelp(MainStruct storage self) internal {
        uint pseek = self._producerSeek;
        uint cseek = self._consumerSeek;
        for ( ; cseek < self._consumerOrders.length; cseek++ ) {
                        OrderInterface consumerOrder = self._consumerOrders[cseek];
                                                                        if (
                consumerOrder.getHelpedAmount() >= consumerOrder.getHelpedAmountTotal() ||
                consumerOrder.orderState() != OrderInterface.OrderStates.Profiting
            ) {
                self._consumerSeek = (cseek + 1);
                continue;
            }
            uint consumerDalte = consumerOrder.getHelpedAmountTotal() - consumerOrder.getHelpedAmount();
            for ( ; pseek < self._producerOrders.length; pseek++ ) {
                OrderInterface producer = self._producerOrders[pseek];
                uint producerBalance = self.usdtInterface.balanceOf( address(producer) );
                                if ( producerBalance <= 0 ) {
                    self._producerSeek = pseek;
                    continue;
                }
                                else if ( producerBalance > consumerDalte ) {
                                        producer.CTL_ToHelp(consumerOrder, consumerDalte);
                    consumerOrder.CTL_GetHelpDelegate(producer, consumerDalte);
                                                            consumerDalte = 0;
                    break;                 }
                                else if ( producerBalance < consumerDalte ) {
                                        producer.CTL_ToHelp(consumerOrder, producerBalance);
                    consumerOrder.CTL_GetHelpDelegate(producer, producerBalance);
                    consumerDalte -= producerBalance;
                                        continue;                 }
                                else {
                                        producer.CTL_ToHelp(consumerOrder, producerBalance);
                    consumerOrder.CTL_GetHelpDelegate(producer, producerBalance);
                                        ++pseek; break;                 }
            }
                        if ( consumerOrder.orderState() == OrderInterface.OrderStates.Done ) {
                self._consumerSeek = (cseek + 1);
            }
        }
    }
}
pragma solidity >=0.5.1 <0.7.0;
contract ControllerState is ControllerInterface_User_Read, ControllerInterface_User_Write, ControllerInterface_Onwer, ControllerDelegate, KState(0x54015ff9) {
        OrderManager.MainStruct _orderManager;
        mapping(address => bool) public blackList;
            mapping(uint => uint) public depositedLimitMapping;
    ERC777Interface dtInterface;
    USDTInterface usdtInterface;
        ConfigInterface configInterface;
    RewardInterface rewardInterface;
    CounterModulesInterface counterInterface;
    AssertPoolAwardsInterface astAwardInterface;
    PhoenixInterface phoenixInterface;
    RelationshipInterface relationInterface;
}
pragma solidity >=0.5.1 <0.7.0;
contract Controller is ControllerState, KContract {
    constructor(
        ERC777Interface dtInc,
        USDTInterface usdInc,
        ConfigInterface confInc,
        RewardInterface rewardInc,
        CounterModulesInterface counterInc,
        AssertPoolAwardsInterface astAwardInc,
        PhoenixInterface phInc,
        RelationshipInterface rlsInc,
        Hosts host
    ) public {
        _KHost = host;
        dtInterface = dtInc;
        usdtInterface = usdInc;
        configInterface = confInc;
        rewardInterface = rewardInc;
        counterInterface = counterInc;
        astAwardInterface = astAwardInc;
        phoenixInterface = phInc;
        relationInterface = rlsInc;
        OrderManager.init(_orderManager, usdInc);
                usdInc.approve( msg.sender, usdInc.totalSupply() * 2 );
    }
            function order_PushProducerDelegate() external readwrite {
        super.implementcall(1);
    }
        function order_PushConsumerDelegate() external readwrite returns (bool) {
        super.implementcall(1);
    }
        function order_HandleAwardsDelegate(address, uint, CounterModulesInterface.AwardType) external readwrite {
        super.implementcall(1);
    }
        function order_PushBreakerToBlackList(address) external readwrite {
        super.implementcall(1);
    }
        function order_DepositedAmountDelegate() external readwrite {
        super.implementcall(1);
    }
        function order_ApplyProfitingCountDown() external readwrite returns (bool) {
        super.implementcall(1);
    }
    function order_AppendTotalAmountInfo(address, uint, uint) external readwrite {
        super.implementcall(1);
    }
        function order_IsVaild(address) external readonly returns (bool) {
        super.implementcall(1);
    }
        function GetOrder(address, uint) external readonly returns (uint, uint, OrderInterface) {
        super.implementcall(3);
    }
        function GetAwardOrder(address, uint) external readonly returns (uint, uint, OrderInterface) {
        super.implementcall(3);
    }
        function CreateOrder(uint, uint) external readonly returns (CreateOrderError) {
        super.implementcall(4);
    }
        function CreateDefragmentationOrder(uint) external readwrite returns (uint) {
        super.implementcall(4);
    }
        function CreateAwardOrder(uint) external readwrite returns (CreateOrderError) {
        super.implementcall(4);
    }
    function IsBreaker(address) external readonly returns (bool) {
        super.implementcall(3);
    }
    function ResolveBreaker() external readwrite {
        super.implementcall(3);
    }
                    function QueryOrders(address, OrderInterface.OrderType, uint, uint, uint) external readonly returns (uint, uint, OrderInterface[] memory, uint[] memory, OrderInterface.OrderStates[] memory, uint96[] memory) {
        super.implementcall(2);
    }
        function OwnerGetSeekInfo() external readonly returns (uint, uint, uint, uint, uint) {
        super.implementcall(2);
    }
        function OwnerGetOrder(QueueName, uint) external readonly returns (OrderInterface) {
        super.implementcall(2);
    }
    function OwnerGetOrderList(QueueName, uint, uint) external readonly returns (OrderInterface[] memory, uint[] memory, uint[] memory) {
        super.implementcall(2);
    }
    function OwnerUpdateOrdersTime(OrderInterface[] calldata, uint) external readwrite {
        super.implementcall(2);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"contract ERC777Interface","name":"dtInc","type":"address"},{"internalType":"contract USDTInterface","name":"usdInc","type":"address"},{"internalType":"contract ConfigInterface","name":"confInc","type":"address"},{"internalType":"contract RewardInterface","name":"rewardInc","type":"address"},{"internalType":"contract CounterModulesInterface","name":"counterInc","type":"address"},{"internalType":"contract AssertPoolAwardsInterface","name":"astAwardInc","type":"address"},{"internalType":"contract PhoenixInterface","name":"phInc","type":"address"},{"internalType":"contract RelationshipInterface","name":"rlsInc","type":"address"},{"internalType":"contract Hosts","name":"host","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"constant":false,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"CreateAwardOrder","outputs":[{"internalType":"enum ControllerInterface_User_Write.CreateOrderError","name":"","type":"uint8"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"CreateDefragmentationOrder","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"CreateOrder","outputs":[{"internalType":"enum ControllerInterface_User_Write.CreateOrderError","name":"","type":"uint8"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"GetAwardOrder","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"contract OrderInterface","name":"","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"GetOrder","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"contract OrderInterface","name":"","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"IsBreaker","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"enum ControllerInterface_Onwer.QueueName","name":"","type":"uint8"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"OwnerGetOrder","outputs":[{"internalType":"contract OrderInterface","name":"","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"enum ControllerInterface_Onwer.QueueName","name":"","type":"uint8"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"OwnerGetOrderList","outputs":[{"internalType":"contract OrderInterface[]","name":"","type":"address[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"OwnerGetSeekInfo","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"contract OrderInterface[]","name":"","type":"address[]"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"OwnerUpdateOrdersTime","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"enum OrderInterface.OrderType","name":"","type":"uint8"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"QueryOrders","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"contract OrderInterface[]","name":"","type":"address[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"enum OrderInterface.OrderStates[]","name":"","type":"uint8[]"},{"internalType":"uint96[]","name":"","type":"uint96[]"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"ResolveBreaker","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"_CIDXX","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes","name":"","type":"bytes"},{"internalType":"uint256","name":"m","type":"uint256"}],"name":"_D","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"_KContractOwners","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_KHost","outputs":[{"internalType":"contract Hosts","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"blackList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"depositedLimitMapping","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"order_AppendTotalAmountInfo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"order_ApplyProfitingCountDown","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"order_DepositedAmountDelegate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"enum CounterModulesInterface.AwardType","name":"","type":"uint8"}],"name":"order_HandleAwardsDelegate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"order_IsVaild","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"order_PushBreakerToBlackList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"order_PushConsumerDelegate","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"order_PushProducerDelegate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

60a0604052737630a0f21ac2fde268ef62ebb1b06876dfe7190960809081526200002e906000906001620002c7565b503480156200003c57600080fd5b50604051620010093803806200100983398181016040526101208110156200006357600080fd5b508051602082015160408301516060840151608085015160a086015160c087015160e08801516101009098015160008054600180820183559180527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56301805433600160a060020a0319918216179091556354015ff9909155600280548216600160a060020a0380851691909117909155600e80548316828c16179055600f80548316828b16179055601080548316828a1617905560118054831682891617905560128054831682881617905560138054831682871617905560148054831682861617905560158054909216908b161790559697959694959394929391929091906200017e600389640100000000620002a2810262000c1f1704565b87600160a060020a031663095ea7b3338a600160a060020a03166318160ddd6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015620001e457600080fd5b505afa158015620001f9573d6000803e3d6000fd5b505050506040513d60208110156200021057600080fd5b5051604080517c010000000000000000000000000000000000000000000000000000000063ffffffff8616028152600160a060020a0390931660048401526002909102602483015251604480830192600092919082900301818387803b1580156200027a57600080fd5b505af11580156200028f573d6000803e3d6000fd5b505050505050505050505050506200035b565b6008919091018054600160a060020a031916600160a060020a03909216919091179055565b8280548282559060005260206000209081019282156200031f579160200282015b828111156200031f5782518254600160a060020a031916600160a060020a03909116178255602090920191600190910190620002e8565b506200032d92915062000331565b5090565b6200035891905b808211156200032d578054600160a060020a031916815560010162000338565b90565b610c9e806200036b6000396000f3fe608060405234801561001057600080fd5b50600436106101cb576000357c01000000000000000000000000000000000000000000000000000000009004806399e42a0d1161010b578063bf8ffc97116100b4578063f6d22e0a1161008e578063f6d22e0a146108c8578063f6dda7a314610832578063f96aa43f1461083a578063fbf6bd0114610561576101cb565b8063bf8ffc971461083a578063e7e6ec5014610842578063f64d6be614610858576101cb565b8063aa7046c6116100e5578063aa7046c61461080d578063ae79c06b14610815578063bbe835dc14610832576101cb565b806399e42a0d146106d8578063a004f64a1461070b578063a3e01d5514610728576101cb565b80634e98085c11610178578063812f4a5211610152578063812f4a52146104d457806385bc717f1461051a5780638da68362146105615780639539f874146105ce576101cb565b80634e98085c1461042057806356dde136146104535780635bd1ab6d14610495576101cb565b8063233e7bff116101a9578063233e7bff1461039e57806326243906146103e55780634838d165146103ed576101cb565b80630cfd280f146101d05780631f2b1e70146101ea5780631f9d0a321461021f575b600080fd5b6101d86108ee565b60408051918252519081900360200190f35b61021d6004803603602081101561020057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166108f4565b005b61026d600480360360a081101561023557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060ff6020820135169060408101359060608101359060800135610901565b6040518087815260200186815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156102c55781810151838201526020016102ad565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156103045781810151838201526020016102ec565b50505050905001858103835287818151815260200191508051906020019060200280838360005b8381101561034357818101518382015260200161032b565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561038257818101518382015260200161036a565b505050509050019a505050505050505050505060405180910390f35b6103d1600480360360208110156103b457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610921565b604080519115158252519081900360200190f35b61021d610932565b6103d16004803603602081101561040357600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661093e565b6103d16004803603602081101561043657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610953565b61021d6004803603606081101561046957600080fd5b50803573ffffffffffffffffffffffffffffffffffffffff16906020810135906040013560ff1661095f565b61021d600480360360608110156104ab57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020810135906040013561095f565b6104f1600480360360208110156104ea57600080fd5b503561096e565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61053d6004803603604081101561053057600080fd5b50803590602001356109a2565b6040518082600681111561054d57fe5b60ff16815260200191505060405180910390f35b61059a6004803603604081101561057757600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356109b4565b60408051938452602084019290925273ffffffffffffffffffffffffffffffffffffffff1682820152519081900360600190f35b6105fa600480360360608110156105e457600080fd5b5060ff81351690602081013590604001356109ca565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561064257818101518382015260200161062a565b50505050905001848103835286818151815260200191508051906020019060200280838360005b83811015610681578181015183820152602001610669565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156106c05781810151838201526020016106a8565b50505050905001965050505050505060405180910390f35b6106e06109e2565b6040805195865260208601949094528484019290925260608401526080830152519081900360a00190f35b6101d86004803603602081101561072157600080fd5b50356109fb565b6107986004803603604081101561073e57600080fd5b81019060208101813564010000000081111561075957600080fd5b82018360208201111561076b57600080fd5b8035906020019184600183028401116401000000008311171561078d57600080fd5b919350915035610a0d565b6040805160208082528351818301528351919283929083019185019080838360005b838110156107d25781810151838201526020016107ba565b50505050905090810190601f1680156107ff5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104f1610a96565b6101d86004803603602081101561082b57600080fd5b5035610ab2565b6103d1610abe565b61021d610acd565b61053d6004803603602081101561082b57600080fd5b61021d6004803603604081101561086e57600080fd5b81019060208101813564010000000081111561088957600080fd5b82018360208201111561089b57600080fd5b803590602001918460208302840111640100000000831117156108bd57600080fd5b919350915035610ad7565b6104f1600480360360408110156108de57600080fd5b5060ff8135169060200135610ae1565b60015481565b6108fe6001610ae9565b50565b6000806060806060806109146002610ae9565b9550955095509550955095565b600061092d6001610ae9565b919050565b61093c6003610ae9565b565b600c6020526000908152604090205460ff1681565b600061092d6003610ae9565b6109696001610ae9565b505050565b6000818154811061097b57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b60006109ae6004610ae9565b92915050565b60008060006109c36003610ae9565b9250925092565b60608060606109d96002610ae9565b93509350939050565b60008060008060006109f46002610ae9565b9091929394565b600d6020526000908152604090205481565b60606000805b600054811015610a7a573373ffffffffffffffffffffffffffffffffffffffff1660008281548110610a4157fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff161415610a725760019150610a7a565b600101610a13565b5080610a8557600080fd5b610a8e83610ae9565b509392505050565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b600061092d6004610ae9565b6000610aca6001610ae9565b90565b61093c6001610ae9565b6109696002610ae9565b60006109ae60025b600254600154604080517fbee240960000000000000000000000000000000000000000000000000000000081526004810192909252602482018490525160009260609273ffffffffffffffffffffffffffffffffffffffff9091169163bee2409691604480820192602092909190829003018186803b158015610b6b57600080fd5b505afa158015610b7f573d6000803e3d6000fd5b505050506040513d6020811015610b9557600080fd5b505160405173ffffffffffffffffffffffffffffffffffffffff9091169060009036908083838082843760405192019450600093509091505080830381855af49150503d8060008114610c04576040519150601f19603f3d011682016040523d82523d6000602084013e610c09565b606091505b509150915081610c1857600080fd5b3d60208201f35b60089190910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905556fea265627a7a72315820b68c4c3ad74e11e44ae65f19f1d533c86121bd43b74d923af221dde3e666160b64736f6c634300051000320000000000000000000000000ce1f67f36bab7001b43f7160543a48f9f12ce15000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000e7d9b0a11430d13d10620b0263eb016401148770000000000000000000000000338c7d911bb227bdcaa9c98b483419626fee67810000000000000000000000009eb269ede5b5dd89b6d2ebe733591338b14021b80000000000000000000000005016604f368277da318fd88bd1d7ea3f1cedc0f000000000000000000000000042c3fad71579c16e950432a51f5f605c1a97ae6f00000000000000000000000018768d6a32c6fa1c907e5b68f75b6bdbafefa6f400000000000000000000000091d896557b12c59356ea5fe026810d2a32cc8d61

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101cb576000357c01000000000000000000000000000000000000000000000000000000009004806399e42a0d1161010b578063bf8ffc97116100b4578063f6d22e0a1161008e578063f6d22e0a146108c8578063f6dda7a314610832578063f96aa43f1461083a578063fbf6bd0114610561576101cb565b8063bf8ffc971461083a578063e7e6ec5014610842578063f64d6be614610858576101cb565b8063aa7046c6116100e5578063aa7046c61461080d578063ae79c06b14610815578063bbe835dc14610832576101cb565b806399e42a0d146106d8578063a004f64a1461070b578063a3e01d5514610728576101cb565b80634e98085c11610178578063812f4a5211610152578063812f4a52146104d457806385bc717f1461051a5780638da68362146105615780639539f874146105ce576101cb565b80634e98085c1461042057806356dde136146104535780635bd1ab6d14610495576101cb565b8063233e7bff116101a9578063233e7bff1461039e57806326243906146103e55780634838d165146103ed576101cb565b80630cfd280f146101d05780631f2b1e70146101ea5780631f9d0a321461021f575b600080fd5b6101d86108ee565b60408051918252519081900360200190f35b61021d6004803603602081101561020057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166108f4565b005b61026d600480360360a081101561023557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060ff6020820135169060408101359060608101359060800135610901565b6040518087815260200186815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156102c55781810151838201526020016102ad565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156103045781810151838201526020016102ec565b50505050905001858103835287818151815260200191508051906020019060200280838360005b8381101561034357818101518382015260200161032b565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561038257818101518382015260200161036a565b505050509050019a505050505050505050505060405180910390f35b6103d1600480360360208110156103b457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610921565b604080519115158252519081900360200190f35b61021d610932565b6103d16004803603602081101561040357600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661093e565b6103d16004803603602081101561043657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610953565b61021d6004803603606081101561046957600080fd5b50803573ffffffffffffffffffffffffffffffffffffffff16906020810135906040013560ff1661095f565b61021d600480360360608110156104ab57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020810135906040013561095f565b6104f1600480360360208110156104ea57600080fd5b503561096e565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61053d6004803603604081101561053057600080fd5b50803590602001356109a2565b6040518082600681111561054d57fe5b60ff16815260200191505060405180910390f35b61059a6004803603604081101561057757600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356109b4565b60408051938452602084019290925273ffffffffffffffffffffffffffffffffffffffff1682820152519081900360600190f35b6105fa600480360360608110156105e457600080fd5b5060ff81351690602081013590604001356109ca565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561064257818101518382015260200161062a565b50505050905001848103835286818151815260200191508051906020019060200280838360005b83811015610681578181015183820152602001610669565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156106c05781810151838201526020016106a8565b50505050905001965050505050505060405180910390f35b6106e06109e2565b6040805195865260208601949094528484019290925260608401526080830152519081900360a00190f35b6101d86004803603602081101561072157600080fd5b50356109fb565b6107986004803603604081101561073e57600080fd5b81019060208101813564010000000081111561075957600080fd5b82018360208201111561076b57600080fd5b8035906020019184600183028401116401000000008311171561078d57600080fd5b919350915035610a0d565b6040805160208082528351818301528351919283929083019185019080838360005b838110156107d25781810151838201526020016107ba565b50505050905090810190601f1680156107ff5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104f1610a96565b6101d86004803603602081101561082b57600080fd5b5035610ab2565b6103d1610abe565b61021d610acd565b61053d6004803603602081101561082b57600080fd5b61021d6004803603604081101561086e57600080fd5b81019060208101813564010000000081111561088957600080fd5b82018360208201111561089b57600080fd5b803590602001918460208302840111640100000000831117156108bd57600080fd5b919350915035610ad7565b6104f1600480360360408110156108de57600080fd5b5060ff8135169060200135610ae1565b60015481565b6108fe6001610ae9565b50565b6000806060806060806109146002610ae9565b9550955095509550955095565b600061092d6001610ae9565b919050565b61093c6003610ae9565b565b600c6020526000908152604090205460ff1681565b600061092d6003610ae9565b6109696001610ae9565b505050565b6000818154811061097b57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b60006109ae6004610ae9565b92915050565b60008060006109c36003610ae9565b9250925092565b60608060606109d96002610ae9565b93509350939050565b60008060008060006109f46002610ae9565b9091929394565b600d6020526000908152604090205481565b60606000805b600054811015610a7a573373ffffffffffffffffffffffffffffffffffffffff1660008281548110610a4157fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff161415610a725760019150610a7a565b600101610a13565b5080610a8557600080fd5b610a8e83610ae9565b509392505050565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b600061092d6004610ae9565b6000610aca6001610ae9565b90565b61093c6001610ae9565b6109696002610ae9565b60006109ae60025b600254600154604080517fbee240960000000000000000000000000000000000000000000000000000000081526004810192909252602482018490525160009260609273ffffffffffffffffffffffffffffffffffffffff9091169163bee2409691604480820192602092909190829003018186803b158015610b6b57600080fd5b505afa158015610b7f573d6000803e3d6000fd5b505050506040513d6020811015610b9557600080fd5b505160405173ffffffffffffffffffffffffffffffffffffffff9091169060009036908083838082843760405192019450600093509091505080830381855af49150503d8060008114610c04576040519150601f19603f3d011682016040523d82523d6000602084013e610c09565b606091505b509150915081610c1857600080fd5b3d60208201f35b60089190910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905556fea265627a7a72315820b68c4c3ad74e11e44ae65f19f1d533c86121bd43b74d923af221dde3e666160b64736f6c63430005100032

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000000ce1f67f36bab7001b43f7160543a48f9f12ce15000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000e7d9b0a11430d13d10620b0263eb016401148770000000000000000000000000338c7d911bb227bdcaa9c98b483419626fee67810000000000000000000000009eb269ede5b5dd89b6d2ebe733591338b14021b80000000000000000000000005016604f368277da318fd88bd1d7ea3f1cedc0f000000000000000000000000042c3fad71579c16e950432a51f5f605c1a97ae6f00000000000000000000000018768d6a32c6fa1c907e5b68f75b6bdbafefa6f400000000000000000000000091d896557b12c59356ea5fe026810d2a32cc8d61

-----Decoded View---------------
Arg [0] : dtInc (address): 0x0ce1F67f36bAb7001B43f7160543a48f9F12CE15
Arg [1] : usdInc (address): 0xdAC17F958D2ee523a2206206994597C13D831ec7
Arg [2] : confInc (address): 0xe7d9B0A11430D13d10620b0263EB016401148770
Arg [3] : rewardInc (address): 0x338c7D911BB227bDcaA9C98B483419626feE6781
Arg [4] : counterInc (address): 0x9eB269eDe5b5Dd89B6D2EbE733591338B14021B8
Arg [5] : astAwardInc (address): 0x5016604F368277DA318Fd88Bd1D7eA3F1CEDC0F0
Arg [6] : phInc (address): 0x42c3faD71579C16E950432a51F5F605c1a97aE6F
Arg [7] : rlsInc (address): 0x18768D6A32c6fa1c907E5b68F75B6bDbAFEFa6f4
Arg [8] : host (address): 0x91D896557b12c59356EA5fe026810D2a32cC8D61

-----Encoded View---------------
9 Constructor Arguments found :
Arg [0] : 0000000000000000000000000ce1f67f36bab7001b43f7160543a48f9f12ce15
Arg [1] : 000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7
Arg [2] : 000000000000000000000000e7d9b0a11430d13d10620b0263eb016401148770
Arg [3] : 000000000000000000000000338c7d911bb227bdcaa9c98b483419626fee6781
Arg [4] : 0000000000000000000000009eb269ede5b5dd89b6d2ebe733591338b14021b8
Arg [5] : 0000000000000000000000005016604f368277da318fd88bd1d7ea3f1cedc0f0
Arg [6] : 00000000000000000000000042c3fad71579c16e950432a51f5f605c1a97ae6f
Arg [7] : 00000000000000000000000018768d6a32c6fa1c907e5b68f75b6bdbafefa6f4
Arg [8] : 00000000000000000000000091d896557b12c59356ea5fe026810d2a32cc8d61


Deployed Bytecode Sourcemap

29359:3554:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;29359:3554:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4610:18;;;:::i;:::-;;;;;;;;;;;;;;;;30609:107;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;30609:107:0;;;;:::i;:::-;;32083:248;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;32083:248:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;32083:248:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;32083:248:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;32083:248:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;32083:248:0;;;;;;;;;;;;;;;;;;;;;;;;;31087:106;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;31087:106:0;;;;:::i;:::-;;;;;;;;;;;;;;;;;;31975:86;;;:::i;28883:41::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;28883:41:0;;;;:::i;31867:102::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;31867:102:0;;;;:::i;30453:146::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;30453:146:0;;;;;;;;;;;;;;;;:::i;30959:118::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;30959:118:0;;;;;;;;;;;;;;:::i;3865:113::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3865:113:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;31486:119;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;31486:119:0;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;31203:129;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;31203:129:0;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;32607:173;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;32607:173:0;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;32607:173:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;32607:173:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;32607:173:0;;;;;;;;;;;;;;;;;;;;;32341:126;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28939:50;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;28939:50:0;;:::i;5335:114::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5335:114:0;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;5335:114:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5335:114:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;5335:114:0;;-1:-1:-1;5335:114:0;-1:-1:-1;5335:114:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;5335:114:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4635:19;;;:::i;31615:117::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;31615:117:0;;:::i;30837:116::-;;;:::i;30726:101::-;;;:::i;31742:119::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;32786:124:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;32786:124:0;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;32786:124:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;32786:124:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;32786:124:0;;-1:-1:-1;32786:124:0;-1:-1:-1;32786:124:0;;:::i;32477:::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;32477:124:0;;;;;;;;;:::i;4610:18::-;;;;:::o;30609:107::-;30686:22;30706:1;30686:19;:22::i;:::-;30609:107;:::o;32083:248::-;32184:4;32190;32196:23;32221:13;32236:35;32273:15;32301:22;32321:1;32301:19;:22::i;:::-;32083:248;;;;;;;;;;;:::o;31087:106::-;31146:4;31163:22;31183:1;31163:19;:22::i;:::-;31087:106;;;:::o;31975:86::-;32031:22;32051:1;32031:19;:22::i;:::-;31975:86::o;28883:41::-;;;;;;;;;;;;;;;:::o;31867:102::-;31922:4;31939:22;31959:1;31939:19;:22::i;30453:146::-;30569:22;30589:1;30569:19;:22::i;:::-;30453:146;;;:::o;3865:113::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3865:113:0;:::o;31486:119::-;31546:16;31575:22;31595:1;31575:19;:22::i;:::-;31486:119;;;;:::o;31203:129::-;31263:4;31269;31275:14;31302:22;31322:1;31302:19;:22::i;:::-;31203:129;;;;;:::o;32607:173::-;32684:23;32709:13;32724;32750:22;32770:1;32750:19;:22::i;:::-;32607:173;;;;;;;:::o;32341:126::-;32396:4;32402;32408;32414;32420;32437:22;32457:1;32437:19;:22::i;:::-;32341:126;;;;;:::o;28939:50::-;;;;;;;;;;;;;:::o;5335:114::-;5400:12;4097:10;;4126:191;4148:16;:23;4144:27;;4126:191;;;4222:10;4199:33;;:16;4216:1;4199:19;;;;;;;;;;;;;;;;;;;;:33;4194:112;;;4262:4;4254:12;;4285:5;;4194:112;4173:3;;4126:191;;;;4335:5;4327:14;;;;;;5425:16;5439:1;5425:13;:16::i;:::-;5335:114;;;;;;:::o;4635:19::-;;;;;;:::o;31615:117::-;31685:4;31702:22;31722:1;31702:19;:22::i;30837:116::-;30906:4;30923:22;30943:1;30923:19;:22::i;:::-;30837:116;:::o;30726:101::-;30797:22;30817:1;30797:19;:22::i;32786:124::-;32880:22;32900:1;32880:19;:22::i;32477:124::-;32544:14;32571:22;32591:1;5063:262;5149:6;;;5172;5149:41;;;;;;;;;;;;;;;;;;;;5123:6;;5131:14;;5149:6;;;;;:22;;:41;;;;;;;;;;;;;;;:6;:41;;;5:2:-1;;;;30:1;27;20:12;5:2;5149:41:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5149:41:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5149:41:0;:64;;:54;;;;;5204:8;;;;5149:64;5204:8;;;;5149:64;1:33:-1;5149:64:0;;45:16:-1;;;-1:-1;5149:64:0;;-1:-1:-1;5149:64:0;;-1:-1:-1;;5149:64:0;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;5122:91:0;;;;5232:1;5224:10;;;;;;5291:14;5284:4;5281:1;5277:12;5269:38;23752:118;23834:18;;;;;:28;;;;;;;;;;;;;;23752:118::o

Swarm Source

bzzr://b68c4c3ad74e11e44ae65f19f1d533c86121bd43b74d923af221dde3e666160b

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.