Search Apps Documentation Source Content File Folder Download Copy Actions Download State String Boolean Number Struct Map Slice Pointer Function Closure Reference Nil Package Type Interface Unknown

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