MELD Dev Diary 04

Charlierobertstad
MELD
Published in
2 min readOct 3, 2022

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!

--

--