Add missing memo field to fromAmino implementation for MsgTransfer

This commit is contained in:
Simon Warta 2023-10-25 12:52:47 +02:00
parent 550a9fc1b5
commit 9d5aecefd5
3 changed files with 47 additions and 0 deletions

View File

@ -6,6 +6,13 @@ and this project adheres to
## [Unreleased]
### Fixed
- @cosmjs/stargate: Add missing memo field to `fromAmino` implementation for
`MsgTransfer`. ([#1493])
[#1493]: https://github.com/cosmos/cosmjs/issues/1493
## [0.31.2] - 2023-10-24
### Fixed

View File

@ -153,6 +153,43 @@ describe("AminoTypes", () => {
});
});
it("works for MsgTransfer with memo", () => {
const aminoMsg: AminoMsgTransfer = {
type: "cosmos-sdk/MsgTransfer",
value: {
source_port: "testport",
source_channel: "testchannel",
token: coin(1234, "utest"),
sender: "cosmos1pkptre7fdkl6gfrzlesjjvhxhlc3r4gmmk8rs6",
receiver: "cosmos10dyr9899g6t0pelew4nvf4j5c3jcgv0r73qga5",
timeout_height: {
revision_height: "123",
revision_number: "456",
},
timeout_timestamp: "789",
memo: "Hack me",
},
};
const msg = new AminoTypes(createIbcAminoConverters()).fromAmino(aminoMsg);
const expectedValue: MsgTransfer = {
sourcePort: "testport",
sourceChannel: "testchannel",
token: coin(1234, "utest"),
sender: "cosmos1pkptre7fdkl6gfrzlesjjvhxhlc3r4gmmk8rs6",
receiver: "cosmos10dyr9899g6t0pelew4nvf4j5c3jcgv0r73qga5",
timeoutHeight: {
revisionHeight: Long.fromString("123", true),
revisionNumber: Long.fromString("456", true),
},
timeoutTimestamp: Long.fromString("789", true),
memo: "Hack me",
};
expect(msg).toEqual({
typeUrl: "/ibc.applications.transfer.v1.MsgTransfer",
value: expectedValue,
});
});
it("works for MsgTransfer with default values", () => {
const aminoMsg: AminoMsgTransfer = {
type: "cosmos-sdk/MsgTransfer",
@ -167,6 +204,7 @@ describe("AminoTypes", () => {
// revision_number omitted
},
// timeout_timestamp omitted
// memo omitted
},
};
const msg = new AminoTypes(createIbcAminoConverters()).fromAmino(aminoMsg);

View File

@ -98,6 +98,7 @@ export function createIbcAminoConverters(): AminoConverters {
receiver,
timeout_height,
timeout_timestamp,
memo,
}: AminoMsgTransfer["value"]): MsgTransfer =>
MsgTransfer.fromPartial({
sourcePort: source_port,
@ -112,6 +113,7 @@ export function createIbcAminoConverters(): AminoConverters {
}
: undefined,
timeoutTimestamp: Long.fromString(timeout_timestamp || "0", true),
memo: memo ?? "",
}),
},
};