{"_id":"@_koii/namespace-wrapper","_rev":"22-cf0532e5b70e544396264756ef36d379","name":"@_koii/namespace-wrapper","dist-tags":{"latest":"1.0.23"},"versions":{"1.0.0":{"name":"@_koii/namespace-wrapper","version":"1.0.0","author":{"name":"Koii Network"},"license":"ISC","_id":"@_koii/namespace-wrapper@1.0.0","dist":{"shasum":"cf55317f2ec24be89c533b0d58bd83e50ad6c202","tarball":"https://registry.npmjs.org/@_koii/namespace-wrapper/-/namespace-wrapper-1.0.0.tgz","fileCount":3,"integrity":"sha512-eiCIqsoba86G2wrLt6RYOprsjwMhCU0a431ziScDLR+UpZDXWhzs0UXWgmtSK5LbqX8V2YPmb+l7Favx1VSr5A==","signatures":[{"sig":"MEUCICCvYZwbnjaicn066Blf2I9yq1kKaC6r5JJf+5s1jZgQAiEA+i83IWXn8lRlCj34spVfGG2hZomjP+KAr0VV9zuq6eM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":36833},"main":"index.js","gitHead":"2031c83aaad4a7068802f1d024390ee630485c25","scripts":{"lint":"eslint . --fix","test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},"_npmVersion":"9.5.0","description":"Koii Task Utility Package","directories":{},"_nodeVersion":"18.15.0","dependencies":{"tail":"^2.2.6","axios":"^0.27.2","dotenv":"^16.3.0","semver":"^7.6.2","express":"^4.18.1","nodemon":"^3.1.0","request":"^2.88.2","node-cron":"^3.0.2","body-parser":"^1.20.2","cross-spawn":"^7.0.3","@_koi/web3.js":"^0.0.6","nedb-promises":"^6.2.1","dotenv-webpack":"^8.1.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.0","eslint-plugin-import":"^2.29.1","eslint-config-airbnb-base":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/namespace-wrapper_1.0.0_1719343742858_0.6688615852311839","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@_koii/namespace-wrapper","version":"1.0.1","author":{"name":"Koii Network"},"license":"ISC","_id":"@_koii/namespace-wrapper@1.0.1","dist":{"shasum":"41e333dd66c5b5349219c0dc5424c8aa0fd7637f","tarball":"https://registry.npmjs.org/@_koii/namespace-wrapper/-/namespace-wrapper-1.0.1.tgz","fileCount":5,"integrity":"sha512-MIBz1AFroQZ4wxcLU50OMIBfftK9MiSCsffetdTDDcAtQZz0M4xfPw4AFcApoDp8aIwFttn805iOrZuDPDPvag==","signatures":[{"sig":"MEUCIQCszj5s8SNF+r1F336jVSeZiaq3S9ZGDnghmiJA4NPdFQIgeHH+gmL0u8tId3o5y0ixKFGc0s846vigOOO3u87N7Oo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42828},"main":"index.js","gitHead":"e8a173e8431899fbac01d378de859baa553b3ffe","scripts":{"lint":"eslint . --fix","test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},"_npmVersion":"10.8.1","description":"Koii Task Utility Package","directories":{},"_nodeVersion":"22.3.0","dependencies":{"tail":"^2.2.6","axios":"^0.27.2","dotenv":"^16.3.0","semver":"^7.6.2","express":"^4.18.1","nodemon":"^3.1.0","request":"^2.88.2","node-cron":"^3.0.2","body-parser":"^1.20.2","cross-spawn":"^7.0.3","@_koi/web3.js":"^0.0.6","nedb-promises":"^6.2.1","dotenv-webpack":"^8.1.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.0","eslint-plugin-import":"^2.29.1","eslint-config-airbnb-base":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/namespace-wrapper_1.0.1_1719346994714_0.416545581245227","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@_koii/namespace-wrapper","version":"1.0.2","author":{"name":"Koii Network"},"license":"ISC","_id":"@_koii/namespace-wrapper@1.0.2","maintainers":[{"name":"sid09","email":"sid@koii.network"},{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},{"name":"muscular_developer","email":"wjelen30@gmail.com"},{"name":"npm-koii","email":"npm@koii.network"},{"name":"josh-koii","email":"josh@koii.network"}],"dist":{"shasum":"f9e14c8fb84cea1ecb97f5223ae38b69d25edabb","tarball":"https://registry.npmjs.org/@_koii/namespace-wrapper/-/namespace-wrapper-1.0.2.tgz","fileCount":5,"integrity":"sha512-DB2SSV0RG68O0QvIzpTjK0edXY/hKKP+69/Yn6qnYUDGelYE7g1Cuik6nDZCbIPW3+RRzHc4K/k8sY5FJjXFtg==","signatures":[{"sig":"MEQCIAZN4SMe5IvsZ7D2S95SB+TUDpN2w8RDb8Jlsa954ZFeAiBwRP/8qBqDYkzp95/Q4+WB5SHTesC0gyoFxXNpxqrIfw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42839},"main":"index.js","gitHead":"f53f42563977ea349fc375fb6cca9c3373475d3e","scripts":{"lint":"eslint . --fix","test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},"_npmVersion":"10.8.1","description":"Koii Task Utility Package","directories":{},"_nodeVersion":"22.4.0","dependencies":{"tail":"^2.2.6","axios":"^0.27.2","dotenv":"^16.3.0","semver":"^7.6.2","express":"^4.18.1","nodemon":"^3.1.0","request":"^2.88.2","node-cron":"^3.0.2","body-parser":"^1.20.2","cross-spawn":"^7.0.3","@_koi/web3.js":"^0.0.6","nedb-promises":"^6.2.1","dotenv-webpack":"^8.1.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.0","eslint-plugin-import":"^2.29.1","eslint-config-airbnb-base":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/namespace-wrapper_1.0.2_1720200140085_0.6347972262239452","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"@_koii/namespace-wrapper","version":"1.0.3","author":{"name":"Koii Network"},"license":"ISC","_id":"@_koii/namespace-wrapper@1.0.3","maintainers":[{"name":"sid09","email":"sid@koii.network"},{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},{"name":"muscular_developer","email":"wjelen30@gmail.com"},{"name":"npm-koii","email":"npm@koii.network"},{"name":"josh-koii","email":"josh@koii.network"}],"dist":{"shasum":"edcd669fc524747f0deeb3e5f14c72c5f45da56d","tarball":"https://registry.npmjs.org/@_koii/namespace-wrapper/-/namespace-wrapper-1.0.3.tgz","fileCount":12,"integrity":"sha512-HGZyVYeADg3EjwQ16EjMUj6VE/CkHcLErSAU9sKgCfHrWZLIrR4m9T6DI3Sb9leykOvACTwovKFBrmWEKDpMeA==","signatures":[{"sig":"MEUCIQDZ3GVuZyWxVUVXUEn/w6RC2PAc8jiFCqmOIMUXdechZAIgcw3RFqACWBJo6rQrAahcZNVtG4tZKupB01VTFx/4b7o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":101263},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"62b5a1e0d78e2b909671808546c88fa578f4fb4d","scripts":{"lint":"eslint . --fix","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js"},"_npmUser":{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},"_npmVersion":"10.8.2","description":"Koii Task Utility Package","directories":{},"_nodeVersion":"22.5.1","dependencies":{"tail":"^2.2.6","axios":"^0.27.2","dotenv":"^16.3.0","semver":"^7.6.2","express":"^4.18.1","nodemon":"^3.1.0","request":"^2.88.2","node-cron":"^3.0.2","body-parser":"^1.20.2","cross-spawn":"^7.0.3","@_koi/web3.js":"^0.0.6","nedb-promises":"^6.2.1","dotenv-webpack":"^8.1.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.0","prettier":"^3.3.2","typescript":"^5.4.5","@types/bs58":"^4.0.4","@types/nedb":"^1.8.16","@types/node":"^20.14.2","@types/express":"^4.17.21","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","eslint-config-airbnb-base":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/namespace-wrapper_1.0.3_1721840489794_0.2881953485423667","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"@_koii/namespace-wrapper","version":"1.0.4","author":{"name":"Koii Network"},"license":"ISC","_id":"@_koii/namespace-wrapper@1.0.4","maintainers":[{"name":"sid09","email":"sid@koii.network"},{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},{"name":"muscular_developer","email":"wjelen30@gmail.com"},{"name":"npm-koii","email":"npm@koii.network"},{"name":"josh-koii","email":"josh@koii.network"}],"dist":{"shasum":"64928097f00109aebc15e24c1e64651b94ffa6b9","tarball":"https://registry.npmjs.org/@_koii/namespace-wrapper/-/namespace-wrapper-1.0.4.tgz","fileCount":12,"integrity":"sha512-nLLNAfVbBzz2n2IKPCbhkxuTy/DqHfeDc9ZrMlOQ3mJTgN4J46MFdc0UnHdAG03CBCLqnZCAC13juFjeEnMU5A==","signatures":[{"sig":"MEQCIEmTAKw+2leJ3BuDCaScVsyMebOYhbZN4gcXzysFyNzVAiBFs0l8hBlSvtQ9gazT6bq/T0A/ERSwxowpcSwg6vKsXw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":101777},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"f8acae46d70d4b441bbf0a9148e0f1eceafde4f1","scripts":{"lint":"eslint . --fix","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js"},"_npmUser":{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},"_npmVersion":"10.8.2","description":"Koii Task Utility Package","directories":{},"_nodeVersion":"22.5.1","dependencies":{"tail":"^2.2.6","axios":"^0.27.2","dotenv":"^16.3.0","semver":"^7.6.2","express":"^4.18.1","nodemon":"^3.1.0","request":"^2.88.2","node-cron":"^3.0.2","body-parser":"^1.20.2","cross-spawn":"^7.0.3","@_koi/web3.js":"^0.0.6","nedb-promises":"^6.2.1","dotenv-webpack":"^8.1.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.0","prettier":"^3.3.2","typescript":"^5.4.5","@types/bs58":"^4.0.4","@types/nedb":"^1.8.16","@types/node":"^20.14.2","@types/express":"^4.17.21","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","eslint-config-airbnb-base":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/namespace-wrapper_1.0.4_1721843026686_0.5566544677524874","host":"s3://npm-registry-packages"}},"1.0.6":{"name":"@_koii/namespace-wrapper","version":"1.0.6","author":{"name":"Koii Network"},"license":"ISC","_id":"@_koii/namespace-wrapper@1.0.6","maintainers":[{"name":"sid09","email":"sid@koii.network"},{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},{"name":"muscular_developer","email":"wjelen30@gmail.com"},{"name":"npm-koii","email":"npm@koii.network"},{"name":"josh-koii","email":"josh@koii.network"}],"dist":{"shasum":"024f77e5147a0b9cdcb54a74827d43d61c47937a","tarball":"https://registry.npmjs.org/@_koii/namespace-wrapper/-/namespace-wrapper-1.0.6.tgz","fileCount":12,"integrity":"sha512-0Qzeb4Qd70IVWRADOFQasVlUieF8YRK97WwzEwnpoNDbMSaoKgoMgTc8FkFZzHUoc001falsRQih0wQF7S78Tw==","signatures":[{"sig":"MEQCIEorxL2yne8SFm4GqdOd5MFxoOyWaOwZaMv7/MiWvaJMAiBwjesn8SAUXnlijhaHOC8EdHZgL4nZebpadGAEjmXuJg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":101591},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"b153bc2f76f0d1d6208450a9b902307190e31db6","scripts":{"lint":"eslint . --fix","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js"},"_npmUser":{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},"_npmVersion":"10.8.2","description":"Koii Task Utility Package","directories":{},"_nodeVersion":"22.5.1","dependencies":{"axios":"^1.7.2","dotenv":"^16.3.0","express":"^4.18.1","body-parser":"^1.20.2","@_koi/web3.js":"^0.0.7","nedb-promises":"^6.2.3"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.8.0","prettier":"^3.3.2","typescript":"^5.4.5","@types/bs58":"^4.0.4","@types/nedb":"^1.8.16","@types/node":"^22.0.0","@types/express":"^4.17.21","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","eslint-config-airbnb-base":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/namespace-wrapper_1.0.6_1722276378768_0.4162790796230935","host":"s3://npm-registry-packages"}},"1.0.7":{"name":"@_koii/namespace-wrapper","version":"1.0.7","author":{"name":"Koii Network"},"license":"ISC","_id":"@_koii/namespace-wrapper@1.0.7","maintainers":[{"name":"sid09","email":"sid@koii.network"},{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},{"name":"muscular_developer","email":"wjelen30@gmail.com"},{"name":"npm-koii","email":"npm@koii.network"},{"name":"josh-koii","email":"josh@koii.network"}],"dist":{"shasum":"be503a0935dc9ffabef960e21342241f21d90b3b","tarball":"https://registry.npmjs.org/@_koii/namespace-wrapper/-/namespace-wrapper-1.0.7.tgz","fileCount":12,"integrity":"sha512-dSsqzy6Nrt8vU4v47zQMazvITfcJaDuXP+BfYUdN0dRm3bL1SY+iWtsZiWM1lx5MLKxd+RECQ4TaLQRAIpcf9g==","signatures":[{"sig":"MEYCIQDDf5MH9sj5j2Lbt14s/S7wK1n6vg8jyXIaV12Jsup+iQIhAIb1ScUwN0+sE9ciAxDhtLntXyA51hEbSUhVl20FLMK+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":102661},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"bdf46618b8d2c528b925364e345ba82454a36bfb","scripts":{"lint":"eslint . --fix","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js"},"_npmUser":{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},"_npmVersion":"10.8.2","description":"Koii Task Utility Package","directories":{},"_nodeVersion":"22.5.1","dependencies":{"axios":"^1.7.2","dotenv":"^16.3.0","express":"^4.18.1","body-parser":"^1.20.2","nedb-promises":"^6.2.3","@_koii/web3.js":"^0.1.11"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.8.0","prettier":"^3.3.2","typescript":"^5.4.5","@types/bs58":"^4.0.4","@types/nedb":"^1.8.16","@types/node":"^22.0.0","@types/express":"^4.17.21","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","eslint-config-airbnb-base":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/namespace-wrapper_1.0.7_1722622343577_0.05376521649448884","host":"s3://npm-registry-packages"}},"1.0.8":{"name":"@_koii/namespace-wrapper","version":"1.0.8","author":{"name":"Koii Network"},"license":"ISC","_id":"@_koii/namespace-wrapper@1.0.8","maintainers":[{"name":"sid09","email":"sid@koii.network"},{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},{"name":"muscular_developer","email":"wjelen30@gmail.com"},{"name":"npm-koii","email":"npm@koii.network"},{"name":"josh-koii","email":"josh@koii.network"}],"dist":{"shasum":"2e14a8616f6c50b3c321f72929b9f745271aebfd","tarball":"https://registry.npmjs.org/@_koii/namespace-wrapper/-/namespace-wrapper-1.0.8.tgz","fileCount":12,"integrity":"sha512-3VwmkcznnRAV7XsG7rR6lAa+HLcx/TJr9yqGkXlVe/xSx660NLEwPPl7EVwjYmDt+6KQvUH0ZmMCaT+bpkjjpQ==","signatures":[{"sig":"MEYCIQCC0ld28IZj9CDy8BfiaCd4DG8V2U6uZKT4QM19d7YN3wIhAKDrHSz90QHEZenHP/rlg2Lgb/sBUmv0YjICKfTmmpDv","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":106446},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"190e15091175ba9a4b544ba6179b36ba17fdad80","scripts":{"lint":"eslint . --fix","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js"},"_npmUser":{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},"_npmVersion":"10.8.2","description":"Koii Task Utility Package","directories":{},"_nodeVersion":"22.6.0","dependencies":{"axios":"^1.7.2","dotenv":"^16.3.0","express":"^4.18.1","body-parser":"^1.20.2","nedb-promises":"^6.2.3","@_koii/web3.js":"^0.1.11"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.8.0","prettier":"^3.3.2","typescript":"^5.4.5","@types/bs58":"^4.0.4","@types/nedb":"^1.8.16","@types/node":"^22.0.0","@types/express":"^4.17.21","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","eslint-config-airbnb-base":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/namespace-wrapper_1.0.8_1723147377179_0.9847870641579122","host":"s3://npm-registry-packages"}},"1.0.9":{"name":"@_koii/namespace-wrapper","version":"1.0.9","author":{"name":"Koii Network"},"license":"ISC","_id":"@_koii/namespace-wrapper@1.0.9","maintainers":[{"name":"sid09","email":"sid@koii.network"},{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},{"name":"muscular_developer","email":"wjelen30@gmail.com"},{"name":"npm-koii","email":"npm@koii.network"},{"name":"josh-koii","email":"josh@koii.network"}],"dist":{"shasum":"8477273f3d83ac9b655dd7047d5298accce43908","tarball":"https://registry.npmjs.org/@_koii/namespace-wrapper/-/namespace-wrapper-1.0.9.tgz","fileCount":12,"integrity":"sha512-TQtcGXj44u4qq32yrvJLFa53+wRBnUsK8IwQN5ypMl3aLM14yZiKwxRt/te24Gwzmz/pS6lyfhNa2DBo7JrXcA==","signatures":[{"sig":"MEQCIDAC+zxzknN6N5kOTEax4Cl2DdHC6ISJgO1iSbB67E3qAiB0jCe82rCk/Vgfshh4az2UBVMSikQE7TInraY6WfqQ4g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":106627},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"9885d35c6707ad0d42a9050436a90292e3d6d74a","scripts":{"lint":"eslint . --fix","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js"},"_npmUser":{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},"_npmVersion":"10.8.2","description":"Koii Task Utility Package","directories":{},"_nodeVersion":"22.8.0","dependencies":{"axios":"^1.7.2","dotenv":"^16.3.0","express":"^4.18.1","body-parser":"^1.20.2","nedb-promises":"^6.2.3","@_koii/web3.js":"^0.1.11"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.8.0","prettier":"^3.3.2","typescript":"^5.4.5","@types/bs58":"^4.0.4","@types/nedb":"^1.8.16","@types/node":"^22.0.0","@types/express":"^4.17.21","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","eslint-config-airbnb-base":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/namespace-wrapper_1.0.9_1725884241020_0.7925624460151486","host":"s3://npm-registry-packages"}},"1.0.10":{"name":"@_koii/namespace-wrapper","version":"1.0.10","author":{"name":"Koii Network"},"license":"ISC","_id":"@_koii/namespace-wrapper@1.0.10","maintainers":[{"name":"sid09","email":"sid@koii.network"},{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},{"name":"muscular_developer","email":"wjelen30@gmail.com"},{"name":"npm-koii","email":"npm@koii.network"},{"name":"josh-koii","email":"josh@koii.network"}],"dist":{"shasum":"f791a3a1e9bf4f55b7f95d7396ff0743ed27ed67","tarball":"https://registry.npmjs.org/@_koii/namespace-wrapper/-/namespace-wrapper-1.0.10.tgz","fileCount":12,"integrity":"sha512-Xb2DaovJpcUpl0K/lAjDLfs42XLmr0vkC53lP4FF8g97HUW6d54XDblRlV6uql4k9RVVj/2tepGyUx5hPPTG+Q==","signatures":[{"sig":"MEQCIF8yHkqgpKxiuHMaP1/XC/BFYIwiVxNaChOgmKPLP1EcAiAn4PdcLKNUoAqz1zmx5BawjVH5D/nQUI+nQJ/yj5RkZA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115457},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"7b3d1b47f93ee0785ef95291ddd27d8cb66983f4","scripts":{"lint":"eslint . --fix","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js"},"_npmUser":{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},"_npmVersion":"10.8.2","description":"Koii Task Utility Package","directories":{},"_nodeVersion":"22.8.0","dependencies":{"axios":"^1.7.2","dotenv":"^16.3.0","express":"^4.18.1","body-parser":"^1.20.2","nedb-promises":"^6.2.3","@_koii/web3.js":"^0.1.11"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.8.0","prettier":"^3.3.2","typescript":"^5.4.5","@types/bs58":"^4.0.4","@types/nedb":"^1.8.16","@types/node":"^22.0.0","@types/express":"^4.17.21","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","eslint-config-airbnb-base":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/namespace-wrapper_1.0.10_1726083921326_0.16371967802532938","host":"s3://npm-registry-packages"}},"1.0.11":{"name":"@_koii/namespace-wrapper","version":"1.0.11","author":{"name":"Koii Network"},"license":"ISC","_id":"@_koii/namespace-wrapper@1.0.11","maintainers":[{"name":"sid09","email":"sid@koii.network"},{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},{"name":"muscular_developer","email":"wjelen30@gmail.com"},{"name":"npm-koii","email":"npm@koii.network"},{"name":"josh-koii","email":"josh@koii.network"}],"dist":{"shasum":"1c5444e859206c5d1daf650b62da4e053468691e","tarball":"https://registry.npmjs.org/@_koii/namespace-wrapper/-/namespace-wrapper-1.0.11.tgz","fileCount":12,"integrity":"sha512-T4mINIdp7Oj0I3K7WFDcET//KHgu9kEaNW4tpiFckNVtIGjigF1n7LnIHjnRgAAYVg94kNCmW/EwIw+Nn5XC+g==","signatures":[{"sig":"MEYCIQD4bTIf4D4p9yWnK1zVyt2Uo+itGK0GogWA+gPqZFDMBQIhAN6n5uTSLyhm2E9QF1dvrl2psY0IUWYQKIOQIqAu8rYB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115459},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"ee6bdf19cddb5c01172889bda2f1914f032058fd","scripts":{"lint":"eslint . --fix","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js"},"_npmUser":{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},"_npmVersion":"10.8.2","description":"Koii Task Utility Package","directories":{},"_nodeVersion":"22.8.0","dependencies":{"axios":"^1.7.2","dotenv":"^16.3.0","express":"^4.18.1","body-parser":"^1.20.2","nedb-promises":"^6.2.3","@_koii/web3.js":"^0.1.11"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.8.0","prettier":"^3.3.2","typescript":"^5.4.5","@types/bs58":"^4.0.4","@types/nedb":"^1.8.16","@types/node":"^22.0.0","@types/express":"^4.17.21","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","eslint-config-airbnb-base":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/namespace-wrapper_1.0.11_1726591053460_0.5671404849943928","host":"s3://npm-registry-packages"}},"1.0.12":{"name":"@_koii/namespace-wrapper","version":"1.0.12","author":{"name":"Koii Network"},"license":"ISC","_id":"@_koii/namespace-wrapper@1.0.12","maintainers":[{"name":"sid09","email":"sid@koii.network"},{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},{"name":"muscular_developer","email":"wjelen30@gmail.com"},{"name":"npm-koii","email":"npm@koii.network"},{"name":"josh-koii","email":"josh@koii.network"}],"dist":{"shasum":"ac134fbb35e80d83516ac121ecf8f0e79783a438","tarball":"https://registry.npmjs.org/@_koii/namespace-wrapper/-/namespace-wrapper-1.0.12.tgz","fileCount":12,"integrity":"sha512-H1Yj0CMW/+rRsyPIqUgW3JP5rXOgmaLww12kK5GasrSBkZ8ePuwA+Zq6Wc3vSvTn4p7HCHtNSaO85sRucfgMcA==","signatures":[{"sig":"MEYCIQCv3Uj1z8kYo1cbOFZ7ymF386YXw5Xn6ZFbjVutg5KWMAIhAIDakrAJPb4ZWmfn50olFVbnSTfoF1jGbpyGlbIPlhc0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115819},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"816d78d47c5902962b79ec6bab810e47210729b3","scripts":{"lint":"eslint . --fix","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js"},"_npmUser":{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},"_npmVersion":"10.8.3","description":"Koii Task Utility Package","directories":{},"_nodeVersion":"22.9.0","dependencies":{"axios":"^1.7.2","dotenv":"^16.3.0","express":"^4.18.1","body-parser":"^1.20.2","nedb-promises":"^6.2.3","@_koii/web3.js":"^0.1.11"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.8.0","prettier":"^3.3.2","typescript":"^5.4.5","@types/bs58":"^4.0.4","@types/nedb":"^1.8.16","@types/node":"^22.0.0","@types/express":"^4.17.21","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","eslint-config-airbnb-base":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/namespace-wrapper_1.0.12_1728418412652_0.9521091107687152","host":"s3://npm-registry-packages"}},"1.0.13":{"name":"@_koii/namespace-wrapper","version":"1.0.13","author":{"name":"Koii Network"},"license":"ISC","_id":"@_koii/namespace-wrapper@1.0.13","maintainers":[{"name":"sid09","email":"sid@koii.network"},{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},{"name":"muscular_developer","email":"wjelen30@gmail.com"},{"name":"npm-koii","email":"npm@koii.network"},{"name":"josh-koii","email":"josh@koii.network"}],"dist":{"shasum":"1ba682f093a8cfe55084e7f37478ce59bf5134bf","tarball":"https://registry.npmjs.org/@_koii/namespace-wrapper/-/namespace-wrapper-1.0.13.tgz","fileCount":12,"integrity":"sha512-z37lUMdfYeUhQuTXYPWyULT1z8QpSCGFB8os8Vf2gXfxJV195hTgIlEr3QEDwg/ddNfc0AUExjeXJV0w/A/lcg==","signatures":[{"sig":"MEUCIF6yaiNz+SYp+5jmonH+IeTPvj4xGumzorbNCCvzqNpPAiEA+Bc0kqaOnXzNU5U0x7ghuppmekRXgU899zBDCEh5oDw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116074},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"de689dcb0b9c48e6e1bd13726a36750e1254000f","scripts":{"lint":"eslint . --fix","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js"},"_npmUser":{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},"_npmVersion":"10.8.3","description":"Koii Task Utility Package","directories":{},"_nodeVersion":"22.9.0","dependencies":{"axios":"^1.7.2","dotenv":"^16.3.0","express":"^4.18.1","body-parser":"^1.20.2","nedb-promises":"^6.2.3","@_koii/web3.js":"^0.1.11"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.8.0","prettier":"^3.3.2","typescript":"^5.4.5","@types/bs58":"^4.0.4","@types/nedb":"^1.8.16","@types/node":"^22.0.0","@types/express":"^4.17.21","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","eslint-config-airbnb-base":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/namespace-wrapper_1.0.13_1728567261054_0.06075157811792198","host":"s3://npm-registry-packages"}},"1.0.14":{"name":"@_koii/namespace-wrapper","version":"1.0.14","author":{"name":"Koii Network"},"license":"ISC","_id":"@_koii/namespace-wrapper@1.0.14","maintainers":[{"name":"sid09","email":"sid@koii.network"},{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},{"name":"muscular_developer","email":"wjelen30@gmail.com"},{"name":"npm-koii","email":"npm@koii.network"},{"name":"josh-koii","email":"josh@koii.network"}],"dist":{"shasum":"9a94f16374bad6f362d61dbd3df2067f05aa29d2","tarball":"https://registry.npmjs.org/@_koii/namespace-wrapper/-/namespace-wrapper-1.0.14.tgz","fileCount":12,"integrity":"sha512-vcccrMMWX5IhpdRb/nmHp1/bGWW7pGC1ynRp/LLHrhBCkdLWDm+dgyGSxpG+8zRUiyCVFBWKxiU5PwzhO7m/Sg==","signatures":[{"sig":"MEQCIGVNjZJps39Be/k56wijZFwvd44MFzQ3+Yc883l9LgHyAiBVjsuDS00iNaTTpOrRGPVPJk+kjTcBkGVJ71RpKXI35w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116100},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"03da7f0c26e38d6e038ebfe915a74de39589a8db","scripts":{"lint":"eslint . --fix","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js"},"_npmUser":{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},"_npmVersion":"10.8.2","description":"Koii Task Utility Package","directories":{},"_nodeVersion":"22.0.0","dependencies":{"axios":"^1.7.2","dotenv":"^16.3.0","express":"^4.18.1","body-parser":"^1.20.2","nedb-promises":"^6.2.3","@_koii/web3.js":"^0.1.11"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.8.0","prettier":"^3.3.2","typescript":"^5.4.5","@types/bs58":"^4.0.4","@types/nedb":"^1.8.16","@types/node":"^22.0.0","@types/express":"^4.17.21","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","eslint-config-airbnb-base":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/namespace-wrapper_1.0.14_1729180692470_0.2388218562022808","host":"s3://npm-registry-packages"}},"1.0.15":{"name":"@_koii/namespace-wrapper","version":"1.0.15","author":{"name":"Koii Network"},"license":"ISC","_id":"@_koii/namespace-wrapper@1.0.15","maintainers":[{"name":"josh-koii","email":"josh@koii.network"},{"name":"muscular_developer","email":"wjelen30@gmail.com"},{"name":"npm-koii","email":"npm@koii.network"},{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},{"name":"sid09","email":"sid@koii.network"}],"dist":{"shasum":"6bff8f7acfdadca09ae3405f11ab96899fb4fe61","tarball":"https://registry.npmjs.org/@_koii/namespace-wrapper/-/namespace-wrapper-1.0.15.tgz","fileCount":12,"integrity":"sha512-hb/HasORFA/0gcjQcvMl+KdN8zfJjPqJLKRuFW6iiVlsWqbBJ+fUP5E2UwMJq90S3glPLp44rbSW1lIFY1vbtg==","signatures":[{"sig":"MEQCIGRmynIN6t4r4lwYAt8LVTJdoRBCxP774SrGj6+UuCuXAiBBUTmhU/c6ailBynyHEygmRTlNUc/3fAcmgz+o5dm36w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":124573},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"d1ca39fc49e3be8bde0b144bd2f7fedc2d6624b5","scripts":{"lint":"eslint . --fix","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js"},"_npmUser":{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},"_npmVersion":"10.9.0","description":"Koii Task Utility Package","directories":{},"_nodeVersion":"23.3.0","dependencies":{"axios":"^1.7.2","dotenv":"^16.3.0","express":"^4.18.1","body-parser":"^1.20.2","nedb-promises":"^6.2.3","@_koii/web3.js":"^0.1.11"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.8.0","prettier":"^3.3.2","typescript":"^5.4.5","@types/bs58":"^4.0.4","@types/nedb":"^1.8.16","@types/node":"^22.0.0","@types/express":"^4.17.21","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","eslint-config-airbnb-base":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/namespace-wrapper_1.0.15_1733269406036_0.9254164082454637","host":"s3://npm-registry-packages"}},"1.0.16":{"name":"@_koii/namespace-wrapper","version":"1.0.16","author":{"name":"Koii Network"},"license":"ISC","_id":"@_koii/namespace-wrapper@1.0.16","maintainers":[{"name":"josh-koii","email":"josh@koii.network"},{"name":"muscular_developer","email":"wjelen30@gmail.com"},{"name":"npm-koii","email":"npm@koii.network"},{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},{"name":"sid09","email":"sid@koii.network"}],"dist":{"shasum":"839564b299363a14f96c99595e9bc3685fcff925","tarball":"https://registry.npmjs.org/@_koii/namespace-wrapper/-/namespace-wrapper-1.0.16.tgz","fileCount":17,"integrity":"sha512-kglq6muhtriCi2ECg5qkOJUGgBQ6yxiNngXP8yeNaxTk+UGu5x41Os4viAKSz5dWxOHnp+pDpyUhXreWhgUEyg==","signatures":[{"sig":"MEUCIC1Ow9/Mdnawba8Xtvnc8R3QsgixptArJe6XMP1BjMkaAiEAlLy92uv8L1zpYjeNaIcqkRJL60bntA0JIH0WHG+Hdzs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":716339},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"fad838dbd4448b6707a83b494cbabb45f3806bf4","scripts":{"lint":"eslint . --fix","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js"},"_npmUser":{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},"_npmVersion":"10.9.0","description":"Koii Task Utility Package","directories":{},"_nodeVersion":"23.3.0","dependencies":{"axios":"^1.7.2","dotenv":"^16.3.0","express":"^4.18.1","body-parser":"^1.20.2","nedb-promises":"^6.2.3","@_koii/web3.js":"^0.1.11"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.8.0","prettier":"^3.3.2","typescript":"^5.4.5","@types/bs58":"^4.0.4","@types/nedb":"^1.8.16","@types/node":"^22.0.0","@types/express":"^4.17.21","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","eslint-config-airbnb-base":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/namespace-wrapper_1.0.16_1733335586922_0.6931999299489775","host":"s3://npm-registry-packages"}},"1.0.17":{"name":"@_koii/namespace-wrapper","version":"1.0.17","author":{"name":"Koii Network"},"license":"ISC","_id":"@_koii/namespace-wrapper@1.0.17","maintainers":[{"name":"josh-koii","email":"josh@koii.network"},{"name":"muscular_developer","email":"wjelen30@gmail.com"},{"name":"npm-koii","email":"npm@koii.network"},{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},{"name":"sid09","email":"sid@koii.network"}],"dist":{"shasum":"0f69b5ec14ac8f0ac7c84cf210ec057100c4f086","tarball":"https://registry.npmjs.org/@_koii/namespace-wrapper/-/namespace-wrapper-1.0.17.tgz","fileCount":17,"integrity":"sha512-QtdfxOCOL9iheJQWWahAcP/hNgZPb0m9wq4TtJD2kKqn6s0aosamyMb/7muir7IV2eSG5satHhdbxaMSz0w2yA==","signatures":[{"sig":"MEYCIQDt9gCrvo8/LbMAghnKZahXKs1yliQEKQAsJPWZqM4gzgIhAIRygYogceH+4nCvhr+P8DVs+YRh1Sa0TAzClwkeP0Br","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":716724},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"3a28227f6263b23f816e54b88c5115e7a210502d","scripts":{"lint":"eslint . --fix","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js"},"_npmUser":{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},"_npmVersion":"10.9.2","description":"Koii Task Utility Package","directories":{},"_nodeVersion":"23.4.0","dependencies":{"axios":"^1.7.2","dotenv":"^16.3.0","express":"^4.18.1","body-parser":"^1.20.2","nedb-promises":"^6.2.3","@_koii/web3.js":"^0.1.11"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.8.0","prettier":"^3.3.2","typescript":"^5.4.5","@types/bs58":"^4.0.4","@types/nedb":"^1.8.16","@types/node":"^22.0.0","@types/express":"^4.17.21","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","eslint-config-airbnb-base":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/namespace-wrapper_1.0.17_1733934889449_0.7307685373990662","host":"s3://npm-registry-packages-npm-production"}},"1.0.18":{"name":"@_koii/namespace-wrapper","version":"1.0.18","author":{"name":"Koii Network"},"license":"ISC","_id":"@_koii/namespace-wrapper@1.0.18","maintainers":[{"name":"josh-koii","email":"josh@koii.network"},{"name":"muscular_developer","email":"wjelen30@gmail.com"},{"name":"npm-koii","email":"npm@koii.network"},{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},{"name":"sid09","email":"sid@koii.network"}],"dist":{"shasum":"7ff0e341a6a407e068b23545bdb86871264ff099","tarball":"https://registry.npmjs.org/@_koii/namespace-wrapper/-/namespace-wrapper-1.0.18.tgz","fileCount":17,"integrity":"sha512-QlRWAU6+c0ivMLUweAja5Psmf9W+4nPL4NDDjsGjPdW4jnXmY/hPgid3JLrS6EtpMFMOpv7sq/Kv/PeSoOLDQw==","signatures":[{"sig":"MEQCIFQuGdFVLgQvs6Rz7JEGdDU+3o1F8/Kq1SqeQ5xrQvN8AiAVX7fCslHFDgcUrzA/eOX7u0YcCGmw1q6AusJnoyY/dQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":750042},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"8a1eaecdbae6f775cfd47c5216123cf26ce7c90c","scripts":{"lint":"eslint . --fix","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js"},"_npmUser":{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},"_npmVersion":"10.9.2","description":"Koii Task Utility Package","directories":{},"_nodeVersion":"23.6.0","dependencies":{"axios":"^1.7.2","dotenv":"^16.3.0","express":"^4.18.1","body-parser":"^1.20.2","nedb-promises":"^6.2.3","@_koii/web3.js":"^0.1.11"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.8.0","prettier":"^3.3.2","typescript":"^5.4.5","@types/bs58":"^4.0.4","@types/nedb":"^1.8.16","@types/node":"^22.0.0","@types/express":"^4.17.21","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","eslint-config-airbnb-base":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/namespace-wrapper_1.0.18_1737139352959_0.08603974812172521","host":"s3://npm-registry-packages-npm-production"}},"1.0.19":{"name":"@_koii/namespace-wrapper","version":"1.0.19","author":{"name":"Koii Network"},"license":"ISC","_id":"@_koii/namespace-wrapper@1.0.19","maintainers":[{"name":"josh-koii","email":"josh@koii.network"},{"name":"muscular_developer","email":"wjelen30@gmail.com"},{"name":"npm-koii","email":"npm@koii.network"},{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},{"name":"sid09","email":"sid@koii.network"}],"dist":{"shasum":"34d4a33b57e2294eabd97791a2fadb640d502327","tarball":"https://registry.npmjs.org/@_koii/namespace-wrapper/-/namespace-wrapper-1.0.19.tgz","fileCount":17,"integrity":"sha512-RJgmjxVgrUbeH3xPy0JVVMVEe+iYg5scoggb7RVswQTqt6B3j/T6jyFlamba7CoZC6nPtTIYChN0SCI07eHlpA==","signatures":[{"sig":"MEUCICfZNRm+/LxueH69MQz6wNkQFCBjlSBJz5YyidF0sR60AiEAhlOXnbnZTTj2EsPF93dM7lCZEACWSuyf4fHrYEctWl4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":750058},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"4b7097962d29a9f6cdab05dc6f61fa89612c5af4","scripts":{"lint":"eslint . --fix","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js"},"_npmUser":{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},"_npmVersion":"10.9.2","description":"Koii Task Utility Package","directories":{},"_nodeVersion":"23.6.0","dependencies":{"axios":"^1.7.2","dotenv":"^16.3.0","express":"^4.18.1","body-parser":"^1.20.2","nedb-promises":"^6.2.3","@_koii/web3.js":"^0.1.11"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.8.0","prettier":"^3.3.2","typescript":"^5.4.5","@types/bs58":"^4.0.4","@types/nedb":"^1.8.16","@types/node":"^22.0.0","@types/express":"^4.17.21","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","eslint-config-airbnb-base":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/namespace-wrapper_1.0.19_1737412619682_0.014062105648504852","host":"s3://npm-registry-packages-npm-production"}},"1.0.20":{"name":"@_koii/namespace-wrapper","version":"1.0.20","author":{"name":"Koii Network"},"license":"ISC","_id":"@_koii/namespace-wrapper@1.0.20","maintainers":[{"name":"josh-koii","email":"josh@koii.network"},{"name":"muscular_developer","email":"wjelen30@gmail.com"},{"name":"npm-koii","email":"npm@koii.network"},{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},{"name":"sid09","email":"sid@koii.network"}],"dist":{"shasum":"1e9de79c30393ced60e87d3affaef6b75e9eb33a","tarball":"https://registry.npmjs.org/@_koii/namespace-wrapper/-/namespace-wrapper-1.0.20.tgz","fileCount":17,"integrity":"sha512-R3nIMnvYX1k2aDjL2n1zyk+jBL92KK0rUjSkT/IbW4Mn61K53vzBufoKkOKcdkbNCPjCHg/4ox3nrGGmt02stA==","signatures":[{"sig":"MEUCIQDOi9XwF1P/iKpsUA/vF/q0o8QFTTrSPaUiGV2oeXcDEQIgNqGzxgupLSAgp90yBIfuMDW2kWv0C2/Eu5/PZS6YvqI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":749845},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"330bca58b22746260bdbb1779470ceb116649792","scripts":{"lint":"eslint . --fix","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js"},"_npmUser":{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},"_npmVersion":"10.9.2","description":"Koii Task Utility Package","directories":{},"_nodeVersion":"23.6.0","dependencies":{"axios":"^1.7.2","dotenv":"^16.3.0","express":"^4.18.1","body-parser":"^1.20.2","nedb-promises":"^6.2.3","@_koii/web3.js":"^0.1.11"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.8.0","prettier":"^3.3.2","typescript":"^5.4.5","@types/bs58":"^4.0.4","@types/nedb":"^1.8.16","@types/node":"^22.0.0","@types/express":"^4.17.21","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","eslint-config-airbnb-base":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/namespace-wrapper_1.0.20_1737495367201_0.7584648314147162","host":"s3://npm-registry-packages-npm-production"}},"1.0.21":{"name":"@_koii/namespace-wrapper","version":"1.0.21","author":{"name":"Koii Network"},"license":"ISC","_id":"@_koii/namespace-wrapper@1.0.21","maintainers":[{"name":"josh-koii","email":"josh@koii.network"},{"name":"muscular_developer","email":"wjelen30@gmail.com"},{"name":"npm-koii","email":"npm@koii.network"},{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},{"name":"sid09","email":"sid@koii.network"}],"dist":{"shasum":"fc9e5e59bac8ccd177760b27c6686eefc575d63f","tarball":"https://registry.npmjs.org/@_koii/namespace-wrapper/-/namespace-wrapper-1.0.21.tgz","fileCount":17,"integrity":"sha512-4zdCkFUZfCIDqvqMyWklkEdSO4/KbLboiT8jaR2cD4nNoaMhb2rneVRV7L6xJnN2OQ4A8JAG3Bju3I5VLOER/A==","signatures":[{"sig":"MEUCIQCL4JUSYi7aRc//93d6nGpgKhAWxHXwytzhXzNJO5BZ9wIgbVzzZI3CeMRz4OhZHhMfZx8IlVwMsyZwXu1PTC3WLgA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":750266},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"4a5c4f2340d1cf4b0dde721bfa5c8d5badfe560b","scripts":{"lint":"eslint . --fix","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js"},"_npmUser":{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},"_npmVersion":"10.9.2","description":"Koii Task Utility Package","directories":{},"_nodeVersion":"23.6.1","dependencies":{"axios":"^1.7.2","dotenv":"^16.3.0","express":"^4.18.1","body-parser":"^1.20.2","nedb-promises":"^6.2.3","@_koii/web3.js":"^0.1.11"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.8.0","prettier":"^3.3.2","typescript":"^5.4.5","@types/bs58":"^4.0.4","@types/nedb":"^1.8.16","@types/node":"^22.0.0","@types/express":"^4.17.21","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","eslint-config-airbnb-base":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/namespace-wrapper_1.0.21_1738104146590_0.92510457517387","host":"s3://npm-registry-packages-npm-production"}},"1.0.22":{"name":"@_koii/namespace-wrapper","version":"1.0.22","author":{"name":"Koii Network"},"license":"ISC","_id":"@_koii/namespace-wrapper@1.0.22","maintainers":[{"name":"josh-koii","email":"josh@koii.network"},{"name":"muscular_developer","email":"wjelen30@gmail.com"},{"name":"npm-koii","email":"npm@koii.network"},{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},{"name":"sid09","email":"sid@koii.network"}],"dist":{"shasum":"91af54f97447f496255f25db8f362e4416835c9c","tarball":"https://registry.npmjs.org/@_koii/namespace-wrapper/-/namespace-wrapper-1.0.22.tgz","fileCount":17,"integrity":"sha512-rxRDxAXy6DfkFVheDrfxNii+nNryFwPS8aF0/Exh9ghiUKpyKFzCnmbW0JFP1YLKyVSFwz47W1HqIS5if6X9Ow==","signatures":[{"sig":"MEQCIBLub79IBoPMu91NcOg6PZb/Zk9dlxciBwtA4n8rFO+1AiBeJPDr5nm0GlWUKFc93L5xhhhrebaXGiV62AUdX+iB4w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":750264},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"59668d461c94730d5322edd13cb0af77d9ba0626","scripts":{"lint":"eslint . --fix","test":"echo \"Error: no test specified\" && exit 1","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js"},"_npmUser":{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},"_npmVersion":"10.9.2","description":"Koii Task Utility Package","directories":{},"_nodeVersion":"23.7.0","dependencies":{"axios":"^1.7.2","dotenv":"^16.3.0","express":"^4.18.1","body-parser":"^1.20.2","nedb-promises":"^6.2.3","@_koii/web3.js":"^0.1.11"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.8.0","prettier":"^3.3.2","typescript":"^5.4.5","@types/bs58":"^4.0.4","@types/nedb":"^1.8.16","@types/node":"^22.0.0","@types/express":"^4.17.21","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","eslint-config-airbnb-base":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/namespace-wrapper_1.0.22_1738614094390_0.6804161007114644","host":"s3://npm-registry-packages-npm-production"}},"1.0.23":{"name":"@_koii/namespace-wrapper","version":"1.0.23","description":"Koii Task Utility Package","main":"dist/index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","lint":"eslint . --fix","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js"},"author":{"name":"Koii Network"},"license":"ISC","devDependencies":{"@types/bs58":"^4.0.4","@types/express":"^4.17.21","@types/nedb":"^1.8.16","@types/node":"^22.0.0","eslint":"^9.8.0","eslint-config-airbnb-base":"^15.0.0","eslint-config-prettier":"^9.1.0","eslint-plugin-import":"^2.29.1","eslint-plugin-prettier":"^5.1.3","prettier":"^3.3.2","typescript":"^5.4.5"},"dependencies":{"@_koii/web3.js":"^0.1.11","axios":"^1.7.2","body-parser":"^1.20.2","dotenv":"^16.3.0","express":"^4.18.1","nedb-promises":"^6.2.3"},"_id":"@_koii/namespace-wrapper@1.0.23","gitHead":"14fa6da1f900b268c91c93b33357b74967a2b74b","types":"./dist/index.d.ts","_nodeVersion":"23.7.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-QE0AYsq0Bo9SRiuIAOZuboHvcjI9eXk1kDb6S923R1BWhli0TOcwdATs0ElWuLvGq1uAW7rfGHQQCBOgoOImgg==","shasum":"56ca75d7b00dc1120dbf3052e3ba0f361d742847","tarball":"https://registry.npmjs.org/@_koii/namespace-wrapper/-/namespace-wrapper-1.0.23.tgz","fileCount":17,"unpackedSize":750843,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIApwcz+PbSizUdfoDNwkjC1tlEG5dwT+oUpCIQWm1hGGAiB/tPtIlHxuXbRUO9G51g55CZ6Jpr0is37afFF7QSRLEQ=="}]},"_npmUser":{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},"directories":{},"maintainers":[{"name":"josh-koii","email":"josh@koii.network"},{"name":"muscular_developer","email":"wjelen30@gmail.com"},{"name":"npm-koii","email":"npm@koii.network"},{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},{"name":"sid09","email":"sid@koii.network"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/namespace-wrapper_1.0.23_1738944706727_0.7006069512664306"},"_hasShrinkwrap":false}},"time":{"created":"2024-06-25T19:29:02.752Z","modified":"2025-02-07T16:11:47.246Z","1.0.0":"2024-06-25T19:29:03.018Z","1.0.1":"2024-06-25T20:23:14.888Z","1.0.2":"2024-07-05T17:22:20.236Z","1.0.3":"2024-07-24T17:01:29.970Z","1.0.4":"2024-07-24T17:43:46.846Z","1.0.6":"2024-07-29T18:06:18.912Z","1.0.7":"2024-08-02T18:12:23.728Z","1.0.8":"2024-08-08T20:02:57.329Z","1.0.9":"2024-09-09T12:17:21.242Z","1.0.10":"2024-09-11T19:45:21.536Z","1.0.11":"2024-09-17T16:37:33.633Z","1.0.12":"2024-10-08T20:13:32.913Z","1.0.13":"2024-10-10T13:34:21.308Z","1.0.14":"2024-10-17T15:58:12.664Z","1.0.15":"2024-12-03T23:43:26.219Z","1.0.16":"2024-12-04T18:06:27.241Z","1.0.17":"2024-12-11T16:34:49.619Z","1.0.18":"2025-01-17T18:42:33.230Z","1.0.19":"2025-01-20T22:36:59.979Z","1.0.20":"2025-01-21T21:36:07.504Z","1.0.21":"2025-01-28T22:42:26.804Z","1.0.22":"2025-02-03T20:21:34.681Z","1.0.23":"2025-02-07T16:11:47.009Z"},"author":{"name":"Koii Network"},"license":"ISC","description":"Koii Task Utility Package","maintainers":[{"name":"josh-koii","email":"josh@koii.network"},{"name":"muscular_developer","email":"wjelen30@gmail.com"},{"name":"npm-koii","email":"npm@koii.network"},{"name":"syedghazanfer","email":"s.ghazanfer@koii.network"},{"name":"sid09","email":"sid@koii.network"}],"readme":"# Koii Namespace Wrapper\n\nThe Namespace Wrapper is a core utility package that serves as the bridge between Koii tasks and the Koii Network infrastructure. It abstracts the complexity of task node operations by providing a unified API for essential functions such as:\n\n- Task state persistence and retrieval\n- Secure blockchain transaction handling\n- File system operations in both local and distributed environments\n- Distribution list management and reward calculations\n- Node-to-node communication and validation\n- Audit submission and verification processes\n\nThis wrapper ensures that task developers can focus on their core task logic while the wrapper handles the intricacies of node operations, state management, and network interactions in a secure and standardized way.\n\nFor further information on the namespace wrapper, please see the [Koii docs](https://www.koii.network/docs/develop/write-a-koii-task/namespace-wrapper/the-namespace-object).\n\n## Installation\n\n```bash\nnpm install @_koii/namespace-wrapper\n# or\nyarn add @_koii/namespace-wrapper\n```\n\n## Basic Setup\n\n1. Import the namespace wrapper:\n\n```typescript\nimport { namespaceWrapper } from '@_koii/namespace-wrapper'\n```\n\n```javascript\nconst { namespaceWrapper } = require('@_koii/namespace-wrapper')\n```\n\n## Key Features\n\n- **State Management**: Persistent storage using NeDB for task-specific data\n- **Blockchain Integration**: Direct interface with Koii Network through Web3.js\n- **File System Operations**: Standardized file system access for both local and task node environments\n- **Secure Communications**: Built-in cryptographic functions for payload signing and verification\n- **Task Distribution**: Support for managing task distribution and rewards\n- **Logging System**: Structured logging capabilities for debugging and monitoring\n- **Express Server**: Built-in HTTP server for task communication\n\n## NamespaceWrapper Importable Variables\n\n| Variable            | Example Value                  | Description                      |\n| ------------------- | ------------------------------ | -------------------------------- |\n| TASK_NAME           | \"MyKoiiTask\"                   | Name of the task                 |\n| TASK_ID             | \"task_12345...\"                | Unique identifier for the task   |\n| EXPRESS_PORT        | 3000                           | Port for the Express server      |\n| MAIN_ACCOUNT_PUBKEY | \"pubkey123...\"                 | Main account public key          |\n| K2_NODE_URL         | \"https://mainnet.koii.network\" | Koii network node URL            |\n| SERVICE_URL         | \"http://localhost:3001\"        | Service endpoint URL             |\n| STAKE               | 1000                           | Stake amount in KOII             |\n| TASK_NODE_PORT      | 8000                           | Port for task node communication |\n| STAKING_WALLET_PATH | \"./wallet.json\"                | Path to staking wallet file      |\n\n## Exported Functions\n\n### Core Functions\n\n#### getDb(): Promise\\<void\\>\n\n- **Description**: get the KOIIDB [reference](https://www.npmjs.com/package/nedb-promises)\n- **Example Usage and Output**:\n\n```typescript\ntry {\n  const db = await namespaceWrapper.getDb()\n\n  // Insert a document into the database\n  const insertResult = await db.insert({ name: 'John Doe', age: 30 })\n  console.log('Insert result:', insertResult)\n\n  // Find documents matching a query\n  const foundDocs = await db.find({ age: { $gt: 20 } })\n  console.log('Found documents:', foundDocs)\n\n  // Find a single document matching a query\n  const singleDoc = await db.findOne({ name: 'John Doe' })\n  console.log('Single document:', singleDoc)\n\n  // Update documents matching a query\n  const updateResult = await db.update(\n    { name: 'John Doe' },\n    { $set: { age: 31 } },\n  )\n  console.log('Update result:', updateResult)\n\n  // Remove documents matching a query\n  const removeResult = await db.remove({ age: { $lt: 25 } })\n  console.log('Remove result:', removeResult)\n\n  // Count documents matching a query\n  const count = await db.count({ age: { $gt: 20 } })\n  console.log('Count of matching documents:', count)\n\n  // Load the database\n  const loadResult = await db.loadDatabase()\n  console.log('Load database result:', loadResult)\n\n  // Ensure an index is created for a particular field\n  const ensureIndexResult = await db.ensureIndex({ fieldName: 'name' })\n  console.log('Ensure index result:', ensureIndexResult)\n\n  // Get all data from the database\n  const allData = await db.getAllData()\n  console.log('All data in the database:', allData)\n} catch (error) {\n  console.error('An error occurred:', error)\n}\n```\n\n#### storeSet(key: string, value: string): Promise\\<void\\>\n\n- **Description**: Stores a value in the persistent storage\n- **Inputs**:\n  - key: String identifier for the value\n  - value: String value to store\n- **Outputs**: Completion of storage operation\n- **Example Usage and Output**:\n\n```typescript\n// Successful storage\nconst config = {\n  taskName: 'ImageProcessing',\n  version: '1.0.0',\n  settings: {\n    maxRetries: 3,\n    timeout: 5000,\n  },\n}\n\nawait namespaceWrapper.storeSet('taskConfig', JSON.stringify(config))\n// Verify storage\nconst stored = await namespaceWrapper.storeGet('taskConfig')\nconsole.log(JSON.parse(stored))\n// Output: {\n//   \"taskName\": \"ImageProcessing\",\n//   \"version\": \"1.0.0\",\n//   \"settings\": {\n//     \"maxRetries\": 3,\n//     \"timeout\": 5000\n//   }\n// }\n\n// Error case (invalid value)\ntry {\n  await namespaceWrapper.storeSet('taskConfig', undefined)\n} catch (error) {\n  console.error(error)\n}\n```\n\n#### storeGet(key: string): Promise<string | null>\n\n- **Description**: Retrieves a value from the persistent storage\n- **Inputs**:\n  - key: String identifier for the stored value\n- **Outputs**: Stored value or null\n- **Example Usage and Output**:\n\n```typescript\n// Successful retrieval\nconst value = await namespaceWrapper.storeGet('taskConfig')\nconsole.log(value)\n// Output: {\n//   \"roundDuration\": 3600,\n//   \"minStake\": 1000,\n//   \"lastUpdateTime\": 1678234567890\n// }\n\n// Key not found\nconst missingValue = await namespaceWrapper.storeGet('nonexistentKey')\nconsole.log(missingValue)\n// Output: null\n\n// Error case (database connection issue)\ntry {\n  const value = await namespaceWrapper.storeGet('myKey')\n} catch (error) {\n  console.error(error)\n}\n```\n\n### File System Operations\n\n#### fs(method: string, path: string, ...args: any[]): Promise\\<any\\>\n\n- **Description**: Executes file system operations in a standardized way\n- **Inputs**:\n  - method: File system method to execute. Available options come from [FS promises](https://docs.deno.com/api/node/fs/promises/) methods.\n  - path: File path\n  - args: Additional arguments for the method\n- **Outputs**: Result of file system operation\n- **Example Usage and Output**:\n\n```typescript\n// Writing a file\nawait namespaceWrapper.fs('writeFile', 'myFile.txt', 'Hello World')\n// Output: undefined\n\n// Reading a file\nconst data = await namespaceWrapper.fs('readFile', 'myFile.txt', 'utf8')\nconsole.log(data)\n// Output: \"Hello World\"\n```\n\n#### fsStaking(method: string, path: string, ...args: any[]): Promise\\<any\\>\n\n- **Description**: A decentralized staking platform enabling secure token locking for rewards.\n- **Inputs**:\n  - method: File system method to execute\n  - path: File path\n  - args: Additional arguments for the method\n- **Outputs**: Result of staking-related file operation\n- **Example Usage and Output**:\n\n```typescript\nconst data = await namespaceWrapper.fsStaking(\n  'readFile',\n  'stake_info.txt',\n  'utf8',\n)\nconsole.log(data)\n// Output: {\"stakeAmount\": 1000, \"stakingAddress\": \"koii...\"}\n```\n\n#### fsWriteStream(imagepath: string): Promise<WriteStream | void>\n\n- **Description**: Creates a write stream for file operations\n- **Inputs**:\n  - imagepath: Path to the file\n- **Outputs**: WriteStream object or void\n- **Example Usage and Output**:\n\n```typescript\nconst getBasePath = await namespaceWrapper.getBasePath()\nconst imgPath = `${getBasePath}/img/output.jpg`\n\n// Successful write stream creation and usage\nconst writeStream = await namespaceWrapper.fsWriteStream(imgPath)\nif (writeStream) {\n  // Write image data\n  writeStream.write(imageBuffer)\n  writeStream.end()\n\n  writeStream.on('finish', () => {\n    console.log('Write completed')\n    // Output: Write completed\n  })\n}\n\n// Error case (invalid path)\ntry {\n  const writeStream = await namespaceWrapper.fsWriteStream(\n    '/invalid/path/image.jpg',\n  )\n} catch (error) {\n  console.error(error)\n}\n\n// Error case (permission denied)\ntry {\n  const writeStream = await namespaceWrapper.fsWriteStream(\n    '/root/restricted.jpg',\n  )\n} catch (error) {\n  console.error(error)\n}\n```\n\n#### fsReadStream(imagepath: string): Promise<Buffer | void>\n\n- **Description**: Creates a read stream for file operations\n- **Inputs**:\n  - imagepath: Path to the file\n- **Outputs**: Buffer containing file data or void\n- **Example Usage and Output**:\n\n```typescript\nconst getBasePath = await namespaceWrapper.getBasePath()\nconst imgPath = `${getBasePath}/img/output.jpg`\n\n// Successful read\nconst imageBuffer = await namespaceWrapper.fsReadStream(imgPath)\nconsole.log(imageBuffer)\n// Output: <Buffer ff d8 ff e0 00 10 4a 46 49 46 ...>\nconsole.log(imageBuffer.length)\n// Output: 24580 // Size in bytes\n\n// Error case (file not found)\ntry {\n  const buffer = await namespaceWrapper.fsReadStream('nonexistent.jpg')\n} catch (error) {\n  console.error(error)\n}\n\n// Error case (corrupted file)\ntry {\n  const buffer = await namespaceWrapper.fsReadStream('corrupted.jpg')\n} catch (error) {\n  console.error(error)\n}\n```\n\n### Blockchain Operations\n\n#### payloadSigning(body: Record<string, unknown>): Promise<string | void>\n\n- **Description**: Signs a payload for blockchain transactions using the main wallet's public key.\n- **Inputs**:\n  - body: Object containing the payload data\n- **Outputs**: Signed message\n- **Example Usage and Output**:\n\n```typescript\n// Successful signing\nconst payload = {\n  data: 'Hello World',\n  timestamp: Date.now(),\n  nonce: Math.random(),\n}\n\nconst signedPayload = await namespaceWrapper.payloadSigning(payload)\nconsole.log(signedPayload)\n// Output: \"2J7PRqTxj1NVnYzgx2KBGz4KRJHEwzT8GJkHxb6J1q9B4K8rYt5JvKq7rz3vXqH...\"\n\n// Error case (invalid payload)\ntry {\n  const signedPayload = await namespaceWrapper.payloadSigning(undefined)\n} catch (error) {\n  console.error(error)\n}\n\n// Error case (missing key)\ntry {\n  const signedPayload = await namespaceWrapper.payloadSigning({})\n} catch (error) {\n  console.error(error)\n}\n```\n\n#### verifySignature(signedMessage: string, pubKey: string): Promise<{ data?: string; error?: string }>\n\n- **Description**: Verifies a signed message\n- **Inputs**:\n  - signedMessage: The signed message to verify\n  - pubKey: Public key for verification\n- **Outputs**: Verification result (with `data` or `error`)\n- **Example Usage and Output**:\n\n```typescript\n// Successful verification\nconst result = await namespaceWrapper.verifySignature(\n  '2J7PRqTxj1NVnYzgx2KBGz4KRJHEwzT8GJkHxb6J1q9B4K8rYt5JvKq7rz3vXqH...',\n  'koiiX8UPJY6gCMqD1RfNoQhWiJzyPwXX2Cj7vqWe9mV',\n)\n\nif (!result) {\n  console.error('Signature verification failed.')\n} else {\n  console.log(result)\n  // Output: {\n  //   data: \"{\\\"data\\\":\\\"Hello World\\\",\\\"timestamp\\\":1678234567890,\\\"nonce\\\":0.123456789}\"\n  // }\n}\n\n// Error case (invalid signature)\nconst invalidResult = await namespaceWrapper.verifySignature(\n  'invalidSignature',\n  'koiiX8UPJY6gCMqD1RfNoQhWiJzyPwXX2Cj7vqWe9mV',\n)\nconsole.log(invalidResult)\n\n// Error case (mismatched public key)\nconst mismatchResult = await namespaceWrapper.verifySignature(\n  '2J7PRqTxj1NVnYzgx2KBGz4KRJHEwzT8GJkHxb6J1q9B4K8rYt5JvKq7rz3vXqH...',\n  'koiiWrongPubKeyXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',\n)\nconsole.log(mismatchResult)\n```\n\n### Task Management\n\n#### getTaskState(options: TaskStateOptions): Promise<TaskState | null>\n\n- **Description**: Retrieves the current state of the task\n- **Inputs**:\n  - options: Configuration options for state retrieval\n    {\n    is_submission_required?: boolean, // Whether to include submission data\n    is_distribution_required?: boolean, // Whether to include distribution data\n    is_available_balances_required?: boolean, // Whether to include balance data\n    is_stake_list_required?: boolean // Whether to include stake list\n    }\n- **Outputs**: Task state object or `null`\n- **Example Usage**:\n\n```typescript\n// Data will be included if true, otherwise not shown even if fields are present.\nconst state = await namespaceWrapper.getTaskState({\n  is_submission_required: true,\n  is_distribution_required: true,\n  is_available_balances_required: true,\n  is_stake_list_required: true,\n})\n\nconsole.log(state)\n// {\n//   task_id: string,                      // Unique identifier for the task\n//   task_name: string,                    // Name of the task\n//   task_manager: PublicKey,              // Task manager's public key\n//   is_allowlisted: boolean,              // Whether task is allowlisted\n//   is_active: boolean,                   // Whether task is active\n//   task_audit_program: string,           // Audit program identifier\n//   stake_pot_account: PublicKey,         // Staking pot account\n//   total_bounty_amount: number,          // Total bounty for the task\n//   bounty_amount_per_round: number,      // Bounty per round\n//   current_round: number,                // Current round number\n//   available_balances: Record<string, number>, // Available balances per account\n//   stake_list: Record<string, number>,   // List of stakers and amounts\n//   task_metadata: string,                // Task metadata\n//   task_description: string,             // Task description\n//   submissions: SubmissionsPerRound,     // Submissions for each round\n//   submissions_audit_trigger: Record<string, Record<string, AuditTriggerState>>, // Audit triggers\n//   total_stake_amount: number,           // Total staked amount\n//   minimum_stake_amount: number,         // Minimum required stake\n//   ip_address_list: Record<string, string>, // List of node IPs\n//   round_time: number,                   // Time per round\n//   starting_slot: number,                // Starting slot number\n//   audit_window: number,                 // Audit window duration\n//   submission_window: number,            // Submission window duration\n//   task_executable_network: 'IPFS' | 'ARWEAVE', // Network type\n//   distribution_rewards_submission: SubmissionsPerRound, // Reward distributions\n//   distributions_audit_trigger: Record<string, Record<string, AuditTriggerState>>, // Distribution audit triggers\n//   distributions_audit_record: Record<string, 'Uninitialized' | 'PayoutSuccessful' | 'PayoutFailed'>, // Audit records\n//   task_vars: string,                    // Task-specific variables\n//   koii_vars: string,                    // Koii network variables\n//   is_migrated: boolean,                 // Migration status\n//   migrated_to: string,                  // Migration target\n//   allowed_failed_distributions: number   // Max allowed failed distributions\n// }\n```\n\n#### validateAndVoteOnNodes(validate: (submissionValue: string, round: number, nodePublicKey: string,) => Promise<boolean>, round: number): Promise<void | string>\n\n- **Description**: Validates and votes on node submissions\n- **Inputs**:\n  - validate: Validation function\n  - round: Current round number\n- **Outputs**: Void if no issue, otherwise a string indicating validation status\n- **Example Usage**:\n\n```typescript\n// Validates and votes on nodes\nawait namespaceWrapper.validateAndVoteOnNodes(\n  async (submission, round, nodePublicKey) => true,\n  currentRound,\n)\n```\n\n#### checkSubmissionAndUpdateRound(submissionValue: string = 'default', round: number): Promise\\<void\\>\n\n- **Description**: Verifies submissions and updates the current round\n- **Input**: Add the submission and the roundNumber\n- **Outputs**: Void once complete\n- **Example Usage**:\n\n```typescript\nif (submission) {\n  await namespaceWrapper.checkSubmissionAndUpdateRound(submission, roundNumber)\n}\n```\n\n#### getTaskStateById(taskId: string, task_type: TaskType, options: TaskStateOptions): Promise<TaskState | null>\n\n- **Description**: Retrieves task state for a specific task ID and the task type\n- **Inputs**:\n  - taskId: Task identifier\n  - task_type: KOII or KPL\n  - options: TaskStateOptions\n    {\n    is_submission_required?: boolean, // Whether to include submission data\n    is_distribution_required?: boolean, // Whether to include distribution data\n    is_available_balances_required?: boolean, // Whether to include balance data\n    is_stake_list_required?: boolean // Whether to include stake list\n    }\n- **Outputs**: Task state object or `null`\n- **Example Usage**:\n<!-- from below you can get the Task id -->\n\n```typescript\nimport { namespaceWrapper, TASK_ID } from '@_koii/namespace-wrapper';\n```\n\n```javascript\nconst { namespaceWrapper, TASK_ID } = require('@_koii/namespace-wrapper')\n```\n\n```typescript\nconst getInfo = await namespaceWrapper.getTaskStateById(TASK_ID, 'KOII', {\n  is_submission_required: true,\n  is_distribution_required: true,\n  is_available_balances_required: true,\n  is_stake_list_required: true,\n})\n\n// expected output\n// {\n//   task_id: string,                      // Unique identifier for the task\n//   task_name: string,                    // Name of the task\n//   task_manager: PublicKey,              // Task manager's public key\n//   is_allowlisted: boolean,              // Whether task is allowlisted\n//   is_active: boolean,                   // Whether task is active\n//   task_audit_program: string,           // Audit program identifier\n//   stake_pot_account: PublicKey,         // Staking pot account\n//   total_bounty_amount: number,          // Total bounty for the task\n//   bounty_amount_per_round: number,      // Bounty per round\n//   current_round: number,                // Current round number\n//   available_balances: Record<string, number>, // Available balances per account\n//   stake_list: Record<string, number>,   // List of stakers and amounts\n//   task_metadata: string,                // Task metadata\n//   task_description: string,             // Task description\n//   submissions: SubmissionsPerRound,     // Submissions for each round\n//   submissions_audit_trigger: Record<string, Record<string, AuditTriggerState>>, // Audit triggers\n//   total_stake_amount: number,           // Total staked amount\n//   minimum_stake_amount: number,         // Minimum required stake\n//   ip_address_list: Record<string, string>, // List of node IPs\n//   round_time: number,                   // Time per round\n//   starting_slot: number,                // Starting slot number\n//   audit_window: number,                 // Audit window duration\n//   submission_window: number,            // Submission window duration\n//   task_executable_network: 'IPFS' | 'ARWEAVE', // Network type\n//   distribution_rewards_submission: SubmissionsPerRound, // Reward distributions\n//   distributions_audit_trigger: Record<string, Record<string, AuditTriggerState>>, // Distribution audit triggers\n//   distributions_audit_record: Record<string, 'Uninitialized' | 'PayoutSuccessful' | 'PayoutFailed'>, // Audit records\n//   task_vars: string,                    // Task-specific variables\n//   koii_vars: string,                    // Koii network variables\n//   is_migrated: boolean,                 // Migration status\n//   migrated_to: string,                  // Migration target\n//   allowed_failed_distributions: number  // Max allowed failed distributions\n// }\n```\n\n### Network Operations\n\n#### getNodes(url: string)\n\n- **Description**: Retrieves information about network nodes\n- **Inputs**:\n  - url: API endpoint URL\n- **Outputs**: Array of node information objects\n- **Example Usage and Output**:\n\n```typescript\nconst nodes = await namespaceWrapper.getNodes('https://api.koii.network/')\nconsole.log(nodes)\n// Output:\n// [\n//   {\n//    data: {\n//      url: string | undefined,    // Node URL\n//      timestamp: number           // Last update timestamp\n//    },\n//    signature: string,             // Node signature\n//    owner: string,                 // Node owner\n//    submitterPubkey: string        // Submitter's public key\n//    task: string                   // task ID\n//   }, ...\n// ]\n```\n\n#### getRpcUrl(): Promise<string | void>\n\n- **Description**: Gets the current RPC URL for the Koii network\n- **Outputs**: String containing the RPC URL or void\n- **Example Usage and Output**:\n\n```typescript\nconst rpcUrl = await namespaceWrapper.getRpcUrl()\nconsole.log(rpcUrl)\n\n// Output: \"https://mainnet.koii.network\"\n```\n\n### Transaction Operations\n\n#### sendAndConfirmTransactionWrapper(transaction: Transaction, signers: Keypair[]): Promise<string | void>\n\n- **Description**: Sends and confirms a transaction on the Koii network\n- **Inputs**:\n  - transaction: Transaction object\n  - signers: Array of signing keypairs\n- **Outputs**: Transaction signature string or void\n- **Example Usage and Output**:\n\n```typescript\nconst result = await namespaceWrapper.sendAndConfirmTransactionWrapper(tx, [\n  signer,\n])\nconsole.log(result)\n// Output: \"4Gf4kP3Qs4GpFASdeEweJnzR...\" (Transaction signature as a string)\n```\n\n#### sendTransaction(serviceNodeAccount: PublicKey, beneficiaryAccount: PublicKey, amount: number): Promise<string | void>\n\n- **Description**: Sends a transaction between accounts\n- **Inputs**:\n  - serviceNodeAccount: Service node's public key\n  - beneficiaryAccount: Recipient's public key\n  - amount: Transaction amount (in lamports)\n- **Outputs**: Transaction result string or void\n- **Example Usage and Output**:\n\n```typescript\n// Successful transaction\ntry {\n  const txSignature = await namespaceWrapper.sendTransaction(\n    new PublicKey('serviceNode123...'),\n    new PublicKey('recipient456...'),\n    100,\n  )\n  console.log(txSignature)\n  // Output: \"4vC38p8b1BMRDmjWTgfVHZf48vJUYC7ySZkXuC6EhQzF9Ny8m2jFS93...\"\n} catch (error) {\n  console.error(error)\n}\n```\n\n#### getProgramAccounts() : Promise\\<any\\>\n\n- **Description**: Retrieves all program accounts associated with the task\n- **Outputs**: Array of program accounts\n- **Example Usage and Output**:\n\n```typescript\n// Retrieves all program accounts.\nconst accounts = await namespaceWrapper.getProgramAccounts();\nconsole.log(accounts);\n// Output:\nOutput: Array<{\n  pubkey: PublicKey,           // Account public key\n  account: AccountInfo<Buffer>  // Account information\n}>\n```\n\n#### claimReward(stakePotAccount: PublicKey, beneficiaryAccount: PublicKey, claimerKeypair: Keypair): Promise<string | void>\n\n- **Description**: Claims rewards for a specific round\n- **Inputs**:\n  - stakePotAccount: PublicKey // The stake pot account\n  - beneficiaryAccount: PublicKey // Account to receive rewards\n  - claimerKeypair: Keypair // Keypair of the claimer\n- **Outputs**: Transaction signature string or void\n- **Example Usage and Output**:\n\n```typescript\n// Successful claim\ntry {\n  const stakePotAccount = new PublicKey('YourStakePotAccountPublicKeyHere')\n  const beneficiaryAccount = new PublicKey(\n    'YourBeneficiaryAccountPublicKeyHere',\n  )\n  const claimerKeypair = Keypair.fromSecretKey(\n    new Uint8Array([...yourSecretKeyArray]),\n  )\n\n  const txSignature = await namespaceWrapper.claimReward(\n    stakePotAccount,\n    beneficiaryAccount,\n    claimerKeypair,\n  )\n  console.log(txSignature)\n  // Output:\n  //   - string (\"2ZxVnRvqUptpP5FfgbiFh6q5zNkTJqh8sM8JKvtqJF3G...\") // Transaction signature\n} catch (error) {\n  console.error(error)\n}\n\n// Verify claim\ntry {\n  const rewardStatus = await namespaceWrapper.getTaskState({\n    is_available_balances_required: true,\n  })\n  console.log(rewardStatus.available_balances)\n} catch (error) {\n  console.error(error)\n}\n```\n\n#### stakeOnChain(taskStateInfoPublicKey: PublicKey, stakingAccKeypair: Keypair, stakePotAccount: PublicKey, stakeAmount: number): Promise<string | void>\n\n- **Description**: Stakes tokens for a task.\n- **Inputs**:\n  - taskStateInfoPublicKey: PublicKey\n  - stakingAccKeypair: Keypair\n  - stakePotAccount: PublicKey\n  - stakeAmount: number (in KOII)\n- **Outputs**: Transaction signature string or void\n- **Example Usage**:\n\n```typescript\nimport { PublicKey, Keypair } from '@_koii/web3.js'\n\ntry {\n  const taskStateInfoPublicKey = new PublicKey('YourTaskStateInfoPublicKeyHere') // The public key associated with the task\n  const stakingAccKeypair = Keypair.generate() // Replace with the actual staking account keypair\n  const stakePotAccount = new PublicKey('YourStakePotAccountPublicKeyHere') // The stake pot account public key\n  const stakeAmount = 100 // Example stake amount in KOII (replace with your desired amount)\n\n  // Call the function\n  const transactionSignature = await stakeOnChain(\n    taskStateInfoPublicKey,\n    stakingAccKeypair,\n    stakePotAccount,\n    stakeAmount,\n  )\n\n  console.log('Stake Successful! Transaction Signature:', transactionSignature)\n} catch (error) {\n  console.error('Error staking on-chain:', error)\n}\n```\n\n### Path and Location Operations\n\n#### getTaskDBPath(): Promise\\<string\\>\n\n- **Description**: Gets the path to the task's NeDB database\n- **Outputs**: String containing the database path\n- **Example Usage**:\n\n```typescript\nconst dbPath = await namespaceWrapper.getTaskDBPath()\nconsole.log(dbPath)\n// Output:\n//   - string (\"your_local_path/namespace/TASK_ID/KOIIDB\") // DB path\n```\n\n#### getBasePath(): Promise\\<string\\>\n\n- **Description**: Gets the base path to the task folder for performing file operations\n- **Outputs**: String containing the base path\n- **Example Usage**:\n\n```typescript\nconst basePath = await namespaceWrapper.getBasePath();\n\nconsole.log(basePath);\n// Output:\n//   - string (\"your_local_path/namespace/TASK_ID/\")\n```\n\n### Round Management\n\n#### getRound(): Promise\\<number\\>\n\n- **Description**: Gets the current round number\n- **Outputs**: Current round number\n- **Example Usage**:\n\n```typescript\nconst currentRound = await namespaceWrapper.getRound();\n\nconsole.log(currentRound);\n// Output:\n//   - number (1 or current number of that specific round)\n```\n\n### Task Information\n\n#### getTaskSubmissionInfo(round: number): Promise<TaskSubmissionState | null>\n\n- **Description**: Retrieves submission information for the task\n- **Inputs**: round: number (current round number)\n- **Outputs**: Submission state\n- **Example Usage and Output**:\n\n```typescript\n// Successful retrieval with multiple submissions\nconst submissionInfo = await namespaceWrapper.getTaskSubmissionInfo(1);\nconsole.log(JSON.stringify(submissionInfo, null, 2));\n\n// Output:\n{\n  submissions: SubmissionsPerRound\n  submissions_audit_trigger: Record<string, Record<string, AuditTriggerState>>\n}\n\n// Error case (no submissions yet)\nconst emptySubmissionInfo = await namespaceWrapper.getTaskSubmissionInfo(10);\nconsole.log(emptySubmissionInfo);\n// Output: or throw error because not found\n{\n  \"submissions\": {},\n  \"submissions_audit_trigger\": {}\n}\n\n// Error case (network error)\ntry {\n  const info = await namespaceWrapper.getTaskSubmissionInfo(3);\n} catch (error) {\n  console.error(error);\n}\n```\n\n#### getSubmitterAccount(): Promise<Keypair | null>\n\n- **Description**: Gets the submitter's account Keypair\n- **Outputs**: Submitter's Keypair\n- **Example Usage**:\n\n```typescript\nconst submitterKey = await namespaceWrapper.getSubmitterAccount();\n\n// Output:\n// - Keypair { secretKey: Uint8Array(64) [/* secret key bytes */], publicKey: PublicKey { /* public key */ } }\n```\n\n#### getMainAccountPubkey(): Promise<string | null>\n\n- **Description**: Gets the main account's public key\n- **Outputs**: Main account public key\n- **Example Usage**:\n\n```typescript\nconst mainPubkey = await namespaceWrapper.getMainAccountPubkey()\n\n// Output: '5Hh7i4K6Qhb9P3hLk9mnEJzLbxnsXjdJ6sWxYbR4tT5z' | null\n```\n\n#### getTaskNodeVersion(): Promise\\<string\\>\n\n- **Description**: Gets the task node version\n- **Outputs**: Version string\n- **Example Usage**:\n\n```typescript\nconst version = await namespaceWrapper.getTaskNodeVersion();\n\nconsole.log(version); // Output: \"1.11.19\";\n```\n\n### Audit and Distribution Operations\n\n#### auditSubmission(candidatePubkey: PublicKey, isValid: boolean, voterKeypair: Keypair, round: number): Promise\\<void\\>\n\n- **Description**: Audits a submission for a specific round\n- **Inputs**:\n  - candidatePubkey: PublicKey\n  - isValid: boolean\n  - voterKeypair: Keypair\n  - round: number\n- **Outputs**: Audit result\n- **Example Usage and Output**:\n\n```typescript\nconst candidatePubkey = new PublicKey('...') // The public key of the candidate being audited\nconst isValid = true // Whether the submission is valid\nconst voterKeypair = Keypair.generate() // A Keypair for the voter (can be a new or existing one)\nconst round = 1 // Current round of auditing\n\nawait auditSubmission(candidatePubkey, isValid, voterKeypair, round)\n```\n\n#### distributionListSubmissionOnChain(round: number): Promise<string | void>\n\n- **Description**: Submits distribution list to the blockchain\n- **Inputs**:\n  - round: Round number\n- **Example Usage**:\n\n```typescript\ntry {\n  const round = 1 // Current round of distribution submission\n  const result = await distributionListSubmissionOnChain(round)\n  console.log(result)\n  // Output:\n  ;-'5eZGF6A3g7K5kp59h6fJH7fHGePsy9H8kE1JYjxjixHvbfYqmn3URznUnhbcqpmRWRbbY4o8D9Ak2vhwKjfBbgC2' // (transaction signature (a string))\n} catch (error) {\n  console.log(error)\n}\n```\n\n#### uploadDistributionList(distributionList: Record<string, any>, round: number ): Promise<boolean | null>\n\n- **Description**: Uploads a distribution list for a round\n- **Inputs**:\n  - distributionList: Object containing distribution data\n  - round: number (the round number)\n- **Example Usage and Output**:\n\n```typescript\n// Uploads a distribution list for a specific round.\ntry {\n  const distributionList = {\n    candidate1: { value: 100 },\n    candidate2: { value: 200 },\n  }\n  const round = 1\n\n  const result = await uploadDistributionList(distributionList, round)\n  console.log(result) // Output: true (if everything works as expected)\n} catch (error) {\n  console.error(error)\n}\n```\n\n#### getTaskDistributionInfo(round: number): Promise<TaskDistributionInfo | null>\n\n- **Description**: Gets distribution information for the task\n- **Input**: round number (current round number)\n- **Outputs**: Distribution info\n- **Example Usage**:\n\n```typescript\ntry {\n  const round = 1 // current the round number\n  const distributionInfo = await getTaskDistributionInfo(round)\n  console.log('Distribution Info:', distributionInfo)\n  // Expected output:\n  // Distribution Info: {\n  //   distribution_rewards_submission: SubmissionsPerRound\n  //   distributions_audit_trigger: Record<string, Record<string, AuditTriggerState>>\n  //   distributions_audit_record: Record<\n  //     string,\n  //     'Uninitialized' | 'PayoutSuccessful' | 'PayoutFailed'\n  //   >\n  // }\n} catch (error) {\n  console.log(error)\n}\n```\n\n#### distributionListAuditSubmission(candidatePubkey: PublicKey, isValid: boolean, voterKeypair: Keypair, round: number): Promise\\<void\\>\n\n- **Description**: Audits a distribution list submission\n- **Inputs**:\n  - candidatePubkey: PublicKey (the candidate's public key)\n  - isValid: boolean (whether the distribution is valid)\n  - voterKeypair: Keypair\n  - round: number (the round number)\n- **Outputs**: Audit result\n- **Example Usage and Output**:\n\n```typescript\n// Successful audit\ntry {\n  const candidatePubkey = new PublicKey('candidate-public-key')\n  const isValid = true // The vote is in favor of the candidate\n  const voterKeypair = Keypair.generate() // Generate a random voter keypair\n  const round = 1 // Round number\n\n  await distributionListAuditSubmission(\n    candidatePubkey,\n    isValid,\n    voterKeypair,\n    round,\n  )\n} catch (error) {\n  console.error(error)\n}\n```\n\n#### validateAndVoteOnDistributionList(validateDistribution: (submissionValue: string, round: number, nodePublicKey: string) => Promise\\<boolean\\>, round: number): Promise<string | void>\n\n- **Description**: Validates and votes on distribution lists\n- **Inputs**:\n  - validateDistribution: Validation function\n  - round: Round number\n- **Example Usage**:\n\n```typescript\ntry {\n  const round = 1 // The round to validate\n  await validateAndVoteOnDistributionList(this.validateDistribution, round)\n} catch (error) {\n  console.log(error)\n}\n```\n\n#### getDistributionList(publicKey: string, round: number): Promise<any | null>\n\n- **Description**: Gets the distribution list for a specific round\n- **Inputs**:\n  - publicKey: string\n  - round: Round number\n- **Outputs**: Distribution list\n- **Example Usage and Output**:\n\n```typescript\ntry {\n  const publicKey = 'somePublicKey'\n  const round = 1\n\n  // Call getDistributionList method\n  const distributionList = await myService.getDistributionList(publicKey, round)\n  console.log('Distribution List:', distributionList) // Distribution List: {\"reward\": 100, \"user\": \"someUser\"}\n} catch (error) {\n  console.log(error)\n}\n```\n\n#### nodeSelectionDistributionList(round: number, isPreviousFailed: boolean): Promise<string | void>\n\n- **Description**: Selects nodes for distribution\n- **Inputs**:\n  - round: Round number\n  - isPreviousFailed: Whether previous attempt failed\n- **Outputs**: Selected node public key\n- **Example Usage**:\n\n```typescript\ntry {\n  // Example values for the round and isPreviousFailed flag\n  const round = 5\n  const isPreviousFailed = false // Adjust based on the scenario\n\n  // Calling the nodeSelectionDistributionList function\n  const selectedNodePubkey = await myService.nodeSelectionDistributionList(\n    round,\n    isPreviousFailed,\n  )\n  console.log('Selected Node Public Key:', selectedNodePubkey)\n} catch (error) {\n  console.log(error)\n}\n```\n\n#### getAverageSlotTime(): Promise\\<number\\>\n\n- **Description**: Gets average slot time for the network\n- **Outputs**: Slot time in milliseconds\n- **Example Usage and Output**:\n\n```typescript\ntry {\n  const averageSlotTime = await myService.getAverageSlotTime()\n  console.log(averageSlotTime) // Expected output: 150\n} catch (error) {\n  console.log(error)\n}\n```\n\n#### payoutTrigger(round: number): Promise\\<void\\>\n\n- **Description**: Triggers payout for a specific round\n- **Inputs**:\n  - round: Round number\n- **Example Usage**:\n\n```typescript\ntry {\n  await namespaceWrapper.payoutTrigger(currentRound)\n} catch (error) {\n  console.log(error)\n}\n```\n\n#### selectAndGenerateDistributionList(submitDistributionList: (round: number) => Promise\\<void\\>, round: number, isPreviousRoundFailed: boolean): Promise\\<void\\>\n\n- **Description**: Generates and selects distribution list\n- **Inputs**:\n  - round: Round number\n- **Example Usage**:\n\n```typescript\ntry {\n  const round = 4 // current round\n  const isPreviousRoundFailed = true // boolean value only\n\n  await namespaceWrapper.selectAndGenerateDistributionList(\n    this.submitDistributionList,\n    round,\n    isPreviousRoundFailed,\n  )\n} catch (error) {\n  console.log(error)\n}\n```\n\n#### logger(level: LogLevel, message: string, action: string): Promise\\<boolean\\>\n\n- **Description**: Logs messages based on specified log level (log, warn, error).\n- **Inputs**:\n  - level: log, warn or error\n  - message: a string value\n  - action: a string value\n- **Output**: A boolean value\n- **Example Usage**:\n\n```typescript\ntry {\n  // Log a normal message (log level)\n  const logSuccess = await namespaceWrapper.logger(\n    'log',\n    'Task has been successfully completed!',\n    'TaskCompletion',\n  )\n  console.log('Log success:', logSuccess) // Expected output: true\n\n  // Log a warning message (warn level)\n  const warnSuccess = await namespaceWrapper.logger(\n    'warn',\n    'Task took longer than expected!',\n    'TaskWarning',\n  )\n  console.log('Warn success:', warnSuccess) // Expected output: true\n\n  // Log an error message (error level)\n  const errorSuccess = await namespaceWrapper.logger(\n    'error',\n    'Task failed due to an unknown error!',\n    'TaskError',\n  )\n  console.log('Error success:', errorSuccess) // Expected output: true\n\n  // Log with an invalid log level\n  const invalidLogSuccess = await namespaceWrapper.logger(\n    'invalid',\n    'This should fail',\n    'TaskFailure',\n  )\n  console.log('Invalid log success:', invalidLogSuccess) // Expected output: false\n} catch (error) {\n  console.log(error)\n}\n```\n\n#### getSlot(): Promise\\<number\\>\n\n- **Description**: Get the current slot number\n- **Output**: Returns a number\n- **Example Usage**:\n\n```typescript\ntry {\n  const slot = await getSlot()\n  console.log(slot) // Output: 500\n\n  const slot = await getSlot()\n  console.log(slot) // Output: 0, and logs \"Error getting slot: {}\"\n\n  const slot = await getSlot()\n  console.log(slot) // Output: 100\n} catch (error) {\n  console.log(error)\n}\n```\n\n## Type Definitions\n\n### Core Types\n\n```typescript\n// Task State Options\ninterface TaskStateOptions {\n  is_submission_required?: boolean\n  is_distribution_required?: boolean\n  is_available_balances_required?: boolean\n  is_stake_list_required?: boolean\n}\n\n// Task State\ninterface TaskState {\n  task_id: string\n  task_name: string\n  task_description: string\n  total_bounty_amount: number\n  bounty_amount_per_round: number\n  total_stake_amount: number\n  minimum_stake_amount: number\n  round_time: number\n  // ... other properties\n}\n\n// Submission Types\ninterface Submission {\n  submission_value: string\n  slot: number\n  round?: number\n}\n\ntype SubmissionsPerRound = Record<string, Record<string, Submission>>\n\n// Distribution Types\ninterface TaskDistributionInfo {\n  distribution_rewards_submission: SubmissionsPerRound\n  distributions_audit_trigger: Record<string, Record<string, AuditTriggerState>>\n  distributions_audit_record: Record<\n    string,\n    'Uninitialized' | 'PayoutSuccessful' | 'PayoutFailed'\n  >\n}\n```\n\n## Support\n\nFor support, please contact Koii Network through:\n\n- [Discord Community](https://discord.com/invite/koii-network)\n- [Documentation](https://docs.koii.network)\n\n## License\n\nThis package is licensed under the ISC License. See the LICENSE file for details.\n","readmeFilename":"readme.md"}