An example implementation of Eveem.org decompiler API.
Check out the Github repo to see how this analysis is done.
# kitties -- 0x06012c8cf97BEaD5deAe237070F9587f8E7A266d # contract roles cfoAddress
can be changed by:
ceoAddress in setCFO(address _newCFO)
can call those functions:
withdrawAuctionBalances()
pause()
setSecondsPerBlock(uint256 _secs)
withdrawBalance()
can receive withdrawal through:
withdrawBalance()
current value:
....
ceoAddress
can be changed by:
ceoAddress in setCEO(address _newCEO)
can call those functions:
setSaleAuctionAddress(address _address)
setSecondsPerBlock(uint256 _secs)
pause()
unpause()
setSiringAuctionAddress(address _address)
withdrawAuctionBalances()
setNewAddress(address _v2Address)
setMetadataAddress(address _contractAddress)
setCEO(address _newCEO)
setGeneScienceAddress(address _address)
setCFO(address _newCFO)
setCOO(address _newCOO)
current value:
....
siringAuction
can be changed by:
ceoAddress in setSiringAuctionAddress(address _address)
can call those functions:
_fallback()
can receive withdrawal through:
bidOnSiringAuction(uint256 _sireId, uint256 _matronId)
can be called by:
createSiringAuction(uint256 _EtherDogId, uint256 _startingPrice, uint256 _endingPrice, uint256 _duration)
withdrawAuctionBalances()
bidOnSiringAuction(uint256 _sireId, uint256 _matronId)
current value:
....
cooAddress
can be changed by:
ceoAddress in setCOO(address _newCOO)
can call those functions:
setSecondsPerBlock(uint256 _secs)
pause()
withdrawAuctionBalances()
setAutoBirthFee(uint256 _val)
createPromoKitty(uint256 _genes, address _owner)
createGen0Auction(uint256 _genes)
current value:
....
erc721Metadata
can be changed by:
ceoAddress in setMetadataAddress(address _contractAddress)
can be called by:
tokenMetadata(uint256 _tokenId, string _preferredTransport)
current value:
....
saleAuction
can be changed by:
ceoAddress in setSaleAuctionAddress(address _address)
can call those functions:
_fallback()
can be called by:
withdrawAuctionBalances()
createGen0Auction(uint256 _genes)
createSaleAuction(uint256 _flowerId, uint256 _startingPrice, uint256 _endingPrice, uint256 _duration)
current value:
....
geneScience
can be changed by:
ceoAddress in setGeneScienceAddress(address _address)
can be called by:
giveBirth(uint256 _matronId)
current value:
....
unknown
can be called by:
setSiringAuctionAddress(address _address)
setGeneScienceAddress(address _address)
setSaleAuctionAddress(address _address)
current value:
None
anyone
can receive withdrawal through:
giveBirth(uint256 _matronId)
current value:
None
If you were ever wondering...
- Who is the admin of a contract?
- Who can withdraw Ether from it?
- Who can kill it?
- Who can change the admins?
- What other contracts does this one reference?
All of this is done by analysing the contract's EVM bytecode.
There are bugs left and right, so don't trust it 100%.