{"bugs":{"url":"https://github.com/trufflesuite/ganache/issues"},"dist":{"shasum":"7bfcfe4176be3b7c0de020261f46f2310ad9bb30","tarball":"https://registry.npmjs.org/@ganache/rlp/-/rlp-0.5.2-alpha.2.tgz","fileCount":12,"integrity":"sha512-JLtBd4hk4faPusSgZl0nhaIFJN+YKfKXeXJErwRc0qOkshp+pXoM/acW8DrCGiYczrPME9kbLt1JXeVlgT9tMA==","signatures":[{"sig":"MEUCIH6Vq0GHDVhNAt9Z98fLIOc5XgUeIEa0uVyapPLk6m8sAiEAlsRGQshZ83lP29jiMjCp+TXY88GKVx2CwcK9QBhWe5Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41160,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjF6yOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo3+g//Z6q7GylLHJVRVagpo+ijR4zsvRXIuLwhRXKYT3B3RJ7AU2Z6\r\nbwtbS4YU8P4S+uSw64G3Nxs8Ym9jh6dGQ5mQlxeNPGv3RqS6k4lEQWMjP1pH\r\n32XIqfuVS18672Qq2rWB74Z93gSzsKXVUkpztIijxZEXOrAskVh0gN6GVIyV\r\nFminHu2EdKh1G8se9EmVNmYe/tMZR7v1v3+hgcHh4+7O3UVMdufCnZ2hbAMd\r\n9LSGICn2d/kvVSo+M/0AkEckl5SqTTNgpsK2gXyjYiEI1O2q5NZYybmFnJpw\r\n8r1u9hB6e/E9pUUKxz0K3/P5VvV4wl0OApil0DyD1gJmDVkXlynW7IjBvh/O\r\nDHvCSXAD5D3S7IofNi4vYWYIMqSOFCBXfsw0D4EpH2438f3kOYFCXTYbAShC\r\nVAnQyikSF5EvQKJI0aqf2Xtmt3jtieDCrQ2/0JKgA2/hTcWvBrmTVpgzEFuA\r\nXn12PFjf34KAKj5U5LMQZEhbID4Q2k3ePtGZO6DOzh53TJUkZjOzYV8Amewk\r\n9HCntjhU+7FJ7nKmdMQ3F6+1Gpd43pnVcS8nCf1qFRWLyeUORXmwoYVbKPm1\r\nNavEbmy51sNDGSWqKKDyYhgNCj/lQ/bY992UNS4nhgBNzFmkDkHMsZNFogiJ\r\nDIr7f6oW9DkARE4TaVK03RyI/ZsKY9DxCPo=\r\n=cNrQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","name":"@ganache/rlp","author":{"name":"David Murdoch"},"readme":"# `@ganache/rlp`\n\n[Recursive Length](https://github.com/ethereum/wiki/wiki/RLP) Prefix Encoding\nfor Node.js.\n\nBased on https://github.com/ethereumjs/rlp, with some additional optimizations\nfor encoding:\n\n```typescript\nfunction encodeRange<\n  T extends EncodingInput | Readonly<EncodingInput>,\n  Start extends RangeOf<T[\"length\"]>\n>(\n  items: T,\n  start: Start,\n  length: Exclude<Remainders<T[\"length\"], Start>, 0>\n): { length: number; output: Buffer[] } {\n  //...;\n}\n```\n\nBegin RLP encoding of `items`, from `start` until `length`. Call `RLP.digest` to\nfinish encoding.\n\nReturns an object containing the total `length` of all data in the encoded parts,\nand `output`, an array of encoded Buffers.\n\n```typescript\nfunction digest(ranges: Readonly<Buffer[]>[], length: number) {\n  // ...\n}\n```\n\nFinishes encoding started by `encodeRange`.\n\nReturns a Buffer of encoded data.\n\nAdditional changes:\n\n- minor optimisations to `encode`\n- `encode` only accepts buffers or nested buffer arrays, strings, number, bigint,\n  and BN support have been removed.\n\n---\n\nThese changes enable encoding data in chunks, avoiding processing the same\ninputs multiple times in common scenarios withing Ganache. Example:\n\n```typescript\ntype EthereumRawTx = [\n  nonce: Buffer,\n  gasPrice: Buffer,\n  gas: Buffer,\n  to: Buffer,\n  value: Buffer,\n  data: Buffer,\n  v: Buffer,\n  r: Buffer,\n  s: Buffer\n];\n// encode the first 6 entries\nconst partialRlp = encodeRange(raw, 0, 6);\n// encode the last 3 entires\nconst signature = encodeRange(raw, 6, 3);\n// combine all entries\nconst serialized = digest(\n  [partialRlp.output, signature.output],\n  partialRlp.length + signature.length\n);\nreturn {\n  // computing the `from` address requires entries 0-6\n  from: computeFromAddress(partialRlp, v.toNumber(), raw, chainId),\n  // hash requires entries 0-9\n  hash: Data.from(keccak(serialized), 32),\n  // serialized uses all entries for storage/transmission\n  serialized\n};\n```\n","source":"index.ts","gitHead":"bec1d7f374b760b2873e16a09849769e4a4386a9","license":"MIT","scripts":{"tsc":"tsc --build","test":"nyc npm run mocha","mocha":"cross-env DE_FILES=true mocha --exit --check-leaks --throw-deprecation --trace-warnings --require ts-node/register 'tests/**/*.test.ts'"},"typings":"typings","_npmUser":{"name":"truffle-cicd","email":"david+truffle@trufflesuite.com"},"homepage":"https://github.com/trufflesuite/ganache/tree/develop/src/packages/rlp#readme","keywords":["ganache","ganache-rlp","ethereum","evm","blockchain","smart contracts","dapps","solidity","vyper","fe","web3","tooling","truffle"],"repository":{"url":"git+https://github.com/trufflesuite/ganache.git","type":"git","directory":"src/packages/rlp"},"_npmVersion":"lerna/4.0.0/node@v14.20.0+x64 (linux)","description":"Recursive Length Prefix Encoding Module","directories":{"lib":"lib","test":"test"},"maintainers":[{"name":"jeff.smale","email":"jeff.smale@consensys.net"},{"name":"truffle-cicd","email":"david+truffle@trufflesuite.com"},{"name":"davidmurdoch","email":"david@davidmurdoch.com"},{"name":"micaiahreid","email":"micaiahreid@gmail.com"}],"_nodeVersion":"14.20.0","dependencies":{"rlp":"2.2.7","@ganache/utils":"0.5.2-alpha.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"15.1.0","mocha":"9.1.3","ts-node":"10.4.0","cross-env":"7.0.3","typescript":"4.6.4","@types/mocha":"9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rlp_0.5.2-alpha.2_1662495886226_0.8550788426183458","host":"s3://npm-registry-packages"},"_id":"@ganache/rlp@0.5.2-alpha.2","version":"0.5.2-alpha.2"}