Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 266 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 12541299 | 1313 days ago | IN | 0.015 ETH | 0.00222331 | ||||
Withdraw Tokens ... | 12524541 | 1316 days ago | IN | 0 ETH | 0.00180922 | ||||
Transfer | 12524246 | 1316 days ago | IN | 0.078 ETH | 0.00326415 | ||||
Transfer | 12524211 | 1316 days ago | IN | 0.01 ETH | 0.00334187 | ||||
Transfer | 12524163 | 1316 days ago | IN | 0.79 ETH | 0.0038859 | ||||
Transfer | 12524145 | 1316 days ago | IN | 0.04 ETH | 0.00286723 | ||||
Transfer | 12522095 | 1316 days ago | IN | 0.5 ETH | 0.00272781 | ||||
Transfer | 12518913 | 1317 days ago | IN | 0.01 ETH | 0.00248697 | ||||
Transfer | 12518384 | 1317 days ago | IN | 0.225 ETH | 0.00222273 | ||||
Transfer | 12517790 | 1317 days ago | IN | 0.01 ETH | 0.00181854 | ||||
Transfer | 12517772 | 1317 days ago | IN | 0.01 ETH | 0.00233154 | ||||
Withdraw Tokens ... | 12516752 | 1317 days ago | IN | 0 ETH | 0.00189337 | ||||
Withdraw Tokens ... | 12516736 | 1317 days ago | IN | 0 ETH | 0.00294788 | ||||
Transfer | 12516735 | 1317 days ago | IN | 0.02 ETH | 0.00224286 | ||||
Transfer | 12516535 | 1317 days ago | IN | 0.012 ETH | 0.00454635 | ||||
Transfer | 12516458 | 1317 days ago | IN | 0.022 ETH | 0.00418264 | ||||
Transfer | 12512967 | 1318 days ago | IN | 0.03 ETH | 0.00160031 | ||||
Transfer | 12512490 | 1318 days ago | IN | 0.02803 ETH | 0.00248697 | ||||
Transfer | 12512056 | 1318 days ago | IN | 0.007751 ETH | 0.00432578 | ||||
Transfer | 12511527 | 1318 days ago | IN | 0.001 ETH | 0.00315213 | ||||
Transfer | 12511514 | 1318 days ago | IN | 0.001 ETH | 0.0038859 | ||||
Transfer | 12510439 | 1318 days ago | IN | 0.36 ETH | 0.00254595 | ||||
Transfer | 12510048 | 1318 days ago | IN | 0.01 ETH | 0.0016973 | ||||
Transfer | 12510044 | 1318 days ago | IN | 0.01 ETH | 0.0021761 | ||||
Transfer | 12509944 | 1318 days ago | IN | 0.1 ETH | 0.00240925 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
12524246 | 1316 days ago | 0.078 ETH | ||||
12524211 | 1316 days ago | 0.01 ETH | ||||
12524163 | 1316 days ago | 0.79 ETH | ||||
12524145 | 1316 days ago | 0.04 ETH | ||||
12522095 | 1316 days ago | 0.5 ETH | ||||
12518913 | 1317 days ago | 0.01 ETH | ||||
12518384 | 1317 days ago | 0.225 ETH | ||||
12517790 | 1317 days ago | 0.01 ETH | ||||
12517772 | 1317 days ago | 0.01 ETH | ||||
12516735 | 1317 days ago | 0.02 ETH | ||||
12516535 | 1317 days ago | 0.012 ETH | ||||
12516458 | 1317 days ago | 0.022 ETH | ||||
12512967 | 1318 days ago | 0.03 ETH | ||||
12512490 | 1318 days ago | 0.02803 ETH | ||||
12512056 | 1318 days ago | 0.007751 ETH | ||||
12511527 | 1318 days ago | 0.001 ETH | ||||
12511514 | 1318 days ago | 0.001 ETH | ||||
12510439 | 1318 days ago | 0.36 ETH | ||||
12510048 | 1318 days ago | 0.01 ETH | ||||
12510044 | 1318 days ago | 0.01 ETH | ||||
12509944 | 1318 days ago | 0.1 ETH | ||||
12509805 | 1318 days ago | 0.035 ETH | ||||
12509081 | 1319 days ago | 0.1 ETH | ||||
12508930 | 1319 days ago | 0.01 ETH | ||||
12507783 | 1319 days ago | 0.35617 ETH |
Loading...
Loading
Contract Name:
CoinslootSale2
Compiler Version
v0.7.2+commit.51b20bc0
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-05-12 */ // SPDX-License-Identifier: MIT pragma solidity 0.7.2; 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 Subtracts 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; } } interface ERC20 { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); } contract CoinslootSale2 { using SafeMath for uint256; // The token being sold ERC20 public token; // Multisig smart contract address to which funds will be sent address payable public wallet = 0x1eFD3738e4Cb360ea0FB5FA6aB0cd49BBba516e2; address public owner; // How many token units a buyer gets per wei uint256 public rate; // Amount of wei raised uint256 public weiRaised; event TokenPurchase(address indexed purchaser, address indexed beneficiary, uint256 value, uint256 amount); constructor(uint256 _rate, ERC20 _token) { owner = msg.sender; rate = _rate; token = _token; } function getRate() public view returns (uint256) { return rate; } function changeRate(uint256 _newRate) public { require(msg.sender == owner); rate = _newRate; } function withdrawTokensToOwner(uint256 _amount) public { require(msg.sender == owner); _deliverTokens(owner, _amount); } receive() external payable { buyTokens(msg.sender); } function buyTokens(address _beneficiary) public payable { uint256 weiAmount = msg.value; _preValidatePurchase(_beneficiary, weiAmount); uint256 tokens = _getTokenAmount(weiAmount); weiRaised = weiRaised.add(weiAmount); _processPurchase(_beneficiary, tokens); emit TokenPurchase(msg.sender, _beneficiary, weiAmount, tokens); _updatePurchasingState(_beneficiary, weiAmount); _forwardFunds(); _postValidatePurchase(_beneficiary, weiAmount); } function _preValidatePurchase(address _beneficiary, uint256 _weiAmount) internal pure { require(_beneficiary != address(0)); require(_weiAmount != 0); } function _postValidatePurchase(address _beneficiary, uint256 _weiAmount) internal {} function _deliverTokens(address _beneficiary, uint256 _tokenAmount) internal { token.transfer(_beneficiary, _tokenAmount); } function _processPurchase(address _beneficiary, uint256 _tokenAmount) internal { _deliverTokens(_beneficiary, _tokenAmount); } function _updatePurchasingState(address _beneficiary, uint256 _weiAmount) internal {} function _getTokenAmount(uint256 _weiAmount) internal view returns (uint256){ assert(rate != 0); return (_weiAmount / rate) * 10**18; } function _forwardFunds() internal { wallet.transfer(msg.value); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"uint256","name":"_rate","type":"uint256"},{"internalType":"contract ERC20","name":"_token","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"purchaser","type":"address"},{"indexed":true,"internalType":"address","name":"beneficiary","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TokenPurchase","type":"event"},{"inputs":[{"internalType":"address","name":"_beneficiary","type":"address"}],"name":"buyTokens","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newRate","type":"uint256"}],"name":"changeRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract ERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"wallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"weiRaised","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdrawTokensToOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052731efd3738e4cb360ea0fb5fa6ab0cd49bbba516e2600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034801561006557600080fd5b506040516108363803806108368339818101604052604081101561008857600080fd5b81019080805190602001909291908051906020019092919050505033600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600381905550806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050506106fa8061013c6000396000f3fe60806040526004361061008a5760003560e01c806374e7493b1161005957806374e7493b1461016157806379304bec1461019c5780638da5cb5b146101d7578063ec8ac4d814610218578063fc0c546a1461025c5761009a565b80632c4e722e1461009f5780634042b66f146100ca578063521eb273146100f5578063679aefce146101365761009a565b3661009a576100983361029d565b005b600080fd5b3480156100ab57600080fd5b506100b461036c565b6040518082815260200191505060405180910390f35b3480156100d657600080fd5b506100df610372565b6040518082815260200191505060405180910390f35b34801561010157600080fd5b5061010a610378565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561014257600080fd5b5061014b61039e565b6040518082815260200191505060405180910390f35b34801561016d57600080fd5b5061019a6004803603602081101561018457600080fd5b81019080803590602001909291905050506103a8565b005b3480156101a857600080fd5b506101d5600480360360208110156101bf57600080fd5b810190808035906020019092919050505061040c565b005b3480156101e357600080fd5b506101ec610495565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61025a6004803603602081101561022e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061029d565b005b34801561026857600080fd5b506102716104bb565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60003490506102ac82826104df565b60006102b78261052b565b90506102ce8260045461055690919063ffffffff16565b6004819055506102de8382610572565b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad188484604051808381526020018281526020019250505060405180910390a36103558383610580565b61035d610584565b61036783836105ef565b505050565b60035481565b60045481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600354905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461040257600080fd5b8060038190555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461046657600080fd5b610492600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16826105f3565b50565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561051957600080fd5b600081141561052757600080fd5b5050565b600080600354141561053957fe5b670de0b6b3a7640000600354838161054d57fe5b04029050919050565b60008082840190508381101561056857fe5b8091505092915050565b61057c82826105f3565b5050565b5050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501580156105ec573d6000803e3d6000fd5b50565b5050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561068457600080fd5b505af1158015610698573d6000803e3d6000fd5b505050506040513d60208110156106ae57600080fd5b810190808051906020019092919050505050505056fea2646970667358221220b394737a84de1dad785d57d9cbbf437ef51ba15e8ea16955a550e8e7d0bf351b64736f6c634300070200330000000000000000000000000000000000000000000000000000246139ca8000000000000000000000000000d919fd88d44f6500cd33b534d27e367a950ef5a3
Deployed Bytecode
0x60806040526004361061008a5760003560e01c806374e7493b1161005957806374e7493b1461016157806379304bec1461019c5780638da5cb5b146101d7578063ec8ac4d814610218578063fc0c546a1461025c5761009a565b80632c4e722e1461009f5780634042b66f146100ca578063521eb273146100f5578063679aefce146101365761009a565b3661009a576100983361029d565b005b600080fd5b3480156100ab57600080fd5b506100b461036c565b6040518082815260200191505060405180910390f35b3480156100d657600080fd5b506100df610372565b6040518082815260200191505060405180910390f35b34801561010157600080fd5b5061010a610378565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561014257600080fd5b5061014b61039e565b6040518082815260200191505060405180910390f35b34801561016d57600080fd5b5061019a6004803603602081101561018457600080fd5b81019080803590602001909291905050506103a8565b005b3480156101a857600080fd5b506101d5600480360360208110156101bf57600080fd5b810190808035906020019092919050505061040c565b005b3480156101e357600080fd5b506101ec610495565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61025a6004803603602081101561022e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061029d565b005b34801561026857600080fd5b506102716104bb565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60003490506102ac82826104df565b60006102b78261052b565b90506102ce8260045461055690919063ffffffff16565b6004819055506102de8382610572565b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad188484604051808381526020018281526020019250505060405180910390a36103558383610580565b61035d610584565b61036783836105ef565b505050565b60035481565b60045481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600354905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461040257600080fd5b8060038190555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461046657600080fd5b610492600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16826105f3565b50565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561051957600080fd5b600081141561052757600080fd5b5050565b600080600354141561053957fe5b670de0b6b3a7640000600354838161054d57fe5b04029050919050565b60008082840190508381101561056857fe5b8091505092915050565b61057c82826105f3565b5050565b5050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501580156105ec573d6000803e3d6000fd5b50565b5050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561068457600080fd5b505af1158015610698573d6000803e3d6000fd5b505050506040513d60208110156106ae57600080fd5b810190808051906020019092919050505050505056fea2646970667358221220b394737a84de1dad785d57d9cbbf437ef51ba15e8ea16955a550e8e7d0bf351b64736f6c63430007020033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000000000000000000000000000000246139ca8000000000000000000000000000d919fd88d44f6500cd33b534d27e367a950ef5a3
-----Decoded View---------------
Arg [0] : _rate (uint256): 40000000000000
Arg [1] : _token (address): 0xd919fD88d44F6500cd33B534D27E367a950ef5A3
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000246139ca8000
Arg [1] : 000000000000000000000000d919fd88d44f6500cd33b534d27e367a950ef5a3
Deployed Bytecode Sourcemap
1940:2413:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2957:21;2967:10;2957:9;:21::i;:::-;1940:2413;;;;;2276:19;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2329:24;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2120:74;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2591:73;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2670:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2784:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2201:20;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2990:497;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2029:18;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2990:497;3053:17;3073:9;3053:29;;3089:45;3110:12;3124:9;3089:20;:45::i;:::-;3143:14;3160:26;3176:9;3160:15;:26::i;:::-;3143:43;;3207:24;3221:9;3207;;:13;;:24;;;;:::i;:::-;3195:9;:36;;;;3240:38;3257:12;3271:6;3240:16;:38::i;:::-;3316:12;3290:58;;3304:10;3290:58;;;3330:9;3341:6;3290:58;;;;;;;;;;;;;;;;;;;;;;;;3357:47;3380:12;3394:9;3357:22;:47::i;:::-;3413:15;:13;:15::i;:::-;3435:46;3457:12;3471:9;3435:21;:46::i;:::-;2990:497;;;:::o;2276:19::-;;;;:::o;2329:24::-;;;;:::o;2120:74::-;;;;;;;;;;;;;:::o;2591:73::-;2631:7;2654:4;;2647:11;;2591:73;:::o;2670:108::-;2744:5;;;;;;;;;;;2730:19;;:10;:19;;;2722:28;;;;;;2764:8;2757:4;:15;;;;2670:108;:::o;2784:133::-;2868:5;;;;;;;;;;;2854:19;;:10;:19;;;2846:28;;;;;;2881:30;2896:5;;;;;;;;;;;2903:7;2881:14;:30::i;:::-;2784:133;:::o;2201:20::-;;;;;;;;;;;;;:::o;2029:18::-;;;;;;;;;;;;:::o;3493:165::-;3618:1;3594:26;;:12;:26;;;;3586:35;;;;;;3650:1;3636:10;:15;;3628:24;;;;;;3493:165;;:::o;4123:148::-;4191:7;4221:1;4213:4;;:9;;4206:17;;;;4259:6;4251:4;;4238:10;:17;;;;;;4237:28;4230:35;;4123:148;;;:::o;987:133::-;1045:7;1061:9;1077:1;1073;:5;1061:17;;1097:1;1092;:6;;1085:14;;;;1113:1;1106:8;;;987:133;;;;:::o;3892:134::-;3978:42;3993:12;4007;3978:14;:42::i;:::-;3892:134;;:::o;4032:85::-;;;:::o;4277:73::-;4318:6;;;;;;;;;;;:15;;:26;4334:9;4318:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4277:73::o;3664:84::-;;;:::o;3754:132::-;3838:5;;;;;;;;;;:14;;;3853:12;3867;3838:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3754:132;;:::o
Swarm Source
ipfs://b394737a84de1dad785d57d9cbbf437ef51ba15e8ea16955a550e8e7d0bf351b
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
BSC | 100.00% | $715.66 | 0.355 | $254.06 |
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.