The My DeFi Pet suite of contracts includes a BEP20 and KRC20 tokens (for Binance Smart Chain and KardiaChain Network, respectively) as well as a unique smart contract designed to mint ERC721-compliant NFTs. We reviewed the contracts at commit 2062471ea5a7e1464a41729c25184e8b00eeed77 and later at commit 0873a31ae212842063480abcf8e53634d4f4efd4 on the project's private GitHub.
Function Graph

Inheritence Chart

Functions Overview
($) = payable function
# = non-constant function
Int = Internal
Ext = External
Pub = Public
+ [Lib] SafeMath
- [Int] add
- [Int] sub
+ Ownable
- [Pub] #
- [Pub] transferOwnership #
- modifiers: onlyOwner
+ KRC721
- [Pub] totalSupply
- [Pub] balanceOf
- [Ext] ownerOf
- [Ext] approve #
- [Ext] transfer #
- [Ext] transferFrom #
- [Ext] supportsInterface
+ [Int] IGeneScience
- [Ext] mixGenes
+ PetAccessControl (Ownable)
- [Ext] pause #
- modifiers: onlyOwner,whenNotPaused
- [Pub] unpause #
- modifiers: onlyOwner,whenPaused
+ PetBase (PetAccessControl)
- [Int] _transfer #
- [Int] _createPet #
- [Ext] setSecondsPerBlock #
- modifiers: onlyOwner
+ PetOwnership (PetBase, KRC721)
- [Ext] supportsInterface
- [Int] _owns
- [Int] _approvedFor
- [Int] _approve #
- [Pub] balanceOf
- [Ext] transfer #
- modifiers: whenNotPaused
- [Ext] approve #
- modifiers: whenNotPaused
- [Ext] transferFrom #
- modifiers: whenNotPaused
- [Pub] totalSupply
- [Ext] ownerOf
- [Ext] tokensOfOwner
+ PetBreeding (PetOwnership)
- [Ext] setGeneScienceAddress #
- modifiers: onlyOwner
- [Int] _isReadyToBreed
- [Int] _isSiringPermitted
- [Int] _triggerCooldown #
- [Ext] approveSiring #
- modifiers: whenNotPaused
- [Ext] setAutoBirthFee #
- modifiers: onlyOwner
- [Prv] _isReadyToGiveBirth
- [Pub] isReadyToBreed
- [Pub] isPregnant
- [Prv] _isValidMatingPair
- [Int] _canBreedWithViaAuction
- [Ext] canBreedWith
- [Int] _breedWith #
- [Ext] breedWithAuto ($)
- modifiers: whenNotPaused
- [Ext] giveBirth #
- modifiers: whenNotPaused
+ ClockAuctionBase
- [Int] _owns
- [Int] _escrow #
- [Int] _transfer #
- [Int] _addAuction #
- [Int] _cancelAuction #
- [Int] _bid #
- [Int] _removeAuction #
- [Int] _isOnAuction
- [Int] _currentPrice
- [Int] _computeCurrentPrice
- [Int] _computeCut
+ Pausable (Ownable)
- [Pub] pause #
- modifiers: onlyOwner,whenNotPaused
- [Pub] unpause #
- modifiers: onlyOwner,whenPaused
+ ClockAuction (Pausable, ClockAuctionBase)
- [Pub] #
- [Ext] withdrawBalance #
- modifiers: onlyOwner
- [Ext] changeCut #
- modifiers: onlyOwner
- [Ext] getBalance
- [Ext] createAuction #
- modifiers: whenNotPaused
- [Ext] bid ($)
- modifiers: whenNotPaused
- [Ext] cancelAuction #
- [Ext] cancelAuctionWhenPaused #
- modifiers: whenPaused,onlyOwner
- [Ext] getAuction
- [Ext] getCurrentPrice
+ SiringClockAuction (ClockAuction)
- [Pub] #
- modifiers: ClockAuction
- [Ext] createAuction #
- [Ext] bid ($)
+ SaleClockAuction (ClockAuction)
- [Pub] #
- modifiers: ClockAuction
- [Ext] createAuction #
- [Ext] bid ($)
- [Ext] averageGen0SalePrice
+ PetAuction (PetBreeding)
- [Ext] setSaleAuctionAddress #
- modifiers: onlyOwner
- [Ext] setSiringAuctionAddress #
- modifiers: onlyOwner
- [Ext] createSaleAuction #
- modifiers: whenNotPaused
- [Ext] createSiringAuction #
- modifiers: whenNotPaused
- [Ext] bidOnSiringAuction ($)
- modifiers: whenNotPaused
+ PetMinting (PetAuction)
- [Ext] createPromoPet #
- [Ext] createGen0Auction #
- [Int] _computeNextGen0Price
+ PetCore (PetMinting)
- [Pub] #
- [Ext] ($)
- [Ext] getPet
- [Ext] getBalance
- [Ext] withdrawBalance #
- modifiers: onlyOwner
+ GeneScience (IGeneScience)
- [Int] _ascend
- [Prv] _sliceNumber
- [Int] _get5Bits
- [Pub] decode
- [Pub] encode
- [Pub] expressingTraits
- [Pub] mixGenes
Function Graph

