Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
yushasama opened this issue Dec 30, 2023 · 4 comments
Open

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

yushasama opened this issue Dec 30, 2023 · 4 comments

Comments

@yushasama
Copy link

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))

}

@gagliardetto
Copy link
Owner

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

@chenjia1992
Copy link

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

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

@ishaburov
Copy link

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
Copy link

ishaburov commented Apr 9, 2024

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",
}```

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants