PIP-48 l Update PAR Bridging Module DVNs Configuration

Summary:

The proposal aims to update the PAR bridging module Decentralized Verifiers Network (DVNs) configuration.

Context

Tunnel, the Parallel Bridging Module, is now in production for PAR on Ethereum, Polygon PoS and Fantom since November 2024.

However, since the beginning of January, one of the chosen DVNs, Polyhedra, has stopped supporting Fantom. Although this poses no risk to the protocol thanks to LayerZero’s architecture, it is now impossible to bridge PAR to and from Fantom. We therefore propose to update the DVNs of the PAR Bridging Module.

Rationale:

We propose to remove Polyhedra from required DVNs and replace it with Nethermind, which is currently an optional DVN. Nethermind would be replaced by BitGo as an optional DVN. We also propose to update the bridge limits.

Proposed new parameters:

Ethereum:

  • DVNs: (2 of 1 of 2)
    • Required: 2
      • LayerZero Labs
      • Nethermind
    • Optionals: 1 of 2
      • BitGo
      • Google Cloud
  • Mint Limits:
    • Daily: 50,000.00
    • Global: 500,000.00
  • Burn Limits:
    • Daily: 50,000.00
    • Global: 500,000.00
  • Fees:
    • Rate: 0.00%
  • Isolate Mode:
    • No

Polygon PoS:

  • DVNs: (2 of 1 of 2)
    • Required: 2
      • LayerZero Labs
      • Nethermind
    • Optionals: 1 of 2
      • BitGo
      • Google Cloud
  • Mint Limits:
    • Daily: 50,000.00
    • Global: 500,000.00
  • Burn Limits:
    • Daily: 50,000.00
    • Global: 500,000.00
  • Fees:
    • Rate: 0.00%
  • Isolate Mode:
    • No

Fantom:

  • DVNs: (2 of 1 of 2)
    • Required: 2
      • LayerZero Labs
      • Nethermind
    • Optionals: 1 of 2
      • BitGo
      • Google Cloud
  • 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

Means:

  • Human Resources: Multisig signers will need to sign transactions to execute the proposal.
  • Treasury Resources: No treasury resources used.

Technical implementation:

Ethereum:

  • In the BridgeableToken contract call:
    • setDailyCreditLimit:
      • ‘_dailyCreditLimit’ : 50000000000000000000000 // 50k PAR
    • setDailyDebitLimit:
      • ‘_dailyDebitLimit’ : 50000000000000000000000 // 50k PAR
    • setGlobalCreditLimit:
      • ‘_globalCreditLimit’ : 500000000000000000000000 // 500k PAR
    • setGlobalDebitLimit:
      • ‘_globalDebitLimit’ : 500000000000000000000000 // 500k PAR
  • Set DVNs config for Send by calling the lzEndPoint’s ‘setConfig’ function with these parameters:
    • OApp: 0x74e3f9D724Da6D7e4db8EcAb4f18e6ba44f60e30
    • Lib: 0xbB2Ea70C9E858123480642Cf96acbcCE1372dCe1
    • SetConfigParam for send:
      • ‘sendConfig’ to Polygon PoS
        • Eid: 30109
        • configType: 2
        • Config:
          • Confirmations: 15
          • requiredDVNCount: 2
          • optionalDVNCount: 2
          • optionalDVNThreshold: 1
          • requiredDVNs: [0x589dedbd617e0cbcb916a9223f4d1300c294236b, 0xa59ba433ac34d2927232918ef5b2eaafcf130ba5]
          • optionalDVNs: [0xc9ca319f6da263910fd9b037ec3d817a814ef3d8, 0xd56e4eab23cb81f43168f9f45211eb027b9ac7cc]
      • ‘sendConfig’ to Fantom
        • Eid: 30112
        • configType: 2
        • Config:
          • Confirmations: 15
          • requiredDVNCount: 2
          • optionalDVNCount: 2
          • optionalDVNThreshold: 1
          • requiredDVNs: [0x589dedbd617e0cbcb916a9223f4d1300c294236b, 0xa59ba433ac34d2927232918ef5b2eaafcf130ba5]
          • optionalDVNs: [0xc9ca319f6da263910fd9b037ec3d817a814ef3d8, 0xd56e4eab23cb81f43168f9f45211eb027b9ac7cc]
  • Set DVNs config for Received by calling the lzEndPoint’s ‘setConfig’ function with this params:
    • Oapp: 0x74e3f9D724Da6D7e4db8EcAb4f18e6ba44f60e30
    • Lib: 0xc02Ab410f0734EFa3F14628780e6e695156024C2
    • ‘SetConfigParam’ for receive:
      • ‘receiveConfig’ from Polygon PoS
        • Eid: 30109
        • configType: 2
        • Config:
          • Confirmations: 512
          • requiredDVNCount: 2
          • optionalDVNCount: 2
          • optionalDVNThreshold: 1
          • requiredDVNs: [0x589dedbd617e0cbcb916a9223f4d1300c294236b, 0xa59ba433ac34d2927232918ef5b2eaafcf130ba5]
          • optionalDVNs: [0xc9ca319f6da263910fd9b037ec3d817a814ef3d8, 0xd56e4eab23cb81f43168f9f45211eb027b9ac7cc]
      • ‘receiveConfig’ from Fantom
        • Eid: 30112
        • configType: 2
        • Config:
          • Confirmations: 25
          • requiredDVNCount: 2
          • optionalDVNCount: 2
          • optionalDVNThreshold: 1
          • requiredDVNs: [0x589dedbd617e0cbcb916a9223f4d1300c294236b, 0xa59ba433ac34d2927232918ef5b2eaafcf130ba5]
          • optionalDVNs: [0xc9ca319f6da263910fd9b037ec3d817a814ef3d8, 0xd56e4eab23cb81f43168f9f45211eb027b9ac7cc]

