Feature Tip: Add private address tag to any address under My Name Tag !
Source Code
Latest 25 from a total of 137 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Withdrawal | 6788535 | 2663 days ago | IN | 0 ETH | 0.00180144 | ||||
| Purchase Egg | 6765582 | 2667 days ago | IN | 0.007 ETH | 0.00013105 | ||||
| Purchase Egg | 6765577 | 2667 days ago | IN | 0.7763 ETH | 0.00013105 | ||||
| Purchase Egg | 6765564 | 2667 days ago | IN | 0.007 ETH | 0.00013105 | ||||
| Bulk Purchage Eg... | 6765481 | 2667 days ago | IN | 0.0385 ETH | 0.00013014 | ||||
| Purchase Egg | 6762281 | 2668 days ago | IN | 0.7763 ETH | 0.00013105 | ||||
| Purchase Egg | 6762003 | 2668 days ago | IN | 0.7763 ETH | 0.00013105 | ||||
| Pause | 6761646 | 2668 days ago | IN | 0 ETH | 0.00169182 | ||||
| Purchase Egg | 6761574 | 2668 days ago | IN | 0.77595 ETH | 0.00054744 | ||||
| Purchase Egg | 6761574 | 2668 days ago | IN | 0.007 ETH | 0.00013273 | ||||
| Purchase Egg | 6761511 | 2668 days ago | IN | 0.7756 ETH | 0.0002986 | ||||
| Purchase Egg | 6760643 | 2668 days ago | IN | 0.77525 ETH | 0.0001493 | ||||
| Purchase Egg | 6759775 | 2668 days ago | IN | 0.7749 ETH | 0.0002986 | ||||
| Bulk Purchage Eg... | 6758317 | 2668 days ago | IN | 3.86925 ETH | 0.00034638 | ||||
| Purchase Egg | 6757513 | 2668 days ago | IN | 0.7728 ETH | 0.0002986 | ||||
| Purchase Egg | 6756501 | 2668 days ago | IN | 0.7721 ETH | 0.0002086 | ||||
| Purchase Egg | 6756497 | 2668 days ago | IN | 0.7721 ETH | 0.0002086 | ||||
| Purchase Egg | 6756281 | 2669 days ago | IN | 0.77175 ETH | 0.00034837 | ||||
| Purchase Egg | 6755839 | 2669 days ago | IN | 0.7714 ETH | 0.0002086 | ||||
| Purchase Egg | 6755834 | 2669 days ago | IN | 0.77105 ETH | 0.0002986 | ||||
| Withdrawal | 6755087 | 2669 days ago | IN | 0 ETH | 0.0015012 | ||||
| Purchase Egg | 6753981 | 2669 days ago | IN | 0.7707 ETH | 0.00019907 | ||||
| Purchase Egg | 6753970 | 2669 days ago | IN | 0.77035 ETH | 0.00019907 | ||||
| Purchase Egg | 6752802 | 2669 days ago | IN | 0.77 ETH | 0.00013907 | ||||
| Purchase Egg | 6752732 | 2669 days ago | IN | 0.76965 ETH | 0.00019907 |
Latest 6 internal transactions
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
PreSale
Compiler Version
v0.4.23+commit.124ca40d
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2018-04-22
*/
pragma solidity ^0.4.18;
/**
* @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));
emit OwnershipTransferred(owner, newOwner);
owner = newOwner;
}
}
/**
* @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;
emit Pause();
}
/**
* @dev called by the owner to unpause, returns to normal state
*/
function unpause() onlyOwner whenPaused public {
paused = false;
emit Unpause();
}
}
contract PreSale is Pausable {
uint256 constant public INCREASE_RATE = 350000000000000; // 50c if ethereum is $700
uint256 public eggsSold = 1987;
mapping (address => uint32) public eggs;
function PreSale() payable public {
}
event EggsPurchased(address indexed purchaser, uint256 value, uint32 quantity);
event EggsRedeemed(address indexed sender, uint256 eggs);
function bulkPurchageEgg() whenNotPaused payable public {
require(msg.value >= (eggPrice() * 5 + INCREASE_RATE * 10));
eggs[msg.sender] = eggs[msg.sender] + 5;
eggsSold = eggsSold + 5;
EggsPurchased(msg.sender, msg.value, 5);
}
function purchaseEgg() whenNotPaused payable public {
require(msg.value >= eggPrice());
eggs[msg.sender] = eggs[msg.sender] + 1;
eggsSold = eggsSold + 1;
EggsPurchased(msg.sender, msg.value, 1);
}
function redeemEgg(address targetUser) onlyOwner public returns(uint256) {
require(eggs[targetUser] > 0);
EggsRedeemed(targetUser, eggs[targetUser]);
var userEggs = eggs[targetUser];
eggs[targetUser] = 0;
return userEggs;
}
function eggPrice() view public returns(uint256) {
return (eggsSold + 1) * INCREASE_RATE;
}
function withdrawal() onlyOwner public {
owner.transfer(this.balance);
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[],"name":"eggPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"eggsSold","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"bulkPurchageEgg","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"purchaseEgg","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"INCREASE_RATE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdrawal","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"eggs","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"targetUser","type":"address"}],"name":"redeemEgg","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":true,"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"purchaser","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"quantity","type":"uint32"}],"name":"EggsPurchased","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":false,"name":"eggs","type":"uint256"}],"name":"EggsRedeemed","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]Contract Creation Code
608060405260008060146101000a81548160ff0219169083151502179055506107c3600155336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610c50806100736000396000f3006080604052600436106100c5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063305e3552146100ca5780633f4ba83a146100f5578063407fc2e81461010c57806357880042146101375780635c975abb146101415780638456cb59146101705780638da5cb5b14610187578063bce2b9a3146101de578063c0b3aff3146101e8578063d4e9329214610213578063e5cbcebd1461022a578063e91bb26e1461028d578063f2fde38b146102e4575b600080fd5b3480156100d657600080fd5b506100df610327565b6040518082815260200191505060405180910390f35b34801561010157600080fd5b5061010a61033c565b005b34801561011857600080fd5b506101216103fa565b6040518082815260200191505060405180910390f35b61013f610400565b005b34801561014d57600080fd5b5061015661055c565b604051808215151515815260200191505060405180910390f35b34801561017c57600080fd5b5061018561056f565b005b34801561019357600080fd5b5061019c61062f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101e6610654565b005b3480156101f457600080fd5b506101fd6107a0565b6040518082815260200191505060405180910390f35b34801561021f57600080fd5b506102286107ab565b005b34801561023657600080fd5b5061026b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610887565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b34801561029957600080fd5b506102ce600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108aa565b6040518082815260200191505060405180910390f35b3480156102f057600080fd5b50610325600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610acf565b005b600066013e52b9abe000600180540102905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561039757600080fd5b600060149054906101000a900460ff1615156103b257600080fd5b60008060146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b60015481565b600060149054906101000a900460ff1615151561041c57600080fd5b600a66013e52b9abe000026005610431610327565b0201341015151561044157600080fd5b6005600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff1601600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548163ffffffff021916908363ffffffff1602179055506005600154016001819055503373ffffffffffffffffffffffffffffffffffffffff167f919bf6993757ce64c5d6f824afd385ebda5a8163923eafda45c6305819ba74ce346005604051808381526020018263ffffffff1681526020019250505060405180910390a2565b600060149054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156105ca57600080fd5b600060149054906101000a900460ff161515156105e657600080fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060149054906101000a900460ff1615151561067057600080fd5b610678610327565b341015151561068657600080fd5b6001600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff1601600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548163ffffffff021916908363ffffffff16021790555060018054016001819055503373ffffffffffffffffffffffffffffffffffffffff167f919bf6993757ce64c5d6f824afd385ebda5a8163923eafda45c6305819ba74ce346001604051808381526020018263ffffffff1681526020019250505060405180910390a2565b66013e52b9abe00081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561080657600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050158015610884573d6000803e3d6000fd5b50565b60026020528060005260406000206000915054906101000a900463ffffffff1681565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561090857600080fd5b6000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff1663ffffffff1611151561096c57600080fd5b8273ffffffffffffffffffffffffffffffffffffffff167fdfbd5c69a218c351a8acaf30330b721bdf04f3b767073cfe7656a39cf6ce56cb600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff16604051808263ffffffff16815260200191505060405180910390a2600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff1690506000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548163ffffffff021916908363ffffffff1602179055508063ffffffff16915050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b2a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610b6657600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a72305820c0850b44c3f2bdafb1c8372a74bcbec8595a063db1a20c297ff8ca007d8336420029
Deployed Bytecode
0x6080604052600436106100c5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063305e3552146100ca5780633f4ba83a146100f5578063407fc2e81461010c57806357880042146101375780635c975abb146101415780638456cb59146101705780638da5cb5b14610187578063bce2b9a3146101de578063c0b3aff3146101e8578063d4e9329214610213578063e5cbcebd1461022a578063e91bb26e1461028d578063f2fde38b146102e4575b600080fd5b3480156100d657600080fd5b506100df610327565b6040518082815260200191505060405180910390f35b34801561010157600080fd5b5061010a61033c565b005b34801561011857600080fd5b506101216103fa565b6040518082815260200191505060405180910390f35b61013f610400565b005b34801561014d57600080fd5b5061015661055c565b604051808215151515815260200191505060405180910390f35b34801561017c57600080fd5b5061018561056f565b005b34801561019357600080fd5b5061019c61062f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101e6610654565b005b3480156101f457600080fd5b506101fd6107a0565b6040518082815260200191505060405180910390f35b34801561021f57600080fd5b506102286107ab565b005b34801561023657600080fd5b5061026b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610887565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b34801561029957600080fd5b506102ce600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108aa565b6040518082815260200191505060405180910390f35b3480156102f057600080fd5b50610325600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610acf565b005b600066013e52b9abe000600180540102905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561039757600080fd5b600060149054906101000a900460ff1615156103b257600080fd5b60008060146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b60015481565b600060149054906101000a900460ff1615151561041c57600080fd5b600a66013e52b9abe000026005610431610327565b0201341015151561044157600080fd5b6005600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff1601600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548163ffffffff021916908363ffffffff1602179055506005600154016001819055503373ffffffffffffffffffffffffffffffffffffffff167f919bf6993757ce64c5d6f824afd385ebda5a8163923eafda45c6305819ba74ce346005604051808381526020018263ffffffff1681526020019250505060405180910390a2565b600060149054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156105ca57600080fd5b600060149054906101000a900460ff161515156105e657600080fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060149054906101000a900460ff1615151561067057600080fd5b610678610327565b341015151561068657600080fd5b6001600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff1601600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548163ffffffff021916908363ffffffff16021790555060018054016001819055503373ffffffffffffffffffffffffffffffffffffffff167f919bf6993757ce64c5d6f824afd385ebda5a8163923eafda45c6305819ba74ce346001604051808381526020018263ffffffff1681526020019250505060405180910390a2565b66013e52b9abe00081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561080657600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050158015610884573d6000803e3d6000fd5b50565b60026020528060005260406000206000915054906101000a900463ffffffff1681565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561090857600080fd5b6000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff1663ffffffff1611151561096c57600080fd5b8273ffffffffffffffffffffffffffffffffffffffff167fdfbd5c69a218c351a8acaf30330b721bdf04f3b767073cfe7656a39cf6ce56cb600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff16604051808263ffffffff16815260200191505060405180910390a2600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff1690506000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548163ffffffff021916908363ffffffff1602179055508063ffffffff16915050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b2a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610b6657600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a72305820c0850b44c3f2bdafb1c8372a74bcbec8595a063db1a20c297ff8ca007d8336420029
Swarm Source
bzzr://c0850b44c3f2bdafb1c8372a74bcbec8595a063db1a20c297ff8ca007d833642
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.