Skip to content

Commit

Permalink
update abigen
Browse files Browse the repository at this point in the history
  • Loading branch information
gjermundgaraba committed Jan 30, 2025
1 parent ebb37e4 commit 888484e
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 20 deletions.
28 changes: 14 additions & 14 deletions abigen/ics20lib/packet.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ import (
)

// EncodeFungibleTokenPacketData abi encodes the ICS20Transfer payload data.
// This works the same way as abi.encode(ICS20LibFungibleTokenPacketData) in Solidity.
// This works the same way as abi.encode(ICS20LibFungibleTokenPacketDataV2) in Solidity.
// The encoded bytes are used as the payload in the Packet data.
func EncodeFungibleTokenPacketData(ftpd ICS20LibFungibleTokenPacketData) ([]byte, error) {
func EncodeFungibleTokenPacketData(ftpd ICS20LibFungibleTokenPacketDataV2) ([]byte, error) {
parsedABI, err := getFungibleTokenPacketDataABI()
if err != nil {
return nil, err
Expand All @@ -20,15 +20,15 @@ func EncodeFungibleTokenPacketData(ftpd ICS20LibFungibleTokenPacketData) ([]byte

// DecodeFungibleTokenPacketData decodes an abi encoded ICS20Transfer payload data.
// This works the same way as abi.decode(payload) in Solidity.
func DecodeFungibleTokenPacketData(abiEncodedFtpd []byte) (ICS20LibFungibleTokenPacketData, error) {
func DecodeFungibleTokenPacketData(abiEncodedFtpd []byte) (ICS20LibFungibleTokenPacketDataV2, error) {
parsedABI, err := getFungibleTokenPacketDataABI()
if err != nil {
return ICS20LibFungibleTokenPacketData{}, err
return ICS20LibFungibleTokenPacketDataV2{}, err
}

unpacked, err := parsedABI.Unpack(abiEncodedFtpd)
if err != nil {
return ICS20LibFungibleTokenPacketData{}, err
return ICS20LibFungibleTokenPacketDataV2{}, err
}

// We have to do this because Unpack returns a slice of interfaces where the concrete type is an anonymous struct
Expand All @@ -37,8 +37,8 @@ func DecodeFungibleTokenPacketData(abiEncodedFtpd []byte) (ICS20LibFungibleToken
Denom struct {
Base string `json:"base"`
Trace []struct {
PortId string `json:"portId"`
ChannelId string `json:"channelId"`
PortId string `json:"portId"`
ClientId string `json:"clientId"`
} `json:"trace"`
} `json:"denom"`
Amount *big.Int `json:"amount"`
Expand All @@ -49,8 +49,8 @@ func DecodeFungibleTokenPacketData(abiEncodedFtpd []byte) (ICS20LibFungibleToken
Forwarding struct {
DestinationMemo string `json:"destinationMemo"`
Hops []struct {
PortId string `json:"portId"`
ChannelId string `json:"channelId"`
PortId string `json:"portId"`
ClientId string `json:"clientId"`
} `json:"hops"`
} `json:"forwarding"`
})
Expand All @@ -60,8 +60,8 @@ func DecodeFungibleTokenPacketData(abiEncodedFtpd []byte) (ICS20LibFungibleToken
trace := make([]ICS20LibHop, len(token.Denom.Trace))
for j, hop := range token.Denom.Trace {
trace[j] = ICS20LibHop{
PortId: hop.PortId,
ChannelId: hop.ChannelId,
PortId: hop.PortId,
ClientId: hop.ClientId,
}
}

Expand All @@ -80,11 +80,11 @@ func DecodeFungibleTokenPacketData(abiEncodedFtpd []byte) (ICS20LibFungibleToken
}
for i, hop := range decodedAnon.Forwarding.Hops {
forwarding.Hops[i] = ICS20LibHop{
PortId: hop.PortId,
ChannelId: hop.ChannelId,
PortId: hop.PortId,
ClientId: hop.ClientId,
}
}
decoded := ICS20LibFungibleTokenPacketData{
decoded := ICS20LibFungibleTokenPacketDataV2{
Tokens: tokens,
Sender: decodedAnon.Sender,
Receiver: decodedAnon.Receiver,
Expand Down
12 changes: 6 additions & 6 deletions abigen/ics20lib/packet_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,15 @@ import (
const solidityEncodedHex = "000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002a307861346164346636386430623931636664313936383763383831653530663361303032343238323863000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a30786364313732326633393437646566346366313434363739646133396334633332626463333536383100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c736f6d655265636569766572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046d656d6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"

func TestEncodeFungibleTokenPacketData(t *testing.T) {
packetData := ics20lib.ICS20LibFungibleTokenPacketData{
packetData := ics20lib.ICS20LibFungibleTokenPacketDataV2{
Tokens: []ics20lib.ICS20LibToken{
{
Denom: ics20lib.ICS20LibDenom{
Base: "uatom",
Trace: []ics20lib.ICS20LibHop{
{
PortId: "portid",
ChannelId: "channelid",
PortId: "portid",
ClientId: "channelid",
},
},
},
Expand All @@ -34,8 +34,8 @@ func TestEncodeFungibleTokenPacketData(t *testing.T) {
DestinationMemo: "destinationmemo",
Hops: []ics20lib.ICS20LibHop{
{
PortId: "portid",
ChannelId: "channelid",
PortId: "portid",
ClientId: "channelid",
},
},
},
Expand All @@ -57,7 +57,7 @@ func TestDecodeFungibleTokenPacketData(t *testing.T) {
decoded, err := ics20lib.DecodeFungibleTokenPacketData(encodedData)
require.NoError(t, err)

expectedData := ics20lib.ICS20LibFungibleTokenPacketData{
expectedData := ics20lib.ICS20LibFungibleTokenPacketDataV2{
Tokens: []ics20lib.ICS20LibToken{
{
Denom: ics20lib.ICS20LibDenom{
Expand Down

0 comments on commit 888484e

Please sign in to comment.