status-go/services/wallet/bridge/proto_cbridge/cbridge.proto

34 lines
1.7 KiB
Protocol Buffer

syntax = "proto3";
package cbridge;
option go_package = "../cbridge";
// ========== x/cbridge kv value types
// for src transfer id
// normal status flow: after sgn applied user's Send event, status is OK_TO_RELAY. then after apply Relay event
// status is SUCCESS
// can't relay flow: after apply send, status will be BAD_xxx, and there'll be no relay. so user need to InitWithdraw, status becomes
// refund_requested when sgn apply withdrawDone event, status becomes REFUND_DONE
enum XferStatus {
UNKNOWN = 0; // use as default for unknown xfer
// normal flow only has ok then success
OK_TO_RELAY = 1; // x/cbridge emit relay, waiting for sgn nodes to send sig, then sgn will submit relay tx onchain
SUCCESS = 2; // applied onchain relay event
// can't relay flow status
BAD_LIQUIDITY = 3; // can't complete xfer due to low dst chain liquidity or equal value dest amount is 0
BAD_SLIPPAGE = 4; // slippage larger than user specified max
BAD_TOKEN = 5; // src or dest token are not supported
// refund, using withdraw flow
REFUND_REQUESTED = 6; // user/gateway called InitWithdraw, XferRefundKey has withdraw seq num
REFUND_DONE = 7; // applied onchain WithdrawDown event
BAD_XFER_DISABLED = 8; // asset is in config, but it is xfer_disabled, so this asset should not be used for transfer. If any transfer
// come, we should go to refund flow.
BAD_DEST_CHAIN = 9; // dest chain is same to src chain, relayer will ignore it.
EXCEED_MAX_OUT_AMOUNT = 10; // amount larger than max out allowance
XFER_DELAYED = 11; // relayer has successfully called onchain relay() but the onchain contract decides that the amt is greater than its
// delayThreshold
BAD_ADDRESS = 12;
}