{"_id":"@bastion-multisig/serum","name":"@bastion-multisig/serum","dist-tags":{"latest":"0.13.65"},"versions":{"0.13.65":{"name":"@bastion-multisig/serum","version":"0.13.65","description":"Library for interacting with the serum dex","license":"MIT","repository":{"type":"git","url":"https://github.com/project-serum/serum-ts.git"},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=10"},"scripts":{"build":"tsc","start":"tsc --watch","clean":"rm -rf lib","prepare":"run-s clean build","shell":"node -e \"$(< shell)\" -i --experimental-repl-await","test":"run-s test:unit test:lint test:build","test:build":"run-s build","test:lint":"eslint src","test:unit":"jest","test:watch":"jest --watch"},"devDependencies":{"@tsconfig/node12":"^1.0.7","@types/bn.js":"^4.11.6","@types/jest":"^26.0.9","@typescript-eslint/eslint-plugin":"^4.6.0","@typescript-eslint/parser":"^4.6.0","babel-eslint":"^10.0.3","cross-env":"^7.0.2","eslint":"^7.6.0","eslint-config-prettier":"^6.11.0","jest":"^26.4.0","npm-run-all":"^4.1.5","prettier":"^2.0.5","ts-jest":"^26.2.0","typescript":"^4.0.5"},"prettier":{"singleQuote":true,"trailingComma":"all"},"dependencies":{"@project-serum/anchor":"^0.11.1","@solana/spl-token":"^0.1.6","@solana/web3.js":"^1.21.0","bn.js":"^5.1.2","buffer-layout":"^1.2.0"},"browserslist":[">0.2%","not dead","not op_mini all","maintained node versions"],"publishConfig":{"access":"public"},"_id":"@bastion-multisig/serum@0.13.65","dist":{"shasum":"f59016e1f1e180af1228026d54dcaf2fc8bbb299","integrity":"sha512-bkWWbvB5ICfNjz8I7rRZE5xUrRs3x70eSD0s31T9T/yq+it+LvusZTDc7Z6z/AU51yDkSEDl42hvzifChXp7aQ==","tarball":"https://registry.npmjs.org/@bastion-multisig/serum/-/serum-0.13.65.tgz","fileCount":43,"unpackedSize":252712,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCf3Qa+YfAKfVjgqHaJaxJXFcwu5OrEHy0+gQA/eU2d5wIgJT1goDqE8SWyi69DcWfCq1vSERztstsX43XlWADds54="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi791WACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmozLw/8C4OT7Pk0nfApHlCNztXOemnd7G7/P6q/MTF9auiqpcz4ew2W\r\nWNNWsiZxWZ6lCHW6SJTv/EYZ32wzEPpXgWHLmoTiKjssN1iNDpu71G6na8qv\r\np0PaQsla94o1Z25fYTZlTKH/PPyT0BAjVKWsRgqd/+yokvkjzvcLtBV2sVv5\r\n7uTnMZTXEDRyd53oFp/s7SVxdvEkKGShoRXRy/dqPjAMTo4u0jIa25i1ZnOB\r\nMuUFTT8DuKeGvO18S6DMg7FS7NQ7qZCU85zfzi7/plZtYteCQh2iZR6YGgE1\r\naMXtw2/EOYqJ2qRNVxwNeIj4JaeJFL+ynEJHc4ygcpuyO/7k4ks8MvtIwyQB\r\nRXdbsVtv+V7BLnT9MuIqJsdcRfe09rq9OdWzCWZw5us/u+G0IMAJjk7i3VWb\r\n1g0SNuCU9QNwVRfuSxFb41dQCgKY4TRRxZABYrIBNzYr5PlAeIzyM11AnxuH\r\nQyKeY6HiKx4kI+7s81hlK4V9522APMmgQs8fukZLWHngJDdieJR1mkU6nkUt\r\ntzcMRIhUarn8fjbuog3cwUHZ/g8emitBoUsBnomhU3NQVi3DfZsZULmV24kR\r\n9J5xUd/Jh4URz6QrBIuYNs2MKklhYi7TDHn1avdCKGPdKEnhFEzhxjtSNUmU\r\nP5D7HtGQjKzx7n70cKv8HqBUEADLH9ggi1s=\r\n=Af/T\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"tristyn","email":"tristynstimpson@gmail.com"},"directories":{},"maintainers":[{"name":"tristyn","email":"tristynstimpson@gmail.com"},{"name":"fedagencysimp","email":"FEDAgencySimp@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serum_0.13.65_1659886933781_0.4300579907208426"},"_hasShrinkwrap":false}},"time":{"created":"2022-08-07T15:42:13.725Z","0.13.65":"2022-08-07T15:42:14.034Z","modified":"2022-08-07T15:42:14.189Z"},"maintainers":[{"name":"tristyn","email":"tristynstimpson@gmail.com"},{"name":"fedagencysimp","email":"FEDAgencySimp@gmail.com"}],"description":"Library for interacting with the serum dex","repository":{"type":"git","url":"https://github.com/project-serum/serum-ts.git"},"license":"MIT","readme":"[![npm (scoped)](https://img.shields.io/npm/v/@project-serum/serum)](https://www.npmjs.com/package/@project-serum/serum)\n[![Build Status](https://travis-ci.com/project-serum/serum-js.svg?branch=master)](https://travis-ci.com/project-serum/serum-js)\n\n# Serum JS Client Library\n\nJavaScript client library for interacting with the Project Serum DEX.\n\n## Installation\n\nUsing npm:\n\n```\nnpm install @solana/web3.js @project-serum/serum\n```\n\nUsing yarn:\n\n```\nyarn add @solana/web3.js @project-serum/serum\n```\n\n## Usage\n\n```js\nimport { Account, Connection, PublicKey } from '@solana/web3.js';\nimport { Market } from '@project-serum/serum';\n\nlet connection = new Connection('https://testnet.solana.com');\nlet marketAddress = new PublicKey('...');\nlet programAddress = new PublicKey(\"...\");\nlet market = await Market.load(connection, marketAddress, {}, programAddress);\n\n// Fetching orderbooks\nlet bids = await market.loadBids(connection);\nlet asks = await market.loadAsks(connection);\n// L2 orderbook data\nfor (let [price, size] of bids.getL2(20)) {\n  console.log(price, size);\n}\n// Full orderbook data\nfor (let order of asks) {\n  console.log(\n    order.orderId,\n    order.price,\n    order.size,\n    order.side, // 'buy' or 'sell'\n  );\n}\n\n// Placing orders\nlet owner = new Account('...');\nlet payer = new PublicKey('...'); // spl-token account\nawait market.placeOrder(connection, {\n  owner,\n  payer,\n  side: 'buy', // 'buy' or 'sell'\n  price: 123.45,\n  size: 17.0,\n  orderType: 'limit', // 'limit', 'ioc', 'postOnly'\n});\n\n// Retrieving open orders by owner\nlet myOrders = await market.loadOrdersForOwner(connection, owner.publicKey);\n\n// Cancelling orders\nfor (let order of myOrders) {\n  await market.cancelOrder(connection, owner, order);\n}\n\n// Retrieving fills\nfor (let fill of await market.loadFills(connection)) {\n  console.log(fill.orderId, fill.price, fill.size, fill.side);\n}\n\n// Settle funds\nfor (let openOrders of await market.findOpenOrdersAccountsForOwner(\n  connection,\n  owner.publicKey,\n)) {\n  if (openOrders.baseTokenFree > 0 || openOrders.quoteTokenFree > 0) {\n    // spl-token accounts to which to send the proceeds from trades\n    let baseTokenAccount = new PublicKey('...');\n    let quoteTokenAccount = new PublicKey('...');\n\n    await market.settleFunds(\n      connection,\n      owner,\n      openOrders,\n      baseTokenAccount,\n      quoteTokenAccount,\n    );\n  }\n}\n```\n","readmeFilename":"README.md"}