package shreder import ( "encoding/hex" "testing" ) func TestDecodeRouteV2Arg(t *testing.T) { tests := []struct { name string hexData string }{ { name: "Jupiter V6 RouteV2Arg Test 0", hexData: "bb64facc31c4af14809fd500000000002222e8db1800000064000a000000020000005601fe102700016310270102", }, { name: "Jupiter V6 RouteV2Arg Test 1", hexData: "bb64facc31c4af144ff91634b90000004e6c4d05000000002c013200000003000000520000000000000000102700014f102701024310270203", }, { name: "Jupiter V6 RouteV2Arg Test 2", hexData: "bb64facc31c4af14ba2eafa02c1d0000777a9b2200000000f4010a0000000100000052000000000000000010270001", }, { name: "Jupiter V6 RouteV2Arg Test 3", hexData: "bb64facc31c4af144a3521186b07000030508d0e00000000c201320000000300000052000000000000000010270001740110270102590010270203", }, { name: "Jupiter V6 RouteV2Arg Test 4", hexData: "bb64facc31c4af14092d05050000000013701f198c0100008102380100000300000059011027000168001027010251000000000000000010270203", }, { name: "Jupiter V6 RouteV2Arg Test 5", hexData: "bb64facc31c4af1480969800000000006f44ad39bd0000001202320000000200000068001027000151000000000000000010270102", }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { instrData, err := hex.DecodeString(tt.hexData) if err != nil { t.Fatalf("failed to decode hex string: %v", err) return } t.Logf("raw bytes: %x", instrData[8:]) args, err := decodeJupiterV6RouteV2Arg(instrData[8:]) if err != nil { t.Fatalf("failed to decode jupiter arguments: %v", err) return } t.Logf("decoded args: %+v", args) }) } } func TestDecodeRouteArg(t *testing.T) { tests := []struct { name string hexData string }{ { name: "Jupiter V6 RouteArg Test 0", hexData: "e517cb977ae3ad2a030000004f6400014f64010251000000000000000064020340420f00000000005c1c81900e000000640000", }, { name: "Jupiter V6 RouteArg Test 1", hexData: "e517cb977ae3ad2a03000000646400017ab0b6c3d206f46577050000000c0000526401025f00640203bb628e2902000000338c430100000000320000", }, { name: "Jupiter V6 RouteArg Test 2", hexData: "e517cb977ae3ad2a04000000642300024b00000000410002761acfb15ea9fdcd0501200204769358e96343759bf8014402046196591e1e020000f5bf6fe101000000d00700", }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { instrData, err := hex.DecodeString(tt.hexData) if err != nil { t.Fatalf("failed to decode hex string: %v", err) return } t.Logf("raw bytes: %x", instrData[8:]) args, err := decodeJupiterV6RouteArg(instrData[8:]) if err != nil { t.Fatalf("failed to decode jupiter arguments: %v", err) return } t.Logf("decoded args: %+v", args) }) } }