{"_id":"@0xsingularity/cli","_rev":"10-13191934b4323789590dcb859af20e68","name":"@0xsingularity/cli","dist-tags":{"latest":"0.4.0"},"versions":{"0.1.0":{"name":"@0xsingularity/cli","version":"0.1.0","keywords":["singularity","solana","svm","cli","sbpf"],"author":{"name":"bajpainaman","email":"naman@entropytoorder.xyz"},"license":"MIT","_id":"@0xsingularity/cli@0.1.0","maintainers":[{"name":"singularitywastaken","email":"namanbajpai23@gmail.com"}],"os":["linux","darwin"],"bin":{"sing":"bin/sing","singularity":"bin/singularity"},"dist":{"shasum":"7d2fbab6e3ae2114dac70613fd7cb631eea0a6c9","tarball":"https://registry.npmjs.org/@0xsingularity/cli/-/cli-0.1.0.tgz","fileCount":4,"integrity":"sha512-t968wrHDxxI0BEf6vgONMfO6SiKRKYylwNZELj711d0voCzMWh3P/xX49z9lWCrIn/hWfufy5g//5Hd2agbZ3Q==","signatures":[{"sig":"MEUCIQC3APc0LXRdtlfnniE1CFluLLaVSIjZFOkDHPEIminr3wIgDQfD2DWnjOdCE8n+kThf58C4bVZmjfjZdZKTfZ1EXqI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34852},"engines":{"node":">=18"},"scripts":{"lint":"shellcheck -S warning bin/singularity bin/sing tests/run-tests.sh","test":"./tests/run-tests.sh"},"_npmUser":{"name":"singularitywastaken","email":"namanbajpai23@gmail.com"},"_npmVersion":"9.2.0","description":"Thin POSIX-shell wrapper around the stock solana CLI, preconfigured for the Singularity chain.","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0_1785608905069_0.4333541819825939","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@0xsingularity/cli","version":"0.2.0","keywords":["singularity","sing","cli","tui","ink","blockchain"],"author":{"name":"bajpainaman","email":"naman@entropytoorder.xyz"},"license":"MIT","_id":"@0xsingularity/cli@0.2.0","maintainers":[{"name":"singularitywastaken","email":"namanbajpai23@gmail.com"}],"bin":{"sing":"dist/cli.js","singularity":"dist/cli.js"},"dist":{"shasum":"f80198b3edaeec0e636e049ecfe66d98f8d5c991","tarball":"https://registry.npmjs.org/@0xsingularity/cli/-/cli-0.2.0.tgz","fileCount":38,"integrity":"sha512-xHTve3IBoffF1TPcF4Moi04kZfq7GbWsC8U7o3plzZtPN4v4Szx9aBMqyCwGUSGsGHBdcLmfKi9576f4E/UZkg==","signatures":[{"sig":"MEQCIC8EEvv61jTDWMyM/6I7dVkmIMrtU/BarykW6tWlZ2jOAiBQLO1/9lZdkyDdYfzbwsR3GzyyqGmatFqQ1vEQ3Aq86g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149104},"type":"module","engines":{"node":">=18"},"gitHead":"1886e7fd251bfb9a2a729e7f6ad49f27a7ff865b","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json && node scripts/postbuild.mjs","clean":"rm -rf dist","start":"npm run build && node dist/cli.js","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4cd797a7-551e-4408-98e5-0ab34bb9721f"}},"_npmVersion":"12.0.2","description":"The Singularity command line app. A guided terminal experience for wallets, funds, transfers and program deploys on the Singularity chain.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ink":"^6.0.1","react":"^19.1.0","@solana/web3.js":"^1.98.0","@0xsingularity/web3.js":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.6","typescript":"^5.6.0","@types/node":"^20.0.0","@types/react":"^19.1.0","ink-testing-library":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.0_1785615178440_0.49526607900162767","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@0xsingularity/cli","version":"0.2.1","keywords":["singularity","sing","cli","tui","ink","blockchain"],"author":{"name":"bajpainaman","email":"naman@entropytoorder.xyz"},"license":"MIT","_id":"@0xsingularity/cli@0.2.1","maintainers":[{"name":"singularitywastaken","email":"namanbajpai23@gmail.com"}],"bin":{"sing":"dist/cli.js","singularity":"dist/cli.js"},"dist":{"shasum":"1dc2045e8e53c0ff6d991ba3a9c0f4d5ece1d912","tarball":"https://registry.npmjs.org/@0xsingularity/cli/-/cli-0.2.1.tgz","fileCount":38,"integrity":"sha512-cguaSe4PmwZ3WgyIcP8aa+qwD/+1BuDEqHQR7qCMM1ggEAi1GOS30ECWYKswAtHy2rPg81S0Wvqmp+kG3OtZBA==","signatures":[{"sig":"MEUCIGDJxh6MDC6QXVCdGzBwK+L9MC8nGiRBtJ/DtvSyTsJXAiEAg2ikufhKc+hsI2Dq4fpu1FqxJcj+xx/iUgE0y/ImhLI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":156924},"type":"module","engines":{"node":">=18"},"gitHead":"71cf28b057c29a5a0d6d5f1171454193f9a7737e","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json && node scripts/postbuild.mjs","clean":"rm -rf dist","start":"npm run build && node dist/cli.js","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4cd797a7-551e-4408-98e5-0ab34bb9721f"}},"overrides":{"jayson":{"uuid":"^11.1.0"}},"_npmVersion":"12.0.2","description":"The Singularity command line app. A guided terminal experience for wallets, funds, transfers and program deploys on the Singularity chain.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ink":"^6.0.1","react":"^19.1.0","@solana/web3.js":"^1.98.0","@0xsingularity/web3.js":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.6","typescript":"^5.6.0","@types/node":"^20.0.0","@types/react":"^19.1.0","ink-testing-library":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.1_1785620096279_0.03979276788426933","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@0xsingularity/cli","version":"0.2.2","keywords":["singularity","sing","cli","tui","ink","blockchain"],"author":{"name":"bajpainaman","email":"naman@entropytoorder.xyz"},"license":"MIT","_id":"@0xsingularity/cli@0.2.2","maintainers":[{"name":"singularitywastaken","email":"namanbajpai23@gmail.com"}],"bin":{"sing":"dist/cli.js","singularity":"dist/cli.js"},"dist":{"shasum":"00b2f3594f4beac951316ae2ee3f188d315c0f6e","tarball":"https://registry.npmjs.org/@0xsingularity/cli/-/cli-0.2.2.tgz","fileCount":38,"integrity":"sha512-OTQV0H/tC6comqx39U21mkFGJZBkl878RwsjKDD0SyK1hPDerxq7NXfKK11PV+jI+7+2Fn6PEGTv7WYtG3CNeA==","signatures":[{"sig":"MEQCIEIPJpl+UZTPlpLPJCjT5vajBqg6bKLWL8MW4NYH/FuSAiAvOeNIsKzMJXZ0amUqKaQZFbmhciGr3REkCk1AzSUyvg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":158242},"type":"module","engines":{"node":">=18"},"gitHead":"1ea7408473953db17cb31b60292310578ac734d1","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json && node scripts/postbuild.mjs","clean":"rm -rf dist","start":"npm run build && node dist/cli.js","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4cd797a7-551e-4408-98e5-0ab34bb9721f"}},"overrides":{"jayson":{"uuid":"^11.1.0"}},"_npmVersion":"12.0.2","description":"The Singularity command line app. A guided terminal experience for wallets, funds, transfers and program deploys on the Singularity chain.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ink":"^6.0.1","react":"^19.1.0","@solana/web3.js":"^1.98.0","@0xsingularity/web3.js":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.6","typescript":"^5.6.0","@types/node":"^20.0.0","@types/react":"^19.1.0","ink-testing-library":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.2_1785625745286_0.6753628584173286","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@0xsingularity/cli","version":"0.2.3","keywords":["singularity","sing","cli","tui","ink","blockchain"],"author":{"name":"bajpainaman","email":"naman@entropytoorder.xyz"},"license":"MIT","_id":"@0xsingularity/cli@0.2.3","maintainers":[{"name":"singularitywastaken","email":"namanbajpai23@gmail.com"}],"bin":{"sing":"dist/cli.js","singularity":"dist/cli.js"},"dist":{"shasum":"af016ec707a88eec4cd6e98fcb23d5b6aef9f965","tarball":"https://registry.npmjs.org/@0xsingularity/cli/-/cli-0.2.3.tgz","fileCount":38,"integrity":"sha512-Vp5BDhIWyLcG2kJzPKKxEHUinR27L+5DqTyN9mgOOBSMdrahmikVpHSUE/CYneSGRd3doYBNbbf3CUzqDGLn2A==","signatures":[{"sig":"MEUCIChH71YulrUSUlFz66s4F98cYUnjYsIQ4/X7ZqE925usAiEA0gxUqWLWtFCgDEYeYCP+QLwLDW/bjICtF/m2wJxsKNE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":162034},"type":"module","engines":{"node":">=18"},"gitHead":"ab86f8e005c480865f6c63724a39d679197a543d","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json && node scripts/postbuild.mjs","clean":"rm -rf dist","start":"npm run build && node dist/cli.js","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4cd797a7-551e-4408-98e5-0ab34bb9721f"}},"overrides":{"jayson":{"uuid":"^11.1.0"}},"_npmVersion":"12.0.2","description":"The Singularity command line app. A guided terminal experience for wallets, funds, transfers and program deploys on the Singularity chain.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ink":"^6.0.1","react":"^19.1.0","@solana/web3.js":"^1.98.0","@0xsingularity/web3.js":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.6","typescript":"^5.6.0","@types/node":"^20.0.0","@types/react":"^19.1.0","ink-testing-library":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.3_1785626546190_0.22127119473713552","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@0xsingularity/cli","version":"0.2.4","keywords":["singularity","sing","cli","tui","ink","blockchain"],"author":{"name":"bajpainaman","email":"naman@entropytoorder.xyz"},"license":"MIT","_id":"@0xsingularity/cli@0.2.4","maintainers":[{"name":"singularitywastaken","email":"namanbajpai23@gmail.com"}],"bin":{"sing":"dist/cli.js","singularity":"dist/cli.js"},"dist":{"shasum":"b5888ed197517e114ebdeef0e57736b9267b6456","tarball":"https://registry.npmjs.org/@0xsingularity/cli/-/cli-0.2.4.tgz","fileCount":38,"integrity":"sha512-UbvSMIP9Occi/DWRiHexuzVu9qziUkeilMRvkRsMW22v2tSFEacg62eDMLsBMzMkJhoZoCwQsdb9iz3AUVwYnQ==","signatures":[{"sig":"MEQCIH6EUjwQYf61nzoGuZ2R/Y5qA6pmVXS7/Gkxk7W+0jCZAiBg0/CvWP8M2yWtuBH6B7DXqjQ7+a9Zx3dd4h/ltNoULw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":162836},"type":"module","engines":{"node":">=18"},"gitHead":"2abfafec9355184b88e4e4bd0003469dad7b6145","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json && node scripts/postbuild.mjs","clean":"rm -rf dist","start":"npm run build && node dist/cli.js","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4cd797a7-551e-4408-98e5-0ab34bb9721f"}},"overrides":{"jayson":{"uuid":"^11.1.0"}},"_npmVersion":"12.0.2","description":"The Singularity command line app. A guided terminal experience for wallets, funds, transfers and program deploys on the Singularity chain.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ink":"^6.0.1","react":"^19.1.0","@solana/web3.js":"^1.98.0","@0xsingularity/web3.js":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.6","typescript":"^5.6.0","@types/node":"^20.0.0","@types/react":"^19.1.0","ink-testing-library":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.4_1785628419765_0.8027798307330762","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@0xsingularity/cli","version":"0.2.5","keywords":["singularity","sing","cli","tui","ink","blockchain"],"author":{"name":"bajpainaman","email":"naman@entropytoorder.xyz"},"license":"MIT","_id":"@0xsingularity/cli@0.2.5","maintainers":[{"name":"singularitywastaken","email":"namanbajpai23@gmail.com"}],"bin":{"sing":"dist/cli.js","singularity":"dist/cli.js"},"dist":{"shasum":"4b1c2bb61b1da8a4d9dcb87117093eb29dba8760","tarball":"https://registry.npmjs.org/@0xsingularity/cli/-/cli-0.2.5.tgz","fileCount":41,"integrity":"sha512-xxDHkGxCPwiRBhMz+HbyquoftfQPUpuaXQzoEIneJ7Q1d+voDeF1ZSNysClJb7dDsRdiYl0f0YXoUZ8SqbRBog==","signatures":[{"sig":"MEQCIGoxnHCW4U3gW2Y6onX1TNqibOYEqj/2iOJx2srVswPRAiBgxMmLsQnFcOjjxcjIP0D9rzxWoGybeteJ7AjS1Eg30g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":181253},"type":"module","engines":{"node":">=18"},"gitHead":"34bcc1454e13da62c03ccc4be8af680e90ad704e","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json && node scripts/postbuild.mjs","clean":"rm -rf dist","start":"npm run build && node dist/cli.js","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4cd797a7-551e-4408-98e5-0ab34bb9721f"}},"overrides":{"jayson":{"uuid":"^11.1.0"}},"_npmVersion":"12.0.2","description":"The Singularity command line app. A guided terminal experience for wallets, funds, transfers and program deploys on the Singularity chain.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ink":"^6.0.1","react":"^19.1.0","@solana/web3.js":"^1.98.0","@0xsingularity/web3.js":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.6","typescript":"^5.6.0","@types/node":"^20.0.0","@types/react":"^19.1.0","ink-testing-library":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.5_1785629511538_0.7631490344520293","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"@0xsingularity/cli","version":"0.2.6","keywords":["singularity","sing","cli","tui","ink","blockchain"],"author":{"name":"bajpainaman","email":"naman@entropytoorder.xyz"},"license":"MIT","_id":"@0xsingularity/cli@0.2.6","maintainers":[{"name":"singularitywastaken","email":"namanbajpai23@gmail.com"}],"bin":{"sing":"dist/cli.js","singularity":"dist/cli.js"},"dist":{"shasum":"5820c968672a5bbc55b9041b1c024560bcb65730","tarball":"https://registry.npmjs.org/@0xsingularity/cli/-/cli-0.2.6.tgz","fileCount":41,"integrity":"sha512-vQNwzlZhOQRnL8G4pzQ8f+6yU8X+Z/C0iChnbDJRhqW4dfnkoaxhVYHWSrVtKxGP1uth1EBrkDgvXMnRLFUhww==","signatures":[{"sig":"MEUCIFw2mkN/+MlL+EdXkJ2hOrO6eds6LyLO4JXGvxN/e6zHAiEA7lkbj5GpPB+ErJ228TPUveRlFnqEtHN5SaEcKm7S9/I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":184469},"type":"module","engines":{"node":">=18"},"gitHead":"0df513fb3557009a25c8f597f951a446c25462b2","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json && node scripts/postbuild.mjs","clean":"rm -rf dist","start":"npm run build && node dist/cli.js","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4cd797a7-551e-4408-98e5-0ab34bb9721f"}},"overrides":{"jayson":{"uuid":"^11.1.0"}},"_npmVersion":"12.0.2","description":"The Singularity command line app. A guided terminal experience for wallets, funds, transfers and program deploys on the Singularity chain.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ink":"^6.0.1","react":"^19.1.0","@solana/web3.js":"^1.98.0","@0xsingularity/web3.js":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.6","typescript":"^5.6.0","@types/node":"^20.0.0","@types/react":"^19.1.0","ink-testing-library":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.6_1786658510680_0.803960480208548","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@0xsingularity/cli","version":"0.3.0","keywords":["singularity","sing","cli","tui","ink","blockchain"],"author":{"name":"bajpainaman","email":"naman@entropytoorder.xyz"},"license":"MIT","_id":"@0xsingularity/cli@0.3.0","maintainers":[{"name":"singularitywastaken","email":"namanbajpai23@gmail.com"}],"bin":{"sing":"dist/cli.js","singularity":"dist/cli.js"},"dist":{"shasum":"6fdf6c9ada023a906bd82187ba917a03fe52a918","tarball":"https://registry.npmjs.org/@0xsingularity/cli/-/cli-0.3.0.tgz","fileCount":50,"integrity":"sha512-jszyO2E4eJhQ51M7ahFHf2rdaEF2yswdMEiCIuLCYw7KMu4iYTOKjFd/StA+Swi0sqBI5to3AEAIH5coWeO0tw==","signatures":[{"sig":"MEUCIQCANvzWnLoKuTe9b8EkwKeYsWAGZoSeEJ78MotPdFVdlQIgK9cL/RyjbqWpHiwNOr6tdFkwdlWmy9RO/itO5jRrkgE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":311634},"type":"module","engines":{"node":">=18"},"gitHead":"b0a6a3212b8cb2a865dd607b872f05b63105f1d2","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json && node scripts/postbuild.mjs","clean":"rm -rf dist","start":"npm run build && node dist/cli.js","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4cd797a7-551e-4408-98e5-0ab34bb9721f"}},"overrides":{"jayson":{"uuid":"^11.1.0"}},"_npmVersion":"12.0.2","description":"The Singularity command line app. A guided terminal experience for wallets, funds, transfers and program deploys on the Singularity chain.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"ink":"^6.0.1","react":"^19.1.0","@solana/web3.js":"^1.98.0","@0xsingularity/web3.js":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.6","typescript":"^5.6.0","@types/node":"^20.0.0","@types/react":"^19.1.0","ink-testing-library":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.3.0_1786834789204_0.6896170168449856","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"_id":"@0xsingularity/cli@0.4.0","bin":{"sing":"dist/cli.js","singularity":"dist/cli.js"},"dist":{"shasum":"a1083b8a806a71a3649d301d7d3fd4df940417cc","tarball":"https://registry.npmjs.org/@0xsingularity/cli/-/cli-0.4.0.tgz","fileCount":51,"integrity":"sha512-jGNu0CmN4n/tZpFyrSe1uoVC/FthIzAzZWxhmm0EHkmI5FytxA+V75PatwSa6+psXRVGUAjPqAoOy5N1PMd9ZQ==","signatures":[{"sig":"MEYCIQCmseHzL7c/ej2wXd/XwZ9UmjXKVVhJwWNWv3avskDGDgIhAKurrEbpZ3keundq2RQz/TYT4XodFPaA6Z3YPVVNZ48I","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC4Ta1E62IM+nk8CFtOcQliOXiBKxr0s4bQk9/rHXEkdwIgcQmmK3KTYwDg6985TcbhtjFNLKwDRkzUQJ9JYO/MrII="}],"unpackedSize":320659},"name":"@0xsingularity/cli","type":"module","author":{"name":"bajpainaman","email":"naman@entropytoorder.xyz"},"engines":{"node":">=18"},"gitHead":"d1b35fb21ffde79b7c068c809e87f2a5e6009d88","license":"MIT","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json && node scripts/postbuild.mjs","clean":"rm -rf dist","start":"npm run build && node dist/cli.js","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run build"},"version":"0.4.0","_npmUser":{"name":"singularitywastaken","email":"namanbajpai23@gmail.com"},"keywords":["singularity","sing","cli","tui","ink","blockchain"],"overrides":{"jayson":{"uuid":"^11.1.0"}},"_npmVersion":"9.2.0","description":"The Singularity command line app. A guided terminal experience for wallets, funds, transfers and program deploys on the Singularity chain.","directories":{},"maintainers":[{"name":"singularitywastaken","email":"namanbajpai23@gmail.com"}],"_nodeVersion":"22.22.2","dependencies":{"ink":"^6.0.1","react":"^19.1.0","@solana/web3.js":"^1.98.0","@0xsingularity/web3.js":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.6","typescript":"^5.6.0","@types/node":"^20.0.0","@types/react":"^19.1.0","ink-testing-library":"^4.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cli_0.4.0_1789164244413_0.35023690402390306"}}},"time":{"created":"2026-08-01T18:28:24.901Z","modified":"2026-09-11T22:04:04.684Z","0.1.0":"2026-08-01T18:28:25.222Z","0.2.0":"2026-08-01T20:12:58.583Z","0.2.1":"2026-08-01T21:34:56.399Z","0.2.2":"2026-08-01T23:09:05.429Z","0.2.3":"2026-08-01T23:22:26.318Z","0.2.4":"2026-08-01T23:53:39.939Z","0.2.5":"2026-08-02T00:11:51.689Z","0.2.6":"2026-08-13T22:01:50.832Z","0.3.0":"2026-08-15T22:59:49.367Z","0.4.0":"2026-09-11T22:04:04.502Z"},"author":{"name":"bajpainaman","email":"naman@entropytoorder.xyz"},"license":"MIT","keywords":["singularity","sing","cli","tui","ink","blockchain"],"description":"The Singularity command line app. A guided terminal experience for wallets, funds, transfers and program deploys on the Singularity chain.","maintainers":[{"name":"singularitywastaken","email":"namanbajpai23@gmail.com"}],"readme":"# `@0xsingularity/cli`\n\nThe Singularity command line app — a guided terminal experience for the\n**Singularity** chain.\n\n```\n                                      .····::::::::·····\n                           .          .···::::--:::::···.\n                    .··················:::--------:::····\n                 .·····::::--=++*+=--:-=*oo*++===---::···\n              ..····::::--=+#@@@o+-····:=o@@@@o*+=--::···\n             .·····:::--=+o@@@%*-·.     ·-*@@@@%*+=-::··.\n\n    ▄▀▀▀▀ ▀▀█▀▀ █▄  █ ▄▀▀▀▄ █   █ █     ▄▀▀▀▄ █▀▀▀▄ ▀▀█▀▀ ▀▀█▀▀ █   █\n    ▀▄▄▄    █   █ █ █ █  ▄▄ █   █ █     █▄▄▄█ █▄▄▄▀   █     █    ▀▄▀\n    ▄▄▄▄▀ ▄▄█▄▄ █  ▀█ ▀▄▄▄▀ ▀▄▄▄▀ █▄▄▄▄ █   █ █  ▀▄ ▄▄█▄▄   █     █\n\n         .············.. .·:----:::····::::-==:··\n         ..········..      ·:=o%%%%#####%%%#*-:··..\n         ...····..         .·:=o@@@@@@@@@@%*=-:·······...............\n          .......           ··:-=*o%@@@#o*+=--:::················....\n           ....             .··::-==++++===---:::::··············...\n                             .··:::----==-----::::::·············..\n\n  entropy to order   ·   v0.3.0\n```\n\nThat is **one frame** of many. It fills the whole terminal, and the eye moves.\n\n```bash\nnpm install -g @0xsingularity/cli\nsingularity\n```\n\nThat is the whole setup. Node.js 18 or later is the only prerequisite. There\nis no toolchain to install, no config file to write, and no endpoint to look\nup.\n\n## What you see on launch\n\nRun `singularity`. Three things happen, in order.\n\n**1. The eye turns.** The Singularity gravity well fills the whole terminal and\nspins, sixty frames a second. The core stays dark. The ring around it burns\nwhite. Spiral arms sweep out of the ring and fade into the dark.\n\n**2. The wordmark resolves.** After about a second and a half the letters of\nSINGULARITY appear out of the dark core. The field opens around them. The\ntagline and the version settle underneath.\n\n**3. Setup begins.** The intro hands over to the guided screens.\n\nPress any key to skip to the end of that.\n\n### Why it looks like this\n\nThe field is not decoration invented for a terminal. `well()` — the gravity\nwell, with its void core at radius 0.12, its glowing ring at 0.30, and arms\ndriven by time — is ported straight from the Singularity ASCII art engine. The\nterminal and the marketing surfaces draw the same shape from the same maths,\ndown to the density ramp.\n\nIt is monochrome, because the brand is. Bright white is the signal register.\nDepth comes from ASCII density, never from hue. Sparse glyphs sit back in gray,\ndense glyphs burn white.\n\n### When it does not animate\n\n`NO_COLOR`, `SINGULARITY_NO_ANIMATION`, and any output that is not a terminal\nall get one static frame of the eye with the wordmark already resolved, and no\ntimer at all. The intro can never spin against a log file, and it can never\nhold a pipe open.\n\n## What you get\n\nRun `singularity` with no arguments and it opens the guided app.\n\n**On a fresh machine** it walks you through three screens: create a wallet,\nback it up, and get funds from the faucet. Then it drops you at the main menu.\n\n**On a machine that already has a wallet** it opens straight to the main menu,\nwith your address and your live balance at the top.\n\n```\n ◆ SINGULARITY  ·  Main menu  ·  25aHPB…b3PM\n\n ╭──────────────────────────────────────────────────────────────╮\n │                                                              │\n │  Your address                                                │\n │  25aHPBn9kToSxe7fKSj5rnwTdMjnFFGBjH13ThfQb3PM                │\n │                                                              │\n │  Balance   2 SING                                            │\n │                                                              │\n │  ──────────────────────────────────────────────────────────  │\n │                                                              │\n │  ▸ Balance                                                   │\n │    Fund                                                      │\n │    Send                                                      │\n │    Look up an account                                        │\n │    Chain stats                                               │\n │    Recent transaction                                        │\n │    Deploy a program                                          │\n │    Run a node                                                │\n │    Settings                                                  │\n │    Quit                                                      │\n │                                                              │\n │  What you hold right now.                                    │\n │                                                              │\n ╰──────────────────────────────────────────────────────────────╯\n ↑ ↓  move      enter  select      esc  quit\n```\n\nArrow keys move, enter selects, escape goes back.\n\n## Scripting\n\nGive it a subcommand and it runs that command, prints the result, and exits.\nNo screen, no prompt, no terminal required.\n\n```bash\nsingularity wallet new\nsingularity fund 2\nsingularity balance\nsingularity transfer <TO> 1.5\nsingularity account <ADDRESS>\nsingularity stats\nsingularity tx <SIGNATURE>\nsingularity check-program target/deploy/my_program.so\nsingularity deploy target/deploy/my_program.so --yes\nsingularity node init --mode replica --disk /mnt/nvme1\nsingularity node start --service\nsingularity validator join --yes\nsingularity doctor\n```\n\nEvery command exits non-zero on failure and writes the reason to stderr.\n\n| Option | Effect |\n|---|---|\n| `--endpoint <URL>` | use another endpoint for this run |\n| `--url <URL>` | the same, spelled the way RPC tools spell it |\n| `--wallet <FILE>` | use another wallet file for this run |\n| `--force`, `-f` | overwrite something that already exists |\n| `--yes`, `-y` | answer every confirmation with yes |\n\n### The whole RPC surface\n\nThe node serves 276 JSON-RPC methods across 13 namespaces, and every one of\nthem is reachable from the command line. `rpc` calls any method by its wire\nname; each namespace group calls that namespace's methods by a friendlier\nkebab-case name. The lists come from the SDK's RPC manifest, which mirrors the\nnode's dispatch tables.\n\n```bash\nsingularity rpc eto_getStats                        # any method, wire name\nsingularity rpc eth_getBalance 0xabc… latest\nsingularity evm get-balance 0xabc… latest           # same call, friendly name\nsingularity evm block-number\nsingularity move move-view '{\"function\":\"0x1::coin::balance\"}'\nsingularity wasm wasm-query <CONTRACT> '{\"balance\":{}}'\nsingularity onebook get-order <ORDER_ID>\nsingularity hilsa chain-catalog\nsingularity agent a2a-list-cards\nsingularity explorer get-stats\nsingularity admin validator-set\nsingularity evm list                                # every method in a namespace\n```\n\nThe namespaces are `svm`, `evm`, `explorer`, `wasm`, `move`, `admin`, `hilsa`,\n`cil` (deprecated `eto_cil*` aliases), `token`, `onebook`, `workflow`,\n`crossvm`, and `agent`. A parameter is read as JSON when it parses as JSON —\nnumbers, booleans, arrays, objects — and as a string when it does not, so\naddresses need no quoting. Results print as pretty JSON, one object per run,\nso the output pipes straight into `jq`.\n\nTo change the endpoint or the wallet file for every run, open **Settings** in\nthe app. It saves them to `~/.config/singularity/settings.json`.\n\n## Your wallet\n\nOne file, at `~/.config/singularity/id.json`, written with owner-only\npermissions.\n\n**That file is the only copy of your key.** The app says so in a screen you\ncannot skip past without acknowledging it. Nobody can restore it for you.\n\n`@0xsingularity/web3.js` reads and writes the same file, so a wallet created\nhere works in a script and the other way round.\n\n## Deploying a program\n\n`singularity deploy <file.so>` runs three gates, in order:\n\n1. **The program check.** This is the most valuable thing in the package. See\n   below.\n2. **The build tools.** Missing tools are installed once, on your confirmation,\n   into `~/.config/singularity/toolchain`. Nothing outside that directory\n   changes and no shell profile is edited.\n3. **The deploy**, driven through those managed tools over plain RPC.\n\n### The program check\n\nThe loader accepts ELF `e_flags` of `0x0` (SBPF v1) or the legacy `0x20`\nmarker. It **rejects** the plain version encodings (`1`, `2`, `3`) that\ncurrent build tools emit by default.\n\nA program built with default settings **deploys successfully and then never\nexecutes**. There is no error at deploy time. Every instruction against it\nsimply fails, later, for reasons that look like anything but the real cause.\n\n```bash\nsingularity check-program target/deploy/my_program.so\n```\n\nThe check runs automatically before every deploy and aborts before anything\nreaches the chain. This is chain issue **#763**.\n\nBuild so the program carries `e_flags` `0x0`:\n\n```bash\ncargo build-sbf --arch v0\n```\n\n`--arch v0` writes `0x0`. The other arch values (`v1`/`v2`/`v3`) write\n`0x1`/`0x2`/`0x3`, which the chain rejects. (Older toolchains spelled this\n`--arch sbfv1`; current `cargo build-sbf` rejects that and wants `--arch v0`.)\n\n## Running a node\n\n**Run a node** in the main menu, or `singularity node …` from a script, sets a\nSingularity node up on this machine and runs it. There are three kinds:\n\n| Kind | What it is | What it needs |\n|---|---|---|\n| **Consensus node** (`--mode consensus`) | A validator. Signs blocks. | Linux x86_64, an NVIDIA GPU with CUDA 12+, a SING bond of at least 100 SING |\n| **Non-consensus node** (`--mode replica`) | Follows the chain and serves RPC. Never executes, never votes. | Linux x86_64. No GPU, no stake. |\n| **CPU-only node** (`--mode cpu`) | A non-consensus node whose runtime is **compiled here**, CPU-only. The indexer profile. | Rust and git. Any Linux. |\n\n```bash\nsingularity node init --mode consensus --disk /mnt/nvme1 --p2p-addr 203.0.113.7:19100\nsingularity validator join --yes          # bond SING, register on chain\nsingularity node start --service          # run it as a system service\nsingularity node status                   # height, service, identity, registry status\n```\n\nRun `singularity node init` with no `--mode` (or pick **Run a node** in the\napp) and it asks: what kind, which disk for the data, which disk for the logs,\nand — for a consensus node — the public address peers dial.\n\n### Where the data goes\n\nA node writes constantly. `singularity node disks` shows every mounted\nfilesystem with its free space, filesystem type and whether it is an SSD.\n`--disk MOUNT` keeps the chain data in `MOUNT/singularity/<network>/data` and\nthe logs in `MOUNT/singularity/<network>/logs` (owner-only directories);\n`--data-dir` and `--log-dir` name exact places, and the guided setup asks for\nthe data disk and the log disk separately so a runaway log never starves the\nstate store. Setup warns when the data would land on the boot disk, on a\nspinning disk, or on a disk with less than 500 GB free.\n\nEverything else the node owns lives in `~/.config/singularity/node`: the\nruntime, the config, the key, the environment file and the systemd unit.\n\n### When there is no Linux\n\nThe runtime is a Linux x86_64 program. `singularity node env` looks at the\nmachine and says how a node would run on it:\n\n- **Linux** — directly. `--isolate` puts it in an LXC container (or Docker if\n  LXC is missing) with the chosen data and log disks passed through.\n- **Windows** — in a WSL 2 distribution named `singularity-node`; `node env`\n  prints the `wsl --install …` commands, and Docker is the fallback.\n- **macOS** — in Docker Desktop. A Mac has no NVIDIA GPU, so only replica and\n  CPU-only nodes run there.\n\n`node start` drives the container once it exists.\n\n### The runtime\n\nConsensus and replica nodes download a released runtime named by a signed\nmanifest; the tarball and the genesis file are checked against their published\nSHA-256 before anything is unpacked. `SINGULARITY_RUNTIME_MANIFEST` points at\nanother manifest. The CPU-only node clones the source (or uses\n`SINGULARITY_SOURCE_DIR`, a developer's checkout) and runs\n`cargo build --release --no-default-features`.\n\n### The consensus key\n\nOne 32-byte file, `~/.config/singularity/node/keys/consensus.key`, owner-only,\nwritten once. **It is the only copy of the validator's identity.** `node\nstatus` prints the public keys derived from it; the secret is never printed.\n`validator join` signs the on-chain registration with it and with your wallet,\nwhich pays the bond. Activation happens at an epoch boundary once the node has\nsynced; `validator status` says where it stands. `validator leave` starts the\nwarm-down.\n\n## Other things worth knowing\n\n- **The token is SING.** Every amount this app prints is in SING.\n- **Finality is one hop and under a second.** Do not build logic on the\n  difference between commitment levels.\n- **A deploy goes over plain RPC.** This chain has no faster submission path\n  for one, and the app already passes the right flag.\n- **1 MiB transaction cap.**\n- **Request caps** — 100 addresses per multiple-account call, 256 calls per\n  batch.\n\n## Develop\n\n```bash\nnpm install\nnpm run typecheck\nnpm test          # 460 tests, none of them touch the network\nnpm run build\n```\n\nThe logic lives in plain TypeScript modules under `src/core` and\n`src/commands`. The screens under `src/ui` are presentation only, built with\n[ink](https://github.com/vadimdemedes/ink). That split is why the wallet, the\namounts, the faucet errors, the program check and the deploy path are all\ncovered by tests that need neither a terminal nor a network.\n\n## Licence\n\nMIT.\n","readmeFilename":"README.md"}