{"_id":"@double-mangoes/dlob-server","name":"@double-mangoes/dlob-server","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@double-mangoes/dlob-server","version":"0.1.0","author":{"name":"wphan"},"main":"lib/index.js","license":"Apache-2.0","dependencies":{"@coral-xyz/anchor":"^0.29.0","@double-mangoes/drift-sdk":"2.60.0-beta.6.0.0.3","@opentelemetry/api":"^1.1.0","@opentelemetry/auto-instrumentations-node":"^0.31.1","@opentelemetry/exporter-prometheus":"^0.31.0","@opentelemetry/sdk-node":"^0.31.0","@project-serum/anchor":"^0.19.1-beta.1","@project-serum/serum":"^0.13.65","@solana/web3.js":"^1.73.3","@triton-one/yellowstone-grpc":"^0.3.0","@types/redis":"^4.0.11","@types/ws":"^8.5.8","async-mutex":"^0.4.0","axios":"^1.6.2","commander":"^9.4.0","compression":"^1.7.4","cors":"^2.8.5","dotenv":"^10.0.0","express":"^4.18.2","express-rate-limit":"^6.7.0","ioredis":"^5.3.2","morgan":"^1.10.0","prom-client":"^15.0.0","redis":"^4.6.10","response-time":"^2.3.2","rxjs":"^7.8.1","socket.io-redis":"^6.1.1","typescript":"4.5.4","winston":"^3.8.1","ws":"^8.14.2"},"devDependencies":{"@types/k6":"^0.45.0","@typescript-eslint/eslint-plugin":"^4.28.0","@typescript-eslint/parser":"^4.28.0","eslint":"^7.29.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","husky":"^7.0.4","k6":"^0.0.0","prettier":"^2.4.1","ts-node":"^10.9.1"},"scripts":{"build":"yarn clean && tsc","clean":"rm -rf lib","start":"node lib/index.js","dev":"ts-node src/index.ts","server-lite":"ts-node src/serverLite.ts","dlob-publish":"ts-node src/publishers/dlobPublisher.ts","trades-publish":"ts-node src/publishers/tradesPublisher.ts","ws-manager":"ts-node src/wsConnectionManager.ts","ws-manager:inspect":"yarn build && node --inspect ./lib/wsConnectionManager.js","dev:inspect":"yarn build && node --inspect ./lib/index.js","dev:debug":"yarn build && node --inspect-brk --inspect=2230 ./lib/index.js","example":"ts-node example/client.ts","exampleWithSlot":"ts-node example/clientWithSlot.ts","prettify":"prettier --check './src/**/*.ts'","prettify:fix":"prettier --write './src/**/*.ts'","lint":"eslint . --ext ts --quiet","lint:fix":"eslint . --ext ts --fix","playground":"ts-node src/playground.ts"},"gitHead":"0d2a198f21d7567eb208d7d99afbb3b1c6eed2bb","description":"<div align=\"center\">   <img height=\"120x\" src=\"https://uploads-ssl.webflow.com/611580035ad59b20437eb024/616f97a42f5637c4517d0193_Logo%20(1)%20(1).png\" />","_id":"@double-mangoes/dlob-server@0.1.0","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-2aZmpIecNGr3d/7vewAixL83Y+6x86m81bKudmbMb3FvaDia/p6H8CpvxOFO1MUDKkO8NwJGUaDhpmChL7PqrA==","shasum":"51a662e9e7ee6f2569cf281db94ce99a50dc4c69","tarball":"https://registry.npmjs.org/@double-mangoes/dlob-server/-/dlob-server-0.1.0.tgz","fileCount":57,"unpackedSize":388316,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICWZmBkpbBTKnIe4zYfq6Pl9LioDil/PQB9//mu4mse0AiAzW2Kl468T1+7eO9b+dqsY0sr2pQf+MhhuSJtvciUraQ=="}]},"_npmUser":{"name":"double-mangoes","email":"huongduongtrang0@gmail.com"},"directories":{},"maintainers":[{"name":"double-mangoes","email":"huongduongtrang0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/dlob-server_0.1.0_1707229092712_0.5347167781811344"},"_hasShrinkwrap":false}},"time":{"created":"2024-02-06T14:18:12.637Z","0.1.0":"2024-02-06T14:18:12.950Z","modified":"2024-02-06T14:18:13.217Z"},"maintainers":[{"name":"double-mangoes","email":"huongduongtrang0@gmail.com"}],"description":"<div align=\"center\">   <img height=\"120x\" src=\"https://uploads-ssl.webflow.com/611580035ad59b20437eb024/616f97a42f5637c4517d0193_Logo%20(1)%20(1).png\" />","author":{"name":"wphan"},"license":"Apache-2.0","readme":"<div align=\"center\">\n  <img height=\"120x\" src=\"https://uploads-ssl.webflow.com/611580035ad59b20437eb024/616f97a42f5637c4517d0193_Logo%20(1)%20(1).png\" />\n\n  <h1 style=\"margin-top:20px;\">DLOB Serverfor Drift Protocol v2</h1>\n\n  <p>\n    <a href=\"https://docs.drift.trade/tutorial-keeper-bots\"><img alt=\"Docs\" src=\"https://img.shields.io/badge/docs-tutorials-blueviolet\" /></a>\n    <a href=\"https://discord.com/channels/849494028176588802/878700556904980500\"><img alt=\"Discord Chat\" src=\"https://img.shields.io/discord/889577356681945098?color=blueviolet\" /></a>\n    <a href=\"https://opensource.org/licenses/Apache-2.0\"><img alt=\"License\" src=\"https://img.shields.io/github/license/project-serum/anchor?color=blueviolet\" /></a>\n  </p>\n</div>\n\n# Run the example client\n\nModify the variables at the top of `example/client.ts` to match your environment.\n \n ```shell\n yarn run example\n\ndlob orders count: 38\nmaxSlot from DLOB init orders: 165107666\nInitialized DLOb from server\nDLOB for market 0:\nAsks\n [13] limit 21\n [12] limit 20.32\n [11] limit 17.73\n [10] limit 15.63\n [9] limit 15.32\n [8] limit 14.35\n [7] limit 14.32\n [6] limit 14.3\n [5] limit 14.23\n [4] limit 14.2\n [3] vAMMNode 13.896583\n [2] limit 13.896194\n [1] triggerMarket 0\nBids\n [0] limit 13.879792\n [1] vAMMNode 13.771213\n [2] limit 13.37\n [3] limit 13\n [4] limit 13\n [5] limit 12.45\n [6] limit 12\n [7] limit 10.37\n [8] limit 10\n [9] limit 9.97\n [10] limit 9.42\n [11] limit 9\n [12] limit 8.89\n [13] limit 8\n ```\n\n# Setting up\n## Setup Environment\n\n\n```shell\ncp .env.example .env\n```\n\nUpdate values in `.env` accordingly\n \n* `ANCHOR_PRIVATE_KEY`: can be a number array (as in example), or a path to a `keypair.json` as generated by `solana-keygen`, it needs to be an initialized user in order to load `DriftClient`.\n* `ENV` should be a drift env: `devnet` or `mainnet-beta`\n\n## Run\n\n```shell\nyarn run dev\n```\n","readmeFilename":"README.md"}