Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00Latest 1 from a total of 1 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Register File Ha... | 10017888 | 2127 days ago | IN | 0.005 ETH | 0.0008326 |
Latest 1 internal transaction
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| - | 10017888 | 2127 days ago | 0.005 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
digitalNotary
Compiler Version
v0.6.6+commit.6c089d02
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2020-05-07
*/
pragma solidity >=0.6.4;
contract managed
{
/*
1) Allows the manager to pause the contract
2) change fee in the future
*/
address payable public manager;
constructor() public
{
manager = msg.sender;
}
//Function Modifier
modifier onlyManager()
{
require(msg.sender == manager);
_;
}
function setManager(address payable newmanager) external onlyManager
{
require(newmanager.balance > 0);
manager = newmanager;
}
}
contract digitalNotary is managed
{
bool public contractactive;
uint public registrationfee;
uint public changeownerfee;
//A mapping of File Hash with current owner
mapping(bytes32 => address) FileHashCurrentOwnerMap;
event OwnershipEvent(bytes32 indexed filehash, address indexed filehashowner, uint eventtime);
constructor() public
{
contractactive = true;
registrationfee = 5000000000000000; //0.005 ETH
changeownerfee = 25000000000000000; //0.025 ETH
}//end of constructor
function setContractSwitch() external onlyManager
{
contractactive = contractactive == true ? false : true;
}
function setRegistrationFee(uint newfee) external onlyManager
{
require(newfee > 0, "Registration Fee should be > 0");
registrationfee = newfee;
}
function setChangeOwnerFee(uint newfee) external onlyManager
{
require(newfee > 0, "Change Ownership fee > 0");
changeownerfee = newfee;
}
function getFileHashExists(bytes32 filehash) public view returns(bool)
{
return FileHashCurrentOwnerMap[filehash] != address(0);
}
function getFileHashCurrentOwner(bytes32 filehash) public view returns(address)
{
require(getFileHashExists(filehash) == true, "File hash not registered");
return FileHashCurrentOwnerMap[filehash];
}
function RegisterFileHash(bytes32 filehash) external payable
{
/*
This method will register the Hash
*/
require(contractactive == true, "Contract not active");
require(getFileHashExists(filehash) == false, "File Hash already registered");
require(msg.value == registrationfee, "Registration Fee incorrect");
//Add Filehash to Map
FileHashCurrentOwnerMap[filehash] = msg.sender;
//The registrationfee gets paid to manager
manager.transfer(msg.value);
emit OwnershipEvent(filehash, msg.sender, now);
}//end of registerHash
function transferOwnership(bytes32 filehash, address newowner) external payable
{
/*
This method will change ownership of the hash from the most recent owner to the new owner
*/
require(contractactive == true, "Contract not active");
require(newowner != address(0), "Owner can not be address(0)");
require(getFileHashCurrentOwner(filehash) == msg.sender,"Msg Sender Not current owner");
require(msg.value == changeownerfee, "Change Owner Fee incorrect");
//Ownership transferred
FileHashCurrentOwnerMap[filehash] = newowner;
//The changeownerfee gets paid to manager
manager.transfer(msg.value);
emit OwnershipEvent(filehash, newowner, now);
}
fallback() external
{
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"filehash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"filehashowner","type":"address"},{"indexed":false,"internalType":"uint256","name":"eventtime","type":"uint256"}],"name":"OwnershipEvent","type":"event"},{"stateMutability":"nonpayable","type":"fallback"},{"inputs":[{"internalType":"bytes32","name":"filehash","type":"bytes32"}],"name":"RegisterFileHash","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"changeownerfee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"contractactive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"filehash","type":"bytes32"}],"name":"getFileHashCurrentOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"filehash","type":"bytes32"}],"name":"getFileHashExists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manager","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"registrationfee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newfee","type":"uint256"}],"name":"setChangeOwnerFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setContractSwitch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newmanager","type":"address"}],"name":"setManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newfee","type":"uint256"}],"name":"setRegistrationFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"filehash","type":"bytes32"},{"internalType":"address","name":"newowner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"payable","type":"function"}]Contract Creation Code
608060405234801561001057600080fd5b506000805460ff60a01b196001600160a01b0319909116331716600160a01b1790556611c37937e080006001556658d15e176280006002556108b6806100576000396000f3fe6080604052600436106100a75760003560e01c8063af37221211610064578063af37221214610195578063c320c727146101bf578063d0ebdbe7146101e9578063e8b37e4d1461021c578063ef5d6bbb14610231578063f33884581461025d576100a7565b80632b373ee5146100b657806338bce208146100e2578063481c6a75146100f75780638919c2f414610128578063a0ed06ff14610151578063a32ee42114610178575b3480156100b357600080fd5b50005b3480156100c257600080fd5b506100e0600480360360208110156100d957600080fd5b5035610287565b005b3480156100ee57600080fd5b506100e06102f8565b34801561010357600080fd5b5061010c61034d565b604080516001600160a01b039092168252519081900360200190f35b34801561013457600080fd5b5061013d61035c565b604080519115158252519081900360200190f35b34801561015d57600080fd5b5061016661036c565b60408051918252519081900360200190f35b6100e06004803603602081101561018e57600080fd5b5035610372565b3480156101a157600080fd5b5061010c600480360360208110156101b857600080fd5b503561050e565b3480156101cb57600080fd5b506100e0600480360360208110156101e257600080fd5b503561058b565b3480156101f557600080fd5b506100e06004803603602081101561020c57600080fd5b50356001600160a01b03166105fc565b34801561022857600080fd5b5061016661064c565b6100e06004803603604081101561024757600080fd5b50803590602001356001600160a01b0316610652565b34801561026957600080fd5b5061013d6004803603602081101561028057600080fd5b5035610863565b6000546001600160a01b0316331461029e57600080fd5b600081116102f3576040805162461bcd60e51b815260206004820152601860248201527f4368616e6765204f776e65727368697020666565203e20300000000000000000604482015290519081900360640190fd5b600255565b6000546001600160a01b0316331461030f57600080fd5b600054600160a01b900460ff16151560011461032c57600161032f565b60005b60008054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b031681565b600054600160a01b900460ff1681565b60025481565b600054600160a01b900460ff1615156001146103cb576040805162461bcd60e51b8152602060048201526013602482015272436f6e7472616374206e6f742061637469766560681b604482015290519081900360640190fd5b6103d481610863565b15610426576040805162461bcd60e51b815260206004820152601c60248201527f46696c65204861736820616c7265616479207265676973746572656400000000604482015290519081900360640190fd5b600154341461047c576040805162461bcd60e51b815260206004820152601a60248201527f526567697374726174696f6e2046656520696e636f7272656374000000000000604482015290519081900360640190fd5b60008181526003602052604080822080546001600160a01b03191633179055815490516001600160a01b0391909116913480156108fc02929091818181858888f193505050501580156104d3573d6000803e3d6000fd5b50604080514281529051339183917f55eee023472adc51d031f9324881439cea4bd30b72623c8c505d94d878e96da09181900360200190a350565b600061051982610863565b151560011461056f576040805162461bcd60e51b815260206004820152601860248201527f46696c652068617368206e6f7420726567697374657265640000000000000000604482015290519081900360640190fd5b506000908152600360205260409020546001600160a01b031690565b6000546001600160a01b031633146105a257600080fd5b600081116105f7576040805162461bcd60e51b815260206004820152601e60248201527f526567697374726174696f6e204665652073686f756c64206265203e20300000604482015290519081900360640190fd5b600155565b6000546001600160a01b0316331461061357600080fd5b6000816001600160a01b0316311161062a57600080fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b60015481565b600054600160a01b900460ff1615156001146106ab576040805162461bcd60e51b8152602060048201526013602482015272436f6e7472616374206e6f742061637469766560681b604482015290519081900360640190fd5b6001600160a01b038116610706576040805162461bcd60e51b815260206004820152601b60248201527f4f776e65722063616e206e6f7420626520616464726573732830290000000000604482015290519081900360640190fd5b336107108361050e565b6001600160a01b03161461076b576040805162461bcd60e51b815260206004820152601c60248201527f4d73672053656e646572204e6f742063757272656e74206f776e657200000000604482015290519081900360640190fd5b60025434146107c1576040805162461bcd60e51b815260206004820152601a60248201527f4368616e6765204f776e65722046656520696e636f7272656374000000000000604482015290519081900360640190fd5b60008281526003602052604080822080546001600160a01b038086166001600160a01b031990921691909117909155825491519116913480156108fc02929091818181858888f1935050505015801561081e573d6000803e3d6000fd5b506040805142815290516001600160a01b0383169184917f55eee023472adc51d031f9324881439cea4bd30b72623c8c505d94d878e96da09181900360200190a35050565b6000908152600360205260409020546001600160a01b031615159056fea2646970667358221220f360bc219dfcc7e6980f0ff0dc4f9560a86cc9e0f15da29b593669bf55ff659664736f6c63430006060033
Deployed Bytecode
0x6080604052600436106100a75760003560e01c8063af37221211610064578063af37221214610195578063c320c727146101bf578063d0ebdbe7146101e9578063e8b37e4d1461021c578063ef5d6bbb14610231578063f33884581461025d576100a7565b80632b373ee5146100b657806338bce208146100e2578063481c6a75146100f75780638919c2f414610128578063a0ed06ff14610151578063a32ee42114610178575b3480156100b357600080fd5b50005b3480156100c257600080fd5b506100e0600480360360208110156100d957600080fd5b5035610287565b005b3480156100ee57600080fd5b506100e06102f8565b34801561010357600080fd5b5061010c61034d565b604080516001600160a01b039092168252519081900360200190f35b34801561013457600080fd5b5061013d61035c565b604080519115158252519081900360200190f35b34801561015d57600080fd5b5061016661036c565b60408051918252519081900360200190f35b6100e06004803603602081101561018e57600080fd5b5035610372565b3480156101a157600080fd5b5061010c600480360360208110156101b857600080fd5b503561050e565b3480156101cb57600080fd5b506100e0600480360360208110156101e257600080fd5b503561058b565b3480156101f557600080fd5b506100e06004803603602081101561020c57600080fd5b50356001600160a01b03166105fc565b34801561022857600080fd5b5061016661064c565b6100e06004803603604081101561024757600080fd5b50803590602001356001600160a01b0316610652565b34801561026957600080fd5b5061013d6004803603602081101561028057600080fd5b5035610863565b6000546001600160a01b0316331461029e57600080fd5b600081116102f3576040805162461bcd60e51b815260206004820152601860248201527f4368616e6765204f776e65727368697020666565203e20300000000000000000604482015290519081900360640190fd5b600255565b6000546001600160a01b0316331461030f57600080fd5b600054600160a01b900460ff16151560011461032c57600161032f565b60005b60008054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b031681565b600054600160a01b900460ff1681565b60025481565b600054600160a01b900460ff1615156001146103cb576040805162461bcd60e51b8152602060048201526013602482015272436f6e7472616374206e6f742061637469766560681b604482015290519081900360640190fd5b6103d481610863565b15610426576040805162461bcd60e51b815260206004820152601c60248201527f46696c65204861736820616c7265616479207265676973746572656400000000604482015290519081900360640190fd5b600154341461047c576040805162461bcd60e51b815260206004820152601a60248201527f526567697374726174696f6e2046656520696e636f7272656374000000000000604482015290519081900360640190fd5b60008181526003602052604080822080546001600160a01b03191633179055815490516001600160a01b0391909116913480156108fc02929091818181858888f193505050501580156104d3573d6000803e3d6000fd5b50604080514281529051339183917f55eee023472adc51d031f9324881439cea4bd30b72623c8c505d94d878e96da09181900360200190a350565b600061051982610863565b151560011461056f576040805162461bcd60e51b815260206004820152601860248201527f46696c652068617368206e6f7420726567697374657265640000000000000000604482015290519081900360640190fd5b506000908152600360205260409020546001600160a01b031690565b6000546001600160a01b031633146105a257600080fd5b600081116105f7576040805162461bcd60e51b815260206004820152601e60248201527f526567697374726174696f6e204665652073686f756c64206265203e20300000604482015290519081900360640190fd5b600155565b6000546001600160a01b0316331461061357600080fd5b6000816001600160a01b0316311161062a57600080fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b60015481565b600054600160a01b900460ff1615156001146106ab576040805162461bcd60e51b8152602060048201526013602482015272436f6e7472616374206e6f742061637469766560681b604482015290519081900360640190fd5b6001600160a01b038116610706576040805162461bcd60e51b815260206004820152601b60248201527f4f776e65722063616e206e6f7420626520616464726573732830290000000000604482015290519081900360640190fd5b336107108361050e565b6001600160a01b03161461076b576040805162461bcd60e51b815260206004820152601c60248201527f4d73672053656e646572204e6f742063757272656e74206f776e657200000000604482015290519081900360640190fd5b60025434146107c1576040805162461bcd60e51b815260206004820152601a60248201527f4368616e6765204f776e65722046656520696e636f7272656374000000000000604482015290519081900360640190fd5b60008281526003602052604080822080546001600160a01b038086166001600160a01b031990921691909117909155825491519116913480156108fc02929091818181858888f1935050505015801561081e573d6000803e3d6000fd5b506040805142815290516001600160a01b0383169184917f55eee023472adc51d031f9324881439cea4bd30b72623c8c505d94d878e96da09181900360200190a35050565b6000908152600360205260409020546001600160a01b031615159056fea2646970667358221220f360bc219dfcc7e6980f0ff0dc4f9560a86cc9e0f15da29b593669bf55ff659664736f6c63430006060033
Deployed Bytecode Sourcemap
563:3136:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;563:3136:0;;1530:176;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1530:176:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1530:176:0;;:::i;:::-;;1194:128;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1194:128:0;;;:::i;159:30::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;159:30:0;;;:::i;:::-;;;;-1:-1:-1;;;;;159:30:0;;;;;;;;;;;;;;611:26;;5:9:-1;2:2;;;27:1;24;17:12;2:2;611:26:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;690;;5:9:-1;2:2;;;27:1;24;17:12;2:2;690:26:0;;;:::i;:::-;;;;;;;;;;;;;;;;2133:646;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;2133:646:0;;:::i;1881:237::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1881:237:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1881:237:0;;:::i;1334:184::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1334:184:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1334:184:0;;:::i;395:155::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;395:155:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;395:155:0;-1:-1:-1;;;;;395:155:0;;:::i;650:27::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;650:27:0;;;:::i;2813:825::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;2813:825:0;;;;;;-1:-1:-1;;;;;2813:825:0;;:::i;1720:149::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1720:149:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1720:149:0;;:::i;1530:176::-;353:7;;-1:-1:-1;;;;;353:7:0;339:10;:21;331:30;;12:1:-1;9;2:12;331:30:0;1624:1:::1;1615:6;:10;1607:47;;;::::0;;-1:-1:-1;;;1607:47:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;1675:14;:23:::0;1530:176::o;1194:128::-;353:7;;-1:-1:-1;;;;;353:7:0;339:10;:21;331:30;;12:1:-1;9;2:12;331:30:0;1277:14:::1;::::0;-1:-1:-1;;;1277:14:0;::::1;;;:22;;1295:4;1277:22;:37;;1310:4;1277:37;;;1302:5;1277:37;1260:14;:54:::0;;;::::1;;-1:-1:-1::0;;;1260:54:0::1;-1:-1:-1::0;;;;1260:54:0;;::::1;::::0;;;::::1;::::0;;1194:128::o;159:30::-;;;-1:-1:-1;;;;;159:30:0;;:::o;611:26::-;;;-1:-1:-1;;;611:26:0;;;;;:::o;690:::-;;;;:::o;2133:646::-;2292:14;;-1:-1:-1;;;2292:14:0;;;;:22;;2310:4;2292:22;2284:54;;;;;-1:-1:-1;;;2284:54:0;;;;;;;;;;;;-1:-1:-1;;;2284:54:0;;;;;;;;;;;;;;;2357:27;2375:8;2357:17;:27::i;:::-;:36;2349:77;;;;;-1:-1:-1;;;2349:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;2458:15;;2445:9;:28;2437:67;;;;;-1:-1:-1;;;2437:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;2548:33;;;;:23;:33;;;;;;:46;;-1:-1:-1;;;;;;2548:46:0;2584:10;2548:46;;;2667:7;;:27;;-1:-1:-1;;;;;2667:7:0;;;;;2684:9;2667:27;;;;;2684:9;;2667:27;2548:33;2667:27;2684:9;2667:7;:27;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;2720:41:0;;;2757:3;2720:41;;;;2745:10;;2735:8;;2720:41;;;;;;;;;2133:646;:::o;1881:237::-;1952:7;1985:27;2003:8;1985:17;:27::i;:::-;:35;;2016:4;1985:35;1977:72;;;;;-1:-1:-1;;;1977:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2077:33:0;;;;:23;:33;;;;;;-1:-1:-1;;;;;2077:33:0;;1881:237::o;1334:184::-;353:7;;-1:-1:-1;;;;;353:7:0;339:10;:21;331:30;;12:1:-1;9;2:12;331:30:0;1429:1:::1;1420:6;:10;1412:53;;;::::0;;-1:-1:-1;;;1412:53:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;1486:15;:24:::0;1334:184::o;395:155::-;353:7;;-1:-1:-1;;;;;353:7:0;339:10;:21;331:30;;12:1:-1;9;2:12;331:30:0;509:1:::1;488:10;-1:-1:-1::0;;;;;488:18:0::1;;:22;480:31;;12:1:-1;9::::0;2:12:::1;480:31:0;522:7;:20:::0;;-1:-1:-1;;;;;;522:20:0::1;-1:-1:-1::0;;;;;522:20:0;;;::::1;::::0;;;::::1;::::0;;395:155::o;650:27::-;;;;:::o;2813:825::-;3054:14;;-1:-1:-1;;;3054:14:0;;;;:22;;3072:4;3054:22;3046:54;;;;;-1:-1:-1;;;3046:54:0;;;;;;;;;;;;-1:-1:-1;;;3046:54:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;3119:22:0;;3111:62;;;;;-1:-1:-1;;;3111:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;3229:10;3192:33;3216:8;3192:23;:33::i;:::-;-1:-1:-1;;;;;3192:47:0;;3184:87;;;;;-1:-1:-1;;;3184:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;3303:14;;3290:9;:27;3282:66;;;;;-1:-1:-1;;;3282:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;3412:33;;;;:23;:33;;;;;;:44;;-1:-1:-1;;;;;3412:44:0;;;-1:-1:-1;;;;;;3412:44:0;;;;;;;;;;3528:7;;:27;;:7;;;3545:9;3528:27;;;;;3545:9;;3528:27;3412:33;3528:27;3545:9;3528:7;:27;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;3581:39:0;;;3616:3;3581:39;;;;-1:-1:-1;;;;;3581:39:0;;;3596:8;;3581:39;;;;;;;;;2813:825;;:::o;1720:149::-;1785:4;1814:33;;;:23;:33;;;;;;-1:-1:-1;;;;;1814:33:0;:47;;;1720:149::o
Swarm Source
ipfs://f360bc219dfcc7e6980f0ff0dc4f9560a86cc9e0f15da29b593669bf55ff6596
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
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.