Skip to content

Commit aea2a1c

Browse files
committed
Check if entrypoint eu_recv_packet is present in contract
1 parent 7a6eace commit aea2a1c

File tree

3 files changed

+11
-8
lines changed

3 files changed

+11
-8
lines changed

internal/api/lib.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,9 +162,11 @@ func AnalyzeCode(cache Cache, checksum []byte) (*types.AnalysisReport, error) {
162162
}
163163
requiredCapabilities := string(copyAndDestroyUnmanagedVector(report.required_capabilities))
164164
entrypoints := string(copyAndDestroyUnmanagedVector(report.entrypoints))
165+
hasEurekaEntryPoints := strings.Contains(entrypoints, "eu_recv_packet")
165166

166167
res := types.AnalysisReport{
167168
HasIBCEntryPoints: bool(report.has_ibc_entry_points),
169+
HasEurekaEntryPoints: hasEurekaEntryPoints,
168170
RequiredCapabilities: requiredCapabilities,
169171
Entrypoints: strings.Split(entrypoints, ","),
170172
ContractMigrateVersion: optionalU64ToPtr(report.contract_migrate_version),

types/queries_test.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ func TestWasmQuerySerialization(t *testing.T) {
118118
var err error
119119

120120
// ContractInfo
121-
document := []byte(`{"contract_info":{"contract_addr":"aabbccdd456", "eureka_port":"wasm"}}`)
121+
document := []byte(`{"contract_info":{"contract_addr":"aabbccdd456"}}`)
122122
var query WasmQuery
123123
err = json.Unmarshal(document, &query)
124124
require.NoError(t, err)
@@ -128,7 +128,6 @@ func TestWasmQuerySerialization(t *testing.T) {
128128
require.Nil(t, query.CodeInfo)
129129
require.NotNil(t, query.ContractInfo)
130130
require.Equal(t, "aabbccdd456", query.ContractInfo.ContractAddr)
131-
require.Equal(t, "wasm", query.ContractInfo.EurekaPort)
132131

133132
// CodeInfo
134133
document = []byte(`{"code_info":{"code_id":70}}`)
@@ -144,17 +143,18 @@ func TestWasmQuerySerialization(t *testing.T) {
144143
}
145144

146145
func TestContractInfoResponseSerialization(t *testing.T) {
147-
document := []byte(`{"code_id":67,"creator":"jane","admin":"king","pinned":true,"ibc_port":"wasm.123"}`)
146+
document := []byte(`{"code_id":67,"creator":"jane","admin":"king","pinned":true,"ibc_port":"wasm.123", "eureka_port":"wasm.123"}`)
148147
var res ContractInfoResponse
149148
err := json.Unmarshal(document, &res)
150149
require.NoError(t, err)
151150

152151
require.Equal(t, ContractInfoResponse{
153-
CodeID: uint64(67),
154-
Creator: "jane",
155-
Admin: "king",
156-
Pinned: true,
157-
IBCPort: "wasm.123",
152+
CodeID: uint64(67),
153+
Creator: "jane",
154+
Admin: "king",
155+
Pinned: true,
156+
IBCPort: "wasm.123",
157+
EurekaPort: "wasm.123",
158158
}, res)
159159
}
160160

types/types.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,7 @@ func EmptyGasReport(limit uint64) GasReport {
169169
// This type is returned by VM.AnalyzeCode().
170170
type AnalysisReport struct {
171171
HasIBCEntryPoints bool
172+
HasEurekaEntryPoints bool
172173
RequiredCapabilities string
173174
Entrypoints []string
174175
// ContractMigrateVersion is the migrate version of the contract

0 commit comments

Comments
 (0)