Icon LinkGetting Messages

You can use the getMessages method to retrieve a list of messages from the blockchain.

const WALLET_A = Wallet.fromPrivateKey(
	'0x1ff16505df75735a5bcf4cb4cf839903120c181dd9be6781b82cda23543bd242',
	provider
);
const WALLET_B = Wallet.fromPrivateKey(
	'0x30bb0bc68f5d2ec3b523cee5a65503031b40679d9c72280cd8088c2cfbc34e38',
	provider
);
 
const EXPECTED_MESSAGES_A: Message[] = [
	{
	messageId: '0x9ca8b2c626327692c7a865d0bbfe6232503e8dc0f7c442abe0b864ffdcca2da9',
	sender: WALLET_B.address,
	recipient: WALLET_A.address,
	nonce: '0x0101010101010101010101010101010101010101010101010101010101010101',
	amount: bn('ffff', 'hex'),
	data: arrayify('0x'),
	daHeight: bn(0),
	},
];
const EXPECTED_MESSAGES_B: Message[] = [
	{
	messageId: '0x39578ef8c047ae994d0dadce8015559953b32fffa657c25c4c068fe4d6995a4b',
	sender: WALLET_A.address,
	recipient: WALLET_B.address,
	nonce: '0x0e1ef2963832068b0e1ef2963832068b0e1ef2963832068b0e1ef2963832068b',
	amount: bn('12704439083013451934'),
	data: arrayify('0x'),
	daHeight: bn(0),
	},
];
 
const aMessages = await WALLET_A.getMessages();
const bMessages = await WALLET_B.getMessages();
 
expect(aMessages).toStrictEqual(EXPECTED_MESSAGES_A);
expect(bMessages).toStrictEqual(EXPECTED_MESSAGES_B);