-
Notifications
You must be signed in to change notification settings - Fork 12
/
msg_server.go
122 lines (109 loc) · 4.3 KB
/
msg_server.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
// nolint:staticcheck
package keeper
import (
"context"
crosschainkeeper "github.com/functionx/fx-core/v3/x/crosschain/keeper"
crosschaintypes "github.com/functionx/fx-core/v3/x/crosschain/types"
ethtypes "github.com/functionx/fx-core/v3/x/eth/types"
"github.com/functionx/fx-core/v3/x/gravity/types"
)
type msgServer struct {
crosschainkeeper.MsgServer
}
func NewMsgServerImpl(keeper crosschainkeeper.Keeper) types.MsgServer {
return &msgServer{MsgServer: crosschainkeeper.MsgServer{Keeper: keeper}}
}
var _ types.MsgServer = msgServer{}
func (k msgServer) ValsetConfirm(c context.Context, msg *types.MsgValsetConfirm) (*types.MsgValsetConfirmResponse, error) {
_, err := k.MsgServer.OracleSetConfirm(c, &crosschaintypes.MsgOracleSetConfirm{
Nonce: msg.Nonce,
BridgerAddress: msg.Orchestrator,
ExternalAddress: msg.EthAddress,
Signature: msg.Signature,
ChainName: ethtypes.ModuleName,
})
return &types.MsgValsetConfirmResponse{}, err
}
func (k msgServer) SendToEth(c context.Context, msg *types.MsgSendToEth) (*types.MsgSendToEthResponse, error) {
_, err := k.MsgServer.SendToExternal(c, &crosschaintypes.MsgSendToExternal{
Sender: msg.Sender,
Dest: msg.EthDest,
Amount: msg.Amount,
BridgeFee: msg.BridgeFee,
ChainName: ethtypes.ModuleName,
})
return &types.MsgSendToEthResponse{}, err
}
func (k msgServer) RequestBatch(c context.Context, msg *types.MsgRequestBatch) (*types.MsgRequestBatchResponse, error) {
_, err := k.MsgServer.RequestBatch(c, &crosschaintypes.MsgRequestBatch{
Sender: msg.Sender,
Denom: msg.Denom,
MinimumFee: msg.MinimumFee,
FeeReceive: msg.FeeReceive,
ChainName: ethtypes.ModuleName,
BaseFee: msg.BaseFee,
})
return &types.MsgRequestBatchResponse{}, err
}
func (k msgServer) ConfirmBatch(c context.Context, msg *types.MsgConfirmBatch) (*types.MsgConfirmBatchResponse, error) {
_, err := k.MsgServer.ConfirmBatch(c, &crosschaintypes.MsgConfirmBatch{
Nonce: msg.Nonce,
TokenContract: msg.TokenContract,
BridgerAddress: msg.Orchestrator,
ExternalAddress: msg.EthSigner,
Signature: msg.Signature,
ChainName: ethtypes.ModuleName,
})
return &types.MsgConfirmBatchResponse{}, err
}
func (k msgServer) DepositClaim(c context.Context, msg *types.MsgDepositClaim) (*types.MsgDepositClaimResponse, error) {
_, err := k.MsgServer.SendToFxClaim(c, &crosschaintypes.MsgSendToFxClaim{
EventNonce: msg.EventNonce,
BlockHeight: msg.BlockHeight,
TokenContract: msg.TokenContract,
Amount: msg.Amount,
Sender: msg.EthSender,
Receiver: msg.FxReceiver,
TargetIbc: msg.TargetIbc,
BridgerAddress: msg.Orchestrator,
ChainName: ethtypes.ModuleName,
})
return &types.MsgDepositClaimResponse{}, err
}
func (k msgServer) WithdrawClaim(c context.Context, msg *types.MsgWithdrawClaim) (*types.MsgWithdrawClaimResponse, error) {
_, err := k.MsgServer.SendToExternalClaim(c, &crosschaintypes.MsgSendToExternalClaim{
EventNonce: msg.EventNonce,
BlockHeight: msg.BlockHeight,
BatchNonce: msg.BatchNonce,
TokenContract: msg.TokenContract,
BridgerAddress: msg.Orchestrator,
ChainName: ethtypes.ModuleName,
})
return &types.MsgWithdrawClaimResponse{}, err
}
func (k msgServer) CancelSendToEth(c context.Context, msg *types.MsgCancelSendToEth) (*types.MsgCancelSendToEthResponse, error) {
_, err := k.MsgServer.CancelSendToExternal(c, &crosschaintypes.MsgCancelSendToExternal{
TransactionId: msg.TransactionId,
Sender: msg.Sender,
ChainName: ethtypes.ModuleName,
})
return &types.MsgCancelSendToEthResponse{}, err
}
func (k msgServer) ValsetUpdateClaim(c context.Context, msg *types.MsgValsetUpdatedClaim) (*types.MsgValsetUpdatedClaimResponse, error) {
msg2 := &crosschaintypes.MsgOracleSetUpdatedClaim{
EventNonce: msg.EventNonce,
BlockHeight: msg.BlockHeight,
OracleSetNonce: msg.ValsetNonce,
Members: make([]crosschaintypes.BridgeValidator, len(msg.Members)),
BridgerAddress: msg.Orchestrator,
ChainName: ethtypes.ModuleName,
}
for i := 0; i < len(msg.Members); i++ {
msg2.Members[i] = crosschaintypes.BridgeValidator{
Power: msg.Members[i].Power,
ExternalAddress: msg.Members[i].EthAddress,
}
}
_, err := k.MsgServer.OracleSetUpdateClaim(c, msg2)
return &types.MsgValsetUpdatedClaimResponse{}, err
}