{"_id":"micro-sol-signer","_rev":"17-31543f8cf99d71f746256c21187a87e0","name":"micro-sol-signer","dist-tags":{"latest":"0.8.2"},"versions":{"0.1.0":{"name":"micro-sol-signer","version":"0.1.0","keywords":["solana","sol","web3","sign","signer","tx","transaction","address","token"],"author":{"url":"https://paulmillr.com","name":"Paul Miller"},"license":"MIT","_id":"micro-sol-signer@0.1.0","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/micro-otp","bugs":{"url":"https://github.com/paulmillr/micro-otp/issues"},"dist":{"shasum":"106ea3aefdec78bc56c70c70c207b0e392b53120","tarball":"https://registry.npmjs.org/micro-sol-signer/-/micro-sol-signer-0.1.0.tgz","fileCount":7,"integrity":"sha512-Fv2WeYBMlH9o/8P2aKnJCuhBRsyQ1peYp6aSZT9ESIzkbXP+O4ygTsw1QG9lQhuVpSLfpb3xzd+yVDpQtpicZA==","signatures":[{"sig":"MEUCIAykYjL+ogBLJ1PcXC5N7WvIIWrF3qCfE+M5n42DLn59AiEAiYHN4fhhvKM3yxVNmY78JL8UJqxF/cvd1DGTLqcIphY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":98351,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiyw1qACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrsfw/+KcKnKNzn6OUTX1llwocJeqfhFs+g1NJg70vrvWNvfGNAd34K\r\nRz/GiF2thO3OyIKLLNrPiRTV/pGK9dPUJwykK8P/YpjLTxY6Z4bNUwohQu+u\r\njwZlfI0uAhPN99UXVFRgSAIDhrJrk90wiw9itNC5JGHK/zGd+m0AWXcsFKU8\r\n0X5KnRLn3KhwGNg6fj8zBefcUXe1y/wdyLrFyTjDutGQ8QnR76qby/WQxh7x\r\n7X6R/q16WSpQ24Ku13NNiZB/jxfWNZGPhinnTKpYSnN7THREIQFaMalfDgf6\r\nmkXeR2jYzODaVNrAYhO37ZImt4suKtAmprXD9lGejodkd3PsKtuXlNQKNj7c\r\nXNg9fDgHMbYJpwPcHMtxcxM1vGPnjzwbOt3tJ10HNI18uMw3Uia5bMEptvr/\r\neiZcg6dtyRC4g7wICw1hPTywdME8XKuUoBwyMCohoPY6m5h4SSnVDr9g8jUg\r\nAgN12iCjwt5Lf5NG/1AG7VzH0QdGHYot2JgObfFnwdyWf+t/bemxjpW42Ytx\r\nxMaZHesCTsE91TgY9+8dzn8Ox3r7BnHecgusPcbhc9YDipOK53sE/2XuXGHM\r\n+4S7/33/f4bQC0K8iF3QNVZL+k/1Gm7Osc+kZMM9ezzk5loIitXwpxj1i1ES\r\n9CDkqaCcaOoFtKg03KPtCivcER1LLCI6qJA=\r\n=lWXj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","types":"index.d.ts","module":"index.js","funding":[{"url":"https://paulmillr.com/funding/","type":"individual"}],"gitHead":"3c612770acfbd720e9a6299bcf5439be7d9d2820","scripts":{"lint":"prettier --check index.ts","test":"node test/index.test.js","build":"tsc"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"repository":{"url":"git+https://github.com/paulmillr/micro-otp.git","type":"git"},"_npmVersion":"8.11.0","description":"Create, sign & decode Solana transactions with minimum deps","directories":{},"_nodeVersion":"18.3.0","dependencies":{"@scure/base":"~1.1.0","micro-packed":"~0.1.0","@noble/hashes":"~1.1.1","@noble/ed25519":"~1.5.2"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"2.6.2","typescript":"4.7.3","micro-should":"0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/micro-sol-signer_0.1.0_1657474409824_0.16553551802244248","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"micro-sol-signer","version":"0.1.1","keywords":["solana","sol","web3","sign","signer","tx","transaction","address","token"],"author":{"url":"https://paulmillr.com","name":"Paul Miller"},"license":"MIT","_id":"micro-sol-signer@0.1.1","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/micro-sol-signer","bugs":{"url":"https://github.com/paulmillr/micro-sol-signer/issues"},"dist":{"shasum":"b61018cb28ea38d25ac186ba43b2e1a416ff47a1","tarball":"https://registry.npmjs.org/micro-sol-signer/-/micro-sol-signer-0.1.1.tgz","fileCount":7,"integrity":"sha512-vrc4q+KGN6xkRbb7B7IQjLy96ntt87HQrdxVruPOW1j6E9B6vSYiKTH3V7dtuiKHwXAAiI4J8ZVwEOZ0qK0X/g==","signatures":[{"sig":"MEYCIQCcMiD/RdJiqZz5nEhPJXI1FxJW63KuRImVmZuPjY4vnwIhAPp3CuS5VKQukXzorZtSXyyhd51oPYp5asqv0fzoGiIm","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":98669,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi2KELACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoLlA/9HQHh8u1BQbzaKYsCvvK/l6MqhWUxL+FnQsE49qo8WHP4AIgN\r\nwvR1HBqFfzw2xFDQa/u+rNpwwE31PYSwEIwv9npoiz0QvpAnOA1xh6oo7UFD\r\nWR03El9/fq6qqQJp+7c4AeCx7/mgjVecswyZUFuOwwYxCiTThc06JqZ/6rwi\r\nQ3KFiU/C6qlPzLNcP40+gzyNnDy22XH4+u9+ILHIkLFwv9oa584MeQUVyH8p\r\nrQ9cg77ux9Y4w3Vcdn7B7ZcurVrDqZMWactkHixuwISsa9iUJXcU3T/WrVA8\r\neS9hv0+gK6QtoMDezZ4A4X4SzUizzg6CZJAwXweehrs1BSpvLIaDlzZQ39KN\r\nqop2EFVkn3V0zJwlqmnB3mlSTPfEH/enTn2TBULEh3DnNJx++u6rcdEKk8ID\r\nVvGtq2IEiNCq44tu4EYs1/AcNKumHE3VLtLZTCPOXNYOAiN3bIrMkFVXlg4/\r\nlSkVF0m6VS8a5Hqk3tQXpDYdD9ZGdvQTm7cxWY8L0kI/9Y9rP+cd+chI5aAf\r\ngSyPxsjInHkKc0hZRHj8LIuG4ojFyNaucA6ecNCntMQyN444lnAufaLFACy0\r\npI8D9aZjc9bXG/3TYfQ5ZGtbFiJgPyd+gC0FfeowxS579gJQGlhqyOK1WvFV\r\nqqFWnED7YqcBt8caSXyVhdOJR0EU70RJmsk=\r\n=uraI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","types":"index.d.ts","module":"index.js","funding":[{"url":"https://paulmillr.com/funding/","type":"individual"}],"gitHead":"7115ca501137093e29e2fc8ceb03240559b0766f","scripts":{"lint":"prettier --check index.ts","test":"node test/index.test.js","build":"tsc"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"repository":{"url":"git+https://github.com/paulmillr/micro-sol-signer.git","type":"git"},"_npmVersion":"8.14.0","description":"Create, sign & decode Solana transactions with minimum deps","directories":{},"_nodeVersion":"18.6.0","dependencies":{"@scure/base":"~1.1.0","micro-packed":"~0.2.0","@noble/hashes":"~1.1.1","@noble/ed25519":"~1.5.2"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"2.6.2","typescript":"4.7.3","micro-should":"0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/micro-sol-signer_0.1.1_1658364171177_0.643884605127554","host":"s3://npm-registry-packages"}},"0.1.2":{"name":"micro-sol-signer","version":"0.1.2","keywords":["solana","sol","web3","sign","signer","tx","transaction","address","token"],"author":{"url":"https://paulmillr.com","name":"Paul Miller"},"license":"MIT","_id":"micro-sol-signer@0.1.2","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/micro-sol-signer","bugs":{"url":"https://github.com/paulmillr/micro-sol-signer/issues"},"dist":{"shasum":"8a55cba6d7063921290cb814a5b072456f91085c","tarball":"https://registry.npmjs.org/micro-sol-signer/-/micro-sol-signer-0.1.2.tgz","fileCount":7,"integrity":"sha512-76DfeXCLywlsBgBFC5U4g3EHxlH9Rao09YyUuewz90aM7PbD233OvikmQSMEf+/5XGjUzf2ilvKTdusB3T8Hgg==","signatures":[{"sig":"MEUCIQC0B2z/MJZF5vI+pV4QIdmUMqSimRG+cqPxDet/xZL7UgIgPw3J2Hf8W3TybbgdNJezYKBJWTJcHi7vi4ypsgLNwGc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":98665,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi2z2jACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqxIA/+OT9o3/ZUVC/oibYnDcsY1/X/8QwBUjcbjRXnxNR7jjVfclcj\r\nxMmMQwzv7wHacwS+SKZ3FIsczVkj/feVdrJUHPV6AtxAH+uEjygykrsi2q2h\r\nzcBKET8f/3O4JFJ4tbZe+P8bWeKq0n9lDgUsiA9+iawLedbe2heJT9BuQlk3\r\nMtqGE1dR4pQcG8TCh2fY4KnVvhsTzl30WY8WFWEN9PLJtpBi436c7xdI6tfY\r\nSNe0FRBCUdtJr8OFO4TFRen1FFTaOFHV5XvNBWfKTBUeo2dHT+yGFKZB0bJR\r\nNoKGEQ0uKGlZn8ozKKzl0lo66LMoaVRcTlkpOaY8Okt+Xvnfxy8A4IxOMa1V\r\n4LwveeWhEkPadMv2iYzE0QcCQM/Kokt8TO5pADuc0tgNzMq0zaEVnDp/UZcx\r\nGr6Z5RafwaGHI+VbPWcC+27abCK75RbPvd0bB5jjdENYQ8JG0gJq7IAtQJG5\r\n3Eq8ietG3VUz2K//jxVEyAj9ttD9CWexkJsgv3rkIXA9FCFRGa2mCw8gXAsP\r\nOdH4f+3GcE2VFCk75gsq6cDK9MrsM05wKy9hxipsNROyk3ZI5kZvzYpYHuAB\r\nvW2p58RQX3mR6RqKDp/vAVrhs9/8r5G1hOJx4d0NpSt5UIc70FiJVX1iGdvf\r\n8602FglS4b1SBT323oChijP/J0xhMN73pBw=\r\n=bxaV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","types":"index.d.ts","module":"index.js","funding":[{"url":"https://paulmillr.com/funding/","type":"individual"}],"gitHead":"2ec2241148f488d8309b2e8a11319a5affed25ae","scripts":{"lint":"prettier --check index.ts","test":"node test/index.test.js","build":"tsc"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"repository":{"url":"git+https://github.com/paulmillr/micro-sol-signer.git","type":"git"},"_npmVersion":"8.14.0","description":"Create, sign & decode Solana transactions with minimum deps","directories":{},"_nodeVersion":"18.6.0","dependencies":{"@scure/base":"^1.1.0","micro-packed":"^0.2.0","@noble/hashes":"^1.1.1","@noble/ed25519":"^1.6.1"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"2.6.2","typescript":"4.7.3","micro-should":"0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/micro-sol-signer_0.1.2_1658535330794_0.7428686309596255","host":"s3://npm-registry-packages"}},"0.1.3":{"name":"micro-sol-signer","version":"0.1.3","keywords":["solana","sol","web3","sign","signer","tx","transaction","address","token"],"author":{"url":"https://paulmillr.com","name":"Paul Miller"},"license":"MIT","_id":"micro-sol-signer@0.1.3","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/micro-sol-signer","bugs":{"url":"https://github.com/paulmillr/micro-sol-signer/issues"},"dist":{"shasum":"160cd51e7fdf74bac88e370ea40e329e604342b1","tarball":"https://registry.npmjs.org/micro-sol-signer/-/micro-sol-signer-0.1.3.tgz","fileCount":7,"integrity":"sha512-PgbT5AEuTxNoB7J9BUQX6lG7uJxebNSDxPQ5tcPMkOM7/c58yCY9JGQDVFTxbovqHDULbnr/NVMxByg/I2SmPg==","signatures":[{"sig":"MEUCIC4obp9FZXFm2JZEENtl0k44HtFMjviH1Qddj/huuzyCAiEA+wVcP7gbtPV23ohA90OFTwYKk+H7K5xO/83CP/lQhAk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":96590,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjCok8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo3Uw//fbhzW11GMFat9e9fKqKc1CGEYAkPrU4vxprm5vaOxbM1Nji8\r\nz91YziP4a8fzglM1GmvAyIS0pn4UIBGHsCYUZCH1Xsk2ij3ca65SIQgcySJ4\r\nQEQUrdelDskrmoRndxx+i7b7NR4BEGQ0D66oV0OJ+qAOcrQzxk7UOjdAgnMh\r\n4Fhn9Bi7pDs0RKu6LWMSUa34aEWMbUTb/ME0xtCRREX5L2PJUPbsxtqouMpc\r\nhsbFGVDlQVS6eMSFb2KrlnZY6e6cNV64f4uGalZNKgtupRFI7eRe4bHYLica\r\nb3CEQKrr5Pnlcqcwwhkd0LRZRLSItgFCtwLKZ4+3m7NvBXG8YV40U3aSoYaY\r\ntg7uX4hXw4FBSYUy3cyZ1IVdjWSwgVL4ZTGEYs03lOrPyZBY9jJJu+UCIeSJ\r\nNhaBaOX6+ir6fkxUhfcDknJtgZbitWwNrN8ZAxhyu2lfLlg3zG/YnNioFDSN\r\nIjDRchjLRrlmWne3RaoJj1G+DH2QM/F7WpI8xRMtlii6RH7PXscjGhE476ws\r\nhlSq0ivKgauhZC9BGhRbQckHlzJaprAZ3Ur1U7pGAkDNeGooc8WLglxMbans\r\n1CLn6L73ji5LlkdXWY46361oEqdPwgrOrgGVeP1cNyP/JhVcREj6ByQ0HHHM\r\n3+MUf0G9RXR19zst/WPvEfQlHH8U5uYZq78=\r\n=0sBk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","types":"index.d.ts","module":"index.js","funding":[{"url":"https://paulmillr.com/funding/","type":"individual"}],"gitHead":"1a1c5bc819186e6f46c0644ffc1694ce6f92b55d","scripts":{"lint":"prettier --check index.ts","test":"node test/index.test.js","build":"tsc"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"repository":{"url":"git+https://github.com/paulmillr/micro-sol-signer.git","type":"git"},"_npmVersion":"8.18.0","description":"Create, sign & decode Solana transactions with minimum deps","directories":{},"_nodeVersion":"18.8.0","dependencies":{"@scure/base":"^1.1.0","micro-packed":"^0.3.0","@noble/hashes":"^1.1.1","@noble/ed25519":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"2.6.2","typescript":"4.7.3","micro-should":"0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/micro-sol-signer_0.1.3_1661634876182_0.2918688544241399","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"micro-sol-signer","version":"0.2.0","keywords":["solana","sol","web3","sign","signer","tx","transaction","address","token"],"author":{"url":"https://paulmillr.com","name":"Paul Miller"},"license":"MIT","_id":"micro-sol-signer@0.2.0","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/micro-sol-signer","bugs":{"url":"https://github.com/paulmillr/micro-sol-signer/issues"},"dist":{"shasum":"93a4486c440210fb7cab007903856fc88c599367","tarball":"https://registry.npmjs.org/micro-sol-signer/-/micro-sol-signer-0.2.0.tgz","fileCount":7,"integrity":"sha512-GspQfB8WDuqjFvsaC7+H3GNx+Jb1Nt3KbBsZ8P6uvyqJ9gpIcv4VleFvWKptgDMwWoY+j6hJFpwpgWEX/ev9HQ==","signatures":[{"sig":"MEYCIQDIfi2CmrmD2IE3YhR9Z1Lg6nSNRJZz5q6iNrnss6WkLQIhAITAj9O2eQoKT9akY7ziaIPmZQJPL/O33zR3IWvPBCt7","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":96945,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkE2qBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpF2Q/9EdpC1AS0AYnp/QDiGJ+ryvCuvZYhnkACzUtTcEcNB9USzAuG\r\n/0mXLmdvoeJ23Qy88ACxANk61ZQmMW9OGrNyt3CAVbKV7KbcznppzBntoG6F\r\nE+Na2ZFXvz9ACIaSTSyR5v0PTn0gSYkOENENyFk5u5cqAT/b/kLN8F/7xaPf\r\nYXoXWCD9wBoDMiReI8CuIxTqlEcAjS2taKPCBSdSxK6fvrbOsFyvc41bw1NY\r\nDbL6ss/Ui7Cc/MOzHRPfRwGDrNCrdhGC8T8OcvERzU+un04P89sLkBJH/rnl\r\njRdRZmYOSue1sekYmZRa3gF+YYVuCFupYG7JQGojvWxhRsDaw16Es2swrJgQ\r\ndSBk4pPs8CjYLQD22m7JYWoxmPOlFbTJlASGRmW8MVpUHo9yBMckiBmePMAV\r\nlj4MUyYYqrXdJiG8eI8yu+N6YvXSe6jhaqPOmVrxEupN6ZkQmO3Q2CNW0P+Y\r\newQIdMtoav8VmYp9ISTpV7LlPi3atBsV8QDosuI2ErA5J0eU6Pyw34yB6ibE\r\nzfR9l/8fdWODBawUICbLQTbw+/GNCy0BOtgyYF3Ekcr15CbfnEkNGTgEo0jZ\r\nagven16BQ3z3lbSbCI4QNL61jZU1QYzMDMzlUq0ugTlG3pxlN2JQoBUmxuYN\r\nnlkw77tQMrd9SvVJQJg8qgGQiwXYz0WcHgU=\r\n=1DMA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","types":"index.d.ts","module":"index.js","funding":[{"url":"https://paulmillr.com/funding/","type":"individual"}],"gitHead":"05b6ce0538a1ea4a38ea146b9bc4cb01dea84fbd","scripts":{"lint":"prettier --check index.ts","test":"node test/index.test.js","build":"tsc"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"repository":{"url":"git+https://github.com/paulmillr/micro-sol-signer.git","type":"git"},"_npmVersion":"9.4.0","description":"Create, sign & decode Solana transactions with minimum deps","directories":{},"_nodeVersion":"19.6.0","dependencies":{"@scure/base":"^1.1.0","micro-packed":"^0.3.2","@noble/curves":"^0.8.3","@noble/hashes":"^1.3.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"2.8.4","typescript":"5.0.2","micro-should":"0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/micro-sol-signer_0.2.0_1678994049606_0.5234513111278325","host":"s3://npm-registry-packages"}},"0.2.1":{"name":"micro-sol-signer","version":"0.2.1","keywords":["solana","sol","web3","sign","signer","tx","transaction","address","token"],"author":{"url":"https://paulmillr.com","name":"Paul Miller"},"license":"MIT","_id":"micro-sol-signer@0.2.1","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/micro-sol-signer","bugs":{"url":"https://github.com/paulmillr/micro-sol-signer/issues"},"dist":{"shasum":"4f2e1c38d3af09623e9dbe4a4f08ceaedaab7d50","tarball":"https://registry.npmjs.org/micro-sol-signer/-/micro-sol-signer-0.2.1.tgz","fileCount":7,"integrity":"sha512-5x61k1nvYu1sEVxI1j7BGQTMVPcGW1tMuiOFg6HT3Vhvqp4v5ZgD6Y0XB4UAQbJwi1xFIBsfzEE6HGvS3NolKQ==","signatures":[{"sig":"MEUCIChsrBMkLihQ5ndDfCgMbI20fgBJM1axJlLTsOHwOON2AiEA/UEbo7z7hbxINu0Aa1biNYcYN0026nGUxXdSnH/cNI0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":96945,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkNh5yACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp02w/9EiT6GTFIeq7E4mIhpdn8+HXnGcvIHDEEi8V3XwUxJDtUa5/y\r\ngOduIkRcqste8ibDI4MTm3L4uv9aq893Wl0/5sCbogKRFiDLlWuPfWejI/WI\r\nXgB3c/dBzc3j1kfiEcSX6xLRe+2oDHM2udk62sDiXSlJXMzkZojxZowg9ups\r\nZEByiEBnE5utpFikBbG7gug76M14D1YyUTLpbZBNdUL3RywrRCrNMAAkWika\r\n0xUZEBvvcIqCfyRlmfX2EPYD4nCKvKCuaH++2jHsb5XnPMXmgIxSxzREO+gF\r\nxhNg/jZq5/TnRGxTjLvZwW9b+DorBKKBNhLUrQqOc5JW2TFS0eIgszS5n0wQ\r\nOKhSC/swT2mUZwp4V3X/s6Q20FMdmibEE2bghYVg494tN4roOmu2sx2BnME9\r\nhOAl2gyESa0HpNNKenfx6+YItXIVLbVh/NQtzMnTuKBAJDsIO+jGv5mXwQr2\r\nacydETSivOFsjr6jsTYahnXN4lHDdMDYmXi20aizIXnDOfbROVX9zawxWCDg\r\nHZp2dwdUH20ERaCoU0K7v/kGOi2rznW+XGyYLZ+HuJYoVMnDFbjBo3l3SsAv\r\nI6avFz9BSSHjg7EEQf6pyA2Z33J1NSJH5p1mbiHET0TgBvP/VozuyLchUy+O\r\nFujrmEqypPWrP4N9z8YxR4CQ6Gfs7iVl3gQ=\r\n=YzQ7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","type":"module","types":"index.d.ts","module":"index.js","funding":[{"url":"https://paulmillr.com/funding/","type":"individual"}],"gitHead":"25932779d4b12f388dcda5d54fddd1a17e9e4feb","scripts":{"lint":"prettier --check index.ts","test":"node test/index.test.js","build":"tsc"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"repository":{"url":"git+https://github.com/paulmillr/micro-sol-signer.git","type":"git"},"_npmVersion":"9.4.0","description":"Create, sign & decode Solana transactions with minimum deps","directories":{},"_nodeVersion":"19.6.0","dependencies":{"@scure/base":"^1.1.0","micro-packed":"^0.3.2","@noble/curves":"^1.0.0","@noble/hashes":"^1.3.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"2.8.4","typescript":"5.0.2","micro-should":"0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/micro-sol-signer_0.2.1_1681268338238_0.47356043572292017","host":"s3://npm-registry-packages"}},"0.2.2":{"name":"micro-sol-signer","version":"0.2.2","keywords":["solana","sol","web3","sign","signer","tx","transaction","address","token"],"author":{"url":"https://paulmillr.com","name":"Paul Miller"},"license":"MIT","_id":"micro-sol-signer@0.2.2","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/micro-sol-signer","bugs":{"url":"https://github.com/paulmillr/micro-sol-signer/issues"},"dist":{"shasum":"51cfd05a4e2bced3ec48559cd52e2468a466e0e1","tarball":"https://registry.npmjs.org/micro-sol-signer/-/micro-sol-signer-0.2.2.tgz","fileCount":7,"integrity":"sha512-YWwB6oOqJVr7UZKjcWYBzzaRo3ZF/Dr7zyWUofC9XPBQKnoRU8RA9PCZqP49+lgbBBzwNVq3BUFnRaUF/hRNhg==","signatures":[{"sig":"MEUCIFsER9br0/KuQSGIqMrcqpVPLU42t9gVLSsJF4rknFykAiEAtUX6G8lcD0EoBb2D5zQgtvhF8qnVnORnzgaqGsVxzyk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/micro-sol-signer@0.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v0.2"}},"unpackedSize":96945},"main":"index.js","type":"module","types":"index.d.ts","module":"index.js","funding":[{"url":"https://paulmillr.com/funding/","type":"individual"}],"gitHead":"1ccfebf9b7a7ca7ae525e9b60977a98f27d39652","scripts":{"lint":"prettier --check index.ts","test":"node test/index.test.js","build":"tsc"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"repository":{"url":"git+https://github.com/paulmillr/micro-sol-signer.git","type":"git"},"_npmVersion":"9.6.6","description":"Create, sign & decode Solana transactions with minimum deps","directories":{},"_nodeVersion":"20.1.0","dependencies":{"@scure/base":"^1.1.0","micro-packed":"^0.3.2","@noble/curves":"^1.0.0","@noble/hashes":"^1.3.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"2.8.4","typescript":"5.0.2","micro-should":"0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/micro-sol-signer_0.2.2_1683920507693_0.19113242187679247","host":"s3://npm-registry-packages"}},"0.3.0":{"name":"micro-sol-signer","version":"0.3.0","keywords":["solana","sol","web3","sign","signer","tx","transaction","address","token"],"author":{"url":"https://paulmillr.com","name":"Paul Miller"},"license":"MIT","_id":"micro-sol-signer@0.3.0","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/micro-sol-signer","bugs":{"url":"https://github.com/paulmillr/micro-sol-signer/issues"},"dist":{"shasum":"8029570b66dfb5186314b26cb82298f9121e1b9a","tarball":"https://registry.npmjs.org/micro-sol-signer/-/micro-sol-signer-0.3.0.tgz","fileCount":7,"integrity":"sha512-UJmtTU1mS1UsKlbl7RqQhelEOiRmxK5oduQ7n4n/xSavj8OVEaPmQirYtpS2Y+SMDl15FeepSn+3A4V+6YeLSg==","signatures":[{"sig":"MEQCIDQbCnWvvDhWq+Gs1XzvTPH/omOoqDJzqBiHrhgcTzdTAiBRy9OQ3FAHjE18zAlIMTOWkBj6IEgc8g8/zvvMRyfnoA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/micro-sol-signer@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v0.2"}},"unpackedSize":98358},"main":"index.js","type":"module","types":"index.d.ts","module":"index.js","funding":[{"url":"https://paulmillr.com/funding/","type":"individual"}],"gitHead":"c58127e1e2ceb50306c7ed61d4fd602724b99838","scripts":{"lint":"prettier --print-width 100 --single-quote --check index.ts","test":"node test/index.test.js","build":"tsc","format":"prettier --print-width 100 --single-quote --write index.ts"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"repository":{"url":"git+https://github.com/paulmillr/micro-sol-signer.git","type":"git"},"_npmVersion":"9.6.7","description":"Create, sign & decode Solana transactions with minimum deps","directories":{},"_nodeVersion":"20.2.0","dependencies":{"@scure/base":"^1.1.0","micro-packed":"^0.3.2","@noble/curves":"^1.0.0","@noble/hashes":"^1.3.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"2.8.4","typescript":"5.0.2","micro-should":"0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/micro-sol-signer_0.3.0_1684847382816_0.41666766156583446","host":"s3://npm-registry-packages"}},"0.4.0":{"name":"micro-sol-signer","version":"0.4.0","keywords":["solana","sol","web3","sign","signer","tx","transaction","address","token"],"author":{"url":"https://paulmillr.com","name":"Paul Miller"},"license":"MIT","_id":"micro-sol-signer@0.4.0","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/micro-sol-signer","bugs":{"url":"https://github.com/paulmillr/micro-sol-signer/issues"},"dist":{"shasum":"59e25d23f87c00ce19f2fa8c2a4c1970778ce426","tarball":"https://registry.npmjs.org/micro-sol-signer/-/micro-sol-signer-0.4.0.tgz","fileCount":11,"integrity":"sha512-sr1IK2gDrz9Dl+cp99ZLZTIsaNnBN/oBWFaqaOZnz0iOI2F+iY4mdNxtsgzyV7NtHjE/ldQo6CnwjXaLxjtceg==","signatures":[{"sig":"MEUCIEp8HGR1qdLzMkpW1WrN0ItX5WmtTy43HdBJZWym0FliAiEA45hlK2TzIau8mYmCKwNTYAvvpXYbHFFgB7PJGZvA1yA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/micro-sol-signer@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":186713},"main":"lib/index.js","types":"lib/index.d.ts","module":"lib/esm/index.js","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/esm/index.js","default":"./lib/index.js"}},"funding":"https://paulmillr.com/funding/","gitHead":"4ac085bc30eb1daec2c59485becf66680ba7e666","scripts":{"lint":"prettier --print-width 100 --single-quote --check index.ts","test":"node test/index.test.mjs","build":"tsc && tsc -p tsconfig.esm.json","format":"prettier --print-width 100 --single-quote --write index.ts"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"repository":{"url":"git+https://github.com/paulmillr/micro-sol-signer.git","type":"git"},"_npmVersion":"10.2.5","description":"Create, sign & decode Solana transactions with minimum deps","directories":{},"_nodeVersion":"20.10.0","dependencies":{"@scure/base":"^1.1.0","micro-packed":"^0.4.0","@noble/curves":"^1.3.0","@noble/hashes":"^1.3.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.1.1","typescript":"5.3.2","micro-should":"0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/micro-sol-signer_0.4.0_1703341801672_0.6010691574285256","host":"s3://npm-registry-packages"}},"0.4.1":{"name":"micro-sol-signer","version":"0.4.1","keywords":["solana","sol","web3","sign","signer","tx","transaction","address","token"],"author":{"url":"https://paulmillr.com","name":"Paul Miller"},"license":"MIT","_id":"micro-sol-signer@0.4.1","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/micro-sol-signer","bugs":{"url":"https://github.com/paulmillr/micro-sol-signer/issues"},"dist":{"shasum":"ab34ec35bd7e31c4d8b2f51307a0dcd8feb2d696","tarball":"https://registry.npmjs.org/micro-sol-signer/-/micro-sol-signer-0.4.1.tgz","fileCount":9,"integrity":"sha512-CqAZn7lVgg2Ly95mTloULq6DQDtoysLpy8BNJtJqTvW7TgmjkJBUpXUky0S94WB99VpkG4d0cAGqWCmOE47gpg==","signatures":[{"sig":"MEUCIQCZQZ7qTOPpvZgqXOgtLdYsfoVXBNPiu+Hty+q2R4C8yAIgYfBDkP1COGNTMdhm518ZVluWrgAFj3nN5uDC5NLqbsY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/micro-sol-signer@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":128122},"main":"lib/index.js","types":"lib/index.d.ts","module":"lib/esm/index.js","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/esm/index.js","default":"./lib/index.js"}},"funding":"https://paulmillr.com/funding/","gitHead":"3d3663d67212109c2a2d7de56c52345d293a46df","scripts":{"lint":"prettier --print-width 100 --single-quote --check index.ts","test":"node test/index.test.mjs","build":"tsc && tsc -p tsconfig.esm.json","format":"prettier --print-width 100 --single-quote --write index.ts"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"repository":{"url":"git+https://github.com/paulmillr/micro-sol-signer.git","type":"git"},"_npmVersion":"10.5.0","description":"Create, sign & decode Solana transactions with minimum deps","directories":{},"_nodeVersion":"20.11.1","dependencies":{"@scure/base":"^1.1.5","micro-packed":"^0.5.1","@noble/curves":"^1.3.0","@noble/hashes":"^1.3.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.1.1","typescript":"5.3.2","micro-should":"0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/micro-sol-signer_0.4.1_1709687442452_0.014611318422649067","host":"s3://npm-registry-packages"}},"0.4.2":{"name":"micro-sol-signer","version":"0.4.2","keywords":["solana","sol","web3","sign","signer","tx","transaction","address","token"],"author":{"url":"https://paulmillr.com","name":"Paul Miller"},"license":"MIT","_id":"micro-sol-signer@0.4.2","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/micro-sol-signer","bugs":{"url":"https://github.com/paulmillr/micro-sol-signer/issues"},"dist":{"shasum":"373e5054221f0429d88a15c31f0d6c06f8b1b791","tarball":"https://registry.npmjs.org/micro-sol-signer/-/micro-sol-signer-0.4.2.tgz","fileCount":11,"integrity":"sha512-KH+ZMYaTtb+cXUwzOpJx4oxsB0z0yLBvXPxhe94fe+uubT6iOduBzC/pRyPOp7EEpKbeJb2SgqSABrZIv43ZCg==","signatures":[{"sig":"MEYCIQDy/TFcmMU5D/d+JWl5qwuUqtJVyjUUor8SAMslfT1EiAIhAM1K/F3OOy1qjR5qsrCjuVWXWie7qVecFxqJuuMT+lnr","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/micro-sol-signer@0.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":188280},"main":"lib/index.js","types":"lib/index.d.ts","module":"lib/esm/index.js","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/esm/index.js","default":"./lib/index.js"}},"funding":"https://paulmillr.com/funding/","gitHead":"14b0bd75d7cc0f4fc436b658fe074e2843f53110","scripts":{"lint":"prettier --print-width 100 --single-quote --check index.ts","test":"node test/index.test.mjs","build":"tsc && tsc -p tsconfig.esm.json","format":"prettier --print-width 100 --single-quote --write index.ts"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"repository":{"url":"git+https://github.com/paulmillr/micro-sol-signer.git","type":"git"},"_npmVersion":"10.8.0","description":"Create, sign & decode Solana transactions with minimum deps","directories":{},"_nodeVersion":"20.13.1","dependencies":{"@scure/base":"^1.1.5","micro-packed":"~0.6.2","@noble/curves":"^1.3.0","@noble/hashes":"^1.3.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.1.1","typescript":"5.3.2","micro-should":"0.4.0","@paulmillr/jsbt":"0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/micro-sol-signer_0.4.2_1715987716037_0.35022023638224686","host":"s3://npm-registry-packages"}},"0.5.0":{"name":"micro-sol-signer","version":"0.5.0","keywords":["solana","sol","web3","sign","signer","tx","transaction","address","token"],"author":{"url":"https://paulmillr.com","name":"Paul Miller"},"license":"MIT","_id":"micro-sol-signer@0.5.0","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/micro-sol-signer","bugs":{"url":"https://github.com/paulmillr/micro-sol-signer/issues"},"dist":{"shasum":"57ba769ef58da4d85af205f976741ecb9511e46d","tarball":"https://registry.npmjs.org/micro-sol-signer/-/micro-sol-signer-0.5.0.tgz","fileCount":22,"integrity":"sha512-4D5mGHuWuAC1w7HXXs+mlugw9n0hk3Gk0pFjQYkzE6zbvwEEioyb6l8375hivcqD6830/tCDCyQv+i3jfVFC+w==","signatures":[{"sig":"MEYCIQDmfRpcp578pNlUJFZsrL4/xMF03XSIyL7rQEgco2rsfAIhANHs5t8JItD8il9P+3ndP7eX9mcQSa0seT2VvY5psL4b","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/micro-sol-signer@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":293037},"main":"lib/index.js","types":"lib/index.d.ts","module":"lib/esm/index.js","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/esm/index.js","default":"./lib/index.js"},"./net.js":{"types":"./lib/net.d.ts","import":"./lib/esm/net.js","default":"./lib/net.js"}},"funding":"https://paulmillr.com/funding/","gitHead":"5b37e192781b84b3f34155d9d851c041522f56c0","scripts":{"lint":"prettier --check src","test":"node test/index.js","build":"tsc && tsc -p tsconfig.cjs.json","format":"prettier --write src","test:bun":"bun test/index.js","test:deno":"deno --allow-env --allow-read test/index.js","build:release":"npx jsbt esbuild test/build"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"repository":{"url":"git+https://github.com/paulmillr/micro-sol-signer.git","type":"git"},"_npmVersion":"10.9.2","description":"Create, sign & decode Solana transactions with minimum deps","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"@scure/base":"^1.2.1","micro-packed":"~0.7.1","@noble/curves":"^1.8.0","@noble/hashes":"^1.7.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.3.2","micro-ftch":"0.4.0","typescript":"5.5.2","micro-bmark":"0.4.0","micro-should":"0.5.1","@paulmillr/jsbt":"0.3.1"},"_npmOperationalInternal":{"tmp":"tmp/micro-sol-signer_0.5.0_1737271983910_0.5751330134926398","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"micro-sol-signer","version":"0.6.0","keywords":["solana","sol","web3","sign","signer","tx","transaction","address","token"],"author":{"url":"https://paulmillr.com","name":"Paul Miller"},"license":"MIT","_id":"micro-sol-signer@0.6.0","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/micro-sol-signer","bugs":{"url":"https://github.com/paulmillr/micro-sol-signer/issues"},"dist":{"shasum":"bba6d46be1c2c6c0b7b6733561a7a941cbaed6bd","tarball":"https://registry.npmjs.org/micro-sol-signer/-/micro-sol-signer-0.6.0.tgz","fileCount":112,"integrity":"sha512-3GmbKJy5rUmygeR8BngsdxeUMF27ZZiOAOuBgSvDudq4w5VuX9wNykzHfkNHjqRCvu0umFdCtUvyBjyYkWuc3w==","signatures":[{"sig":"MEUCIHG7SaXbIctn0agPm1jCAgSfMIqjgfKaj6yYrFDOhNj0AiEAok3HAye0nrXuHjRVrT6gD2ZLr3Dh4grpbJI/qgCVT3k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/micro-sol-signer@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5772141},"main":"lib/index.js","types":"lib/index.d.ts","module":"lib/esm/index.js","exports":{".":{"import":"./lib/esm/index.js","require":"./lib/index.js"},"./idl.js":{"import":"./lib/esm/idl/index.js","require":"./lib/idl/index.js"},"./net.js":{"import":"./lib/esm/net.js","require":"./lib/net.js"},"./hint.js":{"import":"./lib/esm/hint.js","require":"./lib/hint.js"}},"funding":"https://paulmillr.com/funding/","gitHead":"56b3e77965dc52fa7e4749a7610a6e79779d5510","scripts":{"lint":"prettier --check src","test":"node test/index.js","build":"tsc && tsc -p tsconfig.cjs.json","format":"prettier --write src","test:bun":"bun test/index.js","test:deno":"deno --allow-env --allow-read test/index.js","build:release":"npx jsbt esbuild test/build"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"repository":{"url":"git+https://github.com/paulmillr/micro-sol-signer.git","type":"git"},"_npmVersion":"10.9.2","description":"Create, sign & decode Solana transactions with minimum deps","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"@scure/base":"^1.2.5","micro-packed":"~0.7.3","@noble/curves":"^1.9.0","@noble/hashes":"^1.8.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","micro-ftch":"0.4.3","typescript":"5.8.3","micro-bmark":"0.4.1","micro-should":"0.5.2","@paulmillr/jsbt":"0.3.3"},"_npmOperationalInternal":{"tmp":"tmp/micro-sol-signer_0.6.0_1745513805262_0.16183734221671853","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"micro-sol-signer","version":"0.7.0","keywords":["solana","sol","web3","sign","signer","tx","transaction","address","token"],"author":{"url":"https://paulmillr.com","name":"Paul Miller"},"license":"MIT","_id":"micro-sol-signer@0.7.0","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/micro-sol-signer","bugs":{"url":"https://github.com/paulmillr/micro-sol-signer/issues"},"dist":{"shasum":"899572ce1dd207dd513298fc4640fb78f80d5a8b","tarball":"https://registry.npmjs.org/micro-sol-signer/-/micro-sol-signer-0.7.0.tgz","fileCount":121,"integrity":"sha512-3KqqQ4t9yaEv/J7oVxevG5d3zKNTGFAzAiTcHMVVLh2uHiH1Cds4FZPkLnnL3nLvjf8zaURplzvgMgwFJNDQ/w==","signatures":[{"sig":"MEUCIQD60G2SQCTMTXarvt/lYZBgZqw1XtSYZTTQRcdYhTFWmAIgbz1hvS94BdcCL2VzF3YZftZfYUvQADQdB+WNVyDhoac=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/micro-sol-signer@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5809122},"main":"lib/index.js","types":"lib/index.d.ts","module":"lib/esm/index.js","exports":{".":{"import":"./lib/esm/index.js","require":"./lib/index.js"},"./idl.js":{"import":"./lib/esm/idl/index.js","require":"./lib/idl/index.js"},"./net.js":{"import":"./lib/esm/net.js","require":"./lib/net.js"},"./hint.js":{"import":"./lib/esm/hint.js","require":"./lib/hint.js"}},"funding":"https://paulmillr.com/funding/","gitHead":"785ef80d99c23052270e576ab8090528d4c1026f","scripts":{"lint":"prettier --check src","test":"node test/index.js","build":"tsc && tsc -p tsconfig.cjs.json","format":"prettier --write src","test:bun":"bun test/index.js","test:deno":"deno --allow-env --allow-read test/index.js","build:release":"npx jsbt esbuild test/build"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"repository":{"url":"git+https://github.com/paulmillr/micro-sol-signer.git","type":"git"},"_npmVersion":"10.9.2","description":"Create, sign & decode Solana transactions with minimum deps","directories":{},"sideEffects":false,"_nodeVersion":"22.15.0","dependencies":{"@scure/base":"^1.2.5","micro-packed":"~0.7.3","@noble/curves":"^1.9.0","@noble/hashes":"^1.8.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","micro-ftch":"0.4.3","typescript":"5.8.3","micro-bmark":"0.4.1","micro-should":"0.5.3","@paulmillr/jsbt":"0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/micro-sol-signer_0.7.0_1748073730790_0.6120872509238926","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"micro-sol-signer","version":"0.8.0","keywords":["solana","sol","web3","sign","signer","tx","transaction","address","token"],"author":{"url":"https://paulmillr.com","name":"Paul Miller"},"license":"MIT","_id":"micro-sol-signer@0.8.0","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/micro-sol-signer#readme","bugs":{"url":"https://github.com/paulmillr/micro-sol-signer/issues"},"dist":{"shasum":"a40bd3720c4680939332249a87040517ff9d3d5b","tarball":"https://registry.npmjs.org/micro-sol-signer/-/micro-sol-signer-0.8.0.tgz","fileCount":68,"integrity":"sha512-+tED4jleBVpu0nHt3JLzZMrXFbgOZ0IvLt9Rcg1b6VZ4uPGF25G3dS1wTJr/CL0OB/v508AToG/kz2WLIIwXOg==","signatures":[{"sig":"MEYCIQDKQ4zTp5k9+zXMcdju6XoKthL9fM/TcKw7OWWRKo+wUgIhAIiBZG1VHYEkdRc6iCpgfJjevqvOh+svn1a4qZLspGo3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/micro-sol-signer@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3181420},"main":"index.js","type":"module","types":"index.d.ts","module":"index.js","gitHead":"4d4fc2433c055bbd7d39b8bd7126338f3f9d8079","scripts":{"test":"node --experimental-strip-types --no-warnings test/index.ts","build":"tsc","format":"prettier --write src","test:bun":"bun test/index.ts","test:deno":"deno --allow-env --allow-read test/index.ts","build:clean":"rm -f *.{js,d.ts,js.map,d.ts,d.ts.map}; rm -rf idl","build:release":"npx --no @paulmillr/jsbt esbuild test/build"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"repository":{"url":"git+https://github.com/paulmillr/micro-sol-signer.git","type":"git"},"_npmVersion":"11.5.1","description":"Create, sign & decode Solana transactions with minimum deps","directories":{},"sideEffects":false,"_nodeVersion":"24.6.0","dependencies":{"@scure/base":"^2.0.0-beta.1","micro-packed":"^0.8.0-beta.1","@noble/curves":"^2.0.0-beta.2","@noble/hashes":"^2.0.0-beta.4"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.6.2","micro-ftch":"0.4.3","typescript":"5.9.2","@types/node":"24.2.1","@paulmillr/jsbt":"0.4.3"},"_npmOperationalInternal":{"tmp":"tmp/micro-sol-signer_0.8.0_1755712358424_0.843325400990558","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"micro-sol-signer","version":"0.8.1","keywords":["solana","sol","web3","sign","signer","tx","transaction","address","token"],"author":{"url":"https://paulmillr.com","name":"Paul Miller"},"license":"MIT","_id":"micro-sol-signer@0.8.1","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"homepage":"https://github.com/paulmillr/micro-sol-signer#readme","bugs":{"url":"https://github.com/paulmillr/micro-sol-signer/issues"},"dist":{"shasum":"d834bd3126fe28c47d0928a5dc5a3bf48d693121","tarball":"https://registry.npmjs.org/micro-sol-signer/-/micro-sol-signer-0.8.1.tgz","fileCount":68,"integrity":"sha512-UrxhC+2yYiHDPLCuLzkExos7tpg9va/CEXEuGpYuuZx/SYWNfMEcSxJclkrWli5TmzECAfJExJ8mqEy6n1IN9Q==","signatures":[{"sig":"MEQCIC2Cp9Cz1SfYVDYVK8NMunDLJ60hCnvDgV9ODRL8U80pAiB8cvjlpXupOG0zIdcViOnbqgX0YfkbSG89VKLp6zyohQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/micro-sol-signer@0.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3181392},"main":"index.js","type":"module","types":"index.d.ts","module":"index.js","gitHead":"7a96c1f9d5fbd7fcd2ac86b9e8ff239fa65b3220","scripts":{"test":"node --experimental-strip-types --no-warnings test/index.ts","build":"tsc","format":"prettier --write src","test:bun":"bun test/index.ts","test:deno":"deno --allow-env --allow-read test/index.ts","build:clean":"rm -f *.{js,d.ts,js.map,d.ts,d.ts.map}; rm -rf idl","build:release":"npx --no @paulmillr/jsbt esbuild test/build"},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"repository":{"url":"git+https://github.com/paulmillr/micro-sol-signer.git","type":"git"},"_npmVersion":"11.5.1","description":"Create, sign & decode Solana transactions with minimum deps","directories":{},"sideEffects":false,"_nodeVersion":"24.6.0","dependencies":{"@scure/base":"^2.0.0","micro-packed":"^0.8.0","@noble/curves":"^2.0.0","@noble/hashes":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.6.2","micro-ftch":"0.4.3","typescript":"5.9.2","@types/node":"24.2.1","@paulmillr/jsbt":"0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/micro-sol-signer_0.8.1_1756139937850_0.7218223440429918","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"micro-sol-signer","version":"0.8.2","description":"Create, sign & decode Solana transactions with minimum deps","dependencies":{"@noble/curves":"^2.0.0","@noble/hashes":"^2.0.0","@scure/base":"^2.0.0","micro-packed":"^0.8.0"},"devDependencies":{"@paulmillr/jsbt":"0.4.4","@types/node":"24.2.1","micro-ftch":"0.4.3","prettier":"3.6.2","typescript":"5.9.2"},"scripts":{"build":"tsc","build:clean":"rm -f *.{js,d.ts,js.map,d.ts,d.ts.map}; rm -rf idl","build:release":"npx --no @paulmillr/jsbt esbuild test/build","format":"prettier --write src","test":"node --experimental-strip-types --no-warnings test/index.ts","test:bun":"bun test/index.ts","test:deno":"deno --allow-env --allow-read test/index.ts"},"exports":{".":"./index.js","./hint.js":"./hint.js","./net.js":"./net.js","./offchain.js":"./offchain.js","./idl.js":"./idl/index.js"},"keywords":["solana","sol","web3","sign","signer","tx","transaction","address","token"],"repository":{"type":"git","url":"git+https://github.com/paulmillr/micro-sol-signer.git"},"type":"module","main":"index.js","module":"index.js","types":"index.d.ts","sideEffects":false,"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"license":"MIT","_id":"micro-sol-signer@0.8.2","gitHead":"d2b1732e49dd8d37a5bd4a1fd457c92f44ad6f43","bugs":{"url":"https://github.com/paulmillr/micro-sol-signer/issues"},"homepage":"https://github.com/paulmillr/micro-sol-signer#readme","_nodeVersion":"24.6.0","_npmVersion":"11.5.1","dist":{"integrity":"sha512-V8JVV9q0hcW1uSrJAXOxJ7/w4xFBHhUr644MFdBf4f1GwZXHG59q/Ra2S5SED/KcHX0fYapP05+6ZaYU6xFPqw==","shasum":"65c0b46f42cf216a03e6d85fff060af21908261b","tarball":"https://registry.npmjs.org/micro-sol-signer/-/micro-sol-signer-0.8.2.tgz","fileCount":68,"unpackedSize":3181564,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/micro-sol-signer@0.8.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAeje17o5/LwKAbsKhL3OB0z3FsCR7D+R+4prQeuih3FAiEAmDYQpJEC6ZUtGWXnBMQF42NE96RcY7kBmjnnkGV6xXY="}]},"_npmUser":{"name":"paulmillr","email":"paul@paulmillr.com"},"directories":{},"maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/micro-sol-signer_0.8.2_1758187784843_0.03561080929454952"},"_hasShrinkwrap":false}},"time":{"created":"2022-07-10T17:33:29.824Z","modified":"2025-09-18T09:29:45.422Z","0.1.0":"2022-07-10T17:33:30.029Z","0.1.1":"2022-07-21T00:42:51.403Z","0.1.2":"2022-07-23T00:15:31.016Z","0.1.3":"2022-08-27T21:14:36.366Z","0.2.0":"2023-03-16T19:14:09.752Z","0.2.1":"2023-04-12T02:58:58.424Z","0.2.2":"2023-05-12T19:41:47.874Z","0.3.0":"2023-05-23T13:09:42.988Z","0.4.0":"2023-12-23T14:30:01.931Z","0.4.1":"2024-03-06T01:10:42.578Z","0.4.2":"2024-05-17T23:15:16.214Z","0.5.0":"2025-01-19T07:33:04.107Z","0.6.0":"2025-04-24T16:56:45.499Z","0.7.0":"2025-05-24T08:02:11.024Z","0.8.0":"2025-08-20T17:52:38.632Z","0.8.1":"2025-08-25T16:38:58.188Z","0.8.2":"2025-09-18T09:29:45.063Z"},"bugs":{"url":"https://github.com/paulmillr/micro-sol-signer/issues"},"author":{"name":"Paul Miller","url":"https://paulmillr.com"},"license":"MIT","homepage":"https://github.com/paulmillr/micro-sol-signer#readme","keywords":["solana","sol","web3","sign","signer","tx","transaction","address","token"],"repository":{"type":"git","url":"git+https://github.com/paulmillr/micro-sol-signer.git"},"description":"Create, sign & decode Solana transactions with minimum deps","maintainers":[{"name":"paulmillr","email":"paul@paulmillr.com"}],"readme":"# micro-sol-signer\n\nCreate, sign & decode Solana transactions with minimum deps.\n\n- 🔓 Secure: minimum deps, audited [noble](https://paulmillr.com/noble/) cryptography\n- 🔻 Tree-shakeable: unused code is excluded from your builds\n- ✍️ Create, sign and decode transactions\n- 🎶 Supports [Codama IDL](https://github.com/codama-idl/codama) and Token2022\n- 🪶 Minimal\n\n_Check out all web3 utility libraries:_ [ETH](https://github.com/paulmillr/micro-eth-signer), [BTC](https://github.com/paulmillr/scure-btc-signer), [SOL](https://github.com/paulmillr/micro-sol-signer), [tx-tor-broadcaster](https://github.com/paulmillr/tx-tor-broadcaster)\n\n**Warning** \"solsigner\" token is an unrelated scam.\n\n## Usage\n\n> `npm install micro-sol-signer`\n\n> `jsr add jsr:@paulmillr/micro-sol-signer`\n\n```ts\nimport * as sol from 'micro-sol-signer';\n```\n\nMethod summary:\n\n```ts\nconst isOnCurve: typeof idl.isOnCurve;\nconst programAddress: typeof idl.programAddress;\nfunction decodeAccount(contract: string, data: Bytes): unknown;\nfunction parseInstruction(instruction: Instruction): unknown;\nconst CONTRACTS: Record<string, any>;\ntype TxData = Bytes | string;\nfunction verifyTx(tx: TxData): void;\nfunction getPublicKey(privateKey: Bytes): Uint8Array;\nfunction getAddress(privateKey: Bytes): string;\ntype PrivateKeyFormat = 'base58' | 'hex' | 'array';\nfunction formatPrivate(privateKey: Bytes, format?: PrivateKeyFormat): string | number[];\nfunction formatPublic(publicKey: Bytes): string;\nfunction parseAddress(address: string): Uint8Array;\nfunction createTx(address: string, instructions: Instruction[], blockhash: string, version?: Version): string;\nfunction createTransferSol(from: string, to: string, amount: bigint, blockhash: string, version?: Version): string;\nfunction createTokenTransfer(mint: string, from: string, to: string, amount: bigint, blockhash: string, tokenProgram?: string, version?: Version): string;\nfunction createTokenTransferChecked(mint: string, from: string, to: string, amount: bigint, decimals: bigint, blockhash: string, tokenProgram?: string, version?: Version): string;\nfunction signTx(privateKey: Bytes, data: TxData): [string, string];\n```\n\nThere are other variables such as `SYS_PROGRAM`, which are also exported. Specific features:\n\n- [Create and sign simple transaction](#create-and-sign-simple-transaction)\n- [Decode transaction](#decode-transaction)\n- [Create complex transactions and send tokens](#create-complex-transactions-and-send-tokens)\n- [Network](#network)\n- [ABI / API](#abiapi)\n\n### Create and sign simple transaction\n\n```js\n// 11111111... private key\nconst privKey = new Uint8Array(32).fill(0x01);\n// Get address of private key\nconst address = sol.getAddress(privKey);\n// AKnL4NNf3DGWZJS6cPknBuEGnVsV4A4m5tgebLHaRSZ9\n\n// Format private key\nconst privFormatted = sol.formatPrivate(privKey);\n// 2AXDGYSE4f2sz7tvMMzyHvUfcoJmxudvdhBcmiUSo6iuCXagjUCKEQF21awZnUGxmwD4m9vGXuC3qieHXJQHAcT\n\n// Simple tx (transfer some sol's from one account to another)\nconst toAddress = 'FDwkzWGxx6LfCfzcmVVLEk3QUMxNhuFuKEMRwzR4Dtys';\nconst blockhash = 'J2BjKU6L83eehHVgoze6uTXGCBu6nbxsqEro9QvWpU52';\nconst amount = '10.1';\nconst fee = '1.2';\nconst tx0 = sol.createTx(address, toAddress, amount, fee, blockhash);\n// AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEDiojj3XQJ8ZX9UtstPLpdcspnCb8dlBIb83SIAbQPb1zTVICVf7+to6zQ/+XautpF+KSSoZ7ESTxv3rg8xPqyXgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/ORj/WtXHGLCh9wC0eGkf26qTFR5x3nCqwXXmoVtZb0BAgIAAQwCAAAAAMUBWgIAAAA=\nconst [txHash0, signedTx0] = sol.signTx(privKey, tx0);\n/*\n{\n  txHash0: '3wL4PdgBr3J2r4uuUrf4MU7HhgrJg6re2YRBeAwsZpYZRHgSgUAJymLRu6GcnKk7ZuR3F5UgPRTNj1mbzv966PTy',\n  signedTx0: 'AZLiibj05SPRhNU/o3ntK/7+aNQ8H/3HGLdh6zjxZKdyrKJEhjUjWDlMnEF2x0U/8JsKYsMMiYvQShkuNfpYdAwBAAEDiojj3XQJ8ZX9UtstPLpdcspnCb8dlBIb83SIAbQPb1zTVICVf7+to6zQ/+XautpF+KSSoZ7ESTxv3rg8xPqyXgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/ORj/WtXHGLCh9wC0eGkf26qTFR5x3nCqwXXmoVtZb0BAgIAAQwCAAAAAMUBWgIAAAA='\n}\n  */\n```\n\n### Decode transaction\n\n```js\nimport { base64 } from '@scure/base';\nimport * as sol from 'micro-sol-signer';\n\n// Random USDT tx from explorer:\n// https://explorer.solana.com/tx/5Nnhjv1GVB8T1k8MguUGHQw5zQQQsWET1f1zzj8azRhnVoYQPoZPtkscPCKy6FisP2eVWehjU1EYV8zywqKm5if4\nconst tx =\n  'Atrba9P4rJ4tA3fMXioF+LBR5Y397TCaCC7o/JsViIFxDQ+FOpW2/I+DGMtapWPmrRJ3KDEaYa21YbpUcXaygQPKXDfudpRNZKsMsjhhH018U2YKTAJoqu6Jr1jASfnV98/65boYyPzPujo4YMKnIaCjrt1EsvnPNCuoBMXUEzYAAgEECc20MANIMI92j1eVfOiH5WQ691HznE9ZeQfjeXpDNm0eH5z5eohWokD+6H+jjnZ/KFqkCmlEdPrk6HCx+mOgjTAJUM/3r5vR1DjJnZhT6PQK3Z32pIe8MzDmPxe8Ttzy2CTxiTfFaNQeAkRJCefcB5JJGeb/Qxrj4dpxv8Kv9gClJ544V5wdVgmhBbCFO1kSIv6OaEUizyYdqhTUiO8w8XsGp9UXGSxWjuCKhF9z0peIzwNcMUWyGrNE2AYuqUAAAM4BDmCv7bInF71jGS9UFFo/llozu4LSxwKess4eIIJkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG3fbh12Whk9nL4UbO63msHLSF7V9bN5E6jPWFfv8AqYUpqsC9KfFD7lsris1C7YZkNRdSH5qix9nMo2igoP0yAgcDAgUBBAQAAAAIBAMGBAAKDJSDxgMPAAAABg==';\nconst decodedTx = sol.Transaction.decode(base64.decode(tx));\n\nconsole.log(decodedTx);\n/*\n{\n  msg: {\n    feePayer: 'EqywLUZcm73PSWri93X3M5TN62iFMsUPMjvWYUq89dKB',\n    blockhash: '9xp5Jz2v7ZsE3Xn5SVGkRisjo7h16vzF1ducwhWnc5n9',\n    instructions: [ [Object], [Object] ]\n  },\n  signatures: {\n    EqywLUZcm73PSWri93X3M5TN62iFMsUPMjvWYUq89dKB: Uint8Array(64),\n    '38QU8LKVK1Ew5uzsqttamNTTFxvnfzgi2ACQvj3ekuom': Uint8Array(64),\n  }\n}\n*/\n\nconsole.log(\n  decodedTx.msg.instructions.map((i) => {\n    return sol.parseInstruction(i, {\n      ...sol.COMMON_TOKENS,\n      // You can add custom tokens here if needed\n    });\n  })\n);\n/*\n[\n  {\n    type: 'advanceNonce',\n    info: {\n      nonceAccount: 'dN98UQCp6Hq9kedJKEczHt5B53tsC8eENv9cGEVwvuD',\n      nonceAuthority: '38QU8LKVK1Ew5uzsqttamNTTFxvnfzgi2ACQvj3ekuom'\n    },\n    hint: 'Consume nonce in nonce account=dN98UQCp6Hq9kedJKEczHt5B53tsC8eENv9cGEVwvuD (owner: 38QU8LKVK1Ew5uzsqttamNTTFxvnfzgi2ACQvj3ekuom)'\n  },\n  {\n    type: 'transferChecked',\n    info: {\n      amount: 64487850900n,\n      decimals: 6,\n      source: '3VDHywae15vgbG2euNPpwoHTEr2eyGLuS6EoF74kDkp4',\n      mint: 'Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB',\n      destination: '3feqC1fmo5YHMh2iw7X9kGE9F8P147hiiDQqC5xtSbpN',\n      owner: 'EqywLUZcm73PSWri93X3M5TN62iFMsUPMjvWYUq89dKB'\n    },\n    hint: 'Transfer 64487.8509 USDT from token account=3VDHywae15vgbG2euNPpwoHTEr2eyGLuS6EoF74kDkp4 of owner=EqywLUZcm73PSWri93X3M5TN62iFMsUPMjvWYUq89dKB to 3feqC1fmo5YHMh2iw7X9kGE9F8P147hiiDQqC5xtSbpN'\n  }\n]\n*/\n```\n\n### Create complex transactions and send tokens\n\nSolana is very flexible and has awesome architecture, but it also means there is no\n'right' way to send tokens:\n\n- Basic account (ex. EqywLUZcm73PSWri93X3M5TN62iFMsUPMjvWYUq89dKB) cannot have any tokens\n- For every token contract you need to create separate token account which will be controlled by token contract\n- If a user gives some address to send tokens, it can be:\n  - Solana account: which means we need to derive token account address (sol.tokenAddress)\n  - Token account: it is possible the token account has not yet been created,\n    in this case we can create it for user; but it is not free, and will cost some fee.\n  - token account which was derived in a different way from main solana account\n\nThe basic token sending example is:\n\n```js\n// Current blockhash\nconst blockhash = '9xp5Jz2v7ZsE3Xn5SVGkRisjo7h16vzF1ducwhWnc5n9';\n// Sol account which is owner of tokenAccount\nconst fromAccount = 'EqywLUZcm73PSWri93X3M5TN62iFMsUPMjvWYUq89dKB';\n\nconst USDT = sol.tokenFromSymbol('USDT', {\n  ...sol.COMMON_TOKENS,\n  // You can add custom tokens here\n});\n// Deriving token account address from solana account address\nconst fromTokenAccount = sol.tokenAddress(USDT.contract, fromAccount);\n\n// Should be valid token account, not solana account\nconst toTokenAddress = 'FDwkzWGxx6LfCfzcmVVLEk3QUMxNhuFuKEMRwzR4Dtys';\n\nconst amount = '64487.8509';\nconst tokenSimple = sol.createTxComplex(\n  fromAccount, // owner of source token account (solana account)\n  [\n    sol.token.transferChecked({\n      source: fromTokenAccount, // Source token account (not solana account)\n      amount: sol.parseDecimal(amount, USDT.decimals),\n      decimals: USDT.decimals, // decimals of value\n      mint: USDT.contract, // token contract address\n      authority: fromAccount, // owner of source token account (solana account)\n      destination: toTokenAddress,\n    }),\n  ],\n  blockhash\n);\nconsole.log(tokenSimple);\n/*\n  AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAIFzbQwA0gwj3aPV5V86IflZDr3UfOcT1l5B+N5ekM2bR4k8Yk3xWjUHgJESQnn3AeSSRnm/0Ma4+Hacb/Cr/YApdNUgJV/v62jrND/5dq62kX4pJKhnsRJPG/euDzE+rJezgEOYK/tsicXvWMZL1QUWj+WWjO7gtLHAp6yzh4ggmQG3fbh12Whk9nL4UbO63msHLSF7V9bN5E6jPWFfv8AqYUpqsC9KfFD7lsris1C7YZkNRdSH5qix9nMo2igoP0yAQQEAQMCAAoMlIPGAw8AAAAG\n  */\n```\n\nHowever, in real world you may need more complex logic, like:\n\n```js\n// Check if account is valid token account\nfunction isValidTokenAccount(mint, info, owner) {\n  if (!info) return false;\n  if (info.owner !== sol.TOKEN_PROGRAM) return false;\n  try {\n    const data = sol.TokenAccount.decode(info.data);\n    if (data.mint !== mint) return false;\n    if (data.state !== 'initialized') return false;\n    if (owner && data.owner !== owner) return false;\n    return true;\n  } catch (e) {\n    return false;\n  }\n}\n\nasync function solAccountInfo(address) {\n  // Network code, outside of scope of this package\n\n  // Call rpc with getAccountInfo\n  const res = await rpcCall('getAccountInfo', address, {\n    encoding: 'base64',\n    commitment: 'confirmed',\n  });\n  if (res.value === null) return undefined;\n  const [data, encoding] = res.value.data;\n  if (encoding !== 'base64') throw new Error(`SOL: invalid data encoding=${encoding}`);\n  return {\n    lamports: BigInt(res.value.lamports),\n    owner: res.value.owner,\n    rentEpoch: res.value.rentEpoch,\n    data: base64.decode(data),\n    exec: !!res.value.executable,\n  };\n}\n\nasync function createTx(\n  fromAddress, // our address (solana account), from which we will send tokens\n  toAddress, // user provided address to send tokens in.\n  tokenContract, // token contract address\n  decimals, // decimals of contract\n  amount, // string with amount of tokens to send\n  blockhash // current block hash\n) {\n  // Derive token account from 'from' address\n  const fromTokenAccount = sol.tokenAddress(tokenContract, fromAccount);\n  // Common token options\n  const tokenOpt = {\n    source: fromTokenAccount,\n    amount: sol.parseDecimal(amount, decimals),\n    decimals,\n    mint: tokenContract,\n    authority: fromAddress, // owner of source\n  };\n  // If address is on curve, it is probably not 'associated token contract'\n  if (sol.isOnCurve(toAddress)) {\n    // Derive token account from solana account\n    const toTokenAddress = sol.tokenAddress(tokenContract, toAddress);\n    const [addrInfo, assocInfo] = await Promise.all([\n      solAccountInfo(toAddress),\n      solAccountInfo(toTokenAddress),\n    ]);\n    // toTokenAddress -- is valid token account, we can send here\n    if (isValidTokenAccount(tokenContract, assocInfo, toAddress)) {\n      // Associted account is ok, send to toTokenAddress\n      return sol.createTxComplex(\n        fromAddress,\n        [sol.token.transferChecked({ ...tokenOpt, destination: toTokenAddress })],\n        blockhash\n      );\n      // toTokenAddress is not valid token account, but toAddress is (even if it is on-curve)\n    } else if (isValidTokenAccount(tokenContract, addrInfo)) {\n      // account is actually token account, send to address. But since we don't know\n      return sol.createTxComplex(\n        fromAddress,\n        [sol.token.transferChecked({ ...tokenOpt, destination: toAddress })],\n        blockhash\n      );\n      // There is no valid token accounts, but toAddress is basic solana account and we can create\n      // token account for it\n    } else if (addrInfo && addrInfo.owner === sol.SYS_PROGRAM) {\n      // try to create assoc address and send tokens to it\n      return sol.createTxComplex(\n        fromAddress,\n        [\n          sol.associatedToken.create({\n            source: fromAddress,\n            account: toTokenAddress,\n            wallet: toAddress,\n            mint: tokenContract,\n          }),\n          sol.token.transferChecked({ ...tokenOpt, destination: toTokenAddress }),\n        ],\n        blockhash\n      );\n    } else {\n      // We probably can create associated account here, even if account doesn't exists, but it is probably typo and funds will be lost\n      throw new Error(\n        `SOL.createTx: invalid token destination address, account=${toAddress} doesn't exists, associated=${assocAddress} doesn't exists`\n      );\n    }\n  } else {\n    // Address is off-curve: which means it should be associated token account\n    const info = await solAccountInfo(toAddress);\n    // We cannot create associated address here, since given address is already off-curve\n    if (!isValidTokenAccount(tokenContract, info))\n      throw new Error(\n        `SOL.createTx: invalid token destination address=${toAddress}, off-curve and invalid`\n      );\n    // Valid token addr, send to it. Send to address\n    return sol.createTxComplex(\n      fromAddress,\n      [sol.token.transferChecked({ ...tokenOpt, destination: toAddress })],\n      blockhash\n    );\n  }\n  throw new Error('SOL.createTx: unexpected case');\n}\n```\n\n### Network\n\n```ts\nimport * as net from 'micro-sol-signer/net.js';\n// Docs available in src/net.ts\n```\n\nThe section should be written; for now check out source code for network-related methods, like fetching balances, or sending txs.\n\nNo real network calls are done in the library for simplified auditing. When network needs to be used, JSON-RPC compatible provider is required. We have one in [micro-ftch](https://github.com/paulmillr/micro-ftch) and it's recommended for usage.\n\n### ABI/API\n\nThere is no official ABI for Solana (in comparison with ethereum), but it is actually not a big deal,\nsince you will need to write API on top of raw ABI anyway.\nWe have small DSL, based on [micro-packed](https://github.com/paulmillr/micro-packed),\nwhich allows to define ABI easier: look at `sol.token` definition in `index.ts`.\n\n## License\n\nMIT (c) Paul Miller [(https://paulmillr.com)](https://paulmillr.com), see LICENSE file.\n","readmeFilename":"README.md"}