Orbit Bridge
  • Introduction
  • Overview
  • Core Concept
  • How it works
    • Features
    • Differentiation
    • Bridge Validator
    • Bridge Operator
    • Governance
  • Bridging Transactions
    • Ethereum
    • BNB Chain
    • Klaytn
    • Heco
    • Polygon
    • Celo
    • ICON
    • XRP
  • Validator Guide
    • Notes for Validator Nodes
    • Hardware Specifications
    • Validator Reward Structure
    • Quick Start
    • REST API
    • Configuration
    • Troubleshooting
  • Operator Guide
    • Hardware Specifications
    • Quick Start
    • REST API
    • Configuration
    • Troubleshooting
  • Official Bridge Governance
  • Token Registration for Bridging
    • Registration Using Etherscan
    • Registration Using Remix
    • Bridge to The Open Network(TON)
      • Registration on TON Using Etherscan
      • Registration on TON Using Remix
  • FAQ
    • General [EN]
    • General [KO]
    • Gas Fee Guide [EN]
    • Gas Fee Guide [KO]
    • Guide for Adding RPC Network [EN]
    • Guide for Adding RPC Network [KO]
    • Anti-Phishing [EN]
    • Anti-Phishing [KO]
    • Transaction delay after setting the gas fee
    • Integration Guide
      • 1. List of supported chains
      • 2. Contract Addresses
      • 3. How to use an Orbit Bridge
      • 4. Chain Explorers
      • 5. API
  • Contract
    • OrbitHub
    • Bridge
      • Ethereum
      • BNB Chain
      • Klaytn
      • Heco
      • Polygon
      • Celo
      • ICON
      • XRP
    • Vault (Layer 1)
      • Ethereum
      • BNB Chain
      • Klaytn
      • Heco
      • Polygon
      • Celo
      • XRP
    • Minter (Layer 2)
      • Ethereum
      • Avalanche
      • BNB Chain
      • Klaytn
      • Celo
      • Fantom
      • Harmony
      • Polygon
      • Moonriver
      • OKExChain
      • Orbit
      • Gnosis
      • ICON
      • XRP
    • BridgeReceiver
    • Governance
    • Glossary
  • LINK
    • Orbit Bridge Github
    • Orbit Bridge Website
  • POLICIES
    • Layer Fee
    • Bridge Fee
      • Current
      • History
        • Ethereum Layer1
        • BNB Layer 1
        • Ripple Layer 1
        • Klaytn Layer 1
    • Terms of Use [EN]
    • Terms of Use [KO]
  • Bridging Assets
    • Ethereum Layer 1
    • Ripple Layer 1
    • BNB Layer 1
  • CROSS CHAIN TIPS
    • ICON
    • Celo
    • HECO
    • XRP
Powered by GitBook
On this page
  • Code
  • Address
  • Events
  • Add / Remove Bridge
  • Add / Remove BridgeGovernance
  • Add / Remove BridgeInfo
  • ChangeGovernanceMig
  • SwapRelay
  • SwapValidated
  • SwapNFTRelay
  • SwapNFTValidated
  • Interface

Was this helpful?

  1. Contract

OrbitHub

Code

  • OrbitHub.sol

  • OrbitHub.impl.sol

Address

  • Orbit Hub Contract Address : 0xb5680a55d627c52de992e3ea52a86f19da475399

  • Orbit Hub Implementation Contract Address : 0x8eb2abafc23483afb6bed2885bfeddfeaef2a30c

Events

Add / Remove Bridge

event AddBridge(string chain, address bridgeContract);
event RemoveBridge(string chain, address bridgeContract);

Event occurs when Bridge Contract is registered or removed from Orbit Hub Contract

  • string chain : Chain symbol corresponding to Bridge Contract ( ex, ETH, KLAYTN, TERRA )

  • address bridgeContract : Bridge Contract Address

Add / Remove BridgeGovernance

event AddBridgeGovernance(string chain, bytes wallet, bytes32 govId);
event RemoveBridgeGovernance(bytes32 govId);

Event occurs when governance is registered or removed to manage Orbit Bridge System by Orbit Hub Governance

  • string chain : Chain symbol of Vault managed by Governance

  • bytes wallet : Address of Vault managed by Governance

  • bytes32 govId : Unique Identifier of Governance

Add / Remove BridgeInfo

event AddBridgeInfo(string chain, bytes32 govId);
event RemoveBridgeInfo(string chain, bytes32 govId);

