MELD Dev Diary 04
Lending and Borrowing
Formulated technical diagrams that express the execution flows and smart contracts’ validation logics for all transaction types in the protocol:
User interactions:
- Create a new protocol account
- Create interaction requests: deposit, withdraw, borrow, repay
- Liquidate under-collateralized loans
Batcher transaction:
- Collect and process user requests.
- Oracle provider transaction
Set up the Lending API server. The Lending API server is the gateway for MELDapp & users to interact with Lending services.
Implement bootstrap executable to export smart contract script to TextEnvelope format and deploy to UTXOs as reference scripts.
Avoid Nix-GHC bug related to loadArchive clang++ on macOS dev environment by replacing original GHC with haskell-nix patched GHC.
Update nixpkgs to newest version in order to use cabal-install-3.8.1.0 and ghc-9.2.4.
Separate smart contract build and application build which enables the ability to:
- Use different GHC versions for the 2 builds, so that plutarch code for smart contracts can be compiled by ghc-9.2.4 while application code relying on cardano-api can keep being compiled by ghc-8.10.7
- Pin smart contract dependency versions while being able to update the application dependencies to the newest versions in the future.
Akamon
- Successfully deployed the Cardano contract to pre-prod testnet after Plutus Script V2 cost model parameters were available.
- Completed integration testing for 2-way wrapping & unwrapping on pre-prod testnet. All Akamon services are ready to be deployed on pre-prod testnet.
Infrastructure
- Configured VPCs for the new AWS dev accounts for the Cardano-based MVP and MELDApp.
- Configured VPC peering between services: AWS account, root MELD AWS account, and the new dev accounts for Cardano-based MVP and MELDApp, enabling the ability to use a single Bastion host (jumphost) to access instances and databases in all other peered AWS accounts.
- Installed and configured static code analysis tool server and integrated it to various MELD’s GitHub repos.
Read more from the Dev Diary series here!