metaplex-foundation / umi-hotline

2 stars 0 forks source link

fetchAllDigitalAssetWithTokenByOwner(umi,umi.identity.publicKey) #4

Closed MarkSackerberg closed 1 year ago

MarkSackerberg commented 1 year ago

Umi version

0.7.2

Code

const digitalAssets = await fetchAllDigitalAssetWithTokenByOwner(umi,umi.identity.publicKey)
console.log(digitalAssets)

/*
Additional Info:
My goal is to get all tokens and balances of the connected wallet. Since I am using my testing wallet there are quite many tokens in there which even results in below error.

Is there a workaround, or might it make sense to modify the function to automatically batch the getMultipleAccountsInfoAndContext call?
*/

Error

index.browser.esm.js?59a2:4859 Uncaught (in promise) SolanaJSONRPCError: failed to get info for accounts 7uiuC6uvWQyfHEmCf98CpzU93FdDTD5hogPdHMzvCqNn,B52NFcTk1vnRyernpDQmTeA6CwYiGZfotZM91Mz2CLxd,6Wjd9ecKC7EN61PABzTESwzDJcungbgDrt6dFZaK8kML,2Mftn857yMa4VZzNRp9PHEo2WpNJjJBAUPvtsLXmtS6d,86Qp9kzjvrWs46wkgLrjPpkMUkKHpveiJE24WdEdbdpj,5EY9WWgZoesakiXi8qUXzPi9vyzZ65gyLQCVe9UDDYSz,8RAABLpfGBkXzZRLtHb7vF6QQiycGXhqPY4ff1u2Ddpz,3bPuFea4yNmLjKVBqEawGaoR59vVXnGF5X2VuYNzagpP,FBHiPuaKJZehyfyYPBy8PvrLfpsrpXxCTo6zsftfSQtY,5r4fFVbu3perc7z5hd6zXSFRdSGCMqeaf61dw2jUyVfN,AbkMAKMauaxkkpZxx8PrV1u7tvphsCkXjnTtXYfQHHnX,buH9grqYPkxmX7XyZb1dsn3KF5UZhhrJ8h7RH5zA4ui,6XdUFhAgq7QHTuZRGiicdVDA8Ede5Emy4pBAiDCiXYk,AFn4wrSBhpCuP5kLTk9nV5PnFfR2MFxnm2MDKg1mveFx,uWP6uUDCuFohSn2VeGo5U5vCF4ebX7qqf2tmy8uyugC,4iiuYPZtfwUV3aXWJ692LMBiBQmQQRv9H75sqauPQgMd,7a2ooz7Nk4wJMu5QGxP1xHktTTML2zDxu6tRQBHqZ3P8,3zmibVyVj5pTScDAYrwjcRaP99zg8ansRjekjMUu7rhe,8tYa2KHnucBEKuh3nwBhnphgW8P2ATXfAA1VUudMJLMB,7yVjxtKgPYSV4rH7VgjpQF4Pg7kNcfe7rYrAMwSCaLYY,Ga5YXQJhefhcbwLWNiJnHhBSpSKpsbegZ3vgT9xpW9hz,A49JoTdWbyzY5ug4MGGovNAGaXzt1SgbWqnFU5wRC7SM,Cw732SCdX255qJThGW3xh4gqH8yEbAtBRctCxNqLMZWv,9y5Vo3SQA5wJh2BESkSUUaQQ7KL7mwfAN2egs8U76SzS,D5obDSWRoKsHkpjwA9DFbJ3kyCLQZHe1zA8rLwN3eszv,5qBAicx49kNzvtutaRUyBELGQZRwERp41gHXA7z9dn5p,BvUzQ5v47iVxSzjbYL6EzkXx16xziAr6UhLU3DFxTo1z,J6GZt6AJP1BmbU8StUd5MFxZ16NHbXcMJDvxUKeBUVMG,6czkRnRgDKEyAiUmaM9iLpL21oV7ERZuavqMM8WJYYpg,6Bt13gsweqs5xuxFsuwH3YMTgVDusyxmrVkx688JLNZM,BeWW5fYvDKps2DSq86eaajYhJ5m5gMrggXRfMY9q3dXN,4vyoSYtA4gYpcfD8juBx6nDJGamwxAHUXpwwDjMhq3Ay,7qCsgWz4HUPzhf8mb8ctArwtAbUoqUUdXpGzzQT818e8,6eRYw3xVaE3WLQmQF85pZBg5gzizeiB3gHCkPpJVQeCN,8qzPAbckSzfiLSYz8Eg5cSndvKdNaGrUh4RxMCTq6KrH,BgWJnhCtdfWurPuyiQdF4LCLUb3QRfjFbhGNDn6d37pD,Ay15zjZtEg7SB4BfFGED5Sji9j8MnkzSLZRMEAaZSNMh,FnShmpnQxTK3Jvx4EReNK11Vg35cN5jTYESMMLK2bYvz,7Vwt4m2TMiaKqk6u6ijQoGVCV6H69RVbFCDLFX8oVkPb,6wgYRyDi2ASd9y1RvUvVeovju6Zwz1Gw3wsXxiRAeWxx,m6x2pTkvQsRthMpSQRavQHmCYUi3kczYZhZEgqgt8Br,AzHe3LmJemkdX94m3kMg5qr7zZF1SZ5y7GJBYgYXHwi9,qd2sq7BBmqvCNno2SnQWbWgRpQF38mUzPrqAXB4VtHS,3gg15r1RButDzcx6xfVPyxzWweA7WFL9PaTr8Pz6zZVw,5VtdZp973PgzTRcsPjtjp6z4BNzvxDgD3WibfpyVoULh,DreAdCN2WsEurcDyQcH4BESJuwiDnLc3daG65SJd5zvK,EvnYW1x7srcSeddCv5H2qeTXXBgn3UCq3pnAFrjpjr6h,9iC9X6AKhPNgJhC7AJTJuY2JbTyuSqKZ6YbuhY5uPdSX,FdGWxaR1FdkCgD6qhJgHsDqmDiUHYBdsp3EccU5qaAo,4PhFWmDbN43XJ4i8ggxiJ3BLpSn2bwYjh6bL4JnJBkkM,7CMtdzEjBznXguhSxEnpMYQtDFyor6Wcmf9df23ugSBY,FGcpL61oM43DhozaBjHGMEgAUe4s1YKYfBV8fKBeBxAN,D4G1o2Mpt6EzskU21aBRXqPjGtgEa3Qrk4FvsD4CNwbW,Bp1xKSxZx8LUGTRb8hjp9HHcC3rADzToin57rS5g2zRA,3kiHAKShbi23xFMazmQqcQTN8o9Nfyd8NhZSSsVUytMr,EvR7gN3Qj8MPoGMPL6T7kWxyTZhA5kWpe53YitLCcU4R,FxQRiefKpDEXRJzD4EfHwbnNmKCQu8fF7EfE5zyQveFi,7M5pscRYH46XiQMbLN6NYfvPiM2ZUPCMVjDqvxgz9kBR,3PfgaPZwuTnAzhnxJRVtMWRiB2n2WkvFjaXwr4JEbvh2,ETrkJJu1pk1YRkcmE8SWxuVozbxcNjTs5trdzJ7oZWtN,WXZmHfsWue4aJdq9yyySpAfwNEaGWNJrUf9UVjEdEsi,GXRVFLojKiFKVF4zAXLecxQyJoSoYYopP1ijXhdNUhhy,6RrV2gmXfaFPcKsx5gmKEcg3EwEUSdwxmdys7XtobVQX,8dJbf6i87SK8r4ejF8vqQyawWsncvu3FNqTVA7qx6nSz,A7kHGwCi1kQWy3yvsQABHjWV3axSVxjW4tPYEXxJfE3W,2xQF48jsSfAjxybDQMUZeCJzThKeDKVXPVn4YCGmE4bE,4nGnYBpVyVUb6LHS6YmDYgQz7CfVr5tEGaMj4GqaCxTk,8Gi5QoYinQpqNDF691Lbd9WGDn5w25pJh78VwmyPcwds,GfBUEQ7erXwWfH8bLLngvTSKgWoFfcgMdjZUK5QnntS3,5qDx98xZqfammFdzbFvVWCLR8kiuhAizfCb9hxUGuP8d,CGRi9trhXLVUF9EXYp7CdhLybLsafVaEYJLKMjEDRnVd,D6ib9thEujpvpnnPfSxNEp4Su2351q6XAT7bapUQvgAa,HoVNnujqSj6hPyWKC8qLyTsM3ZEMBPybLiURS8KtykEr,5UvtbjyhrfUmELQyCZwyBbegwbcfrhESvVbEcGQE1waF,GXXU1NjatadwQ7dpX9eoE35KXaRkbWqa5QHqXZzMRioe,3wRbith5XW5stcvvEFxVM1kGESrE3WyxGJzzf8E549YE,2jKLJByHuiFpYdgwfAiHqe5676yDjCMAAGCnUmopTCk1,GC1fNErgbYj3vEeH2ySt2QYTirxmPXrH8scJrTAEnHeC,7zWLoVNuVseEDqw5Ys3F4p4rZhRBE6vZuEjAJwJAJPfT,6R5pv3bcmjwmftKHThnMjgXTSTCJVFSeA5aN9dmzz8u3,AX5qQBxXCRA5HHrgSHmNQhehBVcRC9h5njqLeYLBmoGy,5ZfVp3sD1ASnavkrZJCWgB6wsxM8LfVN6y6mRMCagKqc,CCQmMMy6YbzF2n7V2jTUSmwxixCW8TWEX1bf1c81TXsM,VEHunXR26aDiviaDY5hLa8JSiNftBEXrqta9kEnun3H,H38mzW9URgporDty81Q5HEpunLdnW9QBLj1W8cBam3aw,5i1ZsmavZoKDJka7fPQm4ziDABiTFucNMGLP9FZDwZFg,CVt1N8zYQvaoR5XQ3iGsBbzdKKbp7CSQR6ssZMXjWFLd,CfvY9bjdiyQWSfXX185Kz1KRiZ4NNxgpL24KUtTvcCFQ,DmHa9hpCPRG85V1Zg2b2oJGdEBeXHszirXgRdXyHbZDC,7grjbzKzC4mv4gs5GLBF7fUfCCpYmhx3jnv4xrJWQRsh,FCDS8DUBgvMhpRnPD59p1Yf1PZj1KcGFWPj8aYqpaiAY,3bjJS9RtyewZwQqDP1gTVw2Ltr1mmuTKRx76YkXkUVk2,AdUzKKBPvjmzjBzsV9hmNikVRBGzELX64sNewDv8md14,F5xdvk8bDfzJJ2Cjn4P3MWWwDB9Myo9B9MbYB3bqVVLG,CJoS6jCZvsQznLjqybhRthkFhw4uxGEZpBGUHSP5PtC,8p6Kom1EvAecdSTadx1qCd6yiyH3viDXrzngUfw3uD2U,mbgLvsb8YFwypMBi2rnEq7Jc2szU1Wtum918ntiK4Ab,3YKRqp5HhY75B6ZMd5sF5in2EzMNqhrzRFr2Js59jqqq,CVpNGovFZzyaFH3SpBEZeciyHvzZ3p1sUMK5GH2Xoagw,B219QBSvg5g2tCYsNM6bvEK4JPwd41UgvMnenNc3jqrR,6LQN1kkzuCcjaEiLcqKpfEUPdwdn1b2ZVRerQaYGvh9e,GY4QtrBSDADRXmY1F6L1BNSt8Sz6EL8VnXFFmYrnJJez,7NfzEW9oaPbErXJjnvHzTAcrjEhzoN7whXc131cw4Tf8,4ZXqkrpoVFCjjLc9QcYZRnyGEz5pTR5JUu2djCAVfHrv,BBPKcca79eRVT64YHKYvBJ3H2tfXJ8LPvxCtbbo3tDK1,5N3uYauzt5mUzY9STU62rw7Mkamg6KF9zCnsvC8dAHKX,6Dv17B7f19Xr3YUbQjy3GpsFuAzLC3heQfL7VDe4TJM2,FqzbtFNfGU4hLAUgKcLs8QVN8VQ1cBWvPxSPhwhg9zAC,CZtdkLq9tUigy5QY7AyUSHqhERFQHa2YBchnCeCc6gXQ,Hb5gtfdUAZufoWfCBs7xdCAMsv3LAsaV6gYhY98jGtTX,HrkdMrbpNyW5izCmHiiib2HsKKo3vPBB2D6RDoBv1x3N,CGKr4gVDxMeygjVjhim4ui2Ld7UBYBtHBTccCDG2CJmi,iwTta5XTdqYWgLpYmGpGSHo8iXiDwZS8QUxybajnKvk,CAGGmxrgWGYdP3wCtYZNTSd89hRmb9kdonbNpH8iSGFi,HsEvRq1PkdhKVrjoqX9BHjnuuuF27298XQtJBq8E3LQa,Fy7ipCa9A14e5KJq5Z9H9S2v94v9rhATvkmYXmsNi74R: Too many inputs provided; max 100
    at Connection.getMultipleAccountsInfoAndContext (index.browser.esm.js?59a2:4859:1)
    at async Connection.getMultipleAccountsInfo (index.browser.esm.js?59a2:4868:1)
    at async Web3JsRpc.getAccounts (Web3JsRpc.mjs?a0db:22:1)
    at async fetchAllDigitalAssetWithTokenByOwner (digitalAssetWithToken.js?93eb:47:1)
    at async onSubmit (index.tsx?07ff:83:29)
MarkSackerberg commented 1 year ago

Still not sure if it is good that it fails at 29 Tokens in a wallet already, but as workaround i will be using

      const tokens = await fetchTokensByOwner(umi, umi.identity.publicKey);
      console.log(tokens)

for now. It does not parse metadata etc., but returns mint addresses and amounts of held tokens which is enough info for me right now.

lorisleiva commented 1 year ago

Hey Mark, which version of mpl-essentials and mpl-token-metadata are you using? The latest versions bring some improvements on fetching accounts by owners.

lorisleiva commented 1 year ago

Hey Mark, I'm closing this since it's been a month but feel free to reopen if/when necessary. 🙂