xGodMode / contract-library

Smart contracts and solc Solidity compiler for XGM godmode

Home Page:https://godmode.cloud

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GodMode Logo

Godmode Contract Library holds plug-and-play Godmode versions of smart contracts deployed on Ethereum mainnet.

You can use this package to easily import GM contracts from individual (or all) protocols we support into your test suite.

Usage

In your project that uses Godmode for testing, define the protocols that you want to pull in via your package.json file

  "godmode": {
    "protocols": [
      "Maker"
    ]
  }

Then run the following command to install the protocol's contracts into your project at ./build/protocols

Make sure you run the npx command from the same directory where your package.json lives.

npx install godmode

Development

Start by installing dependencies:

npm install

Then to add a new protocol:

  1. Create a directory called <new-protocol-name> under the appropriate EVM version ("byzantium"|"constantinople"|"istanbul")
  2. Add the required Solidity files to the directory
  3. IMPORTANT!! Prefix the GM-ified contracts with GM (e.g. GMDai)
  4. Run the compile command
npm run compile
  1. Check that the <new-protocol-name>.json file includes the ABI and bytecode of the GM contracts
  2. Check that the protocols.txt file includes the name of the protocol you added

About

Smart contracts and solc Solidity compiler for XGM godmode

https://godmode.cloud


Languages

Language:Solidity 96.4%Language:TypeScript 3.6%