Summary:
The proposal aims to deploy the PAR bridging module using Tunnel, the Parallel Bridging Module.
Context
Following the introduction of Tunnel, the Parallel Bridging Module, in the MIP-35┃Introducing Tunnel, the Parallel Bridging Module, we propose to deploy it for the PAR token.
Rationale:
We propose to deploy a limited version of the PAR bridging module to start, then to increase the limits and the number of blockchains where the bridging module would be deployed in the future via another proposal.
We propose to deploy the PAR bridging module on Ethereum, Polygon PoS and Fantom with these parameters:
Ethereum:
- DVNs: (2 of 1 of 2)
- Required: 2
- LayerZero Labs
- Polyhedra
- Optionals: 1 of 2
- Nethermind
- Google Cloud
- Required: 2
- Mint Limits:
- Daily: 25,000.00
- Global: 200,000.00
- Burn Limits:
- Daily: 25,000.00
- Global: 200,000.00
- Fees:
- Rate: 0.00%
- Isolate Mode:
- No
Polygon PoS:
- DVNs: (2 of 1 of 2)
- Required: 2
- LayerZero Labs
- Polyhedra
- Optionals: 1 of 2
- Nethermind
- Google Cloud
- Required: 2
- Mint Limits:
- Daily: 25,000.00
- Global: 200,000.00
- Burn Limits:
- Daily: 25,000.00
- Global: 200,000.00
- Fees:
- Rate: 0.00%
- Isolate Mode:
- No
Fantom:
- DVNs: (2 of 1 of 2)
- Required: 2
- LayerZero Labs
- Polyhedra
- Optionals: 1 of 2
- Nethermind
- Google Cloud
- Required: 2
- Mint Limits:
- Daily: 1,000.00
- Global: 5,000.00
- Burn Limits:
- Daily: 1,000.00
- Global: 5,000.00
- Fees:
- Rate: 0.00%
- Isolate Mode:
- Yes
The approval of this proposal is conditioned on the approval of the MIP-35. This means that if this proposal is approved by the DAO but the MIP-35 is rejected by the DAO, this proposal will automatically be rejected.
Means:
- Human Resources: Multisig signers will need to sign transactions to execute the proposal.
- Treasury Resources: No treasury resources used.
Technical implementation:
Ethereum:
- Deploy BridgeableToken contract (OFT) with the following parameters:
- name: lz-PAR
- symbol: lz-PAR
- principalToken: 0x68037790a0229e9ce6eaa8a99ea92964106c4703 (PAR)
- lzEndPoint: 0x1a44076050125825900e736c501f859c50fE728c
- Delegate: 0x25Fc7ffa8f9da3582a36633d04804F0004706F9b (DAO Multisig)
- Config :
- mintDailyLimit: 25000000000000000000000 // 25k PAR
- globalMintLimit: 200000000000000000000000 // 200k PAR
- burnDailyLimit: 25000000000000000000000 // 25k PAR
- globalBurnLimit: 200000000000000000000000 // 200k PAR
- feesRecipient: 0x25Fc7ffa8f9da3582a36633d04804F0004706F9b (DAO Multisig)
- feesRate:0
- isIsolateMode : false
- On the AccessController contract, grant ‘MINTER_ROLE’ to the BridgeableToken contract just deployed, with these params:
- Role: 0x9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6
- Account: BridgeableToken Address
- On the BridgeableToken, call the ‘setPeer’ function to accept to send/receive message from specific contract on other chains with these parameters:
- ‘SetPeer’ for Fantom:
- Eid: 30112
- Peer: address of the BridgeableToken contract in bytes32 (on Fantom)
- ‘SetPeer’ for Polygon PoS:
- Eid: 30109
- Peer: address of the BridgeableToken contract in bytes32 (on Polygon PoS)
- ‘SetPeer’ for Fantom:
- Set DVNs config for Send by calling the lzEndPoint’s ‘setConfig’ function with these parameters:
- OApp: address of the BridgeableToken deployed
- Lib: 0xbB2Ea70C9E858123480642Cf96acbcCE1372dCe1
- SetConfigParam for send:
- ‘sendConfig’ to Polygon PoS
- Eid: 30109
- configType: 2
- Config:
- Confirmations: 15
- requiredDVNCount: 2
- optionalDVNCount: 2
- optionalDVNThreshold: 1
- requiredDVNs: [0x589dedbd617e0cbcb916a9223f4d1300c294236b, 0x8ddf05f9a5c488b4973897e278b58895bf87cb24]
- optionalDVNs: [0xa59ba433ac34d2927232918ef5b2eaafcf130ba5, 0xd56e4eab23cb81f43168f9f45211eb027b9ac7cc]
- ‘sendConfig’ to Fantom
- Eid: 30112
- configType: 2
- Config:
- Confirmations: 15
- requiredDVNCount: 2
- optionalDVNCount: 2
- optionalDVNThreshold: 1
- requiredDVNs: [0x589dedbd617e0cbcb916a9223f4d1300c294236b, 0x8ddf05f9a5c488b4973897e278b58895bf87cb24]
- optionalDVNs: [0xa59ba433ac34d2927232918ef5b2eaafcf130ba5, 0xd56e4eab23cb81f43168f9f45211eb027b9ac7cc]
- ‘sendConfig’ to Polygon PoS
- Set DVNs config for Received by calling the lzEndPoint’s ‘setConfig’ function with this params:
- Oapp: address of the BridgeableToken just deployed
- Lib: 0xc02Ab410f0734EFa3F14628780e6e695156024C2
- ‘SetConfigParam’ for receive:
- ‘receiveConfig’ from Polygon PoS
- Eid: 30109
- configType: 2
- Config:
- Confirmations: 512
- requiredDVNCount: 2
- optionalDVNCount: 2
- optionalDVNThreshold: 1
- requiredDVNs: [0x589dedbd617e0cbcb916a9223f4d1300c294236b, 0x8ddf05f9a5c488b4973897e278b58895bf87cb24]
- optionalDVNs: [0xa59ba433ac34d2927232918ef5b2eaafcf130ba5, 0xd56e4eab23cb81f43168f9f45211eb027b9ac7cc]
- ‘receiveConfig’ from Fantom
- Eid: 30112
- configType: 2
- Config:
- Confirmations: 25
- requiredDVNCount: 2
- optionalDVNCount: 2
- optionalDVNThreshold: 1
- requiredDVNs: [0x589dedbd617e0cbcb916a9223f4d1300c294236b, 0x8ddf05f9a5c488b4973897e278b58895bf87cb24]
- optionalDVNs: [0xa59ba433ac34d2927232918ef5b2eaafcf130ba5, 0xd56e4eab23cb81f43168f9f45211eb027b9ac7cc]
- ‘receiveConfig’ from Polygon PoS
Polygon PoS:
- Deploy BridgeableToken contract (OFT) with the following parameters:
- name: lz-PAR
- symbol: lz-PAR
- principalToken: 0xe2aa7db6da1dae97c5f5c6914d285fbfcc32a128 (PAR)
- lzEndPoint: 0x1a44076050125825900e736c501f859c50fE728c
- Delegate: 0x2046c0416A558C40cb112E5ebB0Ca764c3C5c32a (DAO Multisig)
- Config :
- mintDailyLimit: 25000000000000000000000 // 25k PAR
- globalMintLimit: 200000000000000000000000 // 200k PAR
- burnDailyLimit: 25000000000000000000000 // 25k PAR
- globalBurnLimit: 200000000000000000000000 // 200k PAR
- feesRecipient: 0x2046c0416A558C40cb112E5ebB0Ca764c3C5c32a (DAO Multisig)
- feesRate:0
- isIsolateMode : false
- On the AccessController contract, grant ‘MINTER_ROLE’ to the BridgeableToken contract just deployed, with these params:
- Role: 0x9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6
- Account: BridgeableToken Address
- On the BridgeableToken, call the ‘setPeer’ function to accept to send/receive message from specific contract on other chains with these parameters:
- ‘SetPeer’ for Ethereum Mainnet:
- Eid: 30101
- Peer: address of the BridgeableToken contract in bytes32 (on Ethereum Mainnet)
- ‘SetPeer’r for Fantom:
- Eid: 30112
- Peer: address of the BridgeableToken contract in bytes32 (on Fantom)
- ‘SetPeer’ for Ethereum Mainnet:
- Set DVNs config for Send by calling the lzEndPoint’s ‘setConfig’ function with these parameters:
- Oapp: address of the BridgeableToken just deployed
- Lib: 0x6c26c61a97006888ea9E4FA36584c7df57Cd9dA3
- SetConfigParam for send:
- ‘sendConfig’ to Ethereum Mainnet
- Eid: 30101
- configType: 2
- Config:
- Confirmations: 512
- requiredDVNCount: 2
- optionalDVNCount: 2
- optionalDVNThreshold: 1
- requiredDVNs: [0x23de2fe932d9043291f870324b74f820e11dc81a, 0x8ddf05f9a5c488b4973897e278b58895bf87cb24]
- optionalDVNs: [0x31f748a368a893bdb5abb67ec95f232507601a73, 0xd56e4eab23cb81f43168f9f45211eb027b9ac7cc]
- ‘sendConfig’ to Fantom
- Eid: 30112
- configType: 2
- Config:
- Confirmations: 512
- requiredDVNCount: 2
- optionalDVNCount: 2
- optionalDVNThreshold: 1
- requiredDVNs: [0x23de2fe932d9043291f870324b74f820e11dc81a, 0x8ddf05f9a5c488b4973897e278b58895bf87cb24]
- optionalDVNs: [0x31f748a368a893bdb5abb67ec95f232507601a73, 0xd56e4eab23cb81f43168f9f45211eb027b9ac7cc]
- ‘sendConfig’ to Ethereum Mainnet
- Set DVNs config for Received by calling the lzEndPoint’s setConfig function with this params:
- Oapp: address of the BridgeableToken just deployed
- Lib: 0x1322871e4ab09Bc7f5717189434f97bBD9546e95
- SetConfigParam for receive:
- ‘receiveConfig’ from Ethereum Mainnet
- Eid: 30101
- configType: 2
- Config:
- Confirmations: 15
- requiredDVNCount: 2
- optionalDVNCount: 1
- optionalDVNThreshold: 2
- requiredDVNs: [0x23de2fe932d9043291f870324b74f820e11dc81a, 0x8ddf05f9a5c488b4973897e278b58895bf87cb24]
- optionalDVNs: [0x31f748a368a893bdb5abb67ec95f232507601a73, 0xd56e4eab23cb81f43168f9f45211eb027b9ac7cc]
- ‘receiveConfig’ from Fantom
- Eid: 30112
- configType: 2
- Config:
- Confirmations: 25
- requiredDVNCount: 2
- optionalDVNCount: 1
- optionalDVNThreshold: 2
- requiredDVNs: [0x23de2fe932d9043291f870324b74f820e11dc81a, 0x8ddf05f9a5c488b4973897e278b58895bf87cb24]
- optionalDVNs: [0x31f748a368a893bdb5abb67ec95f232507601a73, 0xd56e4eab23cb81f43168f9f45211eb027b9ac7cc]
- ‘receiveConfig’ from Ethereum Mainnet
Fantom:
- Deploy BridgeableToken contract (OFT) with the following parameters:
- name: lz-PAR
- symbol: lz-PAR
- principalToken: 0x13082681E8CE9bd0aF505912d306403592490Fc7 (PAR)
- lzEndPoint: 0x1a44076050125825900e736c501f859c50fE728c
- Delegate: 0x174162ddecE9d0b7B68fd945e38c3372C4C818ba (DAO Multisig)
- Config :
- mintDailyLimit: 1000000000000000000000 // 1k PAR
- globalMintLimit: 5000000000000000000000 // 5k PAR
- burnDailyLimit: 1000000000000000000000 // 1k PAR
- globalBurnLimit: 5000000000000000000000 // 5k PAR
- feesRecipient: 0x174162ddecE9d0b7B68fd945e38c3372C4C818ba
- feesRate:0
- isIsolateMode : true
- On the AccessController contract, grant ‘MINTER_ROLE’ to the BridgeableToken contract just deployed, with these params:
- Role: 0x9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6
- Account: BridgeableToken Address
- On the BridgeableToken, call the ‘setPeer’ function to accept to send/receive message from specific contract on other chains with these parameters:
- ‘SetPeer’ for Ethereum Mainnet:
- Eid: 30101
- Peer: address of the BridgeableToken contract in bytes32 (on Ethereum Mainnet)
- ‘SetPeer’ for Polygon PoS:
- Eid: 30109
- Peer: address of the BridgeableToken contract in bytes32 (on Polygon PoS)
- ‘SetPeer’ for Ethereum Mainnet:
- Set DVNs config for Send by calling the lzEndPoint’s ‘setConfig’ function with these parameters:
- OApp: address of the BridgeableToken deployed
- Lib: 0x6c26c61a97006888ea9E4FA36584c7df57Cd9dA3
- SetConfigParam for send:
- ‘sendConfig’ to Ethereum Mainnet
- Eid: 30101
- configType: 2
- Config:
- Confirmations: 25
- requiredDVNCount: 2
- optionalDVNCount: 2
- optionalDVNThreshold: 1
- requiredDVNs: [0xe60a3959ca23a92bf5aaf992ef837ca7f828628a, 0x8ddf05f9a5c488b4973897e278b58895bf87cb24]
- optionalDVNs: [0x31f748a368a893bdb5abb67ec95f232507601a73, 0xd56e4eab23cb81f43168f9f45211eb027b9ac7cc]
- ‘sendConfig’ to Polygon POS
- Eid: 30109
- configType: 2
- Config:
- Confirmations: 25
- requiredDVNCount: 2
- optionalDVNCount: 2
- optionalDVNThreshold: 1
- requiredDVNs: [0xe60a3959ca23a92bf5aaf992ef837ca7f828628a, 0x8ddf05f9a5c488b4973897e278b58895bf87cb24]
- optionalDVNs: [0x31f748a368a893bdb5abb67ec95f232507601a73, 0xd56e4eab23cb81f43168f9f45211eb027b9ac7cc]
- ‘sendConfig’ to Ethereum Mainnet
- Set DVNs config for Received by calling the lzEndPoint’s ‘setConfig’ function with this params:
- Oapp: address of the BridgeableToken just deployed
- Lib: 0x1322871e4ab09Bc7f5717189434f97bBD9546e95
- ‘SetConfigParam’ for receive:
- ‘receiveConfig’ from Ethereum Mainnet
- Eid: 30101
- configType: 2
- Config:
- Confirmations: 15
- requiredDVNCount: 2
- optionalDVNCount: 2
- optionalDVNThreshold: 1
- requiredDVNs: [0xe60a3959ca23a92bf5aaf992ef837ca7f828628a, 0x8ddf05f9a5c488b4973897e278b58895bf87cb24]
- optionalDVNs: [0x31f748a368a893bdb5abb67ec95f232507601a73, 0xd56e4eab23cb81f43168f9f45211eb027b9ac7cc]
- ‘receiveConfig’ from Polygon PoS
- Eid: 30109
- configType: 2
- Config:
- Confirmations: 512
- requiredDVNCount: 2
- optionalDVNCount: 2
- optionalDVNThreshold: 1
- requiredDVNs: [0xe60a3959ca23a92bf5aaf992ef837ca7f828628a, 0x8ddf05f9a5c488b4973897e278b58895bf87cb24]
- optionalDVNs: [0x31f748a368a893bdb5abb67ec95f232507601a73, 0xd56e4eab23cb81f43168f9f45211eb027b9ac7cc]
- ‘receiveConfig’ from Ethereum Mainnet
Voting Options:
- Accept the deployment of the PAR Bridging Module
- Against/Rework the proposal
- Abstain
Author(s): Cooper Labs
Sentiment poll:
- Accept the deployment of the PAR Bridging Module
- Against/Rework the proposal
- Abstain