What does this pull request do? Explain your changes. (required)
This PR updates the Minter (which will be deployed on L2 since this on the confluence branch track) to read the L1 circulating supply from a L2LPTDataCache contract (implemented in https://github.com/livepeer/arbitrum-lpt-bridge/pull/41) when calculating the bonding rate (i.e. participation rate). The L1 circulating supply is added to the L2 LPT total supply in order to calculate the global total supply across L1 and L2.
Updated the integration tests in 914bf9fcb1c3f5ca296f39d7e4a8bfe32582a369 to use a setupIntegrationTest() function to create a fixture. The new function loads the deployment fixture that was previously being used and then registers a GenericMock contract as the L2LPTDataCache with the Controller. This was required to fix integration tests since the Minter will call the contract that is registered as the L2LPTDataCache whenever a round is initialized.
How did you test each of these updates (required)
Updated unit tests and fixed integration tests.
An integration test where the L2LPTDataCache is not stubbed with a GenericMock contract is left to be addressed separately.
What does this pull request do? Explain your changes. (required)
This PR updates the Minter (which will be deployed on L2 since this on the
confluence
branch track) to read the L1 circulating supply from a L2LPTDataCache contract (implemented in https://github.com/livepeer/arbitrum-lpt-bridge/pull/41) when calculating the bonding rate (i.e. participation rate). The L1 circulating supply is added to the L2 LPT total supply in order to calculate the global total supply across L1 and L2.Refer to https://github.com/livepeer/arbitrum-lpt-bridge/pull/41 for details on how the L1 circulating supply is calculated by the L2LPTDataCache.
Specific updates (required)
setupIntegrationTest()
function to create a fixture. The new function loads the deployment fixture that was previously being used and then registers a GenericMock contract as the L2LPTDataCache with the Controller. This was required to fix integration tests since the Minter will call the contract that is registered as the L2LPTDataCache whenever a round is initialized.How did you test each of these updates (required)
Updated unit tests and fixed integration tests.
An integration test where the L2LPTDataCache is not stubbed with a GenericMock contract is left to be addressed separately.
Does this pull request close any open issues?
Fixes #501
Checklist:
yarn test
pass