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;
}