The Ajna protocol is a non-custodial, peer-to-peer, permissionless lending, borrowing and trading system that requires no governance or external price feeds to function.
Need to rework randomness function to base it on a deterministic seed. Afterword, we can run a continuous test to reproduce the behavior of failed removal, and further investigate the problem.
Details from the card
DSTest currently has this randomInRange facility which generates psuedorandomness by taking the keccak of block.timestamp, msg.sender, and _nonce. The block timestamp and nonce are not deterministic, hindering reproduction of fuzz test failures.
Create a new random function which takes a fuzzed seed, and move consumers over to this function as failures are observed. First subject is FenwickTreeInstance.fuzzyFill.
Need to rework randomness function to base it on a deterministic seed. Afterword, we can run a continuous test to reproduce the behavior of failed removal, and further investigate the problem.
Details from the card DSTest currently has this
randomInRange
facility which generates psuedorandomness by taking the keccak ofblock.timestamp
,msg.sender
, and_nonce
. The block timestamp and nonce are not deterministic, hindering reproduction of fuzz test failures.Create a new random function which takes a fuzzed seed, and move consumers over to this function as failures are observed. First subject is
FenwickTreeInstance.fuzzyFill
.