solana-go icon indicating copy to clipboard operation
solana-go copied to clipboard

[HELP] How to create and a transaction from encoded B64 data?

Open yushasama opened this issue 6 months ago • 5 comments

Hello, I am trying to send a transaction using the serialized transaction data from Jupiter Station's swap api. However upon attempting to create the transaction, I am met with this error.

Error ├─ Signatures[len=1] │ └─ 1111111111111111111111111111111111111111111111111111111111111111 ├─ Message │ ├─ Version: v0 │ ├─ RecentBlockhash: 6tHdHdPrjhgYwJxzBvcgybV8MuAghkgXNjsBCrUXaFGy │ ├─ AccountKeys[len=46] │ │ └─ AccountMetaList: cannot build account meta list without address tables │ ├─ AddressTableLookups[len=3] │ │ ├─ C5h965GSxdRkA6tbcPnpSGWRqr5tiQwwu7n6Pqbdsncg │ │ │ ├─ WritableIndexes: [99 101 100 102 103 158 105] │ │ │ └─ ReadonlyIndexes: [97 104 8 157 106 170 96 167 169] │ │ ├─ Aas9yHSriUKGhwrQ6rZK1YdhMBSFwELCBidj8G9VjD2t │ │ │ ├─ WritableIndexes: [233 231 234 93 99 232] │ │ │ └─ ReadonlyIndexes: [98] │ │ └─ 4qJsnySC9dhAPnso2hQCrEpksKNBk8iyfWsQtWH8pBPx │ │ ├─ WritableIndexes: [18 148 154 151 153 152 156] │ │ └─ ReadonlyIndexes: [150] │ └─ Header │ ├─ NumRequiredSignatures: 1 │ ├─ NumReadonlySignedAccounts: 0 │ └─ NumReadonlyUnsignedAccounts: 7 └─ Instructions[len=8] └─ cannot ResolveInstructionAccounts: cannot build account meta list without address tables

**Here is my code, thank you very much in advance! ** func deserializeTx(serializedTx string) { encoded := "AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAQAJFU+I+Qn61djVg+sxFP3lyLig38CtkssIm2TFg01GzD54Fo87YkHua3xlN3E6/Seygev3oLa7gpPYov6jhtS+y78gCPIj5ascABEYuc1xQoQx8YANrxOiZRUKro4C+rjF5T+51jsvRc6Hs/W4HHEQHDb2JkyYNeVv3fNEnAqSkiFcY9Z4XWMeeLYY4Fj9fbV772KEISDbte1f1azQQ6AGWYuFytGu0xun1MR6WBWzYPsZ4g7vpwEt45e52D/zjjfpT4e1I/p3Gy551653GdDPX3KX0D4dWPXyZvsBemb3XlwHmN1/CHuqpp4C8aKOsXxMVGJ+rqMXLu8/u18oQw0SKPu2UZh1TAP7ekLlePeglgFlnqH/ACLRES7RTZvFGuqZ2bzWG32U1cfLaRtWiYtKYAe1z/IZzlSjmjh/4DiGkM3SyQ+0ezK8pEPmQbXwZ8Tz3O52/YACoT20v0iE4A7D1bTffFhDw/oH+PuBQdZrjAvoAlr/Mt76ZmEw7rDLumhgTwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwZGb+UhFzL/7K26csOb57yM5bvF9xJrLEObOkAAAAAEedVb8jHAbu50xW7OaBUH/bGy3qP0jlECsc2iVrwTjwabiFf+q4GE+2h/Y0YYwDXaxDncGus7VZig8AAAAAABBt324ddloZPZy+FGzut5rBy0he1fWzeROoz1hX7/AKmCl+VE/0RAahO3+mTCz/o+xuFd+JNeAMdBcN6u8BPzfYyXJY9OJInxuz0QKRSODYMLWhOZ2v8QhASOe9jb6fhZtD/6J/XX9kp0wJsfKVh53ksJqzbfyd1RSzIap7OM5ejG+nrzvtutOj1l82qryXQxsbvkwtL24OR8pgIDRS9dYR+xwErmzqwrfpGzPaZBWGHmwcfQEKF+HzJxQds+x/gGCA0ABQLAXBUADQAJA7CtAQAAAAAAEgYABAAPDBABAQwCAAQMAgAAAADh9QUAAAAAEAEEARESBgAIABQMEAEBDjMQEQAEBgoIDxQODhMOIhARIAYfCx4dBwIoIhARFQkXCxYFAwEhIyQYEQkKHBkbGhAlJyYuwSCbM0HWnIEGAwAAABEBZAABEQBkAQIZZAIDAOH1BQAAAACetZ8AAAAAADIAABADBAAAAQkDBTEStYWh0Gt5p9wb/3NKBSbB7YZyNPAf4ub6gOjsxI0DwLHCArPDD3gkTlO0/tiWQPsc6BaaqUbyJPeVPtme7giumdyAtoEFg4WE5IcFhojl4+LtLTpK8gkMMwb14IHXGBMgAG5KTOPBL/AAkfv0EzRH6wQ0MjgxATk="

data, err := base64.StdEncoding.DecodeString()

if err != nil {
	panic(err.Error())
}

tx, err := solana.TransactionFromDecoder(bin.NewBinDecoder(data))

}

