1.0.0 • Published 2 years ago

@wooy/rng-contracts v1.0.0

Weekly downloads
-
License
GPL-3.0
Repository
-
Last release
2 years ago

Wooy Prize Savings Protocol - RNG Service

built-with openzeppelin

The Wooy Prize Savings Protocol Ethereum smart contracts.

Deployments

The Chainlink RNG is supported on mainnet, rinkeby and kovan.

The Blockhash RNG is supported on mainnet, rinkeby, kovan, and ropsten.

Setup

Install Dependencies

$ yarn

Copy over .envrc.example to .envrc

$ cp .envrc.example .envrc

Make sure to update the enviroment variables with suitable values.

Now enable the env vars using direnv

$ direnv allow

Interacting using Buidler Console

You can interact with the contract using the buidler console:

$ buidler console --network [network]

Then you can interact with deployed contracts:

> const signer = (await ethers.getSigners())[0]
> const d = await deployments.all()
> const chainlink = await ethers.getContractAt('RNGChainlink', d.RNGChainlink.address, signer)
> const link = await ethers.getContractAt('IERC20', (await chainlink.getLink()), signer)

Deploying

You can deploy using the deploy script:

$ yarn deploy [network]

Where network can be mainnet, rinkeby, ropsten, or kovan.

Now you should verify the contracts on Etherscan:

$ yarn etherscan-verify [network]

The network option is the same as above.

Development

Verify Codebase (hint + test)

$ yarn verify

Run Static Code Analysis

$ yarn hint

Run Tests

$ yarn test

Run Coverage

$ yarn coverage

Run Gas Report

$ yarn gas

Start Local TestRPC & Deploy

$ yarn start

Deploy to an Ethereum Network