Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 1 from a total of 1 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Pay Subscription | 5697005 | 2476 days ago | IN | 0 ETH | 0.00070801 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
NokuFlatPlan
Compiler Version
v0.4.19+commit.c4cbbb05
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-05-29 */ pragma solidity 0.4.19; // File: contracts/NokuPricingPlan.sol /** * @dev The NokuPricingPlan contract defines the responsibilities of a Noku pricing plan. */ interface NokuPricingPlan { /** * @dev Pay the fee for the service identified by the specified name. * The fee amount shall already be approved by the client. * @param serviceName The name of the target service. * @param multiplier The multiplier of the base service fee to apply. * @param client The client of the target service. * @return true if fee has been paid. */ function payFee(bytes32 serviceName, uint256 multiplier, address client) public returns(bool paid); /** * @dev Get the usage fee for the service identified by the specified name. * The returned fee amount shall be approved before using #payFee method. * @param serviceName The name of the target service. * @param multiplier The multiplier of the base service fee to apply. * @return The amount to approve before really paying such fee. */ function usageFee(bytes32 serviceName, uint256 multiplier) public constant returns(uint fee); } // File: zeppelin-solidity/contracts/ownership/Ownable.sol /** * @title Ownable * @dev The Ownable contract has an owner address, and provides basic authorization control * functions, this simplifies the implementation of "user permissions". */ contract Ownable { address public owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ function Ownable() public { owner = msg.sender; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(msg.sender == owner); _; } /** * @dev Allows the current owner to transfer control of the contract to a newOwner. * @param newOwner The address to transfer ownership to. */ function transferOwnership(address newOwner) public onlyOwner { require(newOwner != address(0)); OwnershipTransferred(owner, newOwner); owner = newOwner; } } // File: zeppelin-solidity/contracts/lifecycle/Pausable.sol /** * @title Pausable * @dev Base contract which allows children to implement an emergency stop mechanism. */ contract Pausable is Ownable { event Pause(); event Unpause(); bool public paused = false; /** * @dev Modifier to make a function callable only when the contract is not paused. */ modifier whenNotPaused() { require(!paused); _; } /** * @dev Modifier to make a function callable only when the contract is paused. */ modifier whenPaused() { require(paused); _; } /** * @dev called by the owner to pause, triggers stopped state */ function pause() onlyOwner whenNotPaused public { paused = true; Pause(); } /** * @dev called by the owner to unpause, returns to normal state */ function unpause() onlyOwner whenPaused public { paused = false; Unpause(); } } // File: zeppelin-solidity/contracts/math/SafeMath.sol /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { /** * @dev Multiplies two numbers, throws on overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; assert(c / a == b); return c; } /** * @dev Integer division of two numbers, truncating the quotient. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { // assert(b > 0); // Solidity automatically throws when dividing by 0 uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Substracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } /** * @dev Adds two numbers, throws on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } } // File: zeppelin-solidity/contracts/token/ERC20/ERC20Basic.sol /** * @title ERC20Basic * @dev Simpler version of ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/179 */ contract ERC20Basic { function totalSupply() public view returns (uint256); function balanceOf(address who) public view returns (uint256); function transfer(address to, uint256 value) public returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); } // File: zeppelin-solidity/contracts/token/ERC20/ERC20.sol /** * @title ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/20 */ contract ERC20 is ERC20Basic { function allowance(address owner, address spender) public view returns (uint256); function transferFrom(address from, address to, uint256 value) public returns (bool); function approve(address spender, uint256 value) public returns (bool); event Approval(address indexed owner, address indexed spender, uint256 value); } // File: contracts/NokuTokenBurner.sol contract BurnableERC20 is ERC20 { function burn(uint256 amount) public returns (bool burned); } /** * @dev The NokuTokenBurner contract has the responsibility to burn the configured fraction of received * ERC20-compliant tokens and distribute the remainder to the configured wallet. */ contract NokuTokenBurner is Pausable { using SafeMath for uint256; event LogNokuTokenBurnerCreated(address indexed caller, address indexed wallet); event LogBurningPercentageChanged(address indexed caller, uint256 indexed burningPercentage); // The wallet receiving the unburnt tokens. address public wallet; // The percentage of tokens to burn after being received (range [0, 100]) uint256 public burningPercentage; // The cumulative amount of burnt tokens. uint256 public burnedTokens; // The cumulative amount of tokens transferred back to the wallet. uint256 public transferredTokens; /** * @dev Create a new NokuTokenBurner with predefined burning fraction. * @param _wallet The wallet receiving the unburnt tokens. */ function NokuTokenBurner(address _wallet) public { require(_wallet != address(0)); wallet = _wallet; burningPercentage = 100; LogNokuTokenBurnerCreated(msg.sender, _wallet); } /** * @dev Change the percentage of tokens to burn after being received. * @param _burningPercentage The percentage of tokens to be burnt. */ function setBurningPercentage(uint256 _burningPercentage) public onlyOwner { require(0 <= _burningPercentage && _burningPercentage <= 100); require(_burningPercentage != burningPercentage); burningPercentage = _burningPercentage; LogBurningPercentageChanged(msg.sender, _burningPercentage); } /** * @dev Called after burnable tokens has been transferred for burning. * @param _token THe extended ERC20 interface supported by the sent tokens. * @param _amount The amount of burnable tokens just arrived ready for burning. */ function tokenReceived(address _token, uint256 _amount) public whenNotPaused { require(_token != address(0)); require(_amount > 0); uint256 amountToBurn = _amount.mul(burningPercentage).div(100); if (amountToBurn > 0) { assert(BurnableERC20(_token).burn(amountToBurn)); burnedTokens = burnedTokens.add(amountToBurn); } uint256 amountToTransfer = _amount.sub(amountToBurn); if (amountToTransfer > 0) { assert(BurnableERC20(_token).transfer(wallet, amountToTransfer)); transferredTokens = transferredTokens.add(amountToTransfer); } } } // File: contracts/NokuFlatPlan.sol /** * @dev The NokuFlatPlan contract implements a flat pricing plan, manageable by the contract owner. */ contract NokuFlatPlan is NokuPricingPlan, Ownable { using SafeMath for uint256; event LogNokuFlatPlanCreated( address indexed caller, uint256 indexed paymentInterval, uint256 indexed flatFee, address nokuMasterToken, address tokenBurner ); event LogPaymentIntervalChanged(address indexed caller, uint256 indexed paymentInterval); event LogFlatFeeChanged(address indexed caller, uint256 indexed flatFee); // The validity time interval of the flat subscription. uint256 public paymentInterval; // When the next payment is required as timestamp in seconds from Unix epoch uint256 public nextPaymentTime; // The fee amount expressed in NOKU tokens. uint256 public flatFee; // The NOKU utility token used for paying fee address public nokuMasterToken; // The contract responsible for burning the NOKU tokens paid as service fee address public tokenBurner; function NokuFlatPlan( uint256 _paymentInterval, uint256 _flatFee, address _nokuMasterToken, address _tokenBurner ) public { require(_paymentInterval != 0); require(_flatFee != 0); require(_nokuMasterToken != 0); require(_tokenBurner != 0); paymentInterval = _paymentInterval; flatFee = _flatFee; nokuMasterToken = _nokuMasterToken; tokenBurner = _tokenBurner; nextPaymentTime = block.timestamp; LogNokuFlatPlanCreated( msg.sender, _paymentInterval, _flatFee, _nokuMasterToken, _tokenBurner); } function setPaymentInterval(uint256 _paymentInterval) public onlyOwner { require(_paymentInterval != 0); require(_paymentInterval != paymentInterval); paymentInterval = _paymentInterval; LogPaymentIntervalChanged(msg.sender, _paymentInterval); } function setFlatFee(uint256 _flatFee) public onlyOwner { require(_flatFee != 0); require(_flatFee != flatFee); flatFee = _flatFee; LogFlatFeeChanged(msg.sender, _flatFee); } function isValidService(bytes32 _serviceName) public pure returns(bool isValid) { return _serviceName != 0; } /** * @dev Defines the operation by checking if flat fee has been paid or not. */ function payFee(bytes32 _serviceName, uint256 _multiplier, address _client) public returns(bool paid) { require(isValidService(_serviceName)); require(_multiplier != 0); require(_client != 0); require(block.timestamp < nextPaymentTime); return true; } function usageFee(bytes32 _serviceName, uint256 _multiplier) public constant returns(uint fee) { require(isValidService(_serviceName)); require(_multiplier != 0); return 0; } function paySubscription(address _client) public returns(bool paid) { require(_client != 0); nextPaymentTime = nextPaymentTime.add(paymentInterval); assert(ERC20(nokuMasterToken).transferFrom(_client, tokenBurner, flatFee)); NokuTokenBurner(tokenBurner).tokenReceived(nokuMasterToken, flatFee); return true; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":false,"inputs":[{"name":"_client","type":"address"}],"name":"paySubscription","outputs":[{"name":"paid","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_serviceName","type":"bytes32"}],"name":"isValidService","outputs":[{"name":"isValid","type":"bool"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"paymentInterval","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_flatFee","type":"uint256"}],"name":"setFlatFee","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokenBurner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_serviceName","type":"bytes32"},{"name":"_multiplier","type":"uint256"}],"name":"usageFee","outputs":[{"name":"fee","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"nextPaymentTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"nokuMasterToken","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_paymentInterval","type":"uint256"}],"name":"setPaymentInterval","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_serviceName","type":"bytes32"},{"name":"_multiplier","type":"uint256"},{"name":"_client","type":"address"}],"name":"payFee","outputs":[{"name":"paid","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"flatFee","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_paymentInterval","type":"uint256"},{"name":"_flatFee","type":"uint256"},{"name":"_nokuMasterToken","type":"address"},{"name":"_tokenBurner","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"caller","type":"address"},{"indexed":true,"name":"paymentInterval","type":"uint256"},{"indexed":true,"name":"flatFee","type":"uint256"},{"indexed":false,"name":"nokuMasterToken","type":"address"},{"indexed":false,"name":"tokenBurner","type":"address"}],"name":"LogNokuFlatPlanCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"caller","type":"address"},{"indexed":true,"name":"paymentInterval","type":"uint256"}],"name":"LogPaymentIntervalChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"caller","type":"address"},{"indexed":true,"name":"flatFee","type":"uint256"}],"name":"LogFlatFeeChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
6060604052341561000f57600080fd5b604051608080610d3c83398101604052808051906020019091908051906020019091908051906020019091908051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000841415151561009657600080fd5b600083141515156100a657600080fd5b60008273ffffffffffffffffffffffffffffffffffffffff16141515156100cc57600080fd5b60008173ffffffffffffffffffffffffffffffffffffffff16141515156100f257600080fd5b836001819055508260038190555081600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055504260028190555082843373ffffffffffffffffffffffffffffffffffffffff167f1b88d6713d5264ee4fceac1d054e2635b1f1c3dbb279dfc2164582e81134fd368585604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a450505050610af08061024c6000396000f3006060604052600436106100c5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630ab66be3146100ca57806314111a431461011b5780631cc1cf461461015a57806323fa495a146101835780632996f972146101a65780632b708fc9146101fb578063738a2cf81461023f5780638544023a146102685780638da5cb5b146102bd578063d157f64514610312578063d30b538614610335578063d9eb59471461039c578063f2fde38b146103c5575b600080fd5b34156100d557600080fd5b610101600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506103fe565b604051808215151515815260200191505060405180910390f35b341561012657600080fd5b61014060048080356000191690602001909190505061068f565b604051808215151515815260200191505060405180910390f35b341561016557600080fd5b61016d6106a3565b6040518082815260200191505060405180910390f35b341561018e57600080fd5b6101a460048080359060200190919050506106a9565b005b34156101b157600080fd5b6101b9610773565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561020657600080fd5b610229600480803560001916906020019091908035906020019091905050610799565b6040518082815260200191505060405180910390f35b341561024a57600080fd5b6102526107c9565b6040518082815260200191505060405180910390f35b341561027357600080fd5b61027b6107cf565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102c857600080fd5b6102d06107f5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561031d57600080fd5b610333600480803590602001909190505061081a565b005b341561034057600080fd5b61038260048080356000191690602001909190803590602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506108e4565b604051808215151515815260200191505060405180910390f35b34156103a757600080fd5b6103af61094b565b6040518082815260200191505060405180910390f35b34156103d057600080fd5b6103fc600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610951565b005b6000808273ffffffffffffffffffffffffffffffffffffffff161415151561042557600080fd5b61043c600154600254610aa690919063ffffffff16565b600281905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd83600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166003546000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b151561056757600080fd5b6102c65a03f1151561057857600080fd5b50505060405180519050151561058a57fe5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cae15051600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166003546040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b151561067257600080fd5b6102c65a03f1151561068357600080fd5b50505060019050919050565b600080600102826000191614159050919050565b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561070457600080fd5b6000811415151561071457600080fd5b600354811415151561072557600080fd5b80600381905550803373ffffffffffffffffffffffffffffffffffffffff167f7f315bb6805aea648c48a2a5f6c40d64825ae461e2ef84042ec4f86a1b344a4160405160405180910390a350565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006107a48361068f565b15156107af57600080fd5b600082141515156107bf57600080fd5b6000905092915050565b60025481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561087557600080fd5b6000811415151561088557600080fd5b600154811415151561089657600080fd5b80600181905550803373ffffffffffffffffffffffffffffffffffffffff167f7074304ad9ee4d69ed96d5834b9566529a081e49650a20b58885f02f7e27bff860405160405180910390a350565b60006108ef8461068f565b15156108fa57600080fd5b6000831415151561090a57600080fd5b60008273ffffffffffffffffffffffffffffffffffffffff161415151561093057600080fd5b6002544210151561094057600080fd5b600190509392505050565b60035481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109ac57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109e857600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000808284019050838110151515610aba57fe5b80915050929150505600a165627a7a72305820824cc576675ecf1209ad54cfb9587a5a6a6f19dcc453e9af02adc1b87fc22a2f002900000000000000000000000000000000000000000000000000000007915ecc0000000000000000000000000000000000000000000000000000000000000000640000000000000000000000001fc52f1abade452dd4674477d4711951700b3d270000000000000000000000000181d197ce2d213e0679b82fe4ac277e3ce91235
Deployed Bytecode
0x6060604052600436106100c5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630ab66be3146100ca57806314111a431461011b5780631cc1cf461461015a57806323fa495a146101835780632996f972146101a65780632b708fc9146101fb578063738a2cf81461023f5780638544023a146102685780638da5cb5b146102bd578063d157f64514610312578063d30b538614610335578063d9eb59471461039c578063f2fde38b146103c5575b600080fd5b34156100d557600080fd5b610101600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506103fe565b604051808215151515815260200191505060405180910390f35b341561012657600080fd5b61014060048080356000191690602001909190505061068f565b604051808215151515815260200191505060405180910390f35b341561016557600080fd5b61016d6106a3565b6040518082815260200191505060405180910390f35b341561018e57600080fd5b6101a460048080359060200190919050506106a9565b005b34156101b157600080fd5b6101b9610773565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561020657600080fd5b610229600480803560001916906020019091908035906020019091905050610799565b6040518082815260200191505060405180910390f35b341561024a57600080fd5b6102526107c9565b6040518082815260200191505060405180910390f35b341561027357600080fd5b61027b6107cf565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102c857600080fd5b6102d06107f5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561031d57600080fd5b610333600480803590602001909190505061081a565b005b341561034057600080fd5b61038260048080356000191690602001909190803590602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506108e4565b604051808215151515815260200191505060405180910390f35b34156103a757600080fd5b6103af61094b565b6040518082815260200191505060405180910390f35b34156103d057600080fd5b6103fc600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610951565b005b6000808273ffffffffffffffffffffffffffffffffffffffff161415151561042557600080fd5b61043c600154600254610aa690919063ffffffff16565b600281905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd83600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166003546000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b151561056757600080fd5b6102c65a03f1151561057857600080fd5b50505060405180519050151561058a57fe5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cae15051600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166003546040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b151561067257600080fd5b6102c65a03f1151561068357600080fd5b50505060019050919050565b600080600102826000191614159050919050565b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561070457600080fd5b6000811415151561071457600080fd5b600354811415151561072557600080fd5b80600381905550803373ffffffffffffffffffffffffffffffffffffffff167f7f315bb6805aea648c48a2a5f6c40d64825ae461e2ef84042ec4f86a1b344a4160405160405180910390a350565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006107a48361068f565b15156107af57600080fd5b600082141515156107bf57600080fd5b6000905092915050565b60025481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561087557600080fd5b6000811415151561088557600080fd5b600154811415151561089657600080fd5b80600181905550803373ffffffffffffffffffffffffffffffffffffffff167f7074304ad9ee4d69ed96d5834b9566529a081e49650a20b58885f02f7e27bff860405160405180910390a350565b60006108ef8461068f565b15156108fa57600080fd5b6000831415151561090a57600080fd5b60008273ffffffffffffffffffffffffffffffffffffffff161415151561093057600080fd5b6002544210151561094057600080fd5b600190509392505050565b60035481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109ac57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109e857600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000808284019050838110151515610aba57fe5b80915050929150505600a165627a7a72305820824cc576675ecf1209ad54cfb9587a5a6a6f19dcc453e9af02adc1b87fc22a2f0029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000000007915ecc0000000000000000000000000000000000000000000000000000000000000000640000000000000000000000001fc52f1abade452dd4674477d4711951700b3d270000000000000000000000000181d197ce2d213e0679b82fe4ac277e3ce91235
-----Decoded View---------------
Arg [0] : _paymentInterval (uint256): 32503680000
Arg [1] : _flatFee (uint256): 100
Arg [2] : _nokuMasterToken (address): 0x1fC52f1ABade452Dd4674477D4711951700b3d27
Arg [3] : _tokenBurner (address): 0x0181d197ce2d213e0679B82FE4AC277E3cE91235
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000007915ecc00
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000064
Arg [2] : 0000000000000000000000001fc52f1abade452dd4674477d4711951700b3d27
Arg [3] : 0000000000000000000000000181d197ce2d213e0679b82fe4ac277e3ce91235
Swarm Source
bzzr://824cc576675ecf1209ad54cfb9587a5a6a6f19dcc453e9af02adc1b87fc22a2f
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ 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.