Inheritence Chart

Functions Overview
($) = payable function
# = non-constant function
Int = Internal
Ext = External
Pub = Public
+ [Int] IBEP20
- [Ext] totalSupply
- [Ext] balanceOf
- [Ext] transfer #
- [Ext] allowance
- [Ext] approve #
- [Ext] transferFrom #
+ [Lib] SafeMath
- [Int] add
- [Int] sub
- [Int] sub
- [Int] mul
- [Int] div
- [Int] div
- [Int] mod
- [Int] mod
+ Context
- [Int] #
- [Int] _msgSender
- [Int] _msgData
+ Ownable (Context)
- [Int] #
- [Pub] owner
- [Pub] isOwner
- [Pub] renounceOwnership #
- modifiers: onlyOwner
- [Pub] transferOwnership #
- modifiers: onlyOwner
- [Int] _transferOwnership #
+ Pausable (Ownable)
- [Pub] pause #
- modifiers: onlyOwner,whenNotPaused
- [Pub] unpause #
- modifiers: onlyOwner,whenPaused
+ BEP20 (Context, IBEP20, Pausable)
- [Pub] totalSupply
- [Pub] balanceOf
- [Pub] transfer #
- modifiers: whenNotPaused
- [Pub] allowance
- [Pub] approve #
- modifiers: whenNotPaused
- [Pub] transferFrom #
- modifiers: whenNotPaused
- [Pub] increaseAllowance #
- modifiers: whenNotPaused
- [Pub] decreaseAllowance #
- modifiers: whenNotPaused
- [Int] _transfer #
- [Int] _mint #
- [Int] _burn #
- [Int] _approve #
- [Int] _burnFrom #
+ BEP20Detailed (IBEP20)
- [Pub] #
- [Pub] name
- [Pub] symbol
- [Pub] decimals
+ DPETToken (BEP20Detailed, BEP20)
- [Pub] #
- modifiers: BEP20Detailed
- [Pub] transfer #
- [Pub] transferFrom #
- [Pub] getBurnedAmountTotal
- [Pub] burn #
- [Ext] ($)
Function Graph

Inheritence Chart

Functions Overview
($) = payable function
# = non-constant function
Int = Internal
Ext = External
Pub = Public
+ [Int] IKRC20
- [Ext] totalSupply
- [Ext] balanceOf
- [Ext] transfer #
- [Ext] allowance
- [Ext] approve #
- [Ext] transferFrom #
+ [Lib] SafeMath
- [Int] add
- [Int] sub
- [Int] sub
- [Int] mul
- [Int] div
- [Int] div
- [Int] mod
- [Int] mod
+ Context
- [Int] #
- [Int] _msgSender
- [Int] _msgData
+ Ownable (Context)
- [Int] #
- [Pub] owner
- [Pub] isOwner
- [Pub] renounceOwnership #
- modifiers: onlyOwner
- [Pub] transferOwnership #
- modifiers: onlyOwner
- [Int] _transferOwnership #
+ Pausable (Ownable)
- [Pub] pause #
- modifiers: onlyOwner,whenNotPaused
- [Pub] unpause #
- modifiers: onlyOwner,whenPaused
+ KRC20 (Context, IKRC20, Pausable)
- [Pub] totalSupply
- [Pub] balanceOf
- [Pub] transfer #
- modifiers: whenNotPaused
- [Pub] allowance
- [Pub] approve #
- modifiers: whenNotPaused
- [Pub] transferFrom #
- modifiers: whenNotPaused
- [Pub] increaseAllowance #
- modifiers: whenNotPaused
- [Pub] decreaseAllowance #
- modifiers: whenNotPaused
- [Int] _transfer #
- [Int] _mint #
- [Int] _burn #
- [Int] _approve #
- [Int] _burnFrom #
+ KRC20Detailed (IKRC20)
- [Pub] #
- [Pub] name
- [Pub] symbol
- [Pub] decimals
+ DPETToken (KRC20Detailed, KRC20)
- [Pub] #
- modifiers: KRC20Detailed
- [Pub] transfer #
- [Pub] transferFrom #
- [Pub] getBurnedAmountTotal
- [Pub] burn #
- [Ext] ($)