yushasama avatar Dec 30 '23 08:12 yushasama

You need to sign it (replacing the existing signature).

gagliardetto avatar Mar 15 '24 13:03 gagliardetto

You need to sign it (replacing the existing signature).

Hello, can you provide a code demonstration? I've been struggling for a day.

chenjia1992 avatar Mar 20 '24 14:03 chenjia1992

You need to sign it (replacing the existing signature).

Hey i have the same problem can you help please

I made sing by my private key but it still doesn't work i used method

transaction.Sign(func(key solana.PublicKey) *solana.PrivateKey {
		if privateKey.PublicKey().Equals(key) {
			return &privateKey
		}
		return nil
	})
image

ishaburov avatar Apr 09 '24 13:04 ishaburov

In Json looks everything ok

map[string]interface {}{
    "accountKeys": []interface {}{
        "6f5hDWg4DZjHUHc8S7KgTsz8GjLPS3RZrGaM9WrtRoN8",
        "2e5HLJ2Y6v7Mcm4YmTtruMd5UcMNviqPkaEiPa7Z6ZEJ",
        "4juZmJUbdaskHpgfMfbCDx3G9EWknmHZNwtVpKbR8LRw",
        "ComputeBudget111111111111111111111111111111",
        "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4",
        "D8cy77BBepLMngZx6ZukaTff5hCt1HrWyKk3Hnd9oitf",
    },
    "addressTableLookups": []interface {}{
        map[string]interface {}{
            "accountKey":      "HvnVsdqDaP9e4YgjLqPC883KtPcpMMVe5hmtmWLqpFzX",
            "readonlyIndexes": []interface {}{
                float64(3),
                float64(10),
                float64(11),
                float64(2),
                float64(199),
                float64(69),
            },
            "writableIndexes": []interface {}{
                float64(218),
                float64(68),
                float64(212),
                float64(70),
                float64(220),
                float64(219),
                float64(66),
                float64(216),
                float64(213),
                float64(214),
            },
        },
    },
    "header": map[string]interface {}{
        "numReadonlySignedAccounts":   float64(0),
        "numReadonlyUnsignedAccounts": float64(3),
        "numRequiredSignatures":       float64(1),
    },
    "instructions": []interface {}{
        map[string]interface {}{
            "accounts": []interface {}{
            },
            "data":           "Jq2LoZ",
            "programIdIndex": float64(3),
        },
        map[string]interface {}{
            "accounts": []interface {}{
            },
            "data":           "3VBpcKfAcPzw",
            "programIdIndex": float64(3),
        },
        map[string]interface {}{
            "accounts": []interface {}{
                float64(16),
                float64(0),
                float64(1),
                float64(2),
                float64(4),
                float64(20),
                float64(4),
                float64(5),
                float64(4),
                float64(19),
                float64(16),
                float64(8),
                float64(18),
                float64(14),
                float64(13),
                float64(15),
                float64(17),
                float64(11),
                float64(7),
                float64(12),
                float64(6),
                float64(9),
                float64(10),
                float64(21),
                float64(1),
                float64(2),
                float64(0),
            },
            "data":           "PrpFmsY4d26dKbdKMAXs4neMTXMRgKnyC5V9LKxKbYtGBsbd",
            "programIdIndex": float64(4),
        },
    },
    "recentBlockhash": "GdJR9hgCP6Lp9uj1Q7QpKeqsJRdhVoKJ98dvVvcPqofd",
}```

ishaburov avatar Apr 09 '24 18:04 ishaburov