XRP

Code

  • XrpBridge.sol

  • XrpBridge.impl.sol

Address

  • Xrp Bridge Symbol : XRP

  • Xrp Bridge Contract Address : 0x4E6C37162021FdA832fB95aFF42Af92c2e8B6257

Events

XrpTransactionSuggested

event XrpTransactionSuggested(bytes32 govId, uint swapIndex, uint suggestIndex);Event occurs when Bridge Operator proposes Raw Transaction Data of Terra Chain,
  • bytes32 govId : Unique Identifier of Governance

  • uint swapIndex : Swap Data Index

  • uint suggestIndex : Suggestion Data Index

XrpTransactionSelected

event XrpTransactionSelected(bytes32 govId, uint selectionIndex);

Event will occur upon completion of agreement on the raw transaction data of XRP Chain by a Bridge Validator

  • bytes32 govId : Unique Identifier of Governance

  • uint selectionIndex : Selection Data Index

XrpTransactionValidated

event XrpTransactionValidated(bytes32 govId, uint selectionIndex, string fromChain, bytes32[] bytes32s, uint[] uints);

Event occurs when a Bridge Validator submits a Signature for agreed Raw Transaction Data

  • bytes32 govId : Unique Identifier of Governance

  • uint selectionIndex : Selection Data Index

  • string fromChain : Chain Symbol requesting bridging

  • bytes32[] bytes32s : Bytes32 Data Array corresponding to Selection Data

  • uint[] uints : Bytes32 Data Array corresponding to Selection Data

Interface

pragma solidity 0.5.0;

interface XrpBridge {
    function getVersion() public pure returns(string memory);
    function getStepStatus(bytes32 govId) public view returns(bool needSuggest, bool needRelaySuggestion, bool needRelaySelection, uint dataIndex, uint suggestIndex, uint selectionIndex);
    function getSwapDataArray(bytes32 govId, uint dataIndex) public view returns(bytes32[] memory bytes32s, uint[] memory uints);
    function getGovInfoArray(bytes32 govId) public view returns(uint[] memory uints, bytes32[] memory bytes32s);
    function getSuggestion(uint types, bytes32 govId, uint index) public view returns(uint swapIndex, address[] memory validators, bytes32[] memory signatureHashs, uint fee, uint seq);
    
    function addBridgeInfo(string memory chain, address mig, uint[] memory uints, bytes32[] memory bytes32s, bytes memory comment) public;
    function removeBridgeInfo(string memory chain) public;
    
    function relaySwap() public;
    function validateSwap(bytes32[] memory sigs) public;
    
    function suggestTransaction(bytes32 govId, uint swapIndex, address[] memory validators, bytes32[] memory sigHashs, uint fee, uint seq) public;
    function relayTransactionSuggested(bytes32 govId, uint suggestIndex) public;
    function validateTransactionSuggested(bytes32 govId, uint suggestIndex, address validator, uint8 vSig, bytes32 rSig, bytes32 sSig) public;
    
    function relayTransactionSelected(bytes32 govId, uint selectionIndex) public;
    function validateTransactionSelected(bytes32 govId, uint selectionIndex, address validator, uint8[] memory vSigs, bytes32[] memory rSigs, bytes32[] memory sSigs) public;
}

Last updated