Contract Level
@contractlevel
Chainlink-focused smart contract development that prioritizes security with extensive testing.
📌
1. Take Cyfrin Updraft 2. Write smart contract 3. Ask Cyfrin to audit it If @DevDacian gives you feedback like this, frame it, and put it on your wall. If you take Cyfrin Updraft, your chances 10x
Using protocol enums should be changed because even though we have the strategy adapters, mapping the adapters to enums is not very maintainable without a proxy. A strategy registry contract with bytes32 IDs mapped to adapters may be better. Picture unrelated, waiting on it.

github.com/contractlevel/… some of these rules could be combined into one, which may be cleaner, HOWEVER, keeping distinct rules for granular assertions means if something is wrong with a future strategy, the problem can be seen from a glance, instead of debugging the calltrace
Read the notes taken whilst developing YieldCoin for the Chainlink Chromion hackathon here: medium.com/@contractlevel…
github.com/contractlevel/… YieldCoin post-hackathon branch just merged into main. This was a lot of tedious refactoring but enables modular strategy maintainability. Next focus will be implementing fees. Chromion submission archived here: github.com/contractlevel/…
Congratulations to the winners of the Chainlink Chromion Hackathon. 3K+ builders submitted 400+ projects across DeFi, RWAs, & cross-chain applications. See who took home prizes & how they're using Chainlink to power the next wave of onchain apps ↓ blog.chain.link/announcing-the…
We need reliable, cryptographic guarantees that an onchain tx can only have been executed by a single, specific person in the world, whilst maintaining the highest standards of privacy and user control. Fuzzy extractors are a cryptographic technique for deriving a key from…
Thank you @chainlink for awarding YieldCoin the grand prize in the Chromion hackathon! We all know the entire world is going to run on Chainlink, so this is a great honor, and (was) a personal life goal. Thank you @CyfrinUpdraft for the resources to learn invariant testing,…
cvl formatting inspired by @shafu0x difficult to know when to finish

Got excited because I thought this hint meant multiple contracts could be linked to the same storage slot, but it was just suggesting one or the other. We need the storage slot to be constrained, but dynamic, and can get round it with require statements.

just learned you can call functions on an address in certora by passing env

Hmmm...
We’re excited to collaborate with @GLEIF for the vLEI Hackathon alongside Swift (@swiftcommunity) to accelerate the global adoption of compliant digital assets onchain. gleif.org/en/newsroom/pr… With hundreds of trillions in value poised to move onchain, digital assets are…
We can use a single certora spec to verify shared behavior between yieldcoin strategy adapters. Even though each adapter has strategy-specific-logic, they should still move the correct token and amount, and emit the correct events and params. Useful for future strategies.

github.com/contractlevel/… The YieldCoin Rebalancer contract now handles all Chainlink Functions and Automation logic. Strategy interactions now happen in external adapters. CCIP, deposits and withdraws happen in the Peer network between these. Better maintainability.

Chromion hackathon may be over but YieldCoin development continues, albeit at a less intense pace. Top priorities are further testing of the current implementation, optimizing the architecture, and then implementing fees.

YieldCoin smart contracts handle CCIP messages differently depending on tx type. Certora allows us to explore these paths and verify their intended behavior. For example, we may expect certain events or value transfers to occur in some cases, and further CCIP txs in others.

Everything used to build YieldCoin for @Chainlink Chromion hackathon was learned for FREE from @CyfrinUpdraft @PatrickAlphaC - Chainlink integrations - Fuzz/invariant tests - Formal Verification - Security first mindset Thanks Cyfrin, for the resources to make this possible!
#YieldCoin automates stablecoin yield optimization across chains and protocols, and features extensive testing. Submission: devfolio.co/projects/yield… Github: github.com/contractlevel/… Article discussing debugging and fixing broken invariant: medium.com/@contractlevel…