@@ -60,6 +60,7 @@ type CosmosMsg struct {
60
60
Staking * StakingMsg `json:"staking,omitempty"`
61
61
Any * AnyMsg `json:"any,omitempty"`
62
62
Wasm * WasmMsg `json:"wasm,omitempty"`
63
+ Eureka * EurekaMsg `json:"eureka,omitempty"`
63
64
}
64
65
65
66
func (m * CosmosMsg ) UnmarshalJSON (data []byte ) error {
@@ -74,6 +75,7 @@ func (m *CosmosMsg) UnmarshalJSON(data []byte) error {
74
75
Any * AnyMsg `json:"any,omitempty"`
75
76
Wasm * WasmMsg `json:"wasm,omitempty"`
76
77
Stargate * AnyMsg `json:"stargate,omitempty"`
78
+ Eureka * EurekaMsg `json:"eureka,omitempty"`
77
79
}
78
80
var tmp InternalCosmosMsg
79
81
err := json .Unmarshal (data , & tmp )
@@ -97,6 +99,7 @@ func (m *CosmosMsg) UnmarshalJSON(data []byte) error {
97
99
Staking : tmp .Staking ,
98
100
Any : tmp .Any ,
99
101
Wasm : tmp .Wasm ,
102
+ Eureka : tmp .Eureka ,
100
103
}
101
104
return nil
102
105
}
@@ -350,6 +353,18 @@ type WasmMsg struct {
350
353
ClearAdmin * ClearAdminMsg `json:"clear_admin,omitempty"`
351
354
}
352
355
356
+ // These are messages in the IBC lifecycle using the new Eureka approach. Only usable by IBC-enabled contracts
357
+ type EurekaMsg struct {
358
+ SendPacket * EurekaSendPacketMsg `json:"send_packet,omitempty"`
359
+ }
360
+
361
+ // Sends an IBC packet with given payloads over the existing channel.
362
+ type EurekaSendPacketMsg struct {
363
+ ChannelID string `json:"channel_id"`
364
+ Payloads []EurekaPayload `json:"payloads"`
365
+ Timeout uint64 `json:"timeout,string,omitempty"`
366
+ }
367
+
353
368
// ExecuteMsg is used to call another defined contract on this chain.
354
369
// The calling contract requires the callee to be defined beforehand,
355
370
// and the address should have been defined in initialization.
0 commit comments