-
Notifications
You must be signed in to change notification settings - Fork 24
/
Copy pathmessages-osmosis.proto
168 lines (149 loc) · 4.49 KB
/
messages-osmosis.proto
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
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
syntax = "proto2";
/**
* WARNING: Make sure Osmosis messages align with the tendermint messages
*/
/* Sugar for easier handling in Java */
option java_package = "com.keepkey.deviceprotocol";
option java_outer_classname = "KeepKeyMessageOsmosis";
import "types.proto";
/**
* Request: Address at the specified index
* @start
* @next OsmosisAddress
*/
message OsmosisGetAddress {
/* BIP-32 path. For compatibility with other wallets, must be
* m/44'/931'/index' */
repeated uint32 address_n = 1;
/* optionally show on display before sending the result */
optional bool show_display = 2;
/* if true, return an address with the testnet prefix */
optional bool testnet = 3;
}
/**
* Response: Address for the given index
* @end
*/
message OsmosisAddress {
/* Bech32-encoded address */
optional string address = 1;
}
/**
* Request: ask device to sign Osmosis transaction
* @start
* @next OsmosisSignedTx
*/
message OsmosisSignTx {
/* BIP-32 path. For compatibility with other wallets, must be
* m/44'/118'/index'/0/0 */
repeated uint32 address_n = 1;
optional uint64 account_number = 2 [ jstype = JS_STRING ];
optional string chain_id = 3;
optional uint32 fee_amount = 4;
optional uint32 gas = 5;
optional string memo = 6;
optional uint64 sequence = 7 [ jstype = JS_STRING ];
optional uint32 msg_count = 8;
/* if true, decode addresses with prefix 'tosmo' */
optional bool testnet = 9;
}
message OsmosisMsgRequest {}
message OsmosisMsgAck {
optional OsmosisMsgSend send = 1;
optional OsmosisMsgDelegate delegate = 2;
optional OsmosisMsgUndelegate undelegate = 3;
optional OsmosisMsgRedelegate redelegate = 4;
optional OsmosisMsgRewards rewards = 5;
optional OsmosisMsgLPAdd lp_add = 6;
optional OsmosisMsgLPRemove lp_remove = 7;
optional OsmosisMsgLPStake lp_stake = 8;
optional OsmosisMsgLPUnstake lp_unstake = 9;
optional OsmosisMsgIBCTransfer ibc_transfer = 10;
optional OsmosisMsgSwap swap = 11;
}
message OsmosisMsgSend {
optional string from_address = 1;
optional string to_address = 2;
optional string denom = 3;
optional string amount = 4;
optional OutputAddressType address_type = 5;
}
message OsmosisMsgDelegate {
optional string delegator_address = 1;
optional string validator_address = 2;
optional string denom = 3;
optional string amount = 4;
}
message OsmosisMsgUndelegate {
optional string delegator_address = 1;
optional string validator_address = 2;
optional string denom = 3;
optional string amount = 4;
}
message OsmosisMsgRedelegate {
optional string delegator_address = 1;
optional string validator_src_address = 2;
optional string validator_dst_address = 3;
optional string denom = 4;
optional string amount = 5;
}
message OsmosisMsgLPAdd {
optional string sender = 1;
optional uint64 pool_id = 2 [ jstype = JS_STRING ];
optional string share_out_amount = 3;
optional string denom_in_max_a = 4;
optional string amount_in_max_a = 5;
optional string denom_in_max_b = 6;
optional string amount_in_max_b = 7;
}
message OsmosisMsgLPRemove {
optional string sender = 1;
optional uint64 pool_id = 2 [ jstype = JS_STRING ];
optional string share_in_amount = 3;
optional string denom_out_min_a = 4;
optional string amount_out_min_a = 5;
optional string denom_out_min_b = 6;
optional string amount_out_min_b = 7;
}
message OsmosisMsgLPStake {
optional string owner = 1;
optional uint64 duration = 2 [ jstype = JS_STRING ];
optional string denom = 4;
optional string amount = 5;
}
message OsmosisMsgLPUnstake {
optional string owner = 1;
optional string id = 2;
}
message OsmosisMsgRewards {
optional string delegator_address = 1;
optional string validator_address = 2;
}
message OsmosisMsgIBCTransfer {
optional string source_port = 1;
optional string source_channel = 2;
optional string denom = 3;
optional string amount = 4;
optional string sender = 5;
optional string receiver = 6;
optional string revision_number = 7;
optional string revision_height = 8;
}
message OsmosisMsgSwap {
optional string sender = 1;
optional uint64 pool_id = 2 [ jstype = JS_STRING ];
optional string token_out_denom = 3;
optional string token_in_denom = 4;
optional string token_in_amount = 5;
optional string token_out_min_amount = 6;
}
/**
* Response: signature for transaction
* @end
*/
message OsmosisSignedTx {
/* public key for the private key used to sign data */
optional bytes public_key = 1;
/* signature suitable for sending to the Osmosis network */
optional bytes signature = 2;
}