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

Last updated