LogoLogo
▶️ App🔩 Sources🔒 Audit💬 Community
Octus Bridge (EN)
Octus Bridge (EN)
  • 🏠Welcome to Octus Bridge
  • 💻USE
    • 🚀Getting started
      • How it works
        • Cross-chain transfers
        • Governance
        • Relayers
        • Staking
      • Roles
      • How to connect wallets
      • Glossary
      • Everscale
      • How to get EVER
    • 🌉Bridge
      • Cross-chain transfer
        • Interface
        • How to
          • Transferring from another network to Everscale
          • Transferring between two outside networks
          • Find my transaction
          • How to return the transfer fee
      • Liquidity requests
      • History
        • Interface
          • Transfer rates
          • All transfers
      • Concepts
        • How Octus Bridge transfers work
        • Available chains and assets
        • Universal Bridge
        • Invisible Bridge
    • 💰Staking
      • My stake
        • Interface
          • My staking performance
          • My staking balance
          • User stake
          • Reward rounds
          • Transactions
        • How to
          • How to Stake
          • How to Claim
          • How to Redeem
      • Explorer
        • Interface
          • Explorer
          • Stakeholders
      • Concepts
        • About Octus Bridge Staking
        • How does Staking work?
    • 🗳️Governance
      • Overview
        • Interface
          • DAO overview
          • Recent proposals
          • TOP voters by voting power
      • Proposals
        • Interface
          • My votes
          • Proposals with my votes
          • Governance proposals
        • How to
          • How to Vote
      • Create proposals
        • Interface
        • How to
          • How to create a proposal
      • Concepts
        • Bridge DAO
        • BRIDGE token
        • BRIDGE economics
        • Proposals
        • Get BRIDGE Tokens
    • ⛓️Relayers
      • How to
        • How to become a relayer
      • Concepts
        • Octus Bridge relayers
    • 📜Litepaper
  • 🛠️Integrate
    • Octus Bridge Integration Guide
    • Octus Bridge Contracts
      • Everscale
        • Bridge section
          • event-configuration-contracts
          • event-contracts-base
          • event-contracts-dao
          • event-contracts-multivault
          • event-contracts-staking
          • event-contracts-token-transfer
          • Factory
          • Bridge
          • Connector
        • DAO Section
          • DAORoot
          • Proposal
        • Staking Section
          • Base
          • Elections
          • Encoder
          • RelayRound
          • Staking
          • StakingV1_1
          • StakingRootDeployer
          • UserData
        • Utils Section
          • Delegate
          • DummyRound
          • Receiver
      • Ethereum
        • Bridge Section
          • Bridge
          • StakingRelayVerifier
        • MultiVault Section
          • MultiVault
          • MultiVaultToken
        • Strategies Section
          • BaseStrategy
          • Convex3crv
          • ConvexAIEth
          • ConvexCrvLp
        • Vault Section
          • Vault
        • DAO
        • Registry
    • Bridge Relay Node
    • Token Contracts
    • Open API
      • Bridge API
        • Relayers
        • DAO
        • Staking
        • Transfers
      • DAO API
        • Proposals
        • Voters
        • Votes
  • see also
    • FlatQube
    • EVER Wallet
    • Broxus Github
Powered by GitBook
On this page

Was this helpful?

  1. Integrate
  2. Octus Bridge Contracts
  3. Ethereum
  4. Bridge Section

Bridge

verifySignedEverscaleEvent

Verifying signatures from EverscaleEvent (is there enough signatures, is the round rotten, etc.)

function verifySignedEverscaleEvent(bytes memory payload, bytes[] memory signatures) override public view returns (uint32 errorCode)

Parameters:

Name
Type
Description

payload

bytes memory

EverscaleEvent structure encoded to bytes

signatures

bytes[] memory

Payload signatures

Return value:

Name
Type
Description

errorCode

uint32

Error code

recoverSignature

Recover signer from the payload and signature.

function recoverSignature(bytes memory payload, bytes memory signature) public pure returns (address signer)

Parameters:

Name
Type
Description

payload

bytes memory

Signer encoded to bytes

signature

bytes memory

Signature in bytes

Return value:

Name
Type
Description

signer

address

Decoded signature’s address

forceRoundRelays

Forced set of next round relayers. Can be called only by roundSubmitter.

function forceRoundRelays(uint160[] calldata _relays, uint32 roundEnd) override external

Parameters:

Name
Type
Description

_relays

uint160[] calldata

Next round relayers

roundEnd

uint32

End of the round

setRoundSubmitter

Set round submitter. Can be called only by owner.

function setRoundSubmitter(address _roundSubmitter) override external onlyOwner

Parameters:

Name
Type
Description

_roundSubmitter

address

New round submitter’s address

Events emitted:

  • UpdateRoundSubmitter

setRoundRelays

Grant relayer permission for set of addresses at specific round.

function setRoundRelays(bytes calldata payload, bytes[] calldata signatures) override external notCached(payload)

Parameters:

Name
Type
Description

payload

bytes calldata

EverscaleEvent structure encoded to bytes

signatures

bytes[] calldata

Signatures encoded to bytes

decodeRoundRelaysEventData

Decodes payload event data for round relayers.

function decodeRoundRelaysEventData(bytes memory payload) public pure returns (uint32 round, uint160[] memory _relays, uint32 roundEnd)

Parameters:

Name
Type
Description

payload

bytes memory

Round relayers event data (EverscaleEvent) encoded to bytes

Return value:

Name
Type
Description

round

uint32

Round id

_relays

uint160[] memory

Addresses of the relayers

roundEnd

uint32

End of round

decodeEverscaleEvent

Decodes payload data for everscale event.

function decodeEverscaleEvent(bytes memory payload) external pure returns

Parameters:

Name
Type
Description

payload

bytes memory

EverscaleEvent structure encoded to bytes

banRelays

Puts specified relayer addresses on a blacklist.

function banRelays(address[] calldata _relays) override external onlyOwner

Parameters:

Name
Type
Description

_relays

address[] calldata

Addresses of the relayers

Events emitted:

  • BanRelay

unbanRelays

Takes out specified relayer addresses from a blacklist.

function unbanRelays(address[] calldata _relays) override external onlyOwner

Parameters:

Name
Type
Description

_relays

address[] calldata

Addresses of the relayers

Events emitted:

  • BanRelay

_setRound

Creates a new round and makes a map including all rounds and relayers.

function _setRound(uint32 round, uint160[] memory _relays, uint32 roundEnd) internal

Parameters:

Name
Type
Description

round

uint32

Round Id

_relays

uint160[] memory

Addresses of relayers

roundEnd

uint32

End of the round

Events emitted:

  • NewRound

  • RoundRelay

_countRelaySignatures

Counts all the valid relayers signatures.

function _countRelaySignatures(bytes memory payload, bytes[] memory signatures, uint32 round) internal view returns (uint32)

Parameters:

Name
Type
Description

payload

bytes memory

EverscaleEvent data encoded to bytes

signatures

bytes[] memory

List of signatures

round

uint32

Round Id

Return value:

Type
Description

uint32

Number of relayers signatures

PreviousBridge SectionNextStakingRelayVerifier

Last updated 2 years ago

Was this helpful?

🛠️