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 25 from a total of 112 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Remove From Sour... | 20834738 | 129 days ago | IN | 0 ETH | 0.00039702 | ||||
Add To Source De... | 20794657 | 135 days ago | IN | 0 ETH | 0.00075817 | ||||
Add To Source De... | 20792998 | 135 days ago | IN | 0 ETH | 0.00125684 | ||||
Remove From Sour... | 20677873 | 151 days ago | IN | 0 ETH | 0.00011464 | ||||
Remove From Sour... | 19813665 | 272 days ago | IN | 0 ETH | 0.00028221 | ||||
Remove From Sour... | 19800219 | 274 days ago | IN | 0 ETH | 0.00012552 | ||||
Add To Source De... | 19642154 | 296 days ago | IN | 0 ETH | 0.00153276 | ||||
Add To Source De... | 19626315 | 298 days ago | IN | 0 ETH | 0.00140686 | ||||
Add To Source De... | 19321048 | 341 days ago | IN | 0 ETH | 0.00352185 | ||||
Remove From Sour... | 19228490 | 354 days ago | IN | 0 ETH | 0.00067193 | ||||
Add To Source De... | 19228482 | 354 days ago | IN | 0 ETH | 0.00131292 | ||||
Remove From Sour... | 19227506 | 354 days ago | IN | 0 ETH | 0.00139616 | ||||
Add To Source De... | 19220597 | 355 days ago | IN | 0 ETH | 0.01056535 | ||||
Remove From Sour... | 19134188 | 367 days ago | IN | 0 ETH | 0.00070246 | ||||
Add To Source De... | 19127974 | 368 days ago | IN | 0 ETH | 0.02403703 | ||||
Remove From Sour... | 19114386 | 370 days ago | IN | 0 ETH | 0.00042071 | ||||
Add To Source De... | 19036200 | 381 days ago | IN | 0 ETH | 0.00169357 | ||||
Remove From Sour... | 18971440 | 390 days ago | IN | 0 ETH | 0.00047738 | ||||
Remove From Sour... | 18885020 | 402 days ago | IN | 0 ETH | 0.00107628 | ||||
Remove From Sour... | 18843257 | 408 days ago | IN | 0 ETH | 0.00216803 | ||||
Remove From Sour... | 18737723 | 423 days ago | IN | 0 ETH | 0.00250975 | ||||
Remove From Sour... | 17412973 | 609 days ago | IN | 0 ETH | 0.00087169 | ||||
Remove From Sour... | 17033546 | 662 days ago | IN | 0 ETH | 0.00074006 | ||||
Remove From Sour... | 15391112 | 895 days ago | IN | 0 ETH | 0.00059258 | ||||
Remove From Sour... | 15390991 | 895 days ago | IN | 0 ETH | 0.0005372 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
TokenController
Compiler Version
v0.4.19+commit.c4cbbb05
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-01-12 */ // File: contracts/controllableToken/TokenControllerI.sol pragma solidity 0.4.19; /// @title Interface for token controllers. The controller specifies whether a transfer can be done. contract TokenControllerI { /// @dev Specifies whether a transfer is allowed or not. /// @return True if the transfer is allowed function transferAllowed(address _from, address _to) external view returns (bool); } // File: contracts/Ownable.sol pragma solidity 0.4.19; /** * @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: contracts/controllableToken/TokenController.sol pragma solidity 0.4.19; contract TokenController is TokenControllerI, Ownable { event ContractReady(); event SourceAddressDenyListed(address denyListedAddress); event SourceAddressAllowed(address allowedAddress); event TargetAddressAllowListed(address allowedAddress); event TargetAddressDisallowed(address disallowedAddress); bool public isReady; mapping(address=>bool) public sourceDenyMapping; mapping(address=>bool) public targetAllowMapping; modifier whenPreparing(){ require(!isReady); _; } function transferAllowed(address _from, address _to) external view returns (bool){ if(!isReady){ return false; } return !sourceDenyMapping[_from] || targetAllowMapping[_to]; } function addToSourceDenyList(address[] addressesToDenyTransfers) external onlyOwner { for(uint i = 0; i< addressesToDenyTransfers.length; i++){ address addressToDeny = addressesToDenyTransfers[i]; sourceDenyMapping[addressToDeny] = true; SourceAddressDenyListed(addressToDeny); } } function removeFromSourceDenyList(address[] addressesToAllowTransfers) external onlyOwner { for(uint i = 0; i< addressesToAllowTransfers.length; i++){ address addressToAllow = addressesToAllowTransfers[i]; sourceDenyMapping[addressToAllow] = false; SourceAddressAllowed(addressToAllow); } } function addToTargetAllowList(address[] targetAddressesToAllow) external onlyOwner { for(uint i = 0; i< targetAddressesToAllow.length; i++){ address targetAddressToAllow = targetAddressesToAllow[i]; targetAllowMapping[targetAddressToAllow] = true; TargetAddressAllowListed(targetAddressToAllow); } } function removeFromTargetAllowList(address[] addressesToDenyTransfers) external onlyOwner { for(uint i = 0; i< addressesToDenyTransfers.length; i++){ address addressToDeny = addressesToDenyTransfers[i]; targetAllowMapping[addressToDeny] = false; TargetAddressDisallowed(addressToDeny); } } function setReady() external onlyOwner whenPreparing { isReady = true; ContractReady(); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[{"name":"targetAddressesToAllow","type":"address[]"}],"name":"addToTargetAllowList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"}],"name":"transferAllowed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"sourceDenyMapping","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isReady","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"setReady","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addressesToDenyTransfers","type":"address[]"}],"name":"removeFromTargetAllowList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addressesToDenyTransfers","type":"address[]"}],"name":"addToSourceDenyList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addressesToAllowTransfers","type":"address[]"}],"name":"removeFromSourceDenyList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"targetAllowMapping","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"anonymous":false,"inputs":[],"name":"ContractReady","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"denyListedAddress","type":"address"}],"name":"SourceAddressDenyListed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"allowedAddress","type":"address"}],"name":"SourceAddressAllowed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"allowedAddress","type":"address"}],"name":"TargetAddressAllowListed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"disallowedAddress","type":"address"}],"name":"TargetAddressDisallowed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
606060405260008054600160a060020a033316600160a060020a03199091161790556108eb806100306000396000f3006060604052600436106100ae5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166313c8d42e81146100b3578063214e52ca146100d357806336d0d048146101195780638da5cb5b14610145578063a094a03114610181578063c0fa2eee14610194578063ca1689e8146101a7578063cdd499e8146101c5578063f177256d146101e3578063f2fde38b14610201578063fc3cd0de1461022d575b600080fd5b34156100be57600080fd5b6100d16004803560248101910135610259565b005b34156100de57600080fd5b61010573ffffffffffffffffffffffffffffffffffffffff60043581169060243516610356565b604051901515815260200160405180910390f35b341561012457600080fd5b61010573ffffffffffffffffffffffffffffffffffffffff600435166103e6565b341561015057600080fd5b6101586103fb565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b341561018c57600080fd5b610105610417565b341561019f57600080fd5b6100d1610438565b34156101b257600080fd5b6100d160048035602481019101356104f5565b34156101d057600080fd5b6100d160048035602481019101356105e7565b34156101ee57600080fd5b6100d160048035602481019101356106de565b341561020c57600080fd5b6100d173ffffffffffffffffffffffffffffffffffffffff600435166107d0565b341561023857600080fd5b61010573ffffffffffffffffffffffffffffffffffffffff600435166108aa565b6000805481903373ffffffffffffffffffffffffffffffffffffffff90811691161461028457600080fd5b600091505b828210156103505783838381811061029d57fe5b6020908102929092013573ffffffffffffffffffffffffffffffffffffffff1660008181526002909352604092839020805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0090911617905592507f8c29000969ebd054cf2625d9ce3d5e223a860d5dc845f4e7233a031f1511510f918391505173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1600190910190610289565b50505050565b6000805474010000000000000000000000000000000000000000900460ff161515610383575060006103e0565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604090205460ff1615806103dd575073ffffffffffffffffffffffffffffffffffffffff821660009081526002602052604090205460ff165b90505b92915050565b60016020526000908152604090205460ff1681565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60005474010000000000000000000000000000000000000000900460ff1681565b6000543373ffffffffffffffffffffffffffffffffffffffff90811691161461046057600080fd5b60005474010000000000000000000000000000000000000000900460ff161561048857600080fd5b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790557f5a92dafc00ffc1581584aab39476c6daea1558b1c4154bf31c6fa47eb9a7211660405160405180910390a1565b6000805481903373ffffffffffffffffffffffffffffffffffffffff90811691161461052057600080fd5b600091505b828210156103505783838381811061053957fe5b6020908102929092013573ffffffffffffffffffffffffffffffffffffffff166000818152600290935260409283902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905592507fc507749c0b92260781721e32ca904063c9a28a055270b17c472b9dc302a67b5b918391505173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1600190910190610525565b6000805481903373ffffffffffffffffffffffffffffffffffffffff90811691161461061257600080fd5b600091505b828210156103505783838381811061062b57fe5b6020908102929092013573ffffffffffffffffffffffffffffffffffffffff16600081815260019384905260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690941790935592507f689310fffce85c01e41fda171d169d9252df5db42162a99f993caa411b5d7be8918391505173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1600190910190610617565b6000805481903373ffffffffffffffffffffffffffffffffffffffff90811691161461070957600080fd5b600091505b828210156103505783838381811061072257fe5b6020908102929092013573ffffffffffffffffffffffffffffffffffffffff166000818152600190935260409283902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905592507f124b4e293a209c13067269ec1849a1ad85d8b6ef1c9a7ce9160214c5d6960192918391505173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a160019091019061070e565b6000543373ffffffffffffffffffffffffffffffffffffffff9081169116146107f857600080fd5b73ffffffffffffffffffffffffffffffffffffffff8116151561081a57600080fd5b60005473ffffffffffffffffffffffffffffffffffffffff80831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60026020526000908152604090205460ff16815600a165627a7a7230582067d0e3ad3e724f283847be6cd85791ac9f45732f0c140c4463d06d34f6c412fe0029
Deployed Bytecode
0x6060604052600436106100ae5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166313c8d42e81146100b3578063214e52ca146100d357806336d0d048146101195780638da5cb5b14610145578063a094a03114610181578063c0fa2eee14610194578063ca1689e8146101a7578063cdd499e8146101c5578063f177256d146101e3578063f2fde38b14610201578063fc3cd0de1461022d575b600080fd5b34156100be57600080fd5b6100d16004803560248101910135610259565b005b34156100de57600080fd5b61010573ffffffffffffffffffffffffffffffffffffffff60043581169060243516610356565b604051901515815260200160405180910390f35b341561012457600080fd5b61010573ffffffffffffffffffffffffffffffffffffffff600435166103e6565b341561015057600080fd5b6101586103fb565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b341561018c57600080fd5b610105610417565b341561019f57600080fd5b6100d1610438565b34156101b257600080fd5b6100d160048035602481019101356104f5565b34156101d057600080fd5b6100d160048035602481019101356105e7565b34156101ee57600080fd5b6100d160048035602481019101356106de565b341561020c57600080fd5b6100d173ffffffffffffffffffffffffffffffffffffffff600435166107d0565b341561023857600080fd5b61010573ffffffffffffffffffffffffffffffffffffffff600435166108aa565b6000805481903373ffffffffffffffffffffffffffffffffffffffff90811691161461028457600080fd5b600091505b828210156103505783838381811061029d57fe5b6020908102929092013573ffffffffffffffffffffffffffffffffffffffff1660008181526002909352604092839020805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0090911617905592507f8c29000969ebd054cf2625d9ce3d5e223a860d5dc845f4e7233a031f1511510f918391505173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1600190910190610289565b50505050565b6000805474010000000000000000000000000000000000000000900460ff161515610383575060006103e0565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604090205460ff1615806103dd575073ffffffffffffffffffffffffffffffffffffffff821660009081526002602052604090205460ff165b90505b92915050565b60016020526000908152604090205460ff1681565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60005474010000000000000000000000000000000000000000900460ff1681565b6000543373ffffffffffffffffffffffffffffffffffffffff90811691161461046057600080fd5b60005474010000000000000000000000000000000000000000900460ff161561048857600080fd5b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790557f5a92dafc00ffc1581584aab39476c6daea1558b1c4154bf31c6fa47eb9a7211660405160405180910390a1565b6000805481903373ffffffffffffffffffffffffffffffffffffffff90811691161461052057600080fd5b600091505b828210156103505783838381811061053957fe5b6020908102929092013573ffffffffffffffffffffffffffffffffffffffff166000818152600290935260409283902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905592507fc507749c0b92260781721e32ca904063c9a28a055270b17c472b9dc302a67b5b918391505173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1600190910190610525565b6000805481903373ffffffffffffffffffffffffffffffffffffffff90811691161461061257600080fd5b600091505b828210156103505783838381811061062b57fe5b6020908102929092013573ffffffffffffffffffffffffffffffffffffffff16600081815260019384905260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690941790935592507f689310fffce85c01e41fda171d169d9252df5db42162a99f993caa411b5d7be8918391505173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1600190910190610617565b6000805481903373ffffffffffffffffffffffffffffffffffffffff90811691161461070957600080fd5b600091505b828210156103505783838381811061072257fe5b6020908102929092013573ffffffffffffffffffffffffffffffffffffffff166000818152600190935260409283902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905592507f124b4e293a209c13067269ec1849a1ad85d8b6ef1c9a7ce9160214c5d6960192918391505173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a160019091019061070e565b6000543373ffffffffffffffffffffffffffffffffffffffff9081169116146107f857600080fd5b73ffffffffffffffffffffffffffffffffffffffff8116151561081a57600080fd5b60005473ffffffffffffffffffffffffffffffffffffffff80831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60026020526000908152604090205460ff16815600a165627a7a7230582067d0e3ad3e724f283847be6cd85791ac9f45732f0c140c4463d06d34f6c412fe0029
Deployed Bytecode Sourcemap
1596:2340:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3091:361;;;;;;;;;;;;;;;;;;;;;;;2152:220;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1961:47;;;;;;;;;;;;;;;;703:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1933:19;;;;;;;;;;;;3819:112;;;;;;;;;;;;3460:351;;;;;;;;;;;;;;;;;;;;;2380:343;;;;;;;;;;;;;;;;;;;;;2731:352;;;;;;;;;;;;;;;;;;;;;1323:173;;;;;;;;;;;;;;;;2015:48;;;;;;;;;;;;;;;;3091:361;3189:6;1136:5;;3189:6;;1122:10;1136:5;1122:19;;;1136:5;;1122:19;1114:28;;;;;;3198:1;3189:10;;3185:260;3201:32;;;3185:260;;;3285:22;;3308:1;3285:25;;;;;;;;;;;;;;;;;;3325:40;;;;:18;:40;;;;;;;;:47;;3368:4;3325:47;;;;;;;3285:25;-1:-1:-1;3387:46:0;;3285:25;;-1:-1:-1;3387:46:0;;;;;;;;;;;;;;;;3235:3;;;;;3185:260;;;3091:361;;;;:::o;2152:220::-;2228:4;2248:7;;;;;;;2247:8;2244:51;;;-1:-1:-1;2278:5:0;2271:12;;2244:51;2313:24;;;;;;;:17;:24;;;;;;;;2312:25;;:52;;-1:-1:-1;2341:23:0;;;;;;;:18;:23;;;;;;;;2312:52;2305:59;;2152:220;;;;;:::o;1961:47::-;;;;;;;;;;;;;;;:::o;703:20::-;;;;;;:::o;1933:19::-;;;;;;;;;:::o;3819:112::-;1136:5;;1122:10;1136:5;1122:19;;;1136:5;;1122:19;1114:28;;;;;;2116:7;;;;;;;2115:8;2107:17;;;;;;3883:7;:14;;;;;;;;3908:15;;;;;;;;;;3819:112::o;3460:351::-;3565:6;1136:5;;3565:6;;1122:10;1136:5;1122:19;;;1136:5;;1122:19;1114:28;;;;;;3574:1;3565:10;;3561:243;3577:34;;;3561:243;;;3656:24;;3681:1;3656:27;;;;;;;;;;;;;;;;;;3734:5;3698:33;;;:18;:33;;;;;;;;:41;;;;;;3656:27;-1:-1:-1;3754:38:0;;3656:27;;-1:-1:-1;3754:38:0;;;;;;;;;;;;;;;;3613:3;;;;;3561:243;;2380:343;2479:6;1136:5;;2479:6;;1122:10;1136:5;1122:19;;;1136:5;;1122:19;1114:28;;;;;;2488:1;2479:10;;2475:241;2491:34;;;2475:241;;;2570:24;;2595:1;2570:27;;;;;;;;;;;;;;;;;;2612:32;;;;2647:4;2612:32;;;;;;;;;:39;;;;;;;;;;2570:27;-1:-1:-1;2666:38:0;;2570:27;;-1:-1:-1;2666:38:0;;;;;;;;;;;;;;;;2527:3;;;;;2475:241;;2731:352;2836:6;1136:5;;2836:6;;1122:10;1136:5;1122:19;;;1136:5;;1122:19;1114:28;;;;;;2845:1;2836:10;;2832:244;2848:35;;;2832:244;;;2929:25;;2955:1;2929:28;;;;;;;;;;;;;;;;;;3008:5;2972:33;;;:17;:33;;;;;;;;:41;;;;;;2929:28;-1:-1:-1;3028:36:0;;2929:28;;-1:-1:-1;3028:36:0;;;;;;;;;;;;;;;;2885:3;;;;;2832:244;;1323:173;1136:5;;1122:10;1136:5;1122:19;;;1136:5;;1122:19;1114:28;;;;;;1400:22;;;;;1392:31;;;;;;1451:5;;1430:37;;;;;1451:5;1430:37;;;;;;;;;;1474:5;:16;;;;;;;;;;;;;;;1323:173::o;2015:48::-;;;;;;;;;;;;;;;:::o
Swarm Source
bzzr://67d0e3ad3e724f283847be6cd85791ac9f45732f0c140c4463d06d34f6c412fe
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 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.