z7m_recv_packet_filetest.gno
2.01 Kb · 68 lines
1// PKGPATH: gno.land/r/aib/main
2package main
3
4import (
5 "testing"
6 "time"
7
8 tmtesting "gno.land/p/aib/ibc/lightclient/tendermint/testing"
9 "gno.land/p/aib/ibc/types"
10 "gno.land/p/aib/ics23"
11 appstesting "gno.land/r/aib/ibc/apps/testing"
12 "gno.land/r/aib/ibc/core"
13)
14
15// RecvPacket unauthorized relayer
16func main(cur realm) {
17 core.SetAdmin(cross(cur), "g1wymu47drhr0kuq2098m792lytgtj2nyx77yrsm")
18 core.AddRelayer(cross(cur), "g1wymu47drhr0kuq2098m792lytgtj2nyx77yrsm")
19 var (
20 chainID = "chain-id-2"
21 trustedHeight = types.NewHeight(2, 2)
22 clientState = tmtesting.NewClientState(chainID, trustedHeight)
23 apphash = tmtesting.Hash("apphash")
24 trustedValset = tmtesting.GenValset()
25 consensusState = tmtesting.GenConsensusState(time.Now(), apphash, trustedValset.Hash())
26 counterpartyID = "07-tendermint-42"
27 )
28 clientID := core.CreateClient(cross(cur), clientState, consensusState)
29 core.RegisterCounterparty(cross(cur), clientID, [][]byte{[]byte("iavlStoreKey"), []byte("prefix2")}, counterpartyID)
30
31 var (
32 app = appstesting.NewApp(cross(cur))
33 appPortID = "appID"
34 )
35 app.SetOnRecvPacketReturn(types.RecvPacketResult{
36 Status: types.PacketStatus_Success,
37 Acknowledgement: []byte{0x01},
38 })
39 core.RegisterApp(cross(cur), appPortID, app)
40
41 recvPacket := types.MsgRecvPacket{
42 Packet: types.Packet{
43 Sequence: 1,
44 SourceClient: counterpartyID,
45 DestinationClient: clientID,
46 TimeoutTimestamp: uint64(time.Now().Add(time.Hour).Unix()),
47 Payloads: []types.Payload{{
48 SourcePort: "appID",
49 DestinationPort: "appID",
50 Encoding: "application/json",
51 Value: []byte("{}"),
52 Version: "v1",
53 }},
54 },
55 ProofCommitment: []ics23.CommitmentProof{
56 ics23.CommitmentProof_Exist{
57 Exist: &ics23.ExistenceProof{},
58 },
59 },
60 ProofHeight: trustedHeight,
61 }
62
63 testing.SetOriginCaller("g1wymu47drhr0kuq2098m792lytgtj2nyx77yrsx")
64 core.RecvPacket(cross(cur), recvPacket)
65}
66
67// Error:
68// unauthorized relayer g1wymu47drhr0kuq2098m792lytgtj2nyx77yrsx