event XrpTransactionSuggested(bytes32 govId, uint swapIndex, uint suggestIndex);Event occurs when Bridge Operator proposes Raw Transaction Data of Terra Chain,
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
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
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;
}