Skip to content

Commit c0e1d28

Browse files
committed
fix solana getTokenAccountBalance
1 parent dc4ec35 commit c0e1d28

File tree

2 files changed

+198
-3
lines changed

2 files changed

+198
-3
lines changed

chainbench/test_data/solana.py

Lines changed: 194 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ def get_random_account(self, rng: RNG | None = None) -> Account:
153153
return self.get_random_block(rng).get_random_account(rng)
154154

155155
@staticmethod
156-
def get_random_token_address(self, rng: RNG | None = None) -> Account:
156+
def get_random_token_address(rng: RNG | None = None) -> Account:
157157
if rng is None:
158158
rng = get_rng()
159159
token_addresses = [
@@ -162,5 +162,198 @@ def get_random_token_address(self, rng: RNG | None = None) -> Account:
162162
"5fTwKZP2AK39LtFN9Ayppu6hdCVKfMGVm79F2EgHCtsi", # WHEYO
163163
"NeonTjSjsuo3rexg9o6vHuMXw62f9V7zvmu8M8Zut44", # Neon EVM
164164
"8BMzMi2XxZn9afRaMx5Z6fauk9foHXqV5cLTCYWRcVje", # Staika
165+
"EKpQGSJtjMFqKZ9KQanSqYXRcF8fBopzLHYxdM65zcjm", # dogwifhat
166+
"JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN", # Jupiter
167+
"DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263", # Bonk
168+
"HZ1JovNiVvGrGNiiYvEozEVgZ58xaU3RKwX8eACQBCt3", # Pyth
165169
]
166170
return rng.random.choice(token_addresses)
171+
172+
@staticmethod
173+
def get_random_token_account(rng: RNG | None = None) -> Account:
174+
if rng is None:
175+
rng = get_rng()
176+
token_accounts = [
177+
"CF34PLYZfTMteS2mR3VzxsHjk6VXfCTnAcnwaEGJrknt",
178+
"97DxJzDxY71ofivxpNuNyKYcZy824zJWAXYemM5Md4Dt",
179+
"FE2BNorsuDMFDQ8XNkDfxp5x2H59qviowi39RVBzPf2S",
180+
"2CR6HNJrq8g6auzwpQiVP2TcbE2gAPZxGT16pTU6h13g",
181+
"4ZFd7tmfZzoyinBR1mWSr5FfmjdyvmbZ7DMMhUjrx7jW",
182+
"FTUTbTrWdxctBh4DrYTK8Scrtnj52KMSYbc1RS9ytF6J",
183+
"2eZAfcCyxPwxxqK9gVfzPcJH1jrnfa2xZggy1RFEiDHd",
184+
"6ttf7G7FR9GWqxiyCLFNaBTvwYzTLPdbbrNcRvShaqtS",
185+
"62KEKuC6yPmKy7M1PJjk8EWuouuF1srk4rxwPptsoySh",
186+
"EaDGsTov6CvsZZeo16cbrrtUE8J9gjkSPis5c6SiSHEH",
187+
"FcTsmtRX9wNFhiviJbW5YgG3PKXDNQtemQA5zNL2W1pW",
188+
"HmrKnggYYcNVwF8S7L1nno7LCKzobDBjX5UBuzFZukYj",
189+
"5nox3B41bSNtJV3s7gFPWVK8JtdaZ4QxCVxrhpGgnw4B",
190+
"GoBAZzgSLnoc5mXuUHgMLKsqYX7BFrdgwQYJL2cApgmX",
191+
"3GXyFi89uNvGPngFi65NYsWxxHTWDbJQtM1ntjGfn2gK",
192+
"4T6FHkAmoW21ia1GWDT5KBMd83kjwrPiXx4QYTkxz899",
193+
"FwrCxkDG1vahAHeGi1Wr5mBgLyayUvCy3d1tbnhsAQ99",
194+
"EYVDkQXrjNwwpxw3m2EojnFJgyTVuan77XxMs2hbBk34",
195+
"4BedR6CnQRtHq3aMVcHcFaU9sT1Wns2vEKah7ATFimY7",
196+
"3eApKHDU4GpXD2L1uZ3CQGMj2bAq6grhdZz9zsf9xacr",
197+
"8gesfhmNebstEuFovKzFgaeq5LPtjM2esrq6JA4eQadJ",
198+
"ANjPXGaMSho5dp5A78osdTAYhWrt8o2DVQEjPhd2pZrW",
199+
"EvcsKVtsH92KvvAfA6SbWGA4ShTTTsWZt48KTdCuCd3Y",
200+
"7znyJ3N4K26BmispS6z7TNWfar61KzFiqbx4pYmtG4dN",
201+
"3zQXNfbzwp9L3UbwMe3JsSjB6eT9Wcx8B5RQ2VS1G2fL",
202+
"7mfvcxhqSzqQ9iTHqDqugC3HVBcnvoFsdgWEjLyykx3E",
203+
"GJscPZ2xzayPa8QXW2Xi2WJPHaj2k1TQDShbhYJUHR94",
204+
"3shgyeu9cy8xkkRwDENKnsYXxsCUkc5suq3aYXi912XW",
205+
"3FGoU3eRepLeK5ZD1jA4GhSWw7GUYhsJwPBB5Qfihrmt",
206+
"3voYsgqCZEWvyG8xSkNhgqYb9ciKNjzXX91JwesqdasT",
207+
"G58QLCn2H2TvtoPT5uwT8tjpYAUa1CzWsbKJXUPqMaJ4",
208+
"J5jtM83Eoyn1TQdxu1hRC96dLy4ZgenN9vf6Fk5jLe9V",
209+
"GvZ4emMJfgW9U2nfw145FraS2BMJyGsmoji8eWi11d6j",
210+
"DugPkEmWHgTSXNMGAD9r3SbL7MgDrnuHuSeH695tN8FQ",
211+
"39uZe8NUJJVnNmQ6nA6VxQFwQ3GqypvtVrnhSLbByRBr",
212+
"8zBEBGcPZBVqu6fRmxsiXCEG4ehvh3TEiy8gq6q6E6YL",
213+
"4bEcyAvz5zSzFwAnEAHGSsUG1EASMnbJSDPSipPKStti",
214+
"DTbktzGachmQVW1sH7sNxCYrs3YpcEtyDuBcHAWr6y3t",
215+
"HQvP9mRNpZBXi3CMsp2vP2H8qaGAFeQobArX455Ugoh9",
216+
"4iSr7wAsfe9ohXSS2Z6v2icV94X81hPtPLLvt6ss84yb",
217+
"3d1Vr3n7cdzhk3vrSn2eXm8H3gqSircLVqwqcEKc4AX2",
218+
"4zHS6gTzBRXpJojhJgHQRCVYhMAdDBHW2QSU7SNMtXh9",
219+
"JguSE1vBoUUSN7MxZBHKJHjXxECW7d12xLPLzVV7SYi",
220+
"zGWrqUkuhmtHA8G7JJ3mxbbAxxRYpC2GXWnKyYMFDM2",
221+
"4ehpyuufJtzt49CtJYaN3HLDYYMotvR34WKkFBNe4fDv",
222+
"HsrDHXyWT6gNPnHPSMgoHpQxLSqMcsyJCXLvp4oxhoV7",
223+
"B4kZTkeZCTnHf3J6pWC9deHUx4BWU8cZPewY6PtWYS3s",
224+
"HjVvBA8HX3ZxA9wAziApGXTQsZnLTtDxQa9ymSCkke64",
225+
"8M23uCAp1Wc3jTKhq7nzTxqKK54XVdDwSLspv1x4Yigs",
226+
"DW8awKneKxcep9iouLeNwWRAzC6rz9sLKAgENpXL6BBd",
227+
"HU5CJ61HKmWfBzK6jrD2q6o17iwrkf3T9xqrdBgPBR5F",
228+
"2yobwT8wsq6y4fbEkdnZk5Mj42hiAZW6tyiLU4KjhPVc",
229+
"9vujwMDWRHfXSHs1oTEUXcUUwWmev4gf2mzJ2FzNbmkq",
230+
"2wkdLjUEmaQ88Ut1hi5vRFoFgSpovz8x9xj8nhURTKJB",
231+
"Cdigh3iZD8DvHTnNyC4Sm7uiNhiFmY2EcpfCviLG2AEC",
232+
"7ZHAcG8T12tWeSgvvTNDE3hskFfXRaVe3PRMjvEAzCC4",
233+
"5m1gS9Sphbvt4zDCu6gqFqVcekCX8eAtfwJjPDMUVvxJ",
234+
"9HHMyRMeYSyeR45LSnHHvpofq8cnX2dShUg5zmHsDpiA",
235+
"4WMDNjMpKLEbC4oqAeTchN5WjwjJrnZdTzmpTqdeJoc8",
236+
"r1RNBu4Grexhe9AsK1cakgyzh93uxmXzeKk7jApVhKf",
237+
"CfE7AzLsSsEBSsQgWAvXes9qfQmE7WYJTdApMefu8ZaM",
238+
"HSizfxkFyeUssoVvzgjkgArQ4RFyKZWMmHU554Ya9V6R",
239+
"9okWmESkYFw3Jmk3KxRijp2TMM21YHAGaUFRZNUoDFjP",
240+
"FRojFj9xyuFtePNn4xuqPzZU8CLyLpAaYPwf7aG8gotJ",
241+
"A5zrmTFMPpTWhSxay8gDr3rLr4WguCPYp8um5ywRFeCT",
242+
"8VWPNtQvjSGrot14cgBSgNDKJhLvFaodcpY9dFGZJx1z",
243+
"3PqVf4rm7Yx1GqdND9Q6mMormXfFZRvTJdBFwBEGdobB",
244+
"C3EJkyHWfAn9mZBi6SneEp57VvpYNxVnqE9AtwmvAuo",
245+
"9x2FRfDMAiDBSZPR5HJje6bpAH8XHkeqedBopbwu9g1H",
246+
"gi9vP3V2p5mDYURGNo7CPcEfR1tMp3sxjbQ1AHvpyxZ",
247+
"BbLCUYHyYcRJCfzgoow96MSMb3EKdHWL4ALq3YNJpA2z",
248+
"HfAK56UE6pLwBM1kQxn1vAk5W6sRBrSE8KrndCooR5Kx",
249+
"G6g2193UQA3N8byF9D7cDn5tYhAt6gbNB9zLNHZYJJaH",
250+
"3MXL9RNyHJcg3wYUBsbDLQyNTyJJRftZMzg7bxPsdFGf",
251+
"3bFoTw6XoeuYd1qMCQCQTf7EJoQHXjgJUB8W9FoSESY1",
252+
"BxQSVGUcfWt2k5AZ58rKxwxdCau2NXa9yt9osmDWU9hJ",
253+
"GSHsTFMNMtAyFP6PxDKvTHDDBzzZYUFQnqFumtcLFicc",
254+
"Fm5iBQMZxuH5XMNMd7RcfYxQuxhGNXsLZ5SZ5rLXnCGF",
255+
"6Y7xRKGwL1ok12NnkwNhAtumqb7ugZ9xvCYrnMB8Xviv",
256+
"H4BdrSaFofoeQRUH4g5fY9tgRc1yqCdEryETKnW26tbm",
257+
"CTh1akv2g7hRsBUFdjLrNW6TzAe34AukJBNsYw5sUH5s",
258+
"6fbPJiBdXAoN4qkXuxMwUNZUF77WxfeDPCznWCxVPdL2",
259+
"C4hXRxKmfucqNDndwYASSDm7EbPcoXG3LPFULdXP5MUh",
260+
"8kfrPrNzFv3ouvQBP4JwmA9upRu4uDAXf8WP7gmsRevA",
261+
"8PvETn7pxGE7ZwLUxQbob3zXcx8SFYEaKujWXkVdyzy8",
262+
"86nsBYZV6UyuiRqK5PyMKpbJAMkay7aLyfBieYjFw383",
263+
"7LBGStihbxoBAWtqDiVzTSg8ci6y74Ws2bbd2xiyXk35",
264+
"DGKpmnNkmKzgMsrJQsP9dYzxRChcf5PbhDA8Z24Mm9L9",
265+
"3Xjac1TpCgtW8U5RBenzmWwUfsNXhNAn7jdvvgURDped",
266+
"GLVvAEsrWc5vhknQdkVyDkyzgQ2kFzh4NhfqADYxzLZb",
267+
"9YzDwNLK5C7ZEKhYiNt27gbNejpdEoeTfKyTFwDsjfgy",
268+
"7Xi29v2bqBx4DNbVq1LA8WJPuyLiRPqCxxBBZBnNsumu",
269+
"BKqEQy6E4Pa2yAEssbQS1PfbjQCfKSmrjqNCtemY8dKk",
270+
"TsG1nsBvMxKULXtiAgH3iUatrFzihw9MgHyz6VGHSSJ",
271+
"HthTrkvsRA1sAuWRJmP4UAB37VT2RTgT7QFWvWKMRey",
272+
"5SR9UtKUJpXRFd3W1bnNjS44vJuoFQyAznoESzGA7M1r",
273+
"Eqz4J57GkmPq2P2U8yWGQspUB8FWBLnidoPhMcvWS1Jx",
274+
"A6JCe9BDEby7fsevUbzTqU9jFBbkHwSuDmJGhoPLy44L",
275+
"Grh57JBjPDYeTwSqNsQ8i3ks2HJsq5HxCFHpqhNcWiDi",
276+
"CDeni3XaGkCrbN8Wm2PwmFHnk3ce9cEFbitRC1NNxxrE",
277+
"7XX64f8UKE1nxNCSwncCUj3c2FJYdXHmDV5xd5DRdFky",
278+
"EHDnHqX6PtnSdPfsnnr1oWtmQbenDwqZAKUo5QAq9Ro3",
279+
"1LLLyMZvAdimbcsC4Xp7GVWiJScztEpfXVR9upyxq5G",
280+
"DsxpGaCZ13aUfDDz2CSjuzCA8XJJYLuGsV65KXdyLWdW",
281+
"Fm7yBTcuUDBdzj2PbP6tr8uiFAJwS53kNQbwEERHP65A",
282+
"EdhM4qGK29P2X1GsRYZtF8E5v9rkd52NRXEh1d8BzUc8",
283+
"4kT3EXc5dDVndUU9mV6EH3Jh3CSEvpcCZjuMkwqrtxUy",
284+
"GqzXwoPv8TJtxqDDB1G3Q35MQpor6433fdB18vdNYfqC",
285+
"AaJyLPfJoJFcUHHH7VDWsqyVPb7aMAwcRHB2Z7YXt2La",
286+
"6sJ9tDgWmQxkEZSk8xihYiJUpmFL3fdgLQ6DayCSDR2U",
287+
"7VKFsPJooGLrWvMqyjvfTucUQRKzop6iErPGw4S2r69K",
288+
"DNnGKYfnrQirEr2Z1145WLLtRCwtaZh8PpzijrWUDKMr",
289+
"3MWHzLgLQ98n4htEJXKJWNUNUfbeexWEDnksRFxDsLeS",
290+
"6fafNTqhRyQ4Q3cwD9VVhXZAVCtL1YYW2kSKTD3ytBse",
291+
"AUmMMDCvmghtsrn5T6EzcJBiaSApv5P4d2XVQdZAg1vp",
292+
"BADVD1RWzAXDd62Fj6RPTnmFwXxviRjxpvSaidarHDc9",
293+
"2Dyj8L9kv4wSK4sXyfcduoYoPUouSQWsuv9THm11cvEh",
294+
"GygCQjU9eTr3WivrstviJhJqbDL4tnoAjGXCGo1XzEub",
295+
"CBzCGSmuNKKrGjMQLQ1ihkbVUJRATavcsd6rdiZ2CFv7",
296+
"pC2qrgQNnKZ87JxBrULrZiLhEQim8SpchAxAKnqDnya",
297+
"26ddLrqXDext6caX1gRxARePN4kzajyGiAUz9JmzmTGQ",
298+
"6G4XDSge4txj5tBkA5gZqefXXE3BRxqA37Yb1pmrHv6N",
299+
"7bEL9XkPGNg7a3oSiUERKsZtFoJMqKh6VhGDCmMCPqdg",
300+
"K6U4dQ8jANMEqQQycXYiDcf3172NGefpQBzdDbavQbA",
301+
"GDijXRGfd1jhk5GkRPp1TDnEH2FfHURSRZeB5um3pUWk",
302+
"DWVtxR7oo3uTiuM3o1cCxTJ5wM8Wnjvu1apwMkQhdedY",
303+
"B3NG3yTDwf3sL1oCUvf39HtdzWbtYoinNWqKDoRJTeuH",
304+
"CeLRs4kchQbWEcqZf7ctGrYhXwbU89fVxRs4Q34XeiHq",
305+
"GQrdtzmAsXpb5pPsENC68jXF6YwmME235ZJpRoKh5F5R",
306+
"ASehmX2sjG1Qz7MQyLJu8wBoV2Xx8cCV3uU8VbBDGQJQ",
307+
"649KG5AEPic6MDVdbXjLPWj3vy6Lc466qGjV9d5Y3VyZ",
308+
"FGHwSJMx8yvMMmfiZSd5jmL7KbbbubVpNrhYX7NXPCdu",
309+
"E6FLdjDBtHvzhMGihcbec34KfcAqSYW67kfJV8RAKH1f",
310+
"mGmik7Qf2YdrSZjTsS3ciZn4xyqiVHYUP7cfjQDT5he",
311+
"6QxycVhn6Zak2ky4HAEEanz85ockBaEfHxgtqPP7Mo1a",
312+
"FErFdzAFoA26ASDz9zh4Jan3hV2wRb32Mc1MFMXr7n51",
313+
"Ek7bER9cRJZVHE7Zzmig31PbqT9KkkjAKAgqnyof6JAk",
314+
"EbX6N2wuAAiF6WMnQPG15kq18nx2yApg9ikawxDHBi7j",
315+
"2V9CYburvmC2X2w96HFreUd9iEcW7BdWTFTJCt46tuai",
316+
"AbJpTjriAPp4Vuv5xjoWQHjh68NVSw36Wmky2hQVJJzP",
317+
"F8FqZuUKfoy58aHLW6bfeEhfW9sTtJyqFTqnxVmGZ6dU",
318+
"5hpfC9VBxVcoW9opCnM2PqR6YWRLBzrBpabJTZnwwNiw",
319+
"4XHP9YQeeXPXHAjNXuKio1na1ypcxFSqFYBHtptQticd",
320+
"JDPR4RP95CdtwLcjqe3E4cVthzCmkASfs4yamN9MZyPR",
321+
"CDV3tvd7XwNez9crbEmJpPjdNXceM1Ro5iHqTiaUKt2w",
322+
"6xAckK4UWmaX4CKu27oPzHLxMKzaDMj73WA9xKpqSFQ1",
323+
"9Vfbb8i2Z6WjDJwZEfmhwTk4paCpTYcyJgNFdns2GV2s",
324+
"2UfAKNkmBWjad3qKnFCRfzbHwwhgU5eBs2DDXSJBMVSb",
325+
"9uEDvRyhqygr6SrmvddRDaFbdsazQzuPQCsDewpwfbqh",
326+
"7FdQsXmCW3N5JQbknj3F9Yqq73er9VZJjGhEEMS8Ct2A",
327+
"AoEkWJKHXzrPsgsoawYTLG3aKb9L8oLmVqM9EXFtiPN7",
328+
"7a7iBY13WPKfSpkA1WMpoJB59NE2zr255THWg7GyVb1q",
329+
"7csLUpezHQH7f5uha3s93ruKutcniNQmxjmapRsrfxaR",
330+
"6jFRDDFQDCasLcWVMtixuu1eQCDnMhCttXktVeL7cEYM",
331+
"ATbwzBwGNM8QjLwPGk8PJz8FgCmfWfRud1zB8Zs6tLEb",
332+
"HJbmekvxyMuVjTV2gZKgdBYx94Bumugtt1GrWKBkTv5X",
333+
"AsBeRcytoLArFXwzovGH2gamp9by5B9V1TemMT5LDyQH",
334+
"3pY1zLGNXnQedWwCQeaaHK9dQCsfqMCRPzVD3DnZwSsd",
335+
"29zZdccuHktabvWwJaEokASw6pPBDVpqBDZxTicMhM1R",
336+
"GKD5CK5SqpB66taGqTwGy1FCTyzKrxhyrY7V68aKpoVC",
337+
"Eq9dm4pHewdSVaKdpVJogjLW6upd9hNkiboX2eSncmFV",
338+
"23KfDBTdpaBqfn8aUeoEDgfGJ5368gpnyYGfNkKcECqM",
339+
"5ULtZcyfuWvKuwB555WN4W1vsVW4F3yHU9UW1Gd7kAWy",
340+
"ADBN766ykF4HdkNa7Az8BVrpaQdvSpaMMULufBAs8U1B",
341+
"61YcP8msC5F3ZTLy99VWM2oom6y47UzNmSQQdXMmdCG1",
342+
"984XkyV6X29LUYSi476KC5cTFNMyegrx81EfHj6qWSeV",
343+
"DXu8wVJigvqBLNf18QYQbHn7hcvVWnCpCMoYAPuQGEyr",
344+
"7p1D1WBPr3sK9TYwrRwVcjYwacXhMH3WdJqqyowbvD1f",
345+
"52AXihP4T7dgtfxFMjjLBFVGucNvHmxMW5GkvM1vQyFU",
346+
"HmBHnMwfmsuEFZ4pFpYAXeAkcdnbWzCGEwZ2SXjY8W3N",
347+
"3XSoALqyVbG1ZMgmTwNcuUf294LzjUj7Mvy7MgA7YNVk",
348+
"Gnyw7rZykLq9FjLMzsu6nAryMJijy5FjCEbxxdkymRwk",
349+
"4QJg58aV3UUi2CJ99kiqCMizY81w513qvaQoNgPERHBn",
350+
"FQ2yHp7D3SBYQoe2crFATJdhsazJKJ9Yvq4xFbTzCMYx",
351+
"GSmbMHXC6czx77qXWT3UH1jg2jW6SWdD6D6mFFx3rYmY",
352+
"JDFgtub1sDznJgJRYbHZu1tGQsnhrz17gv8Arq8Zc1SL",
353+
"6BQsUwpVwmPyjGfpE3BAUsNmmbcVy9ygyDYXfpFZ785Z",
354+
"ACthtigKSdBXfCKLUfZNjQzLMmKHzjbSafqpa1NJ3M7J",
355+
"9omg1BYxdA3hhM1rmx3tpMnTf9aqzBRUE9bV6i77b88M",
356+
"HwyjTsHYceVsnhH3Suda9VSqtXftuN9wwjt4aUEx6C3T",
357+
]
358+
359+
return rng.random.choice(token_accounts)

chainbench/user/protocol/solana.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,9 @@ def _random_account_params_factory(self, rng: RNG) -> list[Account | dict]:
9191
{"commitment": "processed"},
9292
]
9393

94+
def _random_token_account_params_factory(self, rng: RNG) -> list[Account | dict]:
95+
return [self.test_data.get_random_token_account(rng)]
96+
9497
def _get_signature_statuses_params_factory(self, rng: RNG) -> list[list[TxHash] | dict]:
9598
return [
9699
[self.test_data.get_random_tx_hash(rng) for _ in range(2, 2 + rng.random.randint(0, 3))],
@@ -420,11 +423,10 @@ def get_supply() -> RpcCall:
420423
method="getSupply",
421424
)
422425

423-
# TODO: Fix "Invalid param: not a Token account" and "Invalid param: could not find account" errors
424426
def get_token_account_balance(self) -> RpcCall:
425427
return RpcCall(
426428
method="getTokenAccountBalance",
427-
params=self._random_account_params_factory(self.rng.get_rng()),
429+
params=self._random_token_account_params_factory(self.rng.get_rng()),
428430
)
429431

430432
def get_token_accounts_by_delegate(self) -> RpcCall:

0 commit comments

Comments
 (0)