z1h_on_send_packet_slash_denom_filetest.gno
1.45 Kb · 47 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
11 "gno.land/r/aib/ibc/apps/transfer"
12 "gno.land/r/aib/ibc/core"
13)
14
15func main(cur realm) {
16 var (
17 chainID = "chain-id-2"
18 clientState = tmtesting.NewClientState(chainID, types.NewHeight(2, 2))
19 apphash = tmtesting.Hash("apphash")
20 trustedValset = tmtesting.GenValset()
21 consensusState = tmtesting.GenConsensusState(time.Now(), apphash, trustedValset.Hash())
22 )
23 clientID := core.CreateClient(cross(cur), clientState, consensusState)
24 core.RegisterCounterparty(cross(cur), clientID, [][]byte{[]byte("iavlStoreKey"), []byte("prefix2")}, "07-tendermint-2")
25
26 signer := cur.Previous().Address()
27 payload := transfer.NewFungibleTokenPacketData("factory/alice/token", "100", signer.String(), "atone1user", "")
28 packet := types.MsgSendPacket{
29 SourceClient: clientID,
30 TimeoutTimestamp: uint64(time.Now().Add(time.Hour).Unix()),
31 Payloads: []types.Payload{
32 {
33 SourcePort: transfer.PortID,
34 DestinationPort: transfer.PortID,
35 Encoding: transfer.EncodingProtobuf,
36 Value: payload.ProtoMarshal(),
37 Version: transfer.V1,
38 },
39 },
40 }
41 testing.SetOriginCaller(signer)
42
43 core.SendPacket(cross(cur), packet)
44}
45
46// Error:
47// send packet failed for payload #0 app "transfer": base denomination factory/alice/token cannot contain slashes for IBC v2 packet