Event occurs when Bridge Governance adds or removes information such as Multi-Sig Wallet and nonce to be used in Bridge Contract

  • string chain : Chain symbol corresponding to Bridge Contract ( ex, ETH, KLAYTN, TERRA )

  • bytes32 govId : Unique Identifier of Governance

ChangeGovernanceMig

event ChangeGovernanceMig(bytes32 govId, bytes32 chainId, address mig);

Event occurs when Bridge Governance replaces OrbitHub or Brdige Multi-Sig Wallet

  • bytes32 govId : Unique Identifier of Governance

  • bytes32 chainId : Unique Identifier of Chain Symbol

  • address mig : Multi-Sig Wallet Contract Address

SwapRelay

event SwapRelay(string fromChain, bytes32[] bytes32s, uint[] uints);

Event occurs when Bridge Operator relays bridging data

  • string fromChain : Chain Symbol requesting bridging

  • bytes32[] bytes32s : Bytes32 data array used in the bridging consensus process

  • uint[] uints : Uint data array used in the bridging consensus process

SwapValidated

event SwapValidated(uint dataIndex, string fromChain, bytes32[] bytes32s, uint[] uints, address[] vaList);

Event occurs when Bridge Validator completes consensus on bridging data

  • uint dataIndex : Data index recorded in the Swap Data List of Orbit Hub

  • string fromChain : Chain Symbol requesting bridging

  • bytes32[] bytes32s : Bytes32 data array used in the bridging consensus process

  • uint[] uints : Uint data array used in the bridging consensus process

  • address[] vaList : Validator Address List that participated in the Bridging Data consensus

SwapNFTRelay

event SwapNFTRelay(string fromChain, bytes32[] bytes32s, uint[] uints);

Event occurs when Bridge Operator relays bridging data

  • string fromChain : Chain Symbol requesting bridging

  • bytes32[] bytes32s : Bytes32 data array used in the bridging consensus process

  • uint[] uints : Uint data array used in the bridging consensus process

SwapNFTValidated

event SwapNFTValidated(uint dataIndex, string fromChain, bytes32[] bytes32s, uint[] uints, address[] vaList);

Event occurs when Bridge Validator completes consensus on bridging data

  • uint dataIndex : Data index recorded in the Swap Data List of Orbit Hub

  • string fromChain : Chain Symbol requesting bridging

  • bytes32[] bytes32s : Bytes32 data array used in the bridging consensus process

  • uint[] uints : Uint data array used in the bridging consensus process

  • address[] vaList : Validator Address List that participated in the Bridging Data consensus

Interface

pragma solidity 0.5.0;

interface OrbitHub {
    function getVersion() public pure returns(string memory);
    function getChainId(string memory chain) public view returns(bytes32 chainId);
    function getGovId(string memory chain, bytes memory wallet) public view returns(bytes32 govId);
    function getBridgeContract(string memory chain) public view returns(address);
    function getBridgeMig(string memory chain, bytes32 govId) public view returns(address);
    function getSwapData(bytes32 govId, uint dataIndex) public view returns(string memory fromChain, string memory toChain, bytes memory fromAddr, bytes memory toAddr, bytes memory token);
    function getSwapDataArray(bytes32 govId, uint dataIndex) public view returns(bytes32[] memory bytes32s, uint[] memory uints, address[] memory vaList);
    
    function addBridgeInfo(string memory chain, address mig, uint[] memory uints, bytes32[] memory bytes32s, bytes memory comment) public;
    function removeBridgeInfo(string memory chain) public;
    function changeHubMig(address mig) public;
    function changeBridgeMig(string memory chain, address mig) public;
    
    function relaySwap(string memory fromChain, string memory toChain, bytes memory fromAddr, bytes memory toAddr, bytes memory token, bytes32[] memory bytes32s, uint[] memory uints) public;
    function validateSwap(string memory fromChain, string memory toChain, bytes memory fromAddr, bytes memory toAddr, bytes memory token, bytes32[] memory bytes32s, uint[] memory uints, bytes32[] memory sigs) public;
    
    function relaySwapNFT(string memory fromChain, string memory toChain, bytes memory fromAddr, bytes memory toAddr, bytes memory token, bytes32[] memory bytes32s, uint[] memory uints) public;
    function validateSwapNFT(string memory fromChain, string memory toChain, bytes memory fromAddr, bytes memory toAddr, bytes memory token, bytes32[] memory bytes32s, uint[] memory uints, bytes32[] memory sigs) public;
}
Previous5. APINextBridge

Last updated 4 years ago

Was this helpful?