Polygon PoS:

  • In the BridgeableToken contract call:
    • setDailyCreditLimit:
      • ‘_dailyCreditLimit’ : 50000000000000000000000 // 50k PAR
    • setDailyDebitLimit:
      • ‘_dailyDebitLimit’ : 50000000000000000000000 // 50k PAR
    • setGlobalCreditLimit:
      • ‘_globalCreditLimit’ : 500000000000000000000000 // 500k PAR
    • setGlobalDebitLimit:
      • ‘_globalDebitLimit’ : 500000000000000000000000 // 500k PAR
  • Set DVNs config for Send by calling the lzEndPoint’s ‘setConfig’ function with these parameters:
    • Oapp: 0xE462Df8d4Aa7Db3aeCfe810ec8D1fa4f716BC9a8
    • Lib: 0x6c26c61a97006888ea9E4FA36584c7df57Cd9dA3
    • SetConfigParam for send:
      • ‘sendConfig’ to Ethereum Mainnet
        • Eid: 30101
        • configType: 2
        • Config:
          • Confirmations: 512
          • requiredDVNCount: 2
          • optionalDVNCount: 2
          • optionalDVNThreshold: 1
          • requiredDVNs: [0x23de2fe932d9043291f870324b74f820e11dc81a, 0x31f748a368a893bdb5abb67ec95f232507601a73]
          • optionalDVNs: [0x02152f4624596602dcbb8b8ead2988ad44edc865, 0xd56e4eab23cb81f43168f9f45211eb027b9ac7cc]
      • ‘sendConfig’ to Fantom
        • Eid: 30112
        • configType: 2
        • Config:
          • Confirmations: 512
          • requiredDVNCount: 2
          • optionalDVNCount: 2
          • optionalDVNThreshold: 1
          • requiredDVNs: [0x23de2fe932d9043291f870324b74f820e11dc81a, 0x31f748a368a893bdb5abb67ec95f232507601a73]
          • optionalDVNs: [0x02152f4624596602dcbb8b8ead2988ad44edc865, 0xd56e4eab23cb81f43168f9f45211eb027b9ac7cc]
  • Set DVNs config for Received by calling the lzEndPoint’s setConfig function with this params:
    • Oapp: 0xE462Df8d4Aa7Db3aeCfe810ec8D1fa4f716BC9a8
    • Lib: 0x1322871e4ab09Bc7f5717189434f97bBD9546e95
    • SetConfigParam for receive:
      • ‘receiveConfig’ from Ethereum Mainnet
        • Eid: 30101
        • configType: 2
        • Config:
          • Confirmations: 15
          • requiredDVNCount: 2
          • optionalDVNCount: 1
          • optionalDVNThreshold: 2
          • requiredDVNs: [0x23de2fe932d9043291f870324b74f820e11dc81a, 0x31f748a368a893bdb5abb67ec95f232507601a73]
          • optionalDVNs: [0x02152f4624596602dcbb8b8ead2988ad44edc865, 0xd56e4eab23cb81f43168f9f45211eb027b9ac7cc]
      • ‘receiveConfig’ from Fantom
        • Eid: 30112
        • configType: 2
        • Config:
          • Confirmations: 25
          • requiredDVNCount: 2
          • optionalDVNCount: 1
          • optionalDVNThreshold: 2
          • requiredDVNs: [0x23de2fe932d9043291f870324b74f820e11dc81a, 0x31f748a368a893bdb5abb67ec95f232507601a73]
          • optionalDVNs: [0x02152f4624596602dcbb8b8ead2988ad44edc865, 0xd56e4eab23cb81f43168f9f45211eb027b9ac7cc]

Fantom:

  • Set DVNs config for Send by calling the lzEndPoint’s ‘setConfig’ function with these parameters:
    • OApp: 0xA18Fc7615C12DfBC1Dfa0f884375aE58CB930BD3
    • Lib: 0x6c26c61a97006888ea9E4FA36584c7df57Cd9dA3
    • SetConfigParam for send:
      • ‘sendConfig’ to Ethereum Mainnet
        • Eid: 30101
        • configType: 2
        • Config:
          • Confirmations: 25
          • requiredDVNCount: 2
          • optionalDVNCount: 2
          • optionalDVNThreshold: 1
          • requiredDVNs: [0xe60a3959ca23a92bf5aaf992ef837ca7f828628a, 0x31f748a368a893bdb5abb67ec95f232507601a73]
          • optionalDVNs: [0x3b247f1b48f055ebf2db593672b98c9597e3081e, 0xd56e4eab23cb81f43168f9f45211eb027b9ac7cc]
      • ‘sendConfig’ to Polygon POS
        • Eid: 30109
        • configType: 2
        • Config:
          • Confirmations: 25
          • requiredDVNCount: 2
          • optionalDVNCount: 2
          • optionalDVNThreshold: 1
          • requiredDVNs: [0xe60a3959ca23a92bf5aaf992ef837ca7f828628a, 0x31f748a368a893bdb5abb67ec95f232507601a73]
          • optionalDVNs: [0x3b247f1b48f055ebf2db593672b98c9597e3081e, 0xd56e4eab23cb81f43168f9f45211eb027b9ac7cc]
  • Set DVNs config for Received by calling the lzEndPoint’s ‘setConfig’ function with this params:
    • Oapp: 0xA18Fc7615C12DfBC1Dfa0f884375aE58CB930BD3
    • Lib: 0x1322871e4ab09Bc7f5717189434f97bBD9546e95
    • ‘SetConfigParam’ for receive:
      • ‘receiveConfig’ from Ethereum Mainnet
        • Eid: 30101
        • configType: 2
        • Config:
          • Confirmations: 15
          • requiredDVNCount: 2
          • optionalDVNCount: 2
          • optionalDVNThreshold: 1
          • requiredDVNs: [0xe60a3959ca23a92bf5aaf992ef837ca7f828628a, 0x31f748a368a893bdb5abb67ec95f232507601a73]
          • optionalDVNs: [0x3b247f1b48f055ebf2db593672b98c9597e3081e, 0xd56e4eab23cb81f43168f9f45211eb027b9ac7cc]
      • ‘receiveConfig’ from Polygon PoS
        • Eid: 30109
        • configType: 2
        • Config:
          • Confirmations: 512
          • requiredDVNCount: 2
          • optionalDVNCount: 2
          • optionalDVNThreshold: 1
          • requiredDVNs: [0xe60a3959ca23a92bf5aaf992ef837ca7f828628a, 0x31f748a368a893bdb5abb67ec95f232507601a73]
          • optionalDVNs: [0x3b247f1b48f055ebf2db593672b98c9597e3081e, 0xd56e4eab23cb81f43168f9f45211eb027b9ac7cc]

Voting Options:

  • Accept the Configuration Update of the PAR Bridging Module
  • Against/Rework the proposal
  • Abstain

Author(s): Jean Brasse from Mimo Labs

Sentiment poll:

  • Accept the Configuration Update of the PAR Bridging Module
  • Against/Rework the proposal
  • Abstain
0 voters

The proposal is now live on Snapshot from April 23th at 10pm CET until April 30th at 10pm CET: https://snapshot.box/#/s:mimo.eth/proposal/0x4fe6d6e59bd34688f6bc03ed3665e89da4a356ce44276fb874a0769010a49e40