Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/pooltogether/v4-mainnet

PoolTogether V4 USDC PrizePool
https://github.com/pooltogether/v4-mainnet

eth ethereum pooltogether web3

Last synced: 4 days ago
JSON representation

PoolTogether V4 USDC PrizePool

Awesome Lists containing this project

README

        

# PoolTogether V4 Mainnet

The PoolTogether V4 "mainnet" deployment scripts.

The deployment scripts are separated into versions.

- v1.0.1
- v1.1.0
- v1.2.1
- v1.3.0

# Getting Started

Install `direnv` module.

We use [direnv](https://direnv.net/) to manage environment variables. You'll likely need to install it.

```sh
cp .envrc.example .envrc
```

The RPC endpoints will need to be updated if you wish to deploy. The RPC endpoints will also need to point to archival nodes if you wish to run fork tests.

```.sh
yarn
```

# Development

The deployment scripts can be tested in forked environments. The following commands will fork the network then run the deployment script against the fork.

Note: You must configure RPC endpoints for archival nodes in the .envrc.

## Fork and Deploy

```
yarn test:v1.x.x.mainnet
```

```
yarn test:v1.x.x.avalanche
```

```
yarn test:v1.x.x.polygon
```

# Deployment

```
yarn deploy:v1.x.x.mainnet
```

```
yarn deploy:v1.x.x.avalanche
```

```
yarn deploy:v1.x.x.polygon
```

# Changelog

## v1.0.1

This version was the original V4 launch across Ethereum and Polygon.

## v1.1.0

This version launched V4 on Avalanche, and included upgrades to Ethereum and Polygon. New contracts are being deployed across Avalanche, Ethereum and Polygon.

This version upgrades the existing configuration, so some changes need to be completed by the PoolTogether Executive Team once the contracts have been launched. Those post-deploy configuration changes are detailed below.

### v1.1.0 Post-Deploy Configuration Changes

#### Polygon

1. Set the PrizeDistributionBuffer manager to be the new PrizeDistributionFactory
2. Set the DrawCalculatorTimelock manager to be the ReceiverTimelockTrigger
3. Set the DrawBuffer to be managed by the ReceiverTimelockTrigger
4. exec team needs to claim ownership of PrizeDistributionFactory
5. exec team needs to claim ownership of ReceiverTimelockTrigger
6. exec team needs to claim ownership of PrizeTierHistory

#### Mainnet

- exec team needs to claim ownership of PrizeDistributionFactory
- exec team needs to claim ownership of BeaconTimelockTrigger
- PrizeDistributionBuffer needs to be managed by the PDFactory
- DrawCalculatorTimelock needs to be managed by the BeaconTimelockTrigger

#### Avalanche

- exec teams needs to claim ownership of PrizeDistributionFactory
- exec teams needs to claim ownership of DrawCalculatorTimelock
- exec teams needs to claim ownership of PrizeFlush
- exec teams needs to claim ownership of Reserve
- exec teams needs to claim ownership of YieldSourcePrizePool
- exec teams needs to claim ownership of PrizeTierHistory
- exec teams needs to claim ownership of PrizeSplitStrategy
- exec teams needs to claim ownership of DrawBuffer
- exec teams needs to claim ownership of PrizeDistributionBuffer
- exec teams needs to claim ownership of ReceiverTimelockTrigger

## v1.2.1

Deploy TWAB Rewards contract across Avalanche, Ethereum and Polygon.

## v1.3.0

Deploy TWAB Delegator contract across Avalanche, Ethereum and Polygon.

## v1.4.0

Deploy new BeaconTimelockTrigger, DrawCalculatorTimelock, PrizeDistributionFactory and PrizeTierHistory contracts on Ethereum.

Deploy new DrawCalculatorTimelock, PrizeDistributionFactory, PrizeTierHistory and ReceiverTimelockTrigger contracts on Avalanche and Polygon.

## v1.5.0

Deploy RNGChainlinkV2 on Ethereum.

## v1.5.1

Redeploy TWABRewards on Avalanche, Ethereum and Polygon.

## v1.6.0

Deploy USDC Prize Pool on Optimism.

### Post-Deploy Configuration Changes

#### Optimism

Executive team needs to claim ownership of the following contracts:
- PrizeDistributionFactory
- DrawCalculatorTimelock
- PrizeFlush
- Reserve
- YieldSourcePrizePool
- PrizeTierHistory
- PrizeSplitStrategy
- DrawBuffer
- PrizeDistributionBuffer
- ReceiverTimelockTrigger

## v1.6.1

Re-deploy USDC Prize Pool on Optimism.

## v1.7.0

Deploy RNGChainlinkV2 on Polygon and setup DrawBeacon to compute draw onchain.

### Post-Deploy Configuration Changes

#### Polygon

Executive team needs to claim ownership of the following contracts:
- RNGChainlinkV2
- DrawBeacon
- BeaconTimelockTrigger

## v1.8.0

Deploy RNGChainlinkV2 on Avalanche and setup DrawBeacon to compute draw onchain.

### Post-Deploy Configuration Changes

#### Avalanche

Executive team needs to claim ownership of the following contracts:
- RNGChainlinkV2
- DrawBeacon
- BeaconTimelockTrigger

## v1.9.0

Deploy DPR upgrade to Avalanche, Ethereum, Polygon and Optimism.

### Post-Deploy Configuration Changes

#### All networks

Executive team needs to claim ownership of the following contracts:
- PrizeTierHistoryV2
- PrizeDistributionFactoryV2