flowchart TD
subgraph legend
bot_legend[(pub key\nbot)]
user_legend((pub key\nuser))
validator
policy{{policy}}
end
flowchart TD
botWallet
bot[(bot)]
yeildReserveOwnerOracle
validRewardNFT{{validRewardNFT}}
tedyYeildReserve
liquidityStakingContract
user((user))
bot -. pkh param .-> validRewardNFT
validRewardNFT -- proofs utxos are valid --> tedyYeildReserve
validRewardNFT -.hash param.-> liquidityStakingContract
yeildReserveOwnerOracle -. owner ref .-> tedyYeildReserve
botWallet --> bot --creates utxos--> tedyYeildReserve
tedyYeildReserve == sends rewards ==> liquidityStakingContract
tedyYeildReserve -.hash param.-> botWallet
liquidityStakingContract == mints on first deposit ==> liquidityStakingContract
liquidityStakingContract == sends rewards ==> user
liquidityStakingContract == sends back rest ==> tedyYeildReserve
liquidityStakingContract -. snapshots .-> bot
user == deposits / mints ==> liquidityStakingContract
user == harvests ==> liquidityStakingContract
on your local environment you should have a private testnet running with a project structure similar to the one you can find in the woofpool/cardano-private-testnet-setup
repository
then in this directory you need to create an .env
file specifying a PRIVATE_TESTNET_PATH
environment variable specifiyng the path to the private-testnet
folder as follows.
PRIVATE_TESTNET_PATH="path/to/cardano-private-testnet-setup/private-testnet"
npm run yeild:setup
npm run yeild:compile
npm run yeild:initOwnerOracle
npm run yeild:mintFakeTedy (epoch_index) [mint_amount]
npm run yeild:firstStake