What does this pull request do? Explain your changes. (required)
This PR adds ArbitrumLivepeerToken which inherits from LivepeerToken and exposes additional functions required for registering the token's L1 gateway on Rinkeby with the L1GatewayRouter.
The contract supports:
isArbitrumEnabled() is required since L1GatewayRouter.setGateway() will call that function when the token calls registerGatewayWithRouter()
Setting a "router admin" which is authorized to call registerGatewayWithRouter() to register the token's gateway with the L1GatewayRouter. The idea is that on testnet, the router admin can call this whenever it needs to register a new gateway if needed for testing
Resources:
Docs - note that the generic custom gateway stuff isn't relevant since a custom gateway is being used for LPT, but the points about isArbitrumEnabled() are relevant
What does this pull request do? Explain your changes. (required)
This PR adds ArbitrumLivepeerToken which inherits from LivepeerToken and exposes additional functions required for registering the token's L1 gateway on Rinkeby with the L1GatewayRouter.
The contract supports:
isArbitrumEnabled()
is required sinceL1GatewayRouter.setGateway()
will call that function when the token callsregisterGatewayWithRouter()
registerGatewayWithRouter()
callsL1GatewayRouter.setGateway()
registerGatewayWithRouter()
to register the token's gateway with the L1GatewayRouter. The idea is that on testnet, the router admin can call this whenever it needs to register a new gateway if needed for testingResources:
Specific updates (required)
How did you test each of these updates (required)
Updated tests.
Does this pull request close any open issues?
Fixes livepeer/arbitrum-lpt-bridge#35
Checklist:
yarn